@duckcodeailabs/dql-cli 1.12.2 → 1.12.3

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.
Files changed (70) hide show
  1. package/dist/assets/dql-notebook/assets/AgentAnswerCard-BEIwKGm4.js +5 -0
  2. package/dist/assets/dql-notebook/assets/AgentLogPage-CsSC2tOR.js +1 -0
  3. package/dist/assets/dql-notebook/assets/AiBuildDialog-CjJ-9bQW.js +1 -0
  4. package/dist/assets/dql-notebook/assets/AiBuildResult-BvTcW9oE.js +33 -0
  5. package/dist/assets/dql-notebook/assets/AiSidePanel-CxFrOfCE.js +6 -0
  6. package/dist/assets/dql-notebook/assets/AnalyticsHome-BtXEdJNR.js +6 -0
  7. package/dist/assets/dql-notebook/assets/AppsView-HjQkbbE6.js +4471 -0
  8. package/dist/assets/dql-notebook/assets/BlockStudio-oQHTJsXC.js +60 -0
  9. package/dist/assets/dql-notebook/assets/BusinessArtifactView-Dpsftjs7.js +1 -0
  10. package/dist/assets/dql-notebook/assets/DbtFirstModelingPage-c6ZteaI6.js +22 -0
  11. package/dist/assets/dql-notebook/assets/GitPage-Cj6mc-Yv.js +7 -0
  12. package/dist/assets/dql-notebook/assets/GlobalAiRail-8G_rEyhK.js +1 -0
  13. package/dist/assets/dql-notebook/assets/GovernedContextPage-BTtzt0Za.js +7 -0
  14. package/dist/assets/dql-notebook/assets/HelpDocsPage-e2CesE73.js +22 -0
  15. package/dist/assets/dql-notebook/assets/HomePage-U3ryMLEF.js +117 -0
  16. package/dist/assets/dql-notebook/assets/LineageDAG-CEmgJzm3.js +1 -0
  17. package/dist/assets/dql-notebook/assets/LineageDetailView-CeV5QMXS.js +1 -0
  18. package/dist/assets/dql-notebook/assets/LineageDrawer-B1oAn-N_.js +1 -0
  19. package/dist/assets/dql-notebook/assets/LineagePathBreadcrumb-fP6RTXut.js +14 -0
  20. package/dist/assets/dql-notebook/assets/MiniLineageGraph-CBYSTmRC.js +1 -0
  21. package/dist/assets/dql-notebook/assets/NewBlockModal-ksEwimjl.js +1 -0
  22. package/dist/assets/dql-notebook/assets/NewNotebookModal-CUx0WmXb.js +46 -0
  23. package/dist/assets/dql-notebook/assets/NotebookEditor-BdxJL3LX.js +202 -0
  24. package/dist/assets/dql-notebook/assets/ReadinessPage-DZ9wDW76.js +1 -0
  25. package/dist/assets/dql-notebook/assets/SetupOnboarding-Bt0AAe0h.js +6 -0
  26. package/dist/assets/dql-notebook/assets/TrustBadge-DNVJK_mP.js +1 -0
  27. package/dist/assets/dql-notebook/assets/UnifiedAgentRunPanel-BNqE169i.js +83 -0
  28. package/dist/assets/dql-notebook/assets/ai-build-bus-1BR770pY.js +1 -0
  29. package/dist/assets/dql-notebook/assets/answer-to-notebook-B_gE6rsY.js +2 -0
  30. package/dist/assets/dql-notebook/assets/arrow-left-DnKGhzOR.js +6 -0
  31. package/dist/assets/dql-notebook/assets/arrow-right-CQ73DG7_.js +6 -0
  32. package/dist/assets/dql-notebook/assets/book-open-text-CyBV5Nhw.js +6 -0
  33. package/dist/assets/dql-notebook/assets/bot-UOPtBzCj.js +6 -0
  34. package/dist/assets/dql-notebook/assets/chevron-up-CDHDU3N3.js +6 -0
  35. package/dist/assets/dql-notebook/assets/circle-x-DC5nkL_u.js +6 -0
  36. package/dist/assets/dql-notebook/assets/{codemirror-Co0dCEDr.js → codemirror-1_I9gm6Z.js} +1 -1
  37. package/dist/assets/dql-notebook/assets/dagre-BZV40eAE.css +1 -0
  38. package/dist/assets/dql-notebook/assets/dagre.esm-C7ujXipB.js +23 -0
  39. package/dist/assets/dql-notebook/assets/external-link-BiJ_dtTM.js +6 -0
  40. package/dist/assets/dql-notebook/assets/grip-vertical-eXvkUerq.js +6 -0
  41. package/dist/assets/dql-notebook/assets/index-BMVfPaXr.js +644 -0
  42. package/dist/assets/dql-notebook/assets/{index-DvLT6Kls.css → index-DKu4CZt3.css} +1 -1
  43. package/dist/assets/dql-notebook/assets/link-2-DkHVJTuH.js +6 -0
  44. package/dist/assets/dql-notebook/assets/list-tree-8lYW2Itb.js +6 -0
  45. package/dist/assets/dql-notebook/assets/maximize-2-DjSovOdP.js +6 -0
  46. package/dist/assets/dql-notebook/assets/minimize-2-DGlmQLES.js +6 -0
  47. package/dist/assets/dql-notebook/assets/panel-right-open-DPc4gShM.js +6 -0
  48. package/dist/assets/dql-notebook/assets/pencil-nwaGtOdL.js +6 -0
  49. package/dist/assets/dql-notebook/assets/{react-BRY8hXab.js → react-CRB3T2We.js} +2 -2
  50. package/dist/assets/dql-notebook/assets/rotate-ccw-ByjLhAu7.js +6 -0
  51. package/dist/assets/dql-notebook/assets/semantic-fields-eEhwnQhG.js +3 -0
  52. package/dist/assets/dql-notebook/assets/triangle-alert-zws0cKhp.js +6 -0
  53. package/dist/assets/dql-notebook/assets/usePersistedAgentThreadId-hxi1RZDm.js +18 -0
  54. package/dist/assets/dql-notebook/assets/user-round-CM8xNakq.js +11 -0
  55. package/dist/assets/dql-notebook/assets/wand-sparkles-CIKc8r-4.js +6 -0
  56. package/dist/assets/dql-notebook/assets/workflow-6C0ZLbTi.js +6 -0
  57. package/dist/assets/dql-notebook/assets/wrench-CeU7hF12.js +6 -0
  58. package/dist/assets/dql-notebook/assets/x-DLWEzvri.js +6 -0
  59. package/dist/assets/dql-notebook/index.html +3 -4
  60. package/dist/local-runtime.d.ts +10 -2
  61. package/dist/local-runtime.d.ts.map +1 -1
  62. package/dist/local-runtime.js +130 -39
  63. package/dist/local-runtime.js.map +1 -1
  64. package/dist/package.json +10 -10
  65. package/dist/warehouse-metadata.d.ts +1 -1
  66. package/dist/warehouse-metadata.d.ts.map +1 -1
  67. package/dist/warehouse-metadata.js +2 -2
  68. package/dist/warehouse-metadata.js.map +1 -1
  69. package/package.json +10 -10
  70. package/dist/assets/dql-notebook/assets/index-BRCtmVPa.js +0 -5952
@@ -0,0 +1,5 @@
1
+ import{R as O,j as i,aN as We,r as $,u as $t,t as Ct,a as E}from"./index-BMVfPaXr.js";import{C as ce,b as Ke,T as Ze,a as Bt}from"./usePersistedAgentThreadId-hxi1RZDm.js";import{T as At}from"./TrustBadge-DNVJK_mP.js";import{R as zt,G as Tt}from"./AiBuildResult-BvTcW9oE.js";const Lt={value:"Value",block:"Certified block",term:"Business term",metric:"Metric",dimension:"Dimension",model:"dbt model",source:"Source table",consumer:"Used by"};function Oe(e){const t=(e??"").toLowerCase();return t==="certified"?"success":t==="deprecated"?"neutral":t.includes("review")||t==="draft"||t==="pending"?"warning":"neutral"}function Rt({walk:e,defaultOpen:t=!1,triggerLabel:r}){const[n,s]=O.useState(t),o=Math.min(e.steps.length,2),[a,d]=O.useState(o),u=()=>d(o),l=e.steps.slice(0,a),p=e.steps.length-a;return i.jsxs("div",{style:{border:"1px solid var(--border-subtle, rgba(127,127,127,0.25))",borderRadius:8,background:"var(--bg-1, transparent)",overflow:"hidden"},children:[i.jsxs("button",{type:"button","aria-expanded":n,onClick:()=>{s(c=>!c),n&&u()},style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,border:0,background:"transparent",color:"var(--text-secondary, inherit)",cursor:"pointer",padding:"8px 11px",font:"inherit",fontSize:12,fontWeight:700},children:[i.jsxs("span",{style:{display:"flex",alignItems:"center",gap:7},children:[i.jsx("span",{"aria-hidden":!0,style:{transform:n?"rotate(90deg)":"none",transition:"transform 120ms",display:"inline-block"},children:"▸"}),r??"Why?"]}),i.jsx("span",{style:{fontSize:11,color:"var(--text-tertiary, inherit)",fontWeight:600},children:n?"Hide derivation":"Show how this was derived"})]}),n&&i.jsxs("div",{style:{padding:"2px 11px 11px",display:"flex",flexDirection:"column",gap:10},children:[i.jsx("div",{style:{fontSize:12.5,lineHeight:1.5,color:"var(--text-primary, inherit)"},children:e.summary}),(e.trustLabel||e.freshness)&&i.jsxs("div",{style:{display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"},children:[e.trustLabel&&i.jsx(We,{tone:Oe(e.trustLabel),children:Pe(e.trustLabel)}),e.freshness&&i.jsxs("span",{style:{fontSize:11,color:"var(--text-tertiary, inherit)"},children:["Fresh as of ",Mt(e.freshness)]})]}),i.jsx("ol",{style:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:7},children:l.map((c,f)=>i.jsxs("li",{style:{display:"flex",gap:9,alignItems:"flex-start",paddingLeft:2},children:[i.jsx("span",{"aria-hidden":!0,style:{marginTop:3,width:7,height:7,borderRadius:999,flexShrink:0,background:"var(--accent, currentColor)",opacity:.7}}),i.jsxs("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[i.jsxs("div",{style:{display:"flex",gap:6,alignItems:"center",flexWrap:"wrap"},children:[i.jsx("span",{style:{fontSize:10,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--text-tertiary, inherit)"},children:Lt[c.kind]}),i.jsx("span",{style:{fontSize:12.5,fontWeight:700,color:"var(--text-primary, inherit)",overflowWrap:"anywhere"},children:c.name}),c.status&&i.jsx(We,{tone:Oe(c.status),children:Pe(c.status)})]}),(c.owner||c.detail)&&i.jsxs("div",{style:{fontSize:11.5,color:"var(--text-secondary, inherit)",lineHeight:1.45},children:[c.owner&&i.jsxs("span",{children:["Owner: ",c.owner,". "]}),c.detail]})]})]},`${c.kind}-${c.name}-${f}`))}),p>0&&i.jsxs("button",{type:"button",onClick:()=>d(c=>Math.min(e.steps.length,c+1)),style:{alignSelf:"flex-start",border:"1px solid var(--border-default, rgba(127,127,127,0.3))",borderRadius:6,background:"transparent",color:"var(--accent, inherit)",cursor:"pointer",padding:"4px 9px",fontSize:11,fontWeight:700},children:["Show next step (",p," more)"]}),e.caveats&&e.caveats.length>0&&i.jsxs("div",{style:{borderLeft:"3px solid var(--status-warning, #d29922)",background:"var(--status-warning-bg, rgba(210,153,34,0.08))",borderRadius:6,padding:"8px 10px",display:"flex",flexDirection:"column",gap:4},children:[i.jsx("span",{style:{fontSize:10,fontWeight:800,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--status-warning, inherit)"},children:"Caveats"}),e.caveats.map((c,f)=>i.jsx("span",{style:{fontSize:11.5,color:"var(--text-secondary, inherit)",lineHeight:1.45},children:c},f))]})]})]})}function Pe(e){return e.replace(/[_-]+/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function Mt(e){const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString()}const ue=/date|time|day|month|year|week|quarter|period|_at$|^at$/i,fe=/(?:^|_)(?:id|uuid|key|code)$/i,he=/(?:name|title|label|display|description|customer|account|product|region|segment|category|channel)$/i,_t=new Set(["bar","grouped-bar","stacked-bar","line","area","scatter","pie","donut","heatmap","histogram","funnel","sankey","waterfall","gauge","kpi","table"]);function qe(e){return typeof e=="number"?Number.isFinite(e):typeof e=="string"?e.trim()!==""&&Number.isFinite(Number(e)):!1}function et(e){const t=e.rows.slice(0,20);return t.length===0?[]:e.columns.filter(r=>t.some(n=>qe(n[r]))&&t.every(n=>{const s=n[r];return s==null||s===""||qe(s)}))}function Dt(e,t){const r=e.columns.filter(n=>!t.includes(n));return r.find(n=>he.test(n)&&!fe.test(n))??r.find(n=>!fe.test(n))??r[0]??e.columns[0]}function It(e){return e.columns.filter(t=>{if(!fe.test(t))return!1;const r=t.replace(/(?:_)?(?:id|uuid|key|code)$/i,"").replace(/_+$/,"");return e.columns.some(n=>n!==t&&(r.length>0&&n.toLowerCase().startsWith(r.toLowerCase())&&he.test(n)||r.length===0&&he.test(n)))})}function Wt(e,t){if(t.length===0)return e;const r=new Set(t);return{...e,columns:e.columns.filter(n=>!r.has(n)),rows:e.rows.map(n=>Object.fromEntries(Object.entries(n).filter(([s])=>!r.has(s))))}}function tt(e,t){const r=et(e),n=e.rows.length>0,s=e.columns.filter(g=>!r.includes(g));if(!(n&&r.length>=1))return{config:{...t??{},chart:"table",decisionSource:"data",rationale:"The returned rows do not contain a numeric measure to plot."},chartable:!1,reason:"No numeric measure"};const a=Dt(e,r),d=t!=null&&t.x&&e.columns.includes(t.x)?t.x:a,u=t!=null&&t.y&&e.columns.includes(t.y)?t.y:r.find(g=>g!==d)??r[0],l=Pt(e,r,s,d),p=Ot(t==null?void 0:t.chart),c=t==null?void 0:t.decisionSource,f=c==="authored"||c==="user",h=f&&p||p&&qt(p,e,r,s,d,u)?p:l.chart,x=!!(p&&p!==h&&!f),b=t!=null&&t.color&&e.columns.includes(t.color)?t.color:h==="sankey"?s.find(g=>g!==d):t==null?void 0:t.color,S=x?`${l.reason}; replaced the agent suggestion because the returned data is not compatible.`:p&&!f?"Agent-selected visualization validated against the returned data.":l.reason;return{config:{...t??{},chart:h,x:d,y:u,...b?{color:b}:{},decisionSource:f?c:p&&!x?"agent":"data",rationale:S},chartable:h!=="table",reason:S}}function Ot(e){if(typeof e!="string")return;const t=e.toLowerCase().replace(/_/g,"-").replace("single-value","kpi");return _t.has(t)?t:void 0}function Pt(e,t,r,n){return e.rows.length===1&&t.length>=1?{chart:"kpi",reason:"Single returned value"}:ue.test(n)&&t.length>=1?{chart:"line",reason:`Time-like field ${n}`}:r.length>0&&t.length>=2?{chart:"grouped-bar",reason:"One category with multiple numeric measures"}:r.length>0&&t.length===1?{chart:"bar",reason:"Categorical comparison with one numeric measure"}:t.length>=2?{chart:"scatter",reason:"Two continuous numeric measures"}:{chart:"table",reason:"No comparable category or time axis was returned"}}function qt(e,t,r,n,s,o){return e==="table"?!0:e==="kpi"||e==="gauge"?r.length>=1&&t.rows.length===1:e==="line"||e==="area"?r.includes(o)&&ue.test(s):e==="scatter"?r.length>=2:e==="sankey"?n.length>=2&&r.length>=1:e==="histogram"?r.length>=1:e==="grouped-bar"||e==="stacked-bar"?n.length>=1&&r.length>=2:e==="pie"||e==="donut"?n.length>=1&&r.length>=1&&t.rows.length>=2&&t.rows.length<=8:e==="heatmap"?t.columns.length>=3&&r.length>=1:e==="funnel"||e==="waterfall"?n.length>=1&&r.length>=1:e==="bar"?n.length>=1&&r.length>=1&&!ue.test(s):!1}function En({result:e,themeMode:t,t:r,chartConfig:n,embedded:s=!1,tabLabels:o}){const a=e.rows.length===0,[d,u]=$.useState(),[l,p]=$.useState(!1),c=$.useMemo(()=>({...n??{},...d??{}}),[n,d]),{config:f,chartable:h}=tt(e,c),x=$.useMemo(()=>et(e),[e]),b=$.useMemo(()=>It(e),[e]),S=$.useMemo(()=>l?e:Wt(e,b),[b,e,l]),[g,v]=$.useState(h?"chart":"table"),w=m=>({border:"none",background:"transparent",cursor:"pointer",fontFamily:r.font,fontSize:11,fontWeight:700,padding:"2px 4px",color:m?r.accent:r.textMuted,borderBottom:`2px solid ${m?r.accent:"transparent"}`}),L=ce.some(m=>m.value===f.chart)?f.chart:"bar";return i.jsxs("div",{style:{border:s?"none":`1px solid ${r.headerBorder}`,background:r.cellBg,borderRadius:s?0:8,overflow:"hidden"},children:[i.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",padding:s?"9px 14px":"5px 9px",borderBottom:`1px solid ${r.headerBorder}`},children:[s&&h&&i.jsx("button",{type:"button",onClick:()=>v("table"),style:w(g==="table"),children:(o==null?void 0:o.table)??"Table"}),h&&i.jsx("button",{type:"button",onClick:()=>v("chart"),style:w(g==="chart"),children:(o==null?void 0:o.chart)??"Chart"}),!s&&h&&i.jsx("button",{type:"button",onClick:()=>v("table"),style:w(g==="table"),children:(o==null?void 0:o.table)??"Table"}),!h&&!a&&i.jsx("span",{style:{fontSize:11,fontWeight:700,color:r.textMuted},children:(o==null?void 0:o.table)??"Table"}),h&&g==="chart"?i.jsx("select",{value:L,onChange:m=>u(A=>({...A??{},chart:m.target.value,decisionSource:"user",rationale:"Selected manually."})),title:"Chart type",style:{fontFamily:r.font,fontSize:10.5,fontWeight:600,color:r.textSecondary,background:r.cellBg,border:`1px solid ${r.headerBorder}`,borderRadius:5,padding:"1px 4px",cursor:"pointer"},children:ce.map(m=>i.jsx("option",{value:m.value,children:m.label},m.value))}):null,h&&g==="chart"?i.jsxs(i.Fragment,{children:[i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:3,color:r.textMuted,fontSize:10.5},children:["X",i.jsx("select",{"aria-label":"X-axis field",value:f.x??"",onChange:m=>u(A=>({...A??{},x:m.target.value,decisionSource:"user",rationale:"Axis selected manually."})),style:{fontFamily:r.font,fontSize:10.5,color:r.textSecondary,background:r.cellBg,border:`1px solid ${r.headerBorder}`,borderRadius:5,padding:"1px 3px",cursor:"pointer",maxWidth:120},children:e.columns.map(m=>i.jsx("option",{value:m,children:m},m))})]}),x.length>0?i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:3,color:r.textMuted,fontSize:10.5},children:["Y",i.jsx("select",{"aria-label":"Y-axis field",value:f.y??"",onChange:m=>u(A=>({...A??{},y:m.target.value,decisionSource:"user",rationale:"Axis selected manually."})),style:{fontFamily:r.font,fontSize:10.5,color:r.textSecondary,background:r.cellBg,border:`1px solid ${r.headerBorder}`,borderRadius:5,padding:"1px 3px",cursor:"pointer",maxWidth:120},children:x.map(m=>i.jsx("option",{value:m,children:m},m))})]}):null,f.chart==="sankey"?i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:3,color:r.textMuted,fontSize:10.5},children:["Target",i.jsx("select",{"aria-label":"Sankey target field",value:f.color??"",onChange:m=>u(A=>({...A??{},color:m.target.value,decisionSource:"user",rationale:"Sankey target selected manually."})),style:{fontFamily:r.font,fontSize:10.5,color:r.textSecondary,background:r.cellBg,border:`1px solid ${r.headerBorder}`,borderRadius:5,padding:"1px 3px",cursor:"pointer",maxWidth:120},children:e.columns.filter(m=>!x.includes(m)&&m!==f.x).map(m=>i.jsx("option",{value:m,children:m},m))})]}):null]}):null,h&&f.rationale?i.jsxs("span",{title:f.rationale,style:{fontSize:10.5,color:r.textMuted,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:230},children:["Smart chart · ",f.chart]}):null,i.jsxs("span",{style:{marginLeft:"auto",fontSize:10.5,color:r.textMuted,alignSelf:"center"},children:[e.rowCount??e.rows.length," rows"]})]}),i.jsx("div",{style:{padding:s?12:8,minHeight:h&&g==="chart"?200:void 0,maxHeight:s?380:320,overflow:"auto"},children:a?i.jsxs("div",{style:{padding:"18px 8px",textAlign:"center",color:r.textMuted,fontSize:12},children:["The query ran successfully and matched 0 rows",e.columns.length>0?` (columns: ${e.columns.join(", ")})`:"","."]}):h&&g==="chart"?i.jsx(Ke,{result:e,themeMode:t,chartConfig:f,onConfigChange:m=>u(A=>({...A??{},...m,decisionSource:"user",rationale:"Adjusted manually."}))}):i.jsxs(i.Fragment,{children:[b.length>0?i.jsx("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:6},children:i.jsx("button",{type:"button",onClick:()=>p(m=>!m),style:{border:"none",background:"transparent",color:r.accent,cursor:"pointer",fontSize:10.5,padding:0},children:l?"Hide technical fields":"Show IDs"})}):null,i.jsx(Ze,{result:S,themeMode:t})]})})]})}const Ft=3;function Et(e){const{business360:t,block:r,value:n,generated:s=!1}=e,o=e.maxPerKind??Ft,a=t.focus,d=[];n&&d.push({kind:"value",name:n,detail:a.name?`Reported by ${a.name}.`:void 0});const u=(r==null?void 0:r.owner)??a.owner,l=(r==null?void 0:r.status)??a.status,p=(r==null?void 0:r.reviewCadence)??oe(a.metadata,"reviewCadence");d.push({kind:"block",name:a.name,owner:u,status:l,detail:Ht({reviewCadence:p,businessOutcome:(r==null?void 0:r.businessOutcome)??oe(a.metadata,"businessOutcome"),decisionUse:r==null?void 0:r.decisionUse})});const c=Fe([...t.businessDefinition.terms,...t.businessDefinition.definedByTerms]);for(const x of c.slice(0,o))x.id!==a.id&&d.push({kind:"term",name:x.name,owner:x.owner,detail:"Business term this answer is defined in."});for(const x of se(r==null?void 0:r.metricRefs).slice(0,o))d.push({kind:"metric",name:x,detail:"Governed metric used in the calculation."});for(const x of se(r==null?void 0:r.dimensionRefs).slice(0,o))d.push({kind:"dimension",name:x,detail:"Dimension used to slice the value."});for(const x of t.technicalSources.dbtModels.slice(0,o))d.push({kind:"model",name:x.name,detail:"dbt model the certified SQL builds on."});const f=Fe([...t.technicalSources.dbtSources,...t.technicalSources.sourceTables]);for(const x of f.slice(0,o))d.push({kind:"source",name:x.name,detail:"Raw source table the data originates from."});const h=se((r==null?void 0:r.caveats)??Ut(a.metadata,"caveats"));return{value:n,summary:Nt({focus:a,blockOwner:u,reviewCadence:p,generated:s,sourceAssets:f}),steps:d,trustLabel:e.trustLabel??(s?"review_required":void 0),freshness:e.freshness??Qt(r==null?void 0:r.dataState,r==null?void 0:r.dataStateDetail)??oe(a.metadata,"freshness"),caveats:h.length>0?h:void 0}}function Qt(e,t){switch(e){case"failed":return t?`upstream failed — ${t}`:"upstream failed";case"stale":return t?`stale data — ${t}`:"stale data";default:return}}function Ht(e){const t=[];return e.businessOutcome?t.push(e.businessOutcome):e.decisionUse&&t.push(`Supports: ${e.decisionUse}.`),e.reviewCadence&&t.push(`Reviewed ${e.reviewCadence}.`),t.length>0?t.join(" "):void 0}function Nt(e){const t=e.blockOwner?` owned by ${e.blockOwner}`:"",r=e.sourceAssets.length>0?` It traces back to ${e.sourceAssets[0].name}.`:"";if(e.generated)return`This value was generated from ${e.focus.name}${t} and still needs analyst review before it can be certified.${r}`;const n=e.reviewCadence?`, reviewed ${e.reviewCadence}`:"";return`This value comes from the certified ${e.focus.name}${t}${n}.${r}`}function oe(e,t){const r=e==null?void 0:e[t];return typeof r=="string"&&r.trim().length>0?r:void 0}function Ut(e,t){const r=e==null?void 0:e[t];return Array.isArray(r)?r.filter(n=>typeof n=="string"&&n.trim().length>0):[]}function se(e){if(!e)return[];const t=new Set,r=[];for(const n of e){const s=typeof n=="string"?n.trim():"";!s||t.has(s.toLowerCase())||(t.add(s.toLowerCase()),r.push(s))}return r}function Fe(e){const t=new Set,r=[];for(const n of e)t.has(n.id)||(t.add(n.id),r.push(n));return r}function nt(e){var n,s;const t=e.dqlArtifact,r=(n=t==null?void 0:t.source)==null?void 0:n.trim();return r?{source:r,kind:t==null?void 0:t.kind,name:t==null?void 0:t.name,sourcePath:t==null?void 0:t.sourcePath,metrics:le(t==null?void 0:t.metrics),dimensions:le(t==null?void 0:t.dimensions),filters:((t==null?void 0:t.filters)??[]).map(o=>{var l,p;const a=(l=o.dimension)==null?void 0:l.trim(),d=((p=o.operator)==null?void 0:p.trim())||"equals",u=le(o.values);return!a||u.length===0?"":`${a} ${d} ${u.join(", ")}`}).filter(Boolean),timeDimension:(s=t==null?void 0:t.timeDimension)!=null&&s.name?[t.timeDimension.name,t.timeDimension.granularity].filter(Boolean).join(" / "):void 0,orderBy:((t==null?void 0:t.orderBy)??[]).map(o=>{var u,l;const a=(u=o.name)==null?void 0:u.trim(),d=(l=o.direction)==null?void 0:l.trim();return a&&d?`${a} ${d}`:""}).filter(Boolean),limit:typeof(t==null?void 0:t.limit)=="number"&&Number.isFinite(t.limit)?t.limit:void 0}:null}function Vt(e){for(let t=e.length-1;t>=0;t--){const r=e[t];if(r.kind!=="tool_result"||r.id!=="governed_answer")continue;const n=r.output;if(n&&typeof n=="object"&&"kind"in n)return n}return null}function le(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?t.trim():"").filter(Boolean):[]}function Jt(e){const t=e.result;if(!t||!Array.isArray(t.rows))return null;const n=(Array.isArray(t.columns)?t.columns:[]).map(o=>typeof o=="string"?o:o&&typeof o=="object"&&typeof o.name=="string"?String(o.name):String(o)),s=t.rows.filter(o=>!!(o&&typeof o=="object"&&!Array.isArray(o))).map(o=>o);return{columns:n,rows:s,rowCount:typeof t.rowCount=="number"?t.rowCount:s.length,executionTime:t.executionTime}}function Gt(e,t){const r=e&&typeof e=="object"?e:{},n=typeof r.chart=="string"?r.chart:void 0,s=r.decisionSource==="authored"||r.decisionSource==="agent"||r.decisionSource==="data"||r.decisionSource==="user"?r.decisionSource:void 0,o=n||(typeof t.suggestedViz=="string"?t.suggestedViz:void 0),a=o?o.toLowerCase().replace(/_/g,"-")==="single-value"?"kpi":o:void 0;return{...a?{chart:a}:{},...a?{decisionSource:s??(n?"authored":"agent")}:{},...typeof r.rationale=="string"?{rationale:r.rationale}:{},...typeof r.x=="string"?{x:r.x}:{},...typeof r.y=="string"?{y:r.y}:{},...typeof r.color=="string"?{color:r.color}:{},...typeof r.title=="string"?{title:r.title}:{}}}function Xt(e,t){return!t||t.columns.length===0?e:tt(t,e).config}function ae(e){if(typeof e!="string")return;const t=e.replace(/\s+/g," ").trim();if(t)return t.length>180?`${t.slice(0,177)}...`:t}function rt(e){const t=Yt(e,["Answer","Business summary","Summary"]);if(t)return Ee(t,340);const r=/^(?:reuse evidence|certified result preview|result preview|result summary|trust status|next action|recommended action|sql used by block|reusable block sql|proposed sql|sql generated|sql draft|evidence|parameters|lineage|technical lineage)\s*:/i,n=/^(?:SELECT|WITH|FROM|WHERE|GROUP BY|ORDER BY|LIMIT)\b/i,s=[];for(const a of e.split(/\r?\n/)){const d=a.trim();if(!(!d||/^#{1,6}\s*/.test(d)||/^```/.test(d)||/^\|/.test(d))&&!/^outcome\s*:/i.test(d)){if(r.test(d)||n.test(d)){if(s.length>0)break;continue}if(s.push(d),s.length>=5)break}}const o=s.join(" ").replace(/[*_`]+/g,"").replace(/\s+/g," ").trim();return Ee(o,340)}function Yt(e,t){var p,c,f;const r=e.split(/\r?\n/),n=t.map(h=>h.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),s=new RegExp(`^\\s*(?:#{1,6}\\s*)?(?:[-*]\\s*)?(?:\\*\\*)?(${n})(?:\\*\\*)?\\s*:\\s*(.*)$`,"i"),o=/^\s*(?:#{1,6}\s*)?(?:[-*]\s*)?(?:\*\*)?[A-Z][A-Za-z /-]{2,42}(?:\*\*)?\s*:/,a=r.findIndex(h=>s.test(h));if(a<0)return;const d=((f=(c=(p=r[a])==null?void 0:p.match(s))==null?void 0:c[2])==null?void 0:f.trim())??"",u=d?[d]:[];for(let h=a+1;h<r.length;h+=1){const x=r[h]??"";if(o.test(x)||/^\s*```/.test(x))break;x.trim()&&u.push(x.trim())}return u.join(" ").replace(/[*_`]+/g,"").replace(/\s+/g," ").trim()||void 0}function Ee(e,t){const r=e.replace(/\s+/g," ").trim();if(r.length<=t)return r;const n=r.slice(0,t-1),s=Math.max(n.lastIndexOf(". "),n.lastIndexOf("; "));if(s>100)return n.slice(0,s+1).trim();const o=n.lastIndexOf(" ");return`${n.slice(0,o>80?o:n.length).trim()}...`}function Kt({answer:e,themeMode:t,showSql:r=!0,compact:n=!1,addToAppTarget:s,sourceQuestion:o,onInvestigate:a,onInsertSql:d,onCreateBlock:u}){var we,ke,$e,Ce,Be,Ae,ze,Te,Le,Re,Me,_e,De;const l=Ct[t],{dispatch:p}=$t(),c=Jt(e),f=Gt((we=e.result)==null?void 0:we.chartConfig,e),[h,x]=$.useState(),b=Xt({...f??{},...h??{}},c),S=!!(c&&Bt(c,b)!=="table"),g=e.analysisPlan??((ke=e.evidence)==null?void 0:ke.analysisPlan),v=r?e.sql??(($e=e.result)==null?void 0:$e.sql)??e.proposedSql??(g==null?void 0:g.sql):void 0,w=nt(e),L=e.executionError??(((Be=(Ce=e.evidence)==null?void 0:Ce.execution)==null?void 0:Be.status)==="failed"?e.evidence.execution.message:void 0),m=((Ae=e.result)==null?void 0:Ae.blockPath)??((ze=e.block)==null?void 0:ze.sourcePath),A=!!(v||L||r&&m),ee=!!e.evidence,[U,pe]=$.useState("answer"),[ct,xe]=$.useState(!1),[ge,ut]=$.useState(!1),me=dt(e),ye=An(me,l),be=(e.answer??e.text??"").replace(/\n\n_Question:_[\s\S]*$/m,"").trim(),M=n?rt(be):be,k=((Te=e.result)==null?void 0:Te.blockName)??((Le=e.block)==null?void 0:Le.name)??((Me=(Re=e.citations)==null?void 0:Re.find(y=>y.kind==="block"))==null?void 0:Me.name),te=Rn(e,k),ft=zn(e,c,k,m),[ht,ve]=$.useState(!1),[V,J]=$.useState(null),[je,pt]=$.useState(null),xt=!!(s&&(c||v||M||k)),gt=!!(d&&v),mt=!!(u&&v),P=ae(g==null?void 0:g.question)??ae(o)??ae(M)??"Investigate this answer",yt=!!(a&&P),bt=it(e,{sql:v,executionError:L,blockName:k,result:c}),vt=()=>{!d||!v||(d(v,k??(g==null?void 0:g.question)??"AI SQL preview",{question:o??(g==null?void 0:g.question)}),pt("Inserted SQL preview cell for review."))},jt=()=>{!u||!v||u(v,{title:(w==null?void 0:w.name)??k??(g==null?void 0:g.question)??"AI DQL draft",description:M||(g==null?void 0:g.routeReason)||"AI generated DQL draft.",tags:["ai-generated","review-required"]})},St=async(y="auto")=>{if(!s)return;const W=y==="both"?["chart","data"]:y==="data"?["data"]:y==="chart"?["chart"]:c?[S?"chart":"data"]:[];ve(!0),xe(!1),J(null);try{if(e.certification==="certified"&&k){const B=await E.getDashboard(s.appId,s.dashboardId);if(!B)throw new Error("Dashboard could not be loaded.");const _=[...B.dashboard.layout.items],R=W.length>0?W:["chart"];for(const F of R){const X=R.length>1?`${k}_${F}`:k,Ie={...B.dashboard,layout:{...B.dashboard.layout,items:_}},kt=Dn(Ie,X);_.push({i:kt,..._n(Ie),block:{blockId:k},viz:{type:F==="data"?"table":In(b==null?void 0:b.chart)},title:R.length>1?`${k} ${F==="data"?"data":"chart"}`:k})}const q={...B.dashboard.layout,items:_},T=await E.patchDashboardLayout(s.appId,s.dashboardId,q);if(!T.ok)throw new Error(T.error);J(R.length>1?"Added certified chart and data tiles.":"Added certified block tile.")}else{const B=!!(v&&window.confirm("Keep this AI result refreshed daily?")),_=k??(M.slice(0,60)||"AI result"),R=W.length>0?W:["data"];let q=c??void 0;if(!q&&v){const T=await E.previewGeneratedSql(v);if(!T.ok)throw new Error(`SQL preview failed: ${T.error}`);q=T.result}for(const T of R){const F=T==="data"?{...b??{},chart:"table",title:`${_} data`}:b,X=await E.createAiPin(s.appId,{dashboardId:s.dashboardId,title:R.length>1?`${_} ${T==="data"?"data":"chart"}`:_,answer:M||e.answer||e.text||"AI generated answer",question:g==null?void 0:g.question,sql:v,sourceTier:e.sourceTier,certification:e.certification==="certified"?"certified":"ai_generated",reviewStatus:"needs_review",refreshCadence:B?"daily":"none",chartConfig:F,result:q,citations:e.citations,analysisPlan:g,evidence:e.evidence,followUps:g==null?void 0:g.followUps});if(!X.ok)throw new Error(X.error)}J(R.length>1?"Pinned chart and data tiles for review.":"Pinned AI result for review.")}window.dispatchEvent(new CustomEvent("dql-app-dashboard-updated",{detail:s}))}catch(B){J(B instanceof Error?B.message:String(B))}finally{ve(!1)}},wt=()=>{!a||!P||a({question:P,title:te?`${te}: ${P}`:P,answerSummary:M,blockName:te,sql:v,evidence:e.evidence})},ne=[{id:"answer",label:n?"Summary":"Answer",visible:!0},{id:"dql",label:"DQL",visible:!!w},{id:"visual",label:n?"Chart":"Visualization",visible:S},{id:"data",label:"Data",visible:!!c},{id:"sql",label:"SQL / Block",visible:r&&A},{id:"lineage",label:n?"Trace":"Lineage",visible:ee},{id:"context",label:n?"Context":"Business Context",visible:ee},{id:"review",label:n?"Trust":"Review",visible:ee||!!((_e=e.citations)!=null&&_e.length)}].filter(y=>y.visible),Se=ne.some(y=>y.id===U)?U:"answer",G=ne.filter(y=>y.id!=="answer"),re=G.some(y=>y.id===U)?U:(De=G[0])==null?void 0:De.id,ie=y=>y==="answer"?i.jsx(rn,{summary:M,answer:e,blockName:k,evidence:e.evidence,analysisPlan:g,result:c,sourceTier:e.sourceTier,compact:n,t:l}):y==="dql"&&w?i.jsx(jn,{artifact:w,t:l}):y==="visual"&&c&&S?i.jsxs("div",{style:{padding:n?"8px 10px":"10px 12px",minHeight:n?180:220,display:"grid",gap:10},children:[i.jsx(kn,{result:c,chartConfig:b,t:l,onChange:W=>x(B=>({...B??{},...W,decisionSource:"user",rationale:"Adjusted manually."}))}),i.jsx(Ke,{result:c,themeMode:t,chartConfig:b})]}):y==="data"&&c?i.jsx("div",{style:{maxHeight:n?320:420,overflow:"auto"},children:i.jsx(Ze,{result:c,themeMode:t})}):y==="lineage"?i.jsx(yn,{evidence:e.evidence,t:l}):y==="context"?i.jsx(bn,{evidence:e.evidence,t:l}):y==="sql"&&r&&A?i.jsx(Sn,{sql:v,blockPath:m,executionError:L,t:l}):y==="review"?i.jsx(vn,{answer:e,t:l}):null;return i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:n?8:10,whiteSpace:"normal"},children:[i.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[i.jsx(At,{state:me}),i.jsx(zt,{t:l,route:e.route}),I(e.cascade)&&i.jsx("span",{style:{border:`1px solid ${l.cellBorder}`,borderRadius:999,padding:"3px 8px",fontSize:11,fontWeight:700,color:l.textSecondary,background:l.tableHeaderBg},children:I(e.cascade)}),!n&&k&&i.jsxs("span",{style:{fontSize:12,fontFamily:l.fontMono,color:l.textSecondary},children:["block: ",k]}),c&&i.jsxs("span",{style:{fontSize:12,color:l.textMuted},children:[(c.rowCount??c.rows.length).toLocaleString()," rows",c.executionTime!==void 0&&i.jsxs(i.Fragment,{children:[" - ",Math.round(c.executionTime),"ms"]})]}),xt&&i.jsx($n,{t:l,adding:ht,hasResult:!!c,hasChart:S,fallbackLabel:e.certification==="certified"&&k?n?"Add":"Add block":"Pin answer",open:ct,onToggle:()=>xe(y=>!y),onAdd:y=>void St(y)}),yt&&i.jsx("button",{type:"button",onClick:wt,style:{border:`1px solid ${l.accent}`,borderRadius:6,background:`${l.accent}12`,color:l.accent,cursor:"pointer",padding:n?"4px 8px":"5px 10px",fontSize:11,fontFamily:l.font,fontWeight:800},children:n?"Investigate":"Investigate deeper"}),mt&&i.jsx("button",{type:"button",onClick:jt,style:{border:`1px solid ${l.accent}`,borderRadius:6,background:l.cellBg,color:l.accent,cursor:"pointer",padding:n?"4px 8px":"5px 10px",fontSize:11,fontFamily:l.font,fontWeight:700},children:n?"DQL draft":w?"Review DQL draft":"Create DQL draft"}),gt&&i.jsx("button",{type:"button",onClick:vt,style:{border:`1px solid ${l.accent}`,borderRadius:6,background:`${l.accent}18`,color:l.accent,cursor:"pointer",padding:n?"4px 8px":"5px 10px",fontSize:11,fontFamily:l.font,fontWeight:700},children:n?"SQL preview":"Insert SQL preview"})]}),V&&i.jsx("div",{style:{fontSize:11,color:V.toLowerCase().includes("added")||V.toLowerCase().includes("pinned")?"#3fb950":"#ff7b72"},children:V}),je&&i.jsx("div",{style:{fontSize:11,color:"#3fb950"},children:je}),i.jsx(Zt,{outcome:bt,t:l,compact:n}),i.jsxs("div",{style:{border:`1px solid ${l.cellBorder}`,borderTop:`2px solid ${ye}`,borderRadius:n?10:6,overflow:"hidden",background:l.cellBg},children:[!n&&i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"4px 10px",borderBottom:`1px solid ${l.cellBorder}`,background:`${l.tableHeaderBg}70`,flexWrap:"wrap"},children:[ne.map(y=>i.jsx(Xe,{active:Se===y.id,label:y.label,onClick:()=>pe(y.id),t:l},y.id)),!r&&m&&i.jsx("span",{style:{marginLeft:"auto",minWidth:0,fontSize:11,fontFamily:l.fontMono,color:l.textMuted,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:m})]}),ie(n?"answer":Se),n&&G.length>0&&i.jsxs("div",{style:{borderTop:`1px solid ${l.cellBorder}`,background:`${l.tableHeaderBg}45`},children:[i.jsxs("button",{type:"button",onClick:()=>ut(y=>!y),style:{width:"100%",border:0,background:"transparent",color:l.textSecondary,padding:"8px 12px",display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"pointer",fontSize:11,fontWeight:800},children:[i.jsx("span",{children:"Details"}),i.jsx("span",{style:{color:l.textMuted,fontFamily:l.fontMono},children:ge?"hide":"show evidence"})]}),ge&&i.jsxs("div",{style:{borderTop:`1px solid ${l.cellBorder}`},children:[i.jsx("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"4px 12px",flexWrap:"wrap"},children:G.map(y=>i.jsx(Xe,{active:re===y.id,label:y.label,onClick:()=>pe(y.id),t:l},y.id))}),re?ie(re):null]})]}),i.jsx(wn,{items:ft,t:l,accent:ye}),i.jsx(Tt,{t:l,skills:e.appliedSkills,onOpenSkills:()=>p({type:"SET_MAIN_VIEW",view:"skills"})})]})]})}function it(e,t){var r,n,s,o,a;if(e.kind==="no_answer")return{kind:"cannot_answer",label:"Cannot answer yet",detail:"The assistant did not find enough trusted context to safely answer or generate SQL.",nextAction:"Clarify the business object, metric, grain, or source table.",tone:"error"};if(e.certification==="certified"||e.kind==="certified"){const d=t.blockName??e.sourceCertifiedBlock??((r=e.block)==null?void 0:r.name);return{kind:"reuse_certified_block",label:"Reuse certified block",detail:d?`Existing DQL block ${d} answers this request.`:"A certified DQL artifact answers this request.",nextAction:"Use the certified block instead of creating duplicate SQL.",tone:"success"}}return t.executionError||e.executionError?{kind:"fix_sql",label:"Fix SQL",detail:"The generated or selected SQL needs correction before it can become reusable DQL.",nextAction:"Ask AI to repair, edit manually, then rerun preview.",tone:"error"}:(n=e.draftBlock)!=null&&n.path||e.draftBlockId?{kind:"use_existing_draft",label:"Use existing draft",detail:`A review-required DQL draft is available at ${((s=e.draftBlock)==null?void 0:s.path)??e.draftBlockId}.`,nextAction:"Open the draft, review metadata/tests/lineage, then certify manually.",tone:"accent"}:(a=(o=e.dqlArtifact)==null?void 0:o.source)!=null&&a.trim()?{kind:"create_dql_draft",label:"Review DQL draft",detail:"A review-required DQL artifact is available for analyst review.",nextAction:"Review DQL metadata, query logic, lineage, and result preview before certification.",tone:"warning"}:t.sql?{kind:t.result?"generate_sql_cell":"create_dql_draft",label:t.result?"Review SQL preview":"Create DQL draft",detail:t.result?`Review-required SQL preview returned ${(t.result.rowCount??t.result.rows.length).toLocaleString()} row${(t.result.rowCount??t.result.rows.length)===1?"":"s"}.`:"Review-required SQL is available but still needs preview and DQL metadata review.",nextAction:t.result?"Create a DQL draft after reviewing parameters and lineage; insert SQL only as a notebook preview.":"Run preview, inspect parameters, then create a draft block.",tone:"warning"}:{kind:"needs_review",label:"Needs review",detail:"The assistant returned business context but no executable certified answer or SQL draft.",nextAction:"Review evidence and ask for a specific SQL, reuse, or DQL draft action.",tone:"muted"}}function Zt({outcome:e,t,compact:r}){const n=en(e.tone,t);return i.jsxs("div",{style:{border:`1px solid ${n}45`,borderLeft:`3px solid ${n}`,borderRadius:r?10:7,background:`${n}10`,padding:r?"9px 10px":"10px 12px",display:"grid",gap:r?4:5},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:7,minWidth:0},children:[i.jsx("span",{style:{border:`1px solid ${n}55`,background:`${n}14`,color:n,borderRadius:999,padding:"2px 7px",fontSize:10,fontWeight:850,lineHeight:1.1,textTransform:"uppercase",letterSpacing:0,flexShrink:0},children:e.label}),i.jsx("span",{style:{fontSize:r?12:12.5,color:t.textPrimary,fontWeight:750,overflow:"hidden",textOverflow:"ellipsis"},children:e.detail})]}),i.jsxs("div",{style:{fontSize:r?11.5:12,color:t.textSecondary,lineHeight:1.45},children:["Next: ",e.nextAction]})]})}function en(e,t){switch(e){case"success":return t.success;case"accent":return t.accent;case"warning":return t.warning;case"error":return t.error;case"muted":default:return t.textMuted}}function tn({answer:e,blockName:t}){const[r,n]=$.useState(null),[s,o]=$.useState(!1),[a,d]=$.useState(!1),u=O.useCallback(async()=>{var l,p;if(!a){d(!0),o(!0);try{const c=await E.fetchBusiness360(t);if(!c){n(null);return}const f=(l=e.evidence)==null?void 0:l.outcome,h=Qe(e,"metric"),x=Qe(e,"dimension"),b=e.certification!=="certified"&&e.kind!=="certified",S=Et({business360:c,block:{name:t,owner:f==null?void 0:f.owner,status:((p=e.block)==null?void 0:p.status)??e.certification,reviewCadence:f==null?void 0:f.reviewCadence,caveats:f==null?void 0:f.caveats,decisionUse:f==null?void 0:f.decisionUse,metricRefs:h,dimensionRefs:x},value:nn(e),generated:b,trustLabel:e.trustLabel});n(S)}catch{n(null)}finally{o(!1)}}},[e,t,a]);return a?s?i.jsx("div",{style:{fontSize:11.5,color:"var(--text-tertiary, inherit)"},children:"Assembling derivation…"}):r?i.jsx(Rt,{walk:r,defaultOpen:!0}):null:i.jsx("button",{type:"button",onClick:()=>void u(),"aria-expanded":!1,style:{alignSelf:"flex-start",border:0,background:"transparent",color:"var(--accent, inherit)",cursor:"pointer",padding:"4px 0",fontSize:12,fontWeight:700,textDecoration:"underline",textUnderlineOffset:3},children:"Why? Show how this was derived"})}function Qe(e,t){var s,o;const r=(((s=e.evidence)==null?void 0:s.semanticObjects)??[]).filter(a=>a.kind===t).map(a=>a.name).filter(a=>!!a);if(r.length>0)return r;const n=e.analysisPlan??((o=e.evidence)==null?void 0:o.analysisPlan);return(t==="metric"?n==null?void 0:n.measures:n==null?void 0:n.dimensions)??[]}function nn(e){const t=e.result;if(t&&Array.isArray(t.rows)&&t.rows.length===1){const r=t.rows[0];if(r&&typeof r=="object"&&!Array.isArray(r)){const n=Object.values(r);if(n.length===1&&(typeof n[0]=="number"||typeof n[0]=="string"))return String(n[0])}}}function rn({summary:e,answer:t,blockName:r,evidence:n,analysisPlan:s,result:o,sourceTier:a,compact:d,t:u}){var p,c,f,h,x,b,S,g,v;const l=(p=s==null?void 0:s.followUps)==null?void 0:p[0];return i.jsxs("div",{style:{padding:d?14:12,display:"flex",flexDirection:"column",gap:d?10:12},children:[e?i.jsx(ot,{text:e,t:u,compact:d,summaryOnly:d}):i.jsx("div",{style:{fontSize:12,color:u.textMuted},children:"No summary text was returned."}),t&&r&&i.jsx(tn,{answer:t,blockName:r}),d?i.jsx("div",{style:{fontSize:11.5,color:u.textMuted,display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:[a?Bn(a):null,o?`${(o.rowCount??o.rows.length).toLocaleString()} rows`:null,((c=n==null?void 0:n.validation)==null?void 0:c.status)==="failed"?"needs review":null,((f=n==null?void 0:n.execution)==null?void 0:f.status)==="failed"?"data check failed":null].filter(Boolean).map((w,L)=>i.jsxs(O.Fragment,{children:[L>0&&i.jsx("span",{style:{color:u.cellBorder},children:"·"}),i.jsx("span",{children:w})]},`${w}-${L}`))}):i.jsxs("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[a&&i.jsx(z,{label:C(a),t:u}),o&&i.jsx(z,{label:`${(o.rowCount??o.rows.length).toLocaleString()} rows`,t:u}),((h=n==null?void 0:n.validation)==null?void 0:h.status)&&i.jsx(z,{label:`validation: ${n.validation.status}`,t:u}),((x=n==null?void 0:n.execution)==null?void 0:x.status)&&i.jsx(z,{label:`execution: ${n.execution.status}`,t:u})]}),o&&!d&&i.jsx(mn,{result:o,t:u,compact:d}),s&&!d&&i.jsxs("div",{style:{display:"grid",gap:7,padding:d?"9px 10px":10,border:`1px solid ${u.cellBorder}`,borderRadius:8,background:`${u.tableHeaderBg}45`},children:[s.routeReason&&i.jsx("div",{style:{fontSize:d?12.5:12,lineHeight:1.45,color:u.textSecondary},children:s.routeReason}),(s.grain||((b=s.measures)==null?void 0:b.length)||((S=s.dimensions)==null?void 0:S.length))&&i.jsxs("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[s.grain&&i.jsx(z,{label:`grain: ${s.grain}`,t:u}),(g=s.measures)==null?void 0:g.slice(0,2).map(w=>i.jsx(z,{label:w,t:u},`measure-${w}`)),(v=s.dimensions)==null?void 0:v.slice(0,2).map(w=>i.jsx(z,{label:w,t:u},`dimension-${w}`))]}),s.candidateJoins&&s.candidateJoins.length>0&&i.jsxs("div",{style:{fontSize:12,color:u.textMuted},children:["Join: ",i.jsx("span",{style:{color:u.textSecondary},children:at(s.candidateJoins[0])})]}),l&&i.jsxs("div",{style:{fontSize:12,color:u.textMuted},children:["Next: ",i.jsx("span",{style:{color:u.textSecondary},children:l})]})]})]})}function ot({text:e,t,compact:r=!1,summaryOnly:n=!1}){const s=n?rt(e):e,o=on(s,t,r);return i.jsx("div",{style:{display:"flex",flexDirection:"column",gap:r?7:8,color:t.textPrimary,fontFamily:t.font,overflowWrap:"anywhere"},children:o})}function on(e,t,r){var d;const n=sn(e).split(`
2
+ `),s=[];let o=0,a=0;for(;o<n.length;){const l=n[o].trim();if(!l){o+=1;continue}if(l.startsWith("```")){const h=l.replace(/^```/,"").trim(),x=[];for(o+=1;o<n.length&&!n[o].trim().startsWith("```");)x.push(n[o]),o+=1;o<n.length&&(o+=1),s.push(i.jsx("pre",{style:gn(t,r),"aria-label":h?`${h} code`:"code",children:x.join(`
3
+ `)},`code-${a++}`));continue}const p=l.match(/^(#{1,4})\s+(.+)$/);if(p){const h=p[1].length;s.push(i.jsx("div",{style:fn(t,r,h),children:D(p[2],t)},`heading-${a++}`)),o+=1;continue}if(/^[-*_]{3,}$/.test(l)){s.push(i.jsx("hr",{style:{width:"100%",border:0,borderTop:`1px solid ${t.cellBorder}`,margin:r?"2px 0":"4px 0"}},`hr-${a++}`)),o+=1;continue}if(ln(n,o)){const h=[];for(;o<n.length&&Z(n[o].trim());)h.push(n[o].trim()),o+=1;s.push(i.jsx(dn,{lines:h,t,compact:r},`table-${a++}`));continue}if(l.startsWith(">")){const h=[];for(;o<n.length&&n[o].trim().startsWith(">");)h.push(n[o].trim().replace(/^>\s?/,"")),o+=1;s.push(i.jsx("div",{style:Ne(t,r),children:D(h.join(" "),t)},`quote-${a++}`));continue}if(/^[-*+]\s+/.test(l)){const h=[];for(;o<n.length&&/^[-*+]\s+/.test(n[o].trim());)h.push(n[o].trim().replace(/^[-*+]\s+/,"")),o+=1;s.push(i.jsx("ul",{style:Ue(t,r),children:h.map((x,b)=>i.jsx("li",{style:Ve(t,r),children:D(x,t)},`${x}-${b}`))},`ul-${a++}`));continue}if(/^\d+\.\s+/.test(l)){const h=[];for(;o<n.length&&/^\d+\.\s+/.test(n[o].trim());)h.push(n[o].trim().replace(/^\d+\.\s+/,"")),o+=1;s.push(i.jsx("ol",{style:Ue(t,r),children:h.map((x,b)=>i.jsx("li",{style:Ve(t,r),children:D(x,t)},`${x}-${b}`))},`ol-${a++}`));continue}const c=[];for(;o<n.length;){const h=n[o].trim();if(!h||He(h)&&c.length>0||(c.push(h),o+=1,He(((d=n[o])==null?void 0:d.trim())??"")))break}const f=c.join(" ");s.push(i.jsx("div",{style:s.length===0&&cn(f)?Ne(t,r):un(t,r),children:D(f,t)},`p-${a++}`))}return s}function sn(e){return e.replace(/\r\n/g,`
4
+ `).replace(/\|\s+\|(?=[^\n]*\|)/g,`|
5
+ |`)}function He(e){return!!(e.startsWith("```")||/^(#{1,4})\s+/.test(e)||/^[-*_]{3,}$/.test(e)||Z(e)||e.startsWith(">")||/^[-*+]\s+/.test(e)||/^\d+\.\s+/.test(e))}function ln(e,t){var s,o;const r=((s=e[t])==null?void 0:s.trim())??"",n=((o=e[t+1])==null?void 0:o.trim())??"";return Z(r)&&an(n)}function Z(e){return e.startsWith("|")&&e.endsWith("|")&&H(e).length>=2}function an(e){if(!Z(e))return!1;const t=H(e);return t.length>=2&&t.every(r=>/^:?-{3,}:?$/.test(r.replace(/\s+/g,"")))}function H(e){return e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(t=>t.trim())}function dn({lines:e,t,compact:r}){const n=H(e[0]??""),s=H(e[1]??""),o=e.slice(2).map(H).filter(l=>l.length>0),a=Math.max(n.length,...o.map(l=>l.length),0);if(a===0)return null;const d=Array.from({length:a},(l,p)=>{var f;const c=((f=s[p])==null?void 0:f.replace(/\s+/g,""))??"";return c.startsWith(":")&&c.endsWith(":")?"center":c.endsWith(":")?"right":"left"}),u=Array.from({length:a},(l,p)=>n[p]??"");return i.jsx("div",{style:hn(t),children:i.jsxs("table",{style:pn(t,r),children:[i.jsx("thead",{children:i.jsx("tr",{children:u.map((l,p)=>i.jsx("th",{style:Je(t,r,!0,d[p]),children:D(l,t)},`h-${p}`))})}),i.jsx("tbody",{children:o.map((l,p)=>i.jsx("tr",{children:Array.from({length:a},(c,f)=>i.jsx("td",{style:Je(t,r,!1,d[f]),children:D(l[f]??"",t)},`c-${p}-${f}`))},`r-${p}`))})]})})}function cn(e){return/\b(certified|uncertified|review[- ]required|draft|trusted|trust)\b/i.test(e)}function D(e,t){const r=[];let n=e,s=0;for(;n.length>0;){const o=n.match(/\*{3}(.+?)\*{3}/),a=n.match(/\*{2}(.+?)\*{2}/),d=n.match(/`([^`]+?)`/),u=n.match(/\[([^\]]+?)\]\((https?:\/\/[^)\s]+|\/[^)\s]+|#[^)\s]+)\)/),l=n.match(/\*([^\s*](?:.*?[^\s*])?)\*/),p=[o?{match:o,type:"boldItalic"}:null,a?{match:a,type:"bold"}:null,d?{match:d,type:"code"}:null,u?{match:u,type:"link"}:null,l?{match:l,type:"italic"}:null].filter(Boolean);if(p.length===0){r.push(i.jsx(O.Fragment,{children:n},`plain-${s++}`));break}const c=p.reduce((h,x)=>(h.match.index??0)<=(x.match.index??0)?h:x),f=c.match.index??0;f>0&&r.push(i.jsx(O.Fragment,{children:n.slice(0,f)},`plain-${s++}`)),c.type==="boldItalic"?r.push(i.jsx("strong",{style:{fontStyle:"italic",color:t.textPrimary},children:c.match[1]},`bi-${s++}`)):c.type==="bold"?r.push(i.jsx("strong",{style:{color:t.textPrimary},children:c.match[1]},`b-${s++}`)):c.type==="italic"?r.push(i.jsx("em",{children:c.match[1]},`i-${s++}`)):c.type==="code"?r.push(i.jsx("code",{style:xn(t),children:c.match[1]},`code-${s++}`)):c.type==="link"&&r.push(i.jsx("a",{href:c.match[2],target:"_blank",rel:"noopener noreferrer",style:{color:t.accent,textDecoration:"underline"},children:c.match[1]},`link-${s++}`)),n=n.slice(f+c.match[0].length)}return i.jsx(i.Fragment,{children:r})}function un(e,t){return{color:e.textPrimary,fontSize:13,lineHeight:t?1.55:1.6}}function fn(e,t,r){return{color:e.textPrimary,fontSize:t?13:Math.max(13,15-r),fontWeight:800,lineHeight:1.35,marginTop:r<=2?2:0}}function Ne(e,t){return{color:e.textPrimary,fontSize:12.5,lineHeight:1.5,padding:t?"8px 9px":"9px 10px",border:`1px solid ${e.cellBorder}`,borderLeft:`3px solid ${e.accent}`,borderRadius:6,background:`${e.tableHeaderBg}55`}}function Ue(e,t){return{margin:0,paddingLeft:t?18:20,color:e.textPrimary,display:"grid",gap:t?4:5}}function Ve(e,t){return{color:e.textPrimary,fontSize:13,lineHeight:1.5,paddingLeft:2}}function hn(e){return{width:"100%",maxWidth:"100%",overflowX:"auto",border:`1px solid ${e.cellBorder}`,borderRadius:8,background:e.editorBg}}function pn(e,t){return{width:"100%",minWidth:t?360:420,borderCollapse:"collapse",color:e.textPrimary,fontSize:t?12:12.5,lineHeight:1.45}}function Je(e,t,r,n){return{padding:t?"6px 8px":"7px 9px",borderBottom:`1px solid ${e.cellBorder}`,color:r?e.textMuted:e.textPrimary,background:r?`${e.tableHeaderBg}75`:void 0,fontFamily:r?e.fontMono:e.font,fontSize:r?t?10.5:11:void 0,fontWeight:r?800:500,textAlign:n,whiteSpace:"nowrap",verticalAlign:"top"}}function xn(e){return{background:e.editorBg,border:`1px solid ${e.cellBorder}`,borderRadius:4,color:e.accent,fontFamily:e.fontMono,fontSize:"0.92em",padding:"1px 4px"}}function gn(e,t){return{margin:0,padding:t?9:10,overflow:"auto",maxHeight:t?220:280,borderRadius:6,background:e.editorBg,color:e.textPrimary,border:`1px solid ${e.cellBorder}`,fontSize:t?11.5:12,fontFamily:e.fontMono,lineHeight:1.5,whiteSpace:"pre"}}function mn({result:e,t,compact:r}){const n=(e.columns.length>0?e.columns:Object.keys(e.rows[0]??{})).slice(0,r?3:4),s=e.rows.slice(0,r?4:5);return n.length===0||s.length===0?null:i.jsxs("div",{style:{border:`1px solid ${t.cellBorder}`,borderRadius:8,overflow:"hidden",background:t.editorBg},children:[i.jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:10,padding:"7px 9px",borderBottom:`1px solid ${t.cellBorder}`,color:t.textMuted,fontSize:11,fontFamily:t.fontMono,textTransform:"uppercase",letterSpacing:"0.06em"},children:[i.jsx("span",{children:"Preview"}),i.jsxs("span",{children:[s.length," of ",(e.rowCount??e.rows.length).toLocaleString()," rows"]})]}),i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",tableLayout:"fixed"},children:[i.jsx("thead",{children:i.jsx("tr",{children:n.map(o=>i.jsx("th",{style:{textAlign:"left",padding:"7px 9px",color:t.textMuted,fontSize:11,fontFamily:t.fontMono,borderBottom:`1px solid ${t.cellBorder}`,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:C(o)},o))})}),i.jsx("tbody",{children:s.map((o,a)=>i.jsx("tr",{children:n.map(d=>i.jsx("td",{style:{padding:"7px 9px",color:t.textPrimary,fontSize:r?12:12.5,borderBottom:a<s.length-1?`1px solid ${t.cellBorder}`:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:Cn(o[d])},`${a}-${d}`))},a))})]})})]})}function yn({evidence:e,t}){const r=(e==null?void 0:e.lineage)??[];return r.length===0?i.jsx(lt,{t,children:"No lineage evidence was returned for this answer."}):i.jsx("div",{style:{padding:12,display:"flex",flexDirection:"column",gap:10},children:r.map((n,s)=>i.jsxs("div",{style:{display:"grid",gridTemplateColumns:"20px 1fr",gap:8},children:[i.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center"},children:[i.jsx("div",{style:{width:8,height:8,borderRadius:8,marginTop:5,background:n.role==="question"?t.accent:t.textMuted}}),s<r.length-1&&i.jsx("div",{style:{width:1,flex:1,minHeight:18,background:t.cellBorder}})]}),i.jsxs("div",{style:{minWidth:0},children:[i.jsxs("div",{style:{display:"flex",gap:6,alignItems:"center",flexWrap:"wrap"},children:[i.jsx("span",{style:{fontSize:12,fontWeight:700,color:t.textPrimary},children:n.name??n.nodeId}),n.role&&i.jsx(z,{label:C(n.role),t}),n.kind&&i.jsx(z,{label:C(n.kind),t})]}),n.description&&i.jsx("div",{style:{fontSize:12,color:t.textSecondary,marginTop:3},children:n.description}),(n.sourcePath||n.provenance)&&i.jsxs("div",{style:{fontSize:11,color:t.textMuted,fontFamily:t.fontMono,marginTop:3,overflow:"hidden",textOverflow:"ellipsis"},children:[n.provenance??n.sourcePath,n.sourcePath&&n.provenance?` - ${n.sourcePath}`:""]})]})]},`${n.nodeId??n.name}-${s}`))})}function bn({evidence:e,t}){var s;const r=(e==null?void 0:e.businessContext)??[],n=e==null?void 0:e.outcome;return!n&&r.length===0?i.jsx(lt,{t,children:"No business context was returned for this answer."}):i.jsxs("div",{style:{padding:12,display:"flex",flexDirection:"column",gap:12},children:[n&&i.jsxs("div",{style:{display:"grid",gap:6},children:[i.jsx(N,{t,children:"Outcome"}),n.name&&i.jsx(j,{label:"Outcome",value:n.name,t}),n.owner&&i.jsx(j,{label:"Owner",value:n.owner,t}),n.decisionUse&&i.jsx(j,{label:"Decision Use",value:n.decisionUse,t}),n.reviewCadence&&i.jsx(j,{label:"Review Cadence",value:n.reviewCadence,t}),(s=n.caveats)==null?void 0:s.map((o,a)=>i.jsx(j,{label:"Caveat",value:o,t},`caveat-${a}`))]}),r.length>0&&i.jsxs("div",{style:{display:"grid",gap:6},children:[i.jsx(N,{t,children:"Context"}),r.map((o,a)=>i.jsx(j,{label:o.label??"Context",value:o.value??"",source:o.source,t},`${o.label}-${a}`))]}),(e==null?void 0:e.semanticObjects)&&e.semanticObjects.length>0&&i.jsx(Ge,{title:"Semantic Objects",assets:e.semanticObjects,t}),(e==null?void 0:e.sourceTables)&&e.sourceTables.length>0&&i.jsx(Ge,{title:"Source Tables",assets:e.sourceTables,t})]})}function vn({answer:e,t}){var o,a;const r=e.evidence,n=e.analysisPlan??(r==null?void 0:r.analysisPlan),s=(r==null?void 0:r.citations)??e.citations??[];return i.jsxs("div",{style:{padding:12,display:"flex",flexDirection:"column",gap:12},children:[i.jsxs("div",{style:{display:"grid",gap:6},children:[i.jsx(j,{label:"Certification",value:C(e.certification??e.kind),t}),I(e.cascade)&&i.jsx(j,{label:"Cascade",value:I(e.cascade)??"",t}),e.reviewStatus&&i.jsx(j,{label:"Review Status",value:C(e.reviewStatus),t}),typeof e.confidence=="number"&&i.jsx(j,{label:"Confidence",value:`${Math.round(e.confidence*100)}%`,t}),((o=r==null?void 0:r.validation)==null?void 0:o.message)&&i.jsx(j,{label:`Validation ${r.validation.status??""}`.trim(),value:r.validation.message,t}),((a=r==null?void 0:r.execution)==null?void 0:a.message)&&i.jsx(j,{label:`Execution ${r.execution.status??""}`.trim(),value:r.execution.message,t}),e.executionError&&i.jsx(j,{label:"Execution Error",value:e.executionError,t}),e.kind!=="certified"&&i.jsx(j,{label:"Promotion Path",value:"Create draft block, edit SQL, attach tests, then certify after analyst approval.",t})]}),n&&i.jsxs("div",{style:{display:"grid",gap:6},children:[i.jsx(N,{t,children:"Analysis Plan"}),n.question&&i.jsx(j,{label:"Question",value:n.question,t}),n.intent&&i.jsx(j,{label:"Intent",value:C(n.intent),t}),n.grain&&i.jsx(j,{label:"Grain",value:n.grain,t}),n.candidateTables&&n.candidateTables.length>0&&i.jsx(j,{label:"Tables",value:n.candidateTables.slice(0,5).map(d=>d.relation).filter(Boolean).join(", "),t}),n.candidateJoins&&n.candidateJoins.length>0&&i.jsx(j,{label:"Join Paths",value:n.candidateJoins.slice(0,3).map(at).join("; "),t}),n.assumptions&&n.assumptions.length>0&&i.jsx(j,{label:"Assumptions",value:n.assumptions.join(" "),t}),typeof n.repairAttempts=="number"&&n.repairAttempts>0&&i.jsx(j,{label:"SQL Repair",value:`${n.repairAttempts} retry`,t})]}),s.length>0&&i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[i.jsx(N,{t,children:"Citations"}),s.slice(0,8).map((d,u)=>i.jsxs("div",{style:{fontSize:12,color:t.textSecondary,fontFamily:t.fontMono},children:[d.kind??"source",": ",d.name??"unknown",d.provenance&&i.jsxs("span",{style:{color:t.textMuted},children:[" (",d.provenance,")"]})]},`${d.kind}-${d.name}-${u}`))]})]})}function Ge({title:e,assets:t,t:r}){return i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[i.jsx(N,{t:r,children:e}),t.map((n,s)=>i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:2,paddingBottom:4},children:[i.jsxs("div",{style:{display:"flex",gap:6,alignItems:"center",flexWrap:"wrap"},children:[i.jsx("span",{style:{fontSize:12,fontWeight:700,color:r.textPrimary},children:n.name??n.nodeId}),n.kind&&i.jsx(z,{label:C(n.kind),t:r}),n.certification&&i.jsx(z,{label:C(n.certification),t:r})]}),n.description&&i.jsx("div",{style:{fontSize:12,color:r.textSecondary},children:n.description}),(n.sourcePath||n.owner||n.domain)&&i.jsx("div",{style:{fontSize:11,color:r.textMuted,fontFamily:r.fontMono},children:[n.domain,n.owner,n.sourcePath].filter(Boolean).join(" - ")})]},`${n.nodeId??n.name}-${s}`))]})}function jn({artifact:e,t}){const r=[e.kind?{label:"Kind",value:C(e.kind)}:null,e.name?{label:"Name",value:e.name}:null,e.sourcePath?{label:"Source Path",value:e.sourcePath}:null,e.metrics.length>0?{label:"Metrics",value:e.metrics.join(", ")}:null,e.dimensions.length>0?{label:"Dimensions",value:e.dimensions.join(", ")}:null,e.timeDimension?{label:"Time",value:e.timeDimension}:null,e.filters.length>0?{label:"Filters",value:e.filters.join("; ")}:null].filter(n=>!!n);return i.jsxs("div",{style:{padding:12,display:"flex",flexDirection:"column",gap:10},children:[r.length>0&&i.jsx("div",{style:{display:"grid",gap:6},children:r.map(n=>i.jsx(j,{label:n.label,value:n.value,t},n.label))}),i.jsx("pre",{style:st(t,340),children:e.source})]})}function Sn({sql:e,blockPath:t,executionError:r,t:n}){return i.jsxs("div",{style:{padding:12,display:"flex",flexDirection:"column",gap:8},children:[t&&i.jsxs("div",{style:{fontSize:12,color:n.textSecondary},children:["Source block: ",i.jsx("span",{style:{fontFamily:n.fontMono,color:n.textPrimary},children:t})]}),r&&i.jsx("div",{style:{padding:10,border:"1px solid rgba(248, 81, 73, 0.35)",borderRadius:6,background:"rgba(248, 81, 73, 0.10)",color:"#ff7b72",fontSize:12,lineHeight:1.45,whiteSpace:"pre-wrap"},children:r}),e?i.jsx("pre",{style:st(n,260),children:e}):i.jsx("div",{style:{fontSize:12,color:n.textMuted},children:"No SQL text was returned for this answer."})]})}function st(e,t){return{margin:0,padding:10,overflow:"auto",maxHeight:t,borderRadius:4,background:e.editorBg,color:e.textPrimary,border:`1px solid ${e.cellBorder}`,fontSize:12,fontFamily:e.fontMono,whiteSpace:"pre"}}function j({label:e,value:t,source:r,t:n}){return t?i.jsxs("div",{style:{display:"grid",gridTemplateColumns:"130px 1fr",gap:10,fontSize:12,alignItems:"baseline"},children:[i.jsx("span",{style:{color:n.textMuted},children:e}),i.jsxs("span",{style:{color:n.textSecondary},children:[t,r&&i.jsxs("span",{style:{color:n.textMuted},children:[" (",r,")"]})]})]}):null}function N({children:e,t}){return i.jsx("div",{style:{fontSize:11,fontWeight:700,fontFamily:t.fontMono,color:t.textMuted,textTransform:"uppercase",letterSpacing:"0.08em"},children:e})}function lt({children:e,t}){return i.jsx("div",{style:{padding:12,fontSize:12,color:t.textMuted},children:e})}function z({label:e,t}){return i.jsx("span",{style:{fontSize:11,fontFamily:t.fontMono,color:t.textSecondary,padding:"2px 6px",borderRadius:4,background:t.editorBg,border:`1px solid ${t.cellBorder}`},children:e})}function wn({items:e,t,accent:r}){return e.length===0?null:i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"6px 16px",alignItems:"center",padding:"7px 10px",borderTop:`1px solid ${t.cellBorder}`,boxShadow:`inset 0 2px 0 ${r}`,background:t.editorBg,color:t.textMuted,fontFamily:t.fontMono,fontSize:10.5},children:e.map(n=>i.jsxs("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[i.jsx("span",{style:{color:t.textMuted},children:n.label})," ",i.jsx("strong",{style:{color:t.textSecondary,fontWeight:600},children:n.value})]},`${n.label}-${n.value}`))})}function Xe({active:e,label:t,onClick:r,t:n}){return i.jsx("button",{onClick:r,style:{padding:"4px 2px",fontSize:11.5,border:0,borderBottom:`2px solid ${e?n.accent:"transparent"}`,borderRadius:0,background:"transparent",color:e?n.accent:n.textSecondary,fontWeight:e?700:500,cursor:"pointer"},children:t})}function kn({result:e,chartConfig:t,t:r,onChange:n}){const s=e.columns;if(s.length===0)return null;const o=ce.filter(l=>l.value!=="table"),a=t!=null&&t.x&&s.includes(t.x)?t.x:s[0]??"",d=t!=null&&t.y&&s.includes(t.y)?t.y:s.find(l=>l!==a)??s[0]??"",u=t!=null&&t.color&&s.includes(t.color)?t.color:"";return i.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(130px, 1fr))",gap:8,alignItems:"end",border:`1px solid ${r.cellBorder}`,borderRadius:7,background:`${r.tableHeaderBg}55`,padding:10},children:[i.jsx(Y,{label:"Chart type",t:r,children:i.jsx("select",{value:(t==null?void 0:t.chart)??"bar",onChange:l=>n({chart:l.target.value}),style:K(r),children:o.map(l=>i.jsx("option",{value:l.value,children:l.label},l.value))})}),i.jsx(Y,{label:"X axis",t:r,children:i.jsx("select",{value:a,onChange:l=>n({x:l.target.value}),style:K(r),children:s.map(l=>i.jsx("option",{value:l,children:l},l))})}),i.jsx(Y,{label:"Y axis",t:r,children:i.jsx("select",{value:d,onChange:l=>n({y:l.target.value}),style:K(r),children:s.map(l=>i.jsx("option",{value:l,children:l},l))})}),i.jsx(Y,{label:"Color",t:r,children:i.jsxs("select",{value:u,onChange:l=>n({color:l.target.value||void 0}),style:K(r),children:[i.jsx("option",{value:"",children:"None"}),s.map(l=>i.jsx("option",{value:l,children:l},l))]})})]})}function Y({label:e,t,children:r}){return i.jsxs("label",{style:{display:"grid",gap:4,minWidth:0},children:[i.jsx("span",{style:{fontSize:10.5,color:t.textMuted,fontWeight:800,textTransform:"uppercase",letterSpacing:0},children:e}),r]})}function K(e){return{width:"100%",minWidth:0,height:30,border:`1px solid ${e.inputBorder}`,borderRadius:6,background:e.editorBg,color:e.textPrimary,fontFamily:e.font,fontSize:12,padding:"0 8px"}}function $n({t:e,adding:t,hasResult:r,hasChart:n,fallbackLabel:s,open:o,onToggle:a,onAdd:d}){if(!r)return i.jsx("button",{type:"button",onClick:()=>d("auto"),disabled:t,style:{...Ye(e,t),marginLeft:"auto"},children:t?"Adding...":s});const u=n?[{mode:"both",label:"Chart + data",description:"Add chart and table tiles"},{mode:"chart",label:"Chart only",description:"Add the visualization tile"},{mode:"data",label:"Data table",description:"Add the rows as a table tile"}]:[{mode:"data",label:"Data table",description:"Add the rows as a table tile"}];return i.jsxs("div",{style:{marginLeft:"auto",position:"relative"},children:[i.jsxs("button",{type:"button",onClick:a,disabled:t,style:Ye(e,t),children:[t?"Adding...":"Add to App",!t&&i.jsx("span",{style:{marginLeft:6,fontSize:10},children:"v"})]}),o&&!t&&i.jsx("div",{style:{position:"absolute",right:0,top:"calc(100% + 6px)",zIndex:30,width:190,border:`1px solid ${e.cellBorder}`,borderRadius:8,background:e.cellBg,boxShadow:"0 14px 34px rgba(0, 0, 0, 0.18)",padding:6},children:u.map(l=>i.jsxs("button",{type:"button",onClick:()=>d(l.mode),style:{width:"100%",border:0,borderRadius:6,background:"transparent",color:e.textPrimary,textAlign:"left",padding:"8px 9px",cursor:"pointer"},children:[i.jsx("div",{style:{fontSize:12,fontWeight:700},children:l.label}),i.jsx("div",{style:{fontSize:11,color:e.textMuted,marginTop:2},children:l.description})]},l.mode))})]})}function Ye(e,t){return{border:`1px solid ${e.btnBorder}`,borderRadius:5,background:t?e.editorBg:`${e.accent}18`,color:t?e.textMuted:e.accent,padding:"4px 8px",fontSize:11,cursor:t?"default":"pointer"}}function C(e){return e.replace(/_/g," ")}function at(e){const t=[e.leftRelation,e.leftColumn].filter(Boolean).join("."),r=[e.rightRelation,e.rightColumn].filter(Boolean).join("."),n=[t,r].filter(Boolean).join(" to ");return e.reason?`${n} (${e.reason})`:n}function Cn(e){return e==null?"-":typeof e=="number"?Number.isFinite(e)?Math.abs(e)>=1e3||!Number.isInteger(e)?e.toLocaleString(void 0,{maximumFractionDigits:2}):e.toLocaleString():String(e):typeof e=="boolean"?e?"true":"false":typeof e=="string"?e:JSON.stringify(e)}function Bn(e){const t=e.toLowerCase();return t.includes("certified")?"trusted business context":t.includes("ai")||t.includes("generated")?"AI draft":t.includes("no_answer")?"needs more context":C(e)}function dt(e){var t;switch((t=e.trustLabelInfo)==null?void 0:t.id){case"certified":return"certified";case"reviewed":return"review";case"ai_generated":return"ai_generated";case"conflict":return"review";case"insufficient_context":return e.kind==="no_answer"?"no_answer":"uncertified"}return e.kind==="no_answer"?"no_answer":e.certification==="certified"||e.reviewStatus==="certified"?"certified":e.reviewStatus==="draft_ready"||e.reviewStatus==="analyst_review_required"?"review":e.certification==="ai_generated"?"ai_generated":e.certification==="analyst_review_required"||e.certification==="uncertified"?"uncertified":e.kind==="certified"?"certified":"draft"}function An(e,t){return e==="certified"?t.success:e==="no_answer"?t.error:e==="deprecated"?t.textMuted:t.warning}function zn(e,t,r,n){var u,l,p,c,f,h,x,b;const s=[],o=((l=(u=e.evidence)==null?void 0:u.selectedAssets)==null?void 0:l[0])??((c=(p=e.evidence)==null?void 0:p.lineage)==null?void 0:c.find(S=>S.owner||S.domain||S.sourcePath)),a=r??(o==null?void 0:o.name),d=n??(o==null?void 0:o.sourcePath)??(o==null?void 0:o.provenance);if(a&&s.push({label:e.kind==="certified"?"source":"draft source",value:a}),((o==null?void 0:o.owner)??((h=(f=e.evidence)==null?void 0:f.outcome)==null?void 0:h.owner))&&s.push({label:"owner",value:(o==null?void 0:o.owner)??((b=(x=e.evidence)==null?void 0:x.outcome)==null?void 0:b.owner)??""}),d&&s.push({label:"path",value:d}),e.sourceTier&&s.push({label:"tier",value:C(e.sourceTier)}),I(e.cascade)&&s.push({label:"cascade",value:I(e.cascade)??""}),t){const S=t.rowCount??t.rows.length,g=t.executionTime!==void 0?` - ${Math.round(t.executionTime)}ms`:"";s.push({label:"run",value:`${S.toLocaleString()} rows${g}`})}return e.reviewStatus&&e.reviewStatus!=="certified"&&s.push({label:"next",value:C(e.reviewStatus)}),Mn(s).slice(0,5)}function I(e){if(!(e!=null&&e.terminalLane)&&!(e!=null&&e.routeTier))return;const t=Tn(e.terminalLane),r=Ln(e.routeTier);return[t,r].filter(Boolean).join(" · ")||void 0}function Tn(e){switch(e){case"certified":return"Lane 1 certified";case"semantic":return"Lane 2 semantic";case"generated":return"Lane 3 generated";case"refusal":return"Lane 4 refusal";default:return e?C(e):void 0}}function Ln(e){switch(e){case"certified_block":return"Certified block";case"semantic_metric":return"Semantic metric";case"generated_sql":return"Generated SQL";case"business_context":return"Business context";case"no_answer":return"No answer";default:return e?C(e):void 0}}function Rn(e,t){var r,n,s,o;return Q(e.sourceCertifiedBlock)??de((r=e.evidence)==null?void 0:r.selectedAssets)??de((n=e.evidence)==null?void 0:n.lineage)??de(e.citations)??Q((s=e.block)==null?void 0:s.name)??Q((o=e.result)==null?void 0:o.blockName)??Q(t)}function de(e){return e==null?void 0:e.map(t=>t.kind==="block"?Q(t.name):void 0).find(t=>!!t)}function Q(e){return typeof e!="string"?void 0:e.replace(/\s+/g," ").trim()||void 0}function Mn(e){const t=new Set;return e.filter(r=>{const n=r.value.trim();if(!n)return!1;const s=`${r.label}:${n}`;return t.has(s)?!1:(t.add(s),!0)})}function _n(e){return{x:0,y:e.layout.items.reduce((r,n)=>Math.max(r,n.y+n.h),0),w:6,h:3}}function Dn(e,t){const r=t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tile",n=new Set(e.layout.items.map(s=>s.i));if(!n.has(r))return r;for(let s=2;s<1e3;s++){const o=`${r}-${s}`;if(!n.has(o))return o}return`${r}-${Date.now()}`}function In(e){const t=String(e??"table").toLowerCase().replace(/-/g,"_");return t==="single_value"||t==="kpi"||t==="line"||t==="bar"||t==="area"||t==="pie"||t==="donut"||t==="grouped_bar"||t==="stacked_bar"||t==="scatter"||t==="heatmap"||t==="histogram"||t==="waterfall"||t==="pivot"||t==="map"||t==="funnel"||t==="sankey"?t:"table"}const Qn=Object.freeze(Object.defineProperty({__proto__:null,AgentAnswerCard:Kt,StructuredAnswerText:ot,extractGovernedAnswer:Vt,formatCascadeOutcome:I,resolveAgentOutcome:it,resolveAnswerTrustState:dt,resolveDqlArtifactMeta:nt},Symbol.toStringTag,{value:"Module"}));export{Qn as A,En as R,ot as S,tt as d};
@@ -0,0 +1 @@
1
+ import{u as x,t as m,j as n,G as y,aA as j,r as b,e as k}from"./index-BMVfPaXr.js";import{A as S}from"./arrow-left-DnKGhzOR.js";import{W as M}from"./wrench-CeU7hF12.js";import{C as v}from"./circle-x-DC5nkL_u.js";import"./react-CRB3T2We.js";function H(){const{state:e,dispatch:t}=x(),r=m[e.themeMode],s=e.agentLogRun;return s?n.jsxs("div",{style:{padding:"20px 28px",fontFamily:r.font,color:r.textPrimary,maxWidth:900,margin:"0 auto"},children:[n.jsxs("button",{type:"button",onClick:()=>t({type:"SET_MAIN_VIEW",view:"ask"}),style:D(r),children:[n.jsx(S,{size:14})," Back to Ask AI"]}),n.jsx(w,{run:s,t:r}),n.jsx(z,{run:s,t:r}),u(s).reason&&n.jsx(W,{run:s,t:r}),s.evaluations.length>0&&n.jsx(I,{run:s,t:r})]}):n.jsx("div",{style:{padding:32,color:r.textMuted,fontFamily:r.font},children:"No agent run selected. Open one from the “View steps” link on an AI answer."})}function w({run:e,t}){const r=f(e.startedAt,e.completedAt);return n.jsxs("div",{style:{marginBottom:20},children:[n.jsx("div",{style:{fontSize:18,fontWeight:600,marginBottom:8,lineHeight:1.35},children:e.question}),n.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[n.jsxs("span",{style:c(t),children:[n.jsx(y,{size:12})," ",p(e.route)]}),n.jsx("span",{style:N(t,e.trustState),children:C(e.trustState)}),r!=null&&n.jsxs("span",{style:c(t),children:[n.jsx(j,{size:12})," ",g(r)," total"]}),n.jsx("span",{style:{...c(t),color:t.textMuted},children:e.status})]})]})}function z({run:e,t}){const r=b.useMemo(()=>$(e),[e]),s=r.reduce((i,o)=>Math.max(i,o.deltaMs),0);return n.jsxs("section",{style:{marginBottom:22},children:[n.jsx(d,{t,children:"What the agent did · where the time went"}),n.jsx("div",{style:{display:"flex",flexDirection:"column",gap:4},children:r.map(i=>{const o=s>0&&i.deltaMs===s&&i.deltaMs>=250;return n.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10,padding:"8px 10px",borderRadius:8,background:o?l(t.warning,.1):t.cellBg,border:`1px solid ${o?l(t.warning,.4):t.cellBorder}`},children:[n.jsx("span",{style:{marginTop:1,color:i.isTool?t.accent:t.textMuted,flexShrink:0},children:i.isTool?n.jsx(M,{size:13}):n.jsx("span",{style:{fontSize:13},children:"•"})}),n.jsxs("div",{style:{flex:1,minWidth:0},children:[n.jsx("div",{style:{fontSize:13,fontWeight:500},children:i.label}),i.detail&&n.jsx("div",{style:{fontSize:12,color:t.textMuted,marginTop:2,wordBreak:"break-word"},children:i.detail})]}),n.jsx("span",{style:{fontSize:12,fontFamily:t.fontMono,color:o?t.warning:t.textMuted,fontWeight:o?600:400,flexShrink:0,whiteSpace:"nowrap"},children:i.deltaMs>0?`+${g(i.deltaMs)}`:"—"})]},i.key)})}),s>=1e3&&n.jsx("div",{style:{fontSize:12,color:t.textMuted,marginTop:8},children:"The highlighted step took the longest. Long generation/tool steps usually mean the question fell through to LLM generation — a governed metric or certified block would answer it instantly."})]})}function W({run:e,t}){const r=u(e);return n.jsxs("section",{style:{marginBottom:22},children:[n.jsx(d,{t,children:"Why this route"}),n.jsxs("div",{style:{fontSize:13,color:t.textSecondary,lineHeight:1.5},children:[r.reason,typeof r.confidence=="number"&&n.jsxs("span",{style:{color:t.textMuted},children:[" · confidence ",(r.confidence*100).toFixed(0),"%"]})]})]})}function u(e){const t=e.routeDecision;return{reason:typeof(t==null?void 0:t.reason)=="string"?t.reason:void 0,confidence:typeof(t==null?void 0:t.confidence)=="number"?t.confidence:void 0}}function I({run:e,t}){return n.jsxs("section",{style:{marginBottom:22},children:[n.jsx(d,{t,children:"Governance checks"}),n.jsx("div",{style:{display:"flex",flexDirection:"column",gap:6},children:e.evaluations.map(r=>n.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:8,fontSize:13},children:[n.jsx("span",{style:{marginTop:1,color:r.passed?t.success:t.error,flexShrink:0},children:r.passed?n.jsx(k,{size:14}):n.jsx(v,{size:14})}),n.jsxs("div",{children:[n.jsx("span",{style:{fontWeight:500},children:r.label}),!r.passed&&r.message&&n.jsxs("span",{style:{color:t.textMuted},children:[" — ",r.message]})]})]},r.id))})]})}function d({t:e,children:t}){return n.jsx("div",{style:{fontSize:11,fontWeight:600,textTransform:"uppercase",letterSpacing:.6,color:e.textMuted,marginBottom:10},children:t})}function $(e){var i;const t=[...e.events].sort((o,a)=>o.at.localeCompare(a.at)),r=[];let s=e.startedAt??((i=t[0])==null?void 0:i.at);for(const o of t){const a=B(o);if(!a)continue;const h=f(s,o.at)??0;r.push({key:o.id,label:a,detail:T(o),deltaMs:h,isTool:A(o)}),s=o.at}return r}function A(e){const t=e.payload;return typeof(t==null?void 0:t.tool)=="string"}function B(e){switch(e.type){case"run.started":return"Started";case"route.decided":return`Routed to ${p(e.route)}`;case"plan.created":return"Planned the approach";case"step.started":return L(e)??"Working";case"executor.started":return R(e.route);case"evaluation.recorded":return"Checked grounding & trust";case"repair.attempted":return"Repaired and retried";case"replan.decided":return"Re-planned";case"escalated":return"Escalated to a deeper approach";case"artifact.created":return"Produced the answer";case"step.completed":return"Step complete";case"run.completed":return"Done";case"run.failed":return"Failed";default:return null}}function T(e){const t=e.payload;if(typeof(t==null?void 0:t.tool)=="string")return`tool: ${t.tool}`;if(e.type==="route.decided"||e.type==="run.failed")return e.message||void 0}function L(e){var r;const t=(r=e.payload)==null?void 0:r.goal;return t?`Working on: ${_(t,80)}`:null}function R(e){switch(e){case"certified_answer":return"Searching certified blocks & governed metrics";case"generated_answer":return"Composing the answer (semantic compile → generation)";case"research":return"Researching across governed data";case"app_build":return"Assembling the app";case"sql_cell":return"Writing the query";case"dql_block_draft":return"Drafting the block";case"conversation":return"Replying";default:return"Working"}}function p(e){return e?e.replace(/_/g," "):"the answer"}function C(e){return String(e).replace(/_/g," ")}function f(e,t){if(!e||!t)return null;const r=Date.parse(e),s=Date.parse(t);return Number.isNaN(r)||Number.isNaN(s)?null:Math.max(0,s-r)}function g(e){return e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(e<1e4?1:0)}s`}function _(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function l(e,t){const r=e.trim(),s=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(r);if(!s)return e;let i,o,a;return s[1].length===3?(i=parseInt(s[1][0]+s[1][0],16),o=parseInt(s[1][1]+s[1][1],16),a=parseInt(s[1][2]+s[1][2],16)):(i=parseInt(s[1].slice(0,2),16),o=parseInt(s[1].slice(2,4),16),a=parseInt(s[1].slice(4,6),16)),`rgba(${i}, ${o}, ${a}, ${t})`}function D(e){return{display:"inline-flex",alignItems:"center",gap:6,marginBottom:16,background:"transparent",border:"none",cursor:"pointer",color:e.textMuted,fontSize:13,fontFamily:e.font,padding:0}}function c(e){return{display:"inline-flex",alignItems:"center",gap:5,fontSize:12,padding:"3px 9px",borderRadius:999,background:e.pillBg,border:`1px solid ${e.cellBorder}`,color:e.textSecondary}}function N(e,t){const r=t==="certified"?e.success:t==="blocked"?e.error:e.accent;return{display:"inline-flex",alignItems:"center",gap:5,fontSize:12,padding:"3px 9px",borderRadius:999,background:l(r,.12),border:`1px solid ${l(r,.4)}`,color:r,fontWeight:500}}export{H as AgentLogPage};
@@ -0,0 +1 @@
1
+ import{u,t as f,r as a,j as o,S as h,m as b}from"./index-BMVfPaXr.js";import{s as g}from"./ai-build-bus-1BR770pY.js";import{u as y,A as k}from"./AiBuildResult-BvTcW9oE.js";import{X as j}from"./x-DLWEzvri.js";import"./react-CRB3T2We.js";import"./user-round-CM8xNakq.js";import"./triangle-alert-zws0cKhp.js";import"./rotate-ccw-ByjLhAu7.js";function z(){const{state:n,dispatch:c}=u(),t=f[n.themeMode],[e,l]=a.useState(null),p=y();if(a.useEffect(()=>g(i=>l(i)),[]),!e)return null;const s=()=>l(null),m=i=>{const r=i.trim();if(!r)return;const d=b("sql",r);d.name="ai_sql_preview",c({type:"ADD_CELL",cell:d})},x=(i,r)=>{p(i,r).finally(s)};return o.jsx("div",{role:"dialog","aria-modal":"true","aria-label":"Ask AI to build",style:v,children:o.jsxs("div",{style:{width:"min(720px, calc(100vw - 32px))",maxHeight:"min(760px, calc(100vh - 64px))",background:t.appBg,border:`1px solid ${t.headerBorder}`,borderRadius:12,boxShadow:"0 24px 80px rgba(0,0,0,0.34)",display:"flex",flexDirection:"column",overflow:"hidden"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"11px 14px",borderBottom:`1px solid ${t.headerBorder}`},children:[o.jsx("div",{style:{width:30,height:30,borderRadius:8,background:`${t.accent}16`,border:`1px solid ${t.accent}38`,color:t.accent,display:"inline-flex",alignItems:"center",justifyContent:"center",flex:"0 0 auto"},children:o.jsx(h,{size:16,strokeWidth:2.2})}),o.jsxs("div",{style:{flex:1,minWidth:0},children:[o.jsx("div",{style:{fontSize:14,fontWeight:850,color:t.textPrimary,fontFamily:t.font},children:e.mode==="edit"?"Ask AI to modify a block":"Ask AI to build a block"}),o.jsx("div",{style:{fontSize:11.5,color:t.textMuted,fontFamily:t.font,marginTop:1},children:e.sourceLabel??(e.mode==="edit"?"Describe the change and review a before/after diff. Nothing is certified.":"Generate a draft from your dbt + semantic context. Nothing is certified.")})]}),o.jsx("button",{type:"button",onClick:s,title:"Close",style:{width:28,height:28,borderRadius:6,border:`1px solid ${t.btnBorder}`,background:t.btnBg,color:t.textSecondary,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},children:o.jsx(j,{size:15,strokeWidth:2})})]}),o.jsx("div",{style:{flex:1,minHeight:0,overflow:"auto"},children:o.jsx(k,{themeMode:n.themeMode,initialTarget:e.target,lockTarget:e.lockTarget,initialPrompt:e.prompt,context:e.context,initialMode:e.mode,initialBlockPath:e.blockPath,onInsertCell:m,onOpenBlock:x},`${e.target}:${e.mode??"create"}:${e.blockPath??""}:${e.prompt??""}:${e.sourceLabel??""}`)})]})})}const v={position:"fixed",inset:0,zIndex:60,background:"rgba(0,0,0,0.32)",display:"flex",alignItems:"center",justifyContent:"center",padding:16};export{z as AiBuildDialog};
@@ -0,0 +1,33 @@
1
+ import{g as M,u as U,r as f,a as D,j as t,B as Q,t as Ce,S as V,L as se,ai as Be,e as K,c as oe,T as re,b as le,d as ae,R as de}from"./index-BMVfPaXr.js";import{U as ce,G as pe}from"./user-round-CM8xNakq.js";import{T as ue}from"./triangle-alert-zws0cKhp.js";import{R as Y}from"./rotate-ccw-ByjLhAu7.js";/**
2
+ * @license lucide-react v0.563.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const Fe=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Me=M("badge-check",Fe);/**
7
+ * @license lucide-react v0.563.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const Re=[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],fe=M("file-code-corner",Re);/**
12
+ * @license lucide-react v0.563.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const Le=[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]],$e=M("git-compare-arrows",Le);/**
17
+ * @license lucide-react v0.563.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const _e=[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9",key:"1hayfq"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"15ts47"}]],De=M("hammer",_e);/**
22
+ * @license lucide-react v0.563.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const Ie=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],xe=M("square-pen",Ie);/**
27
+ * @license lucide-react v0.563.0 - ISC
28
+ *
29
+ * This source code is licensed under the ISC license.
30
+ * See the LICENSE file in the root directory of this source tree.
31
+ */const Ee=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]],A=M("square-plus",Ee),Pe={cell:"Cell",block:"Block"};function it({themeMode:e,initialTarget:n="cell",lockTarget:i=!1,initialPrompt:d="",context:r,onInsertCell:p,onOpenBlock:o,quickActions:u,initialMode:x="create",initialBlockPath:c}){const l=Ce[e],{dispatch:s}=U(),y=f.useCallback(()=>{s({type:"SET_MAIN_VIEW",view:"skills"})},[s]),[g,R]=f.useState(x==="edit"?"block":n),[k,L]=f.useState(d),[z,v]=f.useState("idle"),[m,j]=f.useState(null),[W,b]=f.useState(null),[C,Se]=f.useState(null),[ve,I]=f.useState(!1),T=f.useRef(""),[S,we]=f.useState(x),[B,X]=f.useState(c),[E,ze]=f.useState(void 0);f.useEffect(()=>{let a=!1;return D.getIdentity().then(h=>{!a&&(h!=null&&h.owner)&&Se(h.owner)}).catch(()=>{}),()=>{a=!0}},[]);const P=f.useCallback(async(a,h)=>{const O=a.trim();if(!O)return;const te=h==="block"&&S==="edit";if(!(te&&!B)){T.current=O,v("building"),b(null),I(!1);try{const _=await D.aiBuild({prompt:O,context:r,target:h,...C?{owner:C}:{},...h==="block"?{mode:S}:{},...te&&B?{blockPath:B}:{},...E?{domain:E}:{}});j(_),v("ready")}catch(_){b(_ instanceof Error&&_.message?_.message:"Could not build that. Try rewording the request."),j(null),v("error")}}},[r,C,S,B,E]),ee=f.useCallback(()=>{P(k,g)},[k,P,g]),We=f.useCallback(a=>{const h=a.target&&!i?a.target:g;a.target&&!i&&R(a.target),L(a.prompt),P(a.prompt,h)},[i,P,g]),H=f.useCallback(()=>{v("idle"),j(null),b(null),I(!1),!k.trim()&&T.current&&L(T.current)},[k]),$=f.useCallback(()=>{j(null),b(null),I(!1),v("idle")},[]),F=z==="building",q=g==="block"&&S==="edit",N=q&&!B;return t.jsx("div",{style:{display:"flex",flexDirection:"column",minHeight:0,height:"100%",overflow:"auto"},children:t.jsxs("div",{style:{padding:12,display:"grid",gap:10},children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[t.jsx("div",{role:"group","aria-label":"Build target",style:ne(l),children:["cell","block"].map(a=>{const h=g===a;return t.jsxs("button",{type:"button",disabled:i&&!h,onClick:()=>{i||(R(a),$())},"aria-pressed":h,style:ie(l,h,i&&!h),children:[a==="cell"?t.jsx(A,{size:13,strokeWidth:2}):t.jsx(Q,{size:13,strokeWidth:2}),Pe[a]]},a)})}),t.jsx("span",{style:{fontSize:11,color:l.textMuted,fontFamily:l.font},children:g==="cell"?"Create a review-required SQL preview for a notebook cell.":S==="edit"?"Rewrite an existing draft DQL block.":"Generate a reusable draft DQL block."}),C&&t.jsxs("span",{title:"Drafts are attributed to you",style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:5,fontSize:11,color:l.textMuted,fontFamily:l.font},children:[t.jsx(ce,{size:12,strokeWidth:2}),"drafting as ",C]})]}),g==="block"?t.jsx(Ve,{t:l,value:E,onChange:ze}):null,g==="block"?t.jsxs("div",{style:{display:"grid",gap:8},children:[t.jsx("div",{role:"group","aria-label":"Block build mode",style:ne(l),children:["create","edit"].map(a=>{const h=S===a;return t.jsxs("button",{type:"button",onClick:()=>{we(a),$(),a==="create"&&X(void 0)},"aria-pressed":h,style:ie(l,h,!1),children:[a==="create"?t.jsx(A,{size:13,strokeWidth:2}):t.jsx(xe,{size:13,strokeWidth:2}),a==="create"?"New block":"Modify existing"]},a)})}),S==="edit"?t.jsx(Ue,{t:l,selectedPath:B,onSelect:a=>{X(a),$()}}):null]}):null,u&&u.length>0?t.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:u.map(a=>t.jsxs("button",{type:"button",disabled:F,onClick:()=>We(a),style:{...w(l),opacity:F?.6:1},children:[t.jsx(V,{size:12,strokeWidth:2})," ",a.label]},a.label))}):null,t.jsxs("div",{style:{display:"grid",gap:7},children:[t.jsx("textarea",{value:k,onChange:a=>L(a.target.value),onKeyDown:a=>{a.key==="Enter"&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),ee())},rows:3,placeholder:g==="cell"?'Describe the preview SQL you want, e.g. "monthly revenue by region for the last 12 months".':S==="edit"?'Describe the change, e.g. "add a 12-month trailing window and exclude test accounts".':'Describe the reusable block, e.g. "active customers by signup cohort".',style:Ye(l)}),r!=null&&r.cellSql?t.jsxs("div",{style:{fontSize:10.5,color:l.textMuted,fontFamily:l.font},children:["Using the active SQL cell",r.selection?" and your selection":""," as context."]}):null,N?t.jsx("div",{style:{fontSize:10.5,color:l.textMuted,fontFamily:l.font},children:"Pick the block you want to modify above."}):null,t.jsx("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:t.jsxs("button",{type:"button",onClick:ee,disabled:F||!k.trim()||N,style:{...J(l),opacity:F||!k.trim()||N?.6:1},children:[F?t.jsx(se,{size:13,strokeWidth:2}):t.jsx(De,{size:13,strokeWidth:2}),F?q?"Updating…":"Building…":q?"Update block":"Build"]})})]}),z==="error"&&t.jsx(Ke,{t:l,message:W??"Could not build that.",onRefine:H}),z==="ready"&&(m==null?void 0:m.target)==="cell"&&t.jsx(Ae,{t:l,sql:m.sql,explanation:m.explanation,appliedSkills:m.appliedSkills,diagnostics:m.diagnostics,route:m.route,inserted:ve,onInsert:()=>{p==null||p(m.sql),I(!0)},onRefine:H,onDiscard:$,onOpenSkills:y}),z==="ready"&&(m==null?void 0:m.target)==="block"&&t.jsx(Te,{t:l,result:m,owner:C,editing:q,onOpen:()=>o==null?void 0:o(m.path,m.name),onRefine:H,onDiscard:$,onOpenSkills:y})]})})}function qe(){return{heading:"SQL preview",badge:"Review-required",guidance:"Use this as a notebook preview. For reusable governed analytics, promote the reviewed logic into a DQL draft.",insertLabel:"Insert preview",insertedLabel:"Preview inserted"}}function Ae({t:e,sql:n,explanation:i,appliedSkills:d,diagnostics:r,route:p,inserted:o,onInsert:u,onRefine:x,onDiscard:c,onOpenSkills:l}){const s=qe();return t.jsxs("section",{style:Z(e),children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[t.jsx(V,{size:14,strokeWidth:2,color:e.accent}),t.jsx("div",{style:{fontSize:12.5,fontWeight:800,color:e.textPrimary,fontFamily:e.font},children:s.heading}),t.jsx("span",{style:je(e),children:s.badge}),t.jsx(ge,{t:e,route:p})]}),i?t.jsx("div",{style:{fontSize:12,color:e.textSecondary,lineHeight:1.5,fontFamily:e.font},children:i}):null,t.jsx("div",{style:{fontSize:11.5,color:e.textMuted,lineHeight:1.45,fontFamily:e.font},children:s.guidance}),t.jsx(me,{t:e,code:n}),t.jsx(he,{t:e,skills:d,onOpenSkills:l}),t.jsx(ye,{t:e,diagnostics:r}),t.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[t.jsxs("button",{type:"button",onClick:u,disabled:o,style:{...J(e),opacity:o?.65:1},children:[o?t.jsx(K,{size:13,strokeWidth:2}):t.jsx(A,{size:13,strokeWidth:2}),o?s.insertedLabel:s.insertLabel]}),t.jsxs("button",{type:"button",onClick:x,style:w(e),children:[t.jsx(Y,{size:13,strokeWidth:2})," Refine"]}),t.jsxs("button",{type:"button",onClick:c,style:w(e),children:[t.jsx(re,{size:13,strokeWidth:2})," Discard"]})]})]})}function Te({t:e,result:n,owner:i,editing:d,onOpen:r,onRefine:p,onDiscard:o,onOpenSkills:u}){const[x,c]=f.useState(!1),{name:l,description:s,sqlPreview:y,grain:g,outputs:R,examples:k,certifierVerdict:L,appliedSkills:z,diagnostics:v,route:m,previousSql:j}=n,W=d||typeof j=="string";return t.jsxs("section",{style:Z(e),children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[t.jsx(Q,{size:14,strokeWidth:2,color:e.accent}),t.jsx("div",{style:{fontSize:13,fontWeight:850,color:e.textPrimary,fontFamily:e.font},children:l}),t.jsx("span",{style:je(e),children:W?"AI-edited · draft":"AI-generated · draft"}),g?t.jsxs("span",{style:Ze(e),children:["grain ",g]}):null,t.jsx(ge,{t:e,route:m})]}),s?t.jsx("div",{style:{fontSize:12,color:e.textSecondary,lineHeight:1.5,fontFamily:e.font},children:s}):null,W&&typeof j=="string"?t.jsx(Ne,{t:e,previousSql:j,nextSql:y}):t.jsxs("div",{children:[t.jsxs("button",{type:"button",onClick:()=>c(b=>!b),style:ke(e),children:[x?t.jsx(le,{size:13,strokeWidth:2}):t.jsx(ae,{size:13,strokeWidth:2}),x?"Hide SQL this block will run":"Show SQL this block will run"]}),x?t.jsx("div",{style:{marginTop:7},children:t.jsx(me,{t:e,code:y})}):null]}),R.length>0?t.jsxs("div",{style:{display:"grid",gap:5},children:[t.jsx(G,{t:e,children:"Outputs"}),t.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:5},children:R.map(b=>t.jsx("span",{style:Je(e),children:b},b))})]}):null,k.length>0?t.jsxs("div",{style:{display:"grid",gap:5},children:[t.jsx(G,{t:e,children:"Answers questions like"}),t.jsx("ul",{style:{margin:0,padding:"0 0 0 16px",display:"grid",gap:3},children:k.slice(0,3).map(b=>t.jsx("li",{style:{fontSize:11.5,color:e.textSecondary,lineHeight:1.45,fontFamily:e.font},children:b},b))})]}):null,t.jsx(Oe,{t:e,verdict:L}),t.jsx(he,{t:e,skills:z,onOpenSkills:u}),t.jsx(ye,{t:e,diagnostics:v}),i?t.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,color:e.textMuted,fontFamily:e.font},children:[t.jsx(ce,{size:12,strokeWidth:2})," drafting as ",i]}):null,t.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[t.jsxs("button",{type:"button",onClick:r,style:J(e),children:[W?t.jsx(xe,{size:13,strokeWidth:2}):t.jsx(Q,{size:13,strokeWidth:2}),W?"Update block in Block Studio":"Open in Block Studio"]}),t.jsxs("button",{type:"button",onClick:p,style:w(e),children:[t.jsx(Y,{size:13,strokeWidth:2})," Refine"]}),t.jsxs("button",{type:"button",onClick:o,style:w(e),children:[t.jsx(re,{size:13,strokeWidth:2})," Discard"]})]})]})}function He(e,n){const i=e.replace(/\s+$/g,"").split(`
32
+ `),d=n.replace(/\s+$/g,"").split(`
33
+ `),r=i.length,p=d.length,o=Array.from({length:r+1},()=>new Array(p+1).fill(0));for(let l=r-1;l>=0;l--)for(let s=p-1;s>=0;s--)o[l][s]=i[l]===d[s]?o[l+1][s+1]+1:Math.max(o[l+1][s],o[l][s+1]);const u=[];let x=0,c=0;for(;x<r&&c<p;)i[x]===d[c]?(u.push({kind:"context",text:i[x]}),x++,c++):o[x+1][c]>=o[x][c+1]?(u.push({kind:"remove",text:i[x]}),x++):(u.push({kind:"add",text:d[c]}),c++);for(;x<r;)u.push({kind:"remove",text:i[x]}),x++;for(;c<p;)u.push({kind:"add",text:d[c]}),c++;return u}function Ne({t:e,previousSql:n,nextSql:i}){const[d,r]=f.useState(!0),p=de.useMemo(()=>He(n.trim(),i.trim()),[n,i]),o=p.filter(c=>c.kind==="add").length,u=p.filter(c=>c.kind==="remove").length,x=o===0&&u===0;return t.jsxs("div",{style:{display:"grid",gap:7},children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[t.jsxs("button",{type:"button",onClick:()=>r(c=>!c),style:ke(e),children:[d?t.jsx(le,{size:13,strokeWidth:2}):t.jsx(ae,{size:13,strokeWidth:2}),t.jsx($e,{size:13,strokeWidth:2}),d?"Hide what changed":"Show what changed"]}),x?t.jsx("span",{style:{fontSize:11,color:e.textMuted,fontFamily:e.font},children:"No SQL changes."}):t.jsxs("span",{style:{fontSize:11,color:e.textMuted,fontFamily:e.font},children:[t.jsxs("span",{style:{color:e.success,fontWeight:700},children:["+",o]})," ",t.jsxs("span",{style:{color:e.error,fontWeight:700},children:["-",u]})," line",o+u===1?"":"s"]})]}),d?t.jsx("pre",{style:{...be(e),padding:0},children:t.jsx("code",{style:{display:"block",fontFamily:e.fontMono,fontSize:11.5,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:p.map((c,l)=>t.jsxs("span",{style:{display:"block",padding:"0 11px",color:c.kind==="add"?e.success:c.kind==="remove"?e.error:e.textPrimary,background:c.kind==="add"?`${e.success}14`:c.kind==="remove"?`${e.error}14`:"transparent"},children:[t.jsx("span",{"aria-hidden":!0,style:{userSelect:"none",opacity:.7},children:c.kind==="add"?"+ ":c.kind==="remove"?"- ":" "}),c.text||" "]},l))})}):null]})}function Oe({t:e,verdict:n}){if(!n)return null;const i=n.ready&&n.blocking.length===0,d=i?[]:[...n.blocking,...n.warnings];return t.jsxs("div",{style:{display:"grid",gap:5},children:[t.jsx(G,{t:e,children:"What's missing to certify"}),i?t.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:12,color:e.success,fontFamily:e.font},children:[t.jsx(K,{size:14,strokeWidth:2}),"Grain, outputs, and context are set."]}):t.jsxs("div",{style:{display:"grid",gap:4},children:[t.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:12,color:e.warning,fontFamily:e.font},children:[t.jsx(ue,{size:14,strokeWidth:2}),"Needs an owner and passing tests before it can be certified."]}),d.length>0?t.jsx("ul",{style:{margin:0,padding:"0 0 0 16px",display:"grid",gap:2},children:d.map(r=>t.jsx("li",{style:{fontSize:11,color:e.textSecondary,lineHeight:1.4,fontFamily:e.font},children:r},r))}):null]})]})}function ye({t:e,diagnostics:n}){if(!n)return null;const i=n.sourceTrust==="governed_semantic_source",d=n.activeDomain?`domain ${n.activeDomain}`:"project metadata",r=n.allowedRelations.length,p=n.warnings[0];return t.jsxs("div",{style:{display:"grid",gap:3,fontSize:10.5,color:e.textMuted,lineHeight:1.4,fontFamily:e.font},children:[t.jsxs("span",{title:n.contextPackId?`Context pack ${n.contextPackId}`:void 0,children:[i?"Built from governed semantic context":"Exploratory DBT-grounded draft"," · ",d," · ",r," allowed relation",r===1?"":"s"," · review required"]}),p?t.jsx("span",{style:{color:e.warning},children:p}):null]})}function he({t:e,skills:n,onOpenSkills:i}){return!n||n.length===0?null:t.jsxs("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:5,fontSize:11,color:e.textMuted,fontFamily:e.font},children:[t.jsx(pe,{size:12,strokeWidth:2}),t.jsx("span",{children:"guided by"}),n.map((d,r)=>t.jsxs(de.Fragment,{children:[r>0?t.jsx("span",{"aria-hidden":!0,style:{color:e.textMuted},children:","}):null,t.jsx("button",{type:"button",onClick:i,title:d.description??`Open the ${d.id} skill`,style:{padding:0,border:"none",background:"transparent",color:e.accent,fontSize:11,fontWeight:700,fontFamily:e.font,cursor:"pointer",textDecoration:"underline",textUnderlineOffset:2},children:d.id})]},d.id))]})}const Qe={certified_block:{tone:"success",icon:Me},semantic_metric:{tone:"accent",icon:V},generated_sql:{tone:"textMuted",icon:fe},business_context:{tone:"accent",icon:pe},no_answer:null};function ge({t:e,route:n}){var o;if(!n)return null;const i=Qe[n.tier];if(!i)return null;const d=i.icon,r=e[i.tone]??e.textMuted,p=((o=n.label)==null?void 0:o.trim())||Ge(n);return t.jsxs("span",{title:n.ref?`${p} (${n.ref})`:p,style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:10.5,fontWeight:700,color:r,background:`${r}14`,border:`1px solid ${r}3a`,borderRadius:999,padding:"2px 9px",fontFamily:e.font,maxWidth:"100%"},children:[t.jsx(d,{size:11,strokeWidth:2.2,style:{flexShrink:0}}),t.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:p})]})}function Ge(e){switch(e.tier){case"certified_block":return e.ref?`Certified block ${e.ref}`:"Certified block";case"semantic_metric":return e.ref?`Answered from metric ${e.ref}`:"Answered from metric";case"generated_sql":return"Generated SQL preview";case"business_context":return"From business context";default:return""}}function Ue({t:e,selectedPath:n,onSelect:i}){const[d,r]=f.useState([]),[p,o]=f.useState(!0),[u,x]=f.useState("");f.useEffect(()=>{let s=!1;return o(!0),D.getBlockLibrary().then(y=>{s||r(Array.isArray(y==null?void 0:y.blocks)?y.blocks.map(g=>({name:g.name,domain:g.domain,path:g.path})):[])}).catch(()=>{s||r([])}).finally(()=>{s||o(!1)}),()=>{s=!0}},[]);const c=d.filter(s=>{if(!u.trim())return!0;const y=u.toLowerCase();return s.name.toLowerCase().includes(y)||s.path.toLowerCase().includes(y)||(s.domain??"").toLowerCase().includes(y)}).slice(0,40),l=d.find(s=>s.path===n);return t.jsxs("div",{style:{display:"grid",gap:7,border:`1px solid ${e.cellBorder}`,borderRadius:8,background:e.cellBg,padding:9},children:[t.jsxs("div",{style:{position:"relative"},children:[t.jsx(Be,{size:13,strokeWidth:2,color:e.textMuted,style:{position:"absolute",left:9,top:"50%",transform:"translateY(-50%)"}}),t.jsx("input",{type:"text",value:u,onChange:s=>x(s.target.value),placeholder:l?`Modifying ${l.name} — search to change`:"Search blocks to modify…",style:{width:"100%",border:`1px solid ${e.btnBorder}`,borderRadius:7,background:e.appBg,color:e.textPrimary,fontSize:12,fontFamily:e.font,padding:"7px 9px 7px 28px",boxSizing:"border-box"}})]}),p?t.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:11.5,color:e.textMuted,fontFamily:e.font,padding:"4px 2px"},children:[t.jsx(se,{size:12,strokeWidth:2})," Loading blocks…"]}):d.length===0?t.jsxs("div",{style:{fontSize:11.5,color:e.textMuted,fontFamily:e.font,padding:"2px 2px",lineHeight:1.45},children:["No blocks found. Type the block file path you want to modify, then press Enter.",t.jsx("input",{type:"text",defaultValue:n??"",onKeyDown:s=>{if(s.key==="Enter"){const y=s.target.value.trim();y&&i(y)}},placeholder:"blocks/revenue_by_region.dql",style:{marginTop:6,width:"100%",border:`1px solid ${e.btnBorder}`,borderRadius:7,background:e.appBg,color:e.textPrimary,fontSize:12,fontFamily:e.fontMono,padding:"7px 9px",boxSizing:"border-box"}})]}):t.jsx("div",{style:{display:"grid",gap:3,maxHeight:184,overflow:"auto"},children:c.length===0?t.jsxs("div",{style:{fontSize:11.5,color:e.textMuted,fontFamily:e.font,padding:"4px 2px"},children:["No blocks match “",u,"”."]}):c.map(s=>{const y=s.path===n;return t.jsxs("button",{type:"button",onClick:()=>i(s.path),style:{display:"flex",alignItems:"center",gap:8,textAlign:"left",width:"100%",border:`1px solid ${y?e.accent:"transparent"}`,background:y?`${e.accent}14`:"transparent",borderRadius:6,padding:"6px 8px",cursor:"pointer"},children:[t.jsx(fe,{size:13,strokeWidth:2,color:y?e.accent:e.textMuted,style:{flexShrink:0}}),t.jsxs("span",{style:{minWidth:0,display:"grid",gap:1},children:[t.jsx("span",{style:{fontSize:12,fontWeight:700,color:e.textPrimary,fontFamily:e.fontMono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s.name}),t.jsxs("span",{style:{fontSize:10.5,color:e.textMuted,fontFamily:e.font,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[s.domain?`${s.domain} · `:"",s.path]})]}),y?t.jsx(K,{size:14,strokeWidth:2,color:e.accent,style:{marginLeft:"auto",flexShrink:0}}):null]},s.path)})})]})}function Ve({t:e,value:n,onChange:i}){const{dispatch:d}=U(),[r,p]=f.useState([]);return f.useEffect(()=>{let o=!1;return D.getDomains().then(u=>{o||p(Array.isArray(u==null?void 0:u.domains)?u.domains:[])}).catch(()=>{o||p([])}),()=>{o=!0}},[]),t.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[t.jsx("span",{style:{fontSize:11,fontWeight:700,color:e.textSecondary,fontFamily:e.font},children:"Domain"}),t.jsxs("select",{value:n??"",onChange:o=>i(o.target.value||void 0),style:{border:`1px solid ${e.btnBorder}`,borderRadius:7,background:e.btnBg,color:n?e.textPrimary:e.textMuted,fontSize:12,fontFamily:e.font,padding:"5px 9px",cursor:"pointer"},children:[t.jsx("option",{value:"",children:r.length===0?"No domains yet":"No domain"}),r.map(o=>t.jsx("option",{value:o.id,children:o.name},o.id))]}),t.jsxs("button",{type:"button",onClick:()=>d({type:"SET_MAIN_VIEW",view:"domains"}),style:w(e),title:"Create a new domain on the Domains page",children:[t.jsx(A,{size:12,strokeWidth:2})," New"]})]})}function Ke({t:e,message:n,onRefine:i}){return t.jsxs("section",{style:{...Z(e),borderColor:`${e.error}66`},children:[t.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:8},children:[t.jsx(ue,{size:15,strokeWidth:2,color:e.error,style:{marginTop:1,flexShrink:0}}),t.jsx("div",{style:{fontSize:12.5,color:e.textPrimary,lineHeight:1.5,fontFamily:e.font},children:n})]}),t.jsx("div",{style:{display:"flex",gap:8},children:t.jsxs("button",{type:"button",onClick:i,style:w(e),children:[t.jsx(Y,{size:13,strokeWidth:2})," Refine and try again"]})})]})}function me({t:e,code:n}){return t.jsx("pre",{style:be(e),children:t.jsx("code",{style:{fontFamily:e.fontMono,fontSize:11.5,color:e.textPrimary,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:n.trim()})})}function G({t:e,children:n}){return t.jsx("div",{style:{fontSize:10,fontWeight:800,letterSpacing:"0.05em",textTransform:"uppercase",color:e.textMuted,fontFamily:e.font},children:n})}function ne(e){return{display:"inline-flex",padding:2,gap:2,border:`1px solid ${e.btnBorder}`,borderRadius:8,background:e.btnBg}}function ie(e,n,i){return{display:"inline-flex",alignItems:"center",gap:5,padding:"5px 11px",borderRadius:6,border:"1px solid transparent",background:n?e.accent:"transparent",color:n?"#ffffff":e.textSecondary,fontSize:12,fontWeight:n?800:600,fontFamily:e.font,cursor:i?"default":"pointer",opacity:i?.45:1}}function Ye(e){return{width:"100%",resize:"vertical",border:`1px solid ${e.btnBorder}`,borderRadius:8,background:e.cellBg,color:e.textPrimary,fontSize:12.5,fontFamily:e.font,lineHeight:1.5,padding:"9px 11px",boxSizing:"border-box"}}function Z(e){return{border:`1px solid ${e.cellBorder}`,borderRadius:10,background:e.cellBg,padding:12,display:"grid",gap:10}}function be(e){return{margin:0,border:`1px solid ${e.cellBorder}`,borderRadius:8,background:e.appBg,padding:"9px 11px",overflow:"auto",maxHeight:280}}function J(e){return oe(e,{variant:"primary",size:"md"})}function w(e){return oe(e,{variant:"ghost",size:"md"})}function ke(e){return{display:"inline-flex",alignItems:"center",gap:5,padding:0,border:"none",background:"transparent",color:e.accent,fontSize:11.5,fontWeight:700,fontFamily:e.font,cursor:"pointer"}}function je(e){return{fontSize:10,fontWeight:800,letterSpacing:"0.03em",textTransform:"uppercase",color:e.accent,background:`${e.accent}18`,border:`1px solid ${e.accent}40`,borderRadius:999,padding:"2px 8px",fontFamily:e.font}}function Ze(e){return{fontSize:10.5,fontWeight:600,color:e.textMuted,background:e.btnBg,border:`1px solid ${e.btnBorder}`,borderRadius:999,padding:"2px 8px",fontFamily:e.font}}function Je(e){return{fontSize:11,fontWeight:600,color:e.textSecondary,background:e.btnBg,border:`1px solid ${e.btnBorder}`,borderRadius:6,padding:"3px 8px",fontFamily:e.fontMono}}function st(){const{state:e,dispatch:n}=U();return f.useCallback(async(i,d)=>{const r={name:i.split("/").pop()??`${d}.dql`,path:i,type:"block",folder:"blocks"};e.files.some(o=>o.path===i)||n({type:"FILE_ADDED",file:r});const p=await D.openBlockStudio(i);n({type:"OPEN_BLOCK_STUDIO",file:r,payload:p})},[n,e.files])}export{it as A,Oe as C,he as G,ge as R,st as u};
@@ -0,0 +1,6 @@
1
+ import{g,j as i,S as j,L as w}from"./index-BMVfPaXr.js";import{M as v}from"./minimize-2-DGlmQLES.js";import{M as k}from"./maximize-2-DjSovOdP.js";import{X as I}from"./x-DLWEzvri.js";/**
2
+ * @license lucide-react v0.563.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const A=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 8v6",key:"1ib9pf"}],["path",{d:"M9 11h6",key:"1fldmi"}]],S=g("message-square-plus",A),p=420,W=720;function B({t:e,title:a,subtitle:s,children:l,onClose:o,expanded:n=!1,onToggleExpanded:c,onNewChat:x,headerActions:f,running:u=!1,compact:r=!1,floating:t=!1,dock:h="column",ariaLabel:m=a,className:y,style:b}){return i.jsxs("aside",{"aria-label":m,className:y,"data-ai-side-panel":"true","data-expanded":n?"true":"false",style:{minWidth:0,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden",background:e.cellBg,...h==="overlay"&&!r?{position:"absolute",inset:"0 0 0 auto",zIndex:30,width:n?`min(${W}px, calc(100% - 40px))`:`min(${p}px, calc(100% - 40px))`,maxWidth:n?"72vw":"52vw",minWidth:Math.min(p,400),flex:"0 0 auto",boxShadow:"-16px 0 36px rgba(0,0,0,0.18)"}:{},...h==="overlay"&&r?{position:"relative",width:"100%",flex:"0 0 auto"}:{},borderLeft:r?"none":`1px solid ${e.headerBorder}`,border:t?`1px solid ${e.headerBorder}`:void 0,borderRadius:t?12:void 0,boxShadow:t?"0 18px 60px rgba(15, 23, 42, 0.22)":void 0,transition:"width 180ms ease, max-width 180ms ease",...b},children:[i.jsxs("div",{style:{minHeight:52,padding:"9px 12px",borderBottom:`1px solid ${e.headerBorder}`,background:e.cellBg,display:"flex",alignItems:"center",gap:10,flex:"0 0 auto"},children:[i.jsx("div",{"aria-hidden":"true",style:{width:30,height:30,borderRadius:8,background:`${e.accent}14`,border:`1px solid ${e.accent}36`,color:e.accent,display:"inline-flex",alignItems:"center",justifyContent:"center",flex:"0 0 auto"},children:i.jsx(j,{size:16,strokeWidth:2.1})}),i.jsxs("div",{style:{flex:1,minWidth:0},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:7},children:[i.jsx("span",{style:{fontSize:13,fontWeight:800,color:e.textPrimary,fontFamily:e.font},children:a}),u?i.jsx(w,{size:12,"aria-label":"AI is working",style:{color:e.accent,animation:"dql-agent-run-spin 0.8s linear infinite"}}):null]}),i.jsx("div",{title:s,style:{marginTop:2,color:e.textMuted,fontSize:11,fontFamily:e.font,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s})]}),f,x?i.jsx(d,{t:e,label:"New AI chat",onClick:x,children:i.jsx(S,{size:15,strokeWidth:2})}):null,!r&&c?i.jsx(d,{t:e,label:n?"Return AI panel to standard width":"Expand AI panel",onClick:c,children:n?i.jsx(v,{size:15,strokeWidth:2}):i.jsx(k,{size:15,strokeWidth:2})}):null,i.jsx(d,{t:e,label:`Close ${a}`,onClick:o,children:i.jsx(I,{size:15,strokeWidth:2})})]}),i.jsx("div",{style:{flex:1,minHeight:0,minWidth:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:l})]})}function d({t:e,label:a,onClick:s,active:l=!1,children:o}){return i.jsx("button",{type:"button","aria-label":a,title:a,onClick:s,style:{width:30,height:30,borderRadius:7,border:`1px solid ${l?`${e.accent}66`:e.btnBorder}`,background:l?`${e.accent}14`:e.btnBg,color:l?e.accent:e.textSecondary,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",flex:"0 0 auto"},children:o})}export{B as A,S as M,W as a,p as b,d as c};
@@ -0,0 +1,6 @@
1
+ import{g as X,u as Z,t as Q,r as f,a as b,j as l,m as ee,P as te,L as E,T as ne,h as re}from"./index-BMVfPaXr.js";import{u as ie,f as oe,c as se}from"./answer-to-notebook-B_gE6rsY.js";import{U as ae}from"./UnifiedAgentRunPanel-BNqE169i.js";import"./react-CRB3T2We.js";import"./AgentAnswerCard-BEIwKGm4.js";import"./usePersistedAgentThreadId-hxi1RZDm.js";import"./TrustBadge-DNVJK_mP.js";import"./AiBuildResult-BvTcW9oE.js";import"./user-round-CM8xNakq.js";import"./triangle-alert-zws0cKhp.js";import"./rotate-ccw-ByjLhAu7.js";import"./x-DLWEzvri.js";import"./pencil-nwaGtOdL.js";import"./list-tree-8lYW2Itb.js";import"./wrench-CeU7hF12.js";import"./arrow-right-CQ73DG7_.js";import"./chevron-up-CDHDU3N3.js";/**
2
+ * @license lucide-react v0.563.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const de=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],ce=X("message-square",de),j="dql-ask-domain-scope",O="dql-ask-domain-context";function M(e){if(e)try{const t=JSON.parse(e);return typeof t.domain!="string"||!t.domain.trim()?void 0:{domain:t.domain.trim(),purpose:typeof t.purpose=="string"?t.purpose:void 0,modelAreaId:typeof t.modelAreaId=="string"?t.modelAreaId:void 0}}catch{return}}function le(e,t){try{const i=M(e.getItem(O));return e.removeItem(O),i?(t.setItem(j,JSON.stringify(i)),i):M(t.getItem(j))}catch{return}}function ue(e,t){try{t||e.removeItem(j)}catch{}}function fe(){if(!(typeof window>"u"))return le(window.sessionStorage,window.localStorage)}function pe(e){typeof window>"u"||ue(window.localStorage,e)}const D="dql-ask-conversations",$="dql-ask-active-conversation",z="dql-ask-deleted-thread-queue",q=100;function he(e){return(e??"AI analysis").replace(/[^a-zA-Z0-9_ -]+/g," ").replace(/\s+/g,"_").replace(/^_+|_+$/g,"").slice(0,48)||"ai_analysis"}function me(e){var m,h,o,s,w;const t=(h=(m=e.dqlArtifact)==null?void 0:m.source)==null?void 0:h.trim(),i=(o=e.sql)==null?void 0:o.trim(),n=t||i;if(!n)return;const c=ee(t?"dql":"sql",n);return c.name=he(e.title??((s=e.dqlArtifact)==null?void 0:s.name)),e.result&&(c.result=e.result,c.status="success",c.executionCount=1),e.chartConfig&&(c.chartConfig=e.chartConfig),c.correctionProvenance=se({question:e.question,generatedSql:e.sql??((w=e.dqlArtifact)==null?void 0:w.compiledSql),generatedDql:t,sourceRunId:e.sourceRunId}),e.dqlArtifact&&(c.dqlArtifact={source:e.dqlArtifact.source,sql:e.sql,name:e.dqlArtifact.name,sourcePath:e.dqlArtifact.sourcePath,kind:e.dqlArtifact.kind,metrics:e.dqlArtifact.metrics,dimensions:e.dqlArtifact.dimensions,parameters:e.dqlArtifact.parameters,parameterValues:e.dqlArtifact.parameterValues,persistence:e.dqlArtifact.persistence,trustState:e.dqlArtifact.trustState,compiledSql:e.dqlArtifact.compiledSql??e.sql,reviewState:e.dqlArtifact.trustState==="certified"?"certified":"review_required",...e.question?{question:e.question}:{}},c.dqlParameterValues=e.dqlArtifact.parameterValues),c}function N(){return`conv_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,7)}`}function L(e){return`conv_server_${e}`}function ge(e,t,i=new Set){const n=t.filter(o=>!i.has(o.id)),c=new Map(e.flatMap(o=>o.threadId?[[o.threadId,o]]:[])),m=n.map(o=>{var w;const s=c.get(o.id);return{id:(s==null?void 0:s.id)??L(o.id),title:s!=null&&s.title&&s.title!=="New chat"?s.title:((w=o.title)==null?void 0:w.trim())||"Recovered chat",createdAt:(s==null?void 0:s.createdAt)??o.createdAt,updatedAt:o.updatedAt>((s==null?void 0:s.updatedAt)??"")?o.updatedAt:(s==null?void 0:s.updatedAt)??o.updatedAt,items:(s==null?void 0:s.items)??[],threadId:o.id}}),h=new Set(n.map(o=>o.id));return[...m,...e.filter(o=>(!o.threadId||!h.has(o.threadId))&&(!o.threadId||!i.has(o.threadId)))].sort((o,s)=>s.updatedAt.localeCompare(o.updatedAt)).slice(0,q)}function x(){if(typeof window>"u")return new Set;try{const e=JSON.parse(window.localStorage.getItem(z)??"[]");return new Set(Array.isArray(e)?e.filter(t=>typeof t=="string"):[])}catch{return new Set}}function H(e){if(!(typeof window>"u"))try{window.localStorage.setItem(z,JSON.stringify([...e].slice(-q)))}catch{}}function Ae(e){const t=x();t.add(e),H(t)}function R(e){const t=x();t.delete(e),H(t)}function Ie(e){return Array.isArray(e)?e.flatMap(t=>{if(!t||typeof t!="object")return[];const i=t;if(i.kind==="run"&&i.run&&typeof i.run=="object"){const n=i.run;n.nextActions=Array.isArray(n.nextActions)?n.nextActions:[],n.artifacts=Array.isArray(n.artifacts)?n.artifacts:[],n.evaluations=Array.isArray(n.evaluations)?n.evaluations:[],n.steps=Array.isArray(n.steps)?n.steps:[]}return[t]}):[]}function Se(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(D);if(!e)return[];const t=JSON.parse(e);if(!Array.isArray(t))return[];const i=x();return t.filter(n=>!n.threadId||!i.has(n.threadId)).map(n=>({...n,items:Ie(n.items)}))}catch{return[]}}function we(){if(!(typeof window>"u"))try{return window.localStorage.getItem($)??void 0}catch{return}}function P(e){return e.map(t=>({...t,items:t.items.map(i=>i.kind==="run"?{...i,run:{...i.run,events:[]}}:i)}))}function y(e){const t=e.slice(0,q);if(typeof window>"u")return t;try{return window.localStorage.setItem(D,JSON.stringify(P(t))),t}catch{const i=t.slice(0,8);try{window.localStorage.setItem(D,JSON.stringify(P(i)))}catch{}return i}}function xe(e){const t=e.find(n=>n.kind==="user"),i=t&&t.kind==="user"?t.text.trim():"";return i?i.length>48?`${i.slice(0,48).trimEnd()}…`:i:"New chat"}function ve(e){const t=new Date(e).getTime();if(Number.isNaN(t))return"";const i=Date.now()-t,n=Math.floor(i/6e4);if(n<1)return"just now";if(n<60)return`${n}m`;const c=Math.floor(n/60);if(c<24)return`${c}h`;const m=Math.floor(c/24);return m<7?`${m}d`:new Date(e).toLocaleDateString()}function He(){var _;const{state:e,dispatch:t}=Z(),i=ie(),n=Q[e.themeMode],[c,m]=f.useState(()=>fe()),[h,o]=f.useState(()=>Se()),[s,w]=f.useState(!0),v=f.useMemo(()=>h.length>0,[]),[d,p]=f.useState(()=>{const r=we();return r&&h.some(a=>a.id===r)?r:N()}),[S,C]=f.useState(!1);f.useEffect(()=>{try{window.localStorage.setItem($,d)}catch{}},[d]),f.useEffect(()=>{for(const r of x())b.deleteAgentThread(r).then(()=>R(r)).catch(()=>{})},[]),f.useEffect(()=>{let r=!1;const a=x();return b.listAgentThreads({limit:q}).then(({threads:u})=>{if(r)return;const g=u.filter(I=>I.surface==="ask"||I.surface==="notebook"&&!I.notebookPath),A=new Set([...a,...x()]),k=g.filter(I=>!A.has(I.id));o(I=>y(ge(I,k,A))),!v&&k[0]&&p(L(k[0].id))}).catch(()=>{}).finally(()=>{r||w(!1)}),()=>{r=!0}},[v]);const W=f.useMemo(()=>{var r;return((r=h.find(a=>a.id===d))==null?void 0:r.items)??[]},[h,d]),F=f.useMemo(()=>{var r;return(r=h.find(a=>a.id===d))==null?void 0:r.threadId},[h,d]),V=f.useCallback(r=>{r.length!==0&&o(a=>{const u=a.find(I=>I.id===d);if(u&&u.items.length>=r.length)return a;const g=new Date().toISOString(),k=[{id:d,title:xe(r),createdAt:(u==null?void 0:u.createdAt)??g,updatedAt:g,items:r,threadId:u==null?void 0:u.threadId},...a.filter(I=>I.id!==d)].slice(0,q);return y(k)})},[d]),B=f.useCallback(r=>{o(a=>{const u=a.find(A=>A.id===d),g=new Date().toISOString();return y(u?a.map(A=>A.id===d?{...A,threadId:r}:A):[{id:d,title:"New chat",createdAt:g,updatedAt:g,items:[],threadId:r},...a])})},[d]),J=f.useCallback(()=>{S||p(N())},[S]),Y=f.useCallback(r=>{S||p(r)},[S]),G=f.useCallback(r=>{var u;if(S)return;const a=(u=h.find(g=>g.id===r))==null?void 0:u.threadId;a&&(Ae(a),b.deleteAgentThread(a).then(()=>R(a)).catch(()=>{})),o(g=>y(g.filter(A=>A.id!==r))),r===d&&p(N())},[d,h,S]),K=(r,a)=>{t({type:"OPEN_APP",appId:r,dashboardId:a})},U=(r,a)=>{t({type:"OPEN_GLOBAL_AI",audience:"stakeholder",context:{title:"Research",scopeHint:"Follow up on this research",selectedObject:{kind:"research",id:r,path:a}}})},T=f.useCallback(r=>{if(!e.activeFile||e.activeFile.type==="block"){i(r);return}const a=me(r);a&&(t({type:"ADD_CELL",cell:a}),t({type:"SET_MAIN_VIEW",view:"notebook"}),oe(a.id))},[t,i,e.activeFile]);return l.jsxs("div",{style:{flex:1,minWidth:0,display:"flex",overflow:"hidden",background:n.appBg},children:[l.jsx(ke,{t:n,conversations:h,activeId:d,busy:S,loading:s,onNewChat:J,onSelect:Y,onDelete:G}),l.jsx("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:l.jsx(ae,{themeMode:e.themeMode,title:"Ask your data",askLayout:!0,scopeHint:c?`Scoped to ${c.domain}${c.modelAreaId?` · ${(_=c.modelAreaId.split("::").at(-1))==null?void 0:_.replace(/_/g," ")}`:""}${c.purpose?` for ${c.purpose}`:""}`:"Ask a question or request deep research",onClearScope:c?()=>{m(void 0),pe(void 0)}:void 0,workspaceContext:c,audience:"stakeholder",initialMode:"auto",initialItems:W,onItemsChange:V,threadId:F,onThreadIdChange:B,onRunningChange:C,onOpenResearch:U,onOpenApp:K,onInsertSql:(r,a,u)=>T({sql:r,title:a,question:u==null?void 0:u.question,sourceRunId:u==null?void 0:u.sourceRunId}),onInsertDql:T,insertDqlActionLabel:"Open in notebook"},d)})]})}function ke({t:e,conversations:t,activeId:i,busy:n,loading:c,onNewChat:m,onSelect:h,onDelete:o}){const s=n?"Finish the current question first":void 0,[w,v]=f.useState(null);return l.jsxs("aside",{style:{width:248,flexShrink:0,borderRight:`1px solid ${e.headerBorder}`,background:e.cellBg,display:"flex",flexDirection:"column",minHeight:0},children:[l.jsx("div",{style:{padding:12},children:l.jsxs("button",{type:"button",onClick:m,disabled:n,title:s,style:{width:"100%",display:"inline-flex",alignItems:"center",gap:8,justifyContent:"center",padding:"9px 12px",borderRadius:8,border:`1px solid ${e.accent}`,background:e.accent,color:"var(--accent-on, #fff)",fontSize:13,fontWeight:650,cursor:n?"not-allowed":"pointer",opacity:n?.55:1},children:[l.jsx(te,{size:15,strokeWidth:2.4})," New chat"]})}),l.jsx("div",{style:{padding:"0 8px 4px",fontSize:10,fontWeight:700,letterSpacing:"0.05em",textTransform:"uppercase",color:e.textMuted},children:"Recent"}),l.jsx("div",{style:{flex:1,minHeight:0,overflow:"auto",padding:"0 8px 12px",display:"flex",flexDirection:"column",gap:2},children:c&&t.length===0?l.jsxs("div",{style:{padding:"10px 8px",display:"flex",alignItems:"center",gap:7,fontSize:11.5,color:e.textMuted},children:[l.jsx(E,{size:13,style:{animation:"dql-agent-run-spin 0.8s linear infinite"}}),"Restoring project chats…"]}):t.length===0?l.jsx("div",{style:{padding:"10px 8px",fontSize:11.5,color:e.textMuted,lineHeight:1.5},children:"No past chats yet. Your conversations show up here so you can pick up where you left off."}):t.map(d=>{const p=d.id===i,S=w===d.id;return l.jsxs("div",{onMouseEnter:()=>v(d.id),onMouseLeave:()=>v(C=>C===d.id?null:C),style:{position:"relative",display:"flex",alignItems:"center"},children:[l.jsxs("button",{type:"button",onClick:()=>h(d.id),disabled:n&&!p,title:n&&!p?s:d.title,style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderRadius:7,border:"none",background:p?`${e.accent}1f`:S?`${e.textPrimary}0d`:"transparent",color:p?e.accent:e.textSecondary,cursor:n&&!p?"not-allowed":"pointer",opacity:n&&!p?.5:1,textAlign:"left",fontSize:12.5,fontWeight:p?600:500},children:[p&&n?l.jsx(E,{size:13,style:{flexShrink:0,color:e.accent,animation:"dql-agent-run-spin 0.8s linear infinite"}}):l.jsx(ce,{size:13,style:{flexShrink:0,opacity:.7}}),l.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:p&&n?"Working…":d.title}),l.jsx("span",{style:{flexShrink:0,fontSize:10,color:p&&n?e.accent:e.textMuted,fontWeight:p&&n?650:400},children:p&&n?"Live":ve(d.updatedAt)})]}),S?l.jsx("button",{type:"button","aria-label":"Delete conversation",onClick:()=>o(d.id),style:{position:"absolute",right:4,display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:5,border:"none",background:e.cellBg,color:e.textMuted,cursor:"pointer"},children:l.jsx(ne,{size:12})}):null]},d.id)})}),l.jsxs("div",{style:{padding:"10px 12px",borderTop:`1px solid ${e.headerBorder}`,display:"flex",alignItems:"center",gap:7,fontSize:11,color:e.textMuted},children:[l.jsx(re,{size:12,style:{flexShrink:0,color:e.success}}),l.jsx("span",{children:"Private project history · not committed to Git"})]})]})}export{He as AnalyticsHome,me as askNotebookCellFromPayload,ge as mergePersistedAskConversations};