@duckcodeailabs/dql-cli 1.14.0 → 1.14.2
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 +15 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +25 -0
- package/dist/args.js.map +1 -1
- package/dist/assets/dql-notebook/assets/{AgentLogPage-Ch7VK20X.js → AgentLogPage-DKbGpRQS.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AiBuildDialog-DBr5TmyM.js → AiBuildDialog-DPSu0Mly.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AiBuildResult-jLPzQO7O.js → AiBuildResult-1uaGnpi1.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AiSidePanel-CdlGsiVC.js → AiSidePanel-BwMREwa7.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AnalyticsHome-C0DXbOwY.js → AnalyticsHome-BGfey_ve.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AppsView-CcpwjApv.js → AppsView-CM1tPywy.js} +4 -4
- package/dist/assets/dql-notebook/assets/{BlockStudio-CFYxafw-.js → BlockStudio--S6WFVO4.js} +1 -1
- package/dist/assets/dql-notebook/assets/{BusinessArtifactView-C0kLYg2p.js → BusinessArtifactView-BEAJ-yNW.js} +1 -1
- package/dist/assets/dql-notebook/assets/{DbtFirstModelingPage-CMwElXD_.js → DbtFirstModelingPage-CNyU5MBX.js} +1 -1
- package/dist/assets/dql-notebook/assets/{GitPage-JjhRDeWY.js → GitPage-IcydAai3.js} +1 -1
- package/dist/assets/dql-notebook/assets/{GlobalAiRail-DakE4NdR.js → GlobalAiRail-CSKW-5eD.js} +1 -1
- package/dist/assets/dql-notebook/assets/{GovernedContextPage-BokDqG6a.js → GovernedContextPage-CFen0eFT.js} +1 -1
- package/dist/assets/dql-notebook/assets/{HelpDocsPage-CjOv6_gz.js → HelpDocsPage-D0D9UCIz.js} +1 -1
- package/dist/assets/dql-notebook/assets/{HomePage-nGaNcwdw.js → HomePage-CmSxapR3.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineageDAG-CO6CFJRg.js → LineageDAG-BGUcIt1B.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineageDetailView-BnGb7OF7.js → LineageDetailView-Dx48Zfzb.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineageDrawer-C5Y0Ht0b.js → LineageDrawer-zaBfSLZO.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineagePathBreadcrumb-Cgh3GR3F.js → LineagePathBreadcrumb-CTZJp4_r.js} +1 -1
- package/dist/assets/dql-notebook/assets/{MiniLineageGraph-Kla9PYuj.js → MiniLineageGraph-CdivNR1S.js} +1 -1
- package/dist/assets/dql-notebook/assets/{NewBlockModal-BR2SnmPT.js → NewBlockModal-DMBFB7nE.js} +1 -1
- package/dist/assets/dql-notebook/assets/{NewNotebookModal-BaCHMYeB.js → NewNotebookModal-DsC9CWlW.js} +1 -1
- package/dist/assets/dql-notebook/assets/{NotebookEditor-CBLqY8cE.js → NotebookEditor-hs-kw8v9.js} +1 -1
- package/dist/assets/dql-notebook/assets/{ReadinessPage-CiN0IWSS.js → ReadinessPage-DJ83cMik.js} +1 -1
- package/dist/assets/dql-notebook/assets/{SetupOnboarding-BhiCsYF-.js → SetupOnboarding-B1Pu_Bvv.js} +1 -1
- package/dist/assets/dql-notebook/assets/{SkillsPage-CCSf8VMm.js → SkillsPage-BHKDay8n.js} +1 -1
- package/dist/assets/dql-notebook/assets/{TrustBadge-BgQmFe_x.js → TrustBadge-BkyGgob2.js} +1 -1
- package/dist/assets/dql-notebook/assets/UnifiedAgentRunPanel-BYdrTaEW.js +89 -0
- package/dist/assets/dql-notebook/assets/{answer-to-notebook-AeDYUDla.js → answer-to-notebook-DmNiuLQA.js} +1 -1
- package/dist/assets/dql-notebook/assets/{arrow-left-C55x2hq_.js → arrow-left--1rsrxm8.js} +1 -1
- package/dist/assets/dql-notebook/assets/{arrow-right-C1cJrhOm.js → arrow-right-D5TdqY1G.js} +1 -1
- package/dist/assets/dql-notebook/assets/{book-open-text-CQf_sdv2.js → book-open-text-Bw7nHbzg.js} +1 -1
- package/dist/assets/dql-notebook/assets/{circle-x-X8-Z2yLY.js → circle-x-DLe6NNM4.js} +1 -1
- package/dist/assets/dql-notebook/assets/{dagre.esm-BjjNYKyY.js → dagre.esm-CW5QZdBt.js} +1 -1
- package/dist/assets/dql-notebook/assets/{external-link-C2zrz5DH.js → external-link-C9Q97sA3.js} +1 -1
- package/dist/assets/dql-notebook/assets/{grip-vertical-qGV_PYGU.js → grip-vertical-CztvkIgo.js} +1 -1
- package/dist/assets/dql-notebook/assets/{index-ByTDPDaH.js → index-zHHzDn6l.js} +127 -127
- package/dist/assets/dql-notebook/assets/{link-2-VpyOxQXG.js → link-2-CiKAvumL.js} +1 -1
- package/dist/assets/dql-notebook/assets/{list-tree-CH2Jhwms.js → list-tree-BtnP2nQ5.js} +1 -1
- package/dist/assets/dql-notebook/assets/{minimize-2-B2TZJ8BT.js → minimize-2-TSFGxcCP.js} +1 -1
- package/dist/assets/dql-notebook/assets/{panel-right-open-BunF88lt.js → panel-right-open-BfXIUWy0.js} +1 -1
- package/dist/assets/dql-notebook/assets/{play-DAFVF4_G.js → play-DVbSFJHD.js} +1 -1
- package/dist/assets/dql-notebook/assets/{rotate-ccw-DGCrrqtY.js → rotate-ccw-D_cesDcX.js} +1 -1
- package/dist/assets/dql-notebook/assets/{semantic-fields-Ci-9QL9F.js → semantic-fields-CoVStdYB.js} +1 -1
- package/dist/assets/dql-notebook/assets/{sliders-horizontal-BOAlXXbn.js → sliders-horizontal-l7xV9K5A.js} +1 -1
- package/dist/assets/dql-notebook/assets/{star-CkksZXHt.js → star-CSBS0H3b.js} +1 -1
- package/dist/assets/dql-notebook/assets/{triangle-alert-D3mjyJZE.js → triangle-alert-BTrnyY4q.js} +1 -1
- package/dist/assets/dql-notebook/assets/{upload-CTNOAVEO.js → upload-sySLq9zb.js} +1 -1
- package/dist/assets/dql-notebook/assets/{usePersistedAgentThreadId-DiQjc7x-.js → usePersistedAgentThreadId-CzwgGdus.js} +1 -1
- package/dist/assets/dql-notebook/assets/{user-round-BWd5tQRg.js → user-round-ChlgXi9j.js} +1 -1
- package/dist/assets/dql-notebook/assets/{wand-sparkles-CqsAv8P-.js → wand-sparkles-CGw0ytyT.js} +1 -1
- package/dist/assets/dql-notebook/assets/{workflow-CSqsj-sC.js → workflow-C_RltiK5.js} +1 -1
- package/dist/assets/dql-notebook/assets/{wrench-DWqzqlX8.js → wrench-D-wLfeu0.js} +1 -1
- package/dist/assets/dql-notebook/assets/{x-65M5rLCE.js → x-B28hIJIC.js} +1 -1
- package/dist/assets/dql-notebook/index.html +1 -1
- package/dist/commands/agent-eval-cassette.d.ts +164 -0
- package/dist/commands/agent-eval-cassette.d.ts.map +1 -0
- package/dist/commands/agent-eval-cassette.js +313 -0
- package/dist/commands/agent-eval-cassette.js.map +1 -0
- package/dist/commands/agent-eval-runtime.d.ts +109 -0
- package/dist/commands/agent-eval-runtime.d.ts.map +1 -0
- package/dist/commands/agent-eval-runtime.js +165 -0
- package/dist/commands/agent-eval-runtime.js.map +1 -0
- package/dist/commands/agent.d.ts +124 -4
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +410 -106
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/compile.d.ts +13 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +36 -4
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +11 -3
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/llm/analyst-loop-tools.d.ts +19 -0
- package/dist/llm/analyst-loop-tools.d.ts.map +1 -0
- package/dist/llm/analyst-loop-tools.js +56 -0
- package/dist/llm/analyst-loop-tools.js.map +1 -0
- package/dist/llm/providers/dql-agent-provider.d.ts +51 -1
- package/dist/llm/providers/dql-agent-provider.d.ts.map +1 -1
- package/dist/llm/providers/dql-agent-provider.js +563 -14
- package/dist/llm/providers/dql-agent-provider.js.map +1 -1
- package/dist/llm/types.d.ts +47 -1
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/local-runtime.d.ts +123 -1
- package/dist/local-runtime.d.ts.map +1 -1
- package/dist/local-runtime.js +1437 -163
- package/dist/local-runtime.js.map +1 -1
- package/dist/package.json +10 -10
- package/package.json +10 -10
- package/dist/assets/dql-notebook/assets/UnifiedAgentRunPanel-Bw5AXNDB.js +0 -88
package/dist/assets/dql-notebook/assets/{semantic-fields-Ci-9QL9F.js → semantic-fields-CoVStdYB.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{r as x,j as l,t as k,R as y}from"./index-
|
|
1
|
+
import{r as x,j as l,t as k,R as y}from"./index-zHHzDn6l.js";import{c as S,i as j}from"./usePersistedAgentThreadId-CzwgGdus.js";function w(o,t){const n=o.split(`
|
|
2
2
|
`),s=[];let e=0;for(;e<n.length;){const a=n[e],d=a.match(/^(#{1,6})\s+(.+)$/);if(d){const i=d[1].length,h=d[2],c=[28,22,18,16,14,13][i-1];s.push(l.jsx("div",{style:{fontSize:c,fontWeight:i<=2?700:600,color:t.textPrimary,fontFamily:t.font,lineHeight:1.3,marginBottom:i===1?12:8,marginTop:e>0?i===1?16:10:0,borderBottom:i===1?`1px solid ${t.cellBorder}`:void 0,paddingBottom:i===1?8:void 0},children:p(h,t)},e)),e++;continue}if(/^[-*_]{3,}$/.test(a.trim())){s.push(l.jsx("hr",{style:{border:"none",borderTop:`1px solid ${t.cellBorder}`,margin:"12px 0"}},e)),e++;continue}if(a.startsWith("> ")){s.push(l.jsx("div",{style:{borderLeft:`3px solid ${t.textMuted}`,paddingLeft:12,marginLeft:4,color:t.textSecondary,fontStyle:"italic",fontFamily:t.fontSerif,fontSize:14},children:p(a.slice(2),t)},e)),e++;continue}if(a.startsWith("```")){const i=[];for(e++;e<n.length&&!n[e].startsWith("```");)i.push(n[e]),e++;s.push(l.jsx("pre",{style:{background:"var(--color-bg-surface)",border:"1px solid var(--color-border-subtle)",borderRadius:6,padding:"10px 12px",fontSize:12,fontFamily:"var(--font-mono)",color:"var(--color-text-primary)",overflow:"auto",margin:"8px 0",lineHeight:1.6},children:i.join(`
|
|
3
3
|
`)},e)),e++;continue}if(/^[-*+]\s/.test(a)){const i=e,h=[];for(;e<n.length&&/^[-*+]\s/.test(n[e]);)h.push(n[e].replace(/^[-*+]\s/,"")),e++;s.push(l.jsx("ul",{style:{paddingLeft:20,marginBottom:8,color:t.textSecondary},children:h.map((m,c)=>l.jsx("li",{style:{fontSize:14,fontFamily:t.font,lineHeight:1.6,marginBottom:2},children:p(m,t)},c))},`ul-${i}`));continue}if(/^\d+\.\s/.test(a)){const i=e,h=[];for(;e<n.length&&/^\d+\.\s/.test(n[e]);)h.push(n[e].replace(/^\d+\.\s/,"")),e++;s.push(l.jsx("ol",{style:{paddingLeft:20,marginBottom:8,color:t.textSecondary},children:h.map((m,c)=>l.jsx("li",{style:{fontSize:14,fontFamily:t.font,lineHeight:1.6,marginBottom:2},children:p(m,t)},c))},`ol-${i}`));continue}if(!a.trim()){s.push(l.jsx("div",{style:{height:8}},e)),e++;continue}s.push(l.jsx("p",{style:{fontSize:14,lineHeight:1.7,fontFamily:t.fontSerif,color:t.textSecondary,marginBottom:6},children:p(a,t)},e)),e++}return s}function p(o,t){const n=[];let s=o,e=0;for(;s.length>0;){const a=s.match(/\*{3}(.+?)\*{3}/),d=s.match(/\*{2}(.+?)\*{2}/),i=s.match(/\*(.+?)\*/),h=s.match(/`(.+?)`/),m=s.match(/\[(.+?)\]\((.+?)\)/),c=[a?{match:a,type:"boldItalic"}:null,d?{match:d,type:"bold"}:null,i?{match:i,type:"italic"}:null,h?{match:h,type:"code"}:null,m?{match:m,type:"link"}:null].filter(Boolean);if(c.length===0){n.push(l.jsx(y.Fragment,{children:s},e++));break}const r=c.reduce((u,g)=>(u.match.index??0)<(g.match.index??0)?u:g),f=r.match.index??0;switch(f>0&&n.push(l.jsx(y.Fragment,{children:s.slice(0,f)},e++)),r.type){case"boldItalic":n.push(l.jsx("strong",{style:{fontStyle:"italic"},children:r.match[1]},e++));break;case"bold":n.push(l.jsx("strong",{children:r.match[1]},e++));break;case"italic":n.push(l.jsx("em",{children:r.match[1]},e++));break;case"code":n.push(l.jsx("code",{style:{background:"var(--color-bg-surface)",border:"1px solid var(--color-border-subtle)",borderRadius:4,padding:"1px 5px",fontSize:"0.9em",fontFamily:"var(--font-mono)",color:"var(--color-accent-blue)"},children:r.match[1]},e++));break;case"link":n.push(l.jsx("a",{href:r.match[2],target:"_blank",rel:"noopener noreferrer",style:{color:t.accent,textDecoration:"underline"},children:r.match[1]},e++));break}s=s.slice(f+r.match[0].length)}return l.jsx(l.Fragment,{children:n})}function z({value:o,onChange:t,onRun:n,themeMode:s}){const e=k[s],[a,d]=x.useState(!1),i=x.useRef(null);x.useEffect(()=>{if(a&&i.current){i.current.focus();const r=i.current;r.style.height="auto",r.style.height=`${Math.max(r.scrollHeight,80)}px`}},[a]);const h=()=>{d(!1)},m=r=>{if(r.key==="Escape"&&d(!1),r.key==="Enter"&&r.shiftKey&&(r.preventDefault(),d(!1),n==null||n()),r.key==="Tab"){r.preventDefault();const f=r.currentTarget,u=f.selectionStart,g=f.selectionEnd,b=o.slice(0,u)+" "+o.slice(g);t(b),requestAnimationFrame(()=>{f.selectionStart=f.selectionEnd=u+2})}},c=r=>{t(r.target.value);const f=r.target;f.style.height="auto",f.style.height=`${Math.max(f.scrollHeight,80)}px`};return a?l.jsx("textarea",{ref:i,value:o,onChange:c,onBlur:h,onKeyDown:m,placeholder:"Write markdown here...",spellCheck:!1,style:{display:"block",width:"100%",minHeight:80,padding:"12px 16px",background:e.editorBg,color:e.textPrimary,border:"none",outline:"none",resize:"none",fontFamily:e.fontMono,fontSize:13,lineHeight:"20px",borderRadius:0,caretColor:e.accent}}):o.trim()?l.jsx("div",{onDoubleClick:()=>d(!0),title:"Double-click to edit",style:{padding:"12px 16px",cursor:"text",minHeight:48},children:w(o,e)}):l.jsx("div",{onDoubleClick:()=>d(!0),style:{padding:"12px 16px",color:e.textMuted,fontFamily:e.font,fontSize:13,fontStyle:"italic",cursor:"text",minHeight:48,display:"flex",alignItems:"center"},children:"Double-click to add markdown..."})}function F(o){var h,m;if(!o)return{metrics:[],dimensions:[],columns:[],fields:[],hasSemanticBinding:!1};const t=new Set(((h=o.semanticRefs)==null?void 0:h.metrics)??[]),n=new Set(((m=o.semanticRefs)==null?void 0:m.dimensions)??[]),s=t.size>0||n.size>0,e=[],a=[],d=[],i=[];for(const c of o.columns)t.has(c)?(e.push(c),i.push({name:c,kind:"metric"})):n.has(c)&&(a.push(c),i.push({name:c,kind:"dimension"}));for(const c of o.columns)t.has(c)||n.has(c)||(d.push(c),i.push({name:c,kind:"column",chartRole:S(j(c,o.rows))}));return{metrics:e,dimensions:a,columns:d,fields:i,hasSemanticBinding:s}}function H(o){return o==="metric"?"#":o==="dimension"?"∴":"A"}function M(o,t){return o==="metric"?t:o==="dimension"?"#e3b341":"#56d364"}function C(o){return o==="metric"?"metric":o==="dimension"?"dimension":"column"}export{z as M,M as a,C as b,F as c,H as f,w as r};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{R as te,j as r,b8 as Ye,c as le,r as R,t as q,u as Ht,a as Ot,b9 as Ze,L as qt,f as Ut,l as Vt,S as Ge,d as Qt,e as Yt}from"./index-
|
|
1
|
+
import{R as te,j as r,b8 as Ye,c as le,r as R,t as q,u as Ht,a as Ot,b9 as Ze,L as qt,f as Ut,l as Vt,S as Ge,d as Qt,e as Yt}from"./index-zHHzDn6l.js";import{T as Zt}from"./TrustBadge-BkyGgob2.js";import{R as Gt,G as Xt}from"./AiBuildResult-1uaGnpi1.js";import{W as Kt}from"./wrench-D-wLfeu0.js";const Jt={value:"Value",block:"Certified block",term:"Business term",metric:"Metric",dimension:"Dimension",model:"dbt model",source:"Source table",consumer:"Used by"};function Xe(e){const t=(e??"").toLowerCase();return t==="certified"?"success":t==="deprecated"?"neutral":t.includes("review")||t==="draft"||t==="pending"?"warning":"neutral"}function Ct({walk:e,defaultOpen:t=!1,triggerLabel:n}){const[o,i]=te.useState(t),s=Math.min(e.steps.length,2),[l,c]=te.useState(s),a=()=>c(s),d=e.steps.slice(0,l),u=e.steps.length-l;return r.jsxs("div",{style:{border:"1px solid var(--border-subtle, rgba(127,127,127,0.25))",borderRadius:8,background:"var(--bg-1, transparent)",overflow:"hidden"},children:[r.jsxs("button",{type:"button","aria-expanded":o,onClick:()=>{i(f=>!f),o&&a()},style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,border:0,background:"transparent",color:"var(--text-secondary, inherit)",cursor:"pointer",padding:"8px 11px",font:"inherit",fontSize:12,fontWeight:700},children:[r.jsxs("span",{style:{display:"flex",alignItems:"center",gap:7},children:[r.jsx("span",{"aria-hidden":!0,style:{transform:o?"rotate(90deg)":"none",transition:"transform 120ms",display:"inline-block"},children:"▸"}),n??"Why?"]}),r.jsx("span",{style:{fontSize:11,color:"var(--text-tertiary, inherit)",fontWeight:600},children:o?"Hide derivation":"Show how this was derived"})]}),o&&r.jsxs("div",{style:{padding:"2px 11px 11px",display:"flex",flexDirection:"column",gap:10},children:[r.jsx("div",{style:{fontSize:12.5,lineHeight:1.5,color:"var(--text-primary, inherit)"},children:e.summary}),(e.trustLabel||e.freshness)&&r.jsxs("div",{style:{display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"},children:[e.trustLabel&&r.jsx(Ye,{tone:Xe(e.trustLabel),children:Ke(e.trustLabel)}),e.freshness&&r.jsxs("span",{style:{fontSize:11,color:"var(--text-tertiary, inherit)"},children:["Fresh as of ",en(e.freshness)]})]}),r.jsx("ol",{style:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:7},children:d.map((f,h)=>r.jsxs("li",{style:{display:"flex",gap:9,alignItems:"flex-start",paddingLeft:2},children:[r.jsx("span",{"aria-hidden":!0,style:{marginTop:3,width:7,height:7,borderRadius:999,flexShrink:0,background:"var(--accent, currentColor)",opacity:.7}}),r.jsxs("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[r.jsxs("div",{style:{display:"flex",gap:6,alignItems:"center",flexWrap:"wrap"},children:[r.jsx("span",{style:{fontSize:10,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--text-tertiary, inherit)"},children:Jt[f.kind]}),r.jsx("span",{style:{fontSize:12.5,fontWeight:700,color:"var(--text-primary, inherit)",overflowWrap:"anywhere"},children:f.name}),f.status&&r.jsx(Ye,{tone:Xe(f.status),children:Ke(f.status)})]}),(f.owner||f.detail)&&r.jsxs("div",{style:{fontSize:11.5,color:"var(--text-secondary, inherit)",lineHeight:1.45},children:[f.owner&&r.jsxs("span",{children:["Owner: ",f.owner,". "]}),f.detail]})]})]},`${f.kind}-${f.name}-${h}`))}),u>0&&r.jsxs("button",{type:"button",onClick:()=>c(f=>Math.min(e.steps.length,f+1)),style:{alignSelf:"flex-start",border:"1px solid var(--border-default, rgba(127,127,127,0.3))",borderRadius:6,background:"transparent",color:"var(--accent, inherit)",cursor:"pointer",padding:"4px 9px",fontSize:11,fontWeight:700},children:["Show next step (",u," more)"]}),e.caveats&&e.caveats.length>0&&r.jsxs("div",{style:{borderLeft:"3px solid var(--status-warning, #d29922)",background:"var(--status-warning-bg, rgba(210,153,34,0.08))",borderRadius:6,padding:"8px 10px",display:"flex",flexDirection:"column",gap:4},children:[r.jsx("span",{style:{fontSize:10,fontWeight:800,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--status-warning, inherit)"},children:"Caveats"}),e.caveats.map((f,h)=>r.jsx("span",{style:{fontSize:11.5,color:"var(--text-secondary, inherit)",lineHeight:1.45},children:f},h))]})]})]})}function Ke(e){return e.replace(/[_-]+/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function en(e){const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString()}/**
|
|
2
2
|
* @license lucide-react v0.563.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&family=Kalam:wght@400;700&family=Caveat:wght@400;600;700&display=swap" rel="stylesheet" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-zHHzDn6l.js"></script>
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/react-CRB3T2We.js">
|
|
12
12
|
<link rel="stylesheet" crossorigin href="/assets/index-B3shyZsg.css">
|
|
13
13
|
</head>
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { dirname } from 'node:path';
|
|
2
|
+
import type { AgentMessage, AgentProvider } from '@duckcodeailabs/dql-agent';
|
|
3
|
+
export type CassetteMode = 'record' | 'replay' | 'live';
|
|
4
|
+
/** One recorded tool call, so replay can re-run it against the live tools. */
|
|
5
|
+
export interface CassetteToolCall {
|
|
6
|
+
name: string;
|
|
7
|
+
args: unknown;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* How this response entered the cassette store. `providerName` is part of the
|
|
11
|
+
* dispatch fingerprint; it is not itself a claim that the response was
|
|
12
|
+
* recorded from that provider.
|
|
13
|
+
*/
|
|
14
|
+
export type CassetteProvenance = {
|
|
15
|
+
kind: 'recorded_provider';
|
|
16
|
+
replayClassification: 'recorded_provider';
|
|
17
|
+
providerQuality: 'eligible';
|
|
18
|
+
} | {
|
|
19
|
+
kind: 'migrated_legacy_deterministic_fixture';
|
|
20
|
+
sourceLegacyKey: string;
|
|
21
|
+
replayClassification: 'orchestration_replay_only';
|
|
22
|
+
providerQuality: 'excluded';
|
|
23
|
+
} | {
|
|
24
|
+
/**
|
|
25
|
+
* A deliberately authored response over the checked-in sanitized
|
|
26
|
+
* fixture. It exercises replay/orchestration only; it is never presented
|
|
27
|
+
* as a live-provider response or provider-quality evidence.
|
|
28
|
+
*/
|
|
29
|
+
kind: 'synthetic_deterministic_orchestration_fixture';
|
|
30
|
+
replayClassification: 'orchestration_replay_only';
|
|
31
|
+
providerQuality: 'excluded';
|
|
32
|
+
createdAt: string;
|
|
33
|
+
creationMethod: 'sanitized_fixture_sql';
|
|
34
|
+
source: 'current_scoped_runtime_dispatch';
|
|
35
|
+
};
|
|
36
|
+
export interface CassetteEntry {
|
|
37
|
+
key: string;
|
|
38
|
+
operation: 'generate' | 'generate_with_tools';
|
|
39
|
+
/**
|
|
40
|
+
* Legacy timestamp for a response recorded from a provider or imported from
|
|
41
|
+
* an older cassette. Synthetic fixtures use `createdAt` instead so they do
|
|
42
|
+
* not imply a live provider recording.
|
|
43
|
+
*/
|
|
44
|
+
recordedAt?: string;
|
|
45
|
+
/** Creation timestamp for an explicitly synthetic deterministic fixture. */
|
|
46
|
+
createdAt?: string;
|
|
47
|
+
providerName: string;
|
|
48
|
+
/** The model's final text. */
|
|
49
|
+
text: string;
|
|
50
|
+
/** Tool calls the model made, in order (generate_with_tools only). */
|
|
51
|
+
toolCalls?: CassetteToolCall[];
|
|
52
|
+
/**
|
|
53
|
+
* Provenance is additive so historical entries remain readable. Entries
|
|
54
|
+
* without it are deliberately excluded from real-provider quality claims.
|
|
55
|
+
*/
|
|
56
|
+
provenance?: CassetteProvenance;
|
|
57
|
+
/**
|
|
58
|
+
* V2 stores only hashes and structural dispatch facts. It never stores a
|
|
59
|
+
* prompt, credentials, or retrieved business context beyond the model text
|
|
60
|
+
* that a cassette has always intentionally contained.
|
|
61
|
+
*/
|
|
62
|
+
fingerprintDiagnostics?: CassetteFingerprintDiagnosticsV2;
|
|
63
|
+
}
|
|
64
|
+
/** Eval-only canonicalization. Production dispatches never opt into this. */
|
|
65
|
+
export interface EvalCassetteCanonicalizationV2 {
|
|
66
|
+
version: 2;
|
|
67
|
+
/** Exact absolute project-root prefix supplied by the eval host. */
|
|
68
|
+
projectRoot: string;
|
|
69
|
+
}
|
|
70
|
+
export interface CassetteFingerprintDiagnosticsV2 {
|
|
71
|
+
version: 2;
|
|
72
|
+
messageCount: number;
|
|
73
|
+
messageRoles: AgentMessage['role'][];
|
|
74
|
+
preCanonicalHash: string;
|
|
75
|
+
postCanonicalHash: string;
|
|
76
|
+
appliedRuleClasses: string[];
|
|
77
|
+
}
|
|
78
|
+
export interface CassetteFingerprint {
|
|
79
|
+
key: string;
|
|
80
|
+
/** Exact legacy full-prompt hash, retained only for safe v1 replay migration. */
|
|
81
|
+
legacyKey?: string;
|
|
82
|
+
diagnostics?: CassetteFingerprintDiagnosticsV2;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* What a cassette directory can support in an eval report. A migrated or
|
|
86
|
+
* historical-unknown entry still supports deterministic orchestration replay;
|
|
87
|
+
* neither is allowed to stand in for a current provider-quality measurement.
|
|
88
|
+
*/
|
|
89
|
+
export interface CassetteEvidenceSummary {
|
|
90
|
+
totalEntries: number;
|
|
91
|
+
recordedProviderEntries: number;
|
|
92
|
+
migratedLegacyDeterministicFixtureEntries: number;
|
|
93
|
+
syntheticDeterministicOrchestrationFixtureEntries: number;
|
|
94
|
+
unknownProvenanceEntries: number;
|
|
95
|
+
orchestrationReplayEligible: boolean;
|
|
96
|
+
realProviderQualityEligible: boolean;
|
|
97
|
+
realProviderQualityExclusionReasons: string[];
|
|
98
|
+
}
|
|
99
|
+
export declare function evalCassetteCanonicalizationV2(projectRoot: string): EvalCassetteCanonicalizationV2;
|
|
100
|
+
/**
|
|
101
|
+
* Stable key for one provider dispatch.
|
|
102
|
+
*
|
|
103
|
+
* Deliberately includes the full message list: the prompt IS the input, and two
|
|
104
|
+
* turns that differ only in retrieved context are genuinely different calls.
|
|
105
|
+
* Tool NAMES are included but not their schemas — a description edit should not
|
|
106
|
+
* invalidate every cassette in the suite.
|
|
107
|
+
*/
|
|
108
|
+
export declare function cassetteFingerprint(input: {
|
|
109
|
+
providerName: string;
|
|
110
|
+
operation: CassetteEntry['operation'];
|
|
111
|
+
messages: AgentMessage[];
|
|
112
|
+
toolNames?: string[];
|
|
113
|
+
options?: {
|
|
114
|
+
reasoningEffort?: unknown;
|
|
115
|
+
maxTokens?: unknown;
|
|
116
|
+
temperature?: unknown;
|
|
117
|
+
} | undefined;
|
|
118
|
+
canonicalization?: EvalCassetteCanonicalizationV2;
|
|
119
|
+
}): CassetteFingerprint;
|
|
120
|
+
export declare function cassetteKey(input: Parameters<typeof cassetteFingerprint>[0]): string;
|
|
121
|
+
export declare class CassetteStore {
|
|
122
|
+
private readonly dir;
|
|
123
|
+
private readonly loaded;
|
|
124
|
+
constructor(dir: string);
|
|
125
|
+
get(key: string): CassetteEntry | undefined;
|
|
126
|
+
put(entry: CassetteEntry): void;
|
|
127
|
+
size(): number;
|
|
128
|
+
entries(): CassetteEntry[];
|
|
129
|
+
/**
|
|
130
|
+
* A replay-only runtime with no configured provider still needs the identity
|
|
131
|
+
* that was used to derive cassette keys. Keep that identity in the cassette
|
|
132
|
+
* store rather than guessing a provider from user settings.
|
|
133
|
+
*/
|
|
134
|
+
providerNames(): string[];
|
|
135
|
+
}
|
|
136
|
+
export declare function cassetteEvidenceSummary(store: CassetteStore): CassetteEvidenceSummary;
|
|
137
|
+
export declare class CassetteMissError extends Error {
|
|
138
|
+
readonly key: string;
|
|
139
|
+
readonly fingerprintDiagnostics?: CassetteFingerprintDiagnosticsV2;
|
|
140
|
+
constructor(key: string, operation: string, fingerprintDiagnostics?: CassetteFingerprintDiagnosticsV2);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Wrap a provider so its dispatches are recorded or replayed.
|
|
144
|
+
*
|
|
145
|
+
* On replay of a tool loop the recorded tool calls are RE-INVOKED against the
|
|
146
|
+
* live tools rather than stubbed. The model's choices stay frozen (that is the
|
|
147
|
+
* point), but compilation, validation, and execution still really happen — so
|
|
148
|
+
* the suite keeps catching a broken compiler or a wrong number, which a fully
|
|
149
|
+
* stubbed replay would sail straight past.
|
|
150
|
+
*/
|
|
151
|
+
export declare function withCassette(provider: AgentProvider, store: CassetteStore, mode: CassetteMode, canonicalization?: EvalCassetteCanonicalizationV2): AgentProvider;
|
|
152
|
+
/**
|
|
153
|
+
* Pick the cassette mode from the environment.
|
|
154
|
+
*
|
|
155
|
+
* Defaults to `replay` for ANY value that is not explicitly `record` or `live`,
|
|
156
|
+
* including a missing or misspelled one. If someone sets the cassette directory
|
|
157
|
+
* in CI and forgets the mode, the safe outcome is "never call a live model",
|
|
158
|
+
* not a surprise bill and a non-deterministic suite.
|
|
159
|
+
*/
|
|
160
|
+
export declare function resolveCassetteModeFromEnv(env: Record<string, string | undefined>): CassetteMode;
|
|
161
|
+
/** Where a project's eval cassettes live. */
|
|
162
|
+
export declare function cassetteDirFor(projectRoot: string, suiteName: string): string;
|
|
163
|
+
export { dirname as _dirname };
|
|
164
|
+
//# sourceMappingURL=agent-eval-cassette.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-eval-cassette.d.ts","sourceRoot":"","sources":["../../src/commands/agent-eval-cassette.ts"],"names":[],"mappings":"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"}
|