@devflow-tools/devflow 0.17.8 → 0.18.1
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/LICENSE +21 -0
- package/acceptance-manifest.json +3 -3
- package/dist/cli.js +83 -82
- package/dist/dashboard/404.html +1 -1
- package/dist/dashboard/__next.__PAGE__.txt +22 -0
- package/dist/dashboard/__next._full.txt +17 -0
- package/dist/dashboard/__next._tree.txt +2 -0
- package/dist/dashboard/_next/static/6CYD-iPy8AJdBNyzj3USk/_buildManifest.js +1 -0
- package/dist/dashboard/_next/static/chunks/136-c55134e877048a37.js +1 -0
- package/dist/dashboard/_next/static/chunks/240-8f45a6db4f75278b.js +1 -0
- package/dist/dashboard/_next/static/chunks/426-5d356f119312b4e9.js +1 -0
- package/dist/dashboard/_next/static/chunks/567-65014d15b90b623c.js +1 -0
- package/dist/dashboard/_next/static/chunks/6b3bb038-e03941413841e57b.js +2 -0
- package/dist/dashboard/_next/static/chunks/722-001c96b6723e043d.js +1 -0
- package/dist/dashboard/_next/static/chunks/73-0fe34a8ce87c82ea.js +1 -0
- package/dist/dashboard/_next/static/chunks/820-9606b69ff6f7f9b9.js +1 -0
- package/dist/dashboard/_next/static/chunks/87c73c54-5c63d5698583b654.js +1 -0
- package/dist/dashboard/_next/static/chunks/90-63c7687fddbb45ce.js +1 -0
- package/dist/dashboard/_next/static/chunks/914-7e538089692b7d1b.js +1 -0
- package/dist/dashboard/_next/static/chunks/968-13e9b4b491d5e8de.js +52 -0
- package/dist/dashboard/_next/static/chunks/993-01834e67bc353d44.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/_global-error/page-d786ba6306178164.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/_not-found/page-d0b590a9f2ad206d.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/accuracy/page-72ef9620a52e345e.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/benchmark/page-a6005345a1d9a286.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/context/page-070c5ebfffb71f1b.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/doctor/page-973e0f84ace610ac.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/executions/page-52f9a045f91548cc.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/graph/page-c3487fe2482e734e.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/knowledge/page-e184866ed2e92ef1.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/layout-a28c30513212e363.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/memory/page-36e047153bedfce2.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/page-1daa0024f1e5dd18.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/replay/page-7a6293c77eafe8b4.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/runs/[id]/page-7a92db57d7fb2265.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/runs/page-36baf64267e36b28.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/settings/page-90b4b80e939f76e3.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/timeline/page-c1f1b6c081532456.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/tool-metrics/page-1c5ddf6239cf1734.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/workflows/page-e2ed74df546c3568.js +1 -0
- package/dist/dashboard/_next/static/chunks/framework-3b2aca1ee87fa7ee.js +1 -0
- package/dist/dashboard/_next/static/chunks/main-9bbdbe1dbba0ab29.js +5 -0
- package/dist/dashboard/_next/static/chunks/main-app-44f3d55a6e6befbb.js +1 -0
- package/dist/dashboard/_next/static/chunks/next/dist/client/components/builtin/app-error-d786ba6306178164.js +1 -0
- package/dist/dashboard/_next/static/chunks/next/dist/client/components/builtin/forbidden-d786ba6306178164.js +1 -0
- package/dist/dashboard/_next/static/chunks/next/dist/client/components/builtin/global-error-39f976c070691d89.js +1 -0
- package/dist/dashboard/_next/static/chunks/next/dist/client/components/builtin/not-found-d786ba6306178164.js +1 -0
- package/dist/dashboard/_next/static/chunks/next/dist/client/components/builtin/unauthorized-d786ba6306178164.js +1 -0
- package/dist/dashboard/_next/static/chunks/webpack-5f4649c40b052b9f.js +1 -0
- package/dist/dashboard/_next/static/css/6912a202a7d0c151.css +3 -0
- package/dist/dashboard/_next/static/css/e07f2bf4fa519943.css +31 -0
- package/dist/dashboard/_not-found/__next._full.txt +18 -0
- package/dist/dashboard/_not-found/__next._not-found.__PAGE__.txt +24 -0
- package/dist/dashboard/_not-found/__next._tree.txt +2 -0
- package/dist/dashboard/_not-found.html +1 -0
- package/dist/dashboard/_not-found.txt +18 -0
- package/dist/dashboard/accuracy/__next._full.txt +19 -0
- package/dist/dashboard/accuracy/__next._tree.txt +2 -0
- package/dist/dashboard/accuracy/__next.accuracy.__PAGE__.txt +25 -0
- package/dist/dashboard/accuracy.html +1 -1
- package/dist/dashboard/accuracy.txt +19 -7
- package/dist/dashboard/benchmark/__next._full.txt +19 -0
- package/dist/dashboard/benchmark/__next._tree.txt +2 -0
- package/dist/dashboard/benchmark/__next.benchmark.__PAGE__.txt +25 -0
- package/dist/dashboard/benchmark.html +1 -1
- package/dist/dashboard/benchmark.txt +19 -7
- package/dist/dashboard/context/__next._full.txt +19 -0
- package/dist/dashboard/context/__next._tree.txt +2 -0
- package/dist/dashboard/context/__next.context.__PAGE__.txt +25 -0
- package/dist/dashboard/context.html +1 -1
- package/dist/dashboard/context.txt +19 -7
- package/dist/dashboard/doctor/__next._full.txt +19 -0
- package/dist/dashboard/doctor/__next._tree.txt +2 -0
- package/dist/dashboard/doctor/__next.doctor.__PAGE__.txt +25 -0
- package/dist/dashboard/doctor.html +1 -1
- package/dist/dashboard/doctor.txt +19 -7
- package/dist/dashboard/executions/__next._full.txt +19 -0
- package/dist/dashboard/executions/__next._tree.txt +2 -0
- package/dist/dashboard/executions/__next.executions.__PAGE__.txt +25 -0
- package/dist/dashboard/executions.html +1 -1
- package/dist/dashboard/executions.txt +19 -7
- package/dist/dashboard/graph/__next._full.txt +20 -0
- package/dist/dashboard/graph/__next._tree.txt +3 -0
- package/dist/dashboard/graph/__next.graph.__PAGE__.txt +26 -0
- package/dist/dashboard/graph.html +1 -1
- package/dist/dashboard/graph.txt +20 -7
- package/dist/dashboard/index.html +1 -1
- package/dist/dashboard/index.txt +17 -7
- package/dist/dashboard/knowledge/__next._full.txt +19 -0
- package/dist/dashboard/knowledge/__next._tree.txt +2 -0
- package/dist/dashboard/knowledge/__next.knowledge.__PAGE__.txt +25 -0
- package/dist/dashboard/knowledge.html +1 -1
- package/dist/dashboard/knowledge.txt +19 -7
- package/dist/dashboard/memory/__next._full.txt +19 -0
- package/dist/dashboard/memory/__next._tree.txt +2 -0
- package/dist/dashboard/memory/__next.memory.__PAGE__.txt +25 -0
- package/dist/dashboard/memory.html +1 -1
- package/dist/dashboard/memory.txt +19 -7
- package/dist/dashboard/replay/__next._full.txt +19 -0
- package/dist/dashboard/replay/__next._tree.txt +2 -0
- package/dist/dashboard/replay/__next.replay.__PAGE__.txt +25 -0
- package/dist/dashboard/replay.html +1 -1
- package/dist/dashboard/replay.txt +19 -7
- package/dist/dashboard/runs/_/__next._full.txt +19 -0
- package/dist/dashboard/runs/_/__next._tree.txt +2 -0
- package/dist/dashboard/runs/_/__next.runs.$d$id.__PAGE__.txt +26 -0
- package/dist/dashboard/runs/_.html +1 -1
- package/dist/dashboard/runs/_.txt +19 -8
- package/dist/dashboard/runs/__next._full.txt +19 -0
- package/dist/dashboard/runs/__next._tree.txt +2 -0
- package/dist/dashboard/runs/__next.runs.__PAGE__.txt +25 -0
- package/dist/dashboard/runs.html +1 -1
- package/dist/dashboard/runs.txt +19 -7
- package/dist/dashboard/settings/__next._full.txt +19 -0
- package/dist/dashboard/settings/__next._tree.txt +2 -0
- package/dist/dashboard/settings/__next.settings.__PAGE__.txt +25 -0
- package/dist/dashboard/settings.html +1 -1
- package/dist/dashboard/settings.txt +19 -7
- package/dist/dashboard/timeline/__next._full.txt +19 -0
- package/dist/dashboard/timeline/__next._tree.txt +2 -0
- package/dist/dashboard/timeline/__next.timeline.__PAGE__.txt +25 -0
- package/dist/dashboard/timeline.html +1 -1
- package/dist/dashboard/timeline.txt +19 -7
- package/dist/dashboard/tool-metrics/__next._full.txt +19 -0
- package/dist/dashboard/tool-metrics/__next._tree.txt +2 -0
- package/dist/dashboard/tool-metrics/__next.tool-metrics.__PAGE__.txt +25 -0
- package/dist/dashboard/tool-metrics.html +1 -1
- package/dist/dashboard/tool-metrics.txt +19 -7
- package/dist/dashboard/workflows/__next._full.txt +19 -0
- package/dist/dashboard/workflows/__next._tree.txt +2 -0
- package/dist/dashboard/workflows/__next.workflows.__PAGE__.txt +25 -0
- package/dist/dashboard/workflows.html +1 -1
- package/dist/dashboard/workflows.txt +19 -7
- package/dist/hooks/enforcer-summary.js +3 -3
- package/dist/hooks/hook-client.js +3 -3
- package/dist/hooks/hook-daemon.js +27 -25
- package/dist/hooks/post-tool-use-failure.js +2 -2
- package/dist/hooks/post-tool-use.js +6 -6
- package/dist/hooks/pre-compact.js +3 -3
- package/dist/hooks/pre-tool-use.js +4 -4
- package/dist/hooks/server-bootstrap.js +22 -22
- package/dist/hooks/session-end.js +6 -6
- package/dist/hooks/stop.js +10 -10
- package/dist/hooks/user-prompt-submit.js +11 -9
- package/dist/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/plugin/dist/command-registry.json +5 -5
- package/dist/plugin/dist/hooks/enforcer-summary.js +3 -3
- package/dist/plugin/dist/hooks/hook-client.js +3 -3
- package/dist/plugin/dist/hooks/hook-daemon.js +27 -25
- package/dist/plugin/dist/hooks/post-tool-use-failure.js +2 -2
- package/dist/plugin/dist/hooks/post-tool-use.js +6 -6
- package/dist/plugin/dist/hooks/pre-compact.js +3 -3
- package/dist/plugin/dist/hooks/pre-tool-use.js +4 -4
- package/dist/plugin/dist/hooks/server-bootstrap.js +22 -22
- package/dist/plugin/dist/hooks/session-end.js +6 -6
- package/dist/plugin/dist/hooks/stop.js +10 -10
- package/dist/plugin/dist/hooks/user-prompt-submit.js +11 -9
- package/dist/plugin/package.json +28 -19
- package/dist/scripts/audit-session-data.js +5 -5
- package/dist/scripts/semantic-reliability-maintenance.js +3 -3
- package/package.json +31 -22
- package/plugin-registry.json +57 -57
- package/dist/dashboard/_next/static/TCuEOFM92HCewQsicwfte/_buildManifest.js +0 -1
- package/dist/dashboard/_next/static/chunks/1dd3208c-f3e84932bdc53383.js +0 -1
- package/dist/dashboard/_next/static/chunks/221-893fab1a7d7d9317.js +0 -1
- package/dist/dashboard/_next/static/chunks/249-e04c1de6240fd78a.js +0 -1
- package/dist/dashboard/_next/static/chunks/343-09a7e255220705c5.js +0 -1
- package/dist/dashboard/_next/static/chunks/402-a2e4eb98bb6a524c.js +0 -1
- package/dist/dashboard/_next/static/chunks/429-39f42ebb1ac959d6.js +0 -1
- package/dist/dashboard/_next/static/chunks/458-75822399a849befa.js +0 -1
- package/dist/dashboard/_next/static/chunks/528-7d4fc14903647f1e.js +0 -2
- package/dist/dashboard/_next/static/chunks/568-50487ea5e93fe11f.js +0 -1
- package/dist/dashboard/_next/static/chunks/697-05cf55b6c667773f.js +0 -1
- package/dist/dashboard/_next/static/chunks/6b3bb038-34d5cf36bd0210d6.js +0 -1
- package/dist/dashboard/_next/static/chunks/736-db1a009357c222d2.js +0 -1
- package/dist/dashboard/_next/static/chunks/806-195d4d5cc6c28f6c.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/_not-found/page-5252c260804ee1ce.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/accuracy/page-7b4f3c728a0e880f.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/benchmark/page-6c6d0acbcde4eb85.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/context/page-1874ae1050524cb6.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/doctor/page-d542f2ab8d6a1c59.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/executions/page-9c836597c951abbb.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/graph/page-f0e7e15288791e9c.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/knowledge/page-86808abd0d47c026.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/layout-4b78776412bd4fee.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/memory/page-e05a76b696041097.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/page-c3e980fb2621470c.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/replay/page-a8a465ed885df0cf.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/runs/[id]/page-cc1d5182707fca5b.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/runs/page-bbf0a58abd70430c.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/settings/page-9602ff45892e7910.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/timeline/page-44541ee3e74cee0e.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/tool-metrics/page-ece550f2f4328dfe.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/workflows/page-228bcb475c39c1ec.js +0 -1
- package/dist/dashboard/_next/static/chunks/framework-58c3457e28c4602f.js +0 -1
- package/dist/dashboard/_next/static/chunks/main-3175faffdbfc3051.js +0 -1
- package/dist/dashboard/_next/static/chunks/main-app-202a5f91ead17fa7.js +0 -1
- package/dist/dashboard/_next/static/chunks/pages/_app-58c3f1a8a070bd35.js +0 -1
- package/dist/dashboard/_next/static/chunks/pages/_error-312a564ec7e2663f.js +0 -1
- package/dist/dashboard/_next/static/chunks/webpack-d6388c5dcd85b0c5.js +0 -1
- package/dist/dashboard/_next/static/css/322e14d06135256b.css +0 -31
- package/dist/dashboard/_next/static/css/7d4d1db5aa137b5a.css +0 -3
- /package/dist/dashboard/_next/static/{TCuEOFM92HCewQsicwfte → 6CYD-iPy8AJdBNyzj3USk}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[993],{2809:(e,t,r)=>{r.d(t,{QP:()=>W});let o=(e,t)=>{if(0===e.length)return t.classGroupId;let r=e[0],s=t.nextPart.get(r),n=s?o(e.slice(1),s):void 0;if(n)return n;if(0===t.validators.length)return;let i=e.join("-");return t.validators.find(({validator:e})=>e(i))?.classGroupId},s=/^\[(.+)\]$/,n=(e,t,r,o)=>{e.forEach(e=>{if("string"==typeof e){(""===e?t:i(t,e)).classGroupId=r;return}"function"==typeof e?a(e)?n(e(o),t,r,o):t.validators.push({validator:e,classGroupId:r}):Object.entries(e).forEach(([e,s])=>{n(s,i(t,e),r,o)})})},i=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},a=e=>e.isThemeGetter,l=(e,t)=>t?e.map(([e,r])=>[e,r.map(e=>"string"==typeof e?t+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,r])=>[t+e,r])):e)]):e,c=e=>{if(e.length<=1)return e;let t=[],r=[];return e.forEach(e=>{"["===e[0]?(t.push(...r.sort(),e),r=[]):r.push(e)}),t.push(...r.sort()),t},d=/\s+/;function u(){let e,t,r=0,o="";for(;r<arguments.length;)(e=arguments[r++])&&(t=p(e))&&(o&&(o+=" "),o+=t);return o}let p=e=>{let t;if("string"==typeof e)return e;let r="";for(let o=0;o<e.length;o++)e[o]&&(t=p(e[o]))&&(r&&(r+=" "),r+=t);return r},h=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},b=/^\[(?:([a-z-]+):)?(.+)\]$/i,m=/^\d+\/\d+$/,f=new Set(["px","full","screen"]),g=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,y=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,v=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,x=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,w=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,k=e=>z(e)||f.has(e)||m.test(e),C=e=>A(e,"length",_),z=e=>!!e&&!Number.isNaN(Number(e)),j=e=>A(e,"number",z),M=e=>!!e&&Number.isInteger(Number(e)),P=e=>e.endsWith("%")&&z(e.slice(0,-1)),O=e=>b.test(e),R=e=>g.test(e),S=new Set(["length","size","percentage"]),E=e=>A(e,S,T),G=e=>A(e,"position",T),N=new Set(["image","url"]),I=e=>A(e,N,F),$=e=>A(e,"",U),K=()=>!0,A=(e,t,r)=>{let o=b.exec(e);return!!o&&(o[1]?"string"==typeof t?o[1]===t:t.has(o[1]):r(o[2]))},_=e=>y.test(e)&&!v.test(e),T=()=>!1,U=e=>x.test(e),F=e=>w.test(e),W=function(e){let t,r,i,a=function(c){let d;return r=(t={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=new Map,o=new Map,s=(s,n)=>{r.set(s,n),++t>e&&(t=0,o=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=o.get(e))?(s(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):s(e,t)}}})((d=[].reduce((e,t)=>t(e),e())).cacheSize),parseClassName:(e=>{let{separator:t,experimentalParseClassName:r}=e,o=1===t.length,s=t[0],n=t.length,i=e=>{let r,i=[],a=0,l=0;for(let c=0;c<e.length;c++){let d=e[c];if(0===a){if(d===s&&(o||e.slice(c,c+n)===t)){i.push(e.slice(l,c)),l=c+n;continue}if("/"===d){r=c;continue}}"["===d?a++:"]"===d&&a--}let c=0===i.length?e:e.substring(l),d=c.startsWith("!"),u=d?c.substring(1):c;return{modifiers:i,hasImportantModifier:d,baseClassName:u,maybePostfixModifierPosition:r&&r>l?r-l:void 0}};return r?e=>r({className:e,parseClassName:i}):i})(d),...(e=>{let t=(e=>{let{theme:t,prefix:r}=e,o={nextPart:new Map,validators:[]};return l(Object.entries(e.classGroups),r).forEach(([e,r])=>{n(r,o,e,t)}),o})(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:e=>{let r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),o(r,t)||(e=>{if(s.test(e)){let t=s.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}})(e)},getConflictingClassGroupIds:(e,t)=>{let o=r[e]||[];return t&&i[e]?[...o,...i[e]]:o}}})(d)}).cache.get,i=t.cache.set,a=p,p(c)};function p(e){let o=r(e);if(o)return o;let s=((e,t)=>{let{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:s}=t,n=[],i=e.trim().split(d),a="";for(let e=i.length-1;e>=0;e-=1){let t=i[e],{modifiers:l,hasImportantModifier:d,baseClassName:u,maybePostfixModifierPosition:p}=r(t),h=!!p,b=o(h?u.substring(0,p):u);if(!b){if(!h||!(b=o(u))){a=t+(a.length>0?" "+a:a);continue}h=!1}let m=c(l).join(":"),f=d?m+"!":m,g=f+b;if(n.includes(g))continue;n.push(g);let y=s(b,h);for(let e=0;e<y.length;++e){let t=y[e];n.push(f+t)}a=t+(a.length>0?" "+a:a)}return a})(e,t);return i(e,s),s}return function(){return a(u.apply(null,arguments))}}(()=>{let e=h("colors"),t=h("spacing"),r=h("blur"),o=h("brightness"),s=h("borderColor"),n=h("borderRadius"),i=h("borderSpacing"),a=h("borderWidth"),l=h("contrast"),c=h("grayscale"),d=h("hueRotate"),u=h("invert"),p=h("gap"),b=h("gradientColorStops"),m=h("gradientColorStopPositions"),f=h("inset"),g=h("margin"),y=h("opacity"),v=h("padding"),x=h("saturate"),w=h("scale"),S=h("sepia"),N=h("skew"),A=h("space"),_=h("translate"),T=()=>["auto","contain","none"],U=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto",O,t],W=()=>[O,t],D=()=>["",k,C],Q=()=>["auto",z,O],q=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],L=()=>["solid","dashed","dotted","double","none"],B=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],H=()=>["start","end","center","between","around","evenly","stretch"],J=()=>["","0",O],V=()=>["auto","avoid","all","avoid-page","page","left","right","column"],X=()=>[z,O];return{cacheSize:500,separator:":",theme:{colors:[K],spacing:[k,C],blur:["none","",R,O],brightness:X(),borderColor:[e],borderRadius:["none","","full",R,O],borderSpacing:W(),borderWidth:D(),contrast:X(),grayscale:J(),hueRotate:X(),invert:J(),gap:W(),gradientColorStops:[e],gradientColorStopPositions:[P,C],inset:F(),margin:F(),opacity:X(),padding:W(),saturate:X(),scale:X(),sepia:J(),skew:X(),space:W(),translate:W()},classGroups:{aspect:[{aspect:["auto","square","video",O]}],container:["container"],columns:[{columns:[R]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...q(),O]}],overflow:[{overflow:U()}],"overflow-x":[{"overflow-x":U()}],"overflow-y":[{"overflow-y":U()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[f]}],"inset-x":[{"inset-x":[f]}],"inset-y":[{"inset-y":[f]}],start:[{start:[f]}],end:[{end:[f]}],top:[{top:[f]}],right:[{right:[f]}],bottom:[{bottom:[f]}],left:[{left:[f]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",M,O]}],basis:[{basis:F()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",O]}],grow:[{grow:J()}],shrink:[{shrink:J()}],order:[{order:["first","last","none",M,O]}],"grid-cols":[{"grid-cols":[K]}],"col-start-end":[{col:["auto",{span:["full",M,O]},O]}],"col-start":[{"col-start":Q()}],"col-end":[{"col-end":Q()}],"grid-rows":[{"grid-rows":[K]}],"row-start-end":[{row:["auto",{span:[M,O]},O]}],"row-start":[{"row-start":Q()}],"row-end":[{"row-end":Q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",O]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",O]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...H()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...H(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...H(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[A]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[A]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",O,t]}],"min-w":[{"min-w":[O,t,"min","max","fit"]}],"max-w":[{"max-w":[O,t,"none","full","min","max","fit","prose",{screen:[R]},R]}],h:[{h:[O,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[O,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[O,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[O,t,"auto","min","max","fit"]}],"font-size":[{text:["base",R,C]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",j]}],"font-family":[{font:[K]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",O]}],"line-clamp":[{"line-clamp":["none",z,j]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",k,O]}],"list-image":[{"list-image":["none",O]}],"list-style-type":[{list:["none","disc","decimal",O]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[y]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...L(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",k,C]}],"underline-offset":[{"underline-offset":["auto",k,O]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:W()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",O]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",O]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[y]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...q(),G]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",E]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},I]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[n]}],"rounded-s":[{"rounded-s":[n]}],"rounded-e":[{"rounded-e":[n]}],"rounded-t":[{"rounded-t":[n]}],"rounded-r":[{"rounded-r":[n]}],"rounded-b":[{"rounded-b":[n]}],"rounded-l":[{"rounded-l":[n]}],"rounded-ss":[{"rounded-ss":[n]}],"rounded-se":[{"rounded-se":[n]}],"rounded-ee":[{"rounded-ee":[n]}],"rounded-es":[{"rounded-es":[n]}],"rounded-tl":[{"rounded-tl":[n]}],"rounded-tr":[{"rounded-tr":[n]}],"rounded-br":[{"rounded-br":[n]}],"rounded-bl":[{"rounded-bl":[n]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:[...L(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}],"divide-style":[{divide:L()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...L()]}],"outline-offset":[{"outline-offset":[k,O]}],"outline-w":[{outline:[k,C]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:D()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[k,C]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",R,$]}],"shadow-color":[{shadow:[K]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":[...B(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":B()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[o]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",R,O]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[u]}],saturate:[{saturate:[x]}],sepia:[{sepia:[S]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[u]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[x]}],"backdrop-sepia":[{"backdrop-sepia":[S]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[i]}],"border-spacing-x":[{"border-spacing-x":[i]}],"border-spacing-y":[{"border-spacing-y":[i]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",O]}],duration:[{duration:X()}],ease:[{ease:["linear","in","out","in-out",O]}],delay:[{delay:X()}],animate:[{animate:["none","spin","ping","pulse","bounce",O]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[w]}],"scale-x":[{"scale-x":[w]}],"scale-y":[{"scale-y":[w]}],rotate:[{rotate:[M,O]}],"translate-x":[{"translate-x":[_]}],"translate-y":[{"translate-y":[_]}],"skew-x":[{"skew-x":[N]}],"skew-y":[{"skew-y":[N]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",O]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",O]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":W()}],"scroll-mx":[{"scroll-mx":W()}],"scroll-my":[{"scroll-my":W()}],"scroll-ms":[{"scroll-ms":W()}],"scroll-me":[{"scroll-me":W()}],"scroll-mt":[{"scroll-mt":W()}],"scroll-mr":[{"scroll-mr":W()}],"scroll-mb":[{"scroll-mb":W()}],"scroll-ml":[{"scroll-ml":W()}],"scroll-p":[{"scroll-p":W()}],"scroll-px":[{"scroll-px":W()}],"scroll-py":[{"scroll-py":W()}],"scroll-ps":[{"scroll-ps":W()}],"scroll-pe":[{"scroll-pe":W()}],"scroll-pt":[{"scroll-pt":W()}],"scroll-pr":[{"scroll-pr":W()}],"scroll-pb":[{"scroll-pb":W()}],"scroll-pl":[{"scroll-pl":W()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",O]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[k,C,j]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}})},6407:(e,t,r)=>{r.d(t,{$:()=>a,s:()=>i});var o=r(46676),s=r(19773),n=r(85153),i=class extends s.k{#e;#t;#r;#o;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#r=e.mutationCache,this.#t=[],this.state=e.state||a(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#o?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#s({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#o=(0,n.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#s({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#s({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});let o="pending"===this.state.status,s=!this.#o.canStart();try{if(o)t();else{this.#s({type:"pending",variables:e,isPaused:s}),this.#r.config.onMutate&&await this.#r.config.onMutate(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#s({type:"pending",context:t,variables:e,isPaused:s})}let n=await this.#o.start();return await this.#r.config.onSuccess?.(n,e,this.state.context,this,r),await this.options.onSuccess?.(n,e,this.state.context,r),await this.#r.config.onSettled?.(n,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(n,null,e,this.state.context,r),this.#s({type:"success",data:n}),n}catch(t){try{await this.#r.config.onError?.(t,e,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,r)}catch(e){Promise.reject(e)}try{await this.#r.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,r)}catch(e){Promise.reject(e)}throw this.#s({type:"error",error:t}),t}finally{this.#r.runNext(this)}}#s(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),o.jG.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#r.notify({mutation:this,type:"updated",action:e})})}};function a(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},9917:(e,t,r)=>{r.d(t,{$:()=>o});function o(){for(var e,t,r=0,o="",s=arguments.length;r<s;r++)(e=arguments[r])&&(t=function e(t){var r,o,s="";if("string"==typeof t||"number"==typeof t)s+=t;else if("object"==typeof t)if(Array.isArray(t)){var n=t.length;for(r=0;r<n;r++)t[r]&&(o=e(t[r]))&&(s&&(s+=" "),s+=o)}else for(o in t)t[o]&&(s&&(s+=" "),s+=o);return s}(e))&&(o&&(o+=" "),o+=t);return o}},19053:(e,t,r)=>{r.d(t,{n:()=>d});var o=r(7620),s=r(6407),n=r(46676),i=r(18517),a=r(91961),l=class extends i.Q{#e;#n=void 0;#i;#a;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#l()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,a.f8)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#i,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,a.EN)(t.mutationKey)!==(0,a.EN)(this.options.mutationKey)?this.reset():this.#i?.state.status==="pending"&&this.#i.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#i?.removeObserver(this)}onMutationUpdate(e){this.#l(),this.#c(e)}getCurrentResult(){return this.#n}reset(){this.#i?.removeObserver(this),this.#i=void 0,this.#l(),this.#c()}mutate(e,t){return this.#a=t,this.#i?.removeObserver(this),this.#i=this.#e.getMutationCache().build(this.#e,this.options),this.#i.addObserver(this),this.#i.execute(e)}#l(){let e=this.#i?.state??(0,s.$)();this.#n={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#c(e){n.jG.batch(()=>{if(this.#a&&this.hasListeners()){let t=this.#n.variables,r=this.#n.context,o={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#a.onSuccess?.(e.data,t,r,o)}catch(e){Promise.reject(e)}try{this.#a.onSettled?.(e.data,null,t,r,o)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#a.onError?.(e.error,t,r,o)}catch(e){Promise.reject(e)}try{this.#a.onSettled?.(void 0,e.error,t,r,o)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#n)})})}},c=r(68728);function d(e,t){let r=(0,c.jE)(t),[s]=o.useState(()=>new l(r,e));o.useEffect(()=>{s.setOptions(e)},[s,e]);let i=o.useSyncExternalStore(o.useCallback(e=>s.subscribe(n.jG.batchCalls(e)),[s]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),d=o.useCallback((e,t)=>{s.mutate(e,t).catch(a.lQ)},[s]);if(i.error&&(0,a.GU)(s.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:d,mutateAsync:i.mutate}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[167,819,851,896,988],{51680:()=>{}},_=>{_.O(0,[587,968,358],()=>_(_.s=51680)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[492],{35230:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return o}});let r=l(54568),n=l(46961);function o({status:e,message:t}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("title",{children:`${e}: ${t}`}),(0,r.jsx)("div",{style:n.styles.error,children:(0,r.jsxs)("div",{children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,r.jsx)("h1",{className:"next-error-h1",style:n.styles.h1,children:e}),(0,r.jsx)("div",{style:n.styles.desc,children:(0,r.jsx)("h2",{style:n.styles.h2,children:t})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},46961:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"styles",{enumerable:!0,get:function(){return l}});let l={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},63496:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=l(54568),n=l(35230),o=function(){return(0,r.jsx)("html",{children:(0,r.jsx)("body",{children:(0,r.jsx)(n.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})})})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},87455:(e,t,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return l(63496)}])}},e=>{e.O(0,[587,968,358],()=>e(e.s=87455)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[690],{928:(e,t,r)=>{"use strict";r.d(t,{AccuracyView:()=>c});var s=r(54568),a=r(7620),n=r(89531),i=r(6026),l=r(28465),d=r(86914),o=r(32715);function c(){(0,o.v)("accuracy",[["accuracy-stats"],["accuracy-queries"],["auto-check"]]);let[e,t]=(0,a.useState)(""),{data:r}=(0,d.CU)(e||void 0),{data:c}=(0,d.zg)({engine:e||void 0,status:"unannotated",limit:20}),{data:u}=(0,d.d6)(),m=(0,d.gM)(),f=r??{},x=Array.isArray(c)?c:[],h=Array.isArray(u)?u:[],g=(0,a.useCallback)((e,t)=>{m.mutate({queryId:e,relevance:t})},[m]);return(0,s.jsxs)("div",{className:"p-6 space-y-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("h2",{className:"text-xl font-semibold",children:"Accuracy"}),(0,s.jsxs)("select",{value:e,onChange:e=>t(e.target.value),className:"border rounded px-2 py-1 text-sm bg-background",children:[(0,s.jsx)("option",{value:"",children:"All Engines"}),(0,s.jsx)("option",{value:"codegraph",children:"CodeGraph"}),(0,s.jsx)("option",{value:"knowledge",children:"Knowledge"}),(0,s.jsx)("option",{value:"memory",children:"Memory"})]})]}),h.length>0&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("h3",{className:"text-sm font-medium",children:"Auto Check Results"}),h.map(e=>(0,s.jsxs)("div",{className:`flex items-center gap-3 p-2 rounded text-sm ${"error"===e.severity?"bg-red-50 dark:bg-red-950 border border-red-300":"warning"===e.severity?"bg-yellow-50 dark:bg-yellow-950 border border-yellow-300":"bg-green-50 dark:bg-green-950 border border-green-300"}`,children:[(0,s.jsx)(i.E,{variant:"ok"===e.severity?"default":"destructive",children:e.severity}),(0,s.jsx)("span",{className:"flex-1",children:e.detail})]},e.name))]}),Object.keys(f).length>0&&(0,s.jsx)("div",{className:"grid grid-cols-3 gap-4",children:Object.entries(f).map(([e,t])=>(0,s.jsxs)(n.Zp,{className:"p-4 space-y-2",children:[(0,s.jsx)("h3",{className:"font-medium text-sm capitalize",children:e}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Queries"}),(0,s.jsx)("span",{className:"font-semibold text-right",children:t.totalQueries}),(0,s.jsx)("span",{className:"text-muted-foreground",children:"Annotated"}),(0,s.jsx)("span",{className:"font-semibold text-right",children:t.annotatedQueries}),(0,s.jsx)("span",{className:"text-muted-foreground",children:"Hit Rate"}),(0,s.jsx)("span",{className:"font-semibold text-right",children:null!=t.hitRate?`${Math.round(100*t.hitRate)}%`:"N/A"})]})]},e))}),x.length>0&&(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("h3",{className:"text-sm font-medium",children:["Annotation Queue (",x.length," unannotated)"]}),x.slice(0,10).map(e=>(0,s.jsxs)(n.Zp,{className:"p-3 space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(i.E,{variant:"outline",children:e.engine}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:new Date(e.createdAt).toLocaleString()})]}),(0,s.jsx)("p",{className:"text-sm font-mono",children:e.query}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Top results: ",e.topKResults?.slice(0,3).map(e=>e.name??e.title).join(", ")||"none"]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(l.$,{size:"sm",variant:"default",onClick:()=>g(e.id,"hit"),children:"Hit"}),(0,s.jsx)(l.$,{size:"sm",variant:"secondary",onClick:()=>g(e.id,"partial"),children:"Partial"}),(0,s.jsx)(l.$,{size:"sm",variant:"destructive",onClick:()=>g(e.id,"miss"),children:"Miss"})]})]},e.id))]}),0===Object.keys(f).length&&0===x.length&&0===h.length&&(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:"No accuracy data yet. Start a Claude Code session to collect queries."})]})}},6026:(e,t,r)=>{"use strict";r.d(t,{E:()=>i});var s=r(54568);r(7620);var a=r(64318);let n=(0,r(91397).F)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:t,...r}){return(0,s.jsx)("div",{className:(0,a.cn)(n({variant:t}),e),...r})}},21617:(e,t,r)=>{Promise.resolve().then(r.bind(r,928))},28465:(e,t,r)=>{"use strict";r.d(t,{$:()=>l});var s=r(54568),a=r(7620),n=r(64318);let i=(0,r(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),l=a.forwardRef(({className:e,variant:t,size:r,...a},l)=>(0,s.jsx)("button",{className:(0,n.cn)(i({variant:t,size:r,className:e})),ref:l,...a}));l.displayName="Button"},32715:(e,t,r)=>{"use strict";r.d(t,{h:()=>l,v:()=>d});var s=r(7620),a=r(68728),n=r(98368);async function i(e,t,r){let s=await fetch(`${(0,n.Ez)()}/api${e}`,{headers:(0,n.PK)(),credentials:"same-origin",signal:t});if(!s.ok||!s.body)throw Error(`SSE ${s.status}`);let a=s.body.getReader(),i=new TextDecoder,l="";for(;!t.aborted;){let{value:e,done:t}=await a.read();if(t)break;let s=(l+=i.decode(e,{stream:!0})).split("\n\n");for(let e of(l=s.pop()??"",s)){let t="message",s=[];for(let r of e.split("\n"))r.startsWith("event:")&&(t=r.slice(6).trim()),r.startsWith("data:")&&s.push(r.slice(5).trim());if(0!==s.length)try{r({type:t,data:JSON.parse(s.join("\n"))})}catch{}}}}function l(e){let[t,r]=(0,s.useState)([]);return(0,s.useEffect)(()=>{if(!e)return;let t=new AbortController;return i(`/workflows/runs/${encodeURIComponent(e)}/stream`,t.signal,e=>r(t=>[...t,e])).catch(()=>void 0),()=>t.abort()},[e]),{events:t,clear:(0,s.useCallback)(()=>r([]),[])}}function d(e,t){let r=(0,a.jE)(),n=JSON.stringify(t);(0,s.useEffect)(()=>{let t=new AbortController,s=JSON.parse(n);return i(`/live/stream?channels=${encodeURIComponent(e)}`,t.signal,t=>{if("refresh"===t.type&&t.data.channel===e)for(let e of s)r.invalidateQueries({queryKey:e})}).catch(()=>void 0),()=>t.abort()},[e,r,n])}},64318:(e,t,r)=>{"use strict";r.d(t,{cn:()=>n});var s=r(9917),a=r(2809);function n(...e){return(0,a.QP)((0,s.$)(e))}},89531:(e,t,r)=>{"use strict";r.d(t,{Wu:()=>o,ZB:()=>d,Zp:()=>i,aR:()=>l});var s=r(54568),a=r(7620),n=r(64318);let i=a.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,n.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...t}));i.displayName="Card";let l=a.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,n.cn)("flex flex-col space-y-1.5 p-4",e),...t}));l.displayName="CardHeader";let d=a.forwardRef(({className:e,...t},r)=>(0,s.jsx)("h3",{ref:r,className:(0,n.cn)("text-sm font-semibold leading-none tracking-tight",e),...t}));d.displayName="CardTitle";let o=a.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,n.cn)("p-4 pt-0",e),...t}));o.displayName="CardContent"},91397:(e,t,r)=>{"use strict";r.d(t,{F:()=>i});var s=r(9917);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=s.$,i=(e,t)=>r=>{var s;if((null==t?void 0:t.variants)==null)return n(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:i,defaultVariants:l}=t,d=Object.keys(i).map(e=>{let t=null==r?void 0:r[e],s=null==l?void 0:l[e];if(null===t)return null;let n=a(t)||a(s);return i[e][n]}),o=r&&Object.entries(r).reduce((e,t)=>{let[r,s]=t;return void 0===s||(e[r]=s),e},{});return n(e,d,null==t||null==(s=t.compoundVariants)?void 0:s.reduce((e,t)=>{let{class:r,className:s,...a}=t;return Object.entries(a).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...l,...o}[t]):({...l,...o})[t]===r})?[...e,r,s]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}}},e=>{e.O(0,[820,993,914,587,968,358],()=>e(e.s=21617)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[586],{6026:(e,s,a)=>{"use strict";a.d(s,{E:()=>i});var t=a(54568);a(7620);var r=a(64318);let n=(0,a(91397).F)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:s,...a}){return(0,t.jsx)("div",{className:(0,r.cn)(n({variant:s}),e),...a})}},12165:(e,s,a)=>{"use strict";a.d(s,{Xi:()=>c,av:()=>o,j7:()=>d,tU:()=>l});var t=a(54568),r=a(7620),n=a(50426),i=a(64318);let l=n.bL,d=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)(n.B8,{ref:a,className:(0,i.cn)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...s}));d.displayName=n.B8.displayName;let c=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)(n.l9,{ref:a,className:(0,i.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...s}));c.displayName=n.l9.displayName;let o=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)(n.UC,{ref:a,className:(0,i.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...s}));o.displayName=n.UC.displayName},28465:(e,s,a)=>{"use strict";a.d(s,{$:()=>l});var t=a(54568),r=a(7620),n=a(64318);let i=(0,a(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),l=r.forwardRef(({className:e,variant:s,size:a,...r},l)=>(0,t.jsx)("button",{className:(0,n.cn)(i({variant:s,size:a,className:e})),ref:l,...r}));l.displayName="Button"},37270:(e,s,a)=>{"use strict";a.d(s,{A:()=>t});let t=(0,a(81007).A)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},40766:(e,s,a)=>{"use strict";a.d(s,{A:()=>t});let t=(0,a(81007).A)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]])},40876:(e,s,a)=>{"use strict";a.d(s,{c:()=>d});var t=a(54568),r=a(89531),n=a(6026),i=a(64567),l=a(86914);function d(){let{t:e}=(0,i.Bd)(),s=localStorage.getItem("devflow-active-project-root")||void 0,{data:a=[],isLoading:d,error:c}=(0,l.HG)(s);if(d)return(0,t.jsx)("div",{children:e("benchmark.loading")});if(c)return(0,t.jsxs)(r.Zp,{children:[(0,t.jsx)(r.aR,{children:(0,t.jsx)(r.ZB,{children:e("benchmark.pluginAnalysis")})}),(0,t.jsx)(r.Wu,{children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("benchmark.loadFailed",{error:String(c)})})})]});let o=a.filter(e=>"install"===e.recommendation),m=a.filter(e=>"remove"===e.recommendation);return(0,t.jsxs)(r.Zp,{children:[(0,t.jsx)(r.aR,{children:(0,t.jsx)(r.ZB,{children:e("benchmark.pluginAnalysis")})}),(0,t.jsxs)(r.Wu,{className:"space-y-6",children:[o.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"font-semibold mb-2 text-green-600",children:e("benchmark.recommendedInstall")}),(0,t.jsx)("div",{className:"space-y-2",children:o.map(s=>(0,t.jsxs)("div",{className:"border rounded p-3 space-y-2",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center",children:[(0,t.jsx)("span",{className:"font-medium",children:s.name}),(0,t.jsx)(n.E,{variant:"default",children:e("benchmark.recommended")})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[(0,t.jsxs)("div",{children:[e("benchmark.installCount"),": ",s.installCount]}),(0,t.jsxs)("div",{children:[e("benchmark.usageRate"),": ",((s?.activeRate??0)*100).toFixed(0),"%"]}),(0,t.jsxs)("div",{children:[e("benchmark.successRateShort"),": ",((s?.successRate??0)*100).toFixed(0),"%"]}),(0,t.jsxs)("div",{children:[e("benchmark.tokenImpact"),": ",(s?.avgTokenImpact??0).toFixed(0)]})]}),s.lastUsedAt&&(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[e("benchmark.lastUsed"),": ",new Date(s.lastUsedAt).toLocaleDateString()]})]},s.name))})]}),m.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"font-semibold mb-2 text-red-600",children:e("benchmark.suggestedRemove")}),(0,t.jsx)("div",{className:"space-y-2",children:m.map(s=>(0,t.jsxs)("div",{className:"border rounded p-3 space-y-2",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center",children:[(0,t.jsx)("span",{className:"font-medium",children:s.name}),(0,t.jsx)(n.E,{variant:"destructive",children:e("benchmark.lowEfficiency")})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[(0,t.jsxs)("div",{children:[e("benchmark.installCount"),": ",s.installCount]}),(0,t.jsxs)("div",{children:[e("benchmark.usageRate"),": ",((s?.activeRate??0)*100).toFixed(0),"%"]}),(0,t.jsxs)("div",{children:[e("benchmark.successRateShort"),": ",((s?.successRate??0)*100).toFixed(0),"%"]})]})]},s.name))})]}),0===a.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("benchmark.noPluginData")})]})]})}},56307:(e,s,a)=>{Promise.resolve().then(a.bind(a,79827))},63264:(e,s,a)=>{"use strict";a.d(s,{A:()=>t});let t=(0,a(81007).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},63322:(e,s,a)=>{"use strict";a.d(s,{A:()=>t});let t=(0,a(81007).A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},64318:(e,s,a)=>{"use strict";a.d(s,{cn:()=>n});var t=a(9917),r=a(2809);function n(...e){return(0,r.QP)((0,t.$)(e))}},73599:(e,s,a)=>{"use strict";a.d(s,{A:()=>t});let t=(0,a(81007).A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},78914:(e,s,a)=>{"use strict";a.d(s,{A:()=>t});let t=(0,a(81007).A)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},79827:(e,s,a)=>{"use strict";a.d(s,{BenchmarkView:()=>N});var t=a(54568),r=a(7620),n=a(81007);let i=(0,n.A)("Beaker",[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]]);var l=a(37270),d=a(78914),c=a(40766);let o=(0,n.A)("Files",[["path",{d:"M20 7h-3a2 2 0 0 1-2-2V2",key:"x099mo"}],["path",{d:"M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z",key:"18t6ie"}],["path",{d:"M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8",key:"1nja0z"}]]);var m=a(63322),x=a(73599),h=a(63264),u=a(64567),f=a(86914),v=a(89531);function g(){let{t:e}=(0,u.Bd)(),{data:s,isLoading:a,error:r}=(0,f.WJ)(7);if(a)return(0,t.jsx)("div",{children:e("benchmark.loading")});if(r||!s?.overview)return(0,t.jsxs)(v.Zp,{children:[(0,t.jsx)(v.aR,{children:(0,t.jsx)(v.ZB,{children:e("benchmark.opsSummary")})}),(0,t.jsx)(v.Wu,{children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:r?e("benchmark.loadFailed",{error:String(r)}):e("benchmark.noOpsData")})})]});let n=s.overview;return(0,t.jsxs)(v.Zp,{children:[(0,t.jsx)(v.aR,{children:(0,t.jsx)(v.ZB,{children:e("benchmark.opsSummary")})}),(0,t.jsx)(v.Wu,{className:"space-y-4",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("benchmark.totalRunsCount")}),(0,t.jsx)("p",{className:"text-2xl font-bold",children:n?.totalRuns??0})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("benchmark.successRatePercent")}),(0,t.jsxs)("p",{className:"text-2xl font-bold",children:[(n?.firstPassSuccessRate??0).toFixed(1),"%"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("benchmark.avgDurationTime")}),(0,t.jsxs)("p",{className:"text-2xl font-bold",children:[((n?.avgDuration??0)/1e3).toFixed(1),"s"]})]})]})})]})}var b=a(40876),p=a(12165),j=a(28465);let k=[7,14,30];function N(){let{t:e}=(0,u.Bd)(),[s,a]=(0,r.useState)(7),n=(0,f.YZ)(),c=(0,f.WJ)(s);return(0,t.jsx)("div",{className:"h-full overflow-y-auto p-4 md:p-6",children:(0,t.jsxs)("div",{className:"mx-auto max-w-6xl space-y-5",children:[(0,t.jsx)("div",{className:"flex flex-wrap items-end justify-between gap-3",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold",children:e("benchmark.title")}),n.data&&(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[n.data.suiteName," \xb7 v",n.data.suiteVersion," \xb7 ",new Date(n.data.createdAt).toLocaleString()]})]})}),(0,t.jsxs)(p.tU,{defaultValue:"experiment",className:"space-y-5",children:[(0,t.jsxs)(p.j7,{children:[(0,t.jsxs)(p.Xi,{value:"experiment",children:[(0,t.jsx)(i,{className:"mr-2 h-4 w-4"}),e("benchmark.experimentTab","A/B Benchmark")]}),(0,t.jsxs)(p.Xi,{value:"operations",children:[(0,t.jsx)(l.A,{className:"mr-2 h-4 w-4"}),e("benchmark.operationsTab","Operations")]})]}),(0,t.jsx)(p.av,{value:"experiment",className:"space-y-4",children:(0,t.jsx)(y,{report:n.data??null,loading:n.isLoading,error:n.error})}),(0,t.jsxs)(p.av,{value:"operations",className:"space-y-4",children:[(0,t.jsx)("div",{className:"flex justify-end gap-1",children:k.map(e=>(0,t.jsxs)(j.$,{size:"sm",variant:e===s?"default":"outline",onClick:()=>a(e),children:[e,"d"]},e))}),c.isLoading?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("benchmark.loading")}):c.data?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(v.Zp,{children:[(0,t.jsx)(v.aR,{children:(0,t.jsxs)(v.ZB,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(d.A,{className:"h-4 w-4"}),e("benchmark.overview")]})}),(0,t.jsxs)(v.Wu,{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:[(0,t.jsx)(R,{label:e("benchmark.totalRuns"),value:c.data.overview.totalRuns}),(0,t.jsx)(R,{label:e("benchmark.completed"),value:c.data.overview.completedRuns}),(0,t.jsx)(R,{label:e("benchmark.failed"),value:c.data.overview.failedRuns}),(0,t.jsx)(R,{label:e("benchmark.avgDuration"),value:`${(c.data.overview.avgDuration/1e3).toFixed(1)}s`})]})]}),(0,t.jsx)(g,{}),(0,t.jsx)(b.c,{})]}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("benchmark.noOpsData")})]})]})]})})}function y({report:e,loading:s,error:a}){let{t:r}=(0,u.Bd)();if(s)return(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:r("benchmark.loading")});if(a)return(0,t.jsx)("p",{className:"text-sm text-destructive",children:r("benchmark.loadFailed",{error:a.message})});if(!e)return(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:r("benchmark.noReports")});let n=e.summary.baseline,i=e.summary.devflow;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[(0,t.jsx)(w,{icon:c.A,label:r("benchmark.avgTokens"),baseline:n.avgTokensUsed.toFixed(0),devflow:i.avgTokensUsed.toFixed(0)}),(0,t.jsx)(w,{icon:o,label:r("benchmark.filesTouched"),baseline:n.avgFilesTouched.toFixed(1),devflow:i.avgFilesTouched.toFixed(1)}),(0,t.jsx)(w,{icon:m.A,label:r("benchmark.correctness"),baseline:A(n.avgCorrectnessScore),devflow:A(i.avgCorrectnessScore)}),(0,t.jsx)(w,{icon:x.A,label:r("benchmark.avgDuration"),baseline:`${n.avgDurationMs.toFixed(1)}ms`,devflow:`${i.avgDurationMs.toFixed(1)}ms`})]}),e.regressions.length>0&&(0,t.jsxs)("div",{className:"flex gap-3 border border-amber-500/40 bg-amber-500/10 p-3 text-sm text-amber-800 dark:text-amber-200",children:[(0,t.jsx)(h.A,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium",children:r("benchmark.regressions")}),e.regressions.map(e=>(0,t.jsx)("p",{children:e.message},e.metric))]})]}),(0,t.jsxs)(v.Zp,{children:[(0,t.jsx)(v.aR,{children:(0,t.jsx)(v.ZB,{className:"text-base",children:r("benchmark.detailedResults")})}),(0,t.jsx)(v.Wu,{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full min-w-[680px] text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b text-left text-muted-foreground",children:[(0,t.jsx)("th",{className:"pb-2",children:r("benchmark.task")}),(0,t.jsx)("th",{className:"pb-2 text-right",children:r("benchmark.baselineCorrectness")}),(0,t.jsx)("th",{className:"pb-2 text-right",children:r("benchmark.devflowCorrectness")}),(0,t.jsx)("th",{className:"pb-2 text-right",children:r("benchmark.baselineTokens")}),(0,t.jsx)("th",{className:"pb-2 text-right",children:r("benchmark.devflowTokens")})]})}),(0,t.jsx)("tbody",{children:e.tasks.map(e=>(0,t.jsxs)("tr",{className:"border-b last:border-0",children:[(0,t.jsx)("td",{className:"py-2 font-mono text-xs",children:e.taskId}),(0,t.jsx)("td",{className:"py-2 text-right",children:A(e.baseline.correctnessScore)}),(0,t.jsx)("td",{className:"py-2 text-right",children:A(e.devflow.correctnessScore)}),(0,t.jsx)("td",{className:"py-2 text-right",children:e.baseline.tokensUsed.toFixed(0)}),(0,t.jsx)("td",{className:"py-2 text-right",children:e.devflow.tokensUsed.toFixed(0)})]},e.taskId))})]})})]})]})}function w({icon:e,label:s,baseline:a,devflow:r}){let{t:n}=(0,u.Bd)();return(0,t.jsx)(v.Zp,{children:(0,t.jsxs)(v.Wu,{className:"p-4",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(e,{className:"h-4 w-4"})," ",s]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,t.jsx)(R,{label:n("benchmark.baseline"),value:a}),(0,t.jsx)(R,{label:n("benchmark.devflow"),value:r})]})]})})}function R({label:e,value:s}){return(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"text-lg font-semibold",children:s})]})}function A(e){return`${(100*e).toFixed(1)}%`}},89531:(e,s,a)=>{"use strict";a.d(s,{Wu:()=>c,ZB:()=>d,Zp:()=>i,aR:()=>l});var t=a(54568),r=a(7620),n=a(64318);let i=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,n.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...s}));i.displayName="Card";let l=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,n.cn)("flex flex-col space-y-1.5 p-4",e),...s}));l.displayName="CardHeader";let d=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)("h3",{ref:a,className:(0,n.cn)("text-sm font-semibold leading-none tracking-tight",e),...s}));d.displayName="CardTitle";let c=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,n.cn)("p-4 pt-0",e),...s}));c.displayName="CardContent"}},e=>{e.O(0,[820,567,993,90,426,914,587,968,358],()=>e(e.s=56307)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[114],{638:(e,t,s)=>{"use strict";s.d(t,{C:()=>c});var r=s(19851);let n="devflow-project-root",a="devflow-active-project-root";function l(e){try{return localStorage.getItem(e)}catch{return null}}function i(e,t){try{null===t?localStorage.removeItem(e):localStorage.setItem(e,t)}catch{}}let c=(0,r.vt)(e=>({selectedNodeId:null,detailTab:"properties",searchQuery:"",projectRoot:l(n),activeProjectRoot:l(a),selectedRunId:null,selectNode:t=>e({selectedNodeId:t}),setDetailTab:t=>e({detailTab:t}),setSearchQuery:t=>e({searchQuery:t}),setProjectRoot:t=>{i(n,t),e({projectRoot:t})},setActiveProjectRoot:t=>{i(a,t),e({activeProjectRoot:t})},setSelectedRunId:t=>e({selectedRunId:t})}))},3140:(e,t,s)=>{"use strict";e.exports=s(48558)},8490:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},19851:(e,t,s)=>{"use strict";s.d(t,{vt:()=>d});var r=s(27650),n=s(7620),a=s(3140);let{useDebugValue:l}=n,{useSyncExternalStoreWithSelector:i}=a,c=!1,o=e=>{"function"!=typeof e&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t="function"==typeof e?(0,r.y)(e):e,s=(e,s)=>(function(e,t=e=>e,s){s&&!c&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),c=!0);let r=i(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,s);return l(r),r})(t,e,s);return Object.assign(s,t),s},d=e=>e?o(e):o},23555:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},23623:(e,t,s)=>{"use strict";s.d(t,{p:()=>l});var r=s(54568),n=s(7620),a=s(64318);let l=n.forwardRef(({className:e,type:t,...s},n)=>(0,r.jsx)("input",{type:t,className:(0,a.cn)("flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...s}));l.displayName="Input"},27650:(e,t,s)=>{"use strict";s.d(t,{y:()=>n});let r=e=>{let t,s=new Set,r=(e,r)=>{let n="function"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=r?r:"object"!=typeof n||null===n)?n:Object.assign({},t,n),s.forEach(s=>s(t,e))}},n=()=>t,a={setState:r,getState:n,getInitialState:()=>l,subscribe:e=>(s.add(e),()=>s.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),s.clear()}},l=t=e(r,n,a);return a},n=e=>e?r(e):r},28465:(e,t,s)=>{"use strict";s.d(t,{$:()=>i});var r=s(54568),n=s(7620),a=s(64318);let l=(0,s(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),i=n.forwardRef(({className:e,variant:t,size:s,...n},i)=>(0,r.jsx)("button",{className:(0,a.cn)(l({variant:t,size:s,className:e})),ref:i,...n}));i.displayName="Button"},36645:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},38688:(e,t,s)=>{"use strict";s.d(t,{ContextViewer:()=>j});var r=s(54568),n=s(7620),a=s(86914),l=s(638),i=s(28465),c=s(89531),o=s(23623),d=s(23555),u=s(81007);let x=(0,u.A)("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var m=s(63264),h=s(8490);let p=(0,u.A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),f=(0,u.A)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var v=s(36645),g=s(64567);function j(){let{t:e}=(0,g.Bd)(),[t,s]=(0,n.useState)(""),[u,j]=(0,n.useState)(!1),[y,b]=(0,n.useState)({}),N=(0,l.C)(e=>e.activeProjectRoot),k=(0,a.Vz)(),w=(0,a.y4)(),{data:R}=(0,a.Ol)(),{data:A}=(0,a.z$)(),C=(0,a.lb)(),S=u?A:R,E=u?w.isPending:k.isPending,Z=()=>{t.trim()&&(b({}),u?w.mutate({query:t,mode:"fast"}):k.mutate({query:t,mode:"fast"}))},M=e=>{t.trim()&&(b({[t]:e}),C.mutate({query:t,feedback:e,projectRoot:N??void 0,taskType:u&&A?A.taskType:void 0,contextMode:u?"task":"general",tokenCount:S?.tokenCount}))};return(0,r.jsxs)("div",{className:"p-6 space-y-4 h-full overflow-y-auto",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-2xl font-bold",children:e("context.title")}),(0,r.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)("input",{type:"checkbox",checked:u,onChange:e=>j(e.target.checked),className:"rounded"}),e("context.taskMode")]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.p,{placeholder:e("context.placeholder"),value:t,onChange:e=>s(e.target.value),onKeyDown:e=>"Enter"===e.key&&Z()}),(0,r.jsxs)(i.$,{onClick:Z,disabled:E,children:[(0,r.jsx)(d.A,{className:"h-4 w-4 mr-1"})," ",e("context.build")]})]}),E&&(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:e("context.building")}),S&&(0,r.jsxs)(r.Fragment,{children:[!u&&R&&(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsx)(c.ZB,{children:e("context.results",{files:R.files.length,tokens:R.tokenCount})})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-3",children:R.files.map((e,t)=>(0,r.jsxs)("div",{className:"p-3 rounded-md bg-secondary/50",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground font-mono",children:e.path}),(0,r.jsx)("pre",{className:"text-xs mt-1 overflow-x-auto whitespace-pre-wrap",children:e.snippet})]},t))})})]}),u&&A&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c.Zp,{children:(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center justify-between",children:[(0,r.jsxs)("span",{children:[e("context.taskContext"),": ",A.taskType]}),(0,r.jsx)("span",{className:"text-sm font-normal text-muted-foreground",children:e("context.confidenceTokens",{confidence:(100*A.confidence).toFixed(0),tokens:A.tokenCount})})]})})}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(x,{className:"h-4 w-4"}),e("context.requiredFiles")," (",A.requiredFiles.files.length,")"]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-1",children:A.requiredFiles.files.map(e=>(0,r.jsxs)("div",{className:"text-sm font-mono text-green-700 dark:text-green-400",children:["● ",e]},e))})})]}),A.optionalFiles.files.length>0&&(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(x,{className:"h-4 w-4"}),e("context.optionalFiles")," (",A.optionalFiles.files.length,")"]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-1",children:A.optionalFiles.files.map(e=>(0,r.jsxs)("div",{className:"text-sm font-mono text-muted-foreground",children:["○ ",e]},e))})})]}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{children:[e("context.keySymbols")," (",A.keySymbols.length,")"]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:A.keySymbols.slice(0,10).map(t=>(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:`text-xs px-1.5 py-0.5 rounded ${"direct"===t.relevance?"bg-green-100 text-green-700":"bg-gray-100 text-gray-500"}`,children:"direct"===t.relevance?e("context.relevanceDirect"):e("context.relevanceIndirect")}),(0,r.jsx)("span",{className:"text-sm font-medium",children:t.name}),(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",t.kind,")"]}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground font-mono ml-auto",children:t.file})]},`${t.file}:${t.name}`))})})]}),A.riskHints.length>0&&(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(m.A,{className:"h-4 w-4"}),e("context.riskHints")," (",A.riskHints.length,")"]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:A.riskHints.map((t,s)=>(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:`mt-0.5 px-1.5 py-0.5 rounded text-xs font-medium ${"high"===t.level?"bg-red-100 text-red-700":"medium"===t.level?"bg-yellow-100 text-yellow-700":"bg-gray-100 text-gray-600"}`,children:"high"===t.level?e("context.levelHigh"):"medium"===t.level?e("context.levelMedium"):e("context.levelLow")}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm font-medium",children:t.category}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t.description})]})]},s))})})]}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(h.A,{className:"h-4 w-4"}),e("context.nextActions")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:A.nextActions.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-blue-100 text-blue-700 text-xs",children:e.kind}),(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:e.payload})]},t))})})]})]}),S&&(0,r.jsx)(c.Zp,{children:(0,r.jsx)(c.Wu,{className:"p-4",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-sm text-muted-foreground mr-2",children:e("context.wasHelpful")}),(0,r.jsxs)(i.$,{size:"sm",variant:"hit"===y[t]?"default":"outline",onClick:()=>M("hit"),disabled:C.isPending,children:[(0,r.jsx)(p,{className:"h-3 w-3 mr-1"})," ",e("context.hit")]}),(0,r.jsxs)(i.$,{size:"sm",variant:"partial"===y[t]?"default":"outline",onClick:()=>M("partial"),disabled:C.isPending,children:[(0,r.jsx)(f,{className:"h-3 w-3 mr-1"})," ",e("context.partial")]}),(0,r.jsxs)(i.$,{size:"sm",variant:"miss"===y[t]?"default":"outline",onClick:()=>M("miss"),disabled:C.isPending,children:[(0,r.jsx)(v.A,{className:"h-3 w-3 mr-1"})," ",e("context.miss")]}),C.isSuccess&&(0,r.jsx)("span",{className:"text-xs text-green-600 ml-2",children:e("context.thanks")})]})})})]})]})}},48558:(e,t,s)=>{"use strict";var r=s(7620),n=s(16574),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},l=n.useSyncExternalStore,i=r.useRef,c=r.useEffect,o=r.useMemo,d=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,s,r,n){var u=i(null);if(null===u.current){var x={hasValue:!1,value:null};u.current=x}else x=u.current;var m=l(e,(u=o(function(){function e(e){if(!c){if(c=!0,l=e,e=r(e),void 0!==n&&x.hasValue){var t=x.value;if(n(t,e))return i=t}return i=e}if(t=i,a(l,e))return t;var s=r(e);return void 0!==n&&n(t,s)?(l=e,t):(l=e,i=s)}var l,i,c=!1,o=void 0===s?null:s;return[function(){return e(t())},null===o?void 0:function(){return e(o())}]},[t,s,r,n]))[0],u[1]);return c(function(){x.hasValue=!0,x.value=m},[m]),d(m),m}},63264:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},64318:(e,t,s)=>{"use strict";s.d(t,{cn:()=>a});var r=s(9917),n=s(2809);function a(...e){return(0,n.QP)((0,r.$)(e))}},73893:(e,t,s)=>{Promise.resolve().then(s.bind(s,38688))},81007:(e,t,s)=>{"use strict";s.d(t,{A:()=>i});var r=s(7620);let n=(...e)=>e.filter((e,t,s)=>!!e&&s.indexOf(e)===t).join(" ");var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,r.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:l,className:i="",children:c,iconNode:o,...d},u)=>(0,r.createElement)("svg",{ref:u,...a,width:t,height:t,stroke:e,strokeWidth:l?24*Number(s)/Number(t):s,className:n("lucide",i),...d},[...o.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(c)?c:[c]])),i=(e,t)=>{let s=(0,r.forwardRef)(({className:s,...a},i)=>(0,r.createElement)(l,{ref:i,iconNode:t,className:n(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,s),...a}));return s.displayName=`${e}`,s}},89531:(e,t,s)=>{"use strict";s.d(t,{Wu:()=>o,ZB:()=>c,Zp:()=>l,aR:()=>i});var r=s(54568),n=s(7620),a=s(64318);let l=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,a.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...t}));l.displayName="Card";let i=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,a.cn)("flex flex-col space-y-1.5 p-4",e),...t}));i.displayName="CardHeader";let c=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("h3",{ref:s,className:(0,a.cn)("text-sm font-semibold leading-none tracking-tight",e),...t}));c.displayName="CardTitle";let o=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,a.cn)("p-4 pt-0",e),...t}));o.displayName="CardContent"},91397:(e,t,s)=>{"use strict";s.d(t,{F:()=>l});var r=s(9917);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=r.$,l=(e,t)=>s=>{var r;if((null==t?void 0:t.variants)==null)return a(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:l,defaultVariants:i}=t,c=Object.keys(l).map(e=>{let t=null==s?void 0:s[e],r=null==i?void 0:i[e];if(null===t)return null;let a=n(t)||n(r);return l[e][a]}),o=s&&Object.entries(s).reduce((e,t)=>{let[s,r]=t;return void 0===r||(e[s]=r),e},{});return a(e,c,null==t||null==(r=t.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:s,className:r,...n}=t;return Object.entries(n).every(e=>{let[t,s]=e;return Array.isArray(s)?s.includes({...i,...o}[t]):({...i,...o})[t]===s})?[...e,s,r]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}}},e=>{e.O(0,[820,567,993,914,587,968,358],()=>e(e.s=73893)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[328],{6407:(t,e,s)=>{"use strict";s.d(e,{$:()=>o,s:()=>n});var i=s(46676),r=s(19773),a=s(85153),n=class extends r.k{#t;#e;#s;#i;constructor(t){super(),this.#t=t.client,this.mutationId=t.mutationId,this.#s=t.mutationCache,this.#e=[],this.state=t.state||o(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#e.includes(t)||(this.#e.push(t),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#e=this.#e.filter(e=>e!==t),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#e.length||("pending"===this.state.status?this.scheduleGc():this.#s.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(t){let e=()=>{this.#r({type:"continue"})},s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#i=(0,a.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(Error("No mutationFn found")),onFail:(t,e)=>{this.#r({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#r({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#s.canRun(this)});let i="pending"===this.state.status,r=!this.#i.canStart();try{if(i)e();else{this.#r({type:"pending",variables:t,isPaused:r}),this.#s.config.onMutate&&await this.#s.config.onMutate(t,this,s);let e=await this.options.onMutate?.(t,s);e!==this.state.context&&this.#r({type:"pending",context:e,variables:t,isPaused:r})}let a=await this.#i.start();return await this.#s.config.onSuccess?.(a,t,this.state.context,this,s),await this.options.onSuccess?.(a,t,this.state.context,s),await this.#s.config.onSettled?.(a,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(a,null,t,this.state.context,s),this.#r({type:"success",data:a}),a}catch(e){try{await this.#s.config.onError?.(e,t,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onError?.(e,t,this.state.context,s)}catch(t){Promise.reject(t)}try{await this.#s.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onSettled?.(void 0,e,t,this.state.context,s)}catch(t){Promise.reject(t)}throw this.#r({type:"error",error:e}),e}finally{this.#s.runNext(this)}}#r(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),i.jG.batch(()=>{this.#e.forEach(e=>{e.onMutationUpdate(t)}),this.#s.notify({mutation:this,type:"updated",action:t})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},19053:(t,e,s)=>{"use strict";s.d(e,{n:()=>c});var i=s(7620),r=s(6407),a=s(46676),n=s(18517),o=s(91961),u=class extends n.Q{#t;#a=void 0;#n;#o;constructor(t,e){super(),this.#t=t,this.setOptions(e),this.bindMethods(),this.#u()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let e=this.options;this.options=this.#t.defaultMutationOptions(t),(0,o.f8)(this.options,e)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#n,observer:this}),e?.mutationKey&&this.options.mutationKey&&(0,o.EN)(e.mutationKey)!==(0,o.EN)(this.options.mutationKey)?this.reset():this.#n?.state.status==="pending"&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(t){this.#u(),this.#h(t)}getCurrentResult(){return this.#a}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#u(),this.#h()}mutate(t,e){return this.#o=e,this.#n?.removeObserver(this),this.#n=this.#t.getMutationCache().build(this.#t,this.options),this.#n.addObserver(this),this.#n.execute(t)}#u(){let t=this.#n?.state??(0,r.$)();this.#a={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#h(t){a.jG.batch(()=>{if(this.#o&&this.hasListeners()){let e=this.#a.variables,s=this.#a.context,i={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#o.onSuccess?.(t.data,e,s,i)}catch(t){Promise.reject(t)}try{this.#o.onSettled?.(t.data,null,e,s,i)}catch(t){Promise.reject(t)}}else if(t?.type==="error"){try{this.#o.onError?.(t.error,e,s,i)}catch(t){Promise.reject(t)}try{this.#o.onSettled?.(void 0,t.error,e,s,i)}catch(t){Promise.reject(t)}}}this.listeners.forEach(t=>{t(this.#a)})})}},h=s(68728);function c(t,e){let s=(0,h.jE)(e),[r]=i.useState(()=>new u(s,t));i.useEffect(()=>{r.setOptions(t)},[r,t]);let n=i.useSyncExternalStore(i.useCallback(t=>r.subscribe(a.jG.batchCalls(t)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),c=i.useCallback((t,e)=>{r.mutate(t,e).catch(o.lQ)},[r]);if(n.error&&(0,o.GU)(r.options.throwOnError,[n.error]))throw n.error;return{...n,mutate:c,mutateAsync:n.mutate}}},26174:(t,e,s)=>{"use strict";s.d(e,{DoctorView:()=>l});var i=s(54568),r=s(63322),a=s(63264),n=s(47186),o=s(60527),u=s(86914);let h={ok:r.A,warning:a.A,error:n.A},c={ok:"text-emerald-500",warning:"text-amber-500",error:"text-red-500"};function l(){let t=(0,u.d6)(),e=(0,u.jx)(),s=t.data??[];return(0,i.jsxs)("div",{className:"h-full overflow-y-auto p-6",children:[(0,i.jsxs)("div",{className:"mb-6 flex items-center justify-between",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h2",{className:"text-2xl font-bold",children:"Doctor"}),(0,i.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.data?`${e.data.totalFiles} files \xb7 ${e.data.totalSymbols} symbols`:"Server unavailable"})]}),(0,i.jsx)("button",{onClick:()=>Promise.all([t.refetch(),e.refetch()]),className:"icon-button",title:"Refresh checks","aria-label":"Refresh checks",children:(0,i.jsx)(o.A,{className:`h-4 w-4 ${t.isFetching?"animate-spin":""}`})})]}),(0,i.jsxs)("div",{className:"divide-y divide-border border-y border-border",children:[s.map(t=>{let e=h[t.severity];return(0,i.jsxs)("div",{className:"grid grid-cols-[24px_minmax(120px,220px)_1fr] items-start gap-3 py-3 text-sm",children:[(0,i.jsx)(e,{className:`mt-0.5 h-4 w-4 ${c[t.severity]}`}),(0,i.jsx)("span",{className:"font-medium",children:t.name}),(0,i.jsx)("span",{className:"text-muted-foreground",children:t.detail})]},t.name)}),t.isLoading||0!==s.length?null:(0,i.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground",children:"No checks reported"})]})]})}},40133:(t,e,s)=>{Promise.resolve().then(s.bind(s,26174))},47186:(t,e,s)=>{"use strict";s.d(e,{A:()=>i});let i=(0,s(81007).A)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},60527:(t,e,s)=>{"use strict";s.d(e,{A:()=>i});let i=(0,s(81007).A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},63264:(t,e,s)=>{"use strict";s.d(e,{A:()=>i});let i=(0,s(81007).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},63322:(t,e,s)=>{"use strict";s.d(e,{A:()=>i});let i=(0,s(81007).A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},81007:(t,e,s)=>{"use strict";s.d(e,{A:()=>o});var i=s(7620);let r=(...t)=>t.filter((t,e,s)=>!!t&&s.indexOf(t)===e).join(" ");var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,i.forwardRef)(({color:t="currentColor",size:e=24,strokeWidth:s=2,absoluteStrokeWidth:n,className:o="",children:u,iconNode:h,...c},l)=>(0,i.createElement)("svg",{ref:l,...a,width:e,height:e,stroke:t,strokeWidth:n?24*Number(s)/Number(e):s,className:r("lucide",o),...c},[...h.map(([t,e])=>(0,i.createElement)(t,e)),...Array.isArray(u)?u:[u]])),o=(t,e)=>{let s=(0,i.forwardRef)(({className:s,...a},o)=>(0,i.createElement)(n,{ref:o,iconNode:e,className:r(`lucide-${t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,s),...a}));return s.displayName=`${t}`,s}}},t=>{t.O(0,[820,914,587,968,358],()=>t(t.s=40133)),_N_E=t.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[488],{2985:(e,t,r)=>{Promise.resolve().then(r.bind(r,63746))},14133:(e,t,r)=>{"use strict";r.d(t,{F:()=>n});var s=r(98368);async function o(e,t){let r=function(){try{return localStorage.getItem("devflow-active-project-root")}catch{return null}}(),o={"Content-Type":"application/json",...(0,s.PK)()};r&&(o["x-devflow-project"]=r);let n=await fetch(`${(0,s.Ez)()}/api${e}`,{...t,headers:{...o,...t?.headers},credentials:"same-origin"});if(!n.ok){let e=await n.text();if(401===n.status)throw Error("API 401: reload the local dashboard or configure a dashboard API key");throw Error(`API ${n.status}: ${e}`)}let a=await n.json();return a&&"object"==typeof a&&"ok"in a&&"data"in a?a.data:a}let n={listProjects:()=>o("/projects"),getProject:e=>o(`/projects/${e}`),createProject:e=>o("/projects",{method:"POST",body:JSON.stringify(e)}),deleteProject:e=>o(`/projects/${e}`,{method:"DELETE"}),connectProject:e=>o("/projects/connect",{method:"POST",body:JSON.stringify({rootPath:e})}),disconnectProject:()=>o("/projects/active",{method:"DELETE"}),getActiveProject:()=>o("/projects/active"),getOnboardingPackByRoot:e=>o(`/projects/onboarding-pack?rootPath=${encodeURIComponent(e)}`),refreshOnboardingPack:e=>o("/projects/onboarding-pack/refresh",{method:"POST",body:JSON.stringify({rootPath:e})}),getContextStatus:()=>o("/context/status"),buildContext:e=>o("/context/build",{method:"POST",body:JSON.stringify(e)}),buildTaskContext:e=>o("/context/build-task",{method:"POST",body:JSON.stringify(e)}),submitFeedback:e=>o("/context/feedback",{method:"POST",body:JSON.stringify(e)}),getFeedbackSummary:()=>o("/context/feedback-summary"),getGraph:()=>o("/graph"),getLayeredGraph:()=>o("/graph?view=layered"),getNode:e=>o(`/graph/${e}`),expandNode:(e,t,r)=>o(`/graph/${e}/expand?depth=${t??2}&direction=${r??"both"}`),listWorkflows:()=>o("/workflows"),runWorkflow:(e,t)=>o(`/workflows/${e}/run`,{method:"POST",body:JSON.stringify({input:t})}),listRuns:(e=20,t=0)=>o(`/workflows/runs?limit=${e}&offset=${t}`),getRun:e=>o(`/workflows/runs/${e}`),approveRun:e=>o(`/workflows/runs/${e}/approve`,{method:"POST"}),rejectRun:(e,t)=>o(`/workflows/runs/${e}/reject`,{method:"POST",body:JSON.stringify({reason:t})}),getMemory:()=>o("/memory"),addMemory:e=>o("/memory",{method:"POST",body:JSON.stringify(e)}),updateMemoryEntry:(e,t)=>o(`/memory/${e}`,{method:"PUT",body:JSON.stringify(t)}),deleteMemoryEntry:e=>o(`/memory/${e}`,{method:"DELETE"}),getCandidates:()=>o("/memory/candidates"),approveCandidate:e=>o(`/memory/candidates/${e}/approve`,{method:"POST"}),rejectCandidate:e=>o(`/memory/candidates/${e}/reject`,{method:"POST"}),searchMemory:(e,t,r)=>o("/memory/search",{method:"POST",body:JSON.stringify({query:e,limit:t,categories:r})}),updateMemory:(e,t,r)=>o(`/memory/${e}/${t}`,{method:"PUT",body:JSON.stringify({value:r})}),searchKnowledge:(e,t)=>o(`/knowledge/search?q=${encodeURIComponent(e)}${t?`&scope=${t}`:""}`),syncKnowledge:e=>o("/knowledge/sync",{method:"POST",body:JSON.stringify({pluginName:e})}),getKnowledgeSources:()=>o("/knowledge/sources"),listTelemetryRuns:(e=20,t=0,r)=>o(`/telemetry/runs?limit=${e}&offset=${t}${r?`&source=${r}`:""}`),getTelemetryRun:e=>o(`/telemetry/runs/${e}`),getTimeline:(e,t)=>o(`/telemetry/timeline${e?`?from=${e}${t?`&to=${t}`:""}`:""}`),listSessions:(e=20,t=0,r)=>{let s=new URLSearchParams({limit:String(e),offset:String(t)});return r&&s.set("projectRoot",r),o(`/telemetry/sessions?${s}`)},getSession:e=>o(`/telemetry/sessions/${e}`),getSessionEvents:e=>o(`/telemetry/sessions/${e}/events`),getRunEvents:e=>o(`/telemetry/runs/${e}/events`),getRunStats:e=>o(`/telemetry/runs/${e}/stats`),completeRun:e=>o(`/telemetry/runs/${e}/complete`,{method:"POST"}),getTelemetryStats:(e=7)=>o(`/telemetry/stats?days=${e}`),getRoiSummary:(e=7)=>o(`/telemetry/roi-summary?days=${e}`),listBenchmarkReports:(e=50)=>o(`/benchmark/reports?limit=${e}`),getLatestBenchmarkReport:(e="default")=>o(`/benchmark/reports/latest?suite=${encodeURIComponent(e)}`),getBenchmarkReport:e=>o(`/benchmark/reports/${encodeURIComponent(e)}`),cleanupTelemetry:e=>o("/telemetry/cleanup",{method:"POST",body:JSON.stringify({olderThanDays:e})}),getToolMetricsSummary:(e=7)=>o(`/telemetry/tool-metrics/summary?days=${e}`),getAccuracyStats:(e,t)=>{let r=new URLSearchParams;e&&r.set("engine",e),t&&r.set("since",String(t));let s=r.toString();return o(`/telemetry/accuracy/stats${s?`?${s}`:""}`)},getAccuracyQueries:e=>{let t=new URLSearchParams;e?.engine&&t.set("engine",e.engine),e?.status&&t.set("status",e.status),e?.limit&&t.set("limit",String(e.limit)),e?.offset&&t.set("offset",String(e.offset));let r=t.toString();return o(`/telemetry/accuracy/queries${r?`?${r}`:""}`)},postAccuracyFeedback:e=>o("/telemetry/accuracy/feedback",{method:"POST",body:JSON.stringify(e)}),getAutoCheck:()=>o("/telemetry/auto-check"),getExecutions:(e=20,t)=>{let r=new URLSearchParams({limit:String(e)});return t&&r.set("skillName",t),o(`/telemetry/executions?${r}`)},getExecutionEvents:e=>o(`/telemetry/executions/${e}/events`),getMcpCompliance:()=>o("/telemetry/mcp-compliance"),getGovernanceRules:()=>o("/governance/rules"),createGovernanceRule:e=>o("/governance/rules",{method:"POST",body:JSON.stringify(e)}),updateGovernanceRule:e=>o(`/governance/rules/${encodeURIComponent(e.id)}`,{method:"PUT",body:JSON.stringify(e)}),deleteGovernanceRule:e=>o(`/governance/rules/${encodeURIComponent(e)}`,{method:"DELETE"}),getGovernanceAudit:(e=100,t=0)=>o(`/governance/audit-chain?limit=${e}&offset=${t}`),listPlugins:(e,t)=>o(`/registry/plugins${e?`?search=${encodeURIComponent(e)}${t?`&tag=${t}`:""}`:t?`?tag=${t}`:""}`),getPlugin:e=>o(`/registry/plugins/${e}`),publishPlugin:e=>o("/registry/plugins",{method:"POST",body:JSON.stringify(e)}),getPluginEffectiveness:e=>o(`/registry/plugins/effectiveness${e?`?rootPath=${encodeURIComponent(e)}`:""}`)}},47186:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(81007).A)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},56242:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(81007).A)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},63746:(e,t,r)=>{"use strict";r.d(t,{ExecutionsView:()=>g});var s=r(54568),o=r(48820),n=r(14133),a=r(64567),l=r(7620),i=r(78914);let c=(0,r(81007).A)("CircleCheckBig",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var d=r(47186),m=r(73599),u=r(56242);function x({rate:e}){let t=e>=80?"bg-green-500":e>=50?"bg-yellow-500":"bg-red-500";return(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-20 h-2 bg-muted rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:`h-full ${t} rounded-full`,style:{width:`${e}%`}})}),(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:[e.toFixed(1),"%"]})]})}function g(){let{t:e}=(0,a.Bd)(),[t,r]=(0,l.useState)(null),{data:g,isLoading:y}=(0,o.I)({queryKey:["telemetry","executions"],queryFn:()=>n.F.getExecutions(50),refetchInterval:1e4}),{data:h}=(0,o.I)({queryKey:["telemetry","mcp-compliance"],queryFn:()=>n.F.getMcpCompliance()}),{data:p}=(0,o.I)({queryKey:["telemetry","executions",t,"events"],queryFn:()=>n.F.getExecutionEvents(t),enabled:!!t}),f=g??[];return y?(0,s.jsxs)("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:[(0,s.jsx)(i.A,{className:"h-5 w-5 animate-spin mr-2"}),e("executions.loading")]}):(0,s.jsxs)("div",{className:"h-full overflow-auto p-6",children:[(0,s.jsx)("h2",{className:"text-xl font-bold mb-4",children:e("executions.title")}),h&&(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-4 mb-6",children:[(0,s.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:e("executions.overallCompliance")}),(0,s.jsxs)("div",{className:"text-2xl font-bold mt-1",children:[h.overall.toFixed(1),"%"]})]}),(0,s.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:e("executions.totalExecutions")}),(0,s.jsx)("div",{className:"text-2xl font-bold mt-1",children:f.length})]}),(0,s.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:e("executions.skillsTracked")}),(0,s.jsx)("div",{className:"text-2xl font-bold mt-1",children:Object.keys(h.bySkill).length})]})]}),(0,s.jsx)("div",{className:"bg-card border border-border rounded-lg overflow-hidden",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{className:"bg-muted/50",children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.skill")}),(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.status")}),(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.tools")}),(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.mcpRate")}),(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.duration")})]})}),(0,s.jsxs)("tbody",{children:[f.map(e=>{var o;return(0,s.jsxs)("tr",{className:`border-t border-border cursor-pointer hover:bg-muted/30 ${t===e.executionId?"bg-muted/50":""}`,onClick:()=>r(e.executionId),children:[(0,s.jsx)("td",{className:"px-4 py-2 font-mono text-xs",children:e.skillName}),(0,s.jsx)("td",{className:"px-4 py-2",children:"completed"===e.status?(0,s.jsx)(c,{className:"h-4 w-4 text-green-500 inline"}):"failed"===e.status?(0,s.jsx)(d.A,{className:"h-4 w-4 text-red-500 inline"}):(0,s.jsx)(m.A,{className:"h-4 w-4 text-yellow-500 inline animate-spin"})}),(0,s.jsx)("td",{className:"px-4 py-2",children:e.totalToolCalls}),(0,s.jsx)("td",{className:"px-4 py-2",children:(0,s.jsx)(x,{rate:e.mcpComplianceRate??0})}),(0,s.jsx)("td",{className:"px-4 py-2",children:(o=e.totalDuration??0)<1e3?`${o}ms`:`${(o/1e3).toFixed(1)}s`})]},e.executionId)}),0===f.length&&(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:5,className:"px-4 py-8 text-center text-muted-foreground",children:e("executions.empty")})})]})]})}),t&&p&&(0,s.jsxs)("div",{className:"mt-6 bg-card border border-border rounded-lg p-4",children:[(0,s.jsxs)("h3",{className:"font-bold mb-3 flex items-center gap-2",children:[(0,s.jsx)(u.A,{className:"h-4 w-4"}),e("executions.traceTimeline")]}),(0,s.jsx)("div",{className:"space-y-2",children:(p??[]).map(t=>(0,s.jsxs)("div",{className:"flex items-start gap-3 p-2 rounded-md bg-muted/30 text-sm",children:[(0,s.jsx)("span",{className:"text-xs text-muted-foreground w-16 shrink-0",children:new Date(t.timestamp).toLocaleTimeString()}),(0,s.jsx)("span",{className:`px-1.5 py-0.5 rounded text-xs font-mono ${t.isMcpTool?"bg-green-500/20 text-green-400":"subagent"===t.toolType?"bg-blue-500/20 text-blue-400":"bg-muted text-muted-foreground"}`,children:t.toolType}),(0,s.jsx)("span",{className:"font-mono text-xs flex-1",children:t.toolName}),t.blocked&&(0,s.jsx)("span",{className:"px-1.5 py-0.5 rounded text-xs bg-red-500/20 text-red-400",children:e("executions.blocked")}),t.mcpEnforced&&(0,s.jsx)("span",{className:"px-1.5 py-0.5 rounded text-xs bg-green-500/20 text-green-400",children:"MCP"}),t.mcpFallback&&(0,s.jsx)("span",{className:"px-1.5 py-0.5 rounded text-xs bg-yellow-500/20 text-yellow-400",children:e("executions.fallback")})]},t.eventId))})]})]})}},73599:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(81007).A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},78914:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(81007).A)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},81007:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var s=r(7620);let o=(...e)=>e.filter((e,t,r)=>!!e&&r.indexOf(e)===t).join(" ");var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,s.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:a,className:l="",children:i,iconNode:c,...d},m)=>(0,s.createElement)("svg",{ref:m,...n,width:t,height:t,stroke:e,strokeWidth:a?24*Number(r)/Number(t):r,className:o("lucide",l),...d},[...c.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(i)?i:[i]])),l=(e,t)=>{let r=(0,s.forwardRef)(({className:r,...n},l)=>(0,s.createElement)(a,{ref:l,iconNode:t,className:o(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,r),...n}));return r.displayName=`${e}`,r}},98368:(e,t,r)=>{"use strict";r.d(t,{Ez:()=>a,PK:()=>l});var s=r(84561);let o=s.env.NEXT_PUBLIC_DEVFLOW_API_KEY?.trim()??"",n=s.env.NEXT_PUBLIC_DEVFLOW_API_URL?.trim()??"";function a(){return n?n.replace(/\/$/,""):window.location.origin}function l(){let e=function(){if(o)return o;try{return localStorage.getItem("devflow-api-key")?.trim()||null}catch{return null}}();return e?{"x-api-key":e}:{}}}},e=>{e.O(0,[820,567,587,968,358],()=>e(e.s=2985)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[813],{638:(e,t,r)=>{"use strict";r.d(t,{C:()=>l});var o=r(19851);let s="devflow-project-root",a="devflow-active-project-root";function n(e){try{return localStorage.getItem(e)}catch{return null}}function i(e,t){try{null===t?localStorage.removeItem(e):localStorage.setItem(e,t)}catch{}}let l=(0,o.vt)(e=>({selectedNodeId:null,detailTab:"properties",searchQuery:"",projectRoot:n(s),activeProjectRoot:n(a),selectedRunId:null,selectNode:t=>e({selectedNodeId:t}),setDetailTab:t=>e({detailTab:t}),setSearchQuery:t=>e({searchQuery:t}),setProjectRoot:t=>{i(s,t),e({projectRoot:t})},setActiveProjectRoot:t=>{i(a,t),e({activeProjectRoot:t})},setSelectedRunId:t=>e({selectedRunId:t})}))},14736:(e,t,r)=>{"use strict";r.d(t,{GraphView:()=>j});var o=r(54568),s=r(7620),a=r(23623),n=r(28465),i=r(638),l=r(91443);r(88682);var d=r(98058),c=r.n(d),u=r(8011);let h={component:"C",hook:"H",api:"A",store:"S",function:"F",class:"CL",interface:"I",enum:"E",type:"T",variable:"V",unknown:"?"};var f=r(86914);let g={graphNode:function({data:e}){let t=h[e.nodeType]??e.nodeType?.charAt(0)?.toUpperCase()??"?",r=e.layerColor??"#6b7280",s=void 0!==e.highlighted,a=!0===e.highlighted;return(0,o.jsxs)("div",{className:"px-3 py-2 rounded-lg border-2 text-xs font-medium transition-opacity duration-200",style:{borderColor:r,backgroundColor:`color-mix(in srgb, ${r} 8%, var(--background, #fff))`,boxShadow:a?`0 0 12px ${r}, 0 0 4px ${r}`:"0 1px 3px rgba(0,0,0,0.12)",opacity:s&&!a?.15:1},children:[(0,o.jsx)(l.h7,{type:"target",position:u.yX.Top,style:{background:r}}),(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"inline-flex items-center justify-center w-5 h-5 rounded text-[10px] font-bold text-white flex-shrink-0",style:{backgroundColor:r},children:t}),(0,o.jsx)("span",{className:"truncate max-w-[140px]",children:e.label})]}),(0,o.jsx)(l.h7,{type:"source",position:u.yX.Bottom,style:{background:r}})]})}};function p({filterMode:e="highlight",searchQuery:t=""}){return(0,o.jsx)(l.Ln,{children:(0,o.jsx)(m,{filterMode:e,searchQuery:t})})}function m({filterMode:e,searchQuery:t}){let{data:r}=(0,f.eG)(),a=(0,i.C)(e=>e.selectNode),{fitView:n}=(0,l.VH)(),d=(0,s.useMemo)(()=>{if(!r)return{nodes:[],edges:[]};let o=(t??"").toLowerCase().trim(),s="filter"===e&&o?r.nodes.filter(e=>e.name.toLowerCase().includes(o)):r.nodes.slice(0,300),a=o.length>0,n=s.map(e=>({id:e.id,type:"graphNode",position:{x:0,y:0},data:{label:e.name,nodeType:e.type,layer:e.layer??"Other",layerColor:e.layerColor??"#6b7280",highlighted:a?e.name.toLowerCase().includes(o):void 0}})),i=new Set(n.map(e=>e.id)),l=r.edges.filter(e=>i.has(e.from)&&i.has(e.to)).slice(0,500).map((e,t)=>({id:`${e.from}->${e.to}-${t}`,source:e.from,target:e.to,animated:!1,style:{stroke:"#4b5563"}})),d=new(c()).graphlib.Graph;for(let e of(d.setDefaultEdgeLabel(()=>({})),d.setGraph({rankdir:"TB",ranksep:80,nodesep:60}),n))d.setNode(e.id,{width:180,height:50});for(let e of l)d.setEdge(e.source,e.target);return c().layout(d),{nodes:n.map(e=>{let t=d.node(e.id);return{...e,position:{x:t.x-90,y:t.y-25}}}),edges:l}},[r,t,e]),[u,h,p]=(0,l.ck)(d.nodes),[x,b,y]=(0,l.fM)(d.edges);(0,s.useEffect)(()=>{h(d.nodes),b(d.edges)},[d,h,b]),(0,s.useEffect)(()=>{if(t){let e=d.nodes.find(e=>!0===e.data.highlighted);e&&setTimeout(()=>{n({nodes:[e],duration:500,maxZoom:1.5})},100)}},[t,d.nodes,n]);let v=(0,s.useCallback)((e,t)=>{a(t.id)},[a]);return(0,o.jsxs)(l.Gc,{nodes:u,edges:x,onNodesChange:p,onEdgesChange:y,onNodeClick:v,nodeTypes:g,fitView:!0,children:[(0,o.jsx)(l.VS,{}),(0,o.jsx)(l.H2,{}),(0,o.jsx)(l.of,{nodeColor:e=>e.data?.layerColor??"#6b7280"})]})}var x=r(64567),b=r(23555),y=r(20732),v=r(18741);function j(){let{t:e}=(0,x.Bd)(),t=(0,i.C)(e=>e.searchQuery),r=(0,i.C)(e=>e.setSearchQuery),[l,d]=(0,s.useState)("highlight");return(0,o.jsxs)("div",{className:"flex flex-col h-full",children:[(0,o.jsxs)("div",{className:"p-3 border-b border-border flex items-center gap-2",children:[(0,o.jsxs)("div",{className:"relative flex-1 max-w-sm",children:[(0,o.jsx)(b.A,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,o.jsx)(a.p,{placeholder:e("graph.searchPlaceholder"),value:t,onChange:e=>r(e.target.value),className:"pl-8"})]}),t&&(0,o.jsx)(n.$,{variant:"ghost",size:"sm",onClick:()=>d(e=>"highlight"===e?"filter":"highlight"),title:e("highlight"===l?"graph.filterOnly":"graph.highlightAll"),className:"flex-shrink-0",children:"highlight"===l?(0,o.jsx)(y.A,{className:"h-4 w-4"}):(0,o.jsx)(v.A,{className:"h-4 w-4"})})]}),(0,o.jsx)("div",{className:"flex-1",children:(0,o.jsx)(p,{filterMode:l,searchQuery:t})})]})}},23623:(e,t,r)=>{"use strict";r.d(t,{p:()=>n});var o=r(54568),s=r(7620),a=r(64318);let n=s.forwardRef(({className:e,type:t,...r},s)=>(0,o.jsx)("input",{type:t,className:(0,a.cn)("flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:s,...r}));n.displayName="Input"},28465:(e,t,r)=>{"use strict";r.d(t,{$:()=>i});var o=r(54568),s=r(7620),a=r(64318);let n=(0,r(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),i=s.forwardRef(({className:e,variant:t,size:r,...s},i)=>(0,o.jsx)("button",{className:(0,a.cn)(n({variant:t,size:r,className:e})),ref:i,...s}));i.displayName="Button"},64318:(e,t,r)=>{"use strict";r.d(t,{cn:()=>a});var o=r(9917),s=r(2809);function a(...e){return(0,s.QP)((0,o.$)(e))}},90935:(e,t,r)=>{Promise.resolve().then(r.bind(r,14736))}},e=>{e.O(0,[159,383,820,567,993,73,914,587,968,358],()=>e(e.s=90935)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[49],{23623:(e,s,n)=>{"use strict";n.d(s,{p:()=>d});var t=n(54568),r=n(7620),l=n(64318);let d=r.forwardRef(({className:e,type:s,...n},r)=>(0,t.jsx)("input",{type:s,className:(0,l.cn)("flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));d.displayName="Input"},28465:(e,s,n)=>{"use strict";n.d(s,{$:()=>a});var t=n(54568),r=n(7620),l=n(64318);let d=(0,n(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),a=r.forwardRef(({className:e,variant:s,size:n,...r},a)=>(0,t.jsx)("button",{className:(0,l.cn)(d({variant:s,size:n,className:e})),ref:a,...r}));a.displayName="Button"},56707:(e,s,n)=>{"use strict";n.d(s,{KnowledgeView:()=>c});var t=n(54568),r=n(7620),l=n(86914),d=n(89531),a=n(23623),i=n(28465),o=n(64567);function c(){let{t:e}=(0,o.Bd)(),{data:s,isLoading:n}=(0,l.w4)(),c=(0,l.zz)(),[u,m]=(0,r.useState)(""),{data:f}=(0,l.yy)(u);return(0,t.jsxs)("div",{className:"p-6 space-y-4 h-full overflow-y-auto",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("h2",{className:"text-2xl font-bold",children:e("knowledge.title","Knowledge Base")}),(0,t.jsx)(i.$,{onClick:()=>c.mutate(void 0),disabled:c.isPending,children:c.isPending?e("knowledge.syncing","Syncing..."):e("knowledge.syncAll","Sync All")})]}),n?(0,t.jsx)("div",{className:"text-muted-foreground",children:e("knowledge.loading","Loading...")}):s&&s.length>0?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold text-muted-foreground",children:e("knowledge.sources","Sources")}),s.map(s=>(0,t.jsx)(d.Zp,{children:(0,t.jsxs)(d.Wu,{className:"p-4 flex justify-between items-center",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"font-semibold",children:s.source?.name??s.name}),(0,t.jsxs)("div",{className:"text-sm text-muted-foreground",children:[s.entryCount??0," chunks \xb7 ",s.source?.urls?.length??0," URLs \xb7 ","ready"===s.status?e("knowledge.synced"):e("knowledge.notSynced"),s.lastSyncTime?` \xb7 ${e("knowledge.last")}: ${new Date(s.lastSyncTime).toLocaleDateString()}`:""]})]}),(0,t.jsx)(i.$,{variant:"outline",size:"sm",onClick:()=>c.mutate(s.source?.name??s.name),disabled:c.isPending,children:e("knowledge.sync")})]})},s.source?.name??s.name))]}):(0,t.jsx)(d.Zp,{children:(0,t.jsx)(d.Wu,{className:"p-6 text-center text-muted-foreground",children:e("knowledge.noSources","No knowledge sources. Install a plugin and sync docs.")})}),(0,t.jsxs)("div",{className:"space-y-2 pt-4",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold text-muted-foreground",children:e("knowledge.search","Search")}),(0,t.jsx)("div",{className:"flex gap-2",children:(0,t.jsx)(a.p,{placeholder:e("knowledge.searchPlaceholder","Search knowledge..."),value:u,onChange:e=>m(e.target.value)})}),f&&f.length>0&&(0,t.jsx)("div",{className:"space-y-2",children:f.map((s,n)=>(0,t.jsx)(d.Zp,{children:(0,t.jsxs)(d.Wu,{className:"p-4",children:[(0,t.jsx)("div",{className:"font-semibold",children:s.title}),(0,t.jsx)("div",{className:"text-sm text-muted-foreground mt-1",children:s.content?.slice(0,200)}),void 0!==s.score&&(0,t.jsxs)("div",{className:"text-xs text-muted-foreground mt-1",children:[e("knowledge.score"),": ",s.score.toFixed(2)]})]})},n))})]})]})}},64318:(e,s,n)=>{"use strict";n.d(s,{cn:()=>l});var t=n(9917),r=n(2809);function l(...e){return(0,r.QP)((0,t.$)(e))}},73983:(e,s,n)=>{Promise.resolve().then(n.bind(n,56707))},89531:(e,s,n)=>{"use strict";n.d(s,{Wu:()=>o,ZB:()=>i,Zp:()=>d,aR:()=>a});var t=n(54568),r=n(7620),l=n(64318);let d=r.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,l.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...s}));d.displayName="Card";let a=r.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,l.cn)("flex flex-col space-y-1.5 p-4",e),...s}));a.displayName="CardHeader";let i=r.forwardRef(({className:e,...s},n)=>(0,t.jsx)("h3",{ref:n,className:(0,l.cn)("text-sm font-semibold leading-none tracking-tight",e),...s}));i.displayName="CardTitle";let o=r.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,l.cn)("p-4 pt-0",e),...s}));o.displayName="CardContent"},91397:(e,s,n)=>{"use strict";n.d(s,{F:()=>d});var t=n(9917);let r=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,l=t.$,d=(e,s)=>n=>{var t;if((null==s?void 0:s.variants)==null)return l(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:d,defaultVariants:a}=s,i=Object.keys(d).map(e=>{let s=null==n?void 0:n[e],t=null==a?void 0:a[e];if(null===s)return null;let l=r(s)||r(t);return d[e][l]}),o=n&&Object.entries(n).reduce((e,s)=>{let[n,t]=s;return void 0===t||(e[n]=t),e},{});return l(e,i,null==s||null==(t=s.compoundVariants)?void 0:t.reduce((e,s)=>{let{class:n,className:t,...r}=s;return Object.entries(r).every(e=>{let[s,n]=e;return Array.isArray(n)?n.includes({...a,...o}[s]):({...a,...o})[s]===n})?[...e,n,t]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}}},e=>{e.O(0,[820,567,993,914,587,968,358],()=>e(e.s=73983)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{638:(e,t,o)=>{"use strict";o.d(t,{C:()=>i});var n=o(19851);let s="devflow-project-root",r="devflow-active-project-root";function l(e){try{return localStorage.getItem(e)}catch{return null}}function a(e,t){try{null===t?localStorage.removeItem(e):localStorage.setItem(e,t)}catch{}}let i=(0,n.vt)(e=>({selectedNodeId:null,detailTab:"properties",searchQuery:"",projectRoot:l(s),activeProjectRoot:l(r),selectedRunId:null,selectNode:t=>e({selectedNodeId:t}),setDetailTab:t=>e({detailTab:t}),setSearchQuery:t=>e({searchQuery:t}),setProjectRoot:t=>{a(s,t),e({projectRoot:t})},setActiveProjectRoot:t=>{a(r,t),e({activeProjectRoot:t})},setSelectedRunId:t=>e({selectedRunId:t})}))},6248:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>H});var n=o(54568);o(74471);var s=o(64955),r=o(68728),l=o(7620);function a({children:e}){let[t]=(0,l.useState)(()=>new s.E({defaultOptions:{queries:{staleTime:3e4,retry:1}}}));return(0,n.jsx)(r.Ht,{client:t,children:e})}var i=o(79748),c=o(638),d=o(86914),u=o(64318),m=o(64567);let p={properties:"detail.properties",imports:"detail.imports",history:"detail.history"};function g(){let{t:e}=(0,m.Bd)(),t=(0,c.C)(e=>e.selectedNodeId),o=(0,c.C)(e=>e.detailTab),s=(0,c.C)(e=>e.setDetailTab),{data:r}=(0,d.uU)(),l=r?.nodes.find(e=>e.id===t);return t?(0,n.jsxs)("div",{className:"flex flex-col h-full",children:[(0,n.jsx)("div",{className:"flex border-b border-border",children:Object.keys(p).map(t=>(0,n.jsx)("button",{onClick:()=>s(t),className:(0,u.cn)("flex-1 py-2 text-xs font-medium capitalize",o===t?"border-b-2 border-primary text-primary":"text-muted-foreground"),children:e(p[t])},t))}),(0,n.jsx)("div",{className:"flex-1 p-4 overflow-y-auto",children:l?(0,n.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("span",{className:"text-muted-foreground",children:[e("detail.name"),":"]})," ",l.name]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("span",{className:"text-muted-foreground",children:[e("detail.type"),":"]})," ",(0,n.jsx)("span",{className:"capitalize",children:l.type})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("span",{className:"text-muted-foreground",children:[e("detail.file"),":"]})," ",(0,n.jsx)("span",{className:"font-mono text-xs",children:l.file})]})]}):(0,n.jsx)("p",{className:"text-muted-foreground text-sm",children:e("detail.notFound")})})]}):(0,n.jsx)("div",{className:"p-4 text-sm text-muted-foreground",children:e("detail.selectNode")})}var f=o(65587),h=o.n(f),v=o(7920),k=o(72076),y=o(22996),x=o(55769),w=o(64265),b=o(69353),R=o(42154),T=o(73599),S=o(78914),j=o(40766),C=o(30774),P=o(60527),A=o(22681),N=o(48056),I=o(37270);let M=[{href:"/",labelKey:"nav.overview",icon:v.A},{href:"/graph",labelKey:"nav.graph",icon:k.A},{href:"/context",labelKey:"nav.context",icon:y.A},{href:"/workflows",labelKey:"nav.workflows",icon:x.A},{href:"/memory",labelKey:"nav.memory",icon:w.A},{href:"/knowledge",labelKey:"nav.knowledge",icon:b.A},{href:"/runs",labelKey:"nav.runs",icon:R.A},{href:"/timeline",labelKey:"nav.timeline",icon:T.A},{href:"/executions",labelKey:"nav.executions",icon:S.A},{href:"/tool-metrics",labelKey:"nav.toolMetrics",icon:j.A},{href:"/accuracy",labelKey:"nav.accuracy",icon:C.A},{href:"/replay",labelKey:"nav.replay",icon:P.A},{href:"/benchmark",labelKey:"nav.benchmark",icon:A.A},{href:"/doctor",labelKey:"nav.doctor",icon:N.A},{href:"/settings",labelKey:"nav.settings",icon:I.A}];function D(){let{t:e,i18n:t}=(0,m.Bd)(),o=(0,i.usePathname)();return(0,n.jsxs)("nav",{className:"flex h-full min-w-max flex-row gap-1 p-2 md:min-w-0 md:flex-col md:p-3",children:[(0,n.jsx)(h(),{href:"/",className:"flex h-9 shrink-0 items-center px-2 text-base font-bold text-primary md:mb-2 md:px-3",children:e("nav.title")}),(0,n.jsx)("div",{className:"flex flex-1 gap-1 md:flex-col",children:M.map(t=>{let s="/"===t.href?"/"===o:o===t.href||o.startsWith(`${t.href}/`);return(0,n.jsxs)(h(),{href:t.href,title:e(t.labelKey),className:(0,u.cn)("flex h-9 shrink-0 items-center gap-3 rounded-md px-2 text-sm transition-colors md:px-3",s?"bg-primary/10 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,n.jsx)(t.icon,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"hidden md:inline",children:e(t.labelKey)})]},t.href)})}),(0,n.jsx)("div",{className:"shrink-0 border-l border-border pl-2 md:mt-auto md:border-l-0 md:border-t md:pl-0 md:pt-3",children:(0,n.jsx)("button",{onClick:()=>{t.changeLanguage("zh"===t.language?"en":"zh")},className:"h-9 w-full rounded-md px-3 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:e("nav.language")})})]})}function F({nav:e,main:t,detail:o}){return(0,n.jsxs)("div",{className:"flex h-dvh w-full flex-col md:flex-row",children:[(0,n.jsx)("aside",{className:"h-14 shrink-0 overflow-x-auto border-b border-border bg-card md:h-auto md:w-[220px] md:overflow-y-auto md:border-b-0 md:border-r",children:e}),(0,n.jsx)("main",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:t}),o?(0,n.jsx)("aside",{className:"hidden w-[340px] shrink-0 overflow-y-auto border-l border-border bg-card xl:block",children:o}):null]})}function E({children:e}){let t=(0,i.usePathname)(),[o,s]=(0,l.useState)(!1);return((0,l.useEffect)(()=>s(!0),[]),o)?(0,n.jsx)(F,{nav:(0,n.jsx)(D,{}),main:e,detail:"/graph"===t?(0,n.jsx)(g,{}):void 0}):(0,n.jsx)("div",{className:"flex h-dvh items-center justify-center text-sm text-muted-foreground",children:"Loading..."})}var _=o(58202),O=o(43028);let L=JSON.parse('{"nav":{"title":"DevFlow","overview":"Overview","graph":"Graph","context":"Context","workflows":"Workflows","memory":"Memory","benchmark":"Benchmark","knowledge":"Knowledge","runs":"Runs","timeline":"Timeline","executions":"Executions","toolMetrics":"Tool Metrics","accuracy":"Accuracy","replay":"Replay","doctor":"Doctor","settings":"Settings","language":"中文"},"overview":{"title":"Project Overview","project":"Project","noProject":"No project connected","filesIndexed":"Files Indexed","workflows":"Workflows","agentRuns":"Agent Runs","techStack":"Tech Stack","recentRuns":"Recent Agent Runs","noRuns":"No agent runs recorded yet.","agent":"Agent","mode":"Mode","source":"Source","status":"Status","tokens":"Tokens","connectTitle":"Connect Project","connectDescription":"Enter the root path of your project to connect. The server will index and analyze the codebase.","connectPlaceholder":"/path/to/your/project","connecting":"Connecting...","connect":"Connect","connectError":"Failed to connect. Make sure the path exists and is accessible.","architectureLayers":"Architecture Layers","filesCount":"{{count}} files","keyModules":"Key Modules","keyFiles":"Key Files","recommended":"Recommended Next Steps","plugins":"Plugins","queries":"Queries","switchProject":"Switch Project","switchProjectPlaceholder":"Enter project path...","switchProjectConfirm":"Switch","disconnectProject":"Disconnect"},"onboarding":{"title":"Onboarding Pack","empty":"No onboarding pack generated yet","noActiveProject":"No active project","generate":"Generate Onboarding Pack","refresh":"Refresh onboarding pack"},"context":{"title":"Context Builder","placeholder":"Search symbols or ask a question...","build":"Build","building":"Building context...","results":"Results ({{files}} files, ~{{tokens}} tokens)","taskMode":"Task Mode","taskContext":"Task Context","confidenceTokens":"{{confidence}}% confidence \xb7 {{tokens}} tokens","requiredFiles":"Required Files","optionalFiles":"Optional Files","keySymbols":"Key Symbols","riskHints":"Risk Hints","nextActions":"Next Actions","relevanceDirect":"direct","relevanceIndirect":"indirect","levelHigh":"high","levelMedium":"medium","levelLow":"low","wasHelpful":"Was this helpful?","hit":"Hit","partial":"Partial","miss":"Miss","thanks":"Thanks for your feedback!"},"memory":{"title":"Memory","loading":"Loading...","pendingApproval":"Pending Approval","approvedMemories":"Approved Memories","approve":"Approve","reject":"Reject","noMemories":"No memories yet","noMemoriesHint":"Memories help avoid repeating mistakes","confidence":"confidence","original":"Original","yes":"Yes","no":"No","category":{"mcp_correction":"MCP Correction","project_knowledge":"Project Knowledge","failure_lesson":"Failure Lesson"},"searchPlaceholder":"Search memories...","addMemory":"Add Memory","editMemory":"Edit Memory","deleteMemory":"Delete","deleteConfirm":"Delete this memory?","categoryLabel":"Category","content":"Content","scope":"Scope (optional)","cancel":"Cancel","save":"Save"},"workflows":{"title":"Workflow Runs","available":"Available Workflows","steps":"steps","stream":"Stream","closeStream":"Close stream","runHistory":"Run History","runId":"Run ID","started":"Started","noRuns":"No runs yet. Trigger a workflow above."},"benchmark":{"title":"Benchmark","running":"Running...","run":"Run Benchmark","tasks":"tasks","task":"Task","experimentTab":"A/B Benchmark","operationsTab":"Operations","filesTouched":"Files Touched","correctness":"Correctness","regressions":"Regressions Over 10%","baselineCorrectness":"Baseline Correctness","devflowCorrectness":"DevFlow Correctness","baselineTokens":"Baseline Tokens","devflowTokens":"DevFlow Tokens","noReports":"No benchmark reports yet. Run one to get started.","roiTitle":"ROI Dashboard","loading":"Loading...","noData":"No data available. Start using DevFlow to collect telemetry.","overview":"Overview","totalRuns":"Total Runs","completed":"Completed","failed":"Failed","avgDuration":"Avg Duration","avgTokens":"Avg Tokens","firstPassRate":"First Pass Rate","feedbackHitRate":"Feedback Hit Rate","efficiency":"Efficiency","avgTimePerTask":"Avg Time Per Task","avgRetryCount":"Avg Retry Count","tokensSaved":"Tokens Saved","failureBreakdown":"Failure Breakdown","workflowHealth":"Workflow Health","workflow":"Workflow","runs":"Runs","successRate":"Success Rate","pluginEffectiveness":"Plugin Effectiveness","plugin":"Plugin","dailyTrends":"Daily Trends","date":"Date","tokens":"Tokens","failures":"Failures","empty":"No telemetry data yet. Start using DevFlow with an AI agent to collect ROI metrics.","failureCategories":{"context_insufficient":"Context Insufficient","knowledge_missing":"Knowledge Missing","workflow_design_issue":"Workflow Design Issue","tool_error":"Tool Error","agent_override":"Agent Override","unknown":"Unknown"},"seconds":"{{value}}s","period":"{{from}} → {{to}}","experimentSummary":"Experiment Summary","timeSavedRate":"Time Saved","tokenSavedRate":"Token Saved","detailedResults":"Detailed Results","faster":"{{percent}}% faster","baseline":"Baseline","devflow":"DevFlow","noExperimentData":"No experiment data","opsSummary":"Operations Summary","totalRunsCount":"Total Runs","successRatePercent":"Success Rate","avgTokenUsage":"Avg Token Usage","avgDurationTime":"Avg Duration","feedbackHitRatePercent":"Feedback Hit Rate","noOpsData":"No operations data","loadFailed":"Load failed: {{error}}","pluginAnalysis":"Plugin Value Analysis","recommendedInstall":"Recommended to Install","suggestedRemove":"Suggested to Remove","installCount":"Installs","usageRate":"Usage","successRateShort":"Success","tokenImpact":"Token Impact","lastUsed":"Last Used","noPluginData":"No plugin data","recommended":"Recommended","lowEfficiency":"Low Efficiency"},"graph":{"searchPlaceholder":"Search nodes...","filterOnly":"Filter only","highlightAll":"Highlight all"},"detail":{"selectNode":"Select a node to view details","properties":"Properties","imports":"Imports","history":"History","name":"Name","type":"Type","file":"File","notFound":"Node not found"},"knowledge":{"title":"Knowledge Base","sources":"Sources","syncing":"Syncing...","syncAll":"Sync All","loading":"Loading...","noSources":"No knowledge sources. Install a plugin and sync docs.","search":"Search","searchPlaceholder":"Search knowledge...","synced":"Synced","notSynced":"Not synced","last":"Last","sync":"Sync","score":"Score"},"runs":{"title":"Runs","empty":"No runs recorded yet."},"timeline":{"title":"Timeline","runs":"Runs","tokens":"Tokens","llmCalls":"LLM Calls","toolUses":"Tool Uses","completed":"completed","failed":"failed"},"events":{"llmCall":"LLM Call","toolUse":"Tool Use","memoryRead":"Memory Read","memoryWrite":"Memory Write","fileRead":"File Read","fileWrite":"File Write","bashCommand":"Bash","mcpToolCall":"MCP Tool","error":"Error","userInput":"User Input","stepStart":"Step Start","stepEnd":"Step End","empty":"No events recorded for this run.","steps":"Steps","eventCount":"events","selectEvent":"Select an event to view details","eventDetail":"Event Detail","kind":"Kind","step":"Step","duration":"Duration","model":"Model","tokens":"Tokens","tokensInOut":"{{input}} in / {{output}} out","prompt":"Prompt","response":"Response","stdout":"Stdout","stderr":"Stderr","truncated":"Content was truncated"},"runDetail":{"title":"Run Detail","events":"events","llm":"LLM","tokens":"tokens","failureCategory":"Failure Category","failureReason":"Failure Reason","suggestedActions":"Suggested Actions","category":{"context_insufficient":"Context Insufficient","knowledge_missing":"Knowledge Missing","workflow_design_issue":"Workflow Design Issue","tool_error":"Tool Error","agent_override":"Agent Override"}},"plugin":{"title":"Plugin Effectiveness","installCount":"Install Count","activeRate":"Active Rate","successRate":"Success Rate","avgTokenImpact":"Avg Token Impact","recommendInstall":"Recommend Install","recommendOptimize":"Recommend Optimize","recommendRemove":"Recommend Remove"},"executions":{"title":"Skill Executions","loading":"Loading executions...","overallCompliance":"Overall MCP Compliance","totalExecutions":"Total Executions","skillsTracked":"Skills Tracked","skill":"Skill","status":"Status","tools":"Tools","mcpRate":"MCP Rate","duration":"Duration","tokens":"Tokens","empty":"No executions recorded yet","traceTimeline":"Execution Trace","blocked":"Blocked","fallback":"Fallback"},"settings":{"title":"Project Settings","projectInfo":"Project Info","name":"Name","mode":"Mode","plugins":"Plugins","noPlugins":"No plugins installed","telemetry":"Telemetry","totalRuns":"Runs stored","totalTokens":"Total tokens","clearOldRuns":"Clear old runs (30d+)"}}'),K=JSON.parse('{"nav":{"title":"DevFlow","overview":"概览","graph":"图谱","context":"上下文","workflows":"工作流","memory":"记忆","benchmark":"基准测试","knowledge":"知识库","runs":"运行记录","timeline":"时间线","executions":"执行轨迹","toolMetrics":"工具指标","accuracy":"准确率","replay":"回放","doctor":"自检","settings":"设置","language":"EN"},"overview":{"title":"项目概览","project":"项目","noProject":"未连接项目","filesIndexed":"已索引文件","workflows":"工作流","agentRuns":"智能体运行","techStack":"技术栈","recentRuns":"最近运行","noRuns":"暂无运行记录","agent":"智能体","mode":"模式","source":"来源","status":"状态","tokens":"令牌数","connectTitle":"连接项目","connectDescription":"输入项目根路径进行连接。服务端将索引并分析代码库。","connectPlaceholder":"/path/to/your/project","connecting":"连接中...","connect":"连接","connectError":"连接失败,请确认路径存在且可访问。","architectureLayers":"架构分层","filesCount":"{{count}} 个文件","keyModules":"关键模块","keyFiles":"关键文件","recommended":"推荐下一步","plugins":"插件","queries":"推荐查询","switchProject":"切换项目","switchProjectPlaceholder":"输入项目路径...","switchProjectConfirm":"切换","disconnectProject":"断开连接"},"onboarding":{"title":"启动包","empty":"尚未生成启动包","noActiveProject":"未激活项目","generate":"生成启动包","refresh":"刷新启动包"},"context":{"title":"上下文构建器","placeholder":"搜索符号或输入查询...","build":"构建","building":"正在构建上下文...","results":"结果({{files}} 个文件,约 {{tokens}} 个令牌)","taskMode":"任务模式","taskContext":"任务上下文","confidenceTokens":"{{confidence}}% 置信度 \xb7 {{tokens}} 令牌","requiredFiles":"必需文件","optionalFiles":"可选文件","keySymbols":"关键符号","riskHints":"风险提示","nextActions":"下一步操作","relevanceDirect":"直接","relevanceIndirect":"间接","levelHigh":"高","levelMedium":"中","levelLow":"低","wasHelpful":"有帮助吗?","hit":"有用","partial":"部分有用","miss":"无用","thanks":"感谢反馈!"},"memory":{"title":"记忆","loading":"加载中...","pendingApproval":"待审批","approvedMemories":"已批准的记忆","approve":"批准","reject":"拒绝","noMemories":"暂无记忆","noMemoriesHint":"记忆有助于避免重复犯错","confidence":"置信度","original":"原始","yes":"是","no":"否","category":{"mcp_correction":"MCP 纠正","project_knowledge":"项目知识","failure_lesson":"失败教训"},"searchPlaceholder":"搜索记忆...","addMemory":"添加记忆","editMemory":"编辑记忆","deleteMemory":"删除","deleteConfirm":"确定删除这条记忆?","categoryLabel":"分类","content":"内容","scope":"作用域(可选)","cancel":"取消","save":"保存"},"workflows":{"title":"工作流运行","available":"可用工作流","steps":"步骤","stream":"流","closeStream":"关闭流","runHistory":"运行历史","runId":"运行 ID","started":"开始时间","noRuns":"暂无运行,请触发上方工作流"},"benchmark":{"title":"基准测试","running":"运行中...","run":"运行测试","tasks":"任务","task":"任务","experimentTab":"A/B 基准","operationsTab":"运行治理","filesTouched":"涉及文件","correctness":"正确率","regressions":"超过 10% 的回退","baselineCorrectness":"基线正确率","devflowCorrectness":"DevFlow 正确率","baselineTokens":"基线 Token","devflowTokens":"DevFlow Token","noReports":"暂无测试报告,点击运行开始","roiTitle":"ROI 仪表盘","loading":"加载中...","noData":"暂无数据。使用 DevFlow 与 AI Agent 协作以收集 ROI 数据。","overview":"概览","totalRuns":"总运行数","completed":"已完成","failed":"已失败","avgDuration":"平均耗时","avgTokens":"平均令牌","firstPassRate":"首次通过率","feedbackHitRate":"反馈命中率","efficiency":"效率","avgTimePerTask":"平均每任务耗时","avgRetryCount":"平均重试次数","tokensSaved":"节省令牌数","failureBreakdown":"失败分类","workflowHealth":"工作流健康度","workflow":"工作流","runs":"运行数","successRate":"成功率","pluginEffectiveness":"插件有效性","plugin":"插件","dailyTrends":"每日趋势","date":"日期","tokens":"令牌数","failures":"失败数","empty":"暂无遥测数据。使用 DevFlow 与 AI Agent 协作以收集 ROI 指标。","failureCategories":{"context_insufficient":"上下文不足","knowledge_missing":"知识缺失","workflow_design_issue":"工作流设计问题","tool_error":"工具错误","agent_override":"智能体覆盖","unknown":"未知"},"seconds":"{{value}}s","period":"{{from}} → {{to}}","experimentSummary":"实验收益总结","timeSavedRate":"时间节省率","tokenSavedRate":"Token 节省率","detailedResults":"详细结果","faster":"{{percent}}% 更快","baseline":"基线","devflow":"DevFlow","noExperimentData":"暂无实验数据","opsSummary":"运营统计","totalRunsCount":"总运行次数","successRatePercent":"成功率","avgTokenUsage":"平均 Token 使用","avgDurationTime":"平均耗时","feedbackHitRatePercent":"反馈命中率","noOpsData":"暂无运营数据","loadFailed":"加载失败: {{error}}","pluginAnalysis":"插件价值分析","recommendedInstall":"推荐安装","suggestedRemove":"建议移除","installCount":"安装量","usageRate":"使用率","successRateShort":"成功率","tokenImpact":"Token 影响","lastUsed":"最近使用","noPluginData":"暂无插件数据","recommended":"推荐","lowEfficiency":"低效"},"graph":{"searchPlaceholder":"搜索节点...","filterOnly":"仅显示匹配","highlightAll":"高亮全部"},"detail":{"selectNode":"选择一个节点查看详情","properties":"属性","imports":"导入","history":"历史","name":"名称","type":"类型","file":"文件","notFound":"节点未找到"},"knowledge":{"title":"知识库","sources":"数据源","syncing":"同步中...","syncAll":"全部同步","loading":"加载中...","noSources":"暂无知识源,安装插件并同步文档。","search":"搜索","searchPlaceholder":"搜索知识...","synced":"已同步","notSynced":"未同步","last":"最近","sync":"同步","score":"相关性"},"runs":{"title":"运行记录","empty":"暂无运行记录。"},"timeline":{"title":"时间线","runs":"运行数","tokens":"令牌数","llmCalls":"LLM 调用","toolUses":"工具调用","completed":"已完成","failed":"已失败"},"events":{"llmCall":"LLM 调用","toolUse":"工具使用","memoryRead":"读取记忆","memoryWrite":"写入记忆","fileRead":"读取文件","fileWrite":"写入文件","bashCommand":"Bash","mcpToolCall":"MCP 工具","error":"错误","userInput":"用户输入","stepStart":"步骤开始","stepEnd":"步骤结束","empty":"此运行未记录任何事件。","steps":"步骤","eventCount":"个事件","selectEvent":"选择一个事件查看详情","eventDetail":"事件详情","kind":"类型","step":"步骤","duration":"耗时","model":"模型","tokens":"令牌数","tokensInOut":"{{input}} 输入 / {{output}} 输出","prompt":"提示词","response":"响应","stdout":"标准输出","stderr":"标准错误","truncated":"内容已截断"},"runDetail":{"title":"运行详情","events":"个事件","llm":"次 LLM","tokens":"tokens","failureCategory":"失败类别","failureReason":"失败原因","suggestedActions":"建议动作","category":{"context_insufficient":"上下文不足","knowledge_missing":"知识缺失","workflow_design_issue":"工作流设计问题","tool_error":"工具错误","agent_override":"Agent 覆盖"}},"plugin":{"title":"插件效果","installCount":"安装量","activeRate":"活跃率","successRate":"成功率","avgTokenImpact":"平均 Token 影响","recommendInstall":"推荐安装","recommendOptimize":"建议优化","recommendRemove":"建议淘汰"},"executions":{"title":"技能执行记录","loading":"加载执行记录中...","overallCompliance":"总体 MCP 合规率","totalExecutions":"总执行次数","skillsTracked":"追踪技能数","skill":"技能","status":"状态","tools":"工具数","mcpRate":"MCP 比率","duration":"耗时","tokens":"Token","empty":"暂无执行记录","traceTimeline":"执行时间线","blocked":"已拦截","fallback":"降级"},"settings":{"title":"项目设置","projectInfo":"项目信息","name":"名称","mode":"模式","plugins":"插件","noPlugins":"未安装插件","telemetry":"遥测","totalRuns":"运行数","totalTokens":"总令牌数","clearOldRuns":"清理旧记录(30天前)"}}');function H({children:e}){return(0,n.jsx)("html",{lang:"zh",className:"dark",children:(0,n.jsx)("body",{className:"h-dvh overflow-hidden",children:(0,n.jsx)(a,{children:(0,n.jsx)(E,{children:e})})})})}_.Ay.use(O.A).use(m.r9).init({resources:{en:{translation:L},zh:{translation:K}},fallbackLng:"zh",detection:{order:["localStorage","navigator"],caches:["localStorage"]},interpolation:{escapeValue:!1}})},11752:(e,t,o)=>{Promise.resolve().then(o.bind(o,6248))},64318:(e,t,o)=>{"use strict";o.d(t,{cn:()=>r});var n=o(9917),s=o(2809);function r(...e){return(0,s.QP)((0,n.$)(e))}},74471:()=>{}},e=>{e.O(0,[306,820,567,993,240,722,914,587,968,358],()=>e(e.s=11752)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[620],{21345:(e,t,s)=>{"use strict";s.d(t,{Cf:()=>i,L3:()=>c,c7:()=>d,lG:()=>n});var a=s(54568);s(7620);var r=s(25296);let n=r.bL;r.l9;let l=r.ZL;function o({className:e,...t}){return(0,a.jsx)(r.hJ,{className:`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 ${e??""}`,...t})}function i({className:e,children:t,...s}){return(0,a.jsxs)(l,{children:[(0,a.jsx)(o,{}),(0,a.jsx)(r.UC,{className:`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg ${e??""}`,...s,children:t})]})}function d({className:e,...t}){return(0,a.jsx)("div",{className:`flex flex-col space-y-1.5 text-center sm:text-left ${e??""}`,...t})}function c({className:e,...t}){return(0,a.jsx)(r.hE,{className:`text-lg font-semibold leading-none tracking-tight ${e??""}`,...t})}r.bm},23623:(e,t,s)=>{"use strict";s.d(t,{p:()=>l});var a=s(54568),r=s(7620),n=s(64318);let l=r.forwardRef(({className:e,type:t,...s},r)=>(0,a.jsx)("input",{type:t,className:(0,n.cn)("flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...s}));l.displayName="Input"},27859:(e,t,s)=>{Promise.resolve().then(s.bind(s,91788))},28465:(e,t,s)=>{"use strict";s.d(t,{$:()=>o});var a=s(54568),r=s(7620),n=s(64318);let l=(0,s(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),o=r.forwardRef(({className:e,variant:t,size:s,...r},o)=>(0,a.jsx)("button",{className:(0,n.cn)(l({variant:t,size:s,className:e})),ref:o,...r}));o.displayName="Button"},32715:(e,t,s)=>{"use strict";s.d(t,{h:()=>o,v:()=>i});var a=s(7620),r=s(68728),n=s(98368);async function l(e,t,s){let a=await fetch(`${(0,n.Ez)()}/api${e}`,{headers:(0,n.PK)(),credentials:"same-origin",signal:t});if(!a.ok||!a.body)throw Error(`SSE ${a.status}`);let r=a.body.getReader(),l=new TextDecoder,o="";for(;!t.aborted;){let{value:e,done:t}=await r.read();if(t)break;let a=(o+=l.decode(e,{stream:!0})).split("\n\n");for(let e of(o=a.pop()??"",a)){let t="message",a=[];for(let s of e.split("\n"))s.startsWith("event:")&&(t=s.slice(6).trim()),s.startsWith("data:")&&a.push(s.slice(5).trim());if(0!==a.length)try{s({type:t,data:JSON.parse(a.join("\n"))})}catch{}}}}function o(e){let[t,s]=(0,a.useState)([]);return(0,a.useEffect)(()=>{if(!e)return;let t=new AbortController;return l(`/workflows/runs/${encodeURIComponent(e)}/stream`,t.signal,e=>s(t=>[...t,e])).catch(()=>void 0),()=>t.abort()},[e]),{events:t,clear:(0,a.useCallback)(()=>s([]),[])}}function i(e,t){let s=(0,r.jE)(),n=JSON.stringify(t);(0,a.useEffect)(()=>{let t=new AbortController,a=JSON.parse(n);return l(`/live/stream?channels=${encodeURIComponent(e)}`,t.signal,t=>{if("refresh"===t.type&&t.data.channel===e)for(let e of a)s.invalidateQueries({queryKey:e})}).catch(()=>void 0),()=>t.abort()},[e,s,n])}},64318:(e,t,s)=>{"use strict";s.d(t,{cn:()=>n});var a=s(9917),r=s(2809);function n(...e){return(0,r.QP)((0,a.$)(e))}},89531:(e,t,s)=>{"use strict";s.d(t,{Wu:()=>d,ZB:()=>i,Zp:()=>l,aR:()=>o});var a=s(54568),r=s(7620),n=s(64318);let l=r.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...t}));l.displayName="Card";let o=r.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("flex flex-col space-y-1.5 p-4",e),...t}));o.displayName="CardHeader";let i=r.forwardRef(({className:e,...t},s)=>(0,a.jsx)("h3",{ref:s,className:(0,n.cn)("text-sm font-semibold leading-none tracking-tight",e),...t}));i.displayName="CardTitle";let d=r.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("p-4 pt-0",e),...t}));d.displayName="CardContent"},91788:(e,t,s)=>{"use strict";s.d(t,{MemoryPanel:()=>g});var a=s(54568),r=s(7620),n=s(794),l=s(44968),o=s(86914),i=s(89531),d=s(28465),c=s(23623),m=s(64567),u=s(32715),f=s(21345);let x=["semantic","procedural","episodic","failure_lesson"];function p({open:e,onOpenChange:t,mode:s,defaultValues:n}){let{t:l}=(0,m.Bd)(),i=(0,o.Kg)(),c=(0,o.I8)(),[u,h]=(0,r.useState)(n?.category??"semantic"),[g,y]=(0,r.useState)(n?.content??""),[v,j]=(0,r.useState)(n?.scope??"");return(0,r.useEffect)(()=>{e&&(h(n?.category??"semantic"),y(n?.content??""),j(n?.scope??""))},[e,n]),(0,a.jsx)(f.lG,{open:e,onOpenChange:t,children:(0,a.jsxs)(f.Cf,{children:[(0,a.jsx)(f.c7,{children:(0,a.jsx)(f.L3,{children:"add"===s?l("memory.addMemory"):l("memory.editMemory")})}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium",children:l("memory.categoryLabel")}),(0,a.jsx)("select",{className:"w-full mt-1 rounded-md border bg-background px-3 py-2 text-sm",value:u,onChange:e=>h(e.target.value),children:x.map(e=>{let t,s;return(0,a.jsx)("option",{value:e,children:(s=l(t=`memory.category.${e}`))===t?e:s},e)})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium",children:l("memory.content")}),(0,a.jsx)("textarea",{className:"w-full mt-1 rounded-md border bg-background px-3 py-2 text-sm min-h-[100px]",value:g,onChange:e=>y(e.target.value)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium",children:l("memory.scope")}),(0,a.jsx)("input",{className:"w-full mt-1 rounded-md border bg-background px-3 py-2 text-sm",value:v,onChange:e=>j(e.target.value)})]}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)(d.$,{variant:"outline",onClick:()=>t(!1),children:l("memory.cancel")}),(0,a.jsx)(d.$,{onClick:()=>{g.trim()&&("add"===s?i.mutate({category:u,content:g.trim(),scope:v.trim()||void 0}):n?.id&&c.mutate({id:n.id,updates:{content:g.trim()}}),t(!1))},disabled:!g.trim(),children:l("memory.save")})]})]})]})})}let h=["all","failure_lesson","semantic","procedural","episodic"];function g(){(0,u.v)("memory",[["memory"],["memory-candidates"]]);let{t:e}=(0,m.Bd)(),{data:t}=(0,o.PA)(),s=(0,o.qV)(),f=(0,o.Oq)(),x=(0,o.Ko)(),g=function(){let{t:e}=(0,m.Bd)();return t=>{let s=`memory.category.${t}`,a=e(s);return a===s?t:a}}(),[y,v]=(0,r.useState)(""),{data:j}=(0,o.$s)(y),[b,N]=(0,r.useState)(!1),[w,C]=(0,r.useState)(),[k,$]=(0,r.useState)("all"),z=t?.memories?.filter(e=>"approved"===e.status)??[],S=t?.memories?.filter(e=>"pending"===e.status)??[],R="all"===k?z:z.filter(e=>e.category===k),E="all"===k?S:S.filter(e=>e.category===k),M=(0,r.useMemo)(()=>{let e=new Map;for(let t of E){let s=e.get(t.category)??[];s.push(t),e.set(t.category,s)}return[...e.entries()].sort(([e],[t])=>"failure_lesson"===e?-1:"failure_lesson"===t?1:e.localeCompare(t))},[E]),_=y&&j?j:R;return t?(0,a.jsxs)("div",{className:"p-6 space-y-4 h-full overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-2xl font-bold",children:e("memory.title")}),(0,a.jsxs)(d.$,{size:"sm",onClick:()=>{C(void 0),N(!0)},children:["+ ",e("memory.addMemory")]})]}),(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(c.p,{placeholder:e("memory.searchPlaceholder"),value:y,onChange:e=>v(e.target.value)})}),!y&&(0,a.jsx)("div",{className:"flex gap-2 flex-wrap",children:h.map(t=>(0,a.jsx)(d.$,{variant:k===t?"default":"outline",size:"sm",onClick:()=>$(t),children:"all"===t?e("memory.allCategories","All"):g(t)},t))}),!y&&E.length>0&&(0,a.jsxs)(i.Zp,{children:[(0,a.jsx)(i.aR,{children:(0,a.jsxs)(i.ZB,{children:[e("memory.pendingApproval")," (",E.length,")"]})}),(0,a.jsx)(i.Wu,{children:(0,a.jsx)("div",{className:"space-y-4",children:M.map(([t,r])=>(0,a.jsxs)("div",{children:[(0,a.jsx)("h4",{className:"text-xs font-semibold text-muted-foreground uppercase mb-2",children:g(t)}),(0,a.jsx)("div",{className:"space-y-2",children:r.map(t=>(0,a.jsxs)("div",{className:"flex items-start justify-between p-2 rounded bg-secondary/50",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-medium truncate",children:t.content}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:[e("memory.confidence"),": ",t.confidence]})]}),(0,a.jsxs)("div",{className:"flex gap-1 ml-2",children:[(0,a.jsx)(d.$,{size:"sm",variant:"outline",onClick:()=>s.mutate(t.id),children:e("memory.approve")}),(0,a.jsx)(d.$,{size:"sm",variant:"ghost",onClick:()=>f.mutate(t.id),children:e("memory.reject")})]})]},t.id))})]},t))})})]}),(0,a.jsxs)(i.Zp,{children:[(0,a.jsx)(i.aR,{children:(0,a.jsx)(i.ZB,{children:y?`${j?.length??0} results`:`${e("memory.approvedMemories")} (${R.length})`})}),(0,a.jsx)(i.Wu,{children:0===_.length?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 border border-dashed border-border rounded-lg text-center",children:[(0,a.jsx)("p",{className:"text-muted-foreground text-sm font-medium",children:e("memory.noMemories")}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs mt-1",children:e("memory.noMemoriesHint")})]}):(0,a.jsx)("div",{className:"space-y-2",children:_.map(t=>(0,a.jsxs)("div",{className:"p-2 rounded bg-secondary/50 text-sm",children:[(0,a.jsxs)("div",{className:"flex justify-between items-start",children:[(0,a.jsx)("span",{className:"flex-1",children:t.content}),(0,a.jsxs)("div",{className:"flex items-center gap-1 ml-2",children:[(0,a.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:g(t.category)}),(0,a.jsx)(d.$,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{C({id:t.id,category:t.category,content:t.content,scope:t.scope??""}),N(!0)},title:e("memory.editMemory"),children:(0,a.jsx)(n.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(d.$,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-destructive",onClick:()=>{window.confirm(e("memory.deleteConfirm"))&&x.mutate(t.id)},title:e("memory.deleteMemory"),children:(0,a.jsx)(l.A,{className:"h-3.5 w-3.5"})})]})]}),t.originalText&&(0,a.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:[e("memory.original"),": ",t.originalText]})]},t.id))})})]}),(0,a.jsx)(p,{open:b,onOpenChange:N,mode:w?"edit":"add",defaultValues:w})]}):(0,a.jsx)("div",{className:"p-6 text-muted-foreground",children:e("memory.loading")})}}},e=>{e.O(0,[820,567,993,90,136,914,587,968,358],()=>e(e.s=27859)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{638:(e,t,s)=>{"use strict";s.d(t,{C:()=>i});var r=s(19851);let a="devflow-project-root",l="devflow-active-project-root";function n(e){try{return localStorage.getItem(e)}catch{return null}}function c(e,t){try{null===t?localStorage.removeItem(e):localStorage.setItem(e,t)}catch{}}let i=(0,r.vt)(e=>({selectedNodeId:null,detailTab:"properties",searchQuery:"",projectRoot:n(a),activeProjectRoot:n(l),selectedRunId:null,selectNode:t=>e({selectedNodeId:t}),setDetailTab:t=>e({detailTab:t}),setSearchQuery:t=>e({searchQuery:t}),setProjectRoot:t=>{c(a,t),e({projectRoot:t})},setActiveProjectRoot:t=>{c(l,t),e({activeProjectRoot:t})},setSelectedRunId:t=>e({selectedRunId:t})}))},3140:(e,t,s)=>{"use strict";e.exports=s(48558)},8490:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},15698:(e,t,s)=>{"use strict";s.d(t,{ProjectOverview:()=>N});var r=s(54568),a=s(7620),l=s(86914),n=s(638),c=s(89531),i=s(64318);function d({className:e,...t}){return(0,r.jsx)("div",{className:(0,i.cn)("animate-pulse rounded-md bg-muted",e),...t})}var o=s(81007);let u=(0,o.A)("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);var x=s(60527);let h=(0,o.A)("FolderSync",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5",key:"1dkoa9"}],["path",{d:"M12 10v4h4",key:"1czhmt"}],["path",{d:"m12 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"lvuxfi"}],["path",{d:"M22 22v-4h-4",key:"1ewp4q"}],["path",{d:"m22 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"14ync0"}]]);var m=s(36645);let p=(0,o.A)("FolderGit2",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["path",{d:"M18 19c-2.8 0-5-2.2-5-5v8",key:"pkpw2h"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]),v=(0,o.A)("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]),j=(0,o.A)("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);var f=s(56242);let g=(0,o.A)("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]),y=(0,o.A)("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);var b=s(8490),w=s(64567);function N(){let{t:e}=(0,w.Bd)(),{data:t}=(0,l.nS)(),s=(0,n.C)(e=>e.projectRoot),i=(0,n.C)(e=>e.setProjectRoot),o=(0,n.C)(e=>e.activeProjectRoot),N=(0,n.C)(e=>e.setActiveProjectRoot),[P,R]=(0,a.useState)(""),[A,C]=(0,a.useState)(""),[S,E]=(0,a.useState)(!1),M=(0,l.PS)(),Z=(0,l.B7)(),W=(0,l.ll)();(0,a.useEffect)(()=>{t?.rootPath&&t.rootPath!==o&&(i(t.rootPath),N(t.rootPath))},[t,i,N,o]);let[T,B]=(0,a.useState)(!1);(0,a.useEffect)(()=>{T||t?.rootPath||!o||M.isPending||(B(!0),M.mutate(o))},[t?.rootPath,o,M.isPending,T]);let{data:I}=(0,l.YK)(),{data:L}=(0,l.jx)(),{data:D}=(0,l.mP)(),{data:V}=(0,l.te)(10,0),{data:q,isLoading:z}=(0,l.aW)(o),F=I?.find(e=>e.rootPath===o),O=()=>{if(F?.stack&&F.stack.length>0)return F.stack;if(q?.stack){let e=[...q.stack.languages,...q.stack.frameworks,...q.stack.buildTools,...q.stack.testTools];if(e.length>0)return e}return[]},$=()=>{P.trim()&&M.mutate(P.trim(),{onSuccess:e=>{i(e.rootPath),N(e.rootPath)}})},H=()=>{A.trim()&&M.mutate(A.trim(),{onSuccess:e=>{i(e.rootPath),N(e.rootPath),E(!1),C("")}})};return s?(0,r.jsxs)("div",{className:"p-6 space-y-6 overflow-y-auto h-full",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-2xl font-bold",children:e("overview.title")}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"hidden max-w-[40vw] truncate rounded bg-secondary px-2 py-1 font-mono text-xs text-muted-foreground sm:block",children:s}),(0,r.jsx)("button",{onClick:()=>o&&W.mutate(o),disabled:!o||W.isPending,className:"icon-button",title:e("onboarding.refresh"),"aria-label":e("onboarding.refresh"),children:(0,r.jsx)(x.A,{className:`h-4 w-4 ${W.isPending?"animate-spin":""}`})}),(0,r.jsx)("button",{onClick:()=>E(!S),className:"icon-button",title:e("overview.switchProject"),"aria-label":e("overview.switchProject"),children:(0,r.jsx)(h,{className:"h-4 w-4"})}),(0,r.jsx)("button",{onClick:()=>{Z.mutate(void 0,{onSuccess:()=>{i(null),N(null)}})},className:"icon-button",title:e("overview.disconnectProject"),"aria-label":e("overview.disconnectProject"),children:(0,r.jsx)(m.A,{className:"h-4 w-4"})})]})]}),S&&(0,r.jsxs)("div",{className:"flex items-center gap-2 p-3 rounded-lg border bg-card",children:[(0,r.jsx)("input",{type:"text",value:A,onChange:e=>C(e.target.value),onKeyDown:e=>{"Enter"===e.key&&H(),"Escape"===e.key&&(E(!1),C(""))},placeholder:e("overview.switchProjectPlaceholder"),className:"flex-1 px-3 py-1.5 rounded-md border border-border bg-background text-sm"}),(0,r.jsx)("button",{onClick:H,disabled:M.isPending||!A.trim(),className:"px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",children:M.isPending?e("overview.connecting"):e("overview.switchProjectConfirm")})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,r.jsx)(k,{icon:(0,r.jsx)(p,{className:"h-5 w-5"}),label:e("overview.project"),value:F?.name?F.name:q?.projectName?q.projectName:o?o.split("/").pop()??"Unknown Project":"Unknown Project"}),(0,r.jsx)(k,{icon:(0,r.jsx)(v,{className:"h-5 w-5"}),label:e("overview.filesIndexed"),value:L?String(L.totalFiles):"--"}),(0,r.jsx)(k,{icon:(0,r.jsx)(j,{className:"h-5 w-5"}),label:e("overview.workflows"),value:D?String(D.length):"--"}),(0,r.jsx)(k,{icon:(0,r.jsx)(f.A,{className:"h-5 w-5"}),label:e("overview.agentRuns"),value:V?String(V.length):"--"})]}),O().length>0&&(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsx)(c.ZB,{children:e("overview.techStack")})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:O().map(e=>(0,r.jsx)("span",{className:"px-2 py-1 rounded-md bg-secondary text-secondary-foreground text-xs",children:e},e))})})]}),z?(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(g,{className:"h-4 w-4"}),e("onboarding.title")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)(d,{className:"h-32 w-full"})})]}):q?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(g,{className:"h-4 w-4"}),e("overview.architectureLayers")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:q.architectureLayers.map(t=>(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-sm font-medium",children:t.name}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground bg-secondary px-2 py-0.5 rounded",children:e("overview.filesCount",{count:t.files})})]},t.name))})})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2",children:[(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(y,{className:"h-4 w-4"}),e("overview.keyModules")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:q.keyModules.slice(0,6).map(e=>(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm font-mono text-primary",children:e.name}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:e.reason})]},e.name))})})]}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(v,{className:"h-4 w-4"}),e("overview.keyFiles")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:q.keyFiles.slice(0,6).map(e=>(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm font-mono truncate",children:e.path}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:e.reason})]},e.path))})})]})]}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(b.A,{className:"h-4 w-4"}),e("overview.recommended")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"text-xs font-semibold text-muted-foreground mb-2 uppercase",children:e("overview.plugins")}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:q.recommendedPlugins.map(e=>(0,r.jsx)("span",{className:"px-2 py-0.5 rounded bg-green-100 text-green-800 text-xs",children:e},e))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"text-xs font-semibold text-muted-foreground mb-2 uppercase",children:e("overview.workflows")}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:q.recommendedWorkflows.map(e=>(0,r.jsx)("span",{className:"px-2 py-0.5 rounded bg-blue-100 text-blue-800 text-xs",children:e},e))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"text-xs font-semibold text-muted-foreground mb-2 uppercase",children:e("overview.queries")}),(0,r.jsx)("div",{className:"space-y-1",children:q.recommendedQueries.slice(0,3).map(e=>(0,r.jsxs)("div",{className:"text-xs text-muted-foreground",children:['"',e,'"']},e))})]})]})})]})]}):(0,r.jsx)(c.Zp,{children:(0,r.jsx)(c.Wu,{className:"py-8 text-center text-muted-foreground",children:e("onboarding.empty")})}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsx)(c.ZB,{children:e("overview.recentRuns")})}),(0,r.jsx)(c.Wu,{children:V&&V.length>0?(0,r.jsxs)("table",{className:"w-full text-sm",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{className:"text-left text-muted-foreground",children:[(0,r.jsx)("th",{children:e("overview.label")}),(0,r.jsx)("th",{children:e("overview.status")}),(0,r.jsx)("th",{children:e("overview.toolCalls")}),(0,r.jsx)("th",{children:e("overview.duration")})]})}),(0,r.jsx)("tbody",{children:V.slice(0,5).map(e=>(0,r.jsxs)("tr",{className:"border-t border-border",children:[(0,r.jsx)("td",{className:"py-1",children:e.label||e.projectRoot}),(0,r.jsx)("td",{children:(0,r.jsx)("span",{className:`px-1.5 py-0.5 rounded text-xs ${"closed"===e.status?"bg-green-100 text-green-700":"bg-yellow-100 text-yellow-700"}`,children:e.status})}),(0,r.jsxs)("td",{children:[e.totalToolCalls," (",e.mcpToolCalls," MCP)"]}),(0,r.jsx)("td",{children:e.durationMs>0?`${(e.durationMs/1e3).toFixed(1)}s`:"--"})]},e.id))})]}):(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:e("overview.noRuns")})})]})]}):(0,r.jsx)("div",{className:"p-6 flex items-center justify-center h-full",children:(0,r.jsxs)(c.Zp,{className:"w-full max-w-md",children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(u,{className:"h-5 w-5"}),e("overview.connectTitle")]})}),(0,r.jsxs)(c.Wu,{className:"space-y-4",children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:e("overview.connectDescription")}),(0,r.jsx)("input",{type:"text",value:P,onChange:e=>R(e.target.value),onKeyDown:e=>"Enter"===e.key&&$(),placeholder:e("overview.connectPlaceholder"),className:"w-full px-3 py-2 rounded-md border border-border bg-background text-sm"}),(0,r.jsx)("button",{onClick:$,disabled:M.isPending||!P.trim(),className:"w-full px-4 py-2 rounded-md bg-primary text-primary-foreground text-sm font-medium disabled:opacity-50",children:M.isPending?e("overview.connecting"):e("overview.connect")}),M.isError&&(0,r.jsx)("p",{className:"text-sm text-red-500",children:e("overview.connectError")})]})]})})}function k({icon:e,label:t,value:s}){return(0,r.jsx)(c.Zp,{children:(0,r.jsxs)(c.Wu,{className:"p-4 flex items-center gap-3",children:[(0,r.jsx)("div",{className:"text-primary",children:e}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t}),(0,r.jsx)("div",{className:"font-bold text-lg",children:s})]})]})})}},19851:(e,t,s)=>{"use strict";s.d(t,{vt:()=>o});var r=s(27650),a=s(7620),l=s(3140);let{useDebugValue:n}=a,{useSyncExternalStoreWithSelector:c}=l,i=!1,d=e=>{"function"!=typeof e&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t="function"==typeof e?(0,r.y)(e):e,s=(e,s)=>(function(e,t=e=>e,s){s&&!i&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),i=!0);let r=c(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,s);return n(r),r})(t,e,s);return Object.assign(s,t),s},o=e=>e?d(e):d},27650:(e,t,s)=>{"use strict";s.d(t,{y:()=>a});let r=e=>{let t,s=new Set,r=(e,r)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=r?r:"object"!=typeof a||null===a)?a:Object.assign({},t,a),s.forEach(s=>s(t,e))}},a=()=>t,l={setState:r,getState:a,getInitialState:()=>n,subscribe:e=>(s.add(e),()=>s.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),s.clear()}},n=t=e(r,a,l);return l},a=e=>e?r(e):r},36645:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},48558:(e,t,s)=>{"use strict";var r=s(7620),a=s(16574),l="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},n=a.useSyncExternalStore,c=r.useRef,i=r.useEffect,d=r.useMemo,o=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,s,r,a){var u=c(null);if(null===u.current){var x={hasValue:!1,value:null};u.current=x}else x=u.current;var h=n(e,(u=d(function(){function e(e){if(!i){if(i=!0,n=e,e=r(e),void 0!==a&&x.hasValue){var t=x.value;if(a(t,e))return c=t}return c=e}if(t=c,l(n,e))return t;var s=r(e);return void 0!==a&&a(t,s)?(n=e,t):(n=e,c=s)}var n,c,i=!1,d=void 0===s?null:s;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,s,r,a]))[0],u[1]);return i(function(){x.hasValue=!0,x.value=h},[h]),o(h),h}},56242:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},60527:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},64318:(e,t,s)=>{"use strict";s.d(t,{cn:()=>l});var r=s(9917),a=s(2809);function l(...e){return(0,a.QP)((0,r.$)(e))}},77231:(e,t,s)=>{Promise.resolve().then(s.bind(s,15698))},81007:(e,t,s)=>{"use strict";s.d(t,{A:()=>c});var r=s(7620);let a=(...e)=>e.filter((e,t,s)=>!!e&&s.indexOf(e)===t).join(" ");var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,r.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:n,className:c="",children:i,iconNode:d,...o},u)=>(0,r.createElement)("svg",{ref:u,...l,width:t,height:t,stroke:e,strokeWidth:n?24*Number(s)/Number(t):s,className:a("lucide",c),...o},[...d.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(i)?i:[i]])),c=(e,t)=>{let s=(0,r.forwardRef)(({className:s,...l},c)=>(0,r.createElement)(n,{ref:c,iconNode:t,className:a(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,s),...l}));return s.displayName=`${e}`,s}},89531:(e,t,s)=>{"use strict";s.d(t,{Wu:()=>d,ZB:()=>i,Zp:()=>n,aR:()=>c});var r=s(54568),a=s(7620),l=s(64318);let n=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,l.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...t}));n.displayName="Card";let c=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,l.cn)("flex flex-col space-y-1.5 p-4",e),...t}));c.displayName="CardHeader";let i=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("h3",{ref:s,className:(0,l.cn)("text-sm font-semibold leading-none tracking-tight",e),...t}));i.displayName="CardTitle";let d=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,l.cn)("p-4 pt-0",e),...t}));d.displayName="CardContent"}},e=>{e.O(0,[820,567,993,914,587,968,358],()=>e(e.s=77231)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[424],{6407:(t,e,s)=>{"use strict";s.d(e,{$:()=>o,s:()=>n});var r=s(46676),i=s(19773),a=s(85153),n=class extends i.k{#t;#e;#s;#r;constructor(t){super(),this.#t=t.client,this.mutationId=t.mutationId,this.#s=t.mutationCache,this.#e=[],this.state=t.state||o(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#e.includes(t)||(this.#e.push(t),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#e=this.#e.filter(e=>e!==t),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#e.length||("pending"===this.state.status?this.scheduleGc():this.#s.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(t){let e=()=>{this.#i({type:"continue"})},s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=(0,a.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(Error("No mutationFn found")),onFail:(t,e)=>{this.#i({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#i({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#s.canRun(this)});let r="pending"===this.state.status,i=!this.#r.canStart();try{if(r)e();else{this.#i({type:"pending",variables:t,isPaused:i}),this.#s.config.onMutate&&await this.#s.config.onMutate(t,this,s);let e=await this.options.onMutate?.(t,s);e!==this.state.context&&this.#i({type:"pending",context:e,variables:t,isPaused:i})}let a=await this.#r.start();return await this.#s.config.onSuccess?.(a,t,this.state.context,this,s),await this.options.onSuccess?.(a,t,this.state.context,s),await this.#s.config.onSettled?.(a,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(a,null,t,this.state.context,s),this.#i({type:"success",data:a}),a}catch(e){try{await this.#s.config.onError?.(e,t,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onError?.(e,t,this.state.context,s)}catch(t){Promise.reject(t)}try{await this.#s.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onSettled?.(void 0,e,t,this.state.context,s)}catch(t){Promise.reject(t)}throw this.#i({type:"error",error:e}),e}finally{this.#s.runNext(this)}}#i(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),r.jG.batch(()=>{this.#e.forEach(e=>{e.onMutationUpdate(t)}),this.#s.notify({mutation:this,type:"updated",action:t})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},8008:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(81007).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},19053:(t,e,s)=>{"use strict";s.d(e,{n:()=>l});var r=s(7620),i=s(6407),a=s(46676),n=s(18517),o=s(91961),u=class extends n.Q{#t;#a=void 0;#n;#o;constructor(t,e){super(),this.#t=t,this.setOptions(e),this.bindMethods(),this.#u()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let e=this.options;this.options=this.#t.defaultMutationOptions(t),(0,o.f8)(this.options,e)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#n,observer:this}),e?.mutationKey&&this.options.mutationKey&&(0,o.EN)(e.mutationKey)!==(0,o.EN)(this.options.mutationKey)?this.reset():this.#n?.state.status==="pending"&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(t){this.#u(),this.#c(t)}getCurrentResult(){return this.#a}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#u(),this.#c()}mutate(t,e){return this.#o=e,this.#n?.removeObserver(this),this.#n=this.#t.getMutationCache().build(this.#t,this.options),this.#n.addObserver(this),this.#n.execute(t)}#u(){let t=this.#n?.state??(0,i.$)();this.#a={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#c(t){a.jG.batch(()=>{if(this.#o&&this.hasListeners()){let e=this.#a.variables,s=this.#a.context,r={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#o.onSuccess?.(t.data,e,s,r)}catch(t){Promise.reject(t)}try{this.#o.onSettled?.(t.data,null,e,s,r)}catch(t){Promise.reject(t)}}else if(t?.type==="error"){try{this.#o.onError?.(t.error,e,s,r)}catch(t){Promise.reject(t)}try{this.#o.onSettled?.(void 0,t.error,e,s,r)}catch(t){Promise.reject(t)}}}this.listeners.forEach(t=>{t(this.#a)})})}},c=s(68728);function l(t,e){let s=(0,c.jE)(e),[i]=r.useState(()=>new u(s,t));r.useEffect(()=>{i.setOptions(t)},[i,t]);let n=r.useSyncExternalStore(r.useCallback(t=>i.subscribe(a.jG.batchCalls(t)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),l=r.useCallback((t,e)=>{i.mutate(t,e).catch(o.lQ)},[i]);if(n.error&&(0,o.GU)(i.options.throwOnError,[n.error]))throw n.error;return{...n,mutate:l,mutateAsync:n.mutate}}},27321:(t,e,s)=>{Promise.resolve().then(s.bind(s,88787))},56050:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(81007).A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},76265:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});let r=(0,s(81007).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},88787:(t,e,s)=>{"use strict";s.d(e,{ReplayView:()=>j});var r=s(54568),i=s(65587),a=s.n(i),n=s(79748),o=s(7620),u=s(81007);let c=(0,u.A)("SkipBack",[["polygon",{points:"19 20 9 12 19 4 19 20",key:"o2sva"}],["line",{x1:"5",x2:"5",y1:"19",y2:"5",key:"1ocqjk"}]]);var l=s(8008);let d=(0,u.A)("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);var h=s(55769),m=s(76265);let p=(0,u.A)("SkipForward",[["polygon",{points:"5 4 15 12 5 20 5 4",key:"16p6eg"}],["line",{x1:"19",x2:"19",y1:"5",y2:"19",key:"futhcm"}]]);function x({isPlaying:t,speed:e,onPlayPause:s,onStepForward:i,onStepBack:a,onJumpToStart:n,onJumpToEnd:o,onSpeedChange:u}){return(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 p-3 border-b border-border bg-secondary/30",children:[(0,r.jsx)("button",{onClick:n,className:"p-1 rounded hover:bg-accent",children:(0,r.jsx)(c,{className:"h-4 w-4"})}),(0,r.jsx)("button",{onClick:a,className:"p-1 rounded hover:bg-accent",children:(0,r.jsx)(l.A,{className:"h-4 w-4"})}),(0,r.jsx)("button",{onClick:s,className:"p-2 rounded-full bg-primary text-primary-foreground hover:opacity-90",children:t?(0,r.jsx)(d,{className:"h-4 w-4"}):(0,r.jsx)(h.A,{className:"h-4 w-4"})}),(0,r.jsx)("button",{onClick:i,className:"p-1 rounded hover:bg-accent",children:(0,r.jsx)(m.A,{className:"h-4 w-4"})}),(0,r.jsx)("button",{onClick:o,className:"p-1 rounded hover:bg-accent",children:(0,r.jsx)(p,{className:"h-4 w-4"})}),(0,r.jsx)("div",{className:"border-l border-border h-5 mx-2"}),[.5,1,2,4,8].map(t=>(0,r.jsxs)("button",{onClick:()=>u(t),className:`px-1.5 py-0.5 text-xs rounded ${e===t?"bg-primary text-primary-foreground":"hover:bg-accent text-muted-foreground"}`,children:[t,"x"]},t))]})}function f({events:t,currentIndex:e,onSeek:s}){if(0===t.length)return null;let i=t[0].timestamp,a=t[t.length-1].timestamp-i||1;return(0,r.jsx)("div",{className:"px-4 py-2 border-b border-border",children:(0,r.jsxs)("div",{className:"relative h-8 bg-secondary rounded cursor-pointer",onClick:e=>{let r=e.currentTarget.getBoundingClientRect();s(Math.round((e.clientX-r.left)/r.width*(t.length-1)))},children:[t.map((t,s)=>{let n=(t.timestamp-i)/a*100;return(0,r.jsx)("div",{className:`absolute top-1 w-2 h-6 rounded-sm ${s<=e?"bg-primary":"bg-border"}`,style:{left:`${n}%`},title:t.stepId},t.id)}),(0,r.jsx)("div",{className:"absolute top-0 h-full w-0.5 bg-foreground",style:{left:`${e/(t.length-1||1)*100}%`}})]})})}function y({events:t,currentIndex:e}){let s=t[0]?.timestamp??0;return(0,r.jsx)("div",{className:"space-y-0.5 font-mono text-xs",children:t.map((t,i)=>{let a=((t.timestamp-s)/1e3).toFixed(1),n=i===e;return(0,r.jsxs)("div",{className:`flex gap-2 py-1 px-2 rounded ${n?"bg-primary/10 text-primary font-medium":i<e?"text-muted-foreground":"text-muted-foreground/50"}`,children:[(0,r.jsxs)("span",{className:"w-16 text-right tabular-nums",children:["[",a,"s]"]}),(0,r.jsx)("span",{children:t.kind}),(0,r.jsx)("span",{className:"text-muted-foreground/50",children:t.data?.toolName||t.data?.filePath||t.data?.model||t.data?.command||""}),n&&(0,r.jsx)("span",{className:"ml-auto text-primary",children:"YOU ARE HERE"})]},t.id)})})}var v=s(56050);function b({events:t,runId:e,onBack:s}){let i=[...t].sort((t,e)=>t.timestamp-e.timestamp),[a,n]=(0,o.useState)(0),[u,c]=(0,o.useState)(!1),[l,d]=(0,o.useState)(1),h=(0,o.useRef)(null),m=i[a]??null,p=(0,o.useCallback)(()=>{n(t=>{let e=t+1;return e>=i.length?(c(!1),t):(h.current=setTimeout(()=>p(),Math.min((i[e].timestamp-i[t].timestamp)/l,2e3)),e)})},[i,l]);return(0,o.useEffect)(()=>(u?p():h.current&&clearTimeout(h.current),()=>{h.current&&clearTimeout(h.current)}),[u,p]),(0,r.jsxs)("div",{className:"flex flex-col h-full",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b border-border",children:[(0,r.jsx)("button",{onClick:s,className:"p-1 rounded hover:bg-accent",children:(0,r.jsx)(v.A,{className:"h-4 w-4"})}),(0,r.jsx)("h2",{className:"text-lg font-bold",children:"Replay"}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:e}),(0,r.jsxs)("span",{className:"ml-auto text-xs text-muted-foreground",children:["Event ",a+1,"/",i.length]})]}),(0,r.jsx)(x,{isPlaying:u,speed:l,onPlayPause:()=>c(t=>!t),onStepForward:()=>n(t=>Math.min(t+1,i.length-1)),onStepBack:()=>n(t=>Math.max(t-1,0)),onJumpToStart:()=>{c(!1),n(0)},onJumpToEnd:()=>{c(!1),n(i.length-1)},onSpeedChange:d}),(0,r.jsx)(f,{events:i,currentIndex:a,onSeek:t=>{c(!1),n(t)}}),(0,r.jsxs)("div",{className:"flex-1 overflow-hidden flex",children:[(0,r.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,r.jsx)(y,{events:i,currentIndex:a})}),m&&(0,r.jsxs)("div",{className:"w-80 border-l border-border overflow-y-auto p-4",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold mb-3",children:"Current Event"}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Kind"}),(0,r.jsx)("div",{className:"text-sm font-medium",children:m.kind})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Step"}),(0,r.jsx)("div",{className:"text-sm font-mono text-xs",children:m.stepId})]}),null!=m.data.model&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Model"}),(0,r.jsx)("div",{className:"text-sm",children:m.data.model})]}),null!=m.data.prompt&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Prompt"}),(0,r.jsx)("pre",{className:"text-xs bg-secondary p-2 rounded mt-1 max-h-32 overflow-y-auto whitespace-pre-wrap",children:m.data.prompt})]}),null!=m.data.response&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Response"}),(0,r.jsx)("pre",{className:"text-xs bg-secondary p-2 rounded mt-1 max-h-32 overflow-y-auto whitespace-pre-wrap",children:m.data.response})]})]})]})]})]})}var g=s(86914);function j(){let t=(0,n.useRouter)(),e=(0,n.useSearchParams)().get("runId"),{data:s,isLoading:i}=(0,g.O)(e),{data:o}=(0,g.zb)(30,0);if(!e){let t=o??[];return(0,r.jsxs)("div",{className:"h-full overflow-y-auto p-6",children:[(0,r.jsx)("h2",{className:"mb-4 text-2xl font-bold",children:"Replay"}),(0,r.jsxs)("div",{className:"divide-y divide-border border-y border-border",children:[t.map(t=>(0,r.jsxs)(a(),{href:`/replay?runId=${encodeURIComponent(t.id)}`,className:"flex items-center gap-4 px-2 py-3 text-sm hover:bg-accent",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:t.id}),(0,r.jsx)("span",{className:"text-muted-foreground",children:t.status}),(0,r.jsx)("span",{className:"text-muted-foreground",children:new Date(t.startedAt).toLocaleString()})]},t.id)),0===t.length?(0,r.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground",children:"No runs available"}):null]})]})}if(i)return(0,r.jsx)("div",{className:"p-6 text-sm text-muted-foreground",children:"Loading replay..."});let u=(s??[]).map(t=>({id:String(t.id??""),kind:String(t.kind??"tool_use"),stepId:String(t.stepId??"unknown"),timestamp:Number(t.timestamp??0),duration:"number"==typeof t.duration?t.duration:void 0,data:t.data&&"object"==typeof t.data?t.data:{}}));return(0,r.jsx)(b,{events:u,runId:e,onBack:()=>t.push("/replay")})}}},t=>{t.O(0,[820,240,914,587,968,358],()=>t(t.s=27321)),_N_E=t.O()}]);
|