react-semaphor 0.1.6 → 0.1.7

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,4 +1,4 @@
1
- "use strict";const e=require("react/jsx-runtime"),s=require("./index-BDYlVI2_.js"),k=require("react"),Ft=require("react-dom");function Ot(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(n,a,r.get?r:{enumerable:!0,get:()=>t[a]})}}return n.default=t,Object.freeze(n)}const ss=Ot(k);/**
1
+ "use strict";const e=require("react/jsx-runtime"),s=require("./index-BGofmG0y.js"),k=require("react"),Ft=require("react-dom");function Ot(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(n,a,r.get?r:{enumerable:!0,get:()=>t[a]})}}return n.default=t,Object.freeze(n)}const ss=Ot(k);/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,5 +1,5 @@
1
1
  import { jsxs as a, jsx as e, Fragment as q } from "react/jsx-runtime";
2
- import { c as ce, a1 as js, u as J, a2 as wt, a3 as St, B as z, a4 as kt, a5 as Be, a6 as $s, _ as ht, a7 as qe, a8 as st, a9 as kl, aa as Ge, ab as nt, ac as lt, ad as rt, ae as ft, af as U, ag as Ie, ah as Dt, I as ge, ai as Gs, aj as Qt, ak as ci, al as qn, am as Ys, f as B, an as Bs, ao as di, ap as Dl, aq as ui, ar as mi, as as ua, at as de, w as Kn, au as hi, av as pi, aw as Ht, ax as je, ay as le, az as Ae, aA as bt, aB as Ve, aC as Na, aD as ta, aE as ya, aF as fi, aG as aa, aH as Tt, aI as Qe, aJ as He, aK as Aa, aL as et, aM as Me, aN as Je, aO as qs, aP as Qa, aQ as ma, aR as jt, aS as sa, aT as Ks, aU as Ws, aV as gi, aW as Ia, aX as Js, aY as Qs, aZ as Hs, a_ as Xs, R as Ot, a$ as Tl, b0 as vi, b1 as Zs, b2 as Oa, b3 as en, b4 as tn, b5 as ba, b6 as Ca, b7 as wa, b8 as an, b9 as rs, ba as sn, bb as El, bc as Ml, bd as nn, be as me, bf as he, bg as pe, bh as fe, bi as H, bj as Al, bk as Il, bl as xi, bm as Ni, bn as Rt, bo as yi, bp as bi, bq as Ft, br as Pt, bs as ze, bt as ct, bu as yt, $ as A, bv as Et, bw as is, bx as os, by as ln, bz as Ci, bA as ut, bB as As, bC as $t, bD as Is, bE as Ol, bF as Rl, bG as wi, bH as rn, bI as on, bJ as cn, bK as dn, bL as un, bM as mn, bN as hn, bO as pn, bP as Si, bQ as cs, bR as Ra, a0 as re, bS as ki, bT as Ct, bU as Di, o as na, bV as Fl, bW as Ke, bX as Ti, bY as fn, bZ as Ha, b_ as gn, b$ as qa, c0 as Fa, c1 as vn, c2 as Ei, c3 as Mi, c4 as Ai, c5 as Ii, c6 as Oi, v as Ri, c7 as Xa, c8 as Pl, c9 as Fi, ca as Pi, cb as Os, cc as Li, cd as Ka, ce as Wa, cf as ds, W as Pa, A as Wn, Q as Jn, K as Ll, J as zl, y as Vt, z as zi, G as Vi, T as _i, cg as Qn, ch as Hn, ci as us, cj as ms, ck as hs, cl as ot, cm as La, cn as Ui, co as Za, cp as Ut, cq as Vl, cr as ps, cs as _l, ct as mt, cu as ke, cv as De, cw as Te, cx as Da, cy as Ul, cz as jl, cA as za, g as Gt, cB as Xn, cC as ji, cD as Rs, cE as $l, cF as xn, cG as Gl, cH as Ta, cI as Zn, cJ as $i, cK as Gi, cL as Yi, cM as Yl, cN as Bi, cO as qi, cP as Bl, cQ as Ki, cR as fs, cS as Wi, cT as Ji, cU as Fs, cV as Xt, cW as at, cX as Zt, cY as Qi, cZ as Hi, c_ as gs, c$ as Xi, d0 as Nn, d1 as Zi, d2 as ql, d3 as yn, d4 as eo, d5 as Kl, d6 as Ja, d7 as Wl, d8 as to, d9 as ao, da as so, db as bn, dc as no, dd as lo, de as el, df as ro, E as Va, b as Cn, dg as io, dh as oo, di as co, dj as wn, dk as uo, dl as mo, dm as ho, dn as Jl, dp as Sn, dq as Ql, dr as Hl, ds as Xl, dt as Zl, du as er, dv as kn, dw as Dn, dx as tr, dy as ar, dz as sr, dA as Tn, dB as vs, dC as xs, dD as po, P as Yt, e as Bt, dE as fo, dF as Kt, dG as go, dH as vo, dI as xo, dJ as No, dK as yo, dL as bo, dM as nr, dN as dt, dO as Ea, dP as es, dQ as _t, h as la, dR as Co, dS as wo, dT as So, dU as ko, dV as Do, dW as lr, dX as To, i as Ns, j as ys, k as bs, l as Cs, m as da, n as _a, dY as Eo, dZ as pt, d_ as ja, d$ as tl, e0 as Mo, e1 as al, e2 as Ao, e3 as Io, e4 as Oo, e5 as Ro, e6 as sl, e7 as Fo, e8 as Po, e9 as Lo, ea as zo, eb as Vo, O as nl, ec as ll, ed as _o, ee as Uo, ef as rr, eg as jo, eh as ir, ei as $o, ej as Go, ek as Yo, el as Bo, em as qo, en as Ko, eo as Wo, ep as Jo, eq as Qo, er as Ho, es as Xo, et as Zo, eu as ec, ev as tc, ew as ac, ex as sc, ey as or, ez as ks, eA as En, eB as nc, eC as lc, eD as rc, eE as ic, eF as ha, eG as pa, eH as oc, eI as cr, eJ as Ps, eK as cc, eL as dc, eM as uc, eN as ts, eO as Wt, eP as Ls, eQ as zs, eR as as, eS as dr, eT as fa, eU as ga, eV as Mn, eW as mc, eX as hc, eY as pc, eZ as fc, e_ as gc, e$ as vc, f0 as xc, f1 as Nc, f2 as yc, f3 as Ds, f4 as bc, f5 as Cc, f6 as wc, F as ur, f7 as Sc, f8 as kc, f9 as Dc, fa as mr, fb as hr, fc as Tc, fd as pr, fe as Ec, ff as Mc, fg as Ac, fh as Ic, fi as Oc, S as Rc, fj as Fc, U as Pc, fk as Lc, C as zc } from "./index-D-XwkNAu.js";
2
+ import { c as ce, a1 as js, u as J, a2 as wt, a3 as St, B as z, a4 as kt, a5 as Be, a6 as $s, _ as ht, a7 as qe, a8 as st, a9 as kl, aa as Ge, ab as nt, ac as lt, ad as rt, ae as ft, af as U, ag as Ie, ah as Dt, I as ge, ai as Gs, aj as Qt, ak as ci, al as qn, am as Ys, f as B, an as Bs, ao as di, ap as Dl, aq as ui, ar as mi, as as ua, at as de, w as Kn, au as hi, av as pi, aw as Ht, ax as je, ay as le, az as Ae, aA as bt, aB as Ve, aC as Na, aD as ta, aE as ya, aF as fi, aG as aa, aH as Tt, aI as Qe, aJ as He, aK as Aa, aL as et, aM as Me, aN as Je, aO as qs, aP as Qa, aQ as ma, aR as jt, aS as sa, aT as Ks, aU as Ws, aV as gi, aW as Ia, aX as Js, aY as Qs, aZ as Hs, a_ as Xs, R as Ot, a$ as Tl, b0 as vi, b1 as Zs, b2 as Oa, b3 as en, b4 as tn, b5 as ba, b6 as Ca, b7 as wa, b8 as an, b9 as rs, ba as sn, bb as El, bc as Ml, bd as nn, be as me, bf as he, bg as pe, bh as fe, bi as H, bj as Al, bk as Il, bl as xi, bm as Ni, bn as Rt, bo as yi, bp as bi, bq as Ft, br as Pt, bs as ze, bt as ct, bu as yt, $ as A, bv as Et, bw as is, bx as os, by as ln, bz as Ci, bA as ut, bB as As, bC as $t, bD as Is, bE as Ol, bF as Rl, bG as wi, bH as rn, bI as on, bJ as cn, bK as dn, bL as un, bM as mn, bN as hn, bO as pn, bP as Si, bQ as cs, bR as Ra, a0 as re, bS as ki, bT as Ct, bU as Di, o as na, bV as Fl, bW as Ke, bX as Ti, bY as fn, bZ as Ha, b_ as gn, b$ as qa, c0 as Fa, c1 as vn, c2 as Ei, c3 as Mi, c4 as Ai, c5 as Ii, c6 as Oi, v as Ri, c7 as Xa, c8 as Pl, c9 as Fi, ca as Pi, cb as Os, cc as Li, cd as Ka, ce as Wa, cf as ds, W as Pa, A as Wn, Q as Jn, K as Ll, J as zl, y as Vt, z as zi, G as Vi, T as _i, cg as Qn, ch as Hn, ci as us, cj as ms, ck as hs, cl as ot, cm as La, cn as Ui, co as Za, cp as Ut, cq as Vl, cr as ps, cs as _l, ct as mt, cu as ke, cv as De, cw as Te, cx as Da, cy as Ul, cz as jl, cA as za, g as Gt, cB as Xn, cC as ji, cD as Rs, cE as $l, cF as xn, cG as Gl, cH as Ta, cI as Zn, cJ as $i, cK as Gi, cL as Yi, cM as Yl, cN as Bi, cO as qi, cP as Bl, cQ as Ki, cR as fs, cS as Wi, cT as Ji, cU as Fs, cV as Xt, cW as at, cX as Zt, cY as Qi, cZ as Hi, c_ as gs, c$ as Xi, d0 as Nn, d1 as Zi, d2 as ql, d3 as yn, d4 as eo, d5 as Kl, d6 as Ja, d7 as Wl, d8 as to, d9 as ao, da as so, db as bn, dc as no, dd as lo, de as el, df as ro, E as Va, b as Cn, dg as io, dh as oo, di as co, dj as wn, dk as uo, dl as mo, dm as ho, dn as Jl, dp as Sn, dq as Ql, dr as Hl, ds as Xl, dt as Zl, du as er, dv as kn, dw as Dn, dx as tr, dy as ar, dz as sr, dA as Tn, dB as vs, dC as xs, dD as po, P as Yt, e as Bt, dE as fo, dF as Kt, dG as go, dH as vo, dI as xo, dJ as No, dK as yo, dL as bo, dM as nr, dN as dt, dO as Ea, dP as es, dQ as _t, h as la, dR as Co, dS as wo, dT as So, dU as ko, dV as Do, dW as lr, dX as To, i as Ns, j as ys, k as bs, l as Cs, m as da, n as _a, dY as Eo, dZ as pt, d_ as ja, d$ as tl, e0 as Mo, e1 as al, e2 as Ao, e3 as Io, e4 as Oo, e5 as Ro, e6 as sl, e7 as Fo, e8 as Po, e9 as Lo, ea as zo, eb as Vo, O as nl, ec as ll, ed as _o, ee as Uo, ef as rr, eg as jo, eh as ir, ei as $o, ej as Go, ek as Yo, el as Bo, em as qo, en as Ko, eo as Wo, ep as Jo, eq as Qo, er as Ho, es as Xo, et as Zo, eu as ec, ev as tc, ew as ac, ex as sc, ey as or, ez as ks, eA as En, eB as nc, eC as lc, eD as rc, eE as ic, eF as ha, eG as pa, eH as oc, eI as cr, eJ as Ps, eK as cc, eL as dc, eM as uc, eN as ts, eO as Wt, eP as Ls, eQ as zs, eR as as, eS as dr, eT as fa, eU as ga, eV as Mn, eW as mc, eX as hc, eY as pc, eZ as fc, e_ as gc, e$ as vc, f0 as xc, f1 as Nc, f2 as yc, f3 as Ds, f4 as bc, f5 as Cc, f6 as wc, F as ur, f7 as Sc, f8 as kc, f9 as Dc, fa as mr, fb as hr, fc as Tc, fd as pr, fe as Ec, ff as Mc, fg as Ac, fh as Ic, fi as Oc, S as Rc, fj as Fc, U as Pc, fk as Lc, C as zc } from "./index-lrm6Ng7S.js";
3
3
  import * as Vs from "react";
4
4
  import $e, { useState as V, useRef as xt, useEffect as Ne, useMemo as We, useCallback as Ce, useContext as An, Suspense as fr } from "react";
5
5
  import { createPortal as Vc } from "react-dom";
@@ -967,7 +967,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
967
967
 
968
968
  `)},flush(e){e.enqueue(`data: [DONE]
969
969
 
970
- `)}})}});var VGe=Iqe(()=>eQ(Sr([On({type:tt("text-start"),id:De(),providerMetadata:Qn.optional()}),On({type:tt("text-delta"),id:De(),delta:De(),providerMetadata:Qn.optional()}),On({type:tt("text-end"),id:De(),providerMetadata:Qn.optional()}),On({type:tt("error"),errorText:De()}),On({type:tt("tool-input-start"),toolCallId:De(),toolName:De(),providerExecuted:fr().optional(),dynamic:fr().optional()}),On({type:tt("tool-input-delta"),toolCallId:De(),inputTextDelta:De()}),On({type:tt("tool-input-available"),toolCallId:De(),toolName:De(),input:Lo(),providerExecuted:fr().optional(),providerMetadata:Qn.optional(),dynamic:fr().optional()}),On({type:tt("tool-input-error"),toolCallId:De(),toolName:De(),input:Lo(),providerExecuted:fr().optional(),providerMetadata:Qn.optional(),dynamic:fr().optional(),errorText:De()}),On({type:tt("tool-output-available"),toolCallId:De(),output:Lo(),providerExecuted:fr().optional(),dynamic:fr().optional(),preliminary:fr().optional()}),On({type:tt("tool-output-error"),toolCallId:De(),errorText:De(),providerExecuted:fr().optional(),dynamic:fr().optional()}),On({type:tt("reasoning-start"),id:De(),providerMetadata:Qn.optional()}),On({type:tt("reasoning-delta"),id:De(),delta:De(),providerMetadata:Qn.optional()}),On({type:tt("reasoning-end"),id:De(),providerMetadata:Qn.optional()}),On({type:tt("source-url"),sourceId:De(),url:De(),title:De().optional(),providerMetadata:Qn.optional()}),On({type:tt("source-document"),sourceId:De(),mediaType:De(),title:De(),filename:De().optional(),providerMetadata:Qn.optional()}),On({type:tt("file"),url:De(),mediaType:De(),providerMetadata:Qn.optional()}),On({type:ZX(e=>typeof e=="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:De().optional(),data:Lo(),transient:fr().optional()}),On({type:tt("start-step")}),On({type:tt("finish-step")}),On({type:tt("start"),messageId:De().optional(),messageMetadata:Lo().optional()}),On({type:tt("finish"),messageMetadata:Lo().optional()}),On({type:tt("abort")}),On({type:tt("message-metadata"),messageMetadata:Lo()})])));function HGe(e){return e.type.startsWith("data-")}function lQ(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const n={...e};for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const o=t[r];if(o===void 0)continue;const s=r in e?e[r]:void 0,i=o!==null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),a=s!=null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp);i&&a?n[r]=lQ(s,o):n[r]=o}return n}function UGe(e){const t=["ROOT"];let n=-1,r=null;function o(l,c,d){switch(l){case'"':{n=c,t.pop(),t.push(d),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{n=c,r=c,t.pop(),t.push(d),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=c,t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"{":{n=c,t.pop(),t.push(d),t.push("INSIDE_OBJECT_START");break}case"[":{n=c,t.pop(),t.push(d),t.push("INSIDE_ARRAY_START");break}}}function s(l,c){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{n=c,t.pop();break}}}function i(l,c){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=c,t.pop();break}}}for(let l=0;l<e.length;l++){const c=e[l];switch(t[t.length-1]){case"ROOT":o(c,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{n=l,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(c){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{o(c,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{s(c,l);break}case"INSIDE_STRING":{switch(c){case'"':{t.pop(),n=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:n=l}break}case"INSIDE_ARRAY_START":{switch(c){case"]":{n=l,t.pop();break}default:{n=l,o(c,l,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(c){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=l,t.pop();break}default:{n=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{o(c,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),n=l;break}case"INSIDE_NUMBER":{switch(c){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&s(c,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&s(c,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const f=e.substring(r,l+1);!"false".startsWith(f)&&!"true".startsWith(f)&&!"null".startsWith(f)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?s(c,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l)):n=l;break}}}let a=e.slice(0,n+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{a+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{a+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{a+="]";break}case"INSIDE_LITERAL":{const d=e.substring(r,e.length);"true".startsWith(d)?a+="true".slice(d.length):"false".startsWith(d)?a+="false".slice(d.length):"null".startsWith(d)&&(a+="null".slice(d.length))}}return a}async function cQ(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await Nv({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await Nv({text:UGe(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}function A0(e){return e.type.startsWith("tool-")}function WGe(e){return e.type==="dynamic-tool"}function p$(e){return A0(e)||WGe(e)}function m$(e){return e.type.split("-").slice(1).join("-")}function qGe({lastMessage:e,messageId:t}){return{message:(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function GGe({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:o,onToolCall:s,onData:i}){return e.pipeThrough(new TransformStream({async transform(a,l){await r(async({state:c,write:d})=>{var f,h,p,m;function g(w){const E=c.message.parts.filter(A0).find(C=>C.toolCallId===w);if(E==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return E}function y(w){const E=c.message.parts.filter(C=>C.type==="dynamic-tool").find(C=>C.toolCallId===w);if(E==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return E}function b(w){var S;const E=c.message.parts.find(j=>A0(j)&&j.toolCallId===w.toolCallId),C=w,_=E;E!=null?(E.state=w.state,_.input=C.input,_.output=C.output,_.errorText=C.errorText,_.rawInput=C.rawInput,_.preliminary=C.preliminary,_.providerExecuted=(S=C.providerExecuted)!=null?S:E.providerExecuted,C.providerMetadata!=null&&E.state==="input-available"&&(E.callProviderMetadata=C.providerMetadata)):c.message.parts.push({type:`tool-${w.toolName}`,toolCallId:w.toolCallId,state:w.state,input:C.input,output:C.output,rawInput:C.rawInput,errorText:C.errorText,providerExecuted:C.providerExecuted,preliminary:C.preliminary,...C.providerMetadata!=null?{callProviderMetadata:C.providerMetadata}:{}})}function x(w){var S;const E=c.message.parts.find(j=>j.type==="dynamic-tool"&&j.toolCallId===w.toolCallId),C=w,_=E;E!=null?(E.state=w.state,_.toolName=w.toolName,_.input=C.input,_.output=C.output,_.errorText=C.errorText,_.rawInput=(S=C.rawInput)!=null?S:_.rawInput,_.preliminary=C.preliminary,C.providerMetadata!=null&&E.state==="input-available"&&(E.callProviderMetadata=C.providerMetadata)):c.message.parts.push({type:"dynamic-tool",toolName:w.toolName,toolCallId:w.toolCallId,state:w.state,input:C.input,output:C.output,errorText:C.errorText,preliminary:C.preliminary,...C.providerMetadata!=null?{callProviderMetadata:C.providerMetadata}:{}})}async function v(w){if(w!=null){const S=c.message.metadata!=null?lQ(c.message.metadata,w):w;t!=null&&await c$({value:S,schema:t}),c.message.metadata=S}}switch(a.type){case"text-start":{const w={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};c.activeTextParts[a.id]=w,c.message.parts.push(w),d();break}case"text-delta":{const w=c.activeTextParts[a.id];w.text+=a.delta,w.providerMetadata=(f=a.providerMetadata)!=null?f:w.providerMetadata,d();break}case"text-end":{const w=c.activeTextParts[a.id];w.state="done",w.providerMetadata=(h=a.providerMetadata)!=null?h:w.providerMetadata,delete c.activeTextParts[a.id],d();break}case"reasoning-start":{const w={type:"reasoning",text:"",providerMetadata:a.providerMetadata,state:"streaming"};c.activeReasoningParts[a.id]=w,c.message.parts.push(w),d();break}case"reasoning-delta":{const w=c.activeReasoningParts[a.id];w.text+=a.delta,w.providerMetadata=(p=a.providerMetadata)!=null?p:w.providerMetadata,d();break}case"reasoning-end":{const w=c.activeReasoningParts[a.id];w.providerMetadata=(m=a.providerMetadata)!=null?m:w.providerMetadata,w.state="done",delete c.activeReasoningParts[a.id],d();break}case"file":{c.message.parts.push({type:"file",mediaType:a.mediaType,url:a.url}),d();break}case"source-url":{c.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),d();break}case"source-document":{c.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),d();break}case"tool-input-start":{const w=c.message.parts.filter(A0);c.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:w.length,dynamic:a.dynamic},a.dynamic?x({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0}):b({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted}),d();break}case"tool-input-delta":{const w=c.partialToolCalls[a.toolCallId];w.text+=a.inputTextDelta;const{value:S}=await cQ(w.text);w.dynamic?x({toolCallId:a.toolCallId,toolName:w.toolName,state:"input-streaming",input:S}):b({toolCallId:a.toolCallId,toolName:w.toolName,state:"input-streaming",input:S}),d();break}case"tool-input-available":{a.dynamic?x({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerMetadata:a.providerMetadata}):b({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}),d(),s&&!a.providerExecuted&&await s({toolCall:a});break}case"tool-input-error":{a.dynamic?x({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerMetadata:a.providerMetadata}):b({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}),d();break}case"tool-output-available":{if(a.dynamic){const w=y(a.toolCallId);x({toolCallId:a.toolCallId,toolName:w.toolName,state:"output-available",input:w.input,output:a.output,preliminary:a.preliminary})}else{const w=g(a.toolCallId);b({toolCallId:a.toolCallId,toolName:m$(w),state:"output-available",input:w.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary})}d();break}case"tool-output-error":{if(a.dynamic){const w=y(a.toolCallId);x({toolCallId:a.toolCallId,toolName:w.toolName,state:"output-error",input:w.input,errorText:a.errorText})}else{const w=g(a.toolCallId);b({toolCallId:a.toolCallId,toolName:m$(w),state:"output-error",input:w.input,rawInput:w.rawInput,errorText:a.errorText})}d();break}case"start-step":{c.message.parts.push({type:"step-start"});break}case"finish-step":{c.activeTextParts={},c.activeReasoningParts={};break}case"start":{a.messageId!=null&&(c.message.id=a.messageId),await v(a.messageMetadata),(a.messageId!=null||a.messageMetadata!=null)&&d();break}case"finish":{await v(a.messageMetadata),a.messageMetadata!=null&&d();break}case"message-metadata":{await v(a.messageMetadata),a.messageMetadata!=null&&d();break}case"error":{o==null||o(new Error(a.errorText));break}default:if(HGe(a)){(n==null?void 0:n[a.type])!=null&&await c$({value:a.data,schema:n[a.type]});const w=a;if(w.transient){i==null||i(w);break}const S=w.id!=null?c.message.parts.find(E=>w.type===E.type&&w.id===E.id):void 0;S!=null?S.data=w.data:c.message.parts.push(w),i==null||i(w),d()}}l.enqueue(a)})}}))}async function YGe({stream:e,onError:t}){const n=e.getReader();try{for(;;){const{done:r}=await n.read();if(r)break}}catch(r){t==null||t(r)}finally{n.releaseLock()}}Pb({prefix:"aitxt",size:24});Pb({prefix:"aiobj",size:24});var ZGe=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(r){n(r)}}),this.processQueue()})}};Pb({prefix:"aiobj",size:24});var KGe={};PGe(KGe,{object:()=>QGe,text:()=>XGe});var XGe=()=>({type:"text",responseFormat:{type:"text"},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),QGe=({schema:e})=>{const t=MGe(e);return{type:"object",responseFormat:{type:"json",schema:t.jsonSchema},async parsePartial({text:n}){const r=await cQ(n);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:r.value};default:{const o=r.state;throw new Error(`Unsupported parse state: ${o}`)}}},async parseOutput({text:n},r){const o=await Nv({text:n});if(!o.success)throw new f$({message:"No object generated: could not parse the response.",cause:o.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});const s=await ZD({value:o.value,schema:t});if(!s.success)throw new f$({message:"No object generated: response did not match schema.",cause:s.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});return s.value}}},JGe=Gd({name:De(),version:De()}),XD=Gd({_meta:or($t({}).loose())}),bg=XD,eYe=$t({method:De(),params:or(XD)}),tYe=Gd({experimental:or($t({}).loose()),logging:or($t({}).loose()),prompts:or(Gd({listChanged:or(fr())})),resources:or(Gd({subscribe:or(fr()),listChanged:or(fr())})),tools:or(Gd({listChanged:or(fr())}))});bg.extend({protocolVersion:De(),capabilities:tYe,serverInfo:JGe,instructions:or(De())});var nYe=bg.extend({nextCursor:or(De())}),rYe=$t({name:De(),description:or(De()),inputSchema:$t({type:tt("object"),properties:or($t({}).loose())}).loose()}).loose();nYe.extend({tools:pc(rYe)});var oYe=$t({type:tt("text"),text:De()}).loose(),sYe=$t({type:tt("image"),data:HX(),mimeType:De()}).loose(),uQ=$t({uri:De(),mimeType:or(De())}).loose(),iYe=uQ.extend({text:De()}),aYe=uQ.extend({blob:HX()}),lYe=$t({type:tt("resource"),resource:Sr([iYe,aYe])}).loose();bg.extend({content:pc(Sr([oYe,sYe,lYe])),isError:fr().default(!1).optional()}).or(bg.extend({toolResult:Lo()}));var q1="2.0",cYe=$t({jsonrpc:tt(q1),id:Sr([De(),mg().int()])}).merge(eYe).strict(),uYe=$t({jsonrpc:tt(q1),id:Sr([De(),mg().int()]),result:bg}).strict(),dYe=$t({jsonrpc:tt(q1),id:Sr([De(),mg().int()]),error:$t({code:mg().int(),message:De(),data:or(Lo())})}).strict(),fYe=$t({jsonrpc:tt(q1)}).merge($t({method:De(),params:or(XD)})).strict();Sr([cYe,fYe,uYe,dYe]);async function hYe(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw new Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async t=>{const{name:n,type:r}=t,o=await new Promise((s,i)=>{const a=new FileReader;a.onload=l=>{var c;s((c=l.target)==null?void 0:c.result)},a.onerror=l=>i(l),a.readAsDataURL(t)});return{type:"file",mediaType:r,filename:n,url:o}}))}var pYe=class{constructor({api:e="/api/chat",credentials:t,headers:n,body:r,fetch:o,prepareSendMessagesRequest:s,prepareReconnectToStreamRequest:i}){this.api=e,this.credentials=t,this.headers=n,this.body=r,this.fetch=o,this.prepareSendMessagesRequest=s,this.prepareReconnectToStreamRequest=i}async sendMessages({abortSignal:e,...t}){var n,r,o,s,i;const a=await jd(this.body),l=await jd(this.headers),c=await jd(this.credentials),d=await((n=this.prepareSendMessagesRequest)==null?void 0:n.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...a,...t.body},headers:{...l,...t.headers},credentials:c,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),f=(r=d==null?void 0:d.api)!=null?r:this.api,h=(d==null?void 0:d.headers)!==void 0?d.headers:{...l,...t.headers},p=(d==null?void 0:d.body)!==void 0?d.body:{...a,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},m=(o=d==null?void 0:d.credentials)!=null?o:c,y=await((s=this.fetch)!=null?s:globalThis.fetch)(f,{method:"POST",headers:l$({"Content-Type":"application/json",...h},`ai-sdk/${h$}`,a$()),body:JSON.stringify(p),credentials:m,signal:e});if(!y.ok)throw new Error((i=await y.text())!=null?i:"Failed to fetch the chat response.");if(!y.body)throw new Error("The response body is empty.");return this.processResponseStream(y.body)}async reconnectToStream(e){var t,n,r,o,s;const i=await jd(this.body),a=await jd(this.headers),l=await jd(this.credentials),c=await((t=this.prepareReconnectToStreamRequest)==null?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...i,...e.body},headers:{...a,...e.headers},credentials:l,requestMetadata:e.metadata})),d=(n=c==null?void 0:c.api)!=null?n:`${this.api}/${e.chatId}/stream`,f=(c==null?void 0:c.headers)!==void 0?c.headers:{...a,...e.headers},h=(r=c==null?void 0:c.credentials)!=null?r:l,m=await((o=this.fetch)!=null?o:globalThis.fetch)(d,{method:"GET",headers:l$(f,`ai-sdk/${h$}`,a$()),credentials:h});if(m.status===204)return null;if(!m.ok)throw new Error((s=await m.text())!=null?s:"Failed to fetch the chat response.");if(!m.body)throw new Error("The response body is empty.");return this.processResponseStream(m.body)}},QD=class extends pYe{constructor(e={}){super(e)}processResponseStream(e){return $qe({stream:e,schema:VGe}).pipeThrough(new TransformStream({async transform(t,n){if(!t.success)throw t.error;n.enqueue(t.value)}}))}},mYe=class{constructor({generateId:e=kqe,id:t=e(),transport:n=new QD,messageMetadataSchema:r,dataPartSchemas:o,state:s,onError:i,onToolCall:a,onFinish:l,onData:c,sendAutomaticallyWhen:d}){this.activeResponse=void 0,this.jobExecutor=new ZGe,this.sendMessage=async(f,h)=>{var p,m,g,y;if(f==null){await this.makeRequest({trigger:"submit-message",messageId:(p=this.lastMessage)==null?void 0:p.id,...h});return}let b;if("text"in f||"files"in f?b={parts:[...Array.isArray(f.files)?f.files:await hYe(f.files),..."text"in f&&f.text!=null?[{type:"text",text:f.text}]:[]]}:b=f,f.messageId!=null){const x=this.state.messages.findIndex(v=>v.id===f.messageId);if(x===-1)throw new Error(`message with id ${f.messageId} not found`);if(this.state.messages[x].role!=="user")throw new Error(`message with id ${f.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,x+1),this.state.replaceMessage(x,{...b,id:f.messageId,role:(m=b.role)!=null?m:"user",metadata:f.metadata})}else this.state.pushMessage({...b,id:(g=b.id)!=null?g:this.generateId(),role:(y=b.role)!=null?y:"user",metadata:f.metadata});await this.makeRequest({trigger:"submit-message",messageId:f.messageId,...h})},this.regenerate=async({messageId:f,...h}={})=>{const p=f==null?this.state.messages.length-1:this.state.messages.findIndex(m=>m.id===f);if(p===-1)throw new Error(`message ${f} not found`);this.state.messages=this.state.messages.slice(0,this.messages[p].role==="assistant"?p:p+1),await this.makeRequest({trigger:"regenerate-message",messageId:f,...h})},this.resumeStream=async(f={})=>{await this.makeRequest({trigger:"resume-stream",...f})},this.clearError=()=>{this.status==="error"&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolResult=async({state:f="output-available",tool:h,toolCallId:p,output:m,errorText:g})=>this.jobExecutor.run(async()=>{var y,b;const x=this.state.messages,v=x[x.length-1];this.state.replaceMessage(x.length-1,{...v,parts:v.parts.map(w=>p$(w)&&w.toolCallId===p?{...w,state:f,output:m,errorText:g}:w)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(w=>p$(w)&&w.toolCallId===p?{...w,state:f,output:m,errorText:g}:w)),this.status!=="streaming"&&this.status!=="submitted"&&((y=this.sendAutomaticallyWhen)!=null&&y.call(this,{messages:this.state.messages}))&&this.makeRequest({trigger:"submit-message",messageId:(b=this.lastMessage)==null?void 0:b.id})}),this.stop=async()=>{var f;this.status!=="streaming"&&this.status!=="submitted"||(f=this.activeResponse)!=null&&f.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=o,this.state=s,this.onError=i,this.onToolCall=a,this.onFinish=l,this.onData=c,this.sendAutomaticallyWhen=d}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async makeRequest({trigger:e,metadata:t,headers:n,body:r,messageId:o}){var s,i,a;this.setStatus({status:"submitted",error:void 0});const l=this.lastMessage;let c=!1,d=!1,f=!1;try{const h={state:qGe({lastMessage:this.state.snapshot(l),messageId:this.generateId()}),abortController:new AbortController};h.abortController.signal.addEventListener("abort",()=>{c=!0}),this.activeResponse=h;let p;if(e==="resume-stream"){const g=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:n,body:r});if(g==null){this.setStatus({status:"ready"});return}p=g}else p=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:h.abortController.signal,metadata:t,headers:n,body:r,trigger:e,messageId:o});const m=g=>this.jobExecutor.run(()=>g({state:h.state,write:()=>{var y;this.setStatus({status:"streaming"}),h.state.message.id===((y=this.lastMessage)==null?void 0:y.id)?this.state.replaceMessage(this.state.messages.length-1,h.state.message):this.state.pushMessage(h.state.message)}}));await YGe({stream:GGe({stream:p,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:m,onError:g=>{throw g}}),onError:g=>{throw g}}),this.setStatus({status:"ready"})}catch(h){if(c||h.name==="AbortError")return c=!0,this.setStatus({status:"ready"}),null;f=!0,h instanceof TypeError&&(h.message.toLowerCase().includes("fetch")||h.message.toLowerCase().includes("network"))&&(d=!0),this.onError&&h instanceof Error&&this.onError(h),this.setStatus({status:"error",error:h})}finally{try{(s=this.onFinish)==null||s.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:c,isDisconnect:d,isError:f})}catch(h){console.error(h)}this.activeResponse=void 0}(i=this.sendAutomaticallyWhen)!=null&&i.call(this,{messages:this.state.messages})&&!f&&await this.makeRequest({trigger:"submit-message",messageId:(a=this.lastMessage)==null?void 0:a.id,metadata:t,headers:n,body:r})}};function gYe(e,t){if(typeof e!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let n,r=0;return function(...s){clearTimeout(n);const i=Date.now(),a=i-r,l=t-a;l<=0?(r=i,e.apply(this,s)):n=setTimeout(()=>{r=Date.now(),e.apply(this,s)},l)}}var bYe=gYe;const yYe=Bu(bYe);var xYe=Qk(),dQ=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},Cn=(e,t,n)=>(dQ(e,t,"read from private field"),n?n.call(e):t.get(e)),yi=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},bl=(e,t,n,r)=>(dQ(e,t,"write to private field"),t.set(e,n),n);function vYe(e,t){return t!=null?yYe(e,t):e}var is,I0,O0,Pp,Tp,Ap,Id,Uk,Wk,wYe=class{constructor(e=[]){yi(this,is,void 0),yi(this,I0,"ready"),yi(this,O0,void 0),yi(this,Pp,new Set),yi(this,Tp,new Set),yi(this,Ap,new Set),this.pushMessage=t=>{bl(this,is,Cn(this,is).concat(t)),Cn(this,Id).call(this)},this.popMessage=()=>{bl(this,is,Cn(this,is).slice(0,-1)),Cn(this,Id).call(this)},this.replaceMessage=(t,n)=>{bl(this,is,[...Cn(this,is).slice(0,t),this.snapshot(n),...Cn(this,is).slice(t+1)]),Cn(this,Id).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,n)=>{const r=n?vYe(t,n):t;return Cn(this,Pp).add(r),()=>{Cn(this,Pp).delete(r)}},this["~registerStatusCallback"]=t=>(Cn(this,Tp).add(t),()=>{Cn(this,Tp).delete(t)}),this["~registerErrorCallback"]=t=>(Cn(this,Ap).add(t),()=>{Cn(this,Ap).delete(t)}),yi(this,Id,()=>{Cn(this,Pp).forEach(t=>t())}),yi(this,Uk,()=>{Cn(this,Tp).forEach(t=>t())}),yi(this,Wk,()=>{Cn(this,Ap).forEach(t=>t())}),bl(this,is,e)}get status(){return Cn(this,I0)}set status(e){bl(this,I0,e),Cn(this,Uk).call(this)}get error(){return Cn(this,O0)}set error(e){bl(this,O0,e),Cn(this,Wk).call(this)}get messages(){return Cn(this,is)}set messages(e){bl(this,is,[...e]),Cn(this,Id).call(this)}};is=new WeakMap;I0=new WeakMap;O0=new WeakMap;Pp=new WeakMap;Tp=new WeakMap;Ap=new WeakMap;Id=new WeakMap;Uk=new WeakMap;Wk=new WeakMap;var Od,g$=class extends mYe{constructor({messages:e,...t}){const n=new wYe(e);super({...t,state:n}),yi(this,Od,void 0),this["~registerMessagesCallback"]=(r,o)=>Cn(this,Od)["~registerMessagesCallback"](r,o),this["~registerStatusCallback"]=r=>Cn(this,Od)["~registerStatusCallback"](r),this["~registerErrorCallback"]=r=>Cn(this,Od)["~registerErrorCallback"](r),bl(this,Od,n)}};Od=new WeakMap;function fQ({experimental_throttle:e,resume:t=!1,...n}={}){const r=N.useRef("chat"in n?n.chat:new g$(n));("chat"in n&&n.chat!==r.current||"id"in n&&r.current.id!==n.id)&&(r.current="chat"in n?n.chat:new g$(n));const s="id"in n?n.id:null,i=N.useCallback(f=>r.current["~registerMessagesCallback"](f,e),[e,s]),a=N.useSyncExternalStore(i,()=>r.current.messages,()=>r.current.messages),l=N.useSyncExternalStore(r.current["~registerStatusCallback"],()=>r.current.status,()=>r.current.status),c=N.useSyncExternalStore(r.current["~registerErrorCallback"],()=>r.current.error,()=>r.current.error),d=N.useCallback(f=>{typeof f=="function"&&(f=f(r.current.messages)),r.current.messages=f},[r]);return N.useEffect(()=>{t&&r.current.resumeStream()},[t,r]),{id:r.current.id,messages:a,setMessages:d,sendMessage:r.current.sendMessage,regenerate:r.current.regenerate,clearError:r.current.clearError,stop:r.current.stop,error:c,resumeStream:r.current.resumeStream,status:l,addToolResult:r.current.addToolResult}}function SYe(e,t){return e.some(n=>n.tableName&&n.tableName===t.tableName||n.datamodelName&&n.datamodelName===t.datamodelName)}function CYe(e){return e.filter((n,r,o)=>r===o.findIndex(s=>s.tableName===n.tableName&&s.datamodelName===n.datamodelName))}function EYe(e,t){return e.filter(n=>!(n.connectionId===t.connectionId&&n.tableName===t.tableName&&n.datamodelName===t.datamodelName))}function NYe(e){return e.toLowerCase()==="clickhouse"?"{database_name}.{table_name}":e.toLowerCase()==="postgres"?"{schema_name}.{table_name}":"{table_name}"}function hQ(e){return e.map(r=>{const o=r.connectionType==="API"||r.connectionType==="S3"||r.connectionType==="S3Tables"?"DuckDb":r.connectionType;return r.datamodelName?{...r,databaseName:"",schemaName:"",tableName:"",connectionType:o,tableReferenceFormat:"dm.{table_name}"}:{...r,connectionType:o,tableReferenceFormat:NYe(o)}}).filter(r=>r.datamodelName?r.connectionId&&r.datamodelName&&r.connectionType:r.connectionId&&r.tableName&&r.connectionType)}function pQ(e){var n,r;if(!e)return"";let t="";try{const o=JSON.parse((e==null?void 0:e.message)||"{}");t=((r=(n=o==null?void 0:o.error)==null?void 0:n.lastError)==null?void 0:r.message)||(o==null?void 0:o.error)||e.message}catch{t=e.message}return t}function kYe(){const{authToken:e,tokenProps:t}=qe(),n=ee(g=>g.dashboard.aiScopeTables),{sendMessage:r,messages:o,setMessages:s,regenerate:i,status:a,addToolResult:l,error:c,stop:d,clearError:f}=fQ({transport:new QD({api:`${t.apiServiceUrl}/v1/assistant`,headers:()=>({Authorization:`Bearer ${e==null?void 0:e.accessToken}`}),body:()=>{const g=ui.getState();return{assistantId:"dashboard-assistant",aiContext:g.currentAIContext,reasoningEffort:g.reasoningEffort,showReasoning:g.showReasoning}},credentials:"omit",prepareSendMessagesRequest:({messages:g,body:y})=>({body:{...y,messages:g6(g)}})}),onToolCall:h,onFinish({isAbort:g,isDisconnect:y,isError:b}){console.log(g?"[Dashboard Assistant] Stream aborted by user":y?"[Dashboard Assistant] Stream disconnected (network error)":b?"[Dashboard Assistant] Stream error occurred":"[Dashboard Assistant] Stream completed successfully")},onError(g){var y;if(g.name==="AbortError"||(y=g.message)!=null&&y.includes("aborted")){console.log("[Dashboard Assistant] Stream aborted (expected)");return}console.error("[Dashboard Assistant] Stream error:",g)}});async function h({toolCall:g}){g.toolName==="getCurrentTableScope"&&l({tool:g.toolName,toolCallId:g.toolCallId,output:{tables:hQ(n||[])}})}const p=!["ready","error"].includes(a),m=pQ(c);return{sendMessage:r,regenerate:i,isLoading:p,messages:o,setMessages:s,status:a,stop:d,errorMessage:m,clearError:f}}const Yd=N.forwardRef(({children:e,className:t,tooltip:n,onClick:r,openDelay:o=300,buttonProps:s,disabled:i,...a},l)=>u.jsx(ed,{children:u.jsxs(oi,{delayDuration:o,children:[u.jsx(si,{asChild:!0,children:u.jsx(ae,{disabled:i,ref:l,size:"sm",variant:"ghost",onClick:r,...a,...s,className:Z(`${Qd}`,t),children:e})}),n&&u.jsx(Zi,{side:"bottom",sideOffset:10,children:n})]})}));Yd.displayName="IconButton";function mQ(){const{authToken:e,tokenProps:t}=qe(),n=jte(e==null?void 0:e.accessToken);function r(){if(!n||!(e!=null&&e.accessToken))return!1}const{data:o,isLoading:s,isFetching:i,isError:a}=xn({queryKey:["assistant-profile",n],queryFn:()=>qn(`${t.apiServiceUrl}/v1/assistant/${n}`,(e==null?void 0:e.accessToken)||""),enabled:r()});return{assistantProfile:o==null?void 0:o.assistantProfile,isLoading:s,isFetching:i,isError:a}}function gQ({seedQuestions:e,handleSeedQuestionClick:t}){return e.length===0?null:u.jsxs("div",{className:"overflow-x-auto rounded-md border bg-muted/40 p-4",children:[u.jsxs("div",{className:"mb-3 flex items-center",children:[u.jsx(Y3,{className:"mr-2 h-4 w-4 text-muted-foreground"}),u.jsx("h3",{className:"font-medium",children:"Example Questions"})]}),u.jsx("div",{className:"flex flex-wrap gap-2",children:e.map((n,r)=>u.jsx(ae,{variant:"outline",size:"sm",onClick:()=>t(n),className:"text-sm",children:n},r))})]})}const bQ=k.forwardRef(({className:e,...t},n)=>u.jsxs("div",{className:"flex items-center px-3","cmdk-input-wrapper":"",children:[u.jsx(dh,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),u.jsx(Wr.Input,{ref:n,className:Z("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));bQ.displayName=Wr.Input.displayName;const _Ye=e=>{switch(e){case"table":return u.jsx(Uv,{className:"h-4 w-4"});case"view":return u.jsx(ch,{className:"h-4 w-4"});case"model":return u.jsx(x_,{className:"h-4 w-4"});case"file":return u.jsx(Ko,{className:"h-4 w-4"});case"dataset":return u.jsx(nu,{className:"h-4 w-4"});case"upload":return u.jsx(Wv,{className:"h-4 w-4"});case"url":return u.jsx(v_,{className:"h-4 w-4"});default:return u.jsx(Hv,{className:"h-4 w-4"})}},s0=e=>e.label||(e==null?void 0:e.name),b$=e=>"description"in e?e.description:`${e.type} from ${e.database||"database"}`;function jYe({isOpen:e,onSelect:t,onDeselect:n,onClose:r,availableEntities:o,selectedEntities:s,onTabComplete:i,onSelectAll:a,onRemoveAll:l,onAddContext:c}){const[d,f]=N.useState(""),[h,p]=N.useState(""),m=o.filter(w=>{if(!d)return!0;const S=s0(w).toLowerCase(),E=b$(w).toLowerCase(),C=d.toLowerCase();return S.includes(C)||E.includes(C)});N.useEffect(()=>{e||(f(""),p(""))},[e]),N.useEffect(()=>{m.length>0&&!h&&p(s0(m[0]))},[m,h]);const g=()=>{if(!h)return;const w=m.find(S=>s0(S)===h);w&&(s.some(E=>"id"in w&&"id"in E?w.id===E.id:w.name===E.name&&w.connectionId===E.connectionId)||t(w),i(w),r())},y=w=>{(w.key==="Tab"||w.key==="Enter")&&(w.preventDefault(),g())};if(!e)return null;const b=w=>s.some(S=>"id"in w&&"id"in S?w.id===S.id:w.name===S.name&&w.connectionId===S.connectionId),x=s.length===o.length,v=s.length>0;return u.jsx(u.Fragment,{children:u.jsxs(Dw,{shouldFilter:!1,value:h,onValueChange:p,onKeyDown:y,children:[o.length>0&&u.jsxs("div",{className:"flex items-center justify-between border-b pr-3",children:[u.jsx(bQ,{placeholder:"Search entities...",value:d,onValueChange:f,className:"flex-1 border-0",autoFocus:!0}),u.jsxs(ae,{onClick:w=>{w.preventDefault(),w.stopPropagation(),c==null||c()},onMouseDown:w=>{w.preventDefault(),w.stopPropagation()},variant:"outline",size:"sm",className:"h-7 shrink-0",children:[u.jsx(Xo,{className:"mr-1 h-4 w-4"}),"Add"]})]}),o.length>0&&u.jsxs("div",{className:"flex items-center justify-between border-b px-3 py-2 text-sm",children:[u.jsxs("div",{className:"text-muted-foreground",children:[s.length," ",s.length===1?"entity":"entities"," selected"]}),u.jsxs("div",{className:"flex items-center gap-1",children:[u.jsx(ae,{onClick:w=>{w.preventDefault(),w.stopPropagation(),a==null||a()},onMouseDown:w=>{w.preventDefault(),w.stopPropagation()},disabled:x,variant:"ghost",size:"sm",className:"h-6 px-2 text-xs",children:"Select All"}),v&&u.jsxs(ae,{onClick:w=>{w.preventDefault(),w.stopPropagation(),l==null||l()},onMouseDown:w=>{w.preventDefault(),w.stopPropagation()},variant:"ghost",size:"sm",className:"h-6 gap-1 px-2 text-xs",children:[u.jsx(Xt,{className:"h-3.5 w-3.5"}),"Clear"]})]})]}),u.jsxs(Pw,{className:"min-h-60",children:[u.jsx(Tw,{children:u.jsxs("div",{className:"flex flex-col items-center justify-center py-4",children:[u.jsx("p",{className:"mb-3 text-sm text-muted-foreground",children:"No entities found."}),u.jsxs(ae,{onClick:w=>{w.preventDefault(),w.stopPropagation(),c==null||c()},onMouseDown:w=>{w.preventDefault(),w.stopPropagation()},size:"sm",variant:"outline",className:"flex items-center gap-2",children:[u.jsx(Xo,{className:"h-4 w-4"}),"Add Datasets"]})]})}),u.jsx(Aw,{children:m.map((w,S)=>{const E=b(w),C="id"in w?w.id:`${w.connectionId}-${w.name}`,_=s0(w);return u.jsxs(Iw,{value:_,onSelect:()=>{E?n==null||n(w):t(w)},onMouseDown:j=>{j.preventDefault(),j.stopPropagation()},className:Z("flex cursor-pointer items-start gap-2 p-2 hover:bg-gray-100"),children:[u.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center",children:_Ye(w.type)}),u.jsxs("div",{className:"min-w-0 flex-1",children:[u.jsx("div",{className:"truncate font-medium",children:_}),u.jsx("div",{className:"truncate text-xs text-muted-foreground",children:b$(w)})]}),E&&u.jsx("div",{className:"ml-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-foreground/80",children:u.jsx(_r,{className:"h-3 w-3 text-background"})})]},C)})})]})]})})}const y$=e=>{switch(e){case"table":return u.jsx(Uv,{className:"h-3 w-3"});case"view":return u.jsx(ch,{className:"h-3 w-3"});case"model":return u.jsx(x_,{className:"h-3 w-3"});case"file":return u.jsx(Ko,{className:"h-3 w-3"});case"dataset":return u.jsx(nu,{className:"h-3 w-3"});case"upload":return u.jsx(Wv,{className:"h-3 w-3"});case"url":return u.jsx(v_,{className:"h-3 w-3"});default:return u.jsx(Hv,{className:"h-3 w-3"})}},qk=e=>e.name||e.name,RYe=e=>{const t=qk(e),n="description"in e?e.description:"",r=e.database||"",o=e.schema||"";return u.jsxs("div",{className:"space-y-1",children:[u.jsx("div",{className:"font-medium",children:t}),n&&u.jsx("div",{className:"text-sm text-muted-foreground",children:n}),u.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",e.type,r&&` • Database: ${r}`,o&&` • Schema: ${o}`]})]})};function MYe({entities:e,availableEntities:t,onRemoveEntity:n,onRemoveEntities:r}){const[o,s]=N.useState(!1),i=e.length>0;e.length,t.length,e.length<t.length;const a=e.length>=3?e.slice(0,2):e,l=e.length>=3?e.slice(2):[],c=l.length>0;return u.jsx(ed,{children:u.jsx("div",{className:"space-y-2",children:i&&u.jsxs("div",{className:"flex flex-wrap gap-1",children:[a.map((d,f)=>{const h="id"in d?d.id:`${d.connectionId}-${d.name}`;return u.jsxs(oi,{children:[u.jsx(si,{asChild:!0,children:u.jsxs(Tt,{variant:"secondary",className:"group relative cursor-pointer gap-2 transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[y$(d.type),u.jsx("span",{className:"max-w-24 truncate text-xs",children:qk(d)}),u.jsx("button",{className:"rounded-full p-0.5 transition-opacity hover:bg-red-100 group-hover:opacity-100",onClick:()=>n(d),children:u.jsx(Xt,{className:"h-3 w-3"})})]})}),u.jsx(Zi,{side:"top",className:"max-w-xs",children:RYe(d)})]},h)}),c&&u.jsxs(oi,{open:o,onOpenChange:s,children:[u.jsx(si,{asChild:!0,children:u.jsxs(Tt,{variant:"secondary",className:"flex cursor-pointer items-center gap-1 transition-colors hover:bg-secondary/80",onClick:()=>s(!0),children:[u.jsx(X3,{className:"h-3 w-3"}),u.jsxs("span",{className:"text-xs",children:[l.length," more"]}),u.jsx("button",{className:"rounded-full p-0.5 transition-opacity hover:bg-red-100 group-hover:opacity-100",onClick:()=>r(l),children:u.jsx(Xt,{className:"h-3 w-3"})})]})}),u.jsx(Zi,{side:"top",className:"max-h-60 max-w-xs overflow-y-auto p-2",children:u.jsxs("div",{className:"space-y-2",children:[u.jsx("div",{className:"text-sm font-medium",children:"Additional Datasets"}),u.jsx("div",{className:"space-y-2",children:l.map(d=>{const f="id"in d?d.id:`${d.connectionId}-${d.name}`;return u.jsxs("div",{className:"group flex items-center justify-between gap-2",children:[u.jsxs("div",{className:"flex items-start gap-2",children:[u.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:y$(d.type)}),u.jsxs("div",{className:"min-w-0 flex-1",children:[u.jsx("div",{className:"truncate text-sm font-medium",children:qk(d)}),u.jsxs("div",{className:"truncate text-xs text-muted-foreground",children:[d.type," ",d.database?`• ${d.database}`:""]})]})]}),u.jsx(ae,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 opacity-0 group-hover:opacity-100",onClick:()=>{n(d),l.length===1&&s(!1)},children:u.jsx(Xt,{className:"h-3 w-3"})})]},f)})})]})})]})]})})})}function yQ(e){return e.type==="dataset"&&e.label||e.name}function DYe(e){const t=[];return t.push({label:"Type",value:e.type}),t.push({label:"Name",value:e.name}),e.connectionType&&t.push({label:"Connection",value:e.connectionType}),e.database&&t.push({label:"Database",value:e.database}),e.schema&&t.push({label:"Schema",value:e.schema}),e.type==="dataset"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="dataset"&&e.description&&t.push({label:"Description",value:e.description}),e.type==="model"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="model"&&e.description&&t.push({label:"Description",value:e.description}),t}function PYe({selectedEntities:e,onDeselectEntity:t}){return e.length===0?null:u.jsxs("div",{className:"mb-4 space-y-2",children:[u.jsxs(de,{className:"mb-2 text-xs font-medium text-muted-foreground",children:["Selected Entities (",e.length,")"]}),u.jsx("div",{className:"max-h-32 overflow-y-auto rounded-md border border-border/50 p-2",children:u.jsx("div",{className:"flex flex-wrap gap-1",children:e.map((n,r)=>u.jsxs(Tt,{variant:"secondary",className:"group relative cursor-pointer pr-6 text-xs transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[u.jsxs("span",{className:"mr-1 text-gray-500",children:["[",n.type,"]"]}),yQ(n),u.jsx("button",{onClick:o=>{o.stopPropagation(),t(n)},className:"absolute right-1 top-1/2 -translate-y-1/2 rounded-full p-0.5 opacity-0 transition-opacity hover:bg-red-100 group-hover:opacity-100",children:u.jsx(Xt,{className:"h-2.5 w-2.5 text-red-500"})})]},`${n.type}-${n.name}-${r}`))})})]})}function TYe(e){const{tokenProps:t}=qe(),n=ee(l=>l.authToken)||e;Ae(l=>l.selectedConnectionId),Ae(l=>{var c,d;return(d=(c=l==null?void 0:l.card)==null?void 0:c.dataSource)==null?void 0:d.connectionId});const{refetch:r,isPending:o,data:s,isLoading:i,isError:a}=xn({queryKey:["semantic-domains"],queryFn:()=>qn(`${t.apiServiceUrl}/v1/domains`,(n==null?void 0:n.accessToken)||""),enabled:!!(n!=null&&n.accessToken)});return{isPending:o,error:a,semanticDomainsData:s,semanticDomains:(s==null?void 0:s.domains)||[],isSemanticDomainsLoading:i,isSemanticDomainsError:a,refetchSemanticDomains:r}}function AYe(e,t){const{tokenProps:n}=qe(),r=ee(c=>c.authToken)||t,{refetch:o,isPending:s,data:i,isLoading:a,isError:l}=xn({queryKey:["datasets",e],queryFn:()=>qn(`${n.apiServiceUrl}/v1/datasets`,(r==null?void 0:r.accessToken)||"",{domainId:e}),enabled:!!(r!=null&&r.accessToken)&&!!e});return{isPending:s,error:l,datasets:(i==null?void 0:i.datasets)||[],isDatasetsLoading:a,isDatasetsError:l,refetchDatasets:o}}function IYe(e){var g,y;const{tokenProps:t}=qe(),n=ee(b=>b.authToken)||e,{connections:r}=ta(e),o=Ae(b=>{var x,v;return(v=(x=b==null?void 0:b.card)==null?void 0:x.dataSource)==null?void 0:v.connectionId}),s=r==null?void 0:r.find(b=>b.id===o),i=s==null?void 0:s.type,a=s==null?void 0:s.capabilities,l=((g=a==null?void 0:a.labels)==null?void 0:g.database)||"Database";function c(b){return o&&b?!(b==="API"||b==="S3"):!1}const{data:d,isPending:f,error:h,refetch:p}=xn({queryKey:["databases",o],queryFn:()=>qn(`${t.apiServiceUrl}/v1/databases`,(n==null?void 0:n.accessToken)||"",{connection_id:o}),enabled:c(i)}),m=(y=d==null?void 0:d.databases)==null?void 0:y.map(b=>({id:b.database_name,name:b.database_name}));return{isPending:f,error:h,databases:m||[],refetch:p,label:l}}function OYe(e){var g;const{tokenProps:t}=qe(),n=ee(y=>y.authToken)||e,{connections:r}=ta(e),o=Ae(y=>{var b,x;return(x=(b=y==null?void 0:y.card)==null?void 0:b.dataSource)==null?void 0:x.connectionId}),s=Ae(y=>{var b,x,v;return(v=(x=(b=y==null?void 0:y.card)==null?void 0:b.dataSource)==null?void 0:x.dbSelection)==null?void 0:v.database}),i=r==null?void 0:r.find(y=>y.id===o),a=i==null?void 0:i.capabilities,l=((g=a==null?void 0:a.labels)==null?void 0:g.schema)||"Schema";function c(){return!(!o||(i==null?void 0:i.type)==="API"||(i==null?void 0:i.type)==="S3"||!s||!(a!=null&&a.path.includes("schema")))}const{data:d,isPending:f,error:h,refetch:p}=xn({queryKey:["schemas",o,s],queryFn:()=>qn(`${t.apiServiceUrl}/v1/schemas`,(n==null?void 0:n.accessToken)||"",{connection_id:o,database_name:s}),enabled:c()}),m=d==null?void 0:d.schemas.map(y=>({id:y.schema_name,name:y.schema_name}));return{isPending:f,error:h,schemas:m||[],refetch:p,label:l}}function xQ(e){const{tokenProps:t}=qe(),n=ee(h=>h.authToken)||e,{connections:r}=ta(e),o=Ae(h=>{var p,m;return(m=(p=h==null?void 0:h.card)==null?void 0:p.dataSource)==null?void 0:m.connectionId}),s=r.find(h=>h.id===o);function i(){return!(!(n!=null&&n.accessToken)||!o)}const{data:a,isPending:l,error:c,refetch:d}=xn({queryKey:["dataModels",o],queryFn:()=>qn(`${t.apiServiceUrl}/v1/datamodels`,(n==null?void 0:n.accessToken)||"",{connection_id:o}),enabled:i()}),f=a==null?void 0:a.datamodels.map(h=>({id:h.id,name:h.name,label:h.label,description:h.description,connectionId:o,dialect:h.dialect,connectionType:s==null?void 0:s.type,type:"model",database:h.database,schema:h.schema}));return{isPending:l,error:c,dataModels:f||[],refetch:d}}function FYe(){var S,E,C;const e=Ae(_=>_.card.dataSource);Ae(_=>_.actions.updateDirectSource);const t=Ae(_=>_.actions.updateDataSource),[n,r]=N.useState(""),{selectedConnection:o,error:s}=ta(),{databases:i,isPending:a,error:l,label:c}=IYe(),{schemas:d,isPending:f,error:h,label:p}=OYe(),{error:m}=xQ(),g=o==null?void 0:o.capabilities.path.includes("schema"),y=o==null?void 0:o.capabilities.path.includes("database"),b=c==null?void 0:c.toLowerCase(),x=p==null?void 0:p.toLowerCase(),v=_=>{e&&t({...e,dbSelection:{database:_,schema:"",entityType:"table"},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})},w=_=>{var R;if(!((R=e==null?void 0:e.dbSelection)!=null&&R.database))return;const j=e.dbSelection||{database:"",schema:"",entityType:"table"};t({...e,dbSelection:{...j,schema:_},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})};return u.jsxs(u.Fragment,{children:[(s||l||h||m)&&u.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 p-3",children:[u.jsx("div",{className:"flex items-center",children:u.jsxs("div",{className:"text-sm text-red-800",children:[u.jsx("strong",{children:"Error loading data:"}),u.jsxs("ul",{className:"mt-1 list-inside list-disc",children:[s&&u.jsxs("li",{children:["Connections: ",s]}),l&&u.jsxs("li",{children:[c,": ",l.message]}),h&&u.jsxs("li",{children:[p,": ",h.message]}),m&&u.jsxs("li",{children:["Data Models: ",m.message]})]})]})}),u.jsx(ae,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>window.location.reload(),children:"Retry"})]}),u.jsxs("div",{className:"space-y-4",children:[y&&u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium",children:c}),u.jsxs(Dt,{value:((S=e==null?void 0:e.dbSelection)==null?void 0:S.database)||"",onValueChange:v,disabled:a,children:[u.jsx(_t,{className:"w-full",children:u.jsxs("div",{className:"flex items-center gap-2",children:[a&&u.jsx(Cs,{className:"h-4 w-4 animate-spin"}),u.jsx(Ft,{placeholder:l?`Error loading ${b}`:a?`Loading ${b}...`:`Select ${b}...`})]})}),u.jsx(jt,{children:i.map(_=>u.jsx(ve,{className:"hover:bg-muted",value:_.id,children:_.name},_.id))})]})]}),((E=e==null?void 0:e.dbSelection)==null?void 0:E.database)&&g&&u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium",children:p}),u.jsxs(Dt,{value:((C=e==null?void 0:e.dbSelection)==null?void 0:C.schema)||"",onValueChange:w,disabled:f,children:[u.jsx(_t,{className:"w-full",children:u.jsxs("div",{className:"flex items-center gap-2",children:[f&&u.jsx(Cs,{className:"h-4 w-4 animate-spin"}),u.jsx(Ft,{placeholder:h?`Error loading ${x}`:f?`Loading ${x}...`:`Select ${x}...`})]})}),u.jsx(jt,{children:d.map(_=>u.jsx(ve,{className:"hover:bg-muted",value:_.id,children:_.name},_.id))})]})]})]})]})}function $Ye(){const e=Ae(l=>l.card.dataSource),t=Ae(l=>l.actions.updateDataSource),[n,r]=N.useState(!1),o=l=>{if(!l||(e==null?void 0:e.mode)!=="upload")return;const c=Array.from(l).map(f=>({id:`file-${Date.now()}-${Math.random()}`,name:f.name,type:"upload",connectionId:"default",connectionType:"none",label:f.name,description:`Uploaded ${new Date().toLocaleString()}`,originalName:f.name,file:f})),d=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...d,...c]})},s=l=>{if(!e)return;const c=(e.selectedEntities||[]).filter(d=>d.id!==l);t({...e,selectedEntities:c})},i=l=>{if(l===0)return"0 Bytes";const c=1024,d=["Bytes","KB","MB","GB"],f=Math.floor(Math.log(l)/Math.log(c));return Number.parseFloat((l/Math.pow(c,f)).toFixed(2))+" "+d[f]},a=(e==null?void 0:e.selectedEntities)||[];return u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium",children:"Upload Files"}),u.jsxs("div",{className:`rounded-lg border-2 border-dashed p-6 text-center transition-colors ${n?"border-blue-400 bg-blue-50":"border-gray-300 hover:border-gray-400"}`,onDragOver:l=>{l.preventDefault(),r(!0)},onDragLeave:()=>r(!1),onDrop:l=>{l.preventDefault(),r(!1),o(l.dataTransfer.files)},children:[u.jsx(Wv,{className:"mx-auto mb-2 h-8 w-8 text-gray-400"}),u.jsx("p",{className:"mb-2 text-sm text-gray-600",children:"Drag and drop files here, or click to select"}),u.jsx("input",{type:"file",multiple:!0,className:"hidden",id:"file-upload",onChange:l=>o(l.target.files),accept:".csv,.json,.xlsx,.xls"}),u.jsx(ae,{variant:"outline",size:"sm",onClick:()=>{var l;return(l=document.getElementById("file-upload"))==null?void 0:l.click()},children:"Select Files"}),u.jsx("p",{className:"mt-2 text-xs text-gray-500",children:"Supports CSV, JSON, Excel files"})]})]}),a.length>0&&u.jsxs("div",{className:"space-y-2",children:[u.jsxs(de,{className:"text-xs text-gray-600",children:["Uploaded Files (",a.length,")"]}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:a.map(l=>u.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[u.jsx(Ko,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),u.jsxs("div",{className:"min-w-0",children:[u.jsx("p",{className:"truncate text-sm text-gray-700",children:l.originalName}),u.jsx("p",{className:"text-xs text-gray-500",children:l.file?i(l.file.size):""})]})]}),u.jsx(ae,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>s(l.id),children:u.jsx(Xt,{className:"h-3 w-3"})})]},l.id))})]})]})}function LYe(){const e=Ae(f=>f.card.dataSource),t=Ae(f=>f.actions.updateDataSource),[n,r]=N.useState(""),[o,s]=N.useState(""),[i,a]=N.useState("api"),l=()=>{if(!n.trim()||!o.trim()||!e)return;const f={id:`url-${Date.now()}-${Math.random()}`,name:n.trim(),type:"url",connectionId:"default",connectionType:"none",label:n.trim(),description:`URL source of type ${i}`,url:o.trim(),sourceType:i,originalName:n.trim()},h=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...h,f]}),r(""),s(""),a("api")},c=f=>{if(!e)return;const h=(e.selectedEntities||[]).filter(p=>p.id!==f);t({...e,selectedEntities:h})},d=(e==null?void 0:e.selectedEntities)||[];return u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium text-gray-700",children:"URL Sources"}),u.jsxs("div",{className:"space-y-3 rounded-lg border bg-gray-50 p-3",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-xs text-gray-600",children:"Source Name"}),u.jsx(wr,{placeholder:"e.g., Sales API, Customer Data",value:n,onChange:f=>r(f.target.value),className:"h-8 text-sm"})]}),u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-xs text-gray-600",children:"URL"}),u.jsx(wr,{placeholder:"https://api.example.com/data",value:o,onChange:f=>s(f.target.value),className:"h-8 text-sm"})]}),u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-xs text-gray-600",children:"Type"}),u.jsxs("select",{value:i,onChange:f=>a(f.target.value),className:"h-8 w-full rounded-md border border-gray-300 px-2 text-sm",children:[u.jsx("option",{value:"api",children:"API Endpoint"}),u.jsx("option",{value:"csv",children:"CSV File"}),u.jsx("option",{value:"json",children:"JSON File"})]})]}),u.jsxs(ae,{onClick:l,disabled:!n.trim()||!o.trim(),size:"sm",className:"w-full",children:[u.jsx(Xo,{className:"mr-1 h-3 w-3"}),"Add Source"]})]})]}),d.length>0&&u.jsxs("div",{className:"space-y-2",children:[u.jsxs(de,{className:"text-xs text-gray-600",children:["Added Sources (",d.length,")"]}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:d.map(f=>u.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[u.jsx(Hv,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),u.jsxs("div",{className:"min-w-0",children:[u.jsx("p",{className:"truncate text-sm text-gray-700",children:f.name}),u.jsx("p",{className:"truncate text-xs text-gray-500",children:f.url})]})]}),u.jsx(ae,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>c(f.id),children:u.jsx(Xt,{className:"h-3 w-3"})})]},f.id))})]})]})}function zYe(e,t){var x,v;const{tokenProps:n}=qe(),r=ee(w=>w.authToken)||t,{connections:o}=ta(t),s=Ae(w=>{var S,E;return(E=(S=w==null?void 0:w.card)==null?void 0:S.dataSource)==null?void 0:E.connectionId}),i=Ae(w=>{var S,E,C;return(C=(E=(S=w==null?void 0:w.card)==null?void 0:S.dataSource)==null?void 0:E.dbSelection)==null?void 0:C.database}),a=Ae(w=>{var S,E,C;return(C=(E=(S=w==null?void 0:w.card)==null?void 0:S.dataSource)==null?void 0:E.dbSelection)==null?void 0:C.schema}),l=o==null?void 0:o.find(w=>w.id===s),c=l==null?void 0:l.capabilities,d=((x=c==null?void 0:c.labels)==null?void 0:x.schema)||"Schema";function f(){return s?(l==null?void 0:l.type)==="API"||(l==null?void 0:l.type)==="S3"?!0:!(!i||c!=null&&c.path.includes("schema")&&!a):!1}const{data:h,isPending:p,isLoading:m,error:g,refetch:y}=xn({queryKey:[e,s,i,a],queryFn:()=>qn(`${n.apiServiceUrl}/v1/${e}s`,(r==null?void 0:r.accessToken)||"",{connection_id:s,database_name:i,schema_name:a}),enabled:f()}),b=(v=h==null?void 0:h[`${e}s`])==null?void 0:v.map(w=>{var S;return{connectionId:l==null?void 0:l.id,connectionType:l==null?void 0:l.type,dialect:l==null?void 0:l.dialect,type:e,dbObjectType:(S=w==null?void 0:w.table_type)==null?void 0:S.toLowerCase(),id:w[`${e}_name`],database:i,schema:a,name:w[`${e}_name`]}});return{isPending:p,isLoading:m,error:g,entities:b||[],refetch:y,label:d}}function kv({title:e,message:t}){return u.jsx("div",{className:"rounded-xl border border-destructive/40 bg-destructive/10 p-4 text-destructive shadow-sm",children:u.jsxs("div",{className:"flex items-start gap-4",children:[u.jsx(Tf,{className:"h-6 w-6 flex-shrink-0"}),u.jsxs("div",{className:"flex-1",children:[u.jsx("h4",{className:"text-base font-semibold",children:e}),t&&u.jsx("p",{className:"mt-1 text-sm text-destructive/90",children:t})]})]})})}function BYe({dataSource:e,onSelectionChange:t,selectedEntities:n,onRegisterSelectAll:r}){const{connections:o,isPending:s}=ta(),[i,a]=N.useState(""),[l,c]=N.useState(""),[d,f]=N.useState("tables"),{updateDataSource:h,setSelectedConnectionId:p}=lo(),{entities:m,isLoading:g,error:y}=zYe("table"),{dataModels:b,isPending:x,error:v}=xQ(),w=R=>{const P=o.find(F=>F.id===R);if(!P)return;const M=P.type==="upload"?"upload":P.type==="url"?"url":"database";h({...e,connectionId:R,connectionType:P.type,mode:M,dbSelection:{database:"",schema:"",entityType:"table"}}),p(R)},S=R=>{var I,A;const P=n||[],M=P.some(O=>O.name===R.name&&O.type===R.type);let F;if(M)F=P.filter(O=>!(O.name===R.name&&O.type===R.type));else{const O={connectionId:e.connectionId,connectionType:e.connectionType,type:R.type,dbObjectType:R.dbObjectType,database:((I=e.dbSelection)==null?void 0:I.database)||"",schema:((A=e.dbSelection)==null?void 0:A.schema)||"",name:R.name,dialect:R.dialect};F=[...P,O]}t==null||t(F)},E=R=>{const P=n||[],M=P.some(I=>I.type==="model"&&I.name===R.name);let F;M?F=P.filter(I=>!(I.type==="model"&&I.name===R.name)):F=[...P,R],t==null||t(F)},C=m.filter(R=>R.name.toLowerCase().includes(i.toLowerCase())),_=b.filter(R=>R.name.toLowerCase().includes(l.toLowerCase())),j=N.useCallback(()=>{if(!t)return;const R=n||[];let P=[...R];if(d==="tables"){const F=C.filter(I=>!R.some(A=>A.name===I.name&&A.type==="table")).map(I=>{var A,O;return{connectionId:e.connectionId,connectionType:e.connectionType,type:"table",dbObjectType:I.dbObjectType,database:((A=e.dbSelection)==null?void 0:A.database)||"",schema:((O=e.dbSelection)==null?void 0:O.schema)||"",name:I.name,dialect:I.dialect}});P=[...R,...F]}else if(d==="datamodels"){const M=_.filter(F=>!R.some(I=>I.name===F.name&&I.type==="model"));P=[...R,...M]}t(P)},[d,C,_,n,e,t]);return N.useEffect(()=>{r&&r(j)},[r,j]),u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"font-medium= text-sm",children:"Connection"}),u.jsxs(Dt,{value:(e==null?void 0:e.connectionId)||"",onValueChange:w,disabled:s,children:[u.jsx(_t,{className:"w-full",children:u.jsx(Ft,{placeholder:s?"Loading connections...":"Select connection..."})}),u.jsx(jt,{children:o.map(R=>u.jsx(ve,{className:"hover:bg-muted",value:R.id,children:u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[u.jsx(nu,{className:"h-4 w-4 flex-shrink-0"}),u.jsx("span",{className:"truncate",children:R.name}),u.jsx(Tt,{variant:"secondary",className:"flex-shrink-0 text-xs",children:R.type})]})},R.id))})]})]}),(e==null?void 0:e.connectionId)&&u.jsxs(u.Fragment,{children:[e.connectionType==="upload"&&u.jsx($Ye,{}),e.connectionType==="url"&&u.jsx(LYe,{}),e.connectionType!=="upload"&&e.connectionType!=="url"&&u.jsxs(u.Fragment,{children:[u.jsx(FYe,{}),u.jsx("div",{className:"space-y-4",children:u.jsx("div",{className:"space-y-2",children:u.jsxs(di,{defaultValue:"tables",value:d,onValueChange:R=>f(R),className:"w-full",children:[u.jsxs(Rs,{className:"grid w-full grid-cols-2",children:[u.jsx(Ln,{value:"tables",children:"Tables & Views"}),u.jsx(Ln,{value:"datamodels",children:"Data Models"})]}),u.jsxs(xr,{value:"tables",className:"space-y-2",children:[u.jsx(Nr,{placeholder:"Search tables and views...",value:i,onChange:R=>a(R.target.value),className:"h-8 text-sm",disabled:g}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:g?u.jsx("div",{className:"py-4 text-center text-sm",children:"Loading tables..."}):y?u.jsx(kv,{title:"Error loading tables",message:y.message||"Failed to load tables. Please try again.",onRetry:()=>window.location.reload()}):C.length===0?u.jsx("div",{className:"py-4 text-center text-sm",children:"No tables or views found"}):C.map(R=>{const P=n.some(M=>M.name===R.name&&M.type==="table");return u.jsxs("div",{className:"group flex cursor-pointer items-center space-x-2 rounded p-2 hover:bg-muted",onClick:()=>S(R),children:[u.jsx(pn,{id:`table-${R.name}`,checked:P,onCheckedChange:()=>S(R),onClick:M=>M.stopPropagation(),disabled:g}),u.jsxs(de,{className:"flex flex-1 cursor-pointer items-center gap-2",children:[R.name,R.dbObjectType==="view"&&u.jsx(Tt,{variant:"secondary",className:"text-xs group-hover:border-border",children:"View"})]})]},R.name)})})]}),u.jsxs(xr,{value:"datamodels",className:"space-y-2",children:[u.jsx(Nr,{placeholder:"Search data models...",value:l,onChange:R=>c(R.target.value),className:"h-8 text-sm",disabled:x}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:x?u.jsx("div",{className:"py-4 text-center text-sm",children:"Loading data models..."}):v?u.jsx(kv,{title:"Error loading data models",message:v.message||"Failed to load data models. Please try again.",onRetry:()=>window.location.reload()}):_.length===0?u.jsx("div",{className:"py-4 text-center text-sm",children:"No data models found"}):_.map(R=>{const P=n.some(M=>M.name===R.name&&M.type==="model");return u.jsxs("div",{className:"flex cursor-pointer items-start space-x-2 rounded p-2 hover:bg-muted",onClick:()=>E(R),children:[u.jsx(pn,{id:`dataModel-${R.name}`,checked:P,onCheckedChange:()=>E(R),onClick:M=>M.stopPropagation(),disabled:x}),u.jsxs("div",{className:"flex flex-1 cursor-pointer flex-col gap-1",children:[u.jsx(de,{className:"cursor-pointer",children:R.name}),u.jsx("span",{className:"text-xs text-muted-foreground",children:R.description})]})]},R.name)})})]})]})})})]})]})]})}function VYe({dataSource:e,onDataSourceUpdate:t,onSelectionChange:n,selectedEntities:r,allowedDomainIds:o=[],isRestricted:s=!1,autoSelectedDomainId:i,onRegisterSelectAll:a}){var S;const[l,c]=N.useState(""),d=N.useCallback(E=>{const C={...e,connectionId:e.connectionId||"none",connectionType:e.connectionType||"none",mode:"semanticDomain",semanticDomainId:E};t({...C})},[e,t]);N.useEffect(()=>{i&&!(e!=null&&e.semanticDomainId)&&d(i)},[i,e==null?void 0:e.semanticDomainId,d]);const{semanticDomains:f,isPending:h,error:p}=TYe(),m=s?f.filter(E=>o.includes(E.id)):f,{datasets:g,isPending:y,error:b}=AYe(e==null?void 0:e.semanticDomainId),x=E=>{const C=r||[],_=C.some(R=>R.id===E.id&&R.type==="dataset");let j;if(_)j=C.filter(R=>!(R.id===E.id&&R.type==="dataset"));else{const R={id:E.id,datasetType:E.type,name:E.name||E.table,label:E.label,domainId:E.domainId,description:E.description,database:E.database,schema:E.schema,type:"dataset",connectionId:E.connectionId,connectionType:E.connectionType,dialect:E.dialect,datamodelId:E.datamodelId,sql:E.sql};j=[...C,R]}n==null||n(j)},v=g.filter(E=>E.name.toLowerCase().includes(l.toLowerCase())),w=N.useCallback(()=>{if(!n||!(e!=null&&e.semanticDomainId))return;const E=r||[],_=v.filter(R=>!E.some(P=>P.id===R.id&&P.type==="dataset")).map(R=>({id:R.id,datasetType:R.type,name:R.name||R.table,label:R.label,domainId:R.domainId,description:R.description,database:R.database,schema:R.schema,type:"dataset",connectionId:R.connectionId,connectionType:R.connectionType,dialect:R.dialect,datamodelId:R.datamodelId,sql:R.sql})),j=[...E,..._];n(j)},[v,r,e==null?void 0:e.semanticDomainId,n]);return N.useEffect(()=>{a&&a(w)},[a,w]),u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium",children:"Semantic Domain"}),u.jsxs(Dt,{value:(e==null?void 0:e.semanticDomainId)||"",onValueChange:d,disabled:h||s&&!!i,children:[u.jsx(_t,{className:"w-full",children:u.jsx(Ft,{placeholder:h?"Loading semantic domains...":s&&i?"Loading domain...":"Select semantic domain...",children:((S=m.find(E=>E.id===(e==null?void 0:e.semanticDomainId)))==null?void 0:S.label)||"Select semantic domain"})}),u.jsx(jt,{children:m.map(E=>u.jsx(ve,{className:"hover:bg-muted",value:E.id,children:u.jsxs("div",{className:"flex flex-col items-start",children:[u.jsx("span",{className:"font-medium",children:E.label}),u.jsx("span",{className:"text-xs",children:E.description})]})},E.id))})]}),p&&u.jsx(kv,{title:"Error loading semantic models",message:p.message})]}),(e==null?void 0:e.semanticDomainId)&&u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium text-gray-700",children:"Datasets"}),u.jsxs("div",{className:"space-y-2",children:[u.jsx(Nr,{placeholder:"Search datasets...",value:l,onChange:E=>c(E.target.value),className:"h-8 text-sm",disabled:y}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:y?u.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:"Loading datasets..."}):b?u.jsx(kv,{title:"Error loading datasets",message:b.message||"Failed to load datasets. Please try again.",onRetry:()=>window.location.reload()}):v.length===0?u.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:l?"No datasets match your search":"No datasets available"}):v.map(E=>{const C=r.some(_=>_.id===E.id&&_.type==="dataset");return u.jsxs("div",{className:"flex cursor-pointer items-start space-x-2 rounded p-2 hover:bg-gray-50",onClick:()=>x(E),children:[u.jsx(pn,{id:`dataset-${E.id}`,checked:C,onCheckedChange:()=>x(E),onClick:_=>_.stopPropagation(),disabled:y}),u.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[u.jsx(de,{className:"cursor-pointer font-medium",children:E.label||E.name}),u.jsx("span",{className:"text-xs text-gray-500",children:E.description})]})]},E.label||E.name)})})]})]})]})}function JD({open:e,onOpenChange:t,dataSource:n,dialogMode:r,incomingSelectedEntities:o}){const{tokenProps:s}=qe(),{allowedSemanticDomains:i}=s,[a,l]=N.useState([]),{updateDataSource:c}=lo(),d=ee(P=>P.isVisualEditing),f=ee(P=>P.dashboard.aiContext),{setAiContext:h}=en(),p=N.useRef(null),[m,g]=N.useState(!1),y=i&&i.length>0,b=!y,x=y&&i.length===1?i[0]:void 0,v=N.useCallback(P=>{c({...n,connectionId:(n==null?void 0:n.connectionId)||"",connectionType:(n==null?void 0:n.connectionType)||"",mode:P,selectedEntities:(n==null?void 0:n.selectedEntities)||[]})},[n,c]),w=N.useCallback(P=>{c({...n,...P})},[n,c]);N.useEffect(()=>{y&&n.mode!=="semanticDomain"&&v("semanticDomain")},[y,n.mode,v]),N.useEffect(()=>{x&&!n.semanticDomainId&&w({semanticDomainId:x})},[x,n.semanticDomainId,w]),N.useEffect(()=>{e?l(o||[]):(p.current=null,g(!1))},[e,n==null?void 0:n.selectedEntities,r,c,o,n]);const S=P=>{const M=a.filter(F=>!(F.name===P.name&&F.type===P.type));l(M)},E=()=>{l([])},C=N.useCallback(P=>{l(P)},[]),_=N.useCallback(()=>{p.current&&p.current()},[]),j=N.useCallback(P=>{p.current=P,g(!0)},[]);function R(){var P,M;if(r==="aiContext")d&&c(n),h({...f,selectedEntities:a}),t(!1);else if(r==="dataSource"){if(n.mode==="semanticDomain"){const F=(P=a==null?void 0:a[0])==null?void 0:P.connectionId,I=(M=a==null?void 0:a[0])==null?void 0:M.connectionType;c({...n,connectionId:F,connectionType:I,selectedEntities:a})}else c({...n,selectedEntities:a});t(!1)}}return u.jsx(_s,{open:e,onOpenChange:t,children:u.jsx(ns,{className:"flex max-w-2xl flex-col",children:u.jsxs("div",{children:[u.jsxs(rs,{className:"flex-shrink-0",children:[u.jsx(os,{children:r==="aiContext"?"Data Context":"Select Data Source"}),u.jsx(ci,{children:r==="aiContext"?"Set the overall data scope for the dashboard":"Select data sets to analyze"})]}),u.jsx("div",{className:"flex-1 grow overflow-y-auto py-4",children:u.jsxs("div",{className:"space-y-4",children:[b&&u.jsx("div",{className:"space-y-2",children:u.jsx(di,{defaultValue:(n==null?void 0:n.mode)||"database",value:(n==null?void 0:n.mode)||"database",onValueChange:v,className:"w-full",children:u.jsxs(Rs,{className:"grid w-full grid-cols-2",children:[u.jsx(Ln,{value:"database",children:"Direct Source"}),u.jsx(Ln,{value:"semanticDomain",children:"Semantic Domain"})]})})}),(n==null?void 0:n.mode)==="semanticDomain"&&u.jsx(VYe,{dataSource:n,onDataSourceUpdate:w,selectedEntities:a,onSelectionChange:C,allowedDomainIds:i||[],isRestricted:y,autoSelectedDomainId:x,onRegisterSelectAll:j}),(n==null?void 0:n.mode)==="database"&&b&&u.jsx(BYe,{dataSource:n,onDataSourceUpdate:w,selectedEntities:a,onSelectionChange:C,onRegisterSelectAll:j})]})}),u.jsx(PYe,{selectedEntities:a,onDeselectEntity:S}),u.jsx(js,{className:"flex-shrink-0",children:u.jsx("div",{className:"flex w-full justify-between",children:u.jsxs("div",{className:"flex grow justify-end gap-2",children:[u.jsx(ae,{variant:"outline",onClick:_,disabled:!m,children:"Select All"}),u.jsx(ae,{variant:"outline",onClick:E,disabled:a.length===0,children:"Clear All"}),u.jsxs(ae,{variant:"outline",onClick:()=>t(!1),children:[u.jsx(Xt,{className:"mr-2 h-4 w-4"}),"Close"]}),u.jsxs(ae,{onClick:R,children:[u.jsx(_r,{className:"mr-2 h-4 w-4"}),"Accept"]})]})})})]})})})}function HYe({onFilesSelected:e,disabled:t=!1,currentFileCount:n=0,className:r}){const o=N.useRef(null),s=async a=>{const l=Array.from(a.target.files||[]);if(l.length===0)return;const c=wa-n;if(l.length>c){Ue.error(`You can only attach ${wa} files per message. You have ${c} slot(s) remaining.`);return}const{valid:d,errors:f}=XK(l);if(f.forEach(({file:h,error:p})=>{Ue.error(`${h.name}: ${p}`)}),d.length>0)try{const h=await Promise.all(d.map(p=>TD(p)));e(h)}catch(h){console.error("Failed to process files:",h),Ue.error("Failed to process one or more files")}o.current&&(o.current.value="")},i=()=>{var a;(a=o.current)==null||a.click()};return u.jsxs(u.Fragment,{children:[u.jsx("input",{ref:o,type:"file",multiple:!0,accept:".png,.jpg,.jpeg,.gif,.webp,.pdf,.txt,.md,.csv,.json,.xml,.js,.jsx,.ts,.tsx,.py,.sql",onChange:s,className:"hidden",disabled:t||n>=wa}),u.jsx(ae,{variant:"secondary",size:"sm",className:`h-7 px-2 ${r}`,onClick:i,disabled:t||n>=wa,title:n>=wa?`Maximum ${wa} files allowed`:"Attach files",children:u.jsx(C_,{className:"h-4 w-4 text-muted-foreground"})})]})}function UYe({children:e,onFilesDropped:t,disabled:n=!1,currentFileCount:r=0,className:o}){const[s,i]=N.useState(!1),a=N.useCallback(f=>{f.preventDefault(),f.stopPropagation(),n||i(!0)},[n]),l=N.useCallback(f=>{f.preventDefault(),f.stopPropagation();const h=f.currentTarget.getBoundingClientRect(),p=f.clientX,m=f.clientY;(p<h.left||p>=h.right||m<h.top||m>=h.bottom)&&i(!1)},[]),c=N.useCallback(f=>{f.preventDefault(),f.stopPropagation()},[]),d=N.useCallback(async f=>{if(f.preventDefault(),f.stopPropagation(),i(!1),n)return;const h=Array.from(f.dataTransfer.files);if(h.length===0)return;const p=wa-r;if(h.length>p){Ue.error(`You can only attach ${wa} files per message. You have ${p} slot(s) remaining.`);return}const{valid:m,errors:g}=XK(h);if(g.forEach(({file:y,error:b})=>{Ue.error(`${y.name}: ${b}`)}),m.length>0)try{const y=await Promise.all(m.map(b=>TD(b)));t(y),Ue.success(`${y.length} file(s) attached successfully`)}catch(y){console.error("Failed to process files:",y),Ue.error("Failed to process one or more files")}},[n,r,t]);return u.jsxs("div",{className:Z("relative",o),onDragEnter:a,onDragLeave:l,onDragOver:c,onDrop:d,children:[e,s&&!n&&u.jsx("div",{className:"pointer-events-none absolute inset-0 z-50 flex items-center justify-center rounded-lg border-2 border-dashed border-primary bg-primary/5 backdrop-blur-sm",children:u.jsxs("div",{className:"flex flex-col items-center gap-2",children:[u.jsx(Wv,{className:"h-8 w-8 text-primary"}),u.jsx("p",{className:"text-sm font-medium text-primary",children:"Drop files here to upload"}),u.jsxs("p",{className:"text-xs text-muted-foreground",children:[wa-r," slot(s) available"]})]})})]})}const eP=N.forwardRef(({input:e,setInput:t,handleInputChange:n,handleSubmit:r,isLoading:o,stop:s,onFocus:i,status:a,assistantType:l},c)=>{const[d,f]=N.useState(!1),[h,p]=N.useState(!1),[m,g]=N.useState(!1),y=N.useRef(null),b=Dg();sie(),oie();const{setCurrentAIContext:x,updateSelectedEntities:v,setReasoningEffort:w,setShowReasoning:S}=Kv(),{queueMessage:E}=mh(),{addFileAttachment:C,removeFileAttachment:_,clearFileAttachments:j,getFileAttachments:R}=F_(),P=O_(l),M=Ae(B=>B.card.dataSource),F=ee(B=>B.dashboard.aiContext),I=ee(B=>{var G;return(G=B.dashboard.aiContext)==null?void 0:G.selectedEntities});N.useEffect(()=>{c&&"current"in c&&(c.current=y.current)},[c]);const A=N.useCallback(()=>{const B=y.current;if(B){if(!e||e.length===0){B.style.height="10px";return}B.style.height="auto";const G=Math.min(Math.max(B.scrollHeight,10),200);B.style.height=`${G}px`}},[e]);N.useEffect(()=>{A()},[A]),N.useEffect(()=>{const B=setTimeout(()=>{A()},0);return()=>clearTimeout(B)},[A]);const O=()=>{const B=e.trim();!B&&P.length===0||(a!=="ready"?(E(l,B,P),t(""),j(l)):r({preventDefault:()=>{}}))},U=B=>{B.key==="Enter"&&!B.shiftKey&&(B.preventDefault(),O()),B.key==="@"&&(V(),f(!0))},W=N.useCallback(B=>{const G=XBe(B.nativeEvent);G.length>0&&(B.preventDefault(),G.forEach(async X=>{const re=await TD(X);C(l,re)}))},[C,l]),$=N.useCallback(B=>{B.forEach(G=>{C(l,G)})},[C,l]),T=N.useCallback(B=>{B.forEach(G=>{C(l,G)})},[C,l]),z=N.useCallback(B=>{_(l,B)},[_,l]),L=B=>{if(b.selectedEntities.some(X=>X.id&&X.id===B.id||X.name===B.name)){const X=b.selectedEntities.filter(re=>!(re.id&&re.id===B.id||re.name===B.name));x({selectedEntities:X})}else{const X=[...b.selectedEntities,B];x({selectedEntities:X})}},D=B=>{L(B)},H=B=>{var re;if(!b.selectedEntities.some(J=>J.id&&J.id===B.id||J.name===B.name)){const J=[...b.selectedEntities,B];x({selectedEntities:J})}const X="label"in B?B.label:B.name;t(e+`@${X} `),f(!1),(re=y.current)==null||re.focus()},q=B=>{const G=b.selectedEntities.filter(J=>!(J.id&&J.id===B.id||J.name===B.name));x({selectedEntities:G});const re=`@${"label"in B?B.label:B.name}`;e.includes(re)&&t(e.replace(re,"").trim())},Y=B=>{const G=new Set(B.map(J=>J.id||J.name)),X=b.selectedEntities.filter(J=>!G.has(J.id||J.name));x({selectedEntities:X});let re=e;B.forEach(J=>{const te=`@${"label"in J?J.label:J.name}`;re=re.replace(te,"").trim()}),t(re)},V=N.useCallback(()=>{b.selectedEntities.length===0&&x({selectedEntities:(F==null?void 0:F.selectedEntities)||[]})},[b.selectedEntities.length,F==null?void 0:F.selectedEntities,x]);return u.jsxs(UYe,{onFilesDropped:$,currentFileCount:P.length,disabled:o,className:"space-y-4",children:[u.jsx(MYe,{entities:b.selectedEntities,availableEntities:I||[],onRemoveEntity:q,onRemoveEntities:Y}),P.length>0&&u.jsx(QBe,{files:P,onRemove:z,showRemove:!o,className:"mb-2"}),u.jsxs("div",{className:"rounded-lg border border-border bg-background shadow-sm focus-within:ring-1 focus-within:ring-foreground/40",children:[u.jsx("textarea",{ref:y,value:e,onChange:n,onKeyDown:U,onPaste:W,onFocus:()=>{A(),i==null||i()},placeholder:"Ask a question...",className:"max-h-[200px] min-h-[40px] w-full resize-none overflow-y-auto border-0 bg-transparent px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground/50 focus:outline-none focus:ring-0",style:{height:"40px",lineHeight:"1.5"}}),u.jsxs("div",{className:"flex items-center justify-between border-foreground/10 px-3 py-2",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[l==="dashboard"&&u.jsxs(qs,{open:d,onOpenChange:B=>{B&&V(),f(B)},children:[u.jsx(Gs,{asChild:!0,children:u.jsx(ae,{variant:"secondary",size:"sm",className:"h-7 px-2",title:"Add entity",children:u.jsx(wne,{className:"h-4 w-4 text-muted-foreground"})})}),u.jsx(Ys,{className:"w-80 p-0",align:"start",side:"top",sideOffset:8,onOpenAutoFocus:B=>B.preventDefault(),children:u.jsx(jYe,{isOpen:!0,onSelect:L,onDeselect:D,onClose:()=>{var B;f(!1),(B=y.current)==null||B.focus()},availableEntities:I||[],selectedEntities:b.selectedEntities,onTabComplete:H,onSelectAll:()=>{I&&x({selectedEntities:I})},onRemoveAll:()=>{x({selectedEntities:[]})},onAddContext:()=>{f(!1),p(!0)}})})]}),u.jsx(HYe,{onFilesSelected:T,disabled:o,currentFileCount:P.length})]}),u.jsxs("div",{className:"flex items-center gap-2",children:[o&&u.jsx(ae,{className:"rounded-full",size:"sm",onClick:s,children:u.jsx(One,{className:"size-3.5 bg-background"})}),!o&&u.jsx(ae,{disabled:!e.trim()&&P.length===0,size:"sm",variant:a!=="ready"?"secondary":"default",onClick:O,title:a!=="ready"?"Message will be queued":void 0,children:u.jsx(uL,{className:"size-4"})})]})]})]}),u.jsx(JD,{incomingSelectedEntities:b.selectedEntities,open:h,onOpenChange:p,dataSource:M||H1,dialogMode:"aiContext"})]})});eP.displayName="ChatInputWithContext";function vQ({assistantType:e,className:t}){const n=y6(e),{removeFromQueue:r}=mh();return n.length===0?null:u.jsxs("div",{className:Z("space-y-2",t),children:[u.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[u.jsx(qa,{className:"h-3 w-3"}),u.jsxs("span",{children:["Pending messages (",n.length,")"]})]}),u.jsx("div",{className:"space-y-2",children:n.map(o=>u.jsx("div",{className:"group relative rounded-lg border border-dashed border-muted-foreground/30 bg-muted/30 px-3 py-2 text-sm animate-in fade-in-0 slide-in-from-bottom-1",children:u.jsxs("div",{className:"flex items-start justify-between gap-2",children:[u.jsx("div",{className:"flex-1 space-y-1",children:u.jsx("p",{className:"break-words text-foreground/70",children:o.text})}),u.jsx(ae,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 opacity-0 transition-opacity group-hover:opacity-100",onClick:()=>r(e,o.id),title:"Remove from queue",children:u.jsx(Xt,{className:"h-3 w-3"})})]})},o.id))})]})}function wQ({assistantType:e,status:t,isLoading:n,sendMessage:r}){const o=y6(e),{dequeueMessage:s}=mh();N.useEffect(()=>{if(t!=="ready"||n||!(o&&o.length>0))return;const a=s(e);a&&r({role:"user",parts:[{type:"text",text:a.text}]})},[t,n,o,s,r,e])}function SQ(e,t={}){const{threshold:n=50,delay:r=0,dependencies:o=[],forceScrollOnStream:s=!0}=t,i=N.useRef(null),[a,l]=N.useState(!0),[c,d]=N.useState(!0),[f,h]=N.useState(!1),[p,m]=N.useState(0),g=N.useRef(),y=N.useRef(e.length),b=N.useRef(!1),x=N.useRef(!1),v=N.useRef(0),w=N.useRef(0),S=N.useRef(),E=N.useCallback(()=>{const R=i.current;if(!R)return!0;const{scrollTop:P,scrollHeight:M,clientHeight:F}=R;return M-P-F<=n},[n]),C=N.useCallback((R={})=>{const P=i.current;if(!P)return;const{force:M=!1,instant:F=!1}=R;if(!a&&!M)return;const A=Date.now()-w.current;if(!M&&!F&&A<10)return;g.current&&clearTimeout(g.current),S.current&&clearTimeout(S.current);const O=()=>{x.current=!0,w.current=Date.now(),requestAnimationFrame(()=>{P&&(P.scrollTop=P.scrollHeight,d(!0),h(!1),m(0),setTimeout(()=>{x.current=!1},20))})};!F&&r>0?S.current=setTimeout(O,r):O()},[a,r]),_=N.useCallback(()=>{const R=i.current;if(!R||x.current)return;const P=R.scrollTop,M=Math.abs(P-v.current);v.current=P,M>5&&(b.current=!0);const F=E();d(F),F?(l(!0),h(!1),m(0),b.current=!1):b.current&&l(!1),b.current&&setTimeout(()=>{b.current=!1},200)},[E]),j=N.useCallback(()=>{m(0),h(!1)},[]);return N.useEffect(()=>(S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{let R=!1;if(s&&e.length>0){const F=e[e.length-1];(F==null?void 0:F.role)==="assistant"&&(R=!0,b.current=!1)}if((a||R)&&!b.current){const F=e.length>50&&!R;C({instant:F})}const P=e.length!==y.current,M=e.length>y.current;P&&(y.current=e.length,!a&&!R&&M&&(h(!0),m(F=>F+1)))},5),()=>{S.current&&clearTimeout(S.current)}),[e,o,C,a,s]),N.useEffect(()=>{C({instant:!0})},[C]),N.useEffect(()=>()=>{g.current&&clearTimeout(g.current),S.current&&clearTimeout(S.current)},[]),{scrollRef:i,isAutoScrollEnabled:a,isAtBottom:c,hasNewMessages:f,newMessageCount:p,scrollToBottom:C,handleScroll:_,resetNewMessageCount:j}}function CQ(e,t={}){const{maxVisibleMessages:n=50,initialLoadCount:r=20,loadMoreCount:o=10}=t,[s,i]=N.useState(r),a=N.useMemo(()=>{if(e.length<=s)return e;const h=Math.max(0,e.length-s);return e.slice(h)},[e,s]),l=e.length>s,c=s>=e.length,d=N.useCallback(()=>{i(h=>Math.min(h+o,n))},[o,n]),f=N.useCallback(()=>{i(r)},[r]);return N.useEffect(()=>{c&&e.length>s&&s<n&&i(Math.min(e.length,n))},[e.length,s,c,n]),{visibleMessages:a,hasMoreMessages:l,totalMessageCount:e.length,loadMoreMessages:d,resetMessageWindow:f,isShowingAll:c}}function EQ(e){var n;if(!e||e.length===0)return{hasActiveTools:!1};const t=e[e.length-1];if(!(t!=null&&t.parts))return{hasActiveTools:!1};for(const r of t.parts){if(r.type==="reasoning"&&"state"in r&&r.state==="streaming")return{hasActiveTools:!0,activeToolText:r.text||"Reasoning...",toolType:"reasoning"};if(((n=r.type)!=null&&n.startsWith("tool-")||r.type==="dynamic-tool")&&"state"in r&&["input-streaming","input-available"].includes(r.state)){const o=r,s=o.state;return{hasActiveTools:!0,activeToolText:QK(o.type,s),toolType:o.type}}}return{hasActiveTools:!1}}const WYe=[{title:"Show top 3 insights",subtitle:"from this dataset"},{title:"Create a bar chart for",subtitle:"sales by product category"}];function qYe({open:e,setOpen:t,isFullscreen:n,onFullscreenChange:r,fullscreenContainer:o}){const[s,i]=N.useState(!1),[a,l]=N.useState(Iv),[c,d]=N.useState(!1),[f,h]=N.useState(!1),[p,m]=N.useState(!1),g=n??p,{isLocalDev:y,isConsoleMode:b}=M1(),x=N.useRef(null);ee(le=>le.dashboard.aiScopeTables),ee(le=>le.isDashboardEditing);const v=ee(le=>le.selectedSheetId),{setDataSource:w}=lo(),{addFrame:S,setSelectedFrameId:E,setIsDashboardEditing:C}=en(),_=Dg(),{setCurrentAIContext:j,updateSelectedEntities:R,setReasoningEffort:P,setShowReasoning:M}=Kv(),{clearQueue:F}=mh(),{clearFileAttachments:I,getFileAttachments:A}=F_(),O=O_("dashboard"),U=ee(le=>le.dashboard.aiContext),W=Ae(le=>le.card.dataSource),{assistantProfile:$}=mQ(),T=ee(le=>le.handleOpenAssistantProfile),{sendMessage:z,isLoading:L,messages:D,setMessages:H,status:q,stop:Y,errorMessage:V,clearError:B}=kYe(),G=N.useCallback(le=>{r==null||r(le),n===void 0&&m(le)},[n,r]),X=N.useCallback(()=>{G(!g)},[g,G]);N.useEffect(()=>{if(!g)return;function le(me){me.key==="Escape"&&G(!1)}return window.addEventListener("keydown",le),()=>{window.removeEventListener("keydown",le)}},[g,G]);const[re,J]=N.useState(""),ue=le=>{J(le.target.value)};function te({sql:le,data:me,cardTitle:je,connectionId:Ce,cardType:Re,python:ze,cardConfig:Ie,dataSource:Fe}){if(console.log("handleAddNewFrame",{sql:le,data:me,cardTitle:je,connectionId:Ce,cardType:Re,python:ze,cardConfig:Ie,dataSource:Fe}),!v)return;const Ye={id:br(),title:je||"Title",preferences:{onClickFilter:[{columnIndex:0,expression:""}],chartOptions:{indexAxis:Re==="horizontalBar"?"y":"x"}},type:Re,sql:le,python:ze,dataSource:Fe,config:Ie,connectionId:Ce},et={id:br(),cards:[Ye],activeCardId:Ye.id};C(!0),S(v,et,"end"),E(et.id)}const se=le=>{le.preventDefault();const me=re.trim();if(!me&&O.length===0)return;const je=[];me&&je.push({type:"text",text:me}),O.forEach(Ce=>{Ce.data&&je.push({type:"file",mediaType:Ce.type,filename:Ce.name,url:`data:${Ce.type};base64,${Ce.data}`})}),z({role:"user",parts:je}),J(""),I("dashboard"),ie({force:!0})};N.useEffect(()=>{var le;e&&((le=x.current)==null||le.focus())},[e]),wQ({assistantType:"dashboard",status:q,isLoading:L,sendMessage:z});const{hasActiveTools:oe}=EQ(D),{visibleMessages:Ne,hasMoreMessages:fe,totalMessageCount:ye,loadMoreMessages:Pe,resetMessageWindow:it}=CQ(D,{maxVisibleMessages:15,initialLoadCount:10,loadMoreCount:5}),{scrollRef:Ve,isAtBottom:We,hasNewMessages:wn,newMessageCount:Mn,scrollToBottom:ie,handleScroll:be,resetNewMessageCount:Me}=SQ(Ne,{threshold:50,delay:0,dependencies:[q,D.length]});function Be(le){zt();const me={role:"user",parts:[{type:"text",text:le.title+" "+le.subtitle}]};z(me)}function Ze(le){zt(),z({role:"user",parts:[{type:"text",text:le}]})}function Ct(le){zt(),z({role:"user",parts:[{type:"text",text:le}]}),ie({force:!0})}const sn=N.useCallback(async()=>{const le=JSON.stringify(D??[],null,2);try{if(typeof navigator>"u"||!navigator.clipboard)throw new Error("Clipboard API unavailable");await navigator.clipboard.writeText(le),Ue.success("Conversation copied")}catch(me){console.error("Failed to copy conversation",me),Ue.error("Unable to copy conversation")}},[D]);function zt(){_.selectedEntities.length===0&&j({selectedEntities:(U==null?void 0:U.selectedEntities)||[]})}const Gt=(re==null?void 0:re.length)===0&&(D==null?void 0:D.filter(le=>le.role==="user").length)===0;function xe(){return u.jsx("div",{"data-role":"header",children:u.jsx("div",{className:"text-lg font-semibold",children:"Assistant"})})}function bt(){return u.jsxs(lb,{children:[u.jsx(cb,{asChild:!0,children:u.jsx(Yd,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",children:u.jsx(Bv,{className:"size-3.5"})})}),u.jsxs(Rh,{align:"end",children:[u.jsx(df,{children:"Options"}),u.jsx(ub,{}),u.jsx(im,{checked:s,onCheckedChange:i,children:"Token Usage"}),u.jsx(im,{checked:a,onCheckedChange:l,children:"Tool Invocations"}),u.jsx(im,{checked:c,onCheckedChange:d,children:"System Message"})]})]})}const bn=u.jsxs("div",{"data-role":"dashboard-assistant",className:Z("flex h-full grow flex-col justify-between break-words px-6 py-4",g&&"rounded-2xl border border-border/60 bg-background px-8 pb-6 pt-6 shadow-xl"),children:[u.jsxs("div",{"data-role":"header-section",className:"flex items-start justify-between gap-2",children:[xe(),T&&u.jsx(ae,{variant:"outline",size:"sm",className:"h-7 p-2",onClick:T,children:($==null?void 0:$.name)||"Default Profile"}),u.jsxs("div",{"data-role":"header-actions",className:"flex items-center",children:[b&&bt(),a&&u.jsx(ae,{variant:"ghost",size:"sm",className:"ml-2 h-7 px-2 text-muted-foreground hover:text-foreground",onClick:sn,children:"Copy Conversation"}),y&&u.jsx(Fu,{text:JSON.stringify(D,null,2),className:"h-7 p-2"}),u.jsx(Yd,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:g?"Exit Fullscreen":"Expand",onClick:X,children:g?u.jsx(sL,{className:"size-4"}):u.jsx(w_,{className:"size-4"})}),u.jsx(Yd,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:"New Chat",onClick:()=>{H([]),F("dashboard"),B(),it()},children:u.jsx(dL,{className:"size-4"})}),u.jsx(Yd,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",onClick:()=>{t(!1)},children:u.jsx(Xt,{className:"size-4"})})]})]}),u.jsxs(Ju,{"data-role":"dashboard-assistant-scroll-area",ref:Ve,className:"mt-4 flex flex-1 basis-0 flex-col flex-wrap justify-end pr-2",onScroll:be,children:[u.jsxs("div",{className:"space-y-3 pb-4",children:[fe&&u.jsx("div",{className:"flex justify-center py-2",children:u.jsxs(ae,{variant:"outline",size:"sm",onClick:Pe,className:"text-xs",children:["Load ",Math.min(5,ye-Ne.length)," ","more messages (",ye-Ne.length," ","hidden)"]})}),u.jsx(oX,{showTools:a,showSystemMessage:c,messages:Ne,onAddToDashboard:te,onQuickReply:Ct,disableQuickReplies:L}),!oe&&u.jsx(rX,{status:q,errorMessage:V})]}),u.jsx(Xa,{orientation:"horizontal"})]}),!We&&u.jsx("div",{className:"absolute bottom-24 right-8 z-10",children:u.jsxs(ae,{onClick:()=>{ie({force:!0}),Me()},size:"sm",variant:"secondary",className:"rounded-full shadow-lg","aria-label":"Scroll to bottom",children:[u.jsx(No,{className:"h-4 w-4"}),wn&&Mn>0&&u.jsx("span",{className:"ml-1.5 flex h-5 w-5 items-center justify-center rounded-full bg-primary text-xs text-primary-foreground",children:Mn>9?"9+":Mn})]})}),u.jsxs("div",{className:"space-y-3",children:[!$&&Gt&&u.jsx(sX,{onClick:Be,placeholders:WYe}),u.jsx("div",{children:Gt&&$&&u.jsx(gQ,{seedQuestions:$.seedQuestions||[],handleSeedQuestionClick:Ze})}),u.jsx(vQ,{assistantType:"dashboard",className:"mb-3"}),u.jsx(eP,{ref:x,setInput:J,stop:Y,input:re,handleInputChange:ue,handleSubmit:le=>{zt(),se(le),ie({force:!0})},isLoading:L,status:q,assistantType:"dashboard",onFocus:()=>{}})]}),u.jsx(JD,{incomingSelectedEntities:(U==null?void 0:U.selectedEntities)||[],open:f,onOpenChange:h,dataSource:W||H1,dialogMode:"aiContext"})]});return g&&o?kn.createPortal(u.jsx("div",{className:"pointer-events-auto absolute inset-0 z-50 flex bg-background px-6 pb-6 pt-[calc(var(--app-header-height,15px)+1rem)]",children:u.jsx("div",{className:"flex h-full w-full",children:bn})}),o):bn}function GYe(e){const t=e.current,{getSelectedFrame:n,addFrame:r,setSelectedFrameId:o}=en(),s=ee(d=>d.dashboard.sheets),a=ee(d=>d.selectedSheetId)??(s==null?void 0:s[0].id),l=ee(d=>d.isDashboardEditing),c=ee(d=>d.isVisualEditing);N.useEffect(()=>{if(!l||c)return;async function d(p){const m=p.ctrlKey||p.metaKey;m&&p.key==="c"?(await f(),Ue.success("Card copied to clipboard"),p.preventDefault()):m&&p.key==="v"&&(await h(),p.preventDefault())}async function f(){try{const p=n();p&&await navigator.clipboard.writeText(JSON.stringify(p))}catch(p){console.error("Failed to copy text:",p)}}async function h(){if(!a)return null;try{const p=await navigator.clipboard.readText();try{const m=JSON.parse(p);if(m&&m.id){m.id=br();const g=m.activeCardId;m.cards.forEach(y=>{const b=y.id;y.id=br(),b===g&&(m.activeCardId=y.id,y.title=`${y.title} (Copy)`)}),r(a,m),o(m.id)}}catch(m){console.error("Failed to parse clipboard contents: ",m)}return p}catch(p){return console.error("Failed to paste text:",p),null}}return t==null||t.addEventListener("keydown",d),()=>t==null?void 0:t.removeEventListener("keydown",d)},[r,n,o,a,l,c,t])}function NQ(){var T;const{showAssistant:e}=qe(),{preferences:t}=M1(),n=((T=t==null?void 0:t.cardDisplay)==null?void 0:T.mode)==="print",r=N.useRef(null),o=N.useRef(null),[s,i]=N.useState(!1),a=ru(z=>z.setFullscreen),l=ru(z=>z.setPanelOpen),c=ru(z=>z.setContainer),d=f6("dashboard"),f=h6(),h=p6("dashboard"),p=d.isOpen,m=f==="dashboard",g=ee(z=>z.isVisualEditing),y=ee(z=>z.themeStyle),b=ee(z=>{var L;return(L=z.dashboard)==null?void 0:L.sheets}),x=ee(z=>z.isDashboardEditing),v=ee(z=>z.selectedSheetId),{setSelectedSheetId:w,setSheetTitle:S,addSheet:E,setSheets:C}=en();GYe(o);const{setActiveAssistantType:_}=Kv();N.useEffect(()=>{p?_("dashboard"):f==="dashboard"&&a(null)},[p,_,f,a]);function j(z){var L,D;z?((L=r.current)==null||L.resize(40),l("dashboard",!0),_("dashboard")):(l("dashboard",!1),a(null),(D=r.current)==null||D.resize(0),_(null))}function R(){const z={id:br(),title:"New Sheet"};E(z),w(z.id)}function P(z){z<1?(l("dashboard",!1),a(null),_(null)):(p||l("dashboard",!0),_("dashboard"))}function M(){return(y==null?void 0:y.canvasTheme)==="muted"||!(y!=null&&y.canvasTheme)?"hsl(var(--semaphor-muted))":(y==null?void 0:y.canvasTheme)==="clear"?"":y==null?void 0:y.canvasTheme}const F=(z,L)=>{z.dataTransfer.setData("tabIndex",L.toString())},I=z=>{z.preventDefault()},A=(z,L)=>{const D=z.dataTransfer.getData("tabIndex");if(D===L.toString())return;const H=Array.from(b||[]),[q]=H.splice(parseInt(D),1);H.splice(L,0,q),C(H)};function O(){var z,L;if(b&&b.length>1||x)return u.jsxs(Rs,{role:"tab-list",className:"flex h-11 items-center justify-start gap-2 rounded-none border-b border-b-muted bg-transparent px-2.5 py-3",children:[b==null?void 0:b.map((D,H)=>u.jsxs(Ln,{draggable:!0,onDragStart:q=>F(q,H),onDragOver:I,onDrop:q=>A(q,H),style:{borderRadius:y==null?void 0:y.controlInputRadius},onClick:()=>w(D.id),className:"flex items-center gap-1 rounded-none border px-2 py-1",value:D.id,children:[u.jsx(ng,{enabled:x&&D.id===v,text:D.title,onSave:q=>S(D.id,q),children:D.title},D.id),x&&v===D.id&&b.length>1&&u.jsx(Xt,{className:"ml-1 size-3",onClick:()=>i(!0)})]},D.id)),x&&u.jsx("div",{style:{borderRadius:(L=(z=y==null?void 0:y.chart)==null?void 0:z.options)==null?void 0:L.borderRadius},className:"flex h-7 items-center justify-center border-none bg-muted p-2 hover:cursor-pointer dark:border-l-background",onClick:R,children:u.jsx(Xo,{className:"size-3"})})]})}function U(){return u.jsx("div",{ref:o,style:{},className:"grow",children:b==null?void 0:b.map(z=>u.jsx(xr,{style:{backgroundColor:M()},className:Z("mt-0",{}),value:z.id,children:u.jsx(p$e,{sheet:z})},z.id))})}function W(){var z;return u.jsxs(di,{"data-role":"dashboard-tabs-container",className:Z("relative flex h-full flex-col",y==null?void 0:y.dashboardTabsContainer),onValueChange:L=>{w(L)},value:v||((z=b==null?void 0:b[0])==null?void 0:z.id),children:[O(),u.jsx(Ju,{"data-role":"dashboard-tabs-content",className:"flex-1 grow basis-0 overflow-y-auto",children:U()}),u.jsx(G$e,{open:s,setOpen:i})]})}const $=N.useCallback(z=>{c("dashboard",z)},[c]);return b?u.jsxs("div",{className:"relative flex-1 basis-0 overflow-hidden",children:[u.jsxs(FZ,{className:Z("flex-1 basis-0 overflow-y-auto transition-opacity",m&&"pointer-events-none opacity-0"),direction:"horizontal",children:[u.jsx(Ek,{children:W()}),e===!0&&u.jsxs(u.Fragment,{children:[u.jsx(q$e,{open:p,onTabClick:j,withHandle:!0}),u.jsx(Ek,{className:"flex grow","data-role":"dashboard-assistant-panel",onResize:P,defaultSize:p?40:0,ref:r,children:u.jsx("div",{className:"grow overflow-y-auto",children:u.jsx(qYe,{open:p,setOpen:j,isFullscreen:m,onFullscreenChange:z=>a(z?"dashboard":null),fullscreenContainer:h})})})]})]}),u.jsx("div",{ref:$,className:Z("absolute inset-0",!m&&"pointer-events-none")}),e===!0&&!n&&!p&&!g&&u.jsx("div",{className:"fixed bottom-6 right-6 z-50",children:u.jsx(ae,{size:"sm",variant:"outline",className:"h-12 w-12 rounded-full border-border bg-background p-0 shadow-lg hover:bg-muted",onClick:()=>j(!0),title:"Open Assistant",children:u.jsx(k_,{className:"h-5 w-5"})})})]}):null}function kQ({children:e}){return u.jsx(li,{style:{height:"100%",width:"100%"},children:u.jsx(Ite,{defaultTheme:"system",storageKey:"vite-ui-theme",children:u.jsx(ed,{delayDuration:0,children:e})})})}function _Q({children:e,preferences:t}){const{currentUser:n}=ea(),r=N.useMemo(()=>{var o,s;return{preferences:t||{},isLocalDev:((o=t==null?void 0:t.uiMode)==null?void 0:o.developer)||!1,isConsoleMode:((s=t==null?void 0:t.uiMode)==null?void 0:s.console)||!1}},[t]);return u.jsx(dZ.Provider,{value:r,children:u.jsx(sD,{displayPreferences:t==null?void 0:t.cardDisplay,currentUser:n,children:e})})}function jQ(e){if(typeof window>"u")return null;const{preferences:t}=e;return u.jsx(nd,{FallbackComponent:wM,children:u.jsx(M3,{dashboardProps:e,children:u.jsx(kQ,{children:u.jsx(_Q,{preferences:t,children:u.jsx("main",{className:"flex h-full flex-col",children:u.jsx(v6,{...e,type:"dashboard",children:u.jsx(NQ,{})})})})})})})}const YYe=e=>{const{currentContext:t,currentMode:n,selectedUsers:r,usersToRemove:o,usersToUpdate:s,selectedGroups:i=[],groupsToRemove:a=[],groupsToUpdate:l=[],selectedTenant:c,orgWideRole:d,allTenantsRole:f,tenantWideRole:h}=e;if(!t||!n)return null;switch(t){case"org-tab":if(n==="allOrgUsers")return{context:"org-tab",mode:"allOrgUsers",orgWideRole:d};if(n==="specificOrgUsers")return{context:"org-tab",mode:"specificOrgUsers",selectedUsers:r,usersToRemove:o,usersToUpdate:s};break;case"tenant-tab":if(n==="allTenants")return{context:"tenant-tab",mode:"allTenants",allTenantsRole:f};if(n==="allTenantUsers")return c?{context:"tenant-tab",mode:"allTenantUsers",tenantId:c,tenantWideRole:h}:null;if(n==="specificTenantUsers")return c?{context:"tenant-tab",mode:"specificTenantUsers",tenantId:c,selectedUsers:r,usersToRemove:o,usersToUpdate:s}:null;break;case"tenant-dialog":if(n==="allTenantUsers")return{context:"tenant-dialog",mode:"allTenantUsers",tenantWideRole:h};if(n==="specificTenantUsers")return{context:"tenant-dialog",mode:"specificTenantUsers",selectedUsers:r,usersToRemove:o,usersToUpdate:s};break;case"group-share":if(n==="specificGroups")return{context:"group-share",mode:"specificGroups",selectedGroups:i,groupsToRemove:a,groupsToUpdate:l};break}return null},RQ=e=>{var t,n,r;switch(e.context){case"org-tab":return e.mode==="specificOrgUsers"?e.selectedUsers.length>0||e.usersToRemove.length>0||e.usersToUpdate.length>0:!0;case"tenant-tab":if(e.mode==="allTenantUsers"||e.mode==="specificTenantUsers"){if(!e.tenantId)return!1;if(e.mode==="specificTenantUsers")return e.selectedUsers.length>0||e.usersToRemove.length>0||e.usersToUpdate.length>0}return!0;case"tenant-dialog":return e.mode==="specificTenantUsers"?e.selectedUsers.length>0||e.usersToRemove.length>0||e.usersToUpdate.length>0:!0;case"group-share":return e.mode==="specificGroups"?(((t=e.selectedGroups)==null?void 0:t.length)??0)>0||(((n=e.groupsToRemove)==null?void 0:n.length)??0)>0||(((r=e.groupsToUpdate)==null?void 0:r.length)??0)>0:!0}return!1};function MQ(e){var b;const{tokenProps:t}=qe(),n=ee(x=>x.authToken)||e,r=Ae(x=>x.selectedConnectionId),o=Ae(x=>x.selectedDatabaseName),s=Ae(x=>x.selectedDatamodelId),i=Ae(x=>x.selectedSchemaName),a=Ae(x=>x.selectedTableName),{selectedConnection:l}=ta(),c=l==null?void 0:l.type,{data:d,isLoading:f,isFetching:h,isError:p,refetch:m}=xn({queryKey:["columns",r,o,s,i,a],queryFn:()=>qn(`${t.apiServiceUrl}/v1/columns`,(n==null?void 0:n.accessToken)||"",{connection_id:r,datamodel_id:s||"",database_name:o,schema_name:i,table_name:a}),enabled:g(c)});function g(x){return n!=null&&n.accessToken?!!(r&&o&&o!=="NA"&&i&&a||r&&(x==="S3"||x==="API")||s&&s):!1}return{columns:(b=d==null?void 0:d.columns)==null?void 0:b.map(x=>({...x,data_type:x.data_type.toLowerCase()})),isColumnsLoading:f,isColumnsFetching:h,isColumnsError:p,refetchColumns:m}}function ZYe(e,t){const[n,r]=N.useState(e);return N.useEffect(()=>{const o=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(o)}},[e,t]),n}const x$={searchQuery:"",debouncedSearchQuery:"",selectedUsers:[],usersToRemove:[],usersToUpdate:[],selectedGroups:[],groupsToRemove:[],groupsToUpdate:[],selectedTab:"org",currentContext:"org-tab",currentMode:null,orgWideRole:"VIEWER",allTenantsRole:"VIEWER",tenantWideRole:"VIEWER",groupWideRole:"VIEWER",selectedTenant:"",message:""},Yr=Qi()(kg(e=>({...x$,actions:{setSearchQuery:t=>{e(n=>{n.searchQuery=t})},setDebouncedSearchQuery:t=>{e(n=>{n.debouncedSearchQuery=t})},setSelectedUsers:t=>{e(n=>{n.selectedUsers=t})},addSelectedUser:t=>{e(n=>{n.selectedUsers.some(o=>o.id===t.id)||n.selectedUsers.push(t)})},removeSelectedUser:t=>{e(n=>{n.selectedUsers=n.selectedUsers.filter(r=>r.id!==t)})},updateSelectedUserRole:(t,n)=>{e(r=>{const o=r.selectedUsers.find(s=>s.id===t);o&&(o.role=n)})},setUsersToRemove:t=>{e(n=>{n.usersToRemove=t})},addUserToRemove:t=>{e(n=>{n.usersToRemove.includes(t)||n.usersToRemove.push(t)})},removeUserFromRemove:t=>{e(n=>{n.usersToRemove=n.usersToRemove.filter(r=>r!==t)})},setUsersToUpdate:t=>{e(n=>{n.usersToUpdate=t})},addUserToUpdate:t=>{e(n=>{n.usersToUpdate=n.usersToUpdate.filter(r=>r.id!==t.id),n.usersToUpdate.push(t)})},removeUserFromUpdate:t=>{e(n=>{n.usersToUpdate=n.usersToUpdate.filter(r=>r.id!==t)})},setSelectedTenant:t=>{e(n=>{n.selectedTenant=t})},setSelectedTab:t=>{e(n=>{n.selectedTab=t})},setCurrentContext:t=>{e(n=>{n.currentContext=t})},setCurrentMode:t=>{e(n=>{n.currentMode=t})},setOrgWideRole:t=>{e(n=>{n.orgWideRole=t})},setAllTenantsRole:t=>{e(n=>{n.allTenantsRole=t})},setTenantWideRole:t=>{e(n=>{n.tenantWideRole=t})},setGroupWideRole:t=>{e(n=>{n.groupWideRole=t})},setSelectedGroups:t=>{e(n=>{n.selectedGroups=t})},addSelectedGroup:t=>{e(n=>{n.selectedGroups.some(o=>o.id===t.id)||n.selectedGroups.push(t)})},removeSelectedGroup:t=>{e(n=>{n.selectedGroups=n.selectedGroups.filter(r=>r.id!==t)})},updateSelectedGroupRole:(t,n)=>{e(r=>{const o=r.selectedGroups.find(s=>s.id===t);o&&(o.role=n)})},setGroupsToRemove:t=>{e(n=>{n.groupsToRemove=t})},addGroupToRemove:t=>{e(n=>{n.groupsToRemove.includes(t)||n.groupsToRemove.push(t)})},removeGroupFromRemove:t=>{e(n=>{n.groupsToRemove=n.groupsToRemove.filter(r=>r!==t)})},setGroupsToUpdate:t=>{e(n=>{n.groupsToUpdate=t})},addGroupToUpdate:t=>{e(n=>{const r=n.groupsToUpdate.findIndex(o=>o.id===t.id);r!==-1?n.groupsToUpdate[r]=t:n.groupsToUpdate.push(t)})},removeGroupFromUpdate:t=>{e(n=>{n.groupsToUpdate=n.groupsToUpdate.filter(r=>r.id!==t)})},setMessage:t=>{e(n=>{n.message=t})},validateShareData:t=>RQ(t),resetShareState:()=>{e(t=>{Object.assign(t,x$)})},resetUserSelections:()=>{e(t=>{t.selectedUsers=[],t.usersToRemove=[],t.usersToUpdate=[]})},resetGroupSelections:()=>{e(t=>{t.selectedGroups=[],t.groupsToRemove=[],t.groupsToUpdate=[]})}}}))),DQ=()=>Yr(e=>e.searchQuery),KYe=()=>Yr(e=>e.selectedUsers),XYe=()=>Yr(e=>e.usersToRemove),QYe=()=>Yr(e=>e.usersToUpdate),JYe=()=>Yr(e=>e.selectedTenant),eZe=()=>Yr(e=>e.selectedTab),tZe=()=>Yr(e=>e.currentContext),nZe=()=>Yr(e=>e.currentMode),rZe=()=>Yr(e=>e.orgWideRole),oZe=()=>Yr(e=>e.allTenantsRole),sZe=()=>Yr(e=>e.tenantWideRole),iZe=()=>Yr(e=>e.groupWideRole),aZe=()=>Yr(e=>e.selectedGroups),lZe=()=>Yr(e=>e.groupsToRemove),cZe=()=>Yr(e=>e.groupsToUpdate),PQ=()=>Yr(e=>e.actions),uZe=()=>{const e=DQ(),t=ZYe(e,300),n=PQ();return N.useEffect(()=>{n.setDebouncedSearchQuery(t)},[t,n]),{searchQuery:e,debouncedSearchQuery:t,setSearchQuery:n.setSearchQuery}};function dZe(e,t=[]){let n=[];function r(s,i){const a=k.createContext(i),l=n.length;n=[...n,i];const c=f=>{var b;const{scope:h,children:p,...m}=f,g=((b=h==null?void 0:h[e])==null?void 0:b[l])||a,y=k.useMemo(()=>m,Object.values(m));return u.jsx(g.Provider,{value:y,children:p})};c.displayName=s+"Provider";function d(f,h){var g;const p=((g=h==null?void 0:h[e])==null?void 0:g[l])||a,m=k.useContext(p);if(m)return m;if(i!==void 0)return i;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[c,d]}const o=()=>{const s=n.map(i=>k.createContext(i));return function(a){const l=(a==null?void 0:a[e])||s;return k.useMemo(()=>({[`__scope${e}`]:{...a,[e]:l}}),[a,l])}};return o.scopeName=e,[r,fZe(o,...t)]}function fZe(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const i=r.reduce((a,{useScope:l,scopeName:c})=>{const f=l(s)[`__scope${c}`];return{...a,...f}},{});return k.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function hZe(e){const t=k.useRef(e);return k.useEffect(()=>{t.current=e}),k.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}var Gk=globalThis!=null&&globalThis.document?k.useLayoutEffect:()=>{},pZe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],tP=pZe.reduce((e,t)=>{const n=Vl(`Primitive.${t}`),r=k.forwardRef((o,s)=>{const{asChild:i,...a}=o,l=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),u.jsx(l,{...a,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function mZe(){return xYe.useSyncExternalStore(gZe,()=>!0,()=>!1)}function gZe(){return()=>{}}var nP="Avatar",[bZe,jXe]=dZe(nP),[yZe,TQ]=bZe(nP),AQ=k.forwardRef((e,t)=>{const{__scopeAvatar:n,...r}=e,[o,s]=k.useState("idle");return u.jsx(yZe,{scope:n,imageLoadingStatus:o,onImageLoadingStatusChange:s,children:u.jsx(tP.span,{...r,ref:t})})});AQ.displayName=nP;var IQ="AvatarImage",OQ=k.forwardRef((e,t)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:o=()=>{},...s}=e,i=TQ(IQ,n),a=xZe(r,s),l=hZe(c=>{o(c),i.onImageLoadingStatusChange(c)});return Gk(()=>{a!=="idle"&&l(a)},[a,l]),a==="loaded"?u.jsx(tP.img,{...s,ref:t,src:r}):null});OQ.displayName=IQ;var FQ="AvatarFallback",$Q=k.forwardRef((e,t)=>{const{__scopeAvatar:n,delayMs:r,...o}=e,s=TQ(FQ,n),[i,a]=k.useState(r===void 0);return k.useEffect(()=>{if(r!==void 0){const l=window.setTimeout(()=>a(!0),r);return()=>window.clearTimeout(l)}},[r]),i&&s.imageLoadingStatus!=="loaded"?u.jsx(tP.span,{...o,ref:t}):null});$Q.displayName=FQ;function v$(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function xZe(e,{referrerPolicy:t,crossOrigin:n}){const r=mZe(),o=k.useRef(null),s=r?(o.current||(o.current=new window.Image),o.current):null,[i,a]=k.useState(()=>v$(s,e));return Gk(()=>{a(v$(s,e))},[s,e]),Gk(()=>{const l=f=>()=>{a(f)};if(!s)return;const c=l("loaded"),d=l("error");return s.addEventListener("load",c),s.addEventListener("error",d),t&&(s.referrerPolicy=t),typeof n=="string"&&(s.crossOrigin=n),()=>{s.removeEventListener("load",c),s.removeEventListener("error",d)}},[s,n,t]),i}var LQ=AQ,zQ=OQ,BQ=$Q;const VQ=k.forwardRef(({className:e,...t},n)=>u.jsx(LQ,{ref:n,className:Z("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));VQ.displayName=LQ.displayName;const vZe=k.forwardRef(({className:e,...t},n)=>u.jsx(zQ,{ref:n,className:Z("aspect-square h-full w-full",e),...t}));vZe.displayName=zQ.displayName;const HQ=k.forwardRef(({className:e,...t},n)=>u.jsx(BQ,{ref:n,className:Z("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));HQ.displayName=BQ.displayName;function UQ(e,t){var Ze,Ct,sn,zt,Gt;const{tokenProps:n}=qe(),r=ts(),o=qe().authToken||e,s=Ae(xe=>xe.selectedConnectionId),i=Ae(xe=>xe.card),{queryKey:a}=Ece(i),l=Ae(xe=>xe.selectedDatamodelId),c=Ae(xe=>xe.isDevMode),d=Ae(xe=>xe.selectedDatabaseName),f=Ae(xe=>xe.selectedSchemaName),h=Ae(xe=>xe.selectedTableName),p=Ae(xe=>xe.actions.setSelectedConnectionId),m=Ae(xe=>xe.actions.setSelectedDatamodelId),g=Ae(xe=>xe.actions.setSelectedDatabaseName),y=Ae(xe=>xe.actions.setSelectedSchemaName),b=Ae(xe=>xe.actions.setSelectedTableName);Ae(xe=>xe.actions.setCardSql);const{setQueryConfig:x}=lo();function v(xe){var bn;return s&&xe==="API"?!1:s&&xe==="S3"?!0:!(!s||!d||d==="NA"||((bn=j==null?void 0:j.capabilities)==null?void 0:bn.path.includes("schema"))&&!f)}function w(xe){return s&&xe?!(xe==="API"||xe==="S3"):!1}const{refetchConnections:S,connectionsData:E,isConnectionsLoading:C,isConnectionsError:_,selectedConnection:j}=ta(e),{refetch:R,data:P,isLoading:M,isError:F}=xn({queryKey:["models",s],queryFn:()=>qn(`${n.apiServiceUrl}/v1/datamodels`,(o==null?void 0:o.accessToken)||"",{connection_id:s}),enabled:!!(o!=null&&o.accessToken)&&!!s}),I=j==null?void 0:j.type,A=(j==null?void 0:j.type)==="API"||(j==null?void 0:j.type)==="S3",{data:O,isLoading:U,isFetching:W,isError:$,refetch:T}=xn({queryKey:["databases",s],queryFn:()=>qn(`${n.apiServiceUrl}/v1/databases`,(o==null?void 0:o.accessToken)||"",{connection_id:s}),enabled:w(I)}),{data:z,isLoading:L,isFetching:D,isError:H,refetch:q}=xn({queryKey:["schemas",s,d],queryFn:()=>qn(`${n.apiServiceUrl}/v1/schemas`,(o==null?void 0:o.accessToken)||"",{connection_id:s,database_name:d}),enabled:!!s&&!!d&&!A&&d!=="NA"}),{data:Y,isLoading:V,isFetching:B,isError:G,refetch:X}=xn({queryKey:["tables",s,d,f],queryFn:()=>qn(`${n.apiServiceUrl}/v1/tables`,(o==null?void 0:o.accessToken)||"",{connection_id:s,database_name:d,schema_name:f}),enabled:v(I)}),{columns:re,isColumnsLoading:J,isColumnsFetching:ue,isColumnsError:te,refetchColumns:se}=MQ(e);N.useEffect(()=>{(I==="S3"||I==="API")&&(g(""),y(""),m(""),I==="API"&&b("api"))},[I,b,g,y,m]);const oe=(j==null?void 0:j.type)==="API"?(Ze=j==null?void 0:j.type)==null?void 0:Ze.toLowerCase():h||"",Ne=A?"":f||"";function fe(xe){b(xe),x(void 0),c||(r.setQueryData(a,null),r.removeQueries({queryKey:a,exact:!0}))}function ye(xe){y(xe),b("")}function Pe(xe){g(xe==="none"?"":xe),y(""),b(""),xe!=="none"&&xe!==""&&m("")}function it(xe){p(xe)}function Ve(xe){m(xe==="none"?"":xe),xe!=="none"&&xe!==""&&g("")}O&&((Ct=O==null?void 0:O.databases)==null?void 0:Ct.length)>0,z&&((sn=z==null?void 0:z.schemas)==null?void 0:sn.length)>0;const We=E==null?void 0:E.connections.map(xe=>({id:xe.id,name:xe.name,type:xe.type})),wn=(zt=P==null?void 0:P.datamodels)==null?void 0:zt.map(xe=>({id:xe.id,name:xe.name})),Mn=O==null?void 0:O.databases.map(xe=>({id:xe.database_name,name:xe.database_name})),ie=z==null?void 0:z.schemas.map(xe=>({id:xe.schema_name,name:xe.schema_name})),be=Y==null?void 0:Y.tables.map(xe=>({id:xe.table_name,name:xe.table_name})),Me=(Gt=P==null?void 0:P.datamodels.find(xe=>xe.id===l))==null?void 0:Gt.name,Be=n3({schemaName:Ne,tableName:oe,modelName:Me,connectionType:I,databaseName:d||""});return{connectionItems:We,selectedConnectionId:s,selectedConnection:j,isConnectionsLoading:C,isConnectionsError:_,modelItems:wn,selectedDatamodelId:l,selectedDatamodelName:Me,isModelsLoading:M,isModelsError:F,selectedDatabaseName:d,databaseItems:Mn,isDatabasesLoadingOrFetching:U||W,isDatabaseError:$,schemaItems:ie,selectedSchemaName:f,isSchemaLoadingOrFetching:L||D,isSchemaError:H,tableItems:be,selectedTableName:h,isTableLoadingOrFetching:V||B,isTableError:G,columns:re,isColumnsLoadingOrFetching:J||ue,isColumnsError:te,isNonDbConnection:A,connectionType:I,tableName:oe,formattedTableName:Be,schemaName:Ne,refetchConnections:S,refetchModels:R,refetchDatabases:T,refetchSchemas:q,refetchTables:X,refetchColumns:se,handleConnectionChange:it,handleDatamodelChange:Ve,handleDatabaseChange:Pe,handleSchemaChange:ye,handleTableChange:fe}}var ol="Accordion",wZe=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[rP,SZe,CZe]=Xv(ol),[G1,RXe]=mr(ol,[CZe,JK]),oP=JK(),WQ=N.forwardRef((e,t)=>{const{type:n,...r}=e,o=r,s=r;return u.jsx(rP.Provider,{scope:e.__scopeAccordion,children:n==="multiple"?u.jsx(_Ze,{...s,ref:t}):u.jsx(kZe,{...o,ref:t})})});WQ.displayName=ol;var[qQ,EZe]=G1(ol),[GQ,NZe]=G1(ol,{collapsible:!1}),kZe=N.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},collapsible:s=!1,...i}=e,[a,l]=Rr({prop:n,defaultProp:r,onChange:o});return u.jsx(qQ,{scope:e.__scopeAccordion,value:a?[a]:[],onItemOpen:l,onItemClose:N.useCallback(()=>s&&l(""),[s,l]),children:u.jsx(GQ,{scope:e.__scopeAccordion,collapsible:s,children:u.jsx(YQ,{...i,ref:t})})})}),_Ze=N.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...s}=e,[i=[],a]=Rr({prop:n,defaultProp:r,onChange:o}),l=N.useCallback(d=>a((f=[])=>[...f,d]),[a]),c=N.useCallback(d=>a((f=[])=>f.filter(h=>h!==d)),[a]);return u.jsx(qQ,{scope:e.__scopeAccordion,value:i,onItemOpen:l,onItemClose:c,children:u.jsx(GQ,{scope:e.__scopeAccordion,collapsible:!0,children:u.jsx(YQ,{...s,ref:t})})})}),[jZe,Y1]=G1(ol),YQ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:o,orientation:s="vertical",...i}=e,a=N.useRef(null),l=ot(a,t),c=SZe(n),f=qu(o)==="ltr",h=we(e.onKeyDown,p=>{var _;if(!wZe.includes(p.key))return;const m=p.target,g=c().filter(j=>{var R;return!((R=j.ref.current)!=null&&R.disabled)}),y=g.findIndex(j=>j.ref.current===m),b=g.length;if(y===-1)return;p.preventDefault();let x=y;const v=0,w=b-1,S=()=>{x=y+1,x>w&&(x=v)},E=()=>{x=y-1,x<v&&(x=w)};switch(p.key){case"Home":x=v;break;case"End":x=w;break;case"ArrowRight":s==="horizontal"&&(f?S():E());break;case"ArrowDown":s==="vertical"&&S();break;case"ArrowLeft":s==="horizontal"&&(f?E():S());break;case"ArrowUp":s==="vertical"&&E();break}const C=x%b;(_=g[C].ref.current)==null||_.focus()});return u.jsx(jZe,{scope:n,disabled:r,direction:o,orientation:s,children:u.jsx(rP.Slot,{scope:n,children:u.jsx(Te.div,{...i,"data-orientation":s,ref:l,onKeyDown:r?void 0:h})})})}),_v="AccordionItem",[RZe,sP]=G1(_v),ZQ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...o}=e,s=Y1(_v,n),i=EZe(_v,n),a=oP(n),l=Yn(),c=r&&i.value.includes(r)||!1,d=s.disabled||e.disabled;return u.jsx(RZe,{scope:n,open:c,disabled:d,triggerId:l,children:u.jsx(nX,{"data-orientation":s.orientation,"data-state":tJ(c),...a,...o,ref:t,disabled:d,open:c,onOpenChange:f=>{f?i.onItemOpen(r):i.onItemClose(r)}})})});ZQ.displayName=_v;var KQ="AccordionHeader",XQ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Y1(ol,n),s=sP(KQ,n);return u.jsx(Te.h3,{"data-orientation":o.orientation,"data-state":tJ(s.open),"data-disabled":s.disabled?"":void 0,...r,ref:t})});XQ.displayName=KQ;var Yk="AccordionTrigger",QQ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Y1(ol,n),s=sP(Yk,n),i=NZe(Yk,n),a=oP(n);return u.jsx(rP.ItemSlot,{scope:n,children:u.jsx(rVe,{"aria-disabled":s.open&&!i.collapsible||void 0,"data-orientation":o.orientation,id:s.triggerId,...a,...r,ref:t})})});QQ.displayName=Yk;var JQ="AccordionContent",eJ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Y1(ol,n),s=sP(JQ,n),i=oP(n);return u.jsx(oVe,{role:"region","aria-labelledby":s.triggerId,"data-orientation":o.orientation,...i,...r,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});eJ.displayName=JQ;function tJ(e){return e?"open":"closed"}var MZe=WQ,DZe=ZQ,PZe=XQ,nJ=QQ,rJ=eJ;const TZe=MZe,oJ=k.forwardRef(({className:e,...t},n)=>u.jsx(DZe,{ref:n,className:Z("border-b",e),...t}));oJ.displayName="AccordionItem";const sJ=k.forwardRef(({className:e,children:t,...n},r)=>u.jsx(PZe,{className:"flex",children:u.jsxs(nJ,{ref:r,className:Z("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,u.jsx(No,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));sJ.displayName=nJ.displayName;const iJ=k.forwardRef(({className:e,children:t,...n},r)=>u.jsx(rJ,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:u.jsx("div",{className:Z("pb-4 pt-0",e),children:t})}));iJ.displayName=rJ.displayName;function AZe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function S$(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?w$(Object(n),!0).forEach(function(r){AZe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w$(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function IZe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s<r.length;s++)o=r[s],!(t.indexOf(o)>=0)&&(n[o]=e[o]);return n}function OZe(e,t){if(e==null)return{};var n=IZe(e,t),r,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)r=s[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function FZe(e,t){return $Ze(e)||LZe(e,t)||zZe(e,t)||BZe()}function $Ze(e){if(Array.isArray(e))return e}function LZe(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,o=!1,s=void 0;try{for(var i=e[Symbol.iterator](),a;!(r=(a=i.next()).done)&&(n.push(a.value),!(t&&n.length===t));r=!0);}catch(l){o=!0,s=l}finally{try{!r&&i.return!=null&&i.return()}finally{if(o)throw s}}return n}}function zZe(e,t){if(e){if(typeof e=="string")return C$(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C$(e,t)}}function C$(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function BZe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
970
+ `)}})}});var VGe=Iqe(()=>eQ(Sr([On({type:tt("text-start"),id:De(),providerMetadata:Qn.optional()}),On({type:tt("text-delta"),id:De(),delta:De(),providerMetadata:Qn.optional()}),On({type:tt("text-end"),id:De(),providerMetadata:Qn.optional()}),On({type:tt("error"),errorText:De()}),On({type:tt("tool-input-start"),toolCallId:De(),toolName:De(),providerExecuted:fr().optional(),dynamic:fr().optional()}),On({type:tt("tool-input-delta"),toolCallId:De(),inputTextDelta:De()}),On({type:tt("tool-input-available"),toolCallId:De(),toolName:De(),input:Lo(),providerExecuted:fr().optional(),providerMetadata:Qn.optional(),dynamic:fr().optional()}),On({type:tt("tool-input-error"),toolCallId:De(),toolName:De(),input:Lo(),providerExecuted:fr().optional(),providerMetadata:Qn.optional(),dynamic:fr().optional(),errorText:De()}),On({type:tt("tool-output-available"),toolCallId:De(),output:Lo(),providerExecuted:fr().optional(),dynamic:fr().optional(),preliminary:fr().optional()}),On({type:tt("tool-output-error"),toolCallId:De(),errorText:De(),providerExecuted:fr().optional(),dynamic:fr().optional()}),On({type:tt("reasoning-start"),id:De(),providerMetadata:Qn.optional()}),On({type:tt("reasoning-delta"),id:De(),delta:De(),providerMetadata:Qn.optional()}),On({type:tt("reasoning-end"),id:De(),providerMetadata:Qn.optional()}),On({type:tt("source-url"),sourceId:De(),url:De(),title:De().optional(),providerMetadata:Qn.optional()}),On({type:tt("source-document"),sourceId:De(),mediaType:De(),title:De(),filename:De().optional(),providerMetadata:Qn.optional()}),On({type:tt("file"),url:De(),mediaType:De(),providerMetadata:Qn.optional()}),On({type:ZX(e=>typeof e=="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:De().optional(),data:Lo(),transient:fr().optional()}),On({type:tt("start-step")}),On({type:tt("finish-step")}),On({type:tt("start"),messageId:De().optional(),messageMetadata:Lo().optional()}),On({type:tt("finish"),messageMetadata:Lo().optional()}),On({type:tt("abort")}),On({type:tt("message-metadata"),messageMetadata:Lo()})])));function HGe(e){return e.type.startsWith("data-")}function lQ(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const n={...e};for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const o=t[r];if(o===void 0)continue;const s=r in e?e[r]:void 0,i=o!==null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),a=s!=null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp);i&&a?n[r]=lQ(s,o):n[r]=o}return n}function UGe(e){const t=["ROOT"];let n=-1,r=null;function o(l,c,d){switch(l){case'"':{n=c,t.pop(),t.push(d),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{n=c,r=c,t.pop(),t.push(d),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=c,t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"{":{n=c,t.pop(),t.push(d),t.push("INSIDE_OBJECT_START");break}case"[":{n=c,t.pop(),t.push(d),t.push("INSIDE_ARRAY_START");break}}}function s(l,c){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{n=c,t.pop();break}}}function i(l,c){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=c,t.pop();break}}}for(let l=0;l<e.length;l++){const c=e[l];switch(t[t.length-1]){case"ROOT":o(c,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{n=l,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(c){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{o(c,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{s(c,l);break}case"INSIDE_STRING":{switch(c){case'"':{t.pop(),n=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:n=l}break}case"INSIDE_ARRAY_START":{switch(c){case"]":{n=l,t.pop();break}default:{n=l,o(c,l,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(c){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=l,t.pop();break}default:{n=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{o(c,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),n=l;break}case"INSIDE_NUMBER":{switch(c){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&s(c,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&s(c,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const f=e.substring(r,l+1);!"false".startsWith(f)&&!"true".startsWith(f)&&!"null".startsWith(f)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?s(c,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l)):n=l;break}}}let a=e.slice(0,n+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{a+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{a+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{a+="]";break}case"INSIDE_LITERAL":{const d=e.substring(r,e.length);"true".startsWith(d)?a+="true".slice(d.length):"false".startsWith(d)?a+="false".slice(d.length):"null".startsWith(d)&&(a+="null".slice(d.length))}}return a}async function cQ(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await Nv({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await Nv({text:UGe(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}function A0(e){return e.type.startsWith("tool-")}function WGe(e){return e.type==="dynamic-tool"}function p$(e){return A0(e)||WGe(e)}function m$(e){return e.type.split("-").slice(1).join("-")}function qGe({lastMessage:e,messageId:t}){return{message:(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function GGe({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:o,onToolCall:s,onData:i}){return e.pipeThrough(new TransformStream({async transform(a,l){await r(async({state:c,write:d})=>{var f,h,p,m;function g(w){const E=c.message.parts.filter(A0).find(C=>C.toolCallId===w);if(E==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return E}function y(w){const E=c.message.parts.filter(C=>C.type==="dynamic-tool").find(C=>C.toolCallId===w);if(E==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return E}function b(w){var S;const E=c.message.parts.find(j=>A0(j)&&j.toolCallId===w.toolCallId),C=w,_=E;E!=null?(E.state=w.state,_.input=C.input,_.output=C.output,_.errorText=C.errorText,_.rawInput=C.rawInput,_.preliminary=C.preliminary,_.providerExecuted=(S=C.providerExecuted)!=null?S:E.providerExecuted,C.providerMetadata!=null&&E.state==="input-available"&&(E.callProviderMetadata=C.providerMetadata)):c.message.parts.push({type:`tool-${w.toolName}`,toolCallId:w.toolCallId,state:w.state,input:C.input,output:C.output,rawInput:C.rawInput,errorText:C.errorText,providerExecuted:C.providerExecuted,preliminary:C.preliminary,...C.providerMetadata!=null?{callProviderMetadata:C.providerMetadata}:{}})}function x(w){var S;const E=c.message.parts.find(j=>j.type==="dynamic-tool"&&j.toolCallId===w.toolCallId),C=w,_=E;E!=null?(E.state=w.state,_.toolName=w.toolName,_.input=C.input,_.output=C.output,_.errorText=C.errorText,_.rawInput=(S=C.rawInput)!=null?S:_.rawInput,_.preliminary=C.preliminary,C.providerMetadata!=null&&E.state==="input-available"&&(E.callProviderMetadata=C.providerMetadata)):c.message.parts.push({type:"dynamic-tool",toolName:w.toolName,toolCallId:w.toolCallId,state:w.state,input:C.input,output:C.output,errorText:C.errorText,preliminary:C.preliminary,...C.providerMetadata!=null?{callProviderMetadata:C.providerMetadata}:{}})}async function v(w){if(w!=null){const S=c.message.metadata!=null?lQ(c.message.metadata,w):w;t!=null&&await c$({value:S,schema:t}),c.message.metadata=S}}switch(a.type){case"text-start":{const w={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};c.activeTextParts[a.id]=w,c.message.parts.push(w),d();break}case"text-delta":{const w=c.activeTextParts[a.id];w.text+=a.delta,w.providerMetadata=(f=a.providerMetadata)!=null?f:w.providerMetadata,d();break}case"text-end":{const w=c.activeTextParts[a.id];w.state="done",w.providerMetadata=(h=a.providerMetadata)!=null?h:w.providerMetadata,delete c.activeTextParts[a.id],d();break}case"reasoning-start":{const w={type:"reasoning",text:"",providerMetadata:a.providerMetadata,state:"streaming"};c.activeReasoningParts[a.id]=w,c.message.parts.push(w),d();break}case"reasoning-delta":{const w=c.activeReasoningParts[a.id];w.text+=a.delta,w.providerMetadata=(p=a.providerMetadata)!=null?p:w.providerMetadata,d();break}case"reasoning-end":{const w=c.activeReasoningParts[a.id];w.providerMetadata=(m=a.providerMetadata)!=null?m:w.providerMetadata,w.state="done",delete c.activeReasoningParts[a.id],d();break}case"file":{c.message.parts.push({type:"file",mediaType:a.mediaType,url:a.url}),d();break}case"source-url":{c.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),d();break}case"source-document":{c.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),d();break}case"tool-input-start":{const w=c.message.parts.filter(A0);c.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:w.length,dynamic:a.dynamic},a.dynamic?x({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0}):b({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted}),d();break}case"tool-input-delta":{const w=c.partialToolCalls[a.toolCallId];w.text+=a.inputTextDelta;const{value:S}=await cQ(w.text);w.dynamic?x({toolCallId:a.toolCallId,toolName:w.toolName,state:"input-streaming",input:S}):b({toolCallId:a.toolCallId,toolName:w.toolName,state:"input-streaming",input:S}),d();break}case"tool-input-available":{a.dynamic?x({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerMetadata:a.providerMetadata}):b({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}),d(),s&&!a.providerExecuted&&await s({toolCall:a});break}case"tool-input-error":{a.dynamic?x({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerMetadata:a.providerMetadata}):b({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}),d();break}case"tool-output-available":{if(a.dynamic){const w=y(a.toolCallId);x({toolCallId:a.toolCallId,toolName:w.toolName,state:"output-available",input:w.input,output:a.output,preliminary:a.preliminary})}else{const w=g(a.toolCallId);b({toolCallId:a.toolCallId,toolName:m$(w),state:"output-available",input:w.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary})}d();break}case"tool-output-error":{if(a.dynamic){const w=y(a.toolCallId);x({toolCallId:a.toolCallId,toolName:w.toolName,state:"output-error",input:w.input,errorText:a.errorText})}else{const w=g(a.toolCallId);b({toolCallId:a.toolCallId,toolName:m$(w),state:"output-error",input:w.input,rawInput:w.rawInput,errorText:a.errorText})}d();break}case"start-step":{c.message.parts.push({type:"step-start"});break}case"finish-step":{c.activeTextParts={},c.activeReasoningParts={};break}case"start":{a.messageId!=null&&(c.message.id=a.messageId),await v(a.messageMetadata),(a.messageId!=null||a.messageMetadata!=null)&&d();break}case"finish":{await v(a.messageMetadata),a.messageMetadata!=null&&d();break}case"message-metadata":{await v(a.messageMetadata),a.messageMetadata!=null&&d();break}case"error":{o==null||o(new Error(a.errorText));break}default:if(HGe(a)){(n==null?void 0:n[a.type])!=null&&await c$({value:a.data,schema:n[a.type]});const w=a;if(w.transient){i==null||i(w);break}const S=w.id!=null?c.message.parts.find(E=>w.type===E.type&&w.id===E.id):void 0;S!=null?S.data=w.data:c.message.parts.push(w),i==null||i(w),d()}}l.enqueue(a)})}}))}async function YGe({stream:e,onError:t}){const n=e.getReader();try{for(;;){const{done:r}=await n.read();if(r)break}}catch(r){t==null||t(r)}finally{n.releaseLock()}}Pb({prefix:"aitxt",size:24});Pb({prefix:"aiobj",size:24});var ZGe=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(r){n(r)}}),this.processQueue()})}};Pb({prefix:"aiobj",size:24});var KGe={};PGe(KGe,{object:()=>QGe,text:()=>XGe});var XGe=()=>({type:"text",responseFormat:{type:"text"},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),QGe=({schema:e})=>{const t=MGe(e);return{type:"object",responseFormat:{type:"json",schema:t.jsonSchema},async parsePartial({text:n}){const r=await cQ(n);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:r.value};default:{const o=r.state;throw new Error(`Unsupported parse state: ${o}`)}}},async parseOutput({text:n},r){const o=await Nv({text:n});if(!o.success)throw new f$({message:"No object generated: could not parse the response.",cause:o.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});const s=await ZD({value:o.value,schema:t});if(!s.success)throw new f$({message:"No object generated: response did not match schema.",cause:s.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});return s.value}}},JGe=Gd({name:De(),version:De()}),XD=Gd({_meta:or($t({}).loose())}),bg=XD,eYe=$t({method:De(),params:or(XD)}),tYe=Gd({experimental:or($t({}).loose()),logging:or($t({}).loose()),prompts:or(Gd({listChanged:or(fr())})),resources:or(Gd({subscribe:or(fr()),listChanged:or(fr())})),tools:or(Gd({listChanged:or(fr())}))});bg.extend({protocolVersion:De(),capabilities:tYe,serverInfo:JGe,instructions:or(De())});var nYe=bg.extend({nextCursor:or(De())}),rYe=$t({name:De(),description:or(De()),inputSchema:$t({type:tt("object"),properties:or($t({}).loose())}).loose()}).loose();nYe.extend({tools:pc(rYe)});var oYe=$t({type:tt("text"),text:De()}).loose(),sYe=$t({type:tt("image"),data:HX(),mimeType:De()}).loose(),uQ=$t({uri:De(),mimeType:or(De())}).loose(),iYe=uQ.extend({text:De()}),aYe=uQ.extend({blob:HX()}),lYe=$t({type:tt("resource"),resource:Sr([iYe,aYe])}).loose();bg.extend({content:pc(Sr([oYe,sYe,lYe])),isError:fr().default(!1).optional()}).or(bg.extend({toolResult:Lo()}));var q1="2.0",cYe=$t({jsonrpc:tt(q1),id:Sr([De(),mg().int()])}).merge(eYe).strict(),uYe=$t({jsonrpc:tt(q1),id:Sr([De(),mg().int()]),result:bg}).strict(),dYe=$t({jsonrpc:tt(q1),id:Sr([De(),mg().int()]),error:$t({code:mg().int(),message:De(),data:or(Lo())})}).strict(),fYe=$t({jsonrpc:tt(q1)}).merge($t({method:De(),params:or(XD)})).strict();Sr([cYe,fYe,uYe,dYe]);async function hYe(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw new Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async t=>{const{name:n,type:r}=t,o=await new Promise((s,i)=>{const a=new FileReader;a.onload=l=>{var c;s((c=l.target)==null?void 0:c.result)},a.onerror=l=>i(l),a.readAsDataURL(t)});return{type:"file",mediaType:r,filename:n,url:o}}))}var pYe=class{constructor({api:e="/api/chat",credentials:t,headers:n,body:r,fetch:o,prepareSendMessagesRequest:s,prepareReconnectToStreamRequest:i}){this.api=e,this.credentials=t,this.headers=n,this.body=r,this.fetch=o,this.prepareSendMessagesRequest=s,this.prepareReconnectToStreamRequest=i}async sendMessages({abortSignal:e,...t}){var n,r,o,s,i;const a=await jd(this.body),l=await jd(this.headers),c=await jd(this.credentials),d=await((n=this.prepareSendMessagesRequest)==null?void 0:n.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...a,...t.body},headers:{...l,...t.headers},credentials:c,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),f=(r=d==null?void 0:d.api)!=null?r:this.api,h=(d==null?void 0:d.headers)!==void 0?d.headers:{...l,...t.headers},p=(d==null?void 0:d.body)!==void 0?d.body:{...a,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},m=(o=d==null?void 0:d.credentials)!=null?o:c,y=await((s=this.fetch)!=null?s:globalThis.fetch)(f,{method:"POST",headers:l$({"Content-Type":"application/json",...h},`ai-sdk/${h$}`,a$()),body:JSON.stringify(p),credentials:m,signal:e});if(!y.ok)throw new Error((i=await y.text())!=null?i:"Failed to fetch the chat response.");if(!y.body)throw new Error("The response body is empty.");return this.processResponseStream(y.body)}async reconnectToStream(e){var t,n,r,o,s;const i=await jd(this.body),a=await jd(this.headers),l=await jd(this.credentials),c=await((t=this.prepareReconnectToStreamRequest)==null?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...i,...e.body},headers:{...a,...e.headers},credentials:l,requestMetadata:e.metadata})),d=(n=c==null?void 0:c.api)!=null?n:`${this.api}/${e.chatId}/stream`,f=(c==null?void 0:c.headers)!==void 0?c.headers:{...a,...e.headers},h=(r=c==null?void 0:c.credentials)!=null?r:l,m=await((o=this.fetch)!=null?o:globalThis.fetch)(d,{method:"GET",headers:l$(f,`ai-sdk/${h$}`,a$()),credentials:h});if(m.status===204)return null;if(!m.ok)throw new Error((s=await m.text())!=null?s:"Failed to fetch the chat response.");if(!m.body)throw new Error("The response body is empty.");return this.processResponseStream(m.body)}},QD=class extends pYe{constructor(e={}){super(e)}processResponseStream(e){return $qe({stream:e,schema:VGe}).pipeThrough(new TransformStream({async transform(t,n){if(!t.success)throw t.error;n.enqueue(t.value)}}))}},mYe=class{constructor({generateId:e=kqe,id:t=e(),transport:n=new QD,messageMetadataSchema:r,dataPartSchemas:o,state:s,onError:i,onToolCall:a,onFinish:l,onData:c,sendAutomaticallyWhen:d}){this.activeResponse=void 0,this.jobExecutor=new ZGe,this.sendMessage=async(f,h)=>{var p,m,g,y;if(f==null){await this.makeRequest({trigger:"submit-message",messageId:(p=this.lastMessage)==null?void 0:p.id,...h});return}let b;if("text"in f||"files"in f?b={parts:[...Array.isArray(f.files)?f.files:await hYe(f.files),..."text"in f&&f.text!=null?[{type:"text",text:f.text}]:[]]}:b=f,f.messageId!=null){const x=this.state.messages.findIndex(v=>v.id===f.messageId);if(x===-1)throw new Error(`message with id ${f.messageId} not found`);if(this.state.messages[x].role!=="user")throw new Error(`message with id ${f.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,x+1),this.state.replaceMessage(x,{...b,id:f.messageId,role:(m=b.role)!=null?m:"user",metadata:f.metadata})}else this.state.pushMessage({...b,id:(g=b.id)!=null?g:this.generateId(),role:(y=b.role)!=null?y:"user",metadata:f.metadata});await this.makeRequest({trigger:"submit-message",messageId:f.messageId,...h})},this.regenerate=async({messageId:f,...h}={})=>{const p=f==null?this.state.messages.length-1:this.state.messages.findIndex(m=>m.id===f);if(p===-1)throw new Error(`message ${f} not found`);this.state.messages=this.state.messages.slice(0,this.messages[p].role==="assistant"?p:p+1),await this.makeRequest({trigger:"regenerate-message",messageId:f,...h})},this.resumeStream=async(f={})=>{await this.makeRequest({trigger:"resume-stream",...f})},this.clearError=()=>{this.status==="error"&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolResult=async({state:f="output-available",tool:h,toolCallId:p,output:m,errorText:g})=>this.jobExecutor.run(async()=>{var y,b;const x=this.state.messages,v=x[x.length-1];this.state.replaceMessage(x.length-1,{...v,parts:v.parts.map(w=>p$(w)&&w.toolCallId===p?{...w,state:f,output:m,errorText:g}:w)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(w=>p$(w)&&w.toolCallId===p?{...w,state:f,output:m,errorText:g}:w)),this.status!=="streaming"&&this.status!=="submitted"&&((y=this.sendAutomaticallyWhen)!=null&&y.call(this,{messages:this.state.messages}))&&this.makeRequest({trigger:"submit-message",messageId:(b=this.lastMessage)==null?void 0:b.id})}),this.stop=async()=>{var f;this.status!=="streaming"&&this.status!=="submitted"||(f=this.activeResponse)!=null&&f.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=o,this.state=s,this.onError=i,this.onToolCall=a,this.onFinish=l,this.onData=c,this.sendAutomaticallyWhen=d}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async makeRequest({trigger:e,metadata:t,headers:n,body:r,messageId:o}){var s,i,a;this.setStatus({status:"submitted",error:void 0});const l=this.lastMessage;let c=!1,d=!1,f=!1;try{const h={state:qGe({lastMessage:this.state.snapshot(l),messageId:this.generateId()}),abortController:new AbortController};h.abortController.signal.addEventListener("abort",()=>{c=!0}),this.activeResponse=h;let p;if(e==="resume-stream"){const g=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:n,body:r});if(g==null){this.setStatus({status:"ready"});return}p=g}else p=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:h.abortController.signal,metadata:t,headers:n,body:r,trigger:e,messageId:o});const m=g=>this.jobExecutor.run(()=>g({state:h.state,write:()=>{var y;this.setStatus({status:"streaming"}),h.state.message.id===((y=this.lastMessage)==null?void 0:y.id)?this.state.replaceMessage(this.state.messages.length-1,h.state.message):this.state.pushMessage(h.state.message)}}));await YGe({stream:GGe({stream:p,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:m,onError:g=>{throw g}}),onError:g=>{throw g}}),this.setStatus({status:"ready"})}catch(h){if(c||h.name==="AbortError")return c=!0,this.setStatus({status:"ready"}),null;f=!0,h instanceof TypeError&&(h.message.toLowerCase().includes("fetch")||h.message.toLowerCase().includes("network"))&&(d=!0),this.onError&&h instanceof Error&&this.onError(h),this.setStatus({status:"error",error:h})}finally{try{(s=this.onFinish)==null||s.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:c,isDisconnect:d,isError:f})}catch(h){console.error(h)}this.activeResponse=void 0}(i=this.sendAutomaticallyWhen)!=null&&i.call(this,{messages:this.state.messages})&&!f&&await this.makeRequest({trigger:"submit-message",messageId:(a=this.lastMessage)==null?void 0:a.id,metadata:t,headers:n,body:r})}};function gYe(e,t){if(typeof e!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let n,r=0;return function(...s){clearTimeout(n);const i=Date.now(),a=i-r,l=t-a;l<=0?(r=i,e.apply(this,s)):n=setTimeout(()=>{r=Date.now(),e.apply(this,s)},l)}}var bYe=gYe;const yYe=Bu(bYe);var xYe=Qk(),dQ=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},Cn=(e,t,n)=>(dQ(e,t,"read from private field"),n?n.call(e):t.get(e)),yi=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},bl=(e,t,n,r)=>(dQ(e,t,"write to private field"),t.set(e,n),n);function vYe(e,t){return t!=null?yYe(e,t):e}var is,I0,O0,Pp,Tp,Ap,Id,Uk,Wk,wYe=class{constructor(e=[]){yi(this,is,void 0),yi(this,I0,"ready"),yi(this,O0,void 0),yi(this,Pp,new Set),yi(this,Tp,new Set),yi(this,Ap,new Set),this.pushMessage=t=>{bl(this,is,Cn(this,is).concat(t)),Cn(this,Id).call(this)},this.popMessage=()=>{bl(this,is,Cn(this,is).slice(0,-1)),Cn(this,Id).call(this)},this.replaceMessage=(t,n)=>{bl(this,is,[...Cn(this,is).slice(0,t),this.snapshot(n),...Cn(this,is).slice(t+1)]),Cn(this,Id).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,n)=>{const r=n?vYe(t,n):t;return Cn(this,Pp).add(r),()=>{Cn(this,Pp).delete(r)}},this["~registerStatusCallback"]=t=>(Cn(this,Tp).add(t),()=>{Cn(this,Tp).delete(t)}),this["~registerErrorCallback"]=t=>(Cn(this,Ap).add(t),()=>{Cn(this,Ap).delete(t)}),yi(this,Id,()=>{Cn(this,Pp).forEach(t=>t())}),yi(this,Uk,()=>{Cn(this,Tp).forEach(t=>t())}),yi(this,Wk,()=>{Cn(this,Ap).forEach(t=>t())}),bl(this,is,e)}get status(){return Cn(this,I0)}set status(e){bl(this,I0,e),Cn(this,Uk).call(this)}get error(){return Cn(this,O0)}set error(e){bl(this,O0,e),Cn(this,Wk).call(this)}get messages(){return Cn(this,is)}set messages(e){bl(this,is,[...e]),Cn(this,Id).call(this)}};is=new WeakMap;I0=new WeakMap;O0=new WeakMap;Pp=new WeakMap;Tp=new WeakMap;Ap=new WeakMap;Id=new WeakMap;Uk=new WeakMap;Wk=new WeakMap;var Od,g$=class extends mYe{constructor({messages:e,...t}){const n=new wYe(e);super({...t,state:n}),yi(this,Od,void 0),this["~registerMessagesCallback"]=(r,o)=>Cn(this,Od)["~registerMessagesCallback"](r,o),this["~registerStatusCallback"]=r=>Cn(this,Od)["~registerStatusCallback"](r),this["~registerErrorCallback"]=r=>Cn(this,Od)["~registerErrorCallback"](r),bl(this,Od,n)}};Od=new WeakMap;function fQ({experimental_throttle:e,resume:t=!1,...n}={}){const r=N.useRef("chat"in n?n.chat:new g$(n));("chat"in n&&n.chat!==r.current||"id"in n&&r.current.id!==n.id)&&(r.current="chat"in n?n.chat:new g$(n));const s="id"in n?n.id:null,i=N.useCallback(f=>r.current["~registerMessagesCallback"](f,e),[e,s]),a=N.useSyncExternalStore(i,()=>r.current.messages,()=>r.current.messages),l=N.useSyncExternalStore(r.current["~registerStatusCallback"],()=>r.current.status,()=>r.current.status),c=N.useSyncExternalStore(r.current["~registerErrorCallback"],()=>r.current.error,()=>r.current.error),d=N.useCallback(f=>{typeof f=="function"&&(f=f(r.current.messages)),r.current.messages=f},[r]);return N.useEffect(()=>{t&&r.current.resumeStream()},[t,r]),{id:r.current.id,messages:a,setMessages:d,sendMessage:r.current.sendMessage,regenerate:r.current.regenerate,clearError:r.current.clearError,stop:r.current.stop,error:c,resumeStream:r.current.resumeStream,status:l,addToolResult:r.current.addToolResult}}function SYe(e,t){return e.some(n=>n.tableName&&n.tableName===t.tableName||n.datamodelName&&n.datamodelName===t.datamodelName)}function CYe(e){return e.filter((n,r,o)=>r===o.findIndex(s=>s.tableName===n.tableName&&s.datamodelName===n.datamodelName))}function EYe(e,t){return e.filter(n=>!(n.connectionId===t.connectionId&&n.tableName===t.tableName&&n.datamodelName===t.datamodelName))}function NYe(e){return e.toLowerCase()==="clickhouse"?"{database_name}.{table_name}":e.toLowerCase()==="postgres"?"{schema_name}.{table_name}":"{table_name}"}function hQ(e){return e.map(r=>{const o=r.connectionType==="API"||r.connectionType==="S3"||r.connectionType==="S3Tables"?"DuckDb":r.connectionType;return r.datamodelName?{...r,databaseName:"",schemaName:"",tableName:"",connectionType:o,tableReferenceFormat:"dm.{table_name}"}:{...r,connectionType:o,tableReferenceFormat:NYe(o)}}).filter(r=>r.datamodelName?r.connectionId&&r.datamodelName&&r.connectionType:r.connectionId&&r.tableName&&r.connectionType)}function pQ(e){var n,r;if(!e)return"";let t="";try{const o=JSON.parse((e==null?void 0:e.message)||"{}");t=((r=(n=o==null?void 0:o.error)==null?void 0:n.lastError)==null?void 0:r.message)||(o==null?void 0:o.error)||e.message}catch{t=e.message}return t}function kYe(){const{authToken:e,tokenProps:t}=qe(),n=ee(g=>g.dashboard.aiScopeTables),{sendMessage:r,messages:o,setMessages:s,regenerate:i,status:a,addToolResult:l,error:c,stop:d,clearError:f}=fQ({transport:new QD({api:`${t.apiServiceUrl}/v1/assistant`,headers:()=>({Authorization:`Bearer ${e==null?void 0:e.accessToken}`}),body:()=>{const g=ui.getState();return{assistantId:"dashboard-assistant",aiContext:g.currentAIContext,reasoningEffort:g.reasoningEffort,showReasoning:g.showReasoning}},credentials:"omit",prepareSendMessagesRequest:({messages:g,body:y})=>({body:{...y,messages:g6(g)}})}),onToolCall:h,onFinish({isAbort:g,isDisconnect:y,isError:b}){console.log(g?"[Dashboard Assistant] Stream aborted by user":y?"[Dashboard Assistant] Stream disconnected (network error)":b?"[Dashboard Assistant] Stream error occurred":"[Dashboard Assistant] Stream completed successfully")},onError(g){var y;if(g.name==="AbortError"||(y=g.message)!=null&&y.includes("aborted")){console.log("[Dashboard Assistant] Stream aborted (expected)");return}console.error("[Dashboard Assistant] Stream error:",g)}});async function h({toolCall:g}){g.toolName==="getCurrentTableScope"&&l({tool:g.toolName,toolCallId:g.toolCallId,output:{tables:hQ(n||[])}})}const p=!["ready","error"].includes(a),m=pQ(c);return{sendMessage:r,regenerate:i,isLoading:p,messages:o,setMessages:s,status:a,stop:d,errorMessage:m,clearError:f}}const Yd=N.forwardRef(({children:e,className:t,tooltip:n,onClick:r,openDelay:o=300,buttonProps:s,disabled:i,...a},l)=>u.jsx(ed,{children:u.jsxs(oi,{delayDuration:o,children:[u.jsx(si,{asChild:!0,children:u.jsx(ae,{disabled:i,ref:l,size:"sm",variant:"ghost",onClick:r,...a,...s,className:Z(`${Qd}`,t),children:e})}),n&&u.jsx(Zi,{side:"bottom",sideOffset:10,children:n})]})}));Yd.displayName="IconButton";function mQ(){const{authToken:e,tokenProps:t}=qe(),n=jte(e==null?void 0:e.accessToken);function r(){if(!n||!(e!=null&&e.accessToken))return!1}const{data:o,isLoading:s,isFetching:i,isError:a}=xn({queryKey:["assistant-profile",n],queryFn:()=>qn(`${t.apiServiceUrl}/v1/assistant/${n}`,(e==null?void 0:e.accessToken)||""),enabled:r()});return{assistantProfile:o==null?void 0:o.assistantProfile,isLoading:s,isFetching:i,isError:a}}function gQ({seedQuestions:e,handleSeedQuestionClick:t}){return e.length===0?null:u.jsxs("div",{className:"overflow-x-auto rounded-md border bg-muted/40 p-4",children:[u.jsxs("div",{className:"mb-3 flex items-center",children:[u.jsx(Y3,{className:"mr-2 h-4 w-4 text-muted-foreground"}),u.jsx("h3",{className:"font-medium",children:"Example Questions"})]}),u.jsx("div",{className:"flex flex-wrap gap-2",children:e.map((n,r)=>u.jsx(ae,{variant:"outline",size:"sm",onClick:()=>t(n),className:"text-sm",children:n},r))})]})}const bQ=k.forwardRef(({className:e,...t},n)=>u.jsxs("div",{className:"flex items-center px-3","cmdk-input-wrapper":"",children:[u.jsx(dh,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),u.jsx(Wr.Input,{ref:n,className:Z("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));bQ.displayName=Wr.Input.displayName;const _Ye=e=>{switch(e){case"table":return u.jsx(Uv,{className:"h-4 w-4"});case"view":return u.jsx(ch,{className:"h-4 w-4"});case"model":return u.jsx(x_,{className:"h-4 w-4"});case"file":return u.jsx(Ko,{className:"h-4 w-4"});case"dataset":return u.jsx(nu,{className:"h-4 w-4"});case"upload":return u.jsx(Wv,{className:"h-4 w-4"});case"url":return u.jsx(v_,{className:"h-4 w-4"});default:return u.jsx(Hv,{className:"h-4 w-4"})}},s0=e=>e.label||(e==null?void 0:e.name),b$=e=>"description"in e?e.description:`${e.type} from ${e.database||"database"}`;function jYe({isOpen:e,onSelect:t,onDeselect:n,onClose:r,availableEntities:o,selectedEntities:s,onTabComplete:i,onSelectAll:a,onRemoveAll:l,onAddContext:c}){const[d,f]=N.useState(""),[h,p]=N.useState(""),m=o.filter(w=>{if(!d)return!0;const S=s0(w).toLowerCase(),E=b$(w).toLowerCase(),C=d.toLowerCase();return S.includes(C)||E.includes(C)});N.useEffect(()=>{e||(f(""),p(""))},[e]),N.useEffect(()=>{m.length>0&&!h&&p(s0(m[0]))},[m,h]);const g=()=>{if(!h)return;const w=m.find(S=>s0(S)===h);w&&(s.some(E=>"id"in w&&"id"in E?w.id===E.id:w.name===E.name&&w.connectionId===E.connectionId)||t(w),i(w),r())},y=w=>{(w.key==="Tab"||w.key==="Enter")&&(w.preventDefault(),g())};if(!e)return null;const b=w=>s.some(S=>"id"in w&&"id"in S?w.id===S.id:w.name===S.name&&w.connectionId===S.connectionId),x=s.length===o.length,v=s.length>0;return u.jsx(u.Fragment,{children:u.jsxs(Dw,{shouldFilter:!1,value:h,onValueChange:p,onKeyDown:y,children:[o.length>0&&u.jsxs("div",{className:"flex items-center justify-between border-b pr-3",children:[u.jsx(bQ,{placeholder:"Search entities...",value:d,onValueChange:f,className:"flex-1 border-0",autoFocus:!0}),u.jsxs(ae,{onClick:w=>{w.preventDefault(),w.stopPropagation(),c==null||c()},onMouseDown:w=>{w.preventDefault(),w.stopPropagation()},variant:"outline",size:"sm",className:"h-7 shrink-0",children:[u.jsx(Xo,{className:"mr-1 h-4 w-4"}),"Add"]})]}),o.length>0&&u.jsxs("div",{className:"flex items-center justify-between border-b px-3 py-2 text-sm",children:[u.jsxs("div",{className:"text-muted-foreground",children:[s.length," ",s.length===1?"entity":"entities"," selected"]}),u.jsxs("div",{className:"flex items-center gap-1",children:[u.jsx(ae,{onClick:w=>{w.preventDefault(),w.stopPropagation(),a==null||a()},onMouseDown:w=>{w.preventDefault(),w.stopPropagation()},disabled:x,variant:"ghost",size:"sm",className:"h-6 px-2 text-xs",children:"Select All"}),v&&u.jsxs(ae,{onClick:w=>{w.preventDefault(),w.stopPropagation(),l==null||l()},onMouseDown:w=>{w.preventDefault(),w.stopPropagation()},variant:"ghost",size:"sm",className:"h-6 gap-1 px-2 text-xs",children:[u.jsx(Xt,{className:"h-3.5 w-3.5"}),"Clear"]})]})]}),u.jsxs(Pw,{className:"min-h-60",children:[u.jsx(Tw,{children:u.jsxs("div",{className:"flex flex-col items-center justify-center py-4",children:[u.jsx("p",{className:"mb-3 text-sm text-muted-foreground",children:"No entities found."}),u.jsxs(ae,{onClick:w=>{w.preventDefault(),w.stopPropagation(),c==null||c()},onMouseDown:w=>{w.preventDefault(),w.stopPropagation()},size:"sm",variant:"outline",className:"flex items-center gap-2",children:[u.jsx(Xo,{className:"h-4 w-4"}),"Add Datasets"]})]})}),u.jsx(Aw,{children:m.map((w,S)=>{const E=b(w),C="id"in w?w.id:`${w.connectionId}-${w.name}`,_=s0(w);return u.jsxs(Iw,{value:_,onSelect:()=>{E?n==null||n(w):t(w)},onMouseDown:j=>{j.preventDefault(),j.stopPropagation()},className:Z("flex cursor-pointer items-start gap-2 p-2 hover:bg-gray-100"),children:[u.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center",children:_Ye(w.type)}),u.jsxs("div",{className:"min-w-0 flex-1",children:[u.jsx("div",{className:"truncate font-medium",children:_}),u.jsx("div",{className:"truncate text-xs text-muted-foreground",children:b$(w)})]}),E&&u.jsx("div",{className:"ml-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-foreground/80",children:u.jsx(_r,{className:"h-3 w-3 text-background"})})]},C)})})]})]})})}const y$=e=>{switch(e){case"table":return u.jsx(Uv,{className:"h-3 w-3"});case"view":return u.jsx(ch,{className:"h-3 w-3"});case"model":return u.jsx(x_,{className:"h-3 w-3"});case"file":return u.jsx(Ko,{className:"h-3 w-3"});case"dataset":return u.jsx(nu,{className:"h-3 w-3"});case"upload":return u.jsx(Wv,{className:"h-3 w-3"});case"url":return u.jsx(v_,{className:"h-3 w-3"});default:return u.jsx(Hv,{className:"h-3 w-3"})}},qk=e=>e.name||e.name,RYe=e=>{const t=qk(e),n="description"in e?e.description:"",r=e.database||"",o=e.schema||"";return u.jsxs("div",{className:"space-y-1",children:[u.jsx("div",{className:"font-medium",children:t}),n&&u.jsx("div",{className:"text-sm text-muted-foreground",children:n}),u.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",e.type,r&&` • Database: ${r}`,o&&` • Schema: ${o}`]})]})};function MYe({entities:e,availableEntities:t,onRemoveEntity:n,onRemoveEntities:r}){const[o,s]=N.useState(!1),i=e.length>0;e.length,t.length,e.length<t.length;const a=e.length>=3?e.slice(0,2):e,l=e.length>=3?e.slice(2):[],c=l.length>0;return u.jsx(ed,{children:u.jsx("div",{className:"space-y-2",children:i&&u.jsxs("div",{className:"flex flex-wrap gap-1",children:[a.map((d,f)=>{const h="id"in d?d.id:`${d.connectionId}-${d.name}`;return u.jsxs(oi,{children:[u.jsx(si,{asChild:!0,children:u.jsxs(Tt,{variant:"secondary",className:"group relative cursor-pointer gap-2 transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[y$(d.type),u.jsx("span",{className:"max-w-24 truncate text-xs",children:qk(d)}),u.jsx("button",{className:"rounded-full p-0.5 transition-opacity hover:bg-red-100 group-hover:opacity-100",onClick:()=>n(d),children:u.jsx(Xt,{className:"h-3 w-3"})})]})}),u.jsx(Zi,{side:"top",className:"max-w-xs",children:RYe(d)})]},h)}),c&&u.jsxs(oi,{open:o,onOpenChange:s,children:[u.jsx(si,{asChild:!0,children:u.jsxs(Tt,{variant:"secondary",className:"flex cursor-pointer items-center gap-1 transition-colors hover:bg-secondary/80",onClick:()=>s(!0),children:[u.jsx(X3,{className:"h-3 w-3"}),u.jsxs("span",{className:"text-xs",children:[l.length," more"]}),u.jsx("button",{className:"rounded-full p-0.5 transition-opacity hover:bg-red-100 group-hover:opacity-100",onClick:()=>r(l),children:u.jsx(Xt,{className:"h-3 w-3"})})]})}),u.jsx(Zi,{side:"top",className:"max-h-60 max-w-xs overflow-y-auto p-2",children:u.jsxs("div",{className:"space-y-2",children:[u.jsx("div",{className:"text-sm font-medium",children:"Additional Datasets"}),u.jsx("div",{className:"space-y-2",children:l.map(d=>{const f="id"in d?d.id:`${d.connectionId}-${d.name}`;return u.jsxs("div",{className:"group flex items-center justify-between gap-2",children:[u.jsxs("div",{className:"flex items-start gap-2",children:[u.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:y$(d.type)}),u.jsxs("div",{className:"min-w-0 flex-1",children:[u.jsx("div",{className:"truncate text-sm font-medium",children:qk(d)}),u.jsxs("div",{className:"truncate text-xs text-muted-foreground",children:[d.type," ",d.database?`• ${d.database}`:""]})]})]}),u.jsx(ae,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 opacity-0 group-hover:opacity-100",onClick:()=>{n(d),l.length===1&&s(!1)},children:u.jsx(Xt,{className:"h-3 w-3"})})]},f)})})]})})]})]})})})}function yQ(e){return e.type==="dataset"&&e.label||e.name}function DYe(e){const t=[];return t.push({label:"Type",value:e.type}),t.push({label:"Name",value:e.name}),e.connectionType&&t.push({label:"Connection",value:e.connectionType}),e.database&&t.push({label:"Database",value:e.database}),e.schema&&t.push({label:"Schema",value:e.schema}),e.type==="dataset"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="dataset"&&e.description&&t.push({label:"Description",value:e.description}),e.type==="model"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="model"&&e.description&&t.push({label:"Description",value:e.description}),t}function PYe({selectedEntities:e,onDeselectEntity:t}){return e.length===0?null:u.jsxs("div",{className:"mb-4 space-y-2",children:[u.jsxs(de,{className:"mb-2 text-xs font-medium text-muted-foreground",children:["Selected Entities (",e.length,")"]}),u.jsx("div",{className:"max-h-32 overflow-y-auto rounded-md border border-border/50 p-2",children:u.jsx("div",{className:"flex flex-wrap gap-1",children:e.map((n,r)=>u.jsxs(Tt,{variant:"secondary",className:"group relative cursor-pointer pr-6 text-xs transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[u.jsxs("span",{className:"mr-1 text-gray-500",children:["[",n.type,"]"]}),yQ(n),u.jsx("button",{onClick:o=>{o.stopPropagation(),t(n)},className:"absolute right-1 top-1/2 -translate-y-1/2 rounded-full p-0.5 opacity-0 transition-opacity hover:bg-red-100 group-hover:opacity-100",children:u.jsx(Xt,{className:"h-2.5 w-2.5 text-red-500"})})]},`${n.type}-${n.name}-${r}`))})})]})}function TYe(e){const{tokenProps:t}=qe(),n=ee(l=>l.authToken)||e;Ae(l=>l.selectedConnectionId),Ae(l=>{var c,d;return(d=(c=l==null?void 0:l.card)==null?void 0:c.dataSource)==null?void 0:d.connectionId});const{refetch:r,isPending:o,data:s,isLoading:i,isError:a}=xn({queryKey:["semantic-domains"],queryFn:()=>qn(`${t.apiServiceUrl}/v1/domains`,(n==null?void 0:n.accessToken)||""),enabled:!!(n!=null&&n.accessToken)});return{isPending:o,error:a,semanticDomainsData:s,semanticDomains:(s==null?void 0:s.domains)||[],isSemanticDomainsLoading:i,isSemanticDomainsError:a,refetchSemanticDomains:r}}function AYe(e,t){const{tokenProps:n}=qe(),r=ee(c=>c.authToken)||t,{refetch:o,isPending:s,data:i,isLoading:a,isError:l}=xn({queryKey:["datasets",e],queryFn:()=>qn(`${n.apiServiceUrl}/v1/datasets`,(r==null?void 0:r.accessToken)||"",{domainId:e}),enabled:!!(r!=null&&r.accessToken)&&!!e});return{isPending:s,error:l,datasets:(i==null?void 0:i.datasets)||[],isDatasetsLoading:a,isDatasetsError:l,refetchDatasets:o}}function IYe(e){var g,y;const{tokenProps:t}=qe(),n=ee(b=>b.authToken)||e,{connections:r}=ta(e),o=Ae(b=>{var x,v;return(v=(x=b==null?void 0:b.card)==null?void 0:x.dataSource)==null?void 0:v.connectionId}),s=r==null?void 0:r.find(b=>b.id===o),i=s==null?void 0:s.type,a=s==null?void 0:s.capabilities,l=((g=a==null?void 0:a.labels)==null?void 0:g.database)||"Database";function c(b){return o&&b?!(b==="API"||b==="S3"):!1}const{data:d,isPending:f,error:h,refetch:p}=xn({queryKey:["databases",o],queryFn:()=>qn(`${t.apiServiceUrl}/v1/databases`,(n==null?void 0:n.accessToken)||"",{connection_id:o}),enabled:c(i)}),m=(y=d==null?void 0:d.databases)==null?void 0:y.map(b=>({id:b.database_name,name:b.database_name}));return{isPending:f,error:h,databases:m||[],refetch:p,label:l}}function OYe(e){var g;const{tokenProps:t}=qe(),n=ee(y=>y.authToken)||e,{connections:r}=ta(e),o=Ae(y=>{var b,x;return(x=(b=y==null?void 0:y.card)==null?void 0:b.dataSource)==null?void 0:x.connectionId}),s=Ae(y=>{var b,x,v;return(v=(x=(b=y==null?void 0:y.card)==null?void 0:b.dataSource)==null?void 0:x.dbSelection)==null?void 0:v.database}),i=r==null?void 0:r.find(y=>y.id===o),a=i==null?void 0:i.capabilities,l=((g=a==null?void 0:a.labels)==null?void 0:g.schema)||"Schema";function c(){return!(!o||(i==null?void 0:i.type)==="API"||(i==null?void 0:i.type)==="S3"||!s||!(a!=null&&a.path.includes("schema")))}const{data:d,isPending:f,error:h,refetch:p}=xn({queryKey:["schemas",o,s],queryFn:()=>qn(`${t.apiServiceUrl}/v1/schemas`,(n==null?void 0:n.accessToken)||"",{connection_id:o,database_name:s}),enabled:c()}),m=d==null?void 0:d.schemas.map(y=>({id:y.schema_name,name:y.schema_name}));return{isPending:f,error:h,schemas:m||[],refetch:p,label:l}}function xQ(e){const{tokenProps:t}=qe(),n=ee(h=>h.authToken)||e,{connections:r}=ta(e),o=Ae(h=>{var p,m;return(m=(p=h==null?void 0:h.card)==null?void 0:p.dataSource)==null?void 0:m.connectionId}),s=r.find(h=>h.id===o);function i(){return!(!(n!=null&&n.accessToken)||!o)}const{data:a,isPending:l,error:c,refetch:d}=xn({queryKey:["dataModels",o],queryFn:()=>qn(`${t.apiServiceUrl}/v1/datamodels`,(n==null?void 0:n.accessToken)||"",{connection_id:o}),enabled:i()}),f=a==null?void 0:a.datamodels.map(h=>({id:h.id,name:h.name,label:h.label,description:h.description,connectionId:o,dialect:h.dialect,connectionType:s==null?void 0:s.type,type:"model",database:h.database,schema:h.schema}));return{isPending:l,error:c,dataModels:f||[],refetch:d}}function FYe(){var S,E,C;const e=Ae(_=>_.card.dataSource);Ae(_=>_.actions.updateDirectSource);const t=Ae(_=>_.actions.updateDataSource),[n,r]=N.useState(""),{selectedConnection:o,error:s}=ta(),{databases:i,isPending:a,error:l,label:c}=IYe(),{schemas:d,isPending:f,error:h,label:p}=OYe(),{error:m}=xQ(),g=o==null?void 0:o.capabilities.path.includes("schema"),y=o==null?void 0:o.capabilities.path.includes("database"),b=c==null?void 0:c.toLowerCase(),x=p==null?void 0:p.toLowerCase(),v=_=>{e&&t({...e,dbSelection:{database:_,schema:"",entityType:"table"},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})},w=_=>{var R;if(!((R=e==null?void 0:e.dbSelection)!=null&&R.database))return;const j=e.dbSelection||{database:"",schema:"",entityType:"table"};t({...e,dbSelection:{...j,schema:_},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})};return u.jsxs(u.Fragment,{children:[(s||l||h||m)&&u.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 p-3",children:[u.jsx("div",{className:"flex items-center",children:u.jsxs("div",{className:"text-sm text-red-800",children:[u.jsx("strong",{children:"Error loading data:"}),u.jsxs("ul",{className:"mt-1 list-inside list-disc",children:[s&&u.jsxs("li",{children:["Connections: ",s]}),l&&u.jsxs("li",{children:[c,": ",l.message]}),h&&u.jsxs("li",{children:[p,": ",h.message]}),m&&u.jsxs("li",{children:["Data Models: ",m.message]})]})]})}),u.jsx(ae,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>window.location.reload(),children:"Retry"})]}),u.jsxs("div",{className:"space-y-4",children:[y&&u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium",children:c}),u.jsxs(Dt,{value:((S=e==null?void 0:e.dbSelection)==null?void 0:S.database)||"",onValueChange:v,disabled:a,children:[u.jsx(_t,{className:"w-full",children:u.jsxs("div",{className:"flex items-center gap-2",children:[a&&u.jsx(Cs,{className:"h-4 w-4 animate-spin"}),u.jsx(Ft,{placeholder:l?`Error loading ${b}`:a?`Loading ${b}...`:`Select ${b}...`})]})}),u.jsx(jt,{children:i.map(_=>u.jsx(ve,{className:"hover:bg-muted",value:_.id,children:_.name},_.id))})]})]}),((E=e==null?void 0:e.dbSelection)==null?void 0:E.database)&&g&&u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium",children:p}),u.jsxs(Dt,{value:((C=e==null?void 0:e.dbSelection)==null?void 0:C.schema)||"",onValueChange:w,disabled:f,children:[u.jsx(_t,{className:"w-full",children:u.jsxs("div",{className:"flex items-center gap-2",children:[f&&u.jsx(Cs,{className:"h-4 w-4 animate-spin"}),u.jsx(Ft,{placeholder:h?`Error loading ${x}`:f?`Loading ${x}...`:`Select ${x}...`})]})}),u.jsx(jt,{children:d.map(_=>u.jsx(ve,{className:"hover:bg-muted",value:_.id,children:_.name},_.id))})]})]})]})]})}function $Ye(){const e=Ae(l=>l.card.dataSource),t=Ae(l=>l.actions.updateDataSource),[n,r]=N.useState(!1),o=l=>{if(!l||(e==null?void 0:e.mode)!=="upload")return;const c=Array.from(l).map(f=>({id:`file-${Date.now()}-${Math.random()}`,name:f.name,type:"upload",connectionId:"default",connectionType:"none",label:f.name,description:`Uploaded ${new Date().toLocaleString()}`,originalName:f.name,file:f})),d=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...d,...c]})},s=l=>{if(!e)return;const c=(e.selectedEntities||[]).filter(d=>d.id!==l);t({...e,selectedEntities:c})},i=l=>{if(l===0)return"0 Bytes";const c=1024,d=["Bytes","KB","MB","GB"],f=Math.floor(Math.log(l)/Math.log(c));return Number.parseFloat((l/Math.pow(c,f)).toFixed(2))+" "+d[f]},a=(e==null?void 0:e.selectedEntities)||[];return u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium",children:"Upload Files"}),u.jsxs("div",{className:`rounded-lg border-2 border-dashed p-6 text-center transition-colors ${n?"border-blue-400 bg-blue-50":"border-gray-300 hover:border-gray-400"}`,onDragOver:l=>{l.preventDefault(),r(!0)},onDragLeave:()=>r(!1),onDrop:l=>{l.preventDefault(),r(!1),o(l.dataTransfer.files)},children:[u.jsx(Wv,{className:"mx-auto mb-2 h-8 w-8 text-gray-400"}),u.jsx("p",{className:"mb-2 text-sm text-gray-600",children:"Drag and drop files here, or click to select"}),u.jsx("input",{type:"file",multiple:!0,className:"hidden",id:"file-upload",onChange:l=>o(l.target.files),accept:".csv,.json,.xlsx,.xls"}),u.jsx(ae,{variant:"outline",size:"sm",onClick:()=>{var l;return(l=document.getElementById("file-upload"))==null?void 0:l.click()},children:"Select Files"}),u.jsx("p",{className:"mt-2 text-xs text-gray-500",children:"Supports CSV, JSON, Excel files"})]})]}),a.length>0&&u.jsxs("div",{className:"space-y-2",children:[u.jsxs(de,{className:"text-xs text-gray-600",children:["Uploaded Files (",a.length,")"]}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:a.map(l=>u.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[u.jsx(Ko,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),u.jsxs("div",{className:"min-w-0",children:[u.jsx("p",{className:"truncate text-sm text-gray-700",children:l.originalName}),u.jsx("p",{className:"text-xs text-gray-500",children:l.file?i(l.file.size):""})]})]}),u.jsx(ae,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>s(l.id),children:u.jsx(Xt,{className:"h-3 w-3"})})]},l.id))})]})]})}function LYe(){const e=Ae(f=>f.card.dataSource),t=Ae(f=>f.actions.updateDataSource),[n,r]=N.useState(""),[o,s]=N.useState(""),[i,a]=N.useState("api"),l=()=>{if(!n.trim()||!o.trim()||!e)return;const f={id:`url-${Date.now()}-${Math.random()}`,name:n.trim(),type:"url",connectionId:"default",connectionType:"none",label:n.trim(),description:`URL source of type ${i}`,url:o.trim(),sourceType:i,originalName:n.trim()},h=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...h,f]}),r(""),s(""),a("api")},c=f=>{if(!e)return;const h=(e.selectedEntities||[]).filter(p=>p.id!==f);t({...e,selectedEntities:h})},d=(e==null?void 0:e.selectedEntities)||[];return u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium text-gray-700",children:"URL Sources"}),u.jsxs("div",{className:"space-y-3 rounded-lg border bg-gray-50 p-3",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-xs text-gray-600",children:"Source Name"}),u.jsx(wr,{placeholder:"e.g., Sales API, Customer Data",value:n,onChange:f=>r(f.target.value),className:"h-8 text-sm"})]}),u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-xs text-gray-600",children:"URL"}),u.jsx(wr,{placeholder:"https://api.example.com/data",value:o,onChange:f=>s(f.target.value),className:"h-8 text-sm"})]}),u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-xs text-gray-600",children:"Type"}),u.jsxs("select",{value:i,onChange:f=>a(f.target.value),className:"h-8 w-full rounded-md border border-gray-300 px-2 text-sm",children:[u.jsx("option",{value:"api",children:"API Endpoint"}),u.jsx("option",{value:"csv",children:"CSV File"}),u.jsx("option",{value:"json",children:"JSON File"})]})]}),u.jsxs(ae,{onClick:l,disabled:!n.trim()||!o.trim(),size:"sm",className:"w-full",children:[u.jsx(Xo,{className:"mr-1 h-3 w-3"}),"Add Source"]})]})]}),d.length>0&&u.jsxs("div",{className:"space-y-2",children:[u.jsxs(de,{className:"text-xs text-gray-600",children:["Added Sources (",d.length,")"]}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:d.map(f=>u.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[u.jsx(Hv,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),u.jsxs("div",{className:"min-w-0",children:[u.jsx("p",{className:"truncate text-sm text-gray-700",children:f.name}),u.jsx("p",{className:"truncate text-xs text-gray-500",children:f.url})]})]}),u.jsx(ae,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>c(f.id),children:u.jsx(Xt,{className:"h-3 w-3"})})]},f.id))})]})]})}function zYe(e,t){var x,v;const{tokenProps:n}=qe(),r=ee(w=>w.authToken)||t,{connections:o}=ta(t),s=Ae(w=>{var S,E;return(E=(S=w==null?void 0:w.card)==null?void 0:S.dataSource)==null?void 0:E.connectionId}),i=Ae(w=>{var S,E,C;return(C=(E=(S=w==null?void 0:w.card)==null?void 0:S.dataSource)==null?void 0:E.dbSelection)==null?void 0:C.database}),a=Ae(w=>{var S,E,C;return(C=(E=(S=w==null?void 0:w.card)==null?void 0:S.dataSource)==null?void 0:E.dbSelection)==null?void 0:C.schema}),l=o==null?void 0:o.find(w=>w.id===s),c=l==null?void 0:l.capabilities,d=((x=c==null?void 0:c.labels)==null?void 0:x.schema)||"Schema";function f(){return s?(l==null?void 0:l.type)==="API"||(l==null?void 0:l.type)==="S3"?!0:!(!i||c!=null&&c.path.includes("schema")&&!a):!1}const{data:h,isPending:p,isLoading:m,error:g,refetch:y}=xn({queryKey:[e,s,i,a],queryFn:()=>qn(`${n.apiServiceUrl}/v1/${e}s`,(r==null?void 0:r.accessToken)||"",{connection_id:s,database_name:i,schema_name:a}),enabled:f()}),b=(v=h==null?void 0:h[`${e}s`])==null?void 0:v.map(w=>{var S;return{connectionId:l==null?void 0:l.id,connectionType:l==null?void 0:l.type,dialect:l==null?void 0:l.dialect,type:e,dbObjectType:(S=w==null?void 0:w.table_type)==null?void 0:S.toLowerCase(),id:w[`${e}_name`],database:i,schema:a,name:w[`${e}_name`]}});return{isPending:p,isLoading:m,error:g,entities:b||[],refetch:y,label:d}}function kv({title:e,message:t}){return u.jsx("div",{className:"rounded-xl border border-destructive/40 bg-destructive/10 p-4 text-destructive shadow-sm",children:u.jsxs("div",{className:"flex items-start gap-4",children:[u.jsx(Tf,{className:"h-6 w-6 flex-shrink-0"}),u.jsxs("div",{className:"flex-1",children:[u.jsx("h4",{className:"text-base font-semibold",children:e}),t&&u.jsx("p",{className:"mt-1 text-sm text-destructive/90",children:t})]})]})})}function BYe({dataSource:e,onSelectionChange:t,selectedEntities:n,onRegisterSelectAll:r}){const{connections:o,isPending:s}=ta(),[i,a]=N.useState(""),[l,c]=N.useState(""),[d,f]=N.useState("tables"),{updateDataSource:h,setSelectedConnectionId:p}=lo(),{entities:m,isLoading:g,error:y}=zYe("table"),{dataModels:b,isPending:x,error:v}=xQ(),w=R=>{const P=o.find(F=>F.id===R);if(!P)return;const M=P.type==="upload"?"upload":P.type==="url"?"url":"database";h({...e,connectionId:R,connectionType:P.type,mode:M,dbSelection:{database:"",schema:"",entityType:"table"}}),p(R)},S=R=>{var I,A;const P=n||[],M=P.some(O=>O.name===R.name&&O.type===R.type);let F;if(M)F=P.filter(O=>!(O.name===R.name&&O.type===R.type));else{const O={connectionId:e.connectionId,connectionType:e.connectionType,type:R.type,dbObjectType:R.dbObjectType,database:((I=e.dbSelection)==null?void 0:I.database)||"",schema:((A=e.dbSelection)==null?void 0:A.schema)||"",name:R.name,dialect:R.dialect};F=[...P,O]}t==null||t(F)},E=R=>{const P=n||[],M=P.some(I=>I.type==="model"&&I.name===R.name);let F;M?F=P.filter(I=>!(I.type==="model"&&I.name===R.name)):F=[...P,R],t==null||t(F)},C=m.filter(R=>R.name.toLowerCase().includes(i.toLowerCase())),_=b.filter(R=>R.name.toLowerCase().includes(l.toLowerCase())),j=N.useCallback(()=>{if(!t)return;const R=n||[];let P=[...R];if(d==="tables"){const F=C.filter(I=>!R.some(A=>A.name===I.name&&A.type==="table")).map(I=>{var A,O;return{connectionId:e.connectionId,connectionType:e.connectionType,type:"table",dbObjectType:I.dbObjectType,database:((A=e.dbSelection)==null?void 0:A.database)||"",schema:((O=e.dbSelection)==null?void 0:O.schema)||"",name:I.name,dialect:I.dialect}});P=[...R,...F]}else if(d==="datamodels"){const M=_.filter(F=>!R.some(I=>I.name===F.name&&I.type==="model"));P=[...R,...M]}t(P)},[d,C,_,n,e,t]);return N.useEffect(()=>{r&&r(j)},[r,j]),u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"font-medium= text-sm",children:"Connection"}),u.jsxs(Dt,{value:(e==null?void 0:e.connectionId)||"",onValueChange:w,disabled:s,children:[u.jsx(_t,{className:"w-full",children:u.jsx(Ft,{placeholder:s?"Loading connections...":"Select connection..."})}),u.jsx(jt,{children:o.map(R=>u.jsx(ve,{className:"hover:bg-muted",value:R.id,children:u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[u.jsx(nu,{className:"h-4 w-4 flex-shrink-0"}),u.jsx("span",{className:"truncate",children:R.name}),u.jsx(Tt,{variant:"secondary",className:"flex-shrink-0 text-xs",children:R.type})]})},R.id))})]})]}),(e==null?void 0:e.connectionId)&&u.jsxs(u.Fragment,{children:[e.connectionType==="upload"&&u.jsx($Ye,{}),e.connectionType==="url"&&u.jsx(LYe,{}),e.connectionType!=="upload"&&e.connectionType!=="url"&&u.jsxs(u.Fragment,{children:[u.jsx(FYe,{}),u.jsx("div",{className:"space-y-4",children:u.jsx("div",{className:"space-y-2",children:u.jsxs(di,{defaultValue:"tables",value:d,onValueChange:R=>f(R),className:"w-full",children:[u.jsxs(Rs,{className:"grid w-full grid-cols-2",children:[u.jsxs(Ln,{value:"tables",children:["Tables & Views (",C.length,")"]}),u.jsxs(Ln,{value:"datamodels",children:["Data Models (",_.length,")"]})]}),u.jsxs(xr,{value:"tables",className:"space-y-2",children:[u.jsx(Nr,{placeholder:"Search tables and views...",value:i,onChange:R=>a(R.target.value),className:"h-8 text-sm",disabled:g}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:g?u.jsx("div",{className:"py-4 text-center text-sm",children:"Loading tables..."}):y?u.jsx(kv,{title:"Error loading tables",message:y.message||"Failed to load tables. Please try again.",onRetry:()=>window.location.reload()}):C.length===0?u.jsx("div",{className:"py-4 text-center text-sm",children:"No tables or views found"}):C.map(R=>{const P=n.some(M=>M.name===R.name&&M.type==="table");return u.jsxs("div",{className:"group flex cursor-pointer items-center space-x-2 rounded p-2 hover:bg-muted",onClick:()=>S(R),children:[u.jsx(pn,{id:`table-${R.name}`,checked:P,onCheckedChange:()=>S(R),onClick:M=>M.stopPropagation(),disabled:g}),u.jsxs(de,{className:"flex flex-1 cursor-pointer items-center gap-2",children:[R.name,R.dbObjectType==="view"&&u.jsx(Tt,{variant:"secondary",className:"text-xs group-hover:border-border",children:"View"})]})]},R.name)})})]}),u.jsxs(xr,{value:"datamodels",className:"space-y-2",children:[u.jsx(Nr,{placeholder:"Search data models...",value:l,onChange:R=>c(R.target.value),className:"h-8 text-sm",disabled:x}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:x?u.jsx("div",{className:"py-4 text-center text-sm",children:"Loading data models..."}):v?u.jsx(kv,{title:"Error loading data models",message:v.message||"Failed to load data models. Please try again.",onRetry:()=>window.location.reload()}):_.length===0?u.jsx("div",{className:"py-4 text-center text-sm",children:"No data models found"}):_.map(R=>{const P=n.some(M=>M.name===R.name&&M.type==="model");return u.jsxs("div",{className:"flex cursor-pointer items-start space-x-2 rounded p-2 hover:bg-muted",onClick:()=>E(R),children:[u.jsx(pn,{id:`dataModel-${R.name}`,checked:P,onCheckedChange:()=>E(R),onClick:M=>M.stopPropagation(),disabled:x}),u.jsxs("div",{className:"flex flex-1 cursor-pointer flex-col gap-1",children:[u.jsx(de,{className:"cursor-pointer",children:R.name}),u.jsx("span",{className:"text-xs text-muted-foreground",children:R.description})]})]},R.name)})})]})]})})})]})]})]})}function VYe({dataSource:e,onDataSourceUpdate:t,onSelectionChange:n,selectedEntities:r,allowedDomainIds:o=[],isRestricted:s=!1,autoSelectedDomainId:i,onRegisterSelectAll:a}){var S;const[l,c]=N.useState(""),d=N.useCallback(E=>{const C={...e,connectionId:e.connectionId||"none",connectionType:e.connectionType||"none",mode:"semanticDomain",semanticDomainId:E};t({...C})},[e,t]);N.useEffect(()=>{i&&!(e!=null&&e.semanticDomainId)&&d(i)},[i,e==null?void 0:e.semanticDomainId,d]);const{semanticDomains:f,isPending:h,error:p}=TYe(),m=s?f.filter(E=>o.includes(E.id)):f,{datasets:g,isPending:y,error:b}=AYe(e==null?void 0:e.semanticDomainId),x=E=>{const C=r||[],_=C.some(R=>R.id===E.id&&R.type==="dataset");let j;if(_)j=C.filter(R=>!(R.id===E.id&&R.type==="dataset"));else{const R={id:E.id,datasetType:E.type,name:E.name||E.table,label:E.label,domainId:E.domainId,description:E.description,database:E.database,schema:E.schema,type:"dataset",connectionId:E.connectionId,connectionType:E.connectionType,dialect:E.dialect,datamodelId:E.datamodelId,sql:E.sql};j=[...C,R]}n==null||n(j)},v=g.filter(E=>E.name.toLowerCase().includes(l.toLowerCase())),w=N.useCallback(()=>{if(!n||!(e!=null&&e.semanticDomainId))return;const E=r||[],_=v.filter(R=>!E.some(P=>P.id===R.id&&P.type==="dataset")).map(R=>({id:R.id,datasetType:R.type,name:R.name||R.table,label:R.label,domainId:R.domainId,description:R.description,database:R.database,schema:R.schema,type:"dataset",connectionId:R.connectionId,connectionType:R.connectionType,dialect:R.dialect,datamodelId:R.datamodelId,sql:R.sql})),j=[...E,..._];n(j)},[v,r,e==null?void 0:e.semanticDomainId,n]);return N.useEffect(()=>{a&&a(w)},[a,w]),u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium",children:"Semantic Domain"}),u.jsxs(Dt,{value:(e==null?void 0:e.semanticDomainId)||"",onValueChange:d,disabled:h||s&&!!i,children:[u.jsx(_t,{className:"w-full",children:u.jsx(Ft,{placeholder:h?"Loading semantic domains...":s&&i?"Loading domain...":"Select semantic domain...",children:((S=m.find(E=>E.id===(e==null?void 0:e.semanticDomainId)))==null?void 0:S.label)||"Select semantic domain"})}),u.jsx(jt,{children:m.map(E=>u.jsx(ve,{className:"hover:bg-muted",value:E.id,children:u.jsxs("div",{className:"flex flex-col items-start",children:[u.jsx("span",{className:"font-medium",children:E.label}),u.jsx("span",{className:"text-xs",children:E.description})]})},E.id))})]}),p&&u.jsx(kv,{title:"Error loading semantic models",message:p.message})]}),(e==null?void 0:e.semanticDomainId)&&u.jsxs("div",{className:"space-y-2",children:[u.jsx(de,{className:"text-sm font-medium text-gray-700",children:"Datasets"}),u.jsxs("div",{className:"space-y-2",children:[u.jsx(Nr,{placeholder:"Search datasets...",value:l,onChange:E=>c(E.target.value),className:"h-8 text-sm",disabled:y}),u.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:y?u.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:"Loading datasets..."}):b?u.jsx(kv,{title:"Error loading datasets",message:b.message||"Failed to load datasets. Please try again.",onRetry:()=>window.location.reload()}):v.length===0?u.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:l?"No datasets match your search":"No datasets available"}):v.map(E=>{const C=r.some(_=>_.id===E.id&&_.type==="dataset");return u.jsxs("div",{className:"flex cursor-pointer items-start space-x-2 rounded p-2 hover:bg-gray-50",onClick:()=>x(E),children:[u.jsx(pn,{id:`dataset-${E.id}`,checked:C,onCheckedChange:()=>x(E),onClick:_=>_.stopPropagation(),disabled:y}),u.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[u.jsx(de,{className:"cursor-pointer font-medium",children:E.label||E.name}),u.jsx("span",{className:"text-xs text-gray-500",children:E.description})]})]},E.label||E.name)})})]})]})]})}function JD({open:e,onOpenChange:t,dataSource:n,dialogMode:r,incomingSelectedEntities:o}){const{tokenProps:s}=qe(),{allowedSemanticDomains:i}=s,[a,l]=N.useState([]),{updateDataSource:c}=lo(),d=ee(P=>P.isVisualEditing),f=ee(P=>P.dashboard.aiContext),{setAiContext:h}=en(),p=N.useRef(null),[m,g]=N.useState(!1),y=i&&i.length>0,b=!y,x=y&&i.length===1?i[0]:void 0,v=N.useCallback(P=>{c({...n,connectionId:(n==null?void 0:n.connectionId)||"",connectionType:(n==null?void 0:n.connectionType)||"",mode:P,selectedEntities:(n==null?void 0:n.selectedEntities)||[]})},[n,c]),w=N.useCallback(P=>{c({...n,...P})},[n,c]);N.useEffect(()=>{y&&n.mode!=="semanticDomain"&&v("semanticDomain")},[y,n.mode,v]),N.useEffect(()=>{x&&!n.semanticDomainId&&w({semanticDomainId:x})},[x,n.semanticDomainId,w]),N.useEffect(()=>{e?l(o||[]):(p.current=null,g(!1))},[e,n==null?void 0:n.selectedEntities,r,c,o,n]);const S=P=>{const M=a.filter(F=>!(F.name===P.name&&F.type===P.type));l(M)},E=()=>{l([])},C=N.useCallback(P=>{l(P)},[]),_=N.useCallback(()=>{p.current&&p.current()},[]),j=N.useCallback(P=>{p.current=P,g(!0)},[]);function R(){var P,M;if(r==="aiContext")d&&c(n),h({...f,selectedEntities:a}),t(!1);else if(r==="dataSource"){if(n.mode==="semanticDomain"){const F=(P=a==null?void 0:a[0])==null?void 0:P.connectionId,I=(M=a==null?void 0:a[0])==null?void 0:M.connectionType;c({...n,connectionId:F,connectionType:I,selectedEntities:a})}else c({...n,selectedEntities:a});t(!1)}}return u.jsx(_s,{open:e,onOpenChange:t,children:u.jsx(ns,{className:"flex max-w-2xl flex-col",children:u.jsxs("div",{children:[u.jsxs(rs,{className:"flex-shrink-0",children:[u.jsx(os,{children:r==="aiContext"?"Data Context":"Select Data Source"}),u.jsx(ci,{children:r==="aiContext"?"Set the overall data scope for the dashboard":"Select data sets to analyze"})]}),u.jsx("div",{className:"flex-1 grow overflow-y-auto py-4",children:u.jsxs("div",{className:"space-y-4",children:[b&&u.jsx("div",{className:"space-y-2",children:u.jsx(di,{defaultValue:(n==null?void 0:n.mode)||"database",value:(n==null?void 0:n.mode)||"database",onValueChange:v,className:"w-full",children:u.jsxs(Rs,{className:"grid w-full grid-cols-2",children:[u.jsx(Ln,{value:"database",children:"Direct Source"}),u.jsx(Ln,{value:"semanticDomain",children:"Semantic Domain"})]})})}),(n==null?void 0:n.mode)==="semanticDomain"&&u.jsx(VYe,{dataSource:n,onDataSourceUpdate:w,selectedEntities:a,onSelectionChange:C,allowedDomainIds:i||[],isRestricted:y,autoSelectedDomainId:x,onRegisterSelectAll:j}),(n==null?void 0:n.mode)==="database"&&b&&u.jsx(BYe,{dataSource:n,onDataSourceUpdate:w,selectedEntities:a,onSelectionChange:C,onRegisterSelectAll:j})]})}),u.jsx(PYe,{selectedEntities:a,onDeselectEntity:S}),u.jsx(js,{className:"flex-shrink-0",children:u.jsx("div",{className:"flex w-full justify-between",children:u.jsxs("div",{className:"flex grow justify-end gap-2",children:[u.jsx(ae,{variant:"outline",onClick:_,disabled:!m,children:"Select All"}),u.jsx(ae,{variant:"outline",onClick:E,disabled:a.length===0,children:"Clear All"}),u.jsxs(ae,{variant:"outline",onClick:()=>t(!1),children:[u.jsx(Xt,{className:"mr-2 h-4 w-4"}),"Close"]}),u.jsxs(ae,{onClick:R,children:[u.jsx(_r,{className:"mr-2 h-4 w-4"}),"Accept"]})]})})})]})})})}function HYe({onFilesSelected:e,disabled:t=!1,currentFileCount:n=0,className:r}){const o=N.useRef(null),s=async a=>{const l=Array.from(a.target.files||[]);if(l.length===0)return;const c=wa-n;if(l.length>c){Ue.error(`You can only attach ${wa} files per message. You have ${c} slot(s) remaining.`);return}const{valid:d,errors:f}=XK(l);if(f.forEach(({file:h,error:p})=>{Ue.error(`${h.name}: ${p}`)}),d.length>0)try{const h=await Promise.all(d.map(p=>TD(p)));e(h)}catch(h){console.error("Failed to process files:",h),Ue.error("Failed to process one or more files")}o.current&&(o.current.value="")},i=()=>{var a;(a=o.current)==null||a.click()};return u.jsxs(u.Fragment,{children:[u.jsx("input",{ref:o,type:"file",multiple:!0,accept:".png,.jpg,.jpeg,.gif,.webp,.pdf,.txt,.md,.csv,.json,.xml,.js,.jsx,.ts,.tsx,.py,.sql",onChange:s,className:"hidden",disabled:t||n>=wa}),u.jsx(ae,{variant:"secondary",size:"sm",className:`h-7 px-2 ${r}`,onClick:i,disabled:t||n>=wa,title:n>=wa?`Maximum ${wa} files allowed`:"Attach files",children:u.jsx(C_,{className:"h-4 w-4 text-muted-foreground"})})]})}function UYe({children:e,onFilesDropped:t,disabled:n=!1,currentFileCount:r=0,className:o}){const[s,i]=N.useState(!1),a=N.useCallback(f=>{f.preventDefault(),f.stopPropagation(),n||i(!0)},[n]),l=N.useCallback(f=>{f.preventDefault(),f.stopPropagation();const h=f.currentTarget.getBoundingClientRect(),p=f.clientX,m=f.clientY;(p<h.left||p>=h.right||m<h.top||m>=h.bottom)&&i(!1)},[]),c=N.useCallback(f=>{f.preventDefault(),f.stopPropagation()},[]),d=N.useCallback(async f=>{if(f.preventDefault(),f.stopPropagation(),i(!1),n)return;const h=Array.from(f.dataTransfer.files);if(h.length===0)return;const p=wa-r;if(h.length>p){Ue.error(`You can only attach ${wa} files per message. You have ${p} slot(s) remaining.`);return}const{valid:m,errors:g}=XK(h);if(g.forEach(({file:y,error:b})=>{Ue.error(`${y.name}: ${b}`)}),m.length>0)try{const y=await Promise.all(m.map(b=>TD(b)));t(y),Ue.success(`${y.length} file(s) attached successfully`)}catch(y){console.error("Failed to process files:",y),Ue.error("Failed to process one or more files")}},[n,r,t]);return u.jsxs("div",{className:Z("relative",o),onDragEnter:a,onDragLeave:l,onDragOver:c,onDrop:d,children:[e,s&&!n&&u.jsx("div",{className:"pointer-events-none absolute inset-0 z-50 flex items-center justify-center rounded-lg border-2 border-dashed border-primary bg-primary/5 backdrop-blur-sm",children:u.jsxs("div",{className:"flex flex-col items-center gap-2",children:[u.jsx(Wv,{className:"h-8 w-8 text-primary"}),u.jsx("p",{className:"text-sm font-medium text-primary",children:"Drop files here to upload"}),u.jsxs("p",{className:"text-xs text-muted-foreground",children:[wa-r," slot(s) available"]})]})})]})}const eP=N.forwardRef(({input:e,setInput:t,handleInputChange:n,handleSubmit:r,isLoading:o,stop:s,onFocus:i,status:a,assistantType:l},c)=>{const[d,f]=N.useState(!1),[h,p]=N.useState(!1),[m,g]=N.useState(!1),y=N.useRef(null),b=Dg();sie(),oie();const{setCurrentAIContext:x,updateSelectedEntities:v,setReasoningEffort:w,setShowReasoning:S}=Kv(),{queueMessage:E}=mh(),{addFileAttachment:C,removeFileAttachment:_,clearFileAttachments:j,getFileAttachments:R}=F_(),P=O_(l),M=Ae(B=>B.card.dataSource),F=ee(B=>B.dashboard.aiContext),I=ee(B=>{var G;return(G=B.dashboard.aiContext)==null?void 0:G.selectedEntities});N.useEffect(()=>{c&&"current"in c&&(c.current=y.current)},[c]);const A=N.useCallback(()=>{const B=y.current;if(B){if(!e||e.length===0){B.style.height="10px";return}B.style.height="auto";const G=Math.min(Math.max(B.scrollHeight,10),200);B.style.height=`${G}px`}},[e]);N.useEffect(()=>{A()},[A]),N.useEffect(()=>{const B=setTimeout(()=>{A()},0);return()=>clearTimeout(B)},[A]);const O=()=>{const B=e.trim();!B&&P.length===0||(a!=="ready"?(E(l,B,P),t(""),j(l)):r({preventDefault:()=>{}}))},U=B=>{B.key==="Enter"&&!B.shiftKey&&(B.preventDefault(),O()),B.key==="@"&&(V(),f(!0))},W=N.useCallback(B=>{const G=XBe(B.nativeEvent);G.length>0&&(B.preventDefault(),G.forEach(async X=>{const re=await TD(X);C(l,re)}))},[C,l]),$=N.useCallback(B=>{B.forEach(G=>{C(l,G)})},[C,l]),T=N.useCallback(B=>{B.forEach(G=>{C(l,G)})},[C,l]),z=N.useCallback(B=>{_(l,B)},[_,l]),L=B=>{if(b.selectedEntities.some(X=>X.id&&X.id===B.id||X.name===B.name)){const X=b.selectedEntities.filter(re=>!(re.id&&re.id===B.id||re.name===B.name));x({selectedEntities:X})}else{const X=[...b.selectedEntities,B];x({selectedEntities:X})}},D=B=>{L(B)},H=B=>{var re;if(!b.selectedEntities.some(J=>J.id&&J.id===B.id||J.name===B.name)){const J=[...b.selectedEntities,B];x({selectedEntities:J})}const X="label"in B?B.label:B.name;t(e+`@${X} `),f(!1),(re=y.current)==null||re.focus()},q=B=>{const G=b.selectedEntities.filter(J=>!(J.id&&J.id===B.id||J.name===B.name));x({selectedEntities:G});const re=`@${"label"in B?B.label:B.name}`;e.includes(re)&&t(e.replace(re,"").trim())},Y=B=>{const G=new Set(B.map(J=>J.id||J.name)),X=b.selectedEntities.filter(J=>!G.has(J.id||J.name));x({selectedEntities:X});let re=e;B.forEach(J=>{const te=`@${"label"in J?J.label:J.name}`;re=re.replace(te,"").trim()}),t(re)},V=N.useCallback(()=>{b.selectedEntities.length===0&&x({selectedEntities:(F==null?void 0:F.selectedEntities)||[]})},[b.selectedEntities.length,F==null?void 0:F.selectedEntities,x]);return u.jsxs(UYe,{onFilesDropped:$,currentFileCount:P.length,disabled:o,className:"space-y-4",children:[u.jsx(MYe,{entities:b.selectedEntities,availableEntities:I||[],onRemoveEntity:q,onRemoveEntities:Y}),P.length>0&&u.jsx(QBe,{files:P,onRemove:z,showRemove:!o,className:"mb-2"}),u.jsxs("div",{className:"rounded-lg border border-border bg-background shadow-sm focus-within:ring-1 focus-within:ring-foreground/40",children:[u.jsx("textarea",{ref:y,value:e,onChange:n,onKeyDown:U,onPaste:W,onFocus:()=>{A(),i==null||i()},placeholder:"Ask a question...",className:"max-h-[200px] min-h-[40px] w-full resize-none overflow-y-auto border-0 bg-transparent px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground/50 focus:outline-none focus:ring-0",style:{height:"40px",lineHeight:"1.5"}}),u.jsxs("div",{className:"flex items-center justify-between border-foreground/10 px-3 py-2",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[l==="dashboard"&&u.jsxs(qs,{open:d,onOpenChange:B=>{B&&V(),f(B)},children:[u.jsx(Gs,{asChild:!0,children:u.jsx(ae,{variant:"secondary",size:"sm",className:"h-7 px-2",title:"Add entity",children:u.jsx(wne,{className:"h-4 w-4 text-muted-foreground"})})}),u.jsx(Ys,{className:"w-80 p-0",align:"start",side:"top",sideOffset:8,onOpenAutoFocus:B=>B.preventDefault(),children:u.jsx(jYe,{isOpen:!0,onSelect:L,onDeselect:D,onClose:()=>{var B;f(!1),(B=y.current)==null||B.focus()},availableEntities:I||[],selectedEntities:b.selectedEntities,onTabComplete:H,onSelectAll:()=>{I&&x({selectedEntities:I})},onRemoveAll:()=>{x({selectedEntities:[]})},onAddContext:()=>{f(!1),p(!0)}})})]}),u.jsx(HYe,{onFilesSelected:T,disabled:o,currentFileCount:P.length})]}),u.jsxs("div",{className:"flex items-center gap-2",children:[o&&u.jsx(ae,{className:"rounded-full",size:"sm",onClick:s,children:u.jsx(One,{className:"size-3.5 bg-background"})}),!o&&u.jsx(ae,{disabled:!e.trim()&&P.length===0,size:"sm",variant:a!=="ready"?"secondary":"default",onClick:O,title:a!=="ready"?"Message will be queued":void 0,children:u.jsx(uL,{className:"size-4"})})]})]})]}),u.jsx(JD,{incomingSelectedEntities:b.selectedEntities,open:h,onOpenChange:p,dataSource:M||H1,dialogMode:"aiContext"})]})});eP.displayName="ChatInputWithContext";function vQ({assistantType:e,className:t}){const n=y6(e),{removeFromQueue:r}=mh();return n.length===0?null:u.jsxs("div",{className:Z("space-y-2",t),children:[u.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[u.jsx(qa,{className:"h-3 w-3"}),u.jsxs("span",{children:["Pending messages (",n.length,")"]})]}),u.jsx("div",{className:"space-y-2",children:n.map(o=>u.jsx("div",{className:"group relative rounded-lg border border-dashed border-muted-foreground/30 bg-muted/30 px-3 py-2 text-sm animate-in fade-in-0 slide-in-from-bottom-1",children:u.jsxs("div",{className:"flex items-start justify-between gap-2",children:[u.jsx("div",{className:"flex-1 space-y-1",children:u.jsx("p",{className:"break-words text-foreground/70",children:o.text})}),u.jsx(ae,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 opacity-0 transition-opacity group-hover:opacity-100",onClick:()=>r(e,o.id),title:"Remove from queue",children:u.jsx(Xt,{className:"h-3 w-3"})})]})},o.id))})]})}function wQ({assistantType:e,status:t,isLoading:n,sendMessage:r}){const o=y6(e),{dequeueMessage:s}=mh();N.useEffect(()=>{if(t!=="ready"||n||!(o&&o.length>0))return;const a=s(e);a&&r({role:"user",parts:[{type:"text",text:a.text}]})},[t,n,o,s,r,e])}function SQ(e,t={}){const{threshold:n=50,delay:r=0,dependencies:o=[],forceScrollOnStream:s=!0}=t,i=N.useRef(null),[a,l]=N.useState(!0),[c,d]=N.useState(!0),[f,h]=N.useState(!1),[p,m]=N.useState(0),g=N.useRef(),y=N.useRef(e.length),b=N.useRef(!1),x=N.useRef(!1),v=N.useRef(0),w=N.useRef(0),S=N.useRef(),E=N.useCallback(()=>{const R=i.current;if(!R)return!0;const{scrollTop:P,scrollHeight:M,clientHeight:F}=R;return M-P-F<=n},[n]),C=N.useCallback((R={})=>{const P=i.current;if(!P)return;const{force:M=!1,instant:F=!1}=R;if(!a&&!M)return;const A=Date.now()-w.current;if(!M&&!F&&A<10)return;g.current&&clearTimeout(g.current),S.current&&clearTimeout(S.current);const O=()=>{x.current=!0,w.current=Date.now(),requestAnimationFrame(()=>{P&&(P.scrollTop=P.scrollHeight,d(!0),h(!1),m(0),setTimeout(()=>{x.current=!1},20))})};!F&&r>0?S.current=setTimeout(O,r):O()},[a,r]),_=N.useCallback(()=>{const R=i.current;if(!R||x.current)return;const P=R.scrollTop,M=Math.abs(P-v.current);v.current=P,M>5&&(b.current=!0);const F=E();d(F),F?(l(!0),h(!1),m(0),b.current=!1):b.current&&l(!1),b.current&&setTimeout(()=>{b.current=!1},200)},[E]),j=N.useCallback(()=>{m(0),h(!1)},[]);return N.useEffect(()=>(S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{let R=!1;if(s&&e.length>0){const F=e[e.length-1];(F==null?void 0:F.role)==="assistant"&&(R=!0,b.current=!1)}if((a||R)&&!b.current){const F=e.length>50&&!R;C({instant:F})}const P=e.length!==y.current,M=e.length>y.current;P&&(y.current=e.length,!a&&!R&&M&&(h(!0),m(F=>F+1)))},5),()=>{S.current&&clearTimeout(S.current)}),[e,o,C,a,s]),N.useEffect(()=>{C({instant:!0})},[C]),N.useEffect(()=>()=>{g.current&&clearTimeout(g.current),S.current&&clearTimeout(S.current)},[]),{scrollRef:i,isAutoScrollEnabled:a,isAtBottom:c,hasNewMessages:f,newMessageCount:p,scrollToBottom:C,handleScroll:_,resetNewMessageCount:j}}function CQ(e,t={}){const{maxVisibleMessages:n=50,initialLoadCount:r=20,loadMoreCount:o=10}=t,[s,i]=N.useState(r),a=N.useMemo(()=>{if(e.length<=s)return e;const h=Math.max(0,e.length-s);return e.slice(h)},[e,s]),l=e.length>s,c=s>=e.length,d=N.useCallback(()=>{i(h=>Math.min(h+o,n))},[o,n]),f=N.useCallback(()=>{i(r)},[r]);return N.useEffect(()=>{c&&e.length>s&&s<n&&i(Math.min(e.length,n))},[e.length,s,c,n]),{visibleMessages:a,hasMoreMessages:l,totalMessageCount:e.length,loadMoreMessages:d,resetMessageWindow:f,isShowingAll:c}}function EQ(e){var n;if(!e||e.length===0)return{hasActiveTools:!1};const t=e[e.length-1];if(!(t!=null&&t.parts))return{hasActiveTools:!1};for(const r of t.parts){if(r.type==="reasoning"&&"state"in r&&r.state==="streaming")return{hasActiveTools:!0,activeToolText:r.text||"Reasoning...",toolType:"reasoning"};if(((n=r.type)!=null&&n.startsWith("tool-")||r.type==="dynamic-tool")&&"state"in r&&["input-streaming","input-available"].includes(r.state)){const o=r,s=o.state;return{hasActiveTools:!0,activeToolText:QK(o.type,s),toolType:o.type}}}return{hasActiveTools:!1}}const WYe=[{title:"Show top 3 insights",subtitle:"from this dataset"},{title:"Create a bar chart for",subtitle:"sales by product category"}];function qYe({open:e,setOpen:t,isFullscreen:n,onFullscreenChange:r,fullscreenContainer:o}){const[s,i]=N.useState(!1),[a,l]=N.useState(Iv),[c,d]=N.useState(!1),[f,h]=N.useState(!1),[p,m]=N.useState(!1),g=n??p,{isLocalDev:y,isConsoleMode:b}=M1(),x=N.useRef(null);ee(le=>le.dashboard.aiScopeTables),ee(le=>le.isDashboardEditing);const v=ee(le=>le.selectedSheetId),{setDataSource:w}=lo(),{addFrame:S,setSelectedFrameId:E,setIsDashboardEditing:C}=en(),_=Dg(),{setCurrentAIContext:j,updateSelectedEntities:R,setReasoningEffort:P,setShowReasoning:M}=Kv(),{clearQueue:F}=mh(),{clearFileAttachments:I,getFileAttachments:A}=F_(),O=O_("dashboard"),U=ee(le=>le.dashboard.aiContext),W=Ae(le=>le.card.dataSource),{assistantProfile:$}=mQ(),T=ee(le=>le.handleOpenAssistantProfile),{sendMessage:z,isLoading:L,messages:D,setMessages:H,status:q,stop:Y,errorMessage:V,clearError:B}=kYe(),G=N.useCallback(le=>{r==null||r(le),n===void 0&&m(le)},[n,r]),X=N.useCallback(()=>{G(!g)},[g,G]);N.useEffect(()=>{if(!g)return;function le(me){me.key==="Escape"&&G(!1)}return window.addEventListener("keydown",le),()=>{window.removeEventListener("keydown",le)}},[g,G]);const[re,J]=N.useState(""),ue=le=>{J(le.target.value)};function te({sql:le,data:me,cardTitle:je,connectionId:Ce,cardType:Re,python:ze,cardConfig:Ie,dataSource:Fe}){if(console.log("handleAddNewFrame",{sql:le,data:me,cardTitle:je,connectionId:Ce,cardType:Re,python:ze,cardConfig:Ie,dataSource:Fe}),!v)return;const Ye={id:br(),title:je||"Title",preferences:{onClickFilter:[{columnIndex:0,expression:""}],chartOptions:{indexAxis:Re==="horizontalBar"?"y":"x"}},type:Re,sql:le,python:ze,dataSource:Fe,config:Ie,connectionId:Ce},et={id:br(),cards:[Ye],activeCardId:Ye.id};C(!0),S(v,et,"end"),E(et.id)}const se=le=>{le.preventDefault();const me=re.trim();if(!me&&O.length===0)return;const je=[];me&&je.push({type:"text",text:me}),O.forEach(Ce=>{Ce.data&&je.push({type:"file",mediaType:Ce.type,filename:Ce.name,url:`data:${Ce.type};base64,${Ce.data}`})}),z({role:"user",parts:je}),J(""),I("dashboard"),ie({force:!0})};N.useEffect(()=>{var le;e&&((le=x.current)==null||le.focus())},[e]),wQ({assistantType:"dashboard",status:q,isLoading:L,sendMessage:z});const{hasActiveTools:oe}=EQ(D),{visibleMessages:Ne,hasMoreMessages:fe,totalMessageCount:ye,loadMoreMessages:Pe,resetMessageWindow:it}=CQ(D,{maxVisibleMessages:15,initialLoadCount:10,loadMoreCount:5}),{scrollRef:Ve,isAtBottom:We,hasNewMessages:wn,newMessageCount:Mn,scrollToBottom:ie,handleScroll:be,resetNewMessageCount:Me}=SQ(Ne,{threshold:50,delay:0,dependencies:[q,D.length]});function Be(le){zt();const me={role:"user",parts:[{type:"text",text:le.title+" "+le.subtitle}]};z(me)}function Ze(le){zt(),z({role:"user",parts:[{type:"text",text:le}]})}function Ct(le){zt(),z({role:"user",parts:[{type:"text",text:le}]}),ie({force:!0})}const sn=N.useCallback(async()=>{const le=JSON.stringify(D??[],null,2);try{if(typeof navigator>"u"||!navigator.clipboard)throw new Error("Clipboard API unavailable");await navigator.clipboard.writeText(le),Ue.success("Conversation copied")}catch(me){console.error("Failed to copy conversation",me),Ue.error("Unable to copy conversation")}},[D]);function zt(){_.selectedEntities.length===0&&j({selectedEntities:(U==null?void 0:U.selectedEntities)||[]})}const Gt=(re==null?void 0:re.length)===0&&(D==null?void 0:D.filter(le=>le.role==="user").length)===0;function xe(){return u.jsx("div",{"data-role":"header",children:u.jsx("div",{className:"text-lg font-semibold",children:"Assistant"})})}function bt(){return u.jsxs(lb,{children:[u.jsx(cb,{asChild:!0,children:u.jsx(Yd,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",children:u.jsx(Bv,{className:"size-3.5"})})}),u.jsxs(Rh,{align:"end",children:[u.jsx(df,{children:"Options"}),u.jsx(ub,{}),u.jsx(im,{checked:s,onCheckedChange:i,children:"Token Usage"}),u.jsx(im,{checked:a,onCheckedChange:l,children:"Tool Invocations"}),u.jsx(im,{checked:c,onCheckedChange:d,children:"System Message"})]})]})}const bn=u.jsxs("div",{"data-role":"dashboard-assistant",className:Z("flex h-full grow flex-col justify-between break-words px-6 py-4",g&&"rounded-2xl border border-border/60 bg-background px-8 pb-6 pt-6 shadow-xl"),children:[u.jsxs("div",{"data-role":"header-section",className:"flex items-start justify-between gap-2",children:[xe(),T&&u.jsx(ae,{variant:"outline",size:"sm",className:"h-7 p-2",onClick:T,children:($==null?void 0:$.name)||"Default Profile"}),u.jsxs("div",{"data-role":"header-actions",className:"flex items-center",children:[b&&bt(),a&&u.jsx(ae,{variant:"ghost",size:"sm",className:"ml-2 h-7 px-2 text-muted-foreground hover:text-foreground",onClick:sn,children:"Copy Conversation"}),y&&u.jsx(Fu,{text:JSON.stringify(D,null,2),className:"h-7 p-2"}),u.jsx(Yd,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:g?"Exit Fullscreen":"Expand",onClick:X,children:g?u.jsx(sL,{className:"size-4"}):u.jsx(w_,{className:"size-4"})}),u.jsx(Yd,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:"New Chat",onClick:()=>{H([]),F("dashboard"),B(),it()},children:u.jsx(dL,{className:"size-4"})}),u.jsx(Yd,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",onClick:()=>{t(!1)},children:u.jsx(Xt,{className:"size-4"})})]})]}),u.jsxs(Ju,{"data-role":"dashboard-assistant-scroll-area",ref:Ve,className:"mt-4 flex flex-1 basis-0 flex-col flex-wrap justify-end pr-2",onScroll:be,children:[u.jsxs("div",{className:"space-y-3 pb-4",children:[fe&&u.jsx("div",{className:"flex justify-center py-2",children:u.jsxs(ae,{variant:"outline",size:"sm",onClick:Pe,className:"text-xs",children:["Load ",Math.min(5,ye-Ne.length)," ","more messages (",ye-Ne.length," ","hidden)"]})}),u.jsx(oX,{showTools:a,showSystemMessage:c,messages:Ne,onAddToDashboard:te,onQuickReply:Ct,disableQuickReplies:L}),!oe&&u.jsx(rX,{status:q,errorMessage:V})]}),u.jsx(Xa,{orientation:"horizontal"})]}),!We&&u.jsx("div",{className:"absolute bottom-24 right-8 z-10",children:u.jsxs(ae,{onClick:()=>{ie({force:!0}),Me()},size:"sm",variant:"secondary",className:"rounded-full shadow-lg","aria-label":"Scroll to bottom",children:[u.jsx(No,{className:"h-4 w-4"}),wn&&Mn>0&&u.jsx("span",{className:"ml-1.5 flex h-5 w-5 items-center justify-center rounded-full bg-primary text-xs text-primary-foreground",children:Mn>9?"9+":Mn})]})}),u.jsxs("div",{className:"space-y-3",children:[!$&&Gt&&u.jsx(sX,{onClick:Be,placeholders:WYe}),u.jsx("div",{children:Gt&&$&&u.jsx(gQ,{seedQuestions:$.seedQuestions||[],handleSeedQuestionClick:Ze})}),u.jsx(vQ,{assistantType:"dashboard",className:"mb-3"}),u.jsx(eP,{ref:x,setInput:J,stop:Y,input:re,handleInputChange:ue,handleSubmit:le=>{zt(),se(le),ie({force:!0})},isLoading:L,status:q,assistantType:"dashboard",onFocus:()=>{}})]}),u.jsx(JD,{incomingSelectedEntities:(U==null?void 0:U.selectedEntities)||[],open:f,onOpenChange:h,dataSource:W||H1,dialogMode:"aiContext"})]});return g&&o?kn.createPortal(u.jsx("div",{className:"pointer-events-auto absolute inset-0 z-50 flex bg-background px-6 pb-6 pt-[calc(var(--app-header-height,15px)+1rem)]",children:u.jsx("div",{className:"flex h-full w-full",children:bn})}),o):bn}function GYe(e){const t=e.current,{getSelectedFrame:n,addFrame:r,setSelectedFrameId:o}=en(),s=ee(d=>d.dashboard.sheets),a=ee(d=>d.selectedSheetId)??(s==null?void 0:s[0].id),l=ee(d=>d.isDashboardEditing),c=ee(d=>d.isVisualEditing);N.useEffect(()=>{if(!l||c)return;async function d(p){const m=p.ctrlKey||p.metaKey;m&&p.key==="c"?(await f(),Ue.success("Card copied to clipboard"),p.preventDefault()):m&&p.key==="v"&&(await h(),p.preventDefault())}async function f(){try{const p=n();p&&await navigator.clipboard.writeText(JSON.stringify(p))}catch(p){console.error("Failed to copy text:",p)}}async function h(){if(!a)return null;try{const p=await navigator.clipboard.readText();try{const m=JSON.parse(p);if(m&&m.id){m.id=br();const g=m.activeCardId;m.cards.forEach(y=>{const b=y.id;y.id=br(),b===g&&(m.activeCardId=y.id,y.title=`${y.title} (Copy)`)}),r(a,m),o(m.id)}}catch(m){console.error("Failed to parse clipboard contents: ",m)}return p}catch(p){return console.error("Failed to paste text:",p),null}}return t==null||t.addEventListener("keydown",d),()=>t==null?void 0:t.removeEventListener("keydown",d)},[r,n,o,a,l,c,t])}function NQ(){var T;const{showAssistant:e}=qe(),{preferences:t}=M1(),n=((T=t==null?void 0:t.cardDisplay)==null?void 0:T.mode)==="print",r=N.useRef(null),o=N.useRef(null),[s,i]=N.useState(!1),a=ru(z=>z.setFullscreen),l=ru(z=>z.setPanelOpen),c=ru(z=>z.setContainer),d=f6("dashboard"),f=h6(),h=p6("dashboard"),p=d.isOpen,m=f==="dashboard",g=ee(z=>z.isVisualEditing),y=ee(z=>z.themeStyle),b=ee(z=>{var L;return(L=z.dashboard)==null?void 0:L.sheets}),x=ee(z=>z.isDashboardEditing),v=ee(z=>z.selectedSheetId),{setSelectedSheetId:w,setSheetTitle:S,addSheet:E,setSheets:C}=en();GYe(o);const{setActiveAssistantType:_}=Kv();N.useEffect(()=>{p?_("dashboard"):f==="dashboard"&&a(null)},[p,_,f,a]);function j(z){var L,D;z?((L=r.current)==null||L.resize(40),l("dashboard",!0),_("dashboard")):(l("dashboard",!1),a(null),(D=r.current)==null||D.resize(0),_(null))}function R(){const z={id:br(),title:"New Sheet"};E(z),w(z.id)}function P(z){z<1?(l("dashboard",!1),a(null),_(null)):(p||l("dashboard",!0),_("dashboard"))}function M(){return(y==null?void 0:y.canvasTheme)==="muted"||!(y!=null&&y.canvasTheme)?"hsl(var(--semaphor-muted))":(y==null?void 0:y.canvasTheme)==="clear"?"":y==null?void 0:y.canvasTheme}const F=(z,L)=>{z.dataTransfer.setData("tabIndex",L.toString())},I=z=>{z.preventDefault()},A=(z,L)=>{const D=z.dataTransfer.getData("tabIndex");if(D===L.toString())return;const H=Array.from(b||[]),[q]=H.splice(parseInt(D),1);H.splice(L,0,q),C(H)};function O(){var z,L;if(b&&b.length>1||x)return u.jsxs(Rs,{role:"tab-list",className:"flex h-11 items-center justify-start gap-2 rounded-none border-b border-b-muted bg-transparent px-2.5 py-3",children:[b==null?void 0:b.map((D,H)=>u.jsxs(Ln,{draggable:!0,onDragStart:q=>F(q,H),onDragOver:I,onDrop:q=>A(q,H),style:{borderRadius:y==null?void 0:y.controlInputRadius},onClick:()=>w(D.id),className:"flex items-center gap-1 rounded-none border px-2 py-1",value:D.id,children:[u.jsx(ng,{enabled:x&&D.id===v,text:D.title,onSave:q=>S(D.id,q),children:D.title},D.id),x&&v===D.id&&b.length>1&&u.jsx(Xt,{className:"ml-1 size-3",onClick:()=>i(!0)})]},D.id)),x&&u.jsx("div",{style:{borderRadius:(L=(z=y==null?void 0:y.chart)==null?void 0:z.options)==null?void 0:L.borderRadius},className:"flex h-7 items-center justify-center border-none bg-muted p-2 hover:cursor-pointer dark:border-l-background",onClick:R,children:u.jsx(Xo,{className:"size-3"})})]})}function U(){return u.jsx("div",{ref:o,style:{},className:"grow",children:b==null?void 0:b.map(z=>u.jsx(xr,{style:{backgroundColor:M()},className:Z("mt-0",{}),value:z.id,children:u.jsx(p$e,{sheet:z})},z.id))})}function W(){var z;return u.jsxs(di,{"data-role":"dashboard-tabs-container",className:Z("relative flex h-full flex-col",y==null?void 0:y.dashboardTabsContainer),onValueChange:L=>{w(L)},value:v||((z=b==null?void 0:b[0])==null?void 0:z.id),children:[O(),u.jsx(Ju,{"data-role":"dashboard-tabs-content",className:"flex-1 grow basis-0 overflow-y-auto",children:U()}),u.jsx(G$e,{open:s,setOpen:i})]})}const $=N.useCallback(z=>{c("dashboard",z)},[c]);return b?u.jsxs("div",{className:"relative flex-1 basis-0 overflow-hidden",children:[u.jsxs(FZ,{className:Z("flex-1 basis-0 overflow-y-auto transition-opacity",m&&"pointer-events-none opacity-0"),direction:"horizontal",children:[u.jsx(Ek,{children:W()}),e===!0&&u.jsxs(u.Fragment,{children:[u.jsx(q$e,{open:p,onTabClick:j,withHandle:!0}),u.jsx(Ek,{className:"flex grow","data-role":"dashboard-assistant-panel",onResize:P,defaultSize:p?40:0,ref:r,children:u.jsx("div",{className:"grow overflow-y-auto",children:u.jsx(qYe,{open:p,setOpen:j,isFullscreen:m,onFullscreenChange:z=>a(z?"dashboard":null),fullscreenContainer:h})})})]})]}),u.jsx("div",{ref:$,className:Z("absolute inset-0",!m&&"pointer-events-none")}),e===!0&&!n&&!p&&!g&&u.jsx("div",{className:"fixed bottom-6 right-6 z-50",children:u.jsx(ae,{size:"sm",variant:"outline",className:"h-12 w-12 rounded-full border-border bg-background p-0 shadow-lg hover:bg-muted",onClick:()=>j(!0),title:"Open Assistant",children:u.jsx(k_,{className:"h-5 w-5"})})})]}):null}function kQ({children:e}){return u.jsx(li,{style:{height:"100%",width:"100%"},children:u.jsx(Ite,{defaultTheme:"system",storageKey:"vite-ui-theme",children:u.jsx(ed,{delayDuration:0,children:e})})})}function _Q({children:e,preferences:t}){const{currentUser:n}=ea(),r=N.useMemo(()=>{var o,s;return{preferences:t||{},isLocalDev:((o=t==null?void 0:t.uiMode)==null?void 0:o.developer)||!1,isConsoleMode:((s=t==null?void 0:t.uiMode)==null?void 0:s.console)||!1}},[t]);return u.jsx(dZ.Provider,{value:r,children:u.jsx(sD,{displayPreferences:t==null?void 0:t.cardDisplay,currentUser:n,children:e})})}function jQ(e){if(typeof window>"u")return null;const{preferences:t}=e;return u.jsx(nd,{FallbackComponent:wM,children:u.jsx(M3,{dashboardProps:e,children:u.jsx(kQ,{children:u.jsx(_Q,{preferences:t,children:u.jsx("main",{className:"flex h-full flex-col",children:u.jsx(v6,{...e,type:"dashboard",children:u.jsx(NQ,{})})})})})})})}const YYe=e=>{const{currentContext:t,currentMode:n,selectedUsers:r,usersToRemove:o,usersToUpdate:s,selectedGroups:i=[],groupsToRemove:a=[],groupsToUpdate:l=[],selectedTenant:c,orgWideRole:d,allTenantsRole:f,tenantWideRole:h}=e;if(!t||!n)return null;switch(t){case"org-tab":if(n==="allOrgUsers")return{context:"org-tab",mode:"allOrgUsers",orgWideRole:d};if(n==="specificOrgUsers")return{context:"org-tab",mode:"specificOrgUsers",selectedUsers:r,usersToRemove:o,usersToUpdate:s};break;case"tenant-tab":if(n==="allTenants")return{context:"tenant-tab",mode:"allTenants",allTenantsRole:f};if(n==="allTenantUsers")return c?{context:"tenant-tab",mode:"allTenantUsers",tenantId:c,tenantWideRole:h}:null;if(n==="specificTenantUsers")return c?{context:"tenant-tab",mode:"specificTenantUsers",tenantId:c,selectedUsers:r,usersToRemove:o,usersToUpdate:s}:null;break;case"tenant-dialog":if(n==="allTenantUsers")return{context:"tenant-dialog",mode:"allTenantUsers",tenantWideRole:h};if(n==="specificTenantUsers")return{context:"tenant-dialog",mode:"specificTenantUsers",selectedUsers:r,usersToRemove:o,usersToUpdate:s};break;case"group-share":if(n==="specificGroups")return{context:"group-share",mode:"specificGroups",selectedGroups:i,groupsToRemove:a,groupsToUpdate:l};break}return null},RQ=e=>{var t,n,r;switch(e.context){case"org-tab":return e.mode==="specificOrgUsers"?e.selectedUsers.length>0||e.usersToRemove.length>0||e.usersToUpdate.length>0:!0;case"tenant-tab":if(e.mode==="allTenantUsers"||e.mode==="specificTenantUsers"){if(!e.tenantId)return!1;if(e.mode==="specificTenantUsers")return e.selectedUsers.length>0||e.usersToRemove.length>0||e.usersToUpdate.length>0}return!0;case"tenant-dialog":return e.mode==="specificTenantUsers"?e.selectedUsers.length>0||e.usersToRemove.length>0||e.usersToUpdate.length>0:!0;case"group-share":return e.mode==="specificGroups"?(((t=e.selectedGroups)==null?void 0:t.length)??0)>0||(((n=e.groupsToRemove)==null?void 0:n.length)??0)>0||(((r=e.groupsToUpdate)==null?void 0:r.length)??0)>0:!0}return!1};function MQ(e){var b;const{tokenProps:t}=qe(),n=ee(x=>x.authToken)||e,r=Ae(x=>x.selectedConnectionId),o=Ae(x=>x.selectedDatabaseName),s=Ae(x=>x.selectedDatamodelId),i=Ae(x=>x.selectedSchemaName),a=Ae(x=>x.selectedTableName),{selectedConnection:l}=ta(),c=l==null?void 0:l.type,{data:d,isLoading:f,isFetching:h,isError:p,refetch:m}=xn({queryKey:["columns",r,o,s,i,a],queryFn:()=>qn(`${t.apiServiceUrl}/v1/columns`,(n==null?void 0:n.accessToken)||"",{connection_id:r,datamodel_id:s||"",database_name:o,schema_name:i,table_name:a}),enabled:g(c)});function g(x){return n!=null&&n.accessToken?!!(r&&o&&o!=="NA"&&i&&a||r&&(x==="S3"||x==="API")||s&&s):!1}return{columns:(b=d==null?void 0:d.columns)==null?void 0:b.map(x=>({...x,data_type:x.data_type.toLowerCase()})),isColumnsLoading:f,isColumnsFetching:h,isColumnsError:p,refetchColumns:m}}function ZYe(e,t){const[n,r]=N.useState(e);return N.useEffect(()=>{const o=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(o)}},[e,t]),n}const x$={searchQuery:"",debouncedSearchQuery:"",selectedUsers:[],usersToRemove:[],usersToUpdate:[],selectedGroups:[],groupsToRemove:[],groupsToUpdate:[],selectedTab:"org",currentContext:"org-tab",currentMode:null,orgWideRole:"VIEWER",allTenantsRole:"VIEWER",tenantWideRole:"VIEWER",groupWideRole:"VIEWER",selectedTenant:"",message:""},Yr=Qi()(kg(e=>({...x$,actions:{setSearchQuery:t=>{e(n=>{n.searchQuery=t})},setDebouncedSearchQuery:t=>{e(n=>{n.debouncedSearchQuery=t})},setSelectedUsers:t=>{e(n=>{n.selectedUsers=t})},addSelectedUser:t=>{e(n=>{n.selectedUsers.some(o=>o.id===t.id)||n.selectedUsers.push(t)})},removeSelectedUser:t=>{e(n=>{n.selectedUsers=n.selectedUsers.filter(r=>r.id!==t)})},updateSelectedUserRole:(t,n)=>{e(r=>{const o=r.selectedUsers.find(s=>s.id===t);o&&(o.role=n)})},setUsersToRemove:t=>{e(n=>{n.usersToRemove=t})},addUserToRemove:t=>{e(n=>{n.usersToRemove.includes(t)||n.usersToRemove.push(t)})},removeUserFromRemove:t=>{e(n=>{n.usersToRemove=n.usersToRemove.filter(r=>r!==t)})},setUsersToUpdate:t=>{e(n=>{n.usersToUpdate=t})},addUserToUpdate:t=>{e(n=>{n.usersToUpdate=n.usersToUpdate.filter(r=>r.id!==t.id),n.usersToUpdate.push(t)})},removeUserFromUpdate:t=>{e(n=>{n.usersToUpdate=n.usersToUpdate.filter(r=>r.id!==t)})},setSelectedTenant:t=>{e(n=>{n.selectedTenant=t})},setSelectedTab:t=>{e(n=>{n.selectedTab=t})},setCurrentContext:t=>{e(n=>{n.currentContext=t})},setCurrentMode:t=>{e(n=>{n.currentMode=t})},setOrgWideRole:t=>{e(n=>{n.orgWideRole=t})},setAllTenantsRole:t=>{e(n=>{n.allTenantsRole=t})},setTenantWideRole:t=>{e(n=>{n.tenantWideRole=t})},setGroupWideRole:t=>{e(n=>{n.groupWideRole=t})},setSelectedGroups:t=>{e(n=>{n.selectedGroups=t})},addSelectedGroup:t=>{e(n=>{n.selectedGroups.some(o=>o.id===t.id)||n.selectedGroups.push(t)})},removeSelectedGroup:t=>{e(n=>{n.selectedGroups=n.selectedGroups.filter(r=>r.id!==t)})},updateSelectedGroupRole:(t,n)=>{e(r=>{const o=r.selectedGroups.find(s=>s.id===t);o&&(o.role=n)})},setGroupsToRemove:t=>{e(n=>{n.groupsToRemove=t})},addGroupToRemove:t=>{e(n=>{n.groupsToRemove.includes(t)||n.groupsToRemove.push(t)})},removeGroupFromRemove:t=>{e(n=>{n.groupsToRemove=n.groupsToRemove.filter(r=>r!==t)})},setGroupsToUpdate:t=>{e(n=>{n.groupsToUpdate=t})},addGroupToUpdate:t=>{e(n=>{const r=n.groupsToUpdate.findIndex(o=>o.id===t.id);r!==-1?n.groupsToUpdate[r]=t:n.groupsToUpdate.push(t)})},removeGroupFromUpdate:t=>{e(n=>{n.groupsToUpdate=n.groupsToUpdate.filter(r=>r.id!==t)})},setMessage:t=>{e(n=>{n.message=t})},validateShareData:t=>RQ(t),resetShareState:()=>{e(t=>{Object.assign(t,x$)})},resetUserSelections:()=>{e(t=>{t.selectedUsers=[],t.usersToRemove=[],t.usersToUpdate=[]})},resetGroupSelections:()=>{e(t=>{t.selectedGroups=[],t.groupsToRemove=[],t.groupsToUpdate=[]})}}}))),DQ=()=>Yr(e=>e.searchQuery),KYe=()=>Yr(e=>e.selectedUsers),XYe=()=>Yr(e=>e.usersToRemove),QYe=()=>Yr(e=>e.usersToUpdate),JYe=()=>Yr(e=>e.selectedTenant),eZe=()=>Yr(e=>e.selectedTab),tZe=()=>Yr(e=>e.currentContext),nZe=()=>Yr(e=>e.currentMode),rZe=()=>Yr(e=>e.orgWideRole),oZe=()=>Yr(e=>e.allTenantsRole),sZe=()=>Yr(e=>e.tenantWideRole),iZe=()=>Yr(e=>e.groupWideRole),aZe=()=>Yr(e=>e.selectedGroups),lZe=()=>Yr(e=>e.groupsToRemove),cZe=()=>Yr(e=>e.groupsToUpdate),PQ=()=>Yr(e=>e.actions),uZe=()=>{const e=DQ(),t=ZYe(e,300),n=PQ();return N.useEffect(()=>{n.setDebouncedSearchQuery(t)},[t,n]),{searchQuery:e,debouncedSearchQuery:t,setSearchQuery:n.setSearchQuery}};function dZe(e,t=[]){let n=[];function r(s,i){const a=k.createContext(i),l=n.length;n=[...n,i];const c=f=>{var b;const{scope:h,children:p,...m}=f,g=((b=h==null?void 0:h[e])==null?void 0:b[l])||a,y=k.useMemo(()=>m,Object.values(m));return u.jsx(g.Provider,{value:y,children:p})};c.displayName=s+"Provider";function d(f,h){var g;const p=((g=h==null?void 0:h[e])==null?void 0:g[l])||a,m=k.useContext(p);if(m)return m;if(i!==void 0)return i;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[c,d]}const o=()=>{const s=n.map(i=>k.createContext(i));return function(a){const l=(a==null?void 0:a[e])||s;return k.useMemo(()=>({[`__scope${e}`]:{...a,[e]:l}}),[a,l])}};return o.scopeName=e,[r,fZe(o,...t)]}function fZe(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const i=r.reduce((a,{useScope:l,scopeName:c})=>{const f=l(s)[`__scope${c}`];return{...a,...f}},{});return k.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function hZe(e){const t=k.useRef(e);return k.useEffect(()=>{t.current=e}),k.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}var Gk=globalThis!=null&&globalThis.document?k.useLayoutEffect:()=>{},pZe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],tP=pZe.reduce((e,t)=>{const n=Vl(`Primitive.${t}`),r=k.forwardRef((o,s)=>{const{asChild:i,...a}=o,l=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),u.jsx(l,{...a,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function mZe(){return xYe.useSyncExternalStore(gZe,()=>!0,()=>!1)}function gZe(){return()=>{}}var nP="Avatar",[bZe,jXe]=dZe(nP),[yZe,TQ]=bZe(nP),AQ=k.forwardRef((e,t)=>{const{__scopeAvatar:n,...r}=e,[o,s]=k.useState("idle");return u.jsx(yZe,{scope:n,imageLoadingStatus:o,onImageLoadingStatusChange:s,children:u.jsx(tP.span,{...r,ref:t})})});AQ.displayName=nP;var IQ="AvatarImage",OQ=k.forwardRef((e,t)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:o=()=>{},...s}=e,i=TQ(IQ,n),a=xZe(r,s),l=hZe(c=>{o(c),i.onImageLoadingStatusChange(c)});return Gk(()=>{a!=="idle"&&l(a)},[a,l]),a==="loaded"?u.jsx(tP.img,{...s,ref:t,src:r}):null});OQ.displayName=IQ;var FQ="AvatarFallback",$Q=k.forwardRef((e,t)=>{const{__scopeAvatar:n,delayMs:r,...o}=e,s=TQ(FQ,n),[i,a]=k.useState(r===void 0);return k.useEffect(()=>{if(r!==void 0){const l=window.setTimeout(()=>a(!0),r);return()=>window.clearTimeout(l)}},[r]),i&&s.imageLoadingStatus!=="loaded"?u.jsx(tP.span,{...o,ref:t}):null});$Q.displayName=FQ;function v$(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function xZe(e,{referrerPolicy:t,crossOrigin:n}){const r=mZe(),o=k.useRef(null),s=r?(o.current||(o.current=new window.Image),o.current):null,[i,a]=k.useState(()=>v$(s,e));return Gk(()=>{a(v$(s,e))},[s,e]),Gk(()=>{const l=f=>()=>{a(f)};if(!s)return;const c=l("loaded"),d=l("error");return s.addEventListener("load",c),s.addEventListener("error",d),t&&(s.referrerPolicy=t),typeof n=="string"&&(s.crossOrigin=n),()=>{s.removeEventListener("load",c),s.removeEventListener("error",d)}},[s,n,t]),i}var LQ=AQ,zQ=OQ,BQ=$Q;const VQ=k.forwardRef(({className:e,...t},n)=>u.jsx(LQ,{ref:n,className:Z("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));VQ.displayName=LQ.displayName;const vZe=k.forwardRef(({className:e,...t},n)=>u.jsx(zQ,{ref:n,className:Z("aspect-square h-full w-full",e),...t}));vZe.displayName=zQ.displayName;const HQ=k.forwardRef(({className:e,...t},n)=>u.jsx(BQ,{ref:n,className:Z("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));HQ.displayName=BQ.displayName;function UQ(e,t){var Ze,Ct,sn,zt,Gt;const{tokenProps:n}=qe(),r=ts(),o=qe().authToken||e,s=Ae(xe=>xe.selectedConnectionId),i=Ae(xe=>xe.card),{queryKey:a}=Ece(i),l=Ae(xe=>xe.selectedDatamodelId),c=Ae(xe=>xe.isDevMode),d=Ae(xe=>xe.selectedDatabaseName),f=Ae(xe=>xe.selectedSchemaName),h=Ae(xe=>xe.selectedTableName),p=Ae(xe=>xe.actions.setSelectedConnectionId),m=Ae(xe=>xe.actions.setSelectedDatamodelId),g=Ae(xe=>xe.actions.setSelectedDatabaseName),y=Ae(xe=>xe.actions.setSelectedSchemaName),b=Ae(xe=>xe.actions.setSelectedTableName);Ae(xe=>xe.actions.setCardSql);const{setQueryConfig:x}=lo();function v(xe){var bn;return s&&xe==="API"?!1:s&&xe==="S3"?!0:!(!s||!d||d==="NA"||((bn=j==null?void 0:j.capabilities)==null?void 0:bn.path.includes("schema"))&&!f)}function w(xe){return s&&xe?!(xe==="API"||xe==="S3"):!1}const{refetchConnections:S,connectionsData:E,isConnectionsLoading:C,isConnectionsError:_,selectedConnection:j}=ta(e),{refetch:R,data:P,isLoading:M,isError:F}=xn({queryKey:["models",s],queryFn:()=>qn(`${n.apiServiceUrl}/v1/datamodels`,(o==null?void 0:o.accessToken)||"",{connection_id:s}),enabled:!!(o!=null&&o.accessToken)&&!!s}),I=j==null?void 0:j.type,A=(j==null?void 0:j.type)==="API"||(j==null?void 0:j.type)==="S3",{data:O,isLoading:U,isFetching:W,isError:$,refetch:T}=xn({queryKey:["databases",s],queryFn:()=>qn(`${n.apiServiceUrl}/v1/databases`,(o==null?void 0:o.accessToken)||"",{connection_id:s}),enabled:w(I)}),{data:z,isLoading:L,isFetching:D,isError:H,refetch:q}=xn({queryKey:["schemas",s,d],queryFn:()=>qn(`${n.apiServiceUrl}/v1/schemas`,(o==null?void 0:o.accessToken)||"",{connection_id:s,database_name:d}),enabled:!!s&&!!d&&!A&&d!=="NA"}),{data:Y,isLoading:V,isFetching:B,isError:G,refetch:X}=xn({queryKey:["tables",s,d,f],queryFn:()=>qn(`${n.apiServiceUrl}/v1/tables`,(o==null?void 0:o.accessToken)||"",{connection_id:s,database_name:d,schema_name:f}),enabled:v(I)}),{columns:re,isColumnsLoading:J,isColumnsFetching:ue,isColumnsError:te,refetchColumns:se}=MQ(e);N.useEffect(()=>{(I==="S3"||I==="API")&&(g(""),y(""),m(""),I==="API"&&b("api"))},[I,b,g,y,m]);const oe=(j==null?void 0:j.type)==="API"?(Ze=j==null?void 0:j.type)==null?void 0:Ze.toLowerCase():h||"",Ne=A?"":f||"";function fe(xe){b(xe),x(void 0),c||(r.setQueryData(a,null),r.removeQueries({queryKey:a,exact:!0}))}function ye(xe){y(xe),b("")}function Pe(xe){g(xe==="none"?"":xe),y(""),b(""),xe!=="none"&&xe!==""&&m("")}function it(xe){p(xe)}function Ve(xe){m(xe==="none"?"":xe),xe!=="none"&&xe!==""&&g("")}O&&((Ct=O==null?void 0:O.databases)==null?void 0:Ct.length)>0,z&&((sn=z==null?void 0:z.schemas)==null?void 0:sn.length)>0;const We=E==null?void 0:E.connections.map(xe=>({id:xe.id,name:xe.name,type:xe.type})),wn=(zt=P==null?void 0:P.datamodels)==null?void 0:zt.map(xe=>({id:xe.id,name:xe.name})),Mn=O==null?void 0:O.databases.map(xe=>({id:xe.database_name,name:xe.database_name})),ie=z==null?void 0:z.schemas.map(xe=>({id:xe.schema_name,name:xe.schema_name})),be=Y==null?void 0:Y.tables.map(xe=>({id:xe.table_name,name:xe.table_name})),Me=(Gt=P==null?void 0:P.datamodels.find(xe=>xe.id===l))==null?void 0:Gt.name,Be=n3({schemaName:Ne,tableName:oe,modelName:Me,connectionType:I,databaseName:d||""});return{connectionItems:We,selectedConnectionId:s,selectedConnection:j,isConnectionsLoading:C,isConnectionsError:_,modelItems:wn,selectedDatamodelId:l,selectedDatamodelName:Me,isModelsLoading:M,isModelsError:F,selectedDatabaseName:d,databaseItems:Mn,isDatabasesLoadingOrFetching:U||W,isDatabaseError:$,schemaItems:ie,selectedSchemaName:f,isSchemaLoadingOrFetching:L||D,isSchemaError:H,tableItems:be,selectedTableName:h,isTableLoadingOrFetching:V||B,isTableError:G,columns:re,isColumnsLoadingOrFetching:J||ue,isColumnsError:te,isNonDbConnection:A,connectionType:I,tableName:oe,formattedTableName:Be,schemaName:Ne,refetchConnections:S,refetchModels:R,refetchDatabases:T,refetchSchemas:q,refetchTables:X,refetchColumns:se,handleConnectionChange:it,handleDatamodelChange:Ve,handleDatabaseChange:Pe,handleSchemaChange:ye,handleTableChange:fe}}var ol="Accordion",wZe=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[rP,SZe,CZe]=Xv(ol),[G1,RXe]=mr(ol,[CZe,JK]),oP=JK(),WQ=N.forwardRef((e,t)=>{const{type:n,...r}=e,o=r,s=r;return u.jsx(rP.Provider,{scope:e.__scopeAccordion,children:n==="multiple"?u.jsx(_Ze,{...s,ref:t}):u.jsx(kZe,{...o,ref:t})})});WQ.displayName=ol;var[qQ,EZe]=G1(ol),[GQ,NZe]=G1(ol,{collapsible:!1}),kZe=N.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},collapsible:s=!1,...i}=e,[a,l]=Rr({prop:n,defaultProp:r,onChange:o});return u.jsx(qQ,{scope:e.__scopeAccordion,value:a?[a]:[],onItemOpen:l,onItemClose:N.useCallback(()=>s&&l(""),[s,l]),children:u.jsx(GQ,{scope:e.__scopeAccordion,collapsible:s,children:u.jsx(YQ,{...i,ref:t})})})}),_Ze=N.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...s}=e,[i=[],a]=Rr({prop:n,defaultProp:r,onChange:o}),l=N.useCallback(d=>a((f=[])=>[...f,d]),[a]),c=N.useCallback(d=>a((f=[])=>f.filter(h=>h!==d)),[a]);return u.jsx(qQ,{scope:e.__scopeAccordion,value:i,onItemOpen:l,onItemClose:c,children:u.jsx(GQ,{scope:e.__scopeAccordion,collapsible:!0,children:u.jsx(YQ,{...s,ref:t})})})}),[jZe,Y1]=G1(ol),YQ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:o,orientation:s="vertical",...i}=e,a=N.useRef(null),l=ot(a,t),c=SZe(n),f=qu(o)==="ltr",h=we(e.onKeyDown,p=>{var _;if(!wZe.includes(p.key))return;const m=p.target,g=c().filter(j=>{var R;return!((R=j.ref.current)!=null&&R.disabled)}),y=g.findIndex(j=>j.ref.current===m),b=g.length;if(y===-1)return;p.preventDefault();let x=y;const v=0,w=b-1,S=()=>{x=y+1,x>w&&(x=v)},E=()=>{x=y-1,x<v&&(x=w)};switch(p.key){case"Home":x=v;break;case"End":x=w;break;case"ArrowRight":s==="horizontal"&&(f?S():E());break;case"ArrowDown":s==="vertical"&&S();break;case"ArrowLeft":s==="horizontal"&&(f?E():S());break;case"ArrowUp":s==="vertical"&&E();break}const C=x%b;(_=g[C].ref.current)==null||_.focus()});return u.jsx(jZe,{scope:n,disabled:r,direction:o,orientation:s,children:u.jsx(rP.Slot,{scope:n,children:u.jsx(Te.div,{...i,"data-orientation":s,ref:l,onKeyDown:r?void 0:h})})})}),_v="AccordionItem",[RZe,sP]=G1(_v),ZQ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...o}=e,s=Y1(_v,n),i=EZe(_v,n),a=oP(n),l=Yn(),c=r&&i.value.includes(r)||!1,d=s.disabled||e.disabled;return u.jsx(RZe,{scope:n,open:c,disabled:d,triggerId:l,children:u.jsx(nX,{"data-orientation":s.orientation,"data-state":tJ(c),...a,...o,ref:t,disabled:d,open:c,onOpenChange:f=>{f?i.onItemOpen(r):i.onItemClose(r)}})})});ZQ.displayName=_v;var KQ="AccordionHeader",XQ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Y1(ol,n),s=sP(KQ,n);return u.jsx(Te.h3,{"data-orientation":o.orientation,"data-state":tJ(s.open),"data-disabled":s.disabled?"":void 0,...r,ref:t})});XQ.displayName=KQ;var Yk="AccordionTrigger",QQ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Y1(ol,n),s=sP(Yk,n),i=NZe(Yk,n),a=oP(n);return u.jsx(rP.ItemSlot,{scope:n,children:u.jsx(rVe,{"aria-disabled":s.open&&!i.collapsible||void 0,"data-orientation":o.orientation,id:s.triggerId,...a,...r,ref:t})})});QQ.displayName=Yk;var JQ="AccordionContent",eJ=N.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Y1(ol,n),s=sP(JQ,n),i=oP(n);return u.jsx(oVe,{role:"region","aria-labelledby":s.triggerId,"data-orientation":o.orientation,...i,...r,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});eJ.displayName=JQ;function tJ(e){return e?"open":"closed"}var MZe=WQ,DZe=ZQ,PZe=XQ,nJ=QQ,rJ=eJ;const TZe=MZe,oJ=k.forwardRef(({className:e,...t},n)=>u.jsx(DZe,{ref:n,className:Z("border-b",e),...t}));oJ.displayName="AccordionItem";const sJ=k.forwardRef(({className:e,children:t,...n},r)=>u.jsx(PZe,{className:"flex",children:u.jsxs(nJ,{ref:r,className:Z("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,u.jsx(No,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));sJ.displayName=nJ.displayName;const iJ=k.forwardRef(({className:e,children:t,...n},r)=>u.jsx(rJ,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:u.jsx("div",{className:Z("pb-4 pt-0",e),children:t})}));iJ.displayName=rJ.displayName;function AZe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function S$(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?w$(Object(n),!0).forEach(function(r){AZe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w$(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function IZe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s<r.length;s++)o=r[s],!(t.indexOf(o)>=0)&&(n[o]=e[o]);return n}function OZe(e,t){if(e==null)return{};var n=IZe(e,t),r,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)r=s[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function FZe(e,t){return $Ze(e)||LZe(e,t)||zZe(e,t)||BZe()}function $Ze(e){if(Array.isArray(e))return e}function LZe(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,o=!1,s=void 0;try{for(var i=e[Symbol.iterator](),a;!(r=(a=i.next()).done)&&(n.push(a.value),!(t&&n.length===t));r=!0);}catch(l){o=!0,s=l}finally{try{!r&&i.return!=null&&i.return()}finally{if(o)throw s}}return n}}function zZe(e,t){if(e){if(typeof e=="string")return C$(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C$(e,t)}}function C$(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function BZe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
971
971
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VZe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function N$(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?E$(Object(n),!0).forEach(function(r){VZe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):E$(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function HZe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){return t.reduceRight(function(o,s){return s(o)},r)}}function Ip(e){return function t(){for(var n=this,r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return o.length>=e.length?e.apply(this,o):function(){for(var i=arguments.length,a=new Array(i),l=0;l<i;l++)a[l]=arguments[l];return t.apply(n,[].concat(o,a))}}}function jv(e){return{}.toString.call(e).includes("Object")}function UZe(e){return!Object.keys(e).length}function yg(e){return typeof e=="function"}function WZe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function qZe(e,t){return jv(t)||Bl("changeType"),Object.keys(t).some(function(n){return!WZe(e,n)})&&Bl("changeField"),t}function GZe(e){yg(e)||Bl("selectorType")}function YZe(e){yg(e)||jv(e)||Bl("handlerType"),jv(e)&&Object.values(e).some(function(t){return!yg(t)})&&Bl("handlersType")}function ZZe(e){e||Bl("initialIsRequired"),jv(e)||Bl("initialType"),UZe(e)&&Bl("initialContent")}function KZe(e,t){throw new Error(e[t]||e.default)}var XZe={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},Bl=Ip(KZe)(XZe),i0={changes:qZe,selector:GZe,handler:YZe,initial:ZZe};function QZe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};i0.initial(e),i0.handler(t);var n={current:e},r=Ip(tKe)(n,t),o=Ip(eKe)(n),s=Ip(i0.changes)(e),i=Ip(JZe)(n);function a(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return i0.selector(c),c(n.current)}function l(c){HZe(r,o,s,i)(c)}return[a,l]}function JZe(e,t){return yg(t)?t(e.current):t}function eKe(e,t){return e.current=N$(N$({},e.current),t),t}function tKe(e,t,n){return yg(t)?t(e.current):Object.keys(n).forEach(function(r){var o;return(o=t[r])===null||o===void 0?void 0:o.call(t,e.current[r])}),n}var nKe={create:QZe},rKe={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}};function oKe(e){return function t(){for(var n=this,r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return o.length>=e.length?e.apply(this,o):function(){for(var i=arguments.length,a=new Array(i),l=0;l<i;l++)a[l]=arguments[l];return t.apply(n,[].concat(o,a))}}}function sKe(e){return{}.toString.call(e).includes("Object")}function iKe(e){return e||k$("configIsRequired"),sKe(e)||k$("configType"),e.urls?(aKe(),{paths:{vs:e.urls.monacoBase}}):e}function aKe(){console.warn(aJ.deprecation)}function lKe(e,t){throw new Error(e[t]||e.default)}var aJ={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
972
972
  You are using deprecated way of configuration.
973
973
 
@@ -98538,8 +98538,16 @@ function ZGe({
98538
98538
  className: "w-full",
98539
98539
  children: [
98540
98540
  /* @__PURE__ */ k(ua, { className: "grid w-full grid-cols-2", children: [
98541
- /* @__PURE__ */ p(Jn, { value: "tables", children: "Tables & Views" }),
98542
- /* @__PURE__ */ p(Jn, { value: "datamodels", children: "Data Models" })
98541
+ /* @__PURE__ */ k(Jn, { value: "tables", children: [
98542
+ "Tables & Views (",
98543
+ C.length,
98544
+ ")"
98545
+ ] }),
98546
+ /* @__PURE__ */ k(Jn, { value: "datamodels", children: [
98547
+ "Data Models (",
98548
+ _.length,
98549
+ ")"
98550
+ ] })
98543
98551
  ] }),
98544
98552
  /* @__PURE__ */ k(Ar, { value: "tables", className: "space-y-2", children: [
98545
98553
  /* @__PURE__ */ p(
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-BDYlVI2_.js"),r=require("../types/index.cjs");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-BGofmG0y.js"),r=require("../types/index.cjs");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as a } from "../chunks/index-D-XwkNAu.js";
1
+ import { D as a } from "../chunks/index-lrm6Ng7S.js";
2
2
  import { EMPTY_SELECTION as e } from "../types/index.js";
3
3
  export {
4
4
  a as Dashboard,
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-BDYlVI2_.js"),v=require("./types/index.cjs"),u=require("./chunks/dashboard-plus-DMjjpoBb.js"),a=require("react/jsx-runtime"),x=require("react");require("react-dom");function j(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const s in r)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(r,s);Object.defineProperty(t,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}return t.default=r,Object.freeze(t)}const p=j(x);/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-BGofmG0y.js"),v=require("./types/index.cjs"),u=require("./chunks/dashboard-plus-DqK4aU9C.js"),a=require("react/jsx-runtime"),x=require("react");require("react-dom");function j(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const s in r)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(r,s);Object.defineProperty(t,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}return t.default=r,Object.freeze(t)}const p=j(x);/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { c as x, E as b, F as N, S as w, U as A, a as L, C as _, u as P, b as v, d as E, P as k, e as W, B as F, f as m, g as R, h as V, i as B, j as O, I as Q, k as I, l as j, m as q, n as U, o as z } from "./chunks/index-D-XwkNAu.js";
2
- import { D as ne, t as ie, R as de, r as le, r as ce, K as Ye, w as ue, y as he, M as fe, L as pe, Q as Me, T as me, J as De, v as Ce, H as ve, N as be, G as ge, A as ye, z as Te, V as Se, O as xe, s as Ne, X as we, Z as Ae, Y as Le, _ as _e, x as Pe, p as Ee, a0 as ke, W as We, $ as Fe, q as Re } from "./chunks/index-D-XwkNAu.js";
1
+ import { c as x, E as b, F as N, S as w, U as A, a as L, C as _, u as P, b as v, d as E, P as k, e as W, B as F, f as m, g as R, h as V, i as B, j as O, I as Q, k as I, l as j, m as q, n as U, o as z } from "./chunks/index-lrm6Ng7S.js";
2
+ import { D as ne, t as ie, R as de, r as le, r as ce, K as Ye, w as ue, y as he, M as fe, L as pe, Q as Me, T as me, J as De, v as Ce, H as ve, N as be, G as ge, A as ye, z as Te, V as Se, O as xe, s as Ne, X as we, Z as Ae, Y as Le, _ as _e, x as Pe, p as Ee, a0 as ke, W as We, $ as Fe, q as Re } from "./chunks/index-lrm6Ng7S.js";
3
3
  import { EMPTY_SELECTION as Be } from "./types/index.js";
4
- import { A as Qe, R as Ie, b as je, S as qe, D as Ue, a as ze, V as Ge, c as He, g as $e } from "./chunks/dashboard-plus-Doa4HmFD.js";
4
+ import { A as Qe, R as Ie, b as je, S as qe, D as Ue, a as ze, V as Ge, c as He, g as $e } from "./chunks/dashboard-plus-DxrRPpaD.js";
5
5
  import { jsx as e, jsxs as d } from "react/jsx-runtime";
6
6
  import * as h from "react";
7
7
  import { useMemo as G } from "react";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/dashboard-plus-DMjjpoBb.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/dashboard-plus-DqK4aU9C.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as f } from "../chunks/dashboard-plus-Doa4HmFD.js";
1
+ import { D as f } from "../chunks/dashboard-plus-DxrRPpaD.js";
2
2
  import { EMPTY_SELECTION as a } from "../types/index.js";
3
3
  export {
4
4
  a as EMPTY_SELECTION,
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "support@semaphor.cloud"
6
6
  },
7
7
  "license": "MIT",
8
- "version": "0.1.6",
8
+ "version": "0.1.7",
9
9
  "description": "Fully interactive and customizable dashboards for your apps.",
10
10
  "keywords": [
11
11
  "react",