@duckcodeailabs/dql-cli 1.14.3-rc.1 → 1.14.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/args.d.ts +2 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +12 -0
- package/dist/args.js.map +1 -1
- package/dist/ask-runtime/analytical-planner.d.ts +14 -0
- package/dist/ask-runtime/analytical-planner.d.ts.map +1 -0
- package/dist/ask-runtime/analytical-planner.js +197 -0
- package/dist/ask-runtime/analytical-planner.js.map +1 -0
- package/dist/ask-runtime/readiness.d.ts +36 -0
- package/dist/ask-runtime/readiness.d.ts.map +1 -0
- package/dist/ask-runtime/readiness.js +65 -0
- package/dist/ask-runtime/readiness.js.map +1 -0
- package/dist/assets/dql-notebook/assets/{AgentLogPage-Jbyb4so-.js → AgentLogPage-XonDlOVv.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AiBuildDialog-Du07X1qO.js → AiBuildDialog-DwHVVFIS.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AiBuildResult-xKtGthWv.js → AiBuildResult-BImB4Wej.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AiSidePanel-CE_L04dK.js → AiSidePanel-D7fFBhgc.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AnalyticsHome-CiUE10uF.js → AnalyticsHome-CHvGWG92.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AppsView-DlNaTuwD.js → AppsView-DNhs0MyO.js} +4 -4
- package/dist/assets/dql-notebook/assets/{AskObservabilityPage-DracZPI9.js → AskObservabilityPage-1WYjAf8-.js} +1 -1
- package/dist/assets/dql-notebook/assets/AskTracePage-D6_RunIf.js +8 -0
- package/dist/assets/dql-notebook/assets/{BlockStudio-DQS5Hcq9.js → BlockStudio-DWMOCHy5.js} +1 -1
- package/dist/assets/dql-notebook/assets/{BusinessArtifactView-CqV4i9l_.js → BusinessArtifactView-guqlfQ0j.js} +1 -1
- package/dist/assets/dql-notebook/assets/{DbtFirstModelingPage-JKhB_Y2H.js → DbtFirstModelingPage-DE7ewjMK.js} +1 -1
- package/dist/assets/dql-notebook/assets/{GitPage-DjaNp0o3.js → GitPage-CM3cgHtf.js} +1 -1
- package/dist/assets/dql-notebook/assets/{GlobalAiRail-CsV3zlc8.js → GlobalAiRail-BWfeK8lb.js} +1 -1
- package/dist/assets/dql-notebook/assets/{GovernedContextPage-uXUHUOIJ.js → GovernedContextPage-2Ld4yIgE.js} +1 -1
- package/dist/assets/dql-notebook/assets/{HelpDocsPage-Hbh9IeYB.js → HelpDocsPage-BxBzoxBO.js} +1 -1
- package/dist/assets/dql-notebook/assets/{HomePage-CRRl-R_v.js → HomePage-D4ZjCFfB.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineageDAG-OMUP2sbl.js → LineageDAG-DLdogZMo.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineageDetailView-C964BLuV.js → LineageDetailView-CqPB_tFP.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineageDrawer-CzY0nfpD.js → LineageDrawer-LZyR3zHf.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineagePathBreadcrumb-0Gi-Fm1B.js → LineagePathBreadcrumb-BZ7EcIxp.js} +1 -1
- package/dist/assets/dql-notebook/assets/{MiniLineageGraph-wn0wLc9m.js → MiniLineageGraph-Be_kqIq2.js} +1 -1
- package/dist/assets/dql-notebook/assets/{NewBlockModal-kMAzk91d.js → NewBlockModal-C9MKCa6R.js} +1 -1
- package/dist/assets/dql-notebook/assets/{NewNotebookModal-D_cWd_6M.js → NewNotebookModal-ZxHbTU9u.js} +1 -1
- package/dist/assets/dql-notebook/assets/{NotebookEditor-Bax0lxaz.js → NotebookEditor-Bh39Vsg0.js} +1 -1
- package/dist/assets/dql-notebook/assets/{ReadinessPage-DEUIXQQY.js → ReadinessPage-jKOBKkED.js} +1 -1
- package/dist/assets/dql-notebook/assets/{SetupOnboarding-CyE-Ex41.js → SetupOnboarding-BRut9nLO.js} +1 -1
- package/dist/assets/dql-notebook/assets/{SkillsPage-QgvKGPxE.js → SkillsPage-D9msUOxY.js} +1 -1
- package/dist/assets/dql-notebook/assets/{TrustBadge-D5CGp0cu.js → TrustBadge-D1CGSj0Y.js} +1 -1
- package/dist/assets/dql-notebook/assets/UnifiedAgentRunPanel-BexNjqJd.js +88 -0
- package/dist/assets/dql-notebook/assets/{answer-to-notebook-tACdCsTV.js → answer-to-notebook-zHFOdR6E.js} +1 -1
- package/dist/assets/dql-notebook/assets/{arrow-left-CF6wxXU5.js → arrow-left-C1tZBhgf.js} +1 -1
- package/dist/assets/dql-notebook/assets/{arrow-right-C7G3M_S8.js → arrow-right-BP5vPPNo.js} +1 -1
- package/dist/assets/dql-notebook/assets/{book-open-text-DDBO8G7L.js → book-open-text-BD3-ATYI.js} +1 -1
- package/dist/assets/dql-notebook/assets/{chevron-left-DxajrX2v.js → chevron-left-3opVgscY.js} +1 -1
- package/dist/assets/dql-notebook/assets/{circle-x-HBvXjnT6.js → circle-x-Bg9-70KN.js} +1 -1
- package/dist/assets/dql-notebook/assets/{clock-3-CJIdsPLt.js → clock-3-DLV5puGW.js} +1 -1
- package/dist/assets/dql-notebook/assets/{external-link-WciAU8Bu.js → external-link-BjD8w9QU.js} +1 -1
- package/dist/assets/dql-notebook/assets/{grip-vertical-DVu7ok6x.js → grip-vertical-DqIc09oX.js} +1 -1
- package/dist/assets/dql-notebook/assets/{index-D3wnucQC.js → index-C9KfoqCR.js} +2 -2
- package/dist/assets/dql-notebook/assets/{link-2-C6uQx50X.js → link-2-5s0hUu6w.js} +1 -1
- package/dist/assets/dql-notebook/assets/{list-tree-DapsIuQB.js → list-tree-67yz_uCY.js} +1 -1
- package/dist/assets/dql-notebook/assets/{minimize-2-BlVoipnT.js → minimize-2-BJw5tlPC.js} +1 -1
- package/dist/assets/dql-notebook/assets/{panel-right-open-DcnKWxfx.js → panel-right-open-CyhTG-tw.js} +1 -1
- package/dist/assets/dql-notebook/assets/{play-CNuRuaAs.js → play-CsY8D5M2.js} +1 -1
- package/dist/assets/dql-notebook/assets/{rotate-ccw-B2p953Zh.js → rotate-ccw-RvwtBcw9.js} +1 -1
- package/dist/assets/dql-notebook/assets/{semantic-fields-2fWgkTJc.js → semantic-fields-EorgHwAj.js} +1 -1
- package/dist/assets/dql-notebook/assets/{sliders-horizontal-DwRTu1w4.js → sliders-horizontal-jQ_fUiYf.js} +1 -1
- package/dist/assets/dql-notebook/assets/{star-Cbaj4F3i.js → star-N_C8YvbB.js} +1 -1
- package/dist/assets/dql-notebook/assets/{style-NlN9F6JE.js → style-D6AlWDHX.js} +1 -1
- package/dist/assets/dql-notebook/assets/{triangle-alert-BPHvH1wA.js → triangle-alert-D1WefIrN.js} +1 -1
- package/dist/assets/dql-notebook/assets/{upload-DIqK0KE1.js → upload-CFJjpPL4.js} +1 -1
- package/dist/assets/dql-notebook/assets/{usePersistedAgentThreadId-DpQXOEDw.js → usePersistedAgentThreadId-B5pTglEr.js} +1 -1
- package/dist/assets/dql-notebook/assets/{user-round-DukNupB_.js → user-round-DL6DLw0m.js} +1 -1
- package/dist/assets/dql-notebook/assets/{wand-sparkles-CAwLX0b9.js → wand-sparkles-CNUjLDqT.js} +1 -1
- package/dist/assets/dql-notebook/assets/{workflow-bOT-NqdO.js → workflow-0NUwpoQ4.js} +1 -1
- package/dist/assets/dql-notebook/assets/{wrench-1m0_kcza.js → wrench-QNiznShi.js} +1 -1
- package/dist/assets/dql-notebook/assets/{x-fp82BETM.js → x-BhTl5gZs.js} +1 -1
- package/dist/assets/dql-notebook/index.html +1 -1
- package/dist/commands/agent-eval-cassette.d.ts.map +1 -1
- package/dist/commands/agent-eval-cassette.js +15 -0
- package/dist/commands/agent-eval-cassette.js.map +1 -1
- package/dist/commands/agent-shadow-report.d.ts +17 -0
- package/dist/commands/agent-shadow-report.d.ts.map +1 -0
- package/dist/commands/agent-shadow-report.js +149 -0
- package/dist/commands/agent-shadow-report.js.map +1 -0
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +6 -2
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/notebook.d.ts +2 -1
- package/dist/commands/notebook.d.ts.map +1 -1
- package/dist/commands/notebook.js +8 -1
- package/dist/commands/notebook.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/llm/providers/ask-v2-analyst-prompt.d.ts +32 -0
- package/dist/llm/providers/ask-v2-analyst-prompt.d.ts.map +1 -0
- package/dist/llm/providers/ask-v2-analyst-prompt.js +136 -0
- package/dist/llm/providers/ask-v2-analyst-prompt.js.map +1 -0
- package/dist/llm/providers/dql-agent-provider.d.ts +77 -1
- package/dist/llm/providers/dql-agent-provider.d.ts.map +1 -1
- package/dist/llm/providers/dql-agent-provider.js +4851 -354
- package/dist/llm/providers/dql-agent-provider.js.map +1 -1
- package/dist/llm/types.d.ts +124 -2
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/local-runtime.d.ts +352 -3
- package/dist/local-runtime.d.ts.map +1 -1
- package/dist/local-runtime.js +4916 -238
- package/dist/local-runtime.js.map +1 -1
- package/dist/metricflow.d.ts.map +1 -1
- package/dist/metricflow.js +87 -11
- package/dist/metricflow.js.map +1 -1
- package/dist/package.json +10 -10
- package/dist/providers/oauth/claude-oauth.d.ts +14 -0
- package/dist/providers/oauth/claude-oauth.d.ts.map +1 -1
- package/dist/providers/oauth/claude-oauth.js +32 -5
- package/dist/providers/oauth/claude-oauth.js.map +1 -1
- package/dist/research-lineage-program.d.ts +29 -0
- package/dist/research-lineage-program.d.ts.map +1 -0
- package/dist/research-lineage-program.js +389 -0
- package/dist/research-lineage-program.js.map +1 -0
- package/dist/retrieval-health.d.ts.map +1 -1
- package/dist/retrieval-health.js +5 -2
- package/dist/retrieval-health.js.map +1 -1
- package/dist/semantic-runtime.d.ts.map +1 -1
- package/dist/semantic-runtime.js +73 -2
- package/dist/semantic-runtime.js.map +1 -1
- package/package.json +10 -10
- package/dist/assets/dql-notebook/assets/AskTracePage-CSMoMw9a.js +0 -8
- package/dist/assets/dql-notebook/assets/UnifiedAgentRunPanel-BjsTE6yf.js +0 -89
package/dist/assets/dql-notebook/assets/{LineageDrawer-CzY0nfpD.js → LineageDrawer-LZyR3zHf.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as F,t as J,r as l,a as K,p as R,q as I,j as t,ax as Q,ay as Z}from"./index-D3wnucQC.js";import{M as ee}from"./MiniLineageGraph-wn0wLc9m.js";import{P as te}from"./panel-right-open-DcnKWxfx.js";import{X as B}from"./x-fp82BETM.js";import{M as re}from"./minimize-2-BlVoipnT.js";import{R as ie}from"./rotate-ccw-B2p953Zh.js";import{G as ne}from"./grip-vertical-DVu7ok6x.js";import{E as se}from"./external-link-WciAU8Bu.js";import"./react-CRB3T2We.js";import"./style-NlN9F6JE.js";import"./dagre.esm-B6nvU4OB.js";const O=320,oe=48;function T(){return typeof window>"u"?380:Math.min(420,Math.max(O,Math.round(window.innerWidth*.42)))}function ae(){return typeof window>"u"?760:Math.max(420,Math.min(880,Math.round(window.innerWidth*.72)))}function le(o){return Math.min(ae(),Math.max(O,o))}function ve(){var E,D;const{state:o,dispatch:a}=F(),e=J[o.themeMode],n=o.lineageDrawerNodeId,[s,m]=l.useState({nodes:[],edges:[],focalNode:null}),[N,y]=l.useState(!1),j=l.useRef(null),[A,P]=l.useState(360),[w,S]=l.useState(()=>T()),[k,f]=l.useState(!1),[p,M]=l.useState(!1),b=l.useRef(w);l.useEffect(()=>{const r=j.current;if(!r)return;const d=new ResizeObserver(u=>{for(const c of u){const x=Math.max(160,c.contentRect.height);P(x)}});return d.observe(r),()=>d.disconnect()},[]),l.useEffect(()=>{if(!n)return;let r=!1;return y(!0),K.queryLineage({focus:n,upstreamDepth:2,downstreamDepth:2}).then(d=>{var u,c;r||(m({nodes:((u=d.graph)==null?void 0:u.nodes)??[],edges:((c=d.graph)==null?void 0:c.edges)??[],focalNode:d.focalNode??null}),y(!1))}).catch(()=>{r||y(!1)}),()=>{r=!0}},[n]);const i=s.focalNode,$=i?s.edges.filter(r=>r.target===i.id).length:0,_=i?s.edges.filter(r=>r.source===i.id).length:0,H=i?R[i.type]??e.textSecondary:e.textSecondary,G=i?I[i.type]??i.type.toUpperCase():"",g=l.useMemo(()=>new Map(s.nodes.map(r=>[r.id,r])),[s.nodes]),U=l.useMemo(()=>i?s.edges.filter(r=>r.target===i.id).map(r=>({edge:r,node:g.get(r.source)})).filter(r=>!!r.node):[],[i,s.edges,g]),X=l.useMemo(()=>i?s.edges.filter(r=>r.source===i.id).map(r=>({edge:r,node:g.get(r.target)})).filter(r=>!!r.node):[],[i,s.edges,g]),v=((E=i==null?void 0:i.metadata)==null?void 0:E.path)??((D=i==null?void 0:i.metadata)==null?void 0:D.filePath);if(!n)return null;const q=r=>{r!==n&&a({type:"OPEN_LINEAGE_DRAWER",nodeId:r})},Y=r=>{r.preventDefault(),r.stopPropagation(),k&&f(!1);const d=r.clientX,u=b.current;M(!0);const c=V=>{const L=le(u+(d-V.clientX));b.current=L,S(L)},x=()=>{M(!1),document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",c),window.removeEventListener("mouseup",x)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("mousemove",c),window.addEventListener("mouseup",x)},z=()=>{const r=T();b.current=r,S(r),f(!1)},W=()=>a({type:"CLOSE_LINEAGE_DRAWER"});return k?t.jsxs("aside",{"aria-label":"Collapsed lineage drawer",style:{width:oe,flexShrink:0,borderLeft:`1px solid ${e.headerBorder}`,background:e.appBg,color:e.textPrimary,display:"flex",flexDirection:"column",alignItems:"center",gap:8,padding:"10px 6px",overflow:"hidden"},children:[t.jsx(h,{title:"Show lineage details",onClick:()=>f(!1),t:e,children:t.jsx(te,{size:15,strokeWidth:1.9})}),t.jsx(h,{title:"Hide lineage drawer",onClick:W,t:e,children:t.jsx(B,{size:15,strokeWidth:2})}),t.jsx("div",{title:(i==null?void 0:i.name)??n,style:{writingMode:"vertical-rl",transform:"rotate(180deg)",color:e.textMuted,fontSize:11,fontWeight:700,lineHeight:1,marginTop:4,maxHeight:260,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(i==null?void 0:i.name)??"Lineage"})]}):t.jsxs("aside",{"aria-label":"Lineage drawer",style:{width:w,flexShrink:0,borderLeft:`1px solid ${e.headerBorder}`,background:e.appBg,color:e.textPrimary,display:"flex",flexDirection:"column",overflow:"hidden",position:"relative",animation:"dql-drawer-slide-in 180ms cubic-bezier(0.22, 0.61, 0.36, 1)"},children:[t.jsx("div",{onMouseDown:Y,onDoubleClick:z,title:"Drag to resize. Double-click to reset width.",style:{position:"absolute",top:0,left:0,width:8,height:"100%",cursor:"col-resize",zIndex:20,display:"flex",alignItems:"center",justifyContent:"center",background:p?`${e.accent}1f`:"transparent",transition:p?"none":"background 0.15s"},onMouseEnter:r=>{p||(r.currentTarget.style.background=`${e.accent}14`)},onMouseLeave:r=>{p||(r.currentTarget.style.background="transparent")},children:t.jsx("div",{style:{width:3,height:44,borderRadius:999,background:p?e.accent:e.headerBorder,boxShadow:p?`0 0 0 3px ${e.accent}1f`:"none"}})}),t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 14px 11px",borderBottom:`1px solid ${e.headerBorder}`,background:e.appBg,flexShrink:0},children:[t.jsx("div",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:38,padding:"2px 6px",background:H,color:e.appBg,fontSize:10,fontWeight:700,letterSpacing:0,borderRadius:4},title:i?Q[i.type]??i.type:"",children:G||"NODE"}),t.jsxs("div",{style:{flex:1,minWidth:0},children:[t.jsx("div",{style:{color:e.textMuted,fontSize:10,fontWeight:800,marginBottom:3},children:"Lineage Inspector"}),t.jsx("div",{style:{fontSize:14,fontWeight:700,color:e.textPrimary,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:(i==null?void 0:i.name)??n,children:(i==null?void 0:i.name)??n}),t.jsxs("div",{style:{fontSize:11,color:e.textMuted,marginTop:2},children:["Lineage · ↑ ",$," · ↓ ",_]})]}),t.jsx(h,{title:"Collapse drawer",onClick:()=>f(!0),t:e,children:t.jsx(re,{size:14,strokeWidth:1.8})}),t.jsx(h,{title:"Reset width",onClick:z,t:e,children:t.jsx(ie,{size:14,strokeWidth:1.8})}),t.jsx(h,{title:"Hide lineage drawer",onClick:W,t:e,children:t.jsx(B,{size:14,strokeWidth:2})})]}),t.jsxs("div",{style:{height:30,padding:"0 14px",borderBottom:`1px solid ${e.headerBorder}`,display:"flex",alignItems:"center",gap:8,color:e.textMuted,fontSize:11,flexShrink:0,background:e.sidebarBg},children:[t.jsx(ne,{size:13,strokeWidth:1.8}),t.jsx("span",{children:"Drag the left edge to resize"}),t.jsxs("span",{style:{marginLeft:"auto",color:e.textMuted},children:[w,"px"]})]}),i&&t.jsx(de,{node:i,t:e}),t.jsx("div",{ref:j,style:{flex:1,minHeight:220,padding:12,overflow:"hidden",display:"flex",background:e.appBg},children:N?t.jsx("div",{style:{color:e.textMuted,fontSize:12,padding:8},children:"Loading lineage…"}):s.nodes.length===0?t.jsx("div",{style:{color:e.textMuted,fontSize:12,padding:8},children:"No lineage available for this node."}):t.jsx("div",{style:{flex:1,minWidth:0},children:t.jsx(ee,{nodes:s.nodes,edges:s.edges,focalNodeId:n,height:Math.max(0,A-24),onNodeClick:q,interactive:!0})})}),i&&t.jsxs("div",{style:{borderTop:`1px solid ${e.headerBorder}`,padding:"10px 12px",display:"grid",gap:10,maxHeight:280,overflow:"auto",background:e.sidebarBg,flexShrink:0},children:[t.jsx(C,{title:"Upstream",connections:U,t:e}),t.jsx(C,{title:"Downstream",connections:X,t:e})]}),typeof v=="string"&&t.jsxs("div",{style:{padding:"8px 14px",borderTop:`1px solid ${e.headerBorder}`,fontSize:11,color:e.textMuted,display:"flex",alignItems:"center",gap:6},children:[t.jsx(se,{size:11,strokeWidth:1.75}),t.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:v,children:v})]})]})}function de({node:o,t:a}){const e=o.metadata??{},n=[];return o.domain&&n.push({label:"Domain",value:o.domain}),o.owner&&n.push({label:"Owner",value:o.owner}),o.status&&n.push({label:"Status",value:o.status}),o.type==="term"&&typeof e.termType=="string"&&n.push({label:"Term Type",value:e.termType}),o.type==="block"&&typeof e.blockType=="string"&&n.push({label:"Block Type",value:e.blockType}),typeof e.materializedAs=="string"&&n.push({label:"Materialized As",value:e.materializedAs}),Array.isArray(e.identifiers)&&e.identifiers.length>0&&n.push({label:"Identifiers",value:e.identifiers.map(String).join(", ")}),Array.isArray(e.synonyms)&&e.synonyms.length>0&&n.push({label:"Synonyms",value:e.synonyms.map(String).join(", ")}),typeof e.description=="string"&&e.description.trim()&&n.push({label:"Description",value:e.description}),typeof e.businessOutcome=="string"&&e.businessOutcome.trim()&&n.push({label:"Business Outcome",value:e.businessOutcome}),n.length===0?null:t.jsx("div",{style:{padding:"10px 14px",borderBottom:`1px solid ${a.headerBorder}`,display:"grid",gap:6,background:a.sidebarBg},children:n.slice(0,6).map(s=>t.jsxs("div",{style:{display:"grid",gridTemplateColumns:"92px 1fr",gap:8,minWidth:0},children:[t.jsx("span",{style:{color:a.textMuted,fontSize:10,fontWeight:700,textTransform:"uppercase"},children:s.label}),t.jsx("span",{style:{color:a.textSecondary,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:s.value.length>90?"normal":"nowrap"},title:s.value,children:s.value})]},s.label))})}function C({title:o,connections:a,t:e}){return a.length===0?t.jsxs("div",{style:{color:e.textMuted,fontSize:11},children:[o,": none in this focused window"]}):t.jsxs("div",{children:[t.jsx("div",{style:{color:e.textMuted,fontSize:10,fontWeight:700,textTransform:"uppercase",marginBottom:5},children:o}),t.jsxs("div",{style:{display:"grid",gap:4},children:[a.slice(0,5).map(({edge:n,node:s})=>{const m=R[s.type]??e.textMuted;return t.jsxs("div",{style:{display:"grid",gridTemplateColumns:"76px 1fr",gap:8,alignItems:"center",fontSize:11,minWidth:0},children:[t.jsx("span",{style:{color:e.textMuted},children:Z[n.type]??n.type}),t.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:5,minWidth:0},children:[t.jsx("span",{style:{color:e.appBg,background:m,borderRadius:3,padding:"1px 4px",fontSize:8,fontWeight:700,flexShrink:0},children:I[s.type]??s.type.slice(0,4).toUpperCase()}),t.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:s.name,children:s.name})]})]},`${n.source}-${n.target}-${n.type}`)}),a.length>5&&t.jsxs("div",{style:{color:e.textMuted,fontSize:11},children:[a.length-5," more connection",a.length-5===1?"":"s"," in the graph"]})]})]})}function h({title:o,onClick:a,children:e,t:n}){return t.jsx("button",{"aria-label":o,title:o,onClick:a,style:{width:26,height:26,display:"inline-flex",alignItems:"center",justifyContent:"center",background:"transparent",border:`1px solid ${n.headerBorder}`,borderRadius:5,color:n.textSecondary,cursor:"pointer"},onMouseEnter:s=>{s.currentTarget.style.color=n.textPrimary,s.currentTarget.style.background=n.textPrimary+"0f"},onMouseLeave:s=>{s.currentTarget.style.color=n.textSecondary,s.currentTarget.style.background="transparent"},children:e})}export{ve as LineageDrawer};
|
|
1
|
+
import{u as F,t as J,r as l,a as K,p as R,q as I,j as t,ax as Q,ay as Z}from"./index-C9KfoqCR.js";import{M as ee}from"./MiniLineageGraph-Be_kqIq2.js";import{P as te}from"./panel-right-open-CyhTG-tw.js";import{X as B}from"./x-BhTl5gZs.js";import{M as re}from"./minimize-2-BJw5tlPC.js";import{R as ie}from"./rotate-ccw-RvwtBcw9.js";import{G as ne}from"./grip-vertical-DqIc09oX.js";import{E as se}from"./external-link-BjD8w9QU.js";import"./react-CRB3T2We.js";import"./style-D6AlWDHX.js";import"./dagre.esm-B6nvU4OB.js";const O=320,oe=48;function T(){return typeof window>"u"?380:Math.min(420,Math.max(O,Math.round(window.innerWidth*.42)))}function ae(){return typeof window>"u"?760:Math.max(420,Math.min(880,Math.round(window.innerWidth*.72)))}function le(o){return Math.min(ae(),Math.max(O,o))}function ve(){var E,D;const{state:o,dispatch:a}=F(),e=J[o.themeMode],n=o.lineageDrawerNodeId,[s,m]=l.useState({nodes:[],edges:[],focalNode:null}),[N,y]=l.useState(!1),j=l.useRef(null),[A,P]=l.useState(360),[w,S]=l.useState(()=>T()),[k,f]=l.useState(!1),[p,M]=l.useState(!1),b=l.useRef(w);l.useEffect(()=>{const r=j.current;if(!r)return;const d=new ResizeObserver(u=>{for(const c of u){const x=Math.max(160,c.contentRect.height);P(x)}});return d.observe(r),()=>d.disconnect()},[]),l.useEffect(()=>{if(!n)return;let r=!1;return y(!0),K.queryLineage({focus:n,upstreamDepth:2,downstreamDepth:2}).then(d=>{var u,c;r||(m({nodes:((u=d.graph)==null?void 0:u.nodes)??[],edges:((c=d.graph)==null?void 0:c.edges)??[],focalNode:d.focalNode??null}),y(!1))}).catch(()=>{r||y(!1)}),()=>{r=!0}},[n]);const i=s.focalNode,$=i?s.edges.filter(r=>r.target===i.id).length:0,_=i?s.edges.filter(r=>r.source===i.id).length:0,H=i?R[i.type]??e.textSecondary:e.textSecondary,G=i?I[i.type]??i.type.toUpperCase():"",g=l.useMemo(()=>new Map(s.nodes.map(r=>[r.id,r])),[s.nodes]),U=l.useMemo(()=>i?s.edges.filter(r=>r.target===i.id).map(r=>({edge:r,node:g.get(r.source)})).filter(r=>!!r.node):[],[i,s.edges,g]),X=l.useMemo(()=>i?s.edges.filter(r=>r.source===i.id).map(r=>({edge:r,node:g.get(r.target)})).filter(r=>!!r.node):[],[i,s.edges,g]),v=((E=i==null?void 0:i.metadata)==null?void 0:E.path)??((D=i==null?void 0:i.metadata)==null?void 0:D.filePath);if(!n)return null;const q=r=>{r!==n&&a({type:"OPEN_LINEAGE_DRAWER",nodeId:r})},Y=r=>{r.preventDefault(),r.stopPropagation(),k&&f(!1);const d=r.clientX,u=b.current;M(!0);const c=V=>{const L=le(u+(d-V.clientX));b.current=L,S(L)},x=()=>{M(!1),document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",c),window.removeEventListener("mouseup",x)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("mousemove",c),window.addEventListener("mouseup",x)},z=()=>{const r=T();b.current=r,S(r),f(!1)},W=()=>a({type:"CLOSE_LINEAGE_DRAWER"});return k?t.jsxs("aside",{"aria-label":"Collapsed lineage drawer",style:{width:oe,flexShrink:0,borderLeft:`1px solid ${e.headerBorder}`,background:e.appBg,color:e.textPrimary,display:"flex",flexDirection:"column",alignItems:"center",gap:8,padding:"10px 6px",overflow:"hidden"},children:[t.jsx(h,{title:"Show lineage details",onClick:()=>f(!1),t:e,children:t.jsx(te,{size:15,strokeWidth:1.9})}),t.jsx(h,{title:"Hide lineage drawer",onClick:W,t:e,children:t.jsx(B,{size:15,strokeWidth:2})}),t.jsx("div",{title:(i==null?void 0:i.name)??n,style:{writingMode:"vertical-rl",transform:"rotate(180deg)",color:e.textMuted,fontSize:11,fontWeight:700,lineHeight:1,marginTop:4,maxHeight:260,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(i==null?void 0:i.name)??"Lineage"})]}):t.jsxs("aside",{"aria-label":"Lineage drawer",style:{width:w,flexShrink:0,borderLeft:`1px solid ${e.headerBorder}`,background:e.appBg,color:e.textPrimary,display:"flex",flexDirection:"column",overflow:"hidden",position:"relative",animation:"dql-drawer-slide-in 180ms cubic-bezier(0.22, 0.61, 0.36, 1)"},children:[t.jsx("div",{onMouseDown:Y,onDoubleClick:z,title:"Drag to resize. Double-click to reset width.",style:{position:"absolute",top:0,left:0,width:8,height:"100%",cursor:"col-resize",zIndex:20,display:"flex",alignItems:"center",justifyContent:"center",background:p?`${e.accent}1f`:"transparent",transition:p?"none":"background 0.15s"},onMouseEnter:r=>{p||(r.currentTarget.style.background=`${e.accent}14`)},onMouseLeave:r=>{p||(r.currentTarget.style.background="transparent")},children:t.jsx("div",{style:{width:3,height:44,borderRadius:999,background:p?e.accent:e.headerBorder,boxShadow:p?`0 0 0 3px ${e.accent}1f`:"none"}})}),t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 14px 11px",borderBottom:`1px solid ${e.headerBorder}`,background:e.appBg,flexShrink:0},children:[t.jsx("div",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:38,padding:"2px 6px",background:H,color:e.appBg,fontSize:10,fontWeight:700,letterSpacing:0,borderRadius:4},title:i?Q[i.type]??i.type:"",children:G||"NODE"}),t.jsxs("div",{style:{flex:1,minWidth:0},children:[t.jsx("div",{style:{color:e.textMuted,fontSize:10,fontWeight:800,marginBottom:3},children:"Lineage Inspector"}),t.jsx("div",{style:{fontSize:14,fontWeight:700,color:e.textPrimary,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:(i==null?void 0:i.name)??n,children:(i==null?void 0:i.name)??n}),t.jsxs("div",{style:{fontSize:11,color:e.textMuted,marginTop:2},children:["Lineage · ↑ ",$," · ↓ ",_]})]}),t.jsx(h,{title:"Collapse drawer",onClick:()=>f(!0),t:e,children:t.jsx(re,{size:14,strokeWidth:1.8})}),t.jsx(h,{title:"Reset width",onClick:z,t:e,children:t.jsx(ie,{size:14,strokeWidth:1.8})}),t.jsx(h,{title:"Hide lineage drawer",onClick:W,t:e,children:t.jsx(B,{size:14,strokeWidth:2})})]}),t.jsxs("div",{style:{height:30,padding:"0 14px",borderBottom:`1px solid ${e.headerBorder}`,display:"flex",alignItems:"center",gap:8,color:e.textMuted,fontSize:11,flexShrink:0,background:e.sidebarBg},children:[t.jsx(ne,{size:13,strokeWidth:1.8}),t.jsx("span",{children:"Drag the left edge to resize"}),t.jsxs("span",{style:{marginLeft:"auto",color:e.textMuted},children:[w,"px"]})]}),i&&t.jsx(de,{node:i,t:e}),t.jsx("div",{ref:j,style:{flex:1,minHeight:220,padding:12,overflow:"hidden",display:"flex",background:e.appBg},children:N?t.jsx("div",{style:{color:e.textMuted,fontSize:12,padding:8},children:"Loading lineage…"}):s.nodes.length===0?t.jsx("div",{style:{color:e.textMuted,fontSize:12,padding:8},children:"No lineage available for this node."}):t.jsx("div",{style:{flex:1,minWidth:0},children:t.jsx(ee,{nodes:s.nodes,edges:s.edges,focalNodeId:n,height:Math.max(0,A-24),onNodeClick:q,interactive:!0})})}),i&&t.jsxs("div",{style:{borderTop:`1px solid ${e.headerBorder}`,padding:"10px 12px",display:"grid",gap:10,maxHeight:280,overflow:"auto",background:e.sidebarBg,flexShrink:0},children:[t.jsx(C,{title:"Upstream",connections:U,t:e}),t.jsx(C,{title:"Downstream",connections:X,t:e})]}),typeof v=="string"&&t.jsxs("div",{style:{padding:"8px 14px",borderTop:`1px solid ${e.headerBorder}`,fontSize:11,color:e.textMuted,display:"flex",alignItems:"center",gap:6},children:[t.jsx(se,{size:11,strokeWidth:1.75}),t.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:v,children:v})]})]})}function de({node:o,t:a}){const e=o.metadata??{},n=[];return o.domain&&n.push({label:"Domain",value:o.domain}),o.owner&&n.push({label:"Owner",value:o.owner}),o.status&&n.push({label:"Status",value:o.status}),o.type==="term"&&typeof e.termType=="string"&&n.push({label:"Term Type",value:e.termType}),o.type==="block"&&typeof e.blockType=="string"&&n.push({label:"Block Type",value:e.blockType}),typeof e.materializedAs=="string"&&n.push({label:"Materialized As",value:e.materializedAs}),Array.isArray(e.identifiers)&&e.identifiers.length>0&&n.push({label:"Identifiers",value:e.identifiers.map(String).join(", ")}),Array.isArray(e.synonyms)&&e.synonyms.length>0&&n.push({label:"Synonyms",value:e.synonyms.map(String).join(", ")}),typeof e.description=="string"&&e.description.trim()&&n.push({label:"Description",value:e.description}),typeof e.businessOutcome=="string"&&e.businessOutcome.trim()&&n.push({label:"Business Outcome",value:e.businessOutcome}),n.length===0?null:t.jsx("div",{style:{padding:"10px 14px",borderBottom:`1px solid ${a.headerBorder}`,display:"grid",gap:6,background:a.sidebarBg},children:n.slice(0,6).map(s=>t.jsxs("div",{style:{display:"grid",gridTemplateColumns:"92px 1fr",gap:8,minWidth:0},children:[t.jsx("span",{style:{color:a.textMuted,fontSize:10,fontWeight:700,textTransform:"uppercase"},children:s.label}),t.jsx("span",{style:{color:a.textSecondary,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:s.value.length>90?"normal":"nowrap"},title:s.value,children:s.value})]},s.label))})}function C({title:o,connections:a,t:e}){return a.length===0?t.jsxs("div",{style:{color:e.textMuted,fontSize:11},children:[o,": none in this focused window"]}):t.jsxs("div",{children:[t.jsx("div",{style:{color:e.textMuted,fontSize:10,fontWeight:700,textTransform:"uppercase",marginBottom:5},children:o}),t.jsxs("div",{style:{display:"grid",gap:4},children:[a.slice(0,5).map(({edge:n,node:s})=>{const m=R[s.type]??e.textMuted;return t.jsxs("div",{style:{display:"grid",gridTemplateColumns:"76px 1fr",gap:8,alignItems:"center",fontSize:11,minWidth:0},children:[t.jsx("span",{style:{color:e.textMuted},children:Z[n.type]??n.type}),t.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:5,minWidth:0},children:[t.jsx("span",{style:{color:e.appBg,background:m,borderRadius:3,padding:"1px 4px",fontSize:8,fontWeight:700,flexShrink:0},children:I[s.type]??s.type.slice(0,4).toUpperCase()}),t.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:s.name,children:s.name})]})]},`${n.source}-${n.target}-${n.type}`)}),a.length>5&&t.jsxs("div",{style:{color:e.textMuted,fontSize:11},children:[a.length-5," more connection",a.length-5===1?"":"s"," in the graph"]})]})]})}function h({title:o,onClick:a,children:e,t:n}){return t.jsx("button",{"aria-label":o,title:o,onClick:a,style:{width:26,height:26,display:"inline-flex",alignItems:"center",justifyContent:"center",background:"transparent",border:`1px solid ${n.headerBorder}`,borderRadius:5,color:n.textSecondary,cursor:"pointer"},onMouseEnter:s=>{s.currentTarget.style.color=n.textPrimary,s.currentTarget.style.background=n.textPrimary+"0f"},onMouseLeave:s=>{s.currentTarget.style.color=n.textSecondary,s.currentTarget.style.background="transparent"},children:e})}export{ve as LineageDrawer};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as v,j as d,t as _e,Z as Be,_ as he,at as Ie,a as Te,au as je,av as ze,aw as Oe,R as ye,p as Ne,q as Ke}from"./index-
|
|
1
|
+
import{r as v,j as d,t as _e,Z as Be,_ as he,at as Ie,a as Te,au as je,av as ze,aw as Oe,R as ye,p as Ne,q as Ke}from"./index-C9KfoqCR.js";import{S as V,g as ve,E as S,s as Qe,a as g,b as Se,c as Ze,P as Ge,d as Ue,e as Ve,F as He,f as Ye,h as we,V as Je,D as R,R as Xe,i as et,C as M,j as ke,k as y,r as tt,l as rt,m as nt,u as st,n as at,t as it,o as ot,p as lt,q as ct,v as ut,w as ht,x as dt,y as ft,z as pt,A as mt,B as gt,G as xt,H as bt,I as yt,J as vt,K as St,L as wt,M as kt,N as de,O as Ct,Q as u}from"./codemirror-DXt7RW72.js";const fe=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class _{constructor(e,r,n=0,s=e.length,a,i){this.test=i,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,s),this.bufferStart=n,this.normalize=a?o=>a(fe(o)):fe,this.query=this.normalize(r)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Ue(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let r=et(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Ve(e);let s=this.normalize(r);if(s.length)for(let a=0,i=n;;a++){let o=s.charCodeAt(a),l=this.match(o,i,this.bufferPos+this.bufferStart);if(a==s.length-1){if(l)return this.value=l,this;break}i==n&&a<r.length&&r.charCodeAt(a)==o&&i++}}}match(e,r,n){let s=null;for(let a=0;a<this.matches.length;a+=2){let i=this.matches[a],o=!1;this.query.charCodeAt(i)==e&&(i==this.query.length-1?s={from:this.matches[a+1],to:n}:(this.matches[a]++,o=!0)),o||(this.matches.splice(a,2),a-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?s={from:r,to:n}:this.matches.push(1,r)),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}}typeof Symbol<"u"&&(_.prototype[Symbol.iterator]=function(){return this});const Ce={from:-1,to:-1,match:/.*/.exec("")},ae="gm"+(/x/.unicode==null?"":"u");class Me{constructor(e,r,n,s=0,a=e.length){if(this.text=e,this.to=a,this.curLine="",this.done=!1,this.value=Ce,/\\[sWDnr]|\n|\r|\[\^/.test(r))return new Le(e,r,n,s,a);this.re=new RegExp(r,ae+(n!=null&&n.ignoreCase?"i":"")),this.test=n==null?void 0:n.test,this.iter=e.iter();let i=e.lineAt(s);this.curLineStart=i.from,this.matchPos=K(e,s),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let r=this.matchPos<=this.to&&this.re.exec(this.curLine);if(r){let n=this.curLineStart+r.index,s=n+r[0].length;if(this.matchPos=K(this.text,s+(n==s?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<s||n>this.value.to)&&(!this.test||this.test(n,s,r)))return this.value={from:n,to:s,match:r},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const J=new WeakMap;class W{constructor(e,r){this.from=e,this.text=r}get to(){return this.from+this.text.length}static get(e,r,n){let s=J.get(e);if(!s||s.from>=n||s.to<=r){let o=new W(r,e.sliceString(r,n));return J.set(e,o),o}if(s.from==r&&s.to==n)return s;let{text:a,from:i}=s;return i>r&&(a=e.sliceString(r,i)+a,i=r),s.to<n&&(a+=e.sliceString(s.to,n)),J.set(e,new W(i,a)),new W(r,a.slice(r-i,n-i))}}class Le{constructor(e,r,n,s,a){this.text=e,this.to=a,this.done=!1,this.value=Ce,this.matchPos=K(e,s),this.re=new RegExp(r,ae+(n!=null&&n.ignoreCase?"i":"")),this.test=n==null?void 0:n.test,this.flat=W.get(e,s,this.chunkEnd(s+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,r=this.re.exec(this.flat.text);if(r&&!r[0]&&r.index==e&&(this.re.lastIndex=e+1,r=this.re.exec(this.flat.text)),r){let n=this.flat.from+r.index,s=n+r[0].length;if((this.flat.to>=this.to||r.index+r[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,s,r)))return this.value={from:n,to:s,match:r},this.matchPos=K(this.text,s+(n==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=W.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Me.prototype[Symbol.iterator]=Le.prototype[Symbol.iterator]=function(){return this});function Mt(t){try{return new RegExp(t,ae),!0}catch{return!1}}function K(t,e){if(e>=t.length)return e;let r=t.lineAt(e),n;for(;e<r.to&&(n=r.text.charCodeAt(e-r.from))>=56320&&n<57344;)e++;return e}const Lt=t=>{let{state:e}=t,r=String(e.doc.lineAt(t.state.selection.main.head).number),{close:n,result:s}=Qe(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:r},focus:!0,submitLabel:e.phrase("go")});return s.then(a=>{let i=a&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(a.elements.line.value);if(!i){t.dispatch({effects:n});return}let o=e.doc.lineAt(e.selection.main.head),[,l,c,m,w]=i,k=m?+m.slice(1):0,f=c?+c:o.number;if(c&&w){let E=f/100;l&&(E=E*(l=="-"?-1:1)+o.number/e.doc.lines),f=Math.round(e.doc.lines*E)}else c&&l&&(f=f*(l=="-"?-1:1)+o.number);let T=e.doc.line(Math.max(1,Math.min(e.doc.lines,f))),A=S.cursor(T.from+Math.max(0,Math.min(k,T.length)));t.dispatch({effects:[n,g.scrollIntoView(A.from,{y:"center"})],selection:A})}),!0},Et=({state:t,dispatch:e})=>{let{selection:r}=t,n=S.create(r.ranges.map(s=>t.wordAt(s.head)||S.cursor(s.head)),r.mainIndex);return n.eq(r)?!1:(e(t.update({selection:n})),!0)};function Rt(t,e){let{main:r,ranges:n}=t.selection,s=t.wordAt(r.head),a=s&&s.from==r.from&&s.to==r.to;for(let i=!1,o=new _(t.doc,e,n[n.length-1].to);;)if(o.next(),o.done){if(i)return null;o=new _(t.doc,e,0,Math.max(0,n[n.length-1].from-1)),i=!0}else{if(i&&n.some(l=>l.from==o.value.from))continue;if(a){let l=t.wordAt(o.value.from);if(!l||l.from!=o.value.from||l.to!=o.value.to)continue}return o.value}}const qt=({state:t,dispatch:e})=>{let{ranges:r}=t.selection;if(r.some(a=>a.from===a.to))return Et({state:t,dispatch:e});let n=t.sliceDoc(r[0].from,r[0].to);if(t.selection.ranges.some(a=>t.sliceDoc(a.from,a.to)!=n))return!1;let s=Rt(t,n);return s?(e(t.update({selection:t.selection.addRange(S.range(s.from,s.to),!1),effects:g.scrollIntoView(s.to)})),!0):!1},q=He.define({combine(t){return Ye(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Kt(e),scrollToMatch:e=>g.scrollIntoView(e)})}});function At(t){return t?[q.of(t),se]:se}class Ee{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||Mt(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(r,n)=>n=="n"?`
|
|
2
2
|
`:n=="r"?"\r":n=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new _t(this):new Wt(this)}getCursor(e,r=0,n){let s=e.doc?e:we.create({doc:e});return n==null&&(n=s.doc.length),this.regexp?F(this,s,r,n):$(this,s,r,n)}}class Re{constructor(e){this.spec=e}}function $t(t,e,r){return(n,s,a,i)=>{if(r&&!r(n,s,a,i))return!1;let o=n>=i&&s<=i+a.length?a.slice(n-i,s-i):e.doc.sliceString(n,s);return t(o,e,n,s)}}function $(t,e,r,n){let s;return t.wholeWord&&(s=Ft(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(s=$t(t.test,e,s)),new _(e.doc,t.unquoted,r,n,t.caseSensitive?void 0:a=>a.toLowerCase(),s)}function Ft(t,e){return(r,n,s,a)=>((a>r||a+s.length<n)&&(a=Math.max(0,r-2),s=t.sliceString(a,Math.min(t.length,n+2))),(e(Q(s,r-a))!=M.Word||e(Z(s,r-a))!=M.Word)&&(e(Z(s,n-a))!=M.Word||e(Q(s,n-a))!=M.Word))}class Wt extends Re{constructor(e){super(e)}nextMatch(e,r,n){let s=$(this.spec,e,n,e.doc.length).nextOverlapping();if(s.done){let a=Math.min(e.doc.length,r+this.spec.unquoted.length);s=$(this.spec,e,0,a).nextOverlapping()}return s.done||s.value.from==r&&s.value.to==n?null:s.value}prevMatchInRange(e,r,n){for(let s=n;;){let a=Math.max(r,s-1e4-this.spec.unquoted.length),i=$(this.spec,e,a,s),o=null;for(;!i.nextOverlapping().done;)o=i.value;if(o)return o;if(a==r)return null;s-=1e4}}prevMatch(e,r,n){let s=this.prevMatchInRange(e,0,r);return s||(s=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length)),s&&(s.from!=r||s.to!=n)?s:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,r){let n=$(this.spec,e,0,e.doc.length),s=[];for(;!n.next().done;){if(s.length>=r)return null;s.push(n.value)}return s}highlight(e,r,n,s){let a=$(this.spec,e,Math.max(0,r-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}function Pt(t,e,r){return(n,s,a)=>(!r||r(n,s,a))&&t(a[0],e,n,s)}function F(t,e,r,n){let s;return t.wholeWord&&(s=Dt(e.charCategorizer(e.selection.main.head))),t.test&&(s=Pt(t.test,e,s)),new Me(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:s},r,n)}function Q(t,e){return t.slice(ke(t,e,!1),e)}function Z(t,e){return t.slice(e,ke(t,e))}function Dt(t){return(e,r,n)=>!n[0].length||(t(Q(n.input,n.index))!=M.Word||t(Z(n.input,n.index))!=M.Word)&&(t(Z(n.input,n.index+n[0].length))!=M.Word||t(Q(n.input,n.index+n[0].length))!=M.Word)}class _t extends Re{nextMatch(e,r,n){let s=F(this.spec,e,n,e.doc.length).next();return s.done&&(s=F(this.spec,e,0,r).next()),s.done?null:s.value}prevMatchInRange(e,r,n){for(let s=1;;s++){let a=Math.max(r,n-s*1e4),i=F(this.spec,e,a,n),o=null;for(;!i.next().done;)o=i.value;if(o&&(a==r||o.from>a+10))return o;if(a==r)return null}}prevMatch(e,r,n){return this.prevMatchInRange(e,0,r)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(r,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let s=n.length;s>0;s--){let a=+n.slice(0,s);if(a>0&&a<e.match.length)return e.match[a]+n.slice(s)}return r})}matchAll(e,r){let n=F(this.spec,e,0,e.doc.length),s=[];for(;!n.next().done;){if(s.length>=r)return null;s.push(n.value)}return s}highlight(e,r,n,s){let a=F(this.spec,e,Math.max(0,r-250),Math.min(n+250,e.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const B=V.define(),ie=V.define(),L=Se.define({create(t){return new X(ne(t).create(),null)},update(t,e){for(let r of e.effects)r.is(B)?t=new X(r.value.create(),t.panel):r.is(ie)&&(t=new X(t.query,r.value?oe:null));return t},provide:t=>Ze.from(t,e=>e.panel)});class X{constructor(e,r){this.query=e,this.panel=r}}const Bt=R.mark({class:"cm-searchMatch"}),It=R.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Tt=Je.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(L))}update(t){let e=t.state.field(L);(e!=t.startState.field(L)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return R.none;let{view:r}=this,n=new Xe;for(let s=0,a=r.visibleRanges,i=a.length;s<i;s++){let{from:o,to:l}=a[s];for(;s<i-1&&l>a[s+1].from-500;)l=a[++s].to;t.highlight(r.state,o,l,(c,m)=>{let w=r.state.selection.ranges.some(k=>k.from==c&&k.to==m);n.add(c,m,w?It:Bt)})}return n.finish()}},{decorations:t=>t.decorations});function I(t){return e=>{let r=e.state.field(L,!1);return r&&r.query.spec.valid?t(e,r):$e(e)}}const G=I((t,{query:e})=>{let{to:r}=t.state.selection.main,n=e.nextMatch(t.state,r,r);if(!n)return!1;let s=S.single(n.from,n.to),a=t.state.facet(q);return t.dispatch({selection:s,effects:[le(t,n),a.scrollToMatch(s.main,t)],userEvent:"select.search"}),Ae(t),!0}),U=I((t,{query:e})=>{let{state:r}=t,{from:n}=r.selection.main,s=e.prevMatch(r,n,n);if(!s)return!1;let a=S.single(s.from,s.to),i=t.state.facet(q);return t.dispatch({selection:a,effects:[le(t,s),i.scrollToMatch(a.main,t)],userEvent:"select.search"}),Ae(t),!0}),jt=I((t,{query:e})=>{let r=e.matchAll(t.state,1e3);return!r||!r.length?!1:(t.dispatch({selection:S.create(r.map(n=>S.range(n.from,n.to))),userEvent:"select.search.matches"}),!0)}),zt=({state:t,dispatch:e})=>{let r=t.selection;if(r.ranges.length>1||r.main.empty)return!1;let{from:n,to:s}=r.main,a=[],i=0;for(let o=new _(t.doc,t.sliceDoc(n,s));!o.next().done;){if(a.length>1e3)return!1;o.value.from==n&&(i=a.length),a.push(S.range(o.value.from,o.value.to))}return e(t.update({selection:S.create(a,i),userEvent:"select.search.matches"})),!0},pe=I((t,{query:e})=>{let{state:r}=t,{from:n,to:s}=r.selection.main;if(r.readOnly)return!1;let a=e.nextMatch(r,n,n);if(!a)return!1;let i=a,o=[],l,c,m=[];i.from==n&&i.to==s&&(c=r.toText(e.getReplacement(i)),o.push({from:i.from,to:i.to,insert:c}),i=e.nextMatch(r,i.from,i.to),m.push(g.announce.of(r.phrase("replaced match on line $",r.doc.lineAt(n).number)+".")));let w=t.state.changes(o);return i&&(l=S.single(i.from,i.to).map(w),m.push(le(t,i)),m.push(r.facet(q).scrollToMatch(l.main,t))),t.dispatch({changes:w,selection:l,effects:m,userEvent:"input.replace"}),!0}),Ot=I((t,{query:e})=>{if(t.state.readOnly)return!1;let r=e.matchAll(t.state,1e9).map(s=>{let{from:a,to:i}=s;return{from:a,to:i,insert:e.getReplacement(s)}});if(!r.length)return!1;let n=t.state.phrase("replaced $ matches",r.length)+".";return t.dispatch({changes:r,effects:g.announce.of(n),userEvent:"input.replace.all"}),!0});function oe(t){return t.state.facet(q).createPanel(t)}function ne(t,e){var r,n,s,a,i;let o=t.selection.main,l=o.empty||o.to>o.from+100?"":t.sliceDoc(o.from,o.to);if(e&&!l)return e;let c=t.facet(q);return new Ee({search:((r=e==null?void 0:e.literal)!==null&&r!==void 0?r:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(n=e==null?void 0:e.caseSensitive)!==null&&n!==void 0?n:c.caseSensitive,literal:(s=e==null?void 0:e.literal)!==null&&s!==void 0?s:c.literal,regexp:(a=e==null?void 0:e.regexp)!==null&&a!==void 0?a:c.regexp,wholeWord:(i=e==null?void 0:e.wholeWord)!==null&&i!==void 0?i:c.wholeWord})}function qe(t){let e=ve(t,oe);return e&&e.dom.querySelector("[main-field]")}function Ae(t){let e=qe(t);e&&e==t.root.activeElement&&e.select()}const $e=t=>{let e=t.state.field(L,!1);if(e&&e.panel){let r=qe(t);if(r&&r!=t.root.activeElement){let n=ne(t.state,e.query.spec);n.valid&&t.dispatch({effects:B.of(n)}),r.focus(),r.select()}}else t.dispatch({effects:[ie.of(!0),e?B.of(ne(t.state,e.query.spec)):V.appendConfig.of(se)]});return!0},Fe=t=>{let e=t.state.field(L,!1);if(!e||!e.panel)return!1;let r=ve(t,oe);return r&&r.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:ie.of(!1)}),!0},Nt=[{key:"Mod-f",run:$e,scope:"editor search-panel"},{key:"F3",run:G,shift:U,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:G,shift:U,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Fe,scope:"editor search-panel"},{key:"Mod-Shift-l",run:zt},{key:"Mod-Alt-g",run:Lt},{key:"Mod-d",run:qt,preventDefault:!0}];class Kt{constructor(e){this.view=e;let r=this.query=e.state.field(L).query.spec;this.commit=this.commit.bind(this),this.searchField=y("input",{value:r.search,placeholder:b(e,"Find"),"aria-label":b(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=y("input",{value:r.replace,placeholder:b(e,"Replace"),"aria-label":b(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=y("input",{type:"checkbox",name:"case",form:"",checked:r.caseSensitive,onchange:this.commit}),this.reField=y("input",{type:"checkbox",name:"re",form:"",checked:r.regexp,onchange:this.commit}),this.wordField=y("input",{type:"checkbox",name:"word",form:"",checked:r.wholeWord,onchange:this.commit});function n(s,a,i){return y("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=y("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,n("next",()=>G(e),[b(e,"next")]),n("prev",()=>U(e),[b(e,"previous")]),n("select",()=>jt(e),[b(e,"all")]),y("label",null,[this.caseField,b(e,"match case")]),y("label",null,[this.reField,b(e,"regexp")]),y("label",null,[this.wordField,b(e,"by word")]),...e.state.readOnly?[]:[y("br"),this.replaceField,n("replace",()=>pe(e),[b(e,"replace")]),n("replaceAll",()=>Ot(e),[b(e,"replace all")])],y("button",{name:"close",onclick:()=>Fe(e),"aria-label":b(e,"close"),type:"button"},["×"])])}commit(){let e=new Ee({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:B.of(e)}))}keydown(e){tt(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?U:G)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),pe(this.view))}update(e){for(let r of e.transactions)for(let n of r.effects)n.is(B)&&!n.value.eq(this.query)&&this.setQuery(n.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(q).top}}function b(t,e){return t.state.phrase(e)}const z=30,O=/[\s\.,:;?!]/;function le(t,{from:e,to:r}){let n=t.state.doc.lineAt(e),s=t.state.doc.lineAt(r).to,a=Math.max(n.from,e-z),i=Math.min(s,r+z),o=t.state.sliceDoc(a,i);if(a!=n.from){for(let l=0;l<z;l++)if(!O.test(o[l+1])&&O.test(o[l])){o=o.slice(l);break}}if(i!=s){for(let l=o.length-1;l>o.length-z;l--)if(!O.test(o[l-1])&&O.test(o[l])){o=o.slice(0,l);break}}return g.announce.of(`${t.state.phrase("current match")}. ${o} ${t.state.phrase("on line")} ${n.number}.`)}const Qt=g.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),se=[L,Ge.low(Tt),Qt],me=[{name:"domain",detail:"business domain (namespace)"},{name:"owner",detail:"accountable owner — required to certify"},{name:"description",detail:"business-facing description"},{name:"status",detail:"draft | certified"},{name:"pattern",detail:"reusable block pattern"},{name:"grain",detail:'row grain, e.g. "one row per customer"'},{name:"outputs",detail:"declared output column names"},{name:"entities",detail:'business entities, e.g. ["order"]'},{name:"tags",detail:"discoverability tags"},{name:"llmContext",detail:"when an agent should use this block"},{name:"reviewCadence",detail:"how often to re-review"},{name:"sourceSystems",detail:"upstream source systems"},{name:"dimensions",detail:"queryable dimensions"},{name:"allowedFilters",detail:"filters an app may bind"},{name:"filterBindings",detail:"filter → column map (app-ready)",snippet:`filterBindings {
|
|
3
3
|
$0
|
|
4
4
|
}`},{name:"parameterPolicy",detail:"per-parameter reuse policy",snippet:`parameterPolicy {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t,r as f,aC as O,aD as x,aE as S,q as C,p as L}from"./index-
|
|
1
|
+
import{j as t,r as f,aC as O,aD as x,aE as S,q as C,p as L}from"./index-C9KfoqCR.js";import{R as D,u as N,a as T,d as z,M as _,i as F,B as G,H as b,c as m}from"./style-D6AlWDHX.js";import{T as v}from"./dagre.esm-B6nvU4OB.js";function A(e,c,a={}){var s;if(e.length===0)return e;const n=new v.graphlib.Graph().setDefaultEdgeLabel(()=>({}));n.setGraph({rankdir:"LR",ranksep:60,nodesep:30,marginx:20,marginy:20});for(const o of e){const i={width:170,height:52};if(a.mode==="layered"&&((s=o.data)!=null&&s.layer)){const d=S.indexOf(o.data.layer);d>=0&&(i.rank=d)}n.setNode(o.id,i)}for(const o of c)n.setEdge(o.source,o.target);return v.layout(n),e.map(o=>{const i=n.node(o.id);return{...o,position:{x:i.x-85,y:i.y-26}}})}function M({data:e,selected:c}){const a=e.nodeType,n=e.isFocal,s=L[a]??"var(--color-text-tertiary)",o=C[a]??a.toUpperCase();return t.jsxs("div",{style:{minWidth:140,maxWidth:190,background:"var(--color-bg-card)",border:`2px solid ${n||c?"var(--color-accent-blue)":s}`,borderRadius:8,padding:"6px 8px",boxShadow:n?"0 0 0 2px color-mix(in srgb, var(--color-accent-blue) 25%, transparent)":"none"},children:[t.jsx(b,{type:"target",position:m.Left,style:{width:6,height:6,background:s,border:"none"}}),t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4,marginBottom:2},children:[t.jsx("span",{style:{fontSize:8,fontWeight:700,letterSpacing:"0.04em",color:"var(--color-bg-card)",background:s,borderRadius:3,padding:"1px 4px"},children:o}),e.domain&&t.jsx("span",{style:{color:"var(--color-text-tertiary)",fontSize:9},children:e.domain})]}),t.jsx("div",{style:{color:"var(--color-text-primary)",fontSize:10,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.label,children:e.label}),t.jsx(b,{type:"source",position:m.Right,style:{width:6,height:6,background:s,border:"none"}})]})}const W={miniDagNode:M};function B({nodes:e,edges:c,focalNodeId:a,height:n=250,onNodeClick:s,interactive:o=!0,layoutMode:i="flow",fitViewPadding:d=.15}){const[E,h,R]=N([]),[w,y,j]=T([]),{fitView:p}=z(),u=f.useRef(null);return f.useEffect(()=>{const g=e.map(r=>({id:r.id,type:"miniDagNode",position:{x:0,y:0},data:{label:r.name,nodeType:r.type,domain:r.domain,layer:O(r),isFocal:r.id===a}})),l=c.map((r,k)=>({id:`mini-edge-${k}-${r.source}-${r.target}`,source:r.source,target:r.target,style:{stroke:x[r.type]??"#8b949e",strokeWidth:1.4},markerEnd:{type:_.ArrowClosed,color:x[r.type]??"#8b949e",width:10,height:10}}));h(A(g,l,{mode:i})),y(l),requestAnimationFrame(()=>{p({padding:d,duration:200})})},[e,c,a,i,d,h,y,p]),f.useEffect(()=>{if(!u.current)return;const g=u.current,l=new ResizeObserver(()=>{p({padding:d,duration:0})});return l.observe(g),()=>l.disconnect()},[p,d]),e.length===0?t.jsx("div",{style:{height:n,display:"flex",alignItems:"center",justifyContent:"center",color:"var(--color-text-tertiary)",fontSize:11},children:"No lineage nodes to display"}):t.jsx("div",{ref:u,style:{height:n,width:"100%",borderRadius:8,overflow:"hidden",border:"1px solid var(--color-border-subtle)"},children:t.jsx(F,{nodes:E,edges:w,onNodesChange:o?R:void 0,onEdgesChange:o?j:void 0,onNodeClick:s?(g,l)=>s(l.id):void 0,nodeTypes:W,fitView:!0,fitViewOptions:{padding:d},minZoom:.25,proOptions:{hideAttribution:!0},nodesDraggable:o,nodesConnectable:!1,zoomOnScroll:o,panOnDrag:o,style:{background:"var(--color-bg-sunken)"},children:t.jsx(G,{color:"var(--color-border-subtle)",gap:20,size:1})})})}function q(e){return t.jsx(D,{children:t.jsx(B,{...e})})}export{q as M};
|
package/dist/assets/dql-notebook/assets/{NewBlockModal-kMAzk91d.js → NewBlockModal-C9MKCa6R.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as w,t as z,r as l,V as O,j as t,a as D}from"./index-
|
|
1
|
+
import{u as w,t as z,r as l,V as O,j as t,a as D}from"./index-C9KfoqCR.js";import"./react-CRB3T2We.js";function F(s,i,a,e){var d;const n=a.trim().replace(/\\/g,"/").replace(/^\/+|\/+$/g,""),p=`${n?`${n}/`:""}${e}.dql`;if(!i)return`blocks/${p}`;const r=s.find(g=>g.id===i),c=(d=r==null?void 0:r.sourcePath)==null?void 0:d.replace(/\/domain\.dql$/,"");return c?`${c}/blocks/${p}`:`blocks/${i}/${p}`}function v(s){return s.toLowerCase().replace(/[^a-z0-9\-_\s]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").slice(0,64)}function _(s){return s.trim()?/^[a-zA-Z0-9\-_ ]+$/.test(s)?null:"Only letters, numbers, hyphens, underscores, and spaces allowed.":"Name is required."}function R({onFileOpened:s}){const{state:i,dispatch:a}=w(),e=z[i.themeMode],[n,p]=l.useState(""),[r,c]=l.useState(i.newBlockModalDefaultType),[d,g]=l.useState(""),[x,E]=l.useState(""),[y,u]=l.useState(null),[m,h]=l.useState(!1),k=l.useRef(null);l.useEffect(()=>{var o;(o=k.current)==null||o.focus()},[]);const S=i.authoredDomains,L=O(S);l.useEffect(()=>{c(i.newBlockModalDefaultType)},[i.newBlockModalDefaultType]),l.useEffect(()=>{const o=b=>{b.key==="Escape"&&a({type:"CLOSE_NEW_BLOCK_MODAL"})};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[a]);const B=async()=>{var j;const o=_(n);if(o){u(o);return}h(!0),u(null);const b=v(n);try{const f=await D.createBlock(n.trim(),{blockType:r,...d?{domain:d}:{},...x.trim()?{folderPath:x.trim()}:{}}),C={name:`${b}.dql`,path:f.path,type:"block",folder:f.path.split("/").slice(0,-1).join("/"),isNew:!0};a({type:"FILE_ADDED",file:C}),a({type:"CLOSE_NEW_BLOCK_MODAL"}),s(C)}catch(f){(j=f.message)!=null&&j.includes("already exists")?u("A block with this name already exists."):u(f.message??"Failed to create block.")}finally{h(!1)}},$=o=>{o.target===o.currentTarget&&a({type:"CLOSE_NEW_BLOCK_MODAL"})};return t.jsx("div",{onClick:$,style:{position:"fixed",inset:0,background:e.modalOverlay,display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3,backdropFilter:"blur(4px)"},children:t.jsxs("div",{style:{background:e.modalBg,border:`1px solid ${e.cellBorder}`,borderRadius:12,width:420,maxWidth:"calc(100vw - 48px)",boxShadow:"0 20px 60px rgba(0,0,0,0.5)",overflow:"hidden"},children:[t.jsxs("div",{style:{padding:"20px 24px 0",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[t.jsx("h2",{style:{fontSize:16,fontWeight:600,color:e.textPrimary,fontFamily:e.font,margin:0},children:"New Block"}),t.jsx("button",{onClick:()=>a({type:"CLOSE_NEW_BLOCK_MODAL"}),style:{background:"transparent",border:"none",cursor:"pointer",color:e.textMuted,fontSize:18,lineHeight:1,padding:"2px 4px",borderRadius:4},children:"×"})]}),t.jsxs("div",{style:{padding:"20px 24px 24px",display:"flex",flexDirection:"column",gap:16},children:[t.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[t.jsxs("button",{type:"button",onClick:()=>c("custom"),style:{background:r==="custom"?`${e.accent}18`:e.btnBg,border:`1px solid ${r==="custom"?e.accent:e.btnBorder}`,borderRadius:8,color:r==="custom"?e.accent:e.textSecondary,cursor:"pointer",fontSize:12,fontWeight:700,fontFamily:e.font,padding:"10px 12px",textAlign:"left"},children:["SQL Block",t.jsx("span",{style:{display:"block",marginTop:3,color:e.textMuted,fontWeight:400,fontSize:11},children:"Build from dbt models, tables, and SELECT queries."})]}),t.jsxs("button",{type:"button",onClick:()=>c("semantic"),style:{background:r==="semantic"?`${e.accent}18`:e.btnBg,border:`1px solid ${r==="semantic"?e.accent:e.btnBorder}`,borderRadius:8,color:r==="semantic"?e.accent:e.textSecondary,cursor:"pointer",fontSize:12,fontWeight:700,fontFamily:e.font,padding:"10px 12px",textAlign:"left"},children:["Semantic Block",t.jsx("span",{style:{display:"block",marginTop:3,color:e.textMuted,fontWeight:400,fontSize:11},children:"Build from dbt/DQL metrics and dimensions."})]})]}),t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[t.jsx("label",{style:{fontSize:12,fontWeight:500,color:e.textSecondary,fontFamily:e.font},children:"Block Name"}),t.jsx("input",{ref:k,value:n,onChange:o=>{p(o.target.value),u(null)},onKeyDown:o=>{o.key==="Enter"&&B()},placeholder:"revenue-summary",style:{background:e.inputBg,border:`1px solid ${y?e.error:e.inputBorder}`,borderRadius:6,color:e.textPrimary,fontSize:13,fontFamily:e.font,padding:"8px 12px",outline:"none",transition:"border-color 0.15s"}}),y&&t.jsx("span",{style:{fontSize:11,color:e.error,fontFamily:e.font},children:y}),n&&!y&&t.jsxs("span",{style:{fontSize:11,color:e.textMuted,fontFamily:e.fontMono},children:["Git path: ",F(S,d,x,v(n))]})]}),t.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[t.jsxs("label",{style:{display:"grid",gap:6,fontSize:12,fontWeight:500,color:e.textSecondary,fontFamily:e.font},children:["Domain",t.jsxs("select",{"aria-label":"Block domain",value:d,onChange:o=>g(o.target.value),style:{background:e.inputBg,border:`1px solid ${e.inputBorder}`,borderRadius:6,color:e.textPrimary,fontSize:13,fontFamily:e.font,padding:"8px 10px",outline:"none"},children:[t.jsx("option",{value:"",children:"Global / cross-domain"}),L.map(o=>t.jsx("option",{value:o.value,children:o.label},o.value))]})]}),t.jsxs("label",{style:{display:"grid",gap:6,fontSize:12,fontWeight:500,color:e.textSecondary,fontFamily:e.font},children:["Folder",t.jsx("input",{"aria-label":"Block folder",value:x,onChange:o=>E(o.target.value),placeholder:"reporting/monthly",style:{background:e.inputBg,border:`1px solid ${e.inputBorder}`,borderRadius:6,color:e.textPrimary,fontSize:13,fontFamily:e.fontMono,padding:"8px 10px",outline:"none"}})]})]}),t.jsx("div",{style:{fontSize:12,color:e.textMuted,fontFamily:e.font,lineHeight:1.5,padding:"8px 12px",background:e.pillBg,borderRadius:6},children:r==="semantic"?"Semantic blocks use governed metrics, dimensions, and chart intent. They do not start with raw SQL.":"SQL blocks are reusable SELECT queries stored in the blocks/ folder. Use them for dbt models, tables, and imported SQL."})]}),t.jsxs("div",{style:{padding:"14px 24px",borderTop:`1px solid ${e.cellBorder}`,display:"flex",justifyContent:"flex-end",gap:10},children:[t.jsx("button",{onClick:()=>a({type:"CLOSE_NEW_BLOCK_MODAL"}),style:{background:e.btnBg,border:`1px solid ${e.btnBorder}`,borderRadius:6,color:e.textSecondary,cursor:"pointer",fontSize:13,fontFamily:e.font,fontWeight:500,padding:"7px 16px"},children:"Cancel"}),t.jsx("button",{onClick:B,disabled:m||!n.trim(),style:{background:e.accent,border:`1px solid ${e.accent}`,borderRadius:6,color:"#ffffff",cursor:m||!n.trim()?"not-allowed":"pointer",fontSize:13,fontFamily:e.font,fontWeight:500,padding:"7px 20px",opacity:m||!n.trim()?.6:1,display:"flex",alignItems:"center",gap:6},children:m?"Creating...":"Create Block"})]})]})})}export{R as NewBlockModal};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as v,m as i,u as M,t as D,r as d,V as N,j as t,l as B,a as T}from"./index-
|
|
1
|
+
import{c as v,m as i,u as M,t as D,r as d,V as N,j as t,l as B,a as T}from"./index-C9KfoqCR.js";import{B as k}from"./book-open-text-BD3-ATYI.js";import{X as q}from"./x-BhTl5gZs.js";import"./react-CRB3T2We.js";/**
|
|
2
2
|
* @license lucide-react v0.563.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
package/dist/assets/dql-notebook/assets/{NotebookEditor-Bax0lxaz.js → NotebookEditor-Bh39Vsg0.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as E,c as Ht,n as xn,r as l,a as Q,u as Pe,t as se,B as Ds,F as gn,o as yn,m as Se,p as We,q as Ps,s as Ms,v as ms,D as vt,w as fs,x as ar,y as hs,z as Rr,A as Ar,E as Sr,H as lr,I as Ir,R as Yt,h as Fe,i as at,k as Vt,J as Kt,K as BE,M as Us,O as xs,l as Gn,S as qe,b as Ne,Q as gs,g as ys,U as Gs,V as Bs,W as Or,X as bs,Y as Fs,Z as Hs,_ as Nr,$ as vs,a0 as Ys,T as Vs,P as Ws}from"./index-
|
|
1
|
+
import{j as E,c as Ht,n as xn,r as l,a as Q,u as Pe,t as se,B as Ds,F as gn,o as yn,m as Se,p as We,q as Ps,s as Ms,v as ms,D as vt,w as fs,x as ar,y as hs,z as Rr,A as Ar,E as Sr,H as lr,I as Ir,R as Yt,h as Fe,i as at,k as Vt,J as Kt,K as BE,M as Us,O as xs,l as Gn,S as qe,b as Ne,Q as gs,g as ys,U as Gs,V as Bs,W as Or,X as bs,Y as Fs,Z as Hs,_ as Nr,$ as vs,a0 as Ys,T as Vs,P as Ws}from"./index-C9KfoqCR.js";import{B as cr}from"./book-open-text-BD3-ATYI.js";import{A as ws}from"./arrow-right-BP5vPPNo.js";import{W as Xs}from"./workflow-0NUwpoQ4.js";import{L as dr,S as ks}from"./LineagePathBreadcrumb-BZ7EcIxp.js";import{f as ot,a as Tt,b as Cr,c as Wt,M as js}from"./semantic-fields-EorgHwAj.js";import{c as $s,i as Ks,C as wt,r as bE,T as FE,a as ME,u as qs}from"./usePersistedAgentThreadId-B5pTglEr.js";import{U as Bn,S as Js,B as bn,a as Qs}from"./UnifiedAgentRunPanel-BexNjqJd.js";import{c as nt,N as Lr,u as zs,f as It}from"./answer-to-notebook-zHFOdR6E.js";import{M as Zs}from"./MiniLineageGraph-Be_kqIq2.js";import{L as Fn}from"./link-2-5s0hUu6w.js";import{X as Hn}from"./x-BhTl5gZs.js";import{T as _r}from"./triangle-alert-D1WefIrN.js";import{g as eo}from"./react-CRB3T2We.js";import{M as to,A as Eo,c as ro}from"./AiSidePanel-D7fFBhgc.js";import{U as no}from"./upload-CFJjpPL4.js";import{u as so}from"./AiBuildResult-BImB4Wej.js";import{C as oo}from"./clock-3-DLV5puGW.js";import"./codemirror-DXt7RW72.js";import"./TrustBadge-D1CGSj0Y.js";import"./wrench-QNiznShi.js";import"./user-round-DL6DLw0m.js";import"./list-tree-67yz_uCY.js";import"./minimize-2-BJw5tlPC.js";import"./style-D6AlWDHX.js";import"./dagre.esm-B6nvU4OB.js";import"./rotate-ccw-RvwtBcw9.js";function vn({typeLabel:e,typeColor:t,accent:r,idleBorder:n,background:s,headerBackground:T,active:i=!1,title:o,status:S,actions:a,toolbar:A,subheader:R,footer:N,children:O,onMouseEnter:c,onMouseLeave:C,onClick:I,gutter:d,className:L,style:f}){const v=t??"var(--color-accent-blue, #388bfd)",U=r??n??"var(--color-border-subtle, rgba(148,163,184,0.18))",F=n??"var(--color-border-subtle, rgba(148,163,184,0.18))",h=s??"var(--color-bg-1, rgba(22,27,34,0.5))",p=T??"transparent";return E.jsxs("div",{onMouseEnter:c,onMouseLeave:C,onClick:I,className:L,style:{display:"flex",gap:0,marginBottom:2,...f},children:[d!==void 0&&d,E.jsxs("div",{style:{flex:1,minWidth:0,borderRadius:8,border:`1px solid ${i?U:F}`,background:h,overflow:"hidden",transition:"border-color 0.2s, box-shadow 0.2s",boxShadow:i?`0 0 0 3px ${v}14, 0 1px 2px rgba(0,0,0,0.04)`:"0 1px 2px rgba(0,0,0,0.02)"},children:[E.jsxs("div",{style:{minHeight:32,display:"flex",alignItems:"center",padding:"8px 14px",gap:8,background:p},children:[E.jsx("span",{"aria-hidden":!0,style:{width:6,height:6,borderRadius:999,background:v,flexShrink:0}}),E.jsx("span",{style:{fontSize:11,fontWeight:500,letterSpacing:"0.2px",color:"var(--color-text-secondary, #4a4a52)",flexShrink:0,whiteSpace:"nowrap"},children:e}),o!==void 0&&E.jsxs(E.Fragment,{children:[E.jsx("span",{style:{color:"var(--color-text-tertiary, #8a8d96)",fontSize:11},children:"·"}),o]}),A!==void 0&&A,E.jsx("span",{style:{flex:1}}),S!==void 0&&S,a!==void 0&&a]}),R!==void 0&&R,O,N!==void 0&&N]})]})}/**
|
|
2
2
|
* @license lucide-react v0.563.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
package/dist/assets/dql-notebook/assets/{ReadinessPage-DEUIXQQY.js → ReadinessPage-jKOBKkED.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as G,i as H,k as _,r as n,a as R,j as e,S as q,a0 as P,aJ as Q,L as N,l as V,d as U,e as J,B as K,f as X}from"./index-D3wnucQC.js";import{T as Y}from"./TrustBadge-D5CGp0cu.js";import{o as O}from"./ai-build-bus-1BR770pY.js";import{W as M}from"./wand-sparkles-CAwLX0b9.js";import{U as Z,G as ee}from"./user-round-DukNupB_.js";import{T as B}from"./triangle-alert-BPHvH1wA.js";import{A as se}from"./arrow-right-C7G3M_S8.js";import"./react-CRB3T2We.js";function Re(){const s=G(H(t=>({files:t.files}))),c=_(),[o,u]=n.useState(null),[w,x]=n.useState(!0),[p,f]=n.useState(new Set),[l,k]=n.useState(!1),[T,z]=n.useState(null),[W,C]=n.useState(null);n.useEffect(()=>{let t=!1;return R.getIdentity().then(r=>{!t&&(r!=null&&r.owner)&&C(r.owner)}).catch(()=>{}),()=>{t=!0}},[]);const I=n.useCallback(async(t,r)=>{const i={name:t.split("/").pop()??`${r}.dql`,path:t,type:"block",folder:"blocks"};s.files.some(a=>a.path===t)||c({type:"FILE_ADDED",file:i});const y=await R.openBlockStudio(t);c({type:"OPEN_BLOCK_STUDIO",file:i,payload:y})},[c,s.files]),b=n.useCallback(()=>{let t=!1;return x(!0),R.getProposeReadiness().then(r=>{if(t)return;u(r);const i=r.ready?r.plan.domains.flatMap(y=>y.candidates.map(a=>a.slug)):[];f(new Set(i))}).catch(()=>{t||u(null)}).finally(()=>{t||x(!1)}),()=>{t=!0}},[]);n.useEffect(()=>b(),[b]);const m=n.useCallback(()=>{c({type:"SET_MAIN_VIEW",view:"block_studio"})},[c]),D=n.useCallback(t=>{f(r=>{const i=new Set(r);return i.has(t)?i.delete(t):i.add(t),i})},[]),v=n.useCallback(t=>{f(r=>{const i=new Set(r),y=t.candidates.map(g=>g.slug),a=y.every(g=>i.has(g));for(const g of y)a?i.delete(g):i.add(g);return i})},[]),L=n.useCallback(async()=>{const t=[...p];if(t.length!==0){k(!0),z(null);try{const r=await R.generateProposeDrafts({slugs:t});if(!r.ready){z(r.reason??"Could not generate drafts.");return}const i=r.proposals.find(y=>y.path);i!=null&&i.path?I(i.path,i.slug):m()}catch(r){z(r instanceof Error?r.message:String(r))}finally{k(!1)}}},[p,m,I]),d=o==null?void 0:o.summary,h=o!=null&&o.ready?o.plan:null;return e.jsx("div",{style:{flex:1,minWidth:0,overflow:"auto"},children:e.jsxs("div",{style:{maxWidth:980,margin:"0 auto",padding:"22px 28px 40px",display:"grid",gap:16},children:[e.jsxs("header",{style:{display:"grid",gap:6},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e.jsx(q,{size:20}),e.jsx("div",{style:{fontSize:22,fontWeight:750},children:"Get started"}),e.jsx("div",{style:{flex:1}}),e.jsxs("button",{type:"button",onClick:()=>O({target:"block",lockTarget:!0,sourceLabel:"Describe a block to draft from your project context."}),style:ye,children:[e.jsx(M,{size:14})," Ask AI to build a block"]})]}),e.jsx("div",{style:{fontSize:13,opacity:.72,maxWidth:760,lineHeight:1.55},children:d!=null&&d.modelsScanned?`I scanned your dbt project and found ${d.businessModels} ${d.businessModels===1?"thing":"things"} worth governing — here's what each one does. Expand a row to see the SQL it would run and what's still missing to certify. Plumbing and low-value models are left out. Nothing is drafted or certified until you approve it.`:"I scanned your dbt project for the business models worth governing — here's what each one does. Expand a row to see the SQL it would run and what's still missing to certify. Nothing is drafted or certified until you approve it."}),W?e.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11.5,opacity:.62},children:[e.jsx(Z,{size:12})," drafting as ",W]}):null,e.jsxs("button",{type:"button",onClick:()=>c({type:"SET_MAIN_VIEW",view:"skills"}),style:{display:"inline-flex",alignItems:"center",gap:6,alignSelf:"start",marginTop:2,padding:0,border:"none",background:"transparent",color:"var(--color-accent-blue, #6b5dd3)",fontSize:12,fontWeight:650,cursor:"pointer"},children:[e.jsx(ee,{size:13})," Teach the AI your business rules →"]})]}),w?e.jsx("div",{style:E,children:"Classifying dbt models and planning the business seed…"}):o?o.ready?e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:10},children:[e.jsx(S,{label:"dbt models scanned",value:d.modelsScanned}),e.jsx(S,{label:"Business models",value:d.businessModels,tone:"success"}),e.jsx(S,{label:"Plumbing excluded",value:d.plumbingExcluded}),e.jsx(S,{label:"Metrics found",value:d.metricsFound})]}),d.reviewTelemetry&&d.reviewTelemetry.existingDrafts>0?e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:10},children:[e.jsx(S,{label:"Drafts ready for review",value:`${Math.round((d.reviewTelemetry.readyForReviewRate??0)*100)}%`,tone:"success"}),e.jsx(S,{label:"Median draft age",value:d.reviewTelemetry.medianReviewAgeHours!=null?`${d.reviewTelemetry.medianReviewAgeHours.toFixed(1)}h`:"—"}),e.jsx(S,{label:"Est. review time",value:`~${d.reviewTelemetry.estimatedReviewMinutes} min`})]}):null,e.jsxs("div",{style:he,children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e.jsx(Q,{size:16}),e.jsxs("div",{style:{fontSize:13},children:[e.jsxs("strong",{children:["Will generate ",p.size]}),e.jsxs("span",{style:{opacity:.65},children:[" ","of ",h.willGenerate," planned · skipping ",h.willSkip," · ≤ ",h.config.maxPerDomain," per domain"]})]})]}),e.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[e.jsxs("button",{type:"button",onClick:b,style:$,children:[e.jsx(P,{size:13})," Refresh"]}),e.jsxs("button",{type:"button",onClick:()=>void L(),disabled:l||p.size===0,style:{...me,opacity:l||p.size===0?.6:1},children:[l?e.jsx(N,{size:13,className:"spin"}):e.jsx(V,{size:13}),l?"Generating…":e.jsxs(e.Fragment,{children:["Approve & generate ",p.size>0?`(${p.size})`:""]})]})]})]}),T?e.jsxs("div",{style:{...E,display:"flex",gap:8,alignItems:"center",borderColor:"var(--status-error, #cf222e)"},children:[e.jsx(B,{size:16})," ",T]}):null,e.jsx("div",{style:{display:"grid",gap:12},children:h.domains.length===0?e.jsxs("div",{style:E,children:["No business models found to govern. Tag a layer in ",e.jsx("code",{children:"dql.config.json"})," ","(",e.jsx("code",{children:"propose.businessLayers"}),") or add ",e.jsx("code",{children:"meta.dql.business"})," to your dbt models."]}):h.domains.map(t=>e.jsx(te,{domain:t,selected:p,onToggleSlug:D,onToggleDomain:v,onOpenInBlockStudio:I},t.name))}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsxs("button",{type:"button",onClick:m,style:be,children:["Open Block Studio ",e.jsx(se,{size:13})]})})]}):e.jsxs("div",{style:{...E,display:"flex",alignItems:"flex-start",gap:10},children:[e.jsx(B,{size:18,style:{flexShrink:0,marginTop:1}}),e.jsxs("div",{style:{display:"grid",gap:8},children:[e.jsx("div",{style:{fontWeight:650},children:"Not ready to propose yet"}),e.jsx("div",{style:{opacity:.8},children:o.reason}),e.jsxs("button",{type:"button",onClick:b,style:$,children:[e.jsx(P,{size:13})," Re-check"]})]})]}):e.jsx("div",{style:E,children:"Could not load readiness."})]})})}function te({domain:s,selected:c,onToggleSlug:o,onToggleDomain:u,onOpenInBlockStudio:w}){const x=s.candidates.map(l=>l.slug),p=x.every(l=>c.has(l)),f=x.some(l=>c.has(l));return e.jsxs("div",{style:oe,children:[e.jsxs("div",{style:ae,children:[e.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8,cursor:"pointer"},children:[e.jsx("input",{type:"checkbox",checked:p,ref:l=>{l&&(l.indeterminate=!p&&f)},onChange:()=>u(s)}),e.jsx("span",{style:{fontSize:13,fontWeight:700},children:s.name}),e.jsxs("span",{style:{fontSize:11,opacity:.6},children:[s.modelCount," model",s.modelCount===1?"":"s"]})]}),s.owner?e.jsxs("span",{style:{fontSize:11,opacity:.6},children:["owner ",s.owner]}):null]}),e.jsx("div",{style:{display:"grid",gap:6},children:s.candidates.map(l=>e.jsx(re,{candidate:l,checked:c.has(l.slug),onToggle:()=>o(l.slug),onOpenInBlockStudio:w},l.slug))})]})}function re({candidate:s,checked:c,onToggle:o,onOpenInBlockStudio:u}){const w=n.useMemo(()=>s.evidence.slice(0,3),[s.evidence]),[x,p]=n.useState(!1),[f,l]=n.useState(null),[k,T]=n.useState(!1),[z,W]=n.useState(null),[C,I]=n.useState(!1),[b,m]=n.useState(null),D=n.useCallback(()=>{p(a=>{const g=!a;return g&&!f&&!k&&(T(!0),W(null),R.proposePreview(s.slug).then(j=>l(j.candidate)).catch(j=>W(j instanceof Error?j.message:"Could not load the preview.")).finally(()=>T(!1))),g})},[s.slug,f,k]),v=f??s,L=v.sqlPreview,d=v.outputs??[],h=v.examples??[],t=v.certifierVerdict,r=v.description,i=n.useCallback(async()=>{I(!0),m(null);try{const a=await R.generateProposeDrafts({slugs:[s.slug]}),g=a.proposals.find(F=>F.slug===s.slug)??a.proposals[0],j=g==null?void 0:g.path;if(!j){m("No draft path was returned for this model yet.");return}await u(j,s.model)}catch(a){m(a instanceof Error?a.message:"Could not open this draft.")}finally{I(!1)}},[s.model,s.slug,u]),y=n.useCallback(()=>{O({target:"block",lockTarget:!0,prompt:`Refine the "${s.model}" block: ${r??`a ${s.pattern??"business"} model${s.grain?` at ${s.grain} grain`:""}`}.`,sourceLabel:`Refining ${s.model}`})},[s.grain,s.model,s.pattern,r]);return e.jsxs("div",{style:{...de,opacity:c?1:.7},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr) auto",gap:10,alignItems:"start"},children:[e.jsx("input",{type:"checkbox",checked:c,onChange:o,style:{marginTop:3},"aria-label":`Include ${s.model}`}),e.jsxs("div",{style:{display:"grid",gap:4,minWidth:0},children:[e.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[e.jsx("span",{style:{fontSize:14,fontWeight:700},children:s.model}),e.jsx(Y,{state:"ai_generated"}),s.pattern?e.jsx(le,{children:s.pattern}):null,s.grain?e.jsxs("span",{style:{fontSize:11,opacity:.6},children:["grain ",s.grain]}):null]}),w.length>0?e.jsxs("div",{style:{fontSize:11,opacity:.66},children:[e.jsx("span",{style:{opacity:.8},children:"why: "}),w.join(" · ")]}):null]}),e.jsxs("button",{type:"button",onClick:D,"aria-expanded":x,style:pe,children:[x?e.jsx(U,{size:13}):e.jsx(J,{size:13}),x?"Hide":"Details"]})]}),x?e.jsx("div",{style:ce,children:k?e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,opacity:.75},children:[e.jsx(N,{size:13,className:"spin"})," Loading the generated SQL and verdict…"]}):z?e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"var(--status-error, #cf222e)"},children:[e.jsx(B,{size:14})," ",z]}):e.jsxs(e.Fragment,{children:[r?e.jsx("div",{style:{fontSize:12,opacity:.82,lineHeight:1.5},children:r}):null,e.jsxs("div",{style:{display:"grid",gap:5},children:[e.jsx(A,{children:"SQL this block will run"}),L?e.jsx("pre",{style:ge,children:e.jsx("code",{style:{fontFamily:"var(--font-mono, monospace)",fontSize:11.5,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:L.trim()})}):e.jsx("div",{style:{fontSize:11.5,opacity:.6},children:"The generated SQL is not available for this model yet."})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12},children:[e.jsxs("div",{style:{display:"grid",gap:5,alignContent:"start"},children:[e.jsx(A,{children:"Outputs"}),d.length>0?e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:5},children:d.map(a=>e.jsx(ie,{children:a},a))}):e.jsx("div",{style:{fontSize:11,opacity:.6},children:"No declared outputs yet."})]}),e.jsxs("div",{style:{display:"grid",gap:5,alignContent:"start"},children:[e.jsx(A,{children:"Answers questions like"}),h.length>0?e.jsx("ul",{style:{margin:0,padding:"0 0 0 16px",display:"grid",gap:3},children:h.slice(0,3).map(a=>e.jsx("li",{style:{fontSize:11.5,opacity:.82,lineHeight:1.45},children:a},a))}):e.jsx("div",{style:{fontSize:11,opacity:.6},children:"No example questions yet."})]})]}),e.jsx(ne,{verdict:t}),e.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[e.jsxs("button",{type:"button",onClick:()=>void i(),disabled:C,style:{...ue,opacity:C?.65:1},children:[C?e.jsx(N,{size:13,className:"spin"}):e.jsx(K,{size:13}),C?"Opening…":"Open in Block Studio"]}),e.jsxs("button",{type:"button",onClick:y,style:xe,children:[e.jsx(M,{size:13})," Refine with AI"]})]}),b?e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11.5,color:"var(--status-error, #cf222e)"},children:[e.jsx(B,{size:13})," ",b]}):null]})}):null]})}function ne({verdict:s}){const c=!!(s!=null&&s.ready&&s.blocking.length===0),o=s?[...s.blocking,...s.warnings]:[];return e.jsxs("div",{style:{display:"grid",gap:5},children:[e.jsx(A,{children:"What's missing to certify"}),c?e.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:12,color:"var(--status-success, #1f883d)"},children:[e.jsx(X,{size:14})," Grain, outputs, and context are set."]}):e.jsxs("div",{style:{display:"grid",gap:4},children:[e.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:12,color:"var(--status-warning, #9a6700)"},children:[e.jsx(B,{size:14})," Needs an owner and passing tests before it can be certified."]}),o.length>0?e.jsx("ul",{style:{margin:0,padding:"0 0 0 16px",display:"grid",gap:2},children:o.map(u=>e.jsx("li",{style:{fontSize:11,opacity:.78,lineHeight:1.4},children:u},u))}):s?null:e.jsx("div",{style:{fontSize:11,opacity:.6},children:"Expand to load the Certifier verdict."})]})]})}function A({children:s}){return e.jsx("div",{style:{fontSize:10,fontWeight:800,letterSpacing:"0.05em",textTransform:"uppercase",opacity:.55},children:s})}function ie({children:s}){return e.jsx("span",{style:{fontSize:11,fontWeight:600,padding:"3px 8px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"var(--surface-hover, rgba(0,0,0,0.04))",fontFamily:"var(--font-mono, monospace)"},children:s})}function S({label:s,value:c,tone:o}){return e.jsxs("div",{style:{...fe,borderTop:`2px solid ${o==="success"?"var(--status-success, #1f883d)":"var(--border-color, rgba(0,0,0,0.10))"}`},children:[e.jsx("div",{style:{fontSize:11,opacity:.62},children:s}),e.jsx("div",{style:{fontSize:24,fontWeight:800},children:c})]})}function le({children:s}){return e.jsx("span",{style:{fontSize:10,padding:"2px 7px",borderRadius:4,background:"var(--surface-hover, rgba(0,0,0,0.06))",opacity:.82},children:s})}const oe={border:"1px solid var(--border-color, rgba(0,0,0,0.10))",borderRadius:8,background:"var(--surface, rgba(0,0,0,0.02))",padding:12,display:"grid",gap:8},ae={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,paddingBottom:6,borderBottom:"1px solid var(--border-color, rgba(0,0,0,0.08))"},de={width:"100%",border:"1px solid var(--border-color, rgba(0,0,0,0.10))",borderLeft:"3px solid var(--status-warning, #9a6700)",borderRadius:7,background:"var(--surface, rgba(0,0,0,0.02))",padding:10,display:"grid",gap:10},ce={borderTop:"1px solid var(--border-color, rgba(0,0,0,0.08))",paddingTop:10,marginLeft:26,display:"grid",gap:12},pe={display:"inline-flex",alignItems:"center",gap:4,padding:"4px 8px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"transparent",color:"inherit",fontSize:11,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap",alignSelf:"start"},ge={margin:0,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",borderRadius:8,background:"var(--color-bg-primary, rgba(0,0,0,0.03))",padding:"9px 11px",overflow:"auto",maxHeight:280},ue={display:"inline-flex",alignItems:"center",gap:6,padding:"6px 11px",borderRadius:6,border:"1px solid var(--color-accent-blue, #6b5dd3)",background:"var(--color-accent-blue, #6b5dd3)",color:"#fff",fontSize:12,fontWeight:650,cursor:"pointer",whiteSpace:"nowrap"},xe={display:"inline-flex",alignItems:"center",gap:6,padding:"6px 11px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"transparent",color:"inherit",fontSize:12,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},ye={display:"inline-flex",alignItems:"center",gap:6,padding:"7px 13px",borderRadius:7,border:"1px solid var(--color-clay, #b4593f)",background:"var(--color-clay, #b4593f)",color:"#fff",fontSize:12.5,fontWeight:700,cursor:"pointer",whiteSpace:"nowrap"},fe={border:"1px solid var(--border-color, rgba(0,0,0,0.10))",borderRadius:7,background:"var(--surface, rgba(0,0,0,0.02))",padding:12},he={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,border:"1px solid var(--border-color, rgba(0,0,0,0.10))",borderRadius:8,background:"var(--surface, rgba(0,0,0,0.02))",padding:"10px 12px"},be={display:"inline-flex",alignItems:"center",gap:5,padding:"6px 11px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"var(--surface, transparent)",color:"inherit",fontSize:12,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},me={display:"inline-flex",alignItems:"center",gap:6,padding:"7px 13px",borderRadius:6,border:"1px solid var(--status-success, #1f883d)",background:"var(--status-success, #1f883d)",color:"#fff",fontSize:12,fontWeight:650,cursor:"pointer",whiteSpace:"nowrap"},$={display:"inline-flex",alignItems:"center",gap:5,padding:"6px 11px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"transparent",color:"inherit",fontSize:12,cursor:"pointer"},E={border:"1px dashed var(--border-color, rgba(0,0,0,0.16))",borderRadius:8,padding:24,fontSize:13,opacity:.85};export{Re as ReadinessPage};
|
|
1
|
+
import{h as G,i as H,k as _,r as n,a as R,j as e,S as q,a0 as P,aJ as Q,L as N,l as V,d as U,e as J,B as K,f as X}from"./index-C9KfoqCR.js";import{T as Y}from"./TrustBadge-D1CGSj0Y.js";import{o as O}from"./ai-build-bus-1BR770pY.js";import{W as M}from"./wand-sparkles-CNUjLDqT.js";import{U as Z,G as ee}from"./user-round-DL6DLw0m.js";import{T as B}from"./triangle-alert-D1WefIrN.js";import{A as se}from"./arrow-right-BP5vPPNo.js";import"./react-CRB3T2We.js";function Re(){const s=G(H(t=>({files:t.files}))),c=_(),[o,u]=n.useState(null),[w,x]=n.useState(!0),[p,f]=n.useState(new Set),[l,k]=n.useState(!1),[T,z]=n.useState(null),[W,C]=n.useState(null);n.useEffect(()=>{let t=!1;return R.getIdentity().then(r=>{!t&&(r!=null&&r.owner)&&C(r.owner)}).catch(()=>{}),()=>{t=!0}},[]);const I=n.useCallback(async(t,r)=>{const i={name:t.split("/").pop()??`${r}.dql`,path:t,type:"block",folder:"blocks"};s.files.some(a=>a.path===t)||c({type:"FILE_ADDED",file:i});const y=await R.openBlockStudio(t);c({type:"OPEN_BLOCK_STUDIO",file:i,payload:y})},[c,s.files]),b=n.useCallback(()=>{let t=!1;return x(!0),R.getProposeReadiness().then(r=>{if(t)return;u(r);const i=r.ready?r.plan.domains.flatMap(y=>y.candidates.map(a=>a.slug)):[];f(new Set(i))}).catch(()=>{t||u(null)}).finally(()=>{t||x(!1)}),()=>{t=!0}},[]);n.useEffect(()=>b(),[b]);const m=n.useCallback(()=>{c({type:"SET_MAIN_VIEW",view:"block_studio"})},[c]),D=n.useCallback(t=>{f(r=>{const i=new Set(r);return i.has(t)?i.delete(t):i.add(t),i})},[]),v=n.useCallback(t=>{f(r=>{const i=new Set(r),y=t.candidates.map(g=>g.slug),a=y.every(g=>i.has(g));for(const g of y)a?i.delete(g):i.add(g);return i})},[]),L=n.useCallback(async()=>{const t=[...p];if(t.length!==0){k(!0),z(null);try{const r=await R.generateProposeDrafts({slugs:t});if(!r.ready){z(r.reason??"Could not generate drafts.");return}const i=r.proposals.find(y=>y.path);i!=null&&i.path?I(i.path,i.slug):m()}catch(r){z(r instanceof Error?r.message:String(r))}finally{k(!1)}}},[p,m,I]),d=o==null?void 0:o.summary,h=o!=null&&o.ready?o.plan:null;return e.jsx("div",{style:{flex:1,minWidth:0,overflow:"auto"},children:e.jsxs("div",{style:{maxWidth:980,margin:"0 auto",padding:"22px 28px 40px",display:"grid",gap:16},children:[e.jsxs("header",{style:{display:"grid",gap:6},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e.jsx(q,{size:20}),e.jsx("div",{style:{fontSize:22,fontWeight:750},children:"Get started"}),e.jsx("div",{style:{flex:1}}),e.jsxs("button",{type:"button",onClick:()=>O({target:"block",lockTarget:!0,sourceLabel:"Describe a block to draft from your project context."}),style:ye,children:[e.jsx(M,{size:14})," Ask AI to build a block"]})]}),e.jsx("div",{style:{fontSize:13,opacity:.72,maxWidth:760,lineHeight:1.55},children:d!=null&&d.modelsScanned?`I scanned your dbt project and found ${d.businessModels} ${d.businessModels===1?"thing":"things"} worth governing — here's what each one does. Expand a row to see the SQL it would run and what's still missing to certify. Plumbing and low-value models are left out. Nothing is drafted or certified until you approve it.`:"I scanned your dbt project for the business models worth governing — here's what each one does. Expand a row to see the SQL it would run and what's still missing to certify. Nothing is drafted or certified until you approve it."}),W?e.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11.5,opacity:.62},children:[e.jsx(Z,{size:12})," drafting as ",W]}):null,e.jsxs("button",{type:"button",onClick:()=>c({type:"SET_MAIN_VIEW",view:"skills"}),style:{display:"inline-flex",alignItems:"center",gap:6,alignSelf:"start",marginTop:2,padding:0,border:"none",background:"transparent",color:"var(--color-accent-blue, #6b5dd3)",fontSize:12,fontWeight:650,cursor:"pointer"},children:[e.jsx(ee,{size:13})," Teach the AI your business rules →"]})]}),w?e.jsx("div",{style:E,children:"Classifying dbt models and planning the business seed…"}):o?o.ready?e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:10},children:[e.jsx(S,{label:"dbt models scanned",value:d.modelsScanned}),e.jsx(S,{label:"Business models",value:d.businessModels,tone:"success"}),e.jsx(S,{label:"Plumbing excluded",value:d.plumbingExcluded}),e.jsx(S,{label:"Metrics found",value:d.metricsFound})]}),d.reviewTelemetry&&d.reviewTelemetry.existingDrafts>0?e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:10},children:[e.jsx(S,{label:"Drafts ready for review",value:`${Math.round((d.reviewTelemetry.readyForReviewRate??0)*100)}%`,tone:"success"}),e.jsx(S,{label:"Median draft age",value:d.reviewTelemetry.medianReviewAgeHours!=null?`${d.reviewTelemetry.medianReviewAgeHours.toFixed(1)}h`:"—"}),e.jsx(S,{label:"Est. review time",value:`~${d.reviewTelemetry.estimatedReviewMinutes} min`})]}):null,e.jsxs("div",{style:he,children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e.jsx(Q,{size:16}),e.jsxs("div",{style:{fontSize:13},children:[e.jsxs("strong",{children:["Will generate ",p.size]}),e.jsxs("span",{style:{opacity:.65},children:[" ","of ",h.willGenerate," planned · skipping ",h.willSkip," · ≤ ",h.config.maxPerDomain," per domain"]})]})]}),e.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[e.jsxs("button",{type:"button",onClick:b,style:$,children:[e.jsx(P,{size:13})," Refresh"]}),e.jsxs("button",{type:"button",onClick:()=>void L(),disabled:l||p.size===0,style:{...me,opacity:l||p.size===0?.6:1},children:[l?e.jsx(N,{size:13,className:"spin"}):e.jsx(V,{size:13}),l?"Generating…":e.jsxs(e.Fragment,{children:["Approve & generate ",p.size>0?`(${p.size})`:""]})]})]})]}),T?e.jsxs("div",{style:{...E,display:"flex",gap:8,alignItems:"center",borderColor:"var(--status-error, #cf222e)"},children:[e.jsx(B,{size:16})," ",T]}):null,e.jsx("div",{style:{display:"grid",gap:12},children:h.domains.length===0?e.jsxs("div",{style:E,children:["No business models found to govern. Tag a layer in ",e.jsx("code",{children:"dql.config.json"})," ","(",e.jsx("code",{children:"propose.businessLayers"}),") or add ",e.jsx("code",{children:"meta.dql.business"})," to your dbt models."]}):h.domains.map(t=>e.jsx(te,{domain:t,selected:p,onToggleSlug:D,onToggleDomain:v,onOpenInBlockStudio:I},t.name))}),e.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:e.jsxs("button",{type:"button",onClick:m,style:be,children:["Open Block Studio ",e.jsx(se,{size:13})]})})]}):e.jsxs("div",{style:{...E,display:"flex",alignItems:"flex-start",gap:10},children:[e.jsx(B,{size:18,style:{flexShrink:0,marginTop:1}}),e.jsxs("div",{style:{display:"grid",gap:8},children:[e.jsx("div",{style:{fontWeight:650},children:"Not ready to propose yet"}),e.jsx("div",{style:{opacity:.8},children:o.reason}),e.jsxs("button",{type:"button",onClick:b,style:$,children:[e.jsx(P,{size:13})," Re-check"]})]})]}):e.jsx("div",{style:E,children:"Could not load readiness."})]})})}function te({domain:s,selected:c,onToggleSlug:o,onToggleDomain:u,onOpenInBlockStudio:w}){const x=s.candidates.map(l=>l.slug),p=x.every(l=>c.has(l)),f=x.some(l=>c.has(l));return e.jsxs("div",{style:oe,children:[e.jsxs("div",{style:ae,children:[e.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8,cursor:"pointer"},children:[e.jsx("input",{type:"checkbox",checked:p,ref:l=>{l&&(l.indeterminate=!p&&f)},onChange:()=>u(s)}),e.jsx("span",{style:{fontSize:13,fontWeight:700},children:s.name}),e.jsxs("span",{style:{fontSize:11,opacity:.6},children:[s.modelCount," model",s.modelCount===1?"":"s"]})]}),s.owner?e.jsxs("span",{style:{fontSize:11,opacity:.6},children:["owner ",s.owner]}):null]}),e.jsx("div",{style:{display:"grid",gap:6},children:s.candidates.map(l=>e.jsx(re,{candidate:l,checked:c.has(l.slug),onToggle:()=>o(l.slug),onOpenInBlockStudio:w},l.slug))})]})}function re({candidate:s,checked:c,onToggle:o,onOpenInBlockStudio:u}){const w=n.useMemo(()=>s.evidence.slice(0,3),[s.evidence]),[x,p]=n.useState(!1),[f,l]=n.useState(null),[k,T]=n.useState(!1),[z,W]=n.useState(null),[C,I]=n.useState(!1),[b,m]=n.useState(null),D=n.useCallback(()=>{p(a=>{const g=!a;return g&&!f&&!k&&(T(!0),W(null),R.proposePreview(s.slug).then(j=>l(j.candidate)).catch(j=>W(j instanceof Error?j.message:"Could not load the preview.")).finally(()=>T(!1))),g})},[s.slug,f,k]),v=f??s,L=v.sqlPreview,d=v.outputs??[],h=v.examples??[],t=v.certifierVerdict,r=v.description,i=n.useCallback(async()=>{I(!0),m(null);try{const a=await R.generateProposeDrafts({slugs:[s.slug]}),g=a.proposals.find(F=>F.slug===s.slug)??a.proposals[0],j=g==null?void 0:g.path;if(!j){m("No draft path was returned for this model yet.");return}await u(j,s.model)}catch(a){m(a instanceof Error?a.message:"Could not open this draft.")}finally{I(!1)}},[s.model,s.slug,u]),y=n.useCallback(()=>{O({target:"block",lockTarget:!0,prompt:`Refine the "${s.model}" block: ${r??`a ${s.pattern??"business"} model${s.grain?` at ${s.grain} grain`:""}`}.`,sourceLabel:`Refining ${s.model}`})},[s.grain,s.model,s.pattern,r]);return e.jsxs("div",{style:{...de,opacity:c?1:.7},children:[e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr) auto",gap:10,alignItems:"start"},children:[e.jsx("input",{type:"checkbox",checked:c,onChange:o,style:{marginTop:3},"aria-label":`Include ${s.model}`}),e.jsxs("div",{style:{display:"grid",gap:4,minWidth:0},children:[e.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[e.jsx("span",{style:{fontSize:14,fontWeight:700},children:s.model}),e.jsx(Y,{state:"ai_generated"}),s.pattern?e.jsx(le,{children:s.pattern}):null,s.grain?e.jsxs("span",{style:{fontSize:11,opacity:.6},children:["grain ",s.grain]}):null]}),w.length>0?e.jsxs("div",{style:{fontSize:11,opacity:.66},children:[e.jsx("span",{style:{opacity:.8},children:"why: "}),w.join(" · ")]}):null]}),e.jsxs("button",{type:"button",onClick:D,"aria-expanded":x,style:pe,children:[x?e.jsx(U,{size:13}):e.jsx(J,{size:13}),x?"Hide":"Details"]})]}),x?e.jsx("div",{style:ce,children:k?e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,opacity:.75},children:[e.jsx(N,{size:13,className:"spin"})," Loading the generated SQL and verdict…"]}):z?e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"var(--status-error, #cf222e)"},children:[e.jsx(B,{size:14})," ",z]}):e.jsxs(e.Fragment,{children:[r?e.jsx("div",{style:{fontSize:12,opacity:.82,lineHeight:1.5},children:r}):null,e.jsxs("div",{style:{display:"grid",gap:5},children:[e.jsx(A,{children:"SQL this block will run"}),L?e.jsx("pre",{style:ge,children:e.jsx("code",{style:{fontFamily:"var(--font-mono, monospace)",fontSize:11.5,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:L.trim()})}):e.jsx("div",{style:{fontSize:11.5,opacity:.6},children:"The generated SQL is not available for this model yet."})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12},children:[e.jsxs("div",{style:{display:"grid",gap:5,alignContent:"start"},children:[e.jsx(A,{children:"Outputs"}),d.length>0?e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:5},children:d.map(a=>e.jsx(ie,{children:a},a))}):e.jsx("div",{style:{fontSize:11,opacity:.6},children:"No declared outputs yet."})]}),e.jsxs("div",{style:{display:"grid",gap:5,alignContent:"start"},children:[e.jsx(A,{children:"Answers questions like"}),h.length>0?e.jsx("ul",{style:{margin:0,padding:"0 0 0 16px",display:"grid",gap:3},children:h.slice(0,3).map(a=>e.jsx("li",{style:{fontSize:11.5,opacity:.82,lineHeight:1.45},children:a},a))}):e.jsx("div",{style:{fontSize:11,opacity:.6},children:"No example questions yet."})]})]}),e.jsx(ne,{verdict:t}),e.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[e.jsxs("button",{type:"button",onClick:()=>void i(),disabled:C,style:{...ue,opacity:C?.65:1},children:[C?e.jsx(N,{size:13,className:"spin"}):e.jsx(K,{size:13}),C?"Opening…":"Open in Block Studio"]}),e.jsxs("button",{type:"button",onClick:y,style:xe,children:[e.jsx(M,{size:13})," Refine with AI"]})]}),b?e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11.5,color:"var(--status-error, #cf222e)"},children:[e.jsx(B,{size:13})," ",b]}):null]})}):null]})}function ne({verdict:s}){const c=!!(s!=null&&s.ready&&s.blocking.length===0),o=s?[...s.blocking,...s.warnings]:[];return e.jsxs("div",{style:{display:"grid",gap:5},children:[e.jsx(A,{children:"What's missing to certify"}),c?e.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:12,color:"var(--status-success, #1f883d)"},children:[e.jsx(X,{size:14})," Grain, outputs, and context are set."]}):e.jsxs("div",{style:{display:"grid",gap:4},children:[e.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:12,color:"var(--status-warning, #9a6700)"},children:[e.jsx(B,{size:14})," Needs an owner and passing tests before it can be certified."]}),o.length>0?e.jsx("ul",{style:{margin:0,padding:"0 0 0 16px",display:"grid",gap:2},children:o.map(u=>e.jsx("li",{style:{fontSize:11,opacity:.78,lineHeight:1.4},children:u},u))}):s?null:e.jsx("div",{style:{fontSize:11,opacity:.6},children:"Expand to load the Certifier verdict."})]})]})}function A({children:s}){return e.jsx("div",{style:{fontSize:10,fontWeight:800,letterSpacing:"0.05em",textTransform:"uppercase",opacity:.55},children:s})}function ie({children:s}){return e.jsx("span",{style:{fontSize:11,fontWeight:600,padding:"3px 8px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"var(--surface-hover, rgba(0,0,0,0.04))",fontFamily:"var(--font-mono, monospace)"},children:s})}function S({label:s,value:c,tone:o}){return e.jsxs("div",{style:{...fe,borderTop:`2px solid ${o==="success"?"var(--status-success, #1f883d)":"var(--border-color, rgba(0,0,0,0.10))"}`},children:[e.jsx("div",{style:{fontSize:11,opacity:.62},children:s}),e.jsx("div",{style:{fontSize:24,fontWeight:800},children:c})]})}function le({children:s}){return e.jsx("span",{style:{fontSize:10,padding:"2px 7px",borderRadius:4,background:"var(--surface-hover, rgba(0,0,0,0.06))",opacity:.82},children:s})}const oe={border:"1px solid var(--border-color, rgba(0,0,0,0.10))",borderRadius:8,background:"var(--surface, rgba(0,0,0,0.02))",padding:12,display:"grid",gap:8},ae={display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,paddingBottom:6,borderBottom:"1px solid var(--border-color, rgba(0,0,0,0.08))"},de={width:"100%",border:"1px solid var(--border-color, rgba(0,0,0,0.10))",borderLeft:"3px solid var(--status-warning, #9a6700)",borderRadius:7,background:"var(--surface, rgba(0,0,0,0.02))",padding:10,display:"grid",gap:10},ce={borderTop:"1px solid var(--border-color, rgba(0,0,0,0.08))",paddingTop:10,marginLeft:26,display:"grid",gap:12},pe={display:"inline-flex",alignItems:"center",gap:4,padding:"4px 8px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"transparent",color:"inherit",fontSize:11,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap",alignSelf:"start"},ge={margin:0,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",borderRadius:8,background:"var(--color-bg-primary, rgba(0,0,0,0.03))",padding:"9px 11px",overflow:"auto",maxHeight:280},ue={display:"inline-flex",alignItems:"center",gap:6,padding:"6px 11px",borderRadius:6,border:"1px solid var(--color-accent-blue, #6b5dd3)",background:"var(--color-accent-blue, #6b5dd3)",color:"#fff",fontSize:12,fontWeight:650,cursor:"pointer",whiteSpace:"nowrap"},xe={display:"inline-flex",alignItems:"center",gap:6,padding:"6px 11px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"transparent",color:"inherit",fontSize:12,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},ye={display:"inline-flex",alignItems:"center",gap:6,padding:"7px 13px",borderRadius:7,border:"1px solid var(--color-clay, #b4593f)",background:"var(--color-clay, #b4593f)",color:"#fff",fontSize:12.5,fontWeight:700,cursor:"pointer",whiteSpace:"nowrap"},fe={border:"1px solid var(--border-color, rgba(0,0,0,0.10))",borderRadius:7,background:"var(--surface, rgba(0,0,0,0.02))",padding:12},he={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,border:"1px solid var(--border-color, rgba(0,0,0,0.10))",borderRadius:8,background:"var(--surface, rgba(0,0,0,0.02))",padding:"10px 12px"},be={display:"inline-flex",alignItems:"center",gap:5,padding:"6px 11px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"var(--surface, transparent)",color:"inherit",fontSize:12,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},me={display:"inline-flex",alignItems:"center",gap:6,padding:"7px 13px",borderRadius:6,border:"1px solid var(--status-success, #1f883d)",background:"var(--status-success, #1f883d)",color:"#fff",fontSize:12,fontWeight:650,cursor:"pointer",whiteSpace:"nowrap"},$={display:"inline-flex",alignItems:"center",gap:5,padding:"6px 11px",borderRadius:6,border:"1px solid var(--border-color, rgba(0,0,0,0.12))",background:"transparent",color:"inherit",fontSize:12,cursor:"pointer"},E={border:"1px dashed var(--border-color, rgba(0,0,0,0.16))",borderRadius:8,padding:24,fontSize:13,opacity:.85};export{Re as ReadinessPage};
|
package/dist/assets/dql-notebook/assets/{SetupOnboarding-CyE-Ex41.js → SetupOnboarding-BRut9nLO.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as ne,u as ae,t as de,r as a,a as S,j as t,a1 as le,a2 as pe,a3 as ce,a4 as fe,F as ue,S as ge}from"./index-
|
|
1
|
+
import{c as ne,u as ae,t as de,r as a,a as S,j as t,a1 as le,a2 as pe,a3 as ce,a4 as fe,F as ue,S as ge}from"./index-C9KfoqCR.js";import{A as xe}from"./arrow-left-C1tZBhgf.js";import{A as ye}from"./arrow-right-BP5vPPNo.js";import"./react-CRB3T2We.js";/**
|
|
2
2
|
* @license lucide-react v0.563.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as Pe,r as x,j as e,l as he,f as Te,a0 as le,L as Q,a as $,u as je,t as ke,$ as ge,S as Se,P as Y,T as se,a5 as De,Q as U}from"./index-
|
|
1
|
+
import{c as Pe,r as x,j as e,l as he,f as Te,a0 as le,L as Q,a as $,u as je,t as ke,$ as ge,S as Se,P as Y,T as se,a5 as De,Q as U}from"./index-C9KfoqCR.js";import{U as Ae}from"./UnifiedAgentRunPanel-BexNjqJd.js";import{X as ae}from"./x-BhTl5gZs.js";import{T as we}from"./triangle-alert-D1WefIrN.js";import{G as Z}from"./user-round-DL6DLw0m.js";import{u as Ee,P as _e}from"./usePersistedAgentThreadId-B5pTglEr.js";/**
|
|
2
2
|
* @license lucide-react v0.563.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as c,ba as l}from"./index-
|
|
1
|
+
import{j as c,ba as l}from"./index-C9KfoqCR.js";const e={certified:{base:"Certified",tone:"success"},reviewed:{base:"Reviewed",tone:"info"},ai_generated:{base:"AI-Generated",tone:"warning"},insufficient_context:{base:"Insufficient-Context",tone:"neutral"},conflict:{base:"Conflict",tone:"error"}},s="insufficient_context";function d({state:t,qualifier:i,label:a}){if(!t)return null;const n=o[t]??o[s],r=i?`${n.label} · ${i}`:n.label;return c.jsx(l,{tone:n.tone,children:a??r})}const o={certified:{tone:e.certified.tone,label:e.certified.base},reviewed:{tone:e.reviewed.tone,label:e.reviewed.base},ai_generated:{tone:e.ai_generated.tone,label:e.ai_generated.base},insufficient_context:{tone:e.insufficient_context.tone,label:e.insufficient_context.base},conflict:{tone:e.conflict.tone,label:e.conflict.base},draft:{tone:"warning",label:"Draft"},pending:{tone:"warning",label:"Pending review"},review:{tone:"warning",label:"Review"},uncertified:{tone:"warning",label:"Uncertified"},deprecated:{tone:"neutral",label:"Deprecated"},no_answer:{tone:"error",label:"No answer"}};export{d as T};
|