@minimalcorp/tsunagi 0.1.35 → 0.1.36
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/.next/standalone/apps/web/.next/BUILD_ID +1 -1
- package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__08c7fz~._.js → [root-of-the-server]__04g~n~m._.js} +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ujaeyr._.js +3 -0
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_016-lxb._.js +3 -0
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0g.cd6a._.js +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0hh~0f6._.js +3 -0
- package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_settings_page_tsx_0i6itlb._.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_tasks_[id]_page_tsx_0jshsm2._.js +5 -5
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0gs4d2e._.js → node_modules_06vr-0a._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0llz_9l._.js → node_modules_0c6z_cw._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_00b-qxe._.js → node_modules_0fcqekz._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0kmpnnk._.js → node_modules_0h0imx2._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0pi.005._.js → node_modules_0jo-w3s._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0b547kr._.js → node_modules_0k7u4.c._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0y3g5lf._.js → node_modules_0pbr55t._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0~n91z-._.js → node_modules_0zkg-x0._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_icons_0zerlct._.js → node_modules_lucide-react_dist_esm_icons_0qttwc4._.js} +2 -2
- package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
- package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{0vlse5ga2r0n7.js → 094hkpbli0k9s.js} +13 -13
- package/.next/standalone/apps/web/.next/static/chunks/0nl-qnylbdcjh.js +5 -0
- package/.next/standalone/apps/web/.next/static/chunks/0pg---_6a_4ls.css +4 -0
- package/.next/standalone/apps/web/.next/static/chunks/0q5sjjz8en7-~.js +1 -0
- package/.next/standalone/apps/web/.next/static/chunks/11.9g_~.43gp6.js +1 -0
- package/.next/standalone/apps/web/.next/static/chunks/{13f6kj~4r5x0p.js → 13x7kvv5vziy0.js} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{0x3kp2s554oy5.js → 15~pc9ql1ab38.js} +8 -8
- package/dist/server/generated/prisma/browser.d.ts +5 -0
- package/dist/server/generated/prisma/client.d.ts +5 -0
- package/dist/server/generated/prisma/internal/class.d.ts +11 -0
- package/dist/server/generated/prisma/internal/class.js +4 -4
- package/dist/server/generated/prisma/internal/prismaNamespace.d.ts +83 -1
- package/dist/server/generated/prisma/internal/prismaNamespace.js +7 -1
- package/dist/server/generated/prisma/internal/prismaNamespaceBrowser.d.ts +7 -0
- package/dist/server/generated/prisma/internal/prismaNamespaceBrowser.js +7 -1
- package/dist/server/generated/prisma/models/AppSetting.d.ts +939 -0
- package/dist/server/generated/prisma/models/AppSetting.js +1 -0
- package/dist/server/generated/prisma/models.d.ts +1 -0
- package/dist/server/index.js +2 -0
- package/dist/server/lib/ollama-settings.d.ts +21 -0
- package/dist/server/lib/ollama-settings.js +116 -0
- package/dist/server/lib/services/task-service.js +3 -9
- package/dist/server/pty-manager.d.ts +5 -1
- package/dist/server/pty-manager.js +15 -7
- package/dist/server/routes/onboarding.js +6 -1
- package/dist/server/routes/settings.d.ts +2 -0
- package/dist/server/routes/settings.js +44 -0
- package/dist/server/routes/tasks.js +5 -1
- package/dist/server/routes/terminal.js +20 -3
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/prisma/migrations/20260924000000_add_app_settings/migration.sql +7 -0
- package/prisma/schema.prisma +9 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0mct.7z._.js +0 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0lpms0u._.js +0 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0owas.l._.js +0 -3
- package/.next/standalone/apps/web/.next/static/chunks/00e8eue.21.8h.css +0 -4
- package/.next/standalone/apps/web/.next/static/chunks/08u0u06ip_aj0.js +0 -5
- package/.next/standalone/apps/web/.next/static/chunks/0j3485~p9pn9n.js +0 -1
- package/.next/standalone/apps/web/.next/static/chunks/0kmlu-0djf-rx.js +0 -1
- /package/.next/standalone/apps/web/.next/static/{7OpUnOx5deFmG2Iu_gF5o → XlHkzVdPy8Ez_iG8HMze4}/_buildManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{7OpUnOx5deFmG2Iu_gF5o → XlHkzVdPy8Ez_iG8HMze4}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{7OpUnOx5deFmG2Iu_gF5o → XlHkzVdPy8Ez_iG8HMze4}/_ssgManifest.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module.exports=[92434,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},68063,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},4575,(a,b,c)=>{"use strict";function d({widthInt:a,heightInt:b,blurWidth:c,blurHeight:e,blurDataURL:f,objectFit:g}){let h=c?40*c:a,i=e?40*e:b,j=h&&i?`viewBox='0 0 ${h} ${i}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${j}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${f}'/%3E%3C/svg%3E`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImageBlurSvg",{enumerable:!0,get:function(){return d}})},345,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={VALID_LOADERS:function(){return f},imageConfigDefault:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=["default","imgix","cloudinary","akamai","custom"],g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},94915,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImgProps",{enumerable:!0,get:function(){return j}}),a.r(92434);let d=a.r(68063),e=a.r(4575),f=a.r(345),g=["-moz-initial","fill","none","scale-down",void 0];function h(a){return void 0!==a.default}function i(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function j({src:a,sizes:b,unoptimized:c=!1,priority:k=!1,preload:l=!1,loading:m,className:n,quality:o,width:p,height:q,fill:r=!1,style:s,overrideSrc:t,onLoad:u,onLoadingComplete:v,placeholder:w="empty",blurDataURL:x,fetchPriority:y,decoding:z="async",layout:A,objectFit:B,objectPosition:C,lazyBoundary:D,lazyRoot:E,...F},G){var H;let I,J,K,{imgConf:L,showAltText:M,blurComplete:N,defaultLoader:O}=G,P=L||f.imageConfigDefault;if("allSizes"in P)I=P;else{let a=[...P.deviceSizes,...P.imageSizes].sort((a,b)=>a-b),b=P.deviceSizes.sort((a,b)=>a-b),c=P.qualities?.sort((a,b)=>a-b);I={...P,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===O)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let Q=F.loader||O;delete F.loader,delete F.srcSet;let R="__next_img_default"in Q;if(R){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
|
|
2
2
|
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=Q;Q=b=>{let{config:c,...d}=b;return a(d)}}if(A){"fill"===A&&(r=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[A];a&&(s={...s,...a});let c={responsive:"100vw",fill:"100vw"}[A];c&&!b&&(b=c)}let S="",T=i(p),U=i(q);if((H=a)&&"object"==typeof H&&(h(H)||void 0!==H.src)){let b=h(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(J=b.blurWidth,K=b.blurHeight,x=x||b.blurDataURL,S=b.src,!r)if(T||U){if(T&&!U){let a=T/b.width;U=Math.round(b.height*a)}else if(!T&&U){let a=U/b.height;T=Math.round(b.width*a)}}else T=b.width,U=b.height}let V=!k&&!l&&("lazy"===m||void 0===m);(!(a="string"==typeof a?a:S)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,V=!1),I.unoptimized&&(c=!0),R&&!I.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let W=i(o),X=Object.assign(r?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:B,objectPosition:C}:{},M?{}:{color:"transparent"},s),Y=N||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,e.getImageBlurSvg)({widthInt:T,heightInt:U,blurWidth:J,blurHeight:K,blurDataURL:x||"",objectFit:X.objectFit})}")`:`url("${w}")`,Z=g.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,$=Y?{backgroundSize:Z,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},_=function({config:a,src:b,unoptimized:c,width:e,quality:f,sizes:g,loader:h}){if(c){if(b.startsWith("/")&&!b.startsWith("//")){let a=(0,d.getDeploymentId)();if(a){let c=b.indexOf("?");if(-1!==c){let d=new URLSearchParams(b.slice(c+1));d.get("dpl")||(d.append("dpl",a),b=b.slice(0,c)+"?"+d.toString())}else b+=`?dpl=${a}`}}return{src:b,srcSet:void 0,sizes:void 0}}let{widths:i,kind:j}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((c,d)=>`${h({config:a,src:b,quality:f,width:c})} ${"w"===j?c:d+1}${j}`).join(", "),src:h({config:a,src:b,quality:f,width:i[k]})}}({config:I,src:a,unoptimized:c,width:T,quality:W,sizes:b,loader:Q}),aa=V?"lazy":m;return{props:{...F,loading:aa,fetchPriority:y,width:T,height:U,decoding:z,className:n,style:{...X,...$},sizes:_.sizes,srcSet:_.srcSet,src:t||_.src},meta:{unoptimized:c,preload:l||k,placeholder:w,fill:r}}}},94613,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(72131),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;function f(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}return b?.mountedInstances?.add(a.children),f(),e(()=>(b?.mountedInstances?.add(a.children),()=>{b?.mountedInstances?.delete(a.children)})),e(()=>(b&&(b._pendingUpdate=f),()=>{b&&(b._pendingUpdate=f)})),null}},92966,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HeadManagerContext},58018,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(33354),g=a.r(46058),h=a.r(87924),i=g._(a.r(72131)),j=f._(a.r(94613)),k=a.r(92966);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}a.r(92434);let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},4486,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ImageConfigContext},53773,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.RouterContext},35444,(a,b,c)=>{"use strict";function d(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,b.qualities[0]):c}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findClosestQuality",{enumerable:!0,get:function(){return d}})},2305,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return g}});let d=a.r(35444),e=a.r(68063);function f({config:a,src:b,width:c,quality:g}){let h=(0,e.getDeploymentId)();if(b.startsWith("/")&&!b.startsWith("//")){let a=b.indexOf("?");if(-1!==a){let c=new URLSearchParams(b.slice(a+1)),d=c.get("dpl");if(d){h=d,c.delete("dpl");let e=c.toString();b=b.slice(0,a)+(e?"?"+e:"")}}}if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,d.findClosestQuality)(g,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${i}${b.startsWith("/")&&h?`&dpl=${h}`:""}`}f.__next_img_default=!0;let g=f},8591,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(72131);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},67161,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Image",{enumerable:!0,get:function(){return u}});let d=a.r(33354),e=a.r(46058),f=a.r(87924),g=e._(a.r(72131)),h=d._(a.r(35112)),i=d._(a.r(58018)),j=a.r(94915),k=a.r(345),l=a.r(4486);a.r(92434);let m=a.r(53773),n=d._(a.r(2305)),o=a.r(8591),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:s,onLoadingCompleteRef:t,setBlurComplete:u,setShowAltText:v,sizesInput:w,onLoad:x,onError:y,...z},A)=>{let B=(0,g.useCallback)(a=>{a&&(y&&(a.src=a.src),a.complete&&q(a,l,s,t,u,n,w))},[a,l,s,t,u,y,n,w]),C=(0,o.useMergedRef)(A,B);return(0,f.jsx)("img",{...z,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:C,onLoad:a=>{q(a.currentTarget,l,s,t,u,n,w)},onError:a=>{v(!0),"empty"!==l&&u(!0),y&&y(a)}})});function t({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},33095,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(33354),g=a.r(94915),h=a.r(67161),i=f._(a.r(2305));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},71987,(a,b,c)=>{b.exports=a.r(33095)},67658,(a,b,c)=>{"use strict";var d=a.r(72131),e="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},f=d.useSyncExternalStore,g=d.useRef,h=d.useEffect,i=d.useMemo,j=d.useDebugValue;c.useSyncExternalStoreWithSelector=function(a,b,c,d,k){var l=g(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=f(a,(l=i(function(){function a(a){if(!h){if(h=!0,f=a,a=d(a),void 0!==k&&m.hasValue){var b=m.value;if(k(b,a))return g=b}return g=a}if(b=g,e(f,a))return b;var c=d(a);return void 0!==k&&k(b,c)?(f=a,b):(f=a,g=c)}var f,g,h=!1,i=void 0===c?null:c;return[function(){return a(b())},null===i?void 0:function(){return a(i())}]},[b,c,d,k]))[0],l[1]);return h(function(){m.hasValue=!0,m.value=n},[n]),j(n),n}},32473,(a,b,c)=>{"use strict";b.exports=a.r(67658)},46940,a=>{"use strict";let b,c,d,e,f,g;var h=a.i(87924),i=a.i(72131),j=a.i(50944),k=a.i(60137);let l=(0,k.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),m=(0,k.default)("refresh-cw",[["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"}]]);var n=a.i(71987);let o=(0,k.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),p=(0,k.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),q=(0,k.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var r=a.i(80087),s=a.i(39524);function t(){let{theme:a,setTheme:b}=(0,r.useTheme)();return(0,h.jsx)("div",{className:"flex items-center gap-0.5 bg-input/20 dark:bg-input/30 rounded-md p-0.5",children:[{value:"light",icon:o,label:"Light"},{value:"dark",icon:p,label:"Dark"},{value:"system",icon:q,label:"System"}].map(({value:c,icon:d,label:e})=>(0,h.jsx)(s.Button,{variant:"ghost",size:"icon-lg",onClick:()=>b(c),className:a===c?"bg-primary text-primary-foreground shadow-sm hover:bg-primary/80 hover:text-primary-foreground dark:hover:bg-primary/80":"text-muted-foreground hover:text-foreground",title:e,children:(0,h.jsx)(d,{})},c))})}let u={src:a.i(50160).default,width:1024,height:1024,blurWidth:8,blurHeight:8,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAxElEQVR42o2OSwsBUQBG7x0lFxkyt1uETDKeGaSM8tgpLDxShBBZKBajbMeGlSkW0zQleSz8TcaG5Zz6VmfxHQCMACEFkYMQZMOYtjDYhQiBH77SZEYoXBlPhO5RLhSl/TyvaIusfC4HhhOzyYKAnQmyfP2guHE80S5eblPheg84U3wrJCnY6meBlfZ4hcZJjcQGo2b58erntGfJV+us+J3qRsSr/1MuhuPSmbWYTa421fBy24vORJZmOd39h1K/QQoY5Q2cnyKUZdwhkQAAAABJRU5ErkJggg=="};function v({onSettingsClick:a,onReload:b,nextStep:c="complete"}){return(0,h.jsxs)("header",{className:"h-14 border-b border-border flex items-center gap-3 px-4 bg-card",children:[(0,h.jsx)("h1",{className:"flex-shrink-0 flex items-center",children:(0,h.jsx)(n.default,{src:u,alt:"Tsunagi",width:32,height:32,priority:!0})}),(0,h.jsx)("div",{className:"flex-1"}),(0,h.jsx)(t,{}),(0,h.jsxs)("div",{className:"flex gap-1 flex-shrink-0",children:[(0,h.jsx)(s.Button,{variant:"outline",size:"icon-lg",onClick:b,className:"active:scale-95",title:"Reload",children:(0,h.jsx)(m,{})}),(0,h.jsxs)("div",{className:"relative",children:[(0,h.jsx)(s.Button,{variant:"outline",size:"icon-lg",onClick:a,className:`active:scale-95 ${"env"===c?"bg-primary text-primary-foreground border-primary shadow-lg ring-2 ring-primary hover:bg-primary/80 dark:hover:bg-primary/80":""}`,title:"Environment Settings",children:(0,h.jsx)(l,{})}),"env"===c&&(0,h.jsxs)("div",{className:"absolute top-full mt-2 right-[-2px] bg-tooltip backdrop-blur-sm border-2 border-warning text-foreground px-4 py-2 rounded text-base whitespace-nowrap animate-subtle-bounce z-[60] shadow-lg",children:["Set up tokens",(0,h.jsx)("div",{className:"absolute -top-1 right-[21px] w-2 h-2 bg-tooltip backdrop-blur-sm border-l-2 border-t-2 border-warning rotate-45"})]})]})]})]})}let w=(0,k.default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 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.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var x=a.i(33441);function y({hasRepositories:a=!1,hasEnvVars:b=!1,hasTasks:c=!1}){return(0,h.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm z-40 flex items-center justify-center",children:(0,h.jsxs)("div",{className:"bg-card rounded-xl p-8 shadow-2xl max-w-xs text-center",children:[(0,h.jsx)("div",{className:"flex justify-center mb-4",children:(0,h.jsx)(w,{className:"w-12 h-12 text-primary"})}),(0,h.jsx)("h2",{className:"text-lg font-semibold leading-none text-foreground mb-6",children:"セットアップ"}),(0,h.jsxs)("div",{className:"space-y-2 mb-6 text-sm",children:[(0,h.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 rounded border ${b?"bg-success/10 border-success/30":"bg-warning/10 border-warning/30"}`,children:[(0,h.jsx)("span",{className:`w-5 h-5 rounded-full text-white text-xs flex items-center justify-center font-bold ${b?"bg-success":"bg-warning"}`,children:b?(0,h.jsx)(x.Check,{className:"w-3 h-3"}):"1"}),(0,h.jsx)("span",{className:b?"text-success":"font-medium text-muted-foreground",children:"認証設定(Global)"})]}),(0,h.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 rounded border ${a?"bg-success/10 border-success/30":"bg-muted border-border"}`,children:[(0,h.jsx)("span",{className:`w-5 h-5 rounded-full text-white text-xs flex items-center justify-center ${a?"bg-success font-bold":"bg-muted-foreground"}`,children:a?(0,h.jsx)(x.Check,{className:"w-3 h-3"}):"2"}),(0,h.jsx)("span",{className:a?"text-success":"text-muted-foreground",children:"リポジトリクローン"})]}),(0,h.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 rounded border ${c?"bg-success/10 border-success/30":"bg-muted border-border"}`,children:[(0,h.jsx)("span",{className:`w-5 h-5 rounded-full text-white text-xs flex items-center justify-center ${c?"bg-success font-bold":"bg-muted-foreground"}`,children:c?(0,h.jsx)(x.Check,{className:"w-3 h-3"}):"3"}),(0,h.jsx)("span",{className:c?"text-success":"text-muted-foreground",children:"タスク作成"})]})]}),(0,h.jsx)("div",{className:"flex items-center justify-center gap-1 text-xs text-muted-foreground",children:(0,h.jsx)("span",{children:"上部の「Settings」ボタンをクリック"})})]})})}var z=a.i(92712),A=a.i(21034),B=a.i(90002),C=a.i(28503);function D({isOpen:a,onClose:b,onClone:c,isOnboarding:d=!1}){let[e,f]=(0,i.useState)(""),g=(0,A.useToast)(),j=async a=>{a.preventDefault(),b(),f("");let d=g.loading("Cloning repository...",e);try{let a=await c({gitUrl:e});g.success(d,"Successfully cloned repository",a.fallbackToSsh?`HTTPSでは認証できなかったため、SSHでcloneしました: ${a.cloneUrl}`:e)}catch(b){let a=b instanceof Error?b.message:"Unknown error";g.error(d,"Failed to clone repository",a)}};return(0,h.jsx)(B.Dialog,{open:a,onOpenChange:a=>{a.open||d||b()},title:"Clone Repository",maxWidth:"md",showCloseButton:!d,children:(0,h.jsxs)("form",{onSubmit:j,className:"space-y-4",children:[(0,h.jsxs)("div",{children:[(0,h.jsx)("label",{className:"block text-sm font-medium mb-1 text-foreground",children:"Git URL *"}),(0,h.jsx)(C.Input,{type:"text",required:!0,placeholder:"https://github.com/owner/repo.git",value:e,onChange:a=>f(a.target.value),className:"w-full"}),(0,h.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"HTTPS or SSH形式のGit URLを入力してください"})]}),(0,h.jsxs)("div",{className:"flex justify-end gap-2",children:[!d&&(0,h.jsx)(s.Button,{type:"button",variant:"outline",size:"lg",onClick:b,className:"active:scale-95",children:"Cancel"}),(0,h.jsx)(s.Button,{type:"submit",size:"lg",className:"active:scale-95",children:"Clone"})]})]})})}var E=a.i(26807);function F({isOpen:a,onClose:b,onConfirm:c,defaultDays:d=7}){let[e,f]=(0,i.useState)(d);return(0,h.jsx)(B.Dialog,{open:a,onOpenChange:a=>!a.open&&b(),title:"Delete Old Tasks",maxWidth:"md",showCloseButton:!1,children:(0,h.jsxs)("div",{className:"space-y-4",children:[(0,h.jsxs)("p",{className:"text-foreground",children:["Delete tasks completed more than"," ",(0,h.jsx)(C.Input,{type:"number",min:"1",value:e,onChange:a=>f(Number(a.target.value)),className:"w-16 mx-1 text-center inline-block"})," ","days ago?"]}),(0,h.jsx)("p",{className:"text-sm text-muted-foreground",children:"This action will permanently delete the selected tasks and their associated worktrees."}),(0,h.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,h.jsx)(E.DialogClose,{render:(0,h.jsx)(s.Button,{variant:"outline",className:"cursor-pointer"}),children:"Cancel"}),(0,h.jsx)(s.Button,{variant:"destructive",onClick:()=>{c(e),b()},className:"cursor-pointer",children:"Delete"})]})]})})}let G=(0,k.default)("folder-down",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"m15 13-3 3-3-3",key:"6j2sf0"}]]);var H=a.i(760);function I({onCloneClick:a,isOnboarding:b=!1,isCloneDialogOpen:c=!1}){return(0,h.jsx)("div",{className:"flex h-full flex-col px-4 py-4",children:(0,h.jsxs)("div",{className:"relative flex-1",children:[(0,h.jsxs)("button",{type:"button",onClick:a,className:(0,H.cn)("flex h-full w-full flex-col items-center justify-center gap-2 rounded-lg","border-2 border-dashed border-border text-muted-foreground","transition-colors hover:bg-accent hover:text-foreground active:scale-95",b&&"border-primary text-primary ring-2 ring-primary"),title:"Clone Repository",children:[(0,h.jsx)(G,{className:"size-6"}),(0,h.jsx)("span",{className:"text-xs font-medium",children:"Clone repository"})]}),b&&!c&&(0,h.jsxs)("div",{className:"absolute left-1/2 top-1/2 z-[60] mt-12 -translate-x-1/2 animate-subtle-bounce whitespace-nowrap rounded border-2 border-warning bg-tooltip px-4 py-2 text-base text-foreground shadow-lg backdrop-blur-sm",children:["Clone a repository",(0,h.jsx)("div",{className:"absolute -top-1 left-1/2 size-2 -translate-x-1/2 rotate-45 border-l-2 border-t-2 border-warning bg-tooltip backdrop-blur-sm"})]})]})})}let J=(0,k.default)("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);var K=a.i(50537),K=K;let L=(0,k.default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);var M=a.i(33508),N=a.i(81560),O=a.i(15618),P=a.i(49594);let Q=["backlog","planning","coding","reviewing","done"],R={backlog:{active:"bg-muted text-foreground ring-1 ring-foreground/20",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"},planning:{active:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"},coding:{active:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-300",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"},reviewing:{active:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"},done:{active:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"}};function S({repositories:a,filters:b,onFilterChange:c,onAddTask:d}){let[e,f]=(0,i.useState)(!1),g=b.statuses.length>0||b.repos.length>0,j=(0,i.useCallback)(a=>{c({...b,search:a.target.value})},[b,c]),k=(0,i.useCallback)(()=>{c({...b,search:""})},[b,c]);return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)("div",{className:"flex items-center gap-2",children:[(0,h.jsxs)("div",{className:"relative flex-1",children:[(0,h.jsx)(K.default,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 size-3.5 text-muted-foreground"}),(0,h.jsx)(C.Input,{value:b.search,onChange:j,placeholder:"Search tasks...",className:"h-8 pl-8 pr-8 text-xs"}),b.search&&(0,h.jsx)("button",{onClick:k,className:"absolute right-2 top-1/2 -translate-y-1/2 size-4 inline-flex items-center justify-center rounded-sm hover:bg-accent",children:(0,h.jsx)(M.X,{className:"size-3 text-muted-foreground"})})]}),(0,h.jsx)(s.Button,{variant:"outline",size:"icon",onClick:()=>f(!0),className:(0,H.cn)("size-8 flex-shrink-0",g&&"border-primary text-primary"),title:"Filters",children:(0,h.jsx)(L,{className:"size-3.5"})}),d&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("div",{className:"h-5 w-px bg-border flex-shrink-0"}),(0,h.jsx)(s.Button,{variant:"outline",size:"icon",onClick:d,className:"size-8 flex-shrink-0",title:"Add task",children:(0,h.jsx)(O.Plus,{className:"size-3.5"})})]})]}),e&&(0,h.jsx)(T,{repositories:a,filters:b,onFilterChange:c,onClose:()=>f(!1)})]})}function T({repositories:a,filters:b,onFilterChange:c,onClose:d}){let e=(0,i.useCallback)(a=>{let d=b.statuses.includes(a)?b.statuses.filter(b=>b!==a):[...b.statuses,a];c({...b,statuses:d})},[b,c]),f=(0,i.useCallback)(a=>{let d=b.repos.includes(a)?b.repos.filter(b=>b!==a):[...b.repos,a];c({...b,repos:d})},[b,c]),g=(0,i.useCallback)(()=>{c({...b,statuses:[],repos:[]})},[b,c]),j=b.statuses.length>0||b.repos.length>0;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("div",{className:"fixed inset-0 z-50 bg-black/40",onClick:d}),(0,h.jsx)("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-20 px-4 pointer-events-none",children:(0,h.jsxs)("div",{className:"pointer-events-auto w-full max-w-sm rounded-lg border border-border bg-card p-4 shadow-lg",onClick:a=>a.stopPropagation(),children:[(0,h.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,h.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Filters"}),(0,h.jsxs)("div",{className:"flex items-center gap-2",children:[j&&(0,h.jsxs)(s.Button,{variant:"ghost",size:"sm",onClick:g,className:"h-7 text-xs gap-1",children:[(0,h.jsx)(N.Trash2,{className:"size-3"}),"Clear all"]}),(0,h.jsx)("button",{onClick:d,className:"size-6 inline-flex items-center justify-center rounded-sm hover:bg-accent",children:(0,h.jsx)(M.X,{className:"size-4 text-muted-foreground"})})]})]}),(0,h.jsxs)("div",{className:"space-y-2 mb-4",children:[(0,h.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"Status"}),(0,h.jsx)("div",{className:"flex flex-wrap gap-1",children:Q.map(a=>{let c=b.statuses.includes(a),d=R[a];return(0,h.jsx)("button",{onClick:()=>e(a),className:(0,H.cn)("inline-flex h-7 items-center rounded-full px-3 text-xs font-medium transition-colors",c?d.active:d.inactive),children:a},a)})})]}),a.length>0&&(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"Repository"}),(0,h.jsx)("div",{className:"flex flex-wrap gap-1",children:a.map(a=>{let c=`${a.owner}/${a.repo}`,d=b.repos.includes(c),e=(0,P.getRepoColor)(a.owner,a.repo);return(0,h.jsx)("button",{onClick:()=>f(c),className:(0,H.cn)("inline-flex h-7 items-center rounded-full px-3 text-xs font-medium transition-colors",d?`${e.bg} ${e.text}`:"bg-transparent text-muted-foreground hover:bg-muted/50"),children:c},a.id)})})]})]})})]})}var U=i,V=a.i(35112);function W(a){return`Minified Redux error #${a}; visit https://redux.js.org/Errors?code=${a} for the full message or use the non-minified dev environment for full errors. `}var X="function"==typeof Symbol&&Symbol.observable||"@@observable",Y=()=>Math.random().toString(36).substring(7).split("").join("."),Z={INIT:`@@redux/INIT${Y()}`,REPLACE:`@@redux/REPLACE${Y()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Y()}`};function $(a,b){return function(...c){return b(a.apply(this,c))}}function _(a,b){if("function"==typeof a)return $(a,b);if("object"!=typeof a||null===a)throw Error(W(16));let c={};for(let d in a){let e=a[d];"function"==typeof e&&(c[d]=$(e,b))}return c}function aa(...a){return 0===a.length?a=>a:1===a.length?a[0]:a.reduce((a,b)=>(...c)=>a(b(...c)))}a.i(32473);var ab=Symbol.for(i.version.startsWith("19")?"react.transitional.element":"react.element"),ac=Symbol.for("react.portal"),ad=Symbol.for("react.fragment"),ae=Symbol.for("react.strict_mode"),af=Symbol.for("react.profiler"),ag=Symbol.for("react.consumer"),ah=Symbol.for("react.context"),ai=Symbol.for("react.forward_ref"),aj=Symbol.for("react.suspense"),ak=Symbol.for("react.suspense_list"),al=Symbol.for("react.memo"),am=Symbol.for("react.lazy");function an(a){return function(b){let c=a(b);function d(){return c}return d.dependsOnOwnProps=!1,d}}function ao(a){return a.dependsOnOwnProps?!!a.dependsOnOwnProps:1!==a.length}function ap(a,b){return function(b,{displayName:c}){let d=function(a,b){return d.dependsOnOwnProps?d.mapToProps(a,b):d.mapToProps(a,void 0)};return d.dependsOnOwnProps=!0,d.mapToProps=function(b,c){d.mapToProps=a,d.dependsOnOwnProps=ao(a);let e=d(b,c);return"function"==typeof e&&(d.mapToProps=e,d.dependsOnOwnProps=ao(e),e=d(b,c)),e},d}}function aq(a,b){return(c,d)=>{throw Error(`Invalid value of type ${typeof a} for ${b} argument when connecting component ${d.wrappedComponentName}.`)}}function ar(a,b,c){return{...c,...a,...b}}var as={notify(){},get:()=>[]};function at(a,b){let c,d=as,e=0,f=!1;function g(){j.onStateChange&&j.onStateChange()}function h(){if(e++,!c){let e,f;c=b?b.addNestedSub(g):a.subscribe(g),e=null,f=null,d={clear(){e=null,f=null},notify(){let a=e;for(;a;)a.callback(),a=a.next},get(){let a=[],b=e;for(;b;)a.push(b),b=b.next;return a},subscribe(a){let b=!0,c=f={callback:a,next:null,prev:f};return c.prev?c.prev.next=c:e=c,function(){b&&null!==e&&(b=!1,c.next?c.next.prev=c.prev:f=c.prev,c.prev?c.prev.next=c.next:e=c.next)}}}}}function i(){e--,c&&0===e&&(c(),c=void 0,d.clear(),d=as)}let j={addNestedSub:function(a){h();let b=d.subscribe(a),c=!1;return()=>{c||(c=!0,b(),i())}},notifyNestedSubs:function(){d.notify()},handleChangeWrapper:g,isSubscribed:function(){return f},trySubscribe:function(){f||(f=!0,h())},tryUnsubscribe:function(){f&&(f=!1,i())},getListeners:()=>d};return j}var au="u">typeof navigator&&"ReactNative"===navigator.product,av=au?i.useLayoutEffect:i.useEffect;function aw(a,b){return a===b?0!==a||0!==b||1/a==1/b:a!=a&&b!=b}function ax(a,b){if(aw(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b)return!1;let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let d=0;d<c.length;d++)if(!Object.prototype.hasOwnProperty.call(b,c[d])||!aw(a[c[d]],b[c[d]]))return!1;return!0}var ay={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},az={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},aA={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},aB={[ai]:{$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},[al]:aA};function aC(a){return function(a){if("object"==typeof a&&null!==a){let{$$typeof:b}=a;switch(b){case ab:switch(a=a.type){case ad:case af:case ae:case aj:case ak:return a;default:switch(a=a&&a.$$typeof){case ah:case ai:case am:case al:case ag:return a;default:return b}}case ac:return b}}}(a)===al?aA:aB[a.$$typeof]||ay}var aD=Object.defineProperty,aE=Object.getOwnPropertyNames,aF=Object.getOwnPropertySymbols,aG=Object.getOwnPropertyDescriptor,aH=Object.getPrototypeOf,aI=Object.prototype;function aJ(a,b){if("string"!=typeof b){if(aI){let c=aH(b);c&&c!==aI&&aJ(a,c)}let c=aE(b);aF&&(c=c.concat(aF(b)));let d=aC(a),e=aC(b);for(let f=0;f<c.length;++f){let g=c[f];if(!az[g]&&!(e&&e[g])&&!(d&&d[g])){let c=aG(b,g);try{aD(a,g,c)}catch(a){}}}}return a}var aK=Symbol.for("react-redux-context"),aL="u">typeof globalThis?globalThis:{},aM=function(){if(!i.createContext)return{};let a=aL[aK]??=new Map,b=a.get(i.createContext);return b||(b=i.createContext(null),a.set(i.createContext,b)),b}(),aN=[null,null];function aO(a,b,c,d,e,f){a.current=d,c.current=!1,e.current&&(e.current=null,f())}function aP(a,b){return a===b}var aQ=function(a,b,c,{pure:d,areStatesEqual:e=aP,areOwnPropsEqual:f=ax,areStatePropsEqual:g=ax,areMergedPropsEqual:h=ax,forwardRef:j=!1,context:k=aM}={}){let l=a?"function"==typeof a?ap(a,"mapStateToProps"):aq(a,"mapStateToProps"):an(()=>({})),m=b&&"object"==typeof b?an(a=>(function(a,b){let c={};for(let d in a){let e=a[d];"function"==typeof e&&(c[d]=(...a)=>b(e(...a)))}return c})(b,a)):b?"function"==typeof b?ap(b,"mapDispatchToProps"):aq(b,"mapDispatchToProps"):an(a=>({dispatch:a})),n=c?"function"==typeof c?function(a,{displayName:b,areMergedPropsEqual:d}){let e,f=!1;return function(a,b,g){let h=c(a,b,g);return f?d(h,e)||(e=h):(f=!0,e=h),e}}:aq(c,"mergeProps"):()=>ar,o=!!a;return a=>{let b=a.displayName||a.name||"Component",c=`Connect(${b})`,d={shouldHandleStateChanges:o,displayName:c,wrappedComponentName:b,WrappedComponent:a,initMapStateToProps:l,initMapDispatchToProps:m,initMergeProps:n,areStatesEqual:e,areStatePropsEqual:g,areOwnPropsEqual:f,areMergedPropsEqual:h};function p(b){var c;let e,[f,g,h]=i.useMemo(()=>{let{reactReduxForwardedRef:a,...c}=b;return[b.context,a,c]},[b]),j=i.useMemo(()=>(f?.Consumer,k),[f,k]),l=i.useContext(j),m=!!b.store&&!!b.store.getState&&!!b.store.dispatch,n=!!l&&!!l.store,p=m?b.store:l.store,q=n?l.getServerState:p.getState,r=i.useMemo(()=>(function(a,{initMapStateToProps:b,initMapDispatchToProps:c,initMergeProps:d,...e}){return function(a,b,c,d,{areStatesEqual:e,areOwnPropsEqual:f,areStatePropsEqual:g}){let h,i,j,k,l,m=!1;return function(n,o){return m?function(m,n){let o=!f(n,i),p=!e(m,h,n,i);if(h=m,i=n,o&&p)return j=a(h,i),b.dependsOnOwnProps&&(k=b(d,i)),l=c(j,k,i);if(o)return a.dependsOnOwnProps&&(j=a(h,i)),b.dependsOnOwnProps&&(k=b(d,i)),l=c(j,k,i);if(p){let b,d;return d=!g(b=a(h,i),j),j=b,d&&(l=c(j,k,i)),l}return l}(n,o):(j=a(h=n,i=o),k=b(d,i),l=c(j,k,i),m=!0,l)}}(b(a,e),c(a,e),d(a,e),a,e)})(p.dispatch,d),[p]),[s,t]=i.useMemo(()=>{if(!o)return aN;let a=at(p,m?void 0:l.subscription),b=a.notifyNestedSubs.bind(a);return[a,b]},[p,m,l]),u=i.useMemo(()=>m?l:{...l,subscription:s},[m,l,s]),v=i.useRef(void 0),w=i.useRef(h),x=i.useRef(void 0),y=i.useRef(!1),z=i.useRef(!1),A=i.useRef(void 0);av(()=>(z.current=!0,()=>{z.current=!1}),[]);let B=i.useMemo(()=>()=>x.current&&h===w.current?x.current:r(p.getState(),h),[p,h]),C=i.useMemo(()=>a=>{if(!s)return()=>{};if(!o)return()=>{};let b=!1,c=null,d=()=>{let d,e;if(b||!z.current)return;let f=p.getState();try{d=r(f,w.current)}catch(a){e=a,c=a}e||(c=null),d===v.current?y.current||t():(v.current=d,x.current=d,y.current=!0,a())};return s.onStateChange=d,s.trySubscribe(),d(),()=>{if(b=!0,s.tryUnsubscribe(),s.onStateChange=null,c)throw c}},[s]);c=[w,v,y,h,x,t],av(()=>aO(...c),void 0);try{e=i.useSyncExternalStore(C,B,q?()=>r(q(),h):B)}catch(a){throw A.current&&(a.message+=`
|
|
3
|
+
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,d.findClosestQuality)(g,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${i}${b.startsWith("/")&&h?`&dpl=${h}`:""}`}f.__next_img_default=!0;let g=f},8591,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(72131);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},67161,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Image",{enumerable:!0,get:function(){return u}});let d=a.r(33354),e=a.r(46058),f=a.r(87924),g=e._(a.r(72131)),h=d._(a.r(35112)),i=d._(a.r(58018)),j=a.r(94915),k=a.r(345),l=a.r(4486);a.r(92434);let m=a.r(53773),n=d._(a.r(2305)),o=a.r(8591),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:s,onLoadingCompleteRef:t,setBlurComplete:u,setShowAltText:v,sizesInput:w,onLoad:x,onError:y,...z},A)=>{let B=(0,g.useCallback)(a=>{a&&(y&&(a.src=a.src),a.complete&&q(a,l,s,t,u,n,w))},[a,l,s,t,u,y,n,w]),C=(0,o.useMergedRef)(A,B);return(0,f.jsx)("img",{...z,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:C,onLoad:a=>{q(a.currentTarget,l,s,t,u,n,w)},onError:a=>{v(!0),"empty"!==l&&u(!0),y&&y(a)}})});function t({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},33095,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(33354),g=a.r(94915),h=a.r(67161),i=f._(a.r(2305));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},71987,(a,b,c)=>{b.exports=a.r(33095)},67658,(a,b,c)=>{"use strict";var d=a.r(72131),e="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},f=d.useSyncExternalStore,g=d.useRef,h=d.useEffect,i=d.useMemo,j=d.useDebugValue;c.useSyncExternalStoreWithSelector=function(a,b,c,d,k){var l=g(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=f(a,(l=i(function(){function a(a){if(!h){if(h=!0,f=a,a=d(a),void 0!==k&&m.hasValue){var b=m.value;if(k(b,a))return g=b}return g=a}if(b=g,e(f,a))return b;var c=d(a);return void 0!==k&&k(b,c)?(f=a,b):(f=a,g=c)}var f,g,h=!1,i=void 0===c?null:c;return[function(){return a(b())},null===i?void 0:function(){return a(i())}]},[b,c,d,k]))[0],l[1]);return h(function(){m.hasValue=!0,m.value=n},[n]),j(n),n}},32473,(a,b,c)=>{"use strict";b.exports=a.r(67658)},46940,a=>{"use strict";let b,c,d,e,f,g;var h=a.i(87924),i=a.i(72131),j=a.i(50944),k=a.i(60137);let l=(0,k.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var m=a.i(69520),n=a.i(71987);let o=(0,k.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),p=(0,k.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),q=(0,k.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var r=a.i(80087),s=a.i(39524);function t(){let{theme:a,setTheme:b}=(0,r.useTheme)();return(0,h.jsx)("div",{className:"flex items-center gap-0.5 bg-input/20 dark:bg-input/30 rounded-md p-0.5",children:[{value:"light",icon:o,label:"Light"},{value:"dark",icon:p,label:"Dark"},{value:"system",icon:q,label:"System"}].map(({value:c,icon:d,label:e})=>(0,h.jsx)(s.Button,{variant:"ghost",size:"icon-lg",onClick:()=>b(c),className:a===c?"bg-primary text-primary-foreground shadow-sm hover:bg-primary/80 hover:text-primary-foreground dark:hover:bg-primary/80":"text-muted-foreground hover:text-foreground",title:e,children:(0,h.jsx)(d,{})},c))})}let u={src:a.i(50160).default,width:1024,height:1024,blurWidth:8,blurHeight:8,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAxElEQVR42o2OSwsBUQBG7x0lFxkyt1uETDKeGaSM8tgpLDxShBBZKBajbMeGlSkW0zQleSz8TcaG5Zz6VmfxHQCMACEFkYMQZMOYtjDYhQiBH77SZEYoXBlPhO5RLhSl/TyvaIusfC4HhhOzyYKAnQmyfP2guHE80S5eblPheg84U3wrJCnY6meBlfZ4hcZJjcQGo2b58erntGfJV+us+J3qRsSr/1MuhuPSmbWYTa421fBy24vORJZmOd39h1K/QQoY5Q2cnyKUZdwhkQAAAABJRU5ErkJggg=="};function v({onSettingsClick:a,onReload:b,nextStep:c="complete"}){return(0,h.jsxs)("header",{className:"h-14 border-b border-border flex items-center gap-3 px-4 bg-card",children:[(0,h.jsx)("h1",{className:"flex-shrink-0 flex items-center",children:(0,h.jsx)(n.default,{src:u,alt:"Tsunagi",width:32,height:32,priority:!0})}),(0,h.jsx)("div",{className:"flex-1"}),(0,h.jsx)(t,{}),(0,h.jsxs)("div",{className:"flex gap-1 flex-shrink-0",children:[(0,h.jsx)(s.Button,{variant:"outline",size:"icon-lg",onClick:b,className:"active:scale-95",title:"Reload",children:(0,h.jsx)(m.RefreshCw,{})}),(0,h.jsxs)("div",{className:"relative",children:[(0,h.jsx)(s.Button,{variant:"outline",size:"icon-lg",onClick:a,className:`active:scale-95 ${"env"===c?"bg-primary text-primary-foreground border-primary shadow-lg ring-2 ring-primary hover:bg-primary/80 dark:hover:bg-primary/80":""}`,title:"Environment Settings",children:(0,h.jsx)(l,{})}),"env"===c&&(0,h.jsxs)("div",{className:"absolute top-full mt-2 right-[-2px] bg-tooltip backdrop-blur-sm border-2 border-warning text-foreground px-4 py-2 rounded text-base whitespace-nowrap animate-subtle-bounce z-[60] shadow-lg",children:["Set up tokens or Ollama",(0,h.jsx)("div",{className:"absolute -top-1 right-[21px] w-2 h-2 bg-tooltip backdrop-blur-sm border-l-2 border-t-2 border-warning rotate-45"})]})]})]})]})}let w=(0,k.default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 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.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var x=a.i(33441);function y({hasRepositories:a=!1,hasEnvVars:b=!1,hasTasks:c=!1}){return(0,h.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm z-40 flex items-center justify-center",children:(0,h.jsxs)("div",{className:"bg-card rounded-xl p-8 shadow-2xl max-w-xs text-center",children:[(0,h.jsx)("div",{className:"flex justify-center mb-4",children:(0,h.jsx)(w,{className:"w-12 h-12 text-primary"})}),(0,h.jsx)("h2",{className:"text-lg font-semibold leading-none text-foreground mb-6",children:"セットアップ"}),(0,h.jsxs)("div",{className:"space-y-2 mb-6 text-sm",children:[(0,h.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 rounded border ${b?"bg-success/10 border-success/30":"bg-warning/10 border-warning/30"}`,children:[(0,h.jsx)("span",{className:`w-5 h-5 rounded-full text-white text-xs flex items-center justify-center font-bold ${b?"bg-success":"bg-warning"}`,children:b?(0,h.jsx)(x.Check,{className:"w-3 h-3"}):"1"}),(0,h.jsx)("span",{className:b?"text-success":"font-medium text-muted-foreground",children:"認証設定(トークン or Ollama)"})]}),(0,h.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 rounded border ${a?"bg-success/10 border-success/30":"bg-muted border-border"}`,children:[(0,h.jsx)("span",{className:`w-5 h-5 rounded-full text-white text-xs flex items-center justify-center ${a?"bg-success font-bold":"bg-muted-foreground"}`,children:a?(0,h.jsx)(x.Check,{className:"w-3 h-3"}):"2"}),(0,h.jsx)("span",{className:a?"text-success":"text-muted-foreground",children:"リポジトリクローン"})]}),(0,h.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 rounded border ${c?"bg-success/10 border-success/30":"bg-muted border-border"}`,children:[(0,h.jsx)("span",{className:`w-5 h-5 rounded-full text-white text-xs flex items-center justify-center ${c?"bg-success font-bold":"bg-muted-foreground"}`,children:c?(0,h.jsx)(x.Check,{className:"w-3 h-3"}):"3"}),(0,h.jsx)("span",{className:c?"text-success":"text-muted-foreground",children:"タスク作成"})]})]}),(0,h.jsx)("div",{className:"flex items-center justify-center gap-1 text-xs text-muted-foreground",children:(0,h.jsx)("span",{children:"上部の「Settings」ボタンをクリック"})})]})})}var z=a.i(92712),A=a.i(21034),B=a.i(90002),C=a.i(28503);function D({isOpen:a,onClose:b,onClone:c,isOnboarding:d=!1}){let[e,f]=(0,i.useState)(""),g=(0,A.useToast)(),j=async a=>{a.preventDefault(),b(),f("");let d=g.loading("Cloning repository...",e);try{let a=await c({gitUrl:e});g.success(d,"Successfully cloned repository",a.fallbackToSsh?`HTTPSでは認証できなかったため、SSHでcloneしました: ${a.cloneUrl}`:e)}catch(b){let a=b instanceof Error?b.message:"Unknown error";g.error(d,"Failed to clone repository",a)}};return(0,h.jsx)(B.Dialog,{open:a,onOpenChange:a=>{a.open||d||b()},title:"Clone Repository",maxWidth:"md",showCloseButton:!d,children:(0,h.jsxs)("form",{onSubmit:j,className:"space-y-4",children:[(0,h.jsxs)("div",{children:[(0,h.jsx)("label",{className:"block text-sm font-medium mb-1 text-foreground",children:"Git URL *"}),(0,h.jsx)(C.Input,{type:"text",required:!0,placeholder:"https://github.com/owner/repo.git",value:e,onChange:a=>f(a.target.value),className:"w-full"}),(0,h.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"HTTPS or SSH形式のGit URLを入力してください"})]}),(0,h.jsxs)("div",{className:"flex justify-end gap-2",children:[!d&&(0,h.jsx)(s.Button,{type:"button",variant:"outline",size:"lg",onClick:b,className:"active:scale-95",children:"Cancel"}),(0,h.jsx)(s.Button,{type:"submit",size:"lg",className:"active:scale-95",children:"Clone"})]})]})})}var E=a.i(26807);function F({isOpen:a,onClose:b,onConfirm:c,defaultDays:d=7}){let[e,f]=(0,i.useState)(d);return(0,h.jsx)(B.Dialog,{open:a,onOpenChange:a=>!a.open&&b(),title:"Delete Old Tasks",maxWidth:"md",showCloseButton:!1,children:(0,h.jsxs)("div",{className:"space-y-4",children:[(0,h.jsxs)("p",{className:"text-foreground",children:["Delete tasks completed more than"," ",(0,h.jsx)(C.Input,{type:"number",min:"1",value:e,onChange:a=>f(Number(a.target.value)),className:"w-16 mx-1 text-center inline-block"})," ","days ago?"]}),(0,h.jsx)("p",{className:"text-sm text-muted-foreground",children:"This action will permanently delete the selected tasks and their associated worktrees."}),(0,h.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,h.jsx)(E.DialogClose,{render:(0,h.jsx)(s.Button,{variant:"outline",className:"cursor-pointer"}),children:"Cancel"}),(0,h.jsx)(s.Button,{variant:"destructive",onClick:()=>{c(e),b()},className:"cursor-pointer",children:"Delete"})]})]})})}let G=(0,k.default)("folder-down",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"m15 13-3 3-3-3",key:"6j2sf0"}]]);var H=a.i(760);function I({onCloneClick:a,isOnboarding:b=!1,isCloneDialogOpen:c=!1}){return(0,h.jsx)("div",{className:"flex h-full flex-col px-4 py-4",children:(0,h.jsxs)("div",{className:"relative flex-1",children:[(0,h.jsxs)("button",{type:"button",onClick:a,className:(0,H.cn)("flex h-full w-full flex-col items-center justify-center gap-2 rounded-lg","border-2 border-dashed border-border text-muted-foreground","transition-colors hover:bg-accent hover:text-foreground active:scale-95",b&&"border-primary text-primary ring-2 ring-primary"),title:"Clone Repository",children:[(0,h.jsx)(G,{className:"size-6"}),(0,h.jsx)("span",{className:"text-xs font-medium",children:"Clone repository"})]}),b&&!c&&(0,h.jsxs)("div",{className:"absolute left-1/2 top-1/2 z-[60] mt-12 -translate-x-1/2 animate-subtle-bounce whitespace-nowrap rounded border-2 border-warning bg-tooltip px-4 py-2 text-base text-foreground shadow-lg backdrop-blur-sm",children:["Clone a repository",(0,h.jsx)("div",{className:"absolute -top-1 left-1/2 size-2 -translate-x-1/2 rotate-45 border-l-2 border-t-2 border-warning bg-tooltip backdrop-blur-sm"})]})]})})}let J=(0,k.default)("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);var K=a.i(50537),K=K;let L=(0,k.default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);var M=a.i(33508),N=a.i(81560),O=a.i(15618),P=a.i(49594);let Q=["backlog","planning","coding","reviewing","done"],R={backlog:{active:"bg-muted text-foreground ring-1 ring-foreground/20",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"},planning:{active:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"},coding:{active:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-300",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"},reviewing:{active:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"},done:{active:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300",inactive:"bg-transparent text-muted-foreground hover:bg-muted/50"}};function S({repositories:a,filters:b,onFilterChange:c,onAddTask:d}){let[e,f]=(0,i.useState)(!1),g=b.statuses.length>0||b.repos.length>0,j=(0,i.useCallback)(a=>{c({...b,search:a.target.value})},[b,c]),k=(0,i.useCallback)(()=>{c({...b,search:""})},[b,c]);return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)("div",{className:"flex items-center gap-2",children:[(0,h.jsxs)("div",{className:"relative flex-1",children:[(0,h.jsx)(K.default,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 size-3.5 text-muted-foreground"}),(0,h.jsx)(C.Input,{value:b.search,onChange:j,placeholder:"Search tasks...",className:"h-8 pl-8 pr-8 text-xs"}),b.search&&(0,h.jsx)("button",{onClick:k,className:"absolute right-2 top-1/2 -translate-y-1/2 size-4 inline-flex items-center justify-center rounded-sm hover:bg-accent",children:(0,h.jsx)(M.X,{className:"size-3 text-muted-foreground"})})]}),(0,h.jsx)(s.Button,{variant:"outline",size:"icon",onClick:()=>f(!0),className:(0,H.cn)("size-8 flex-shrink-0",g&&"border-primary text-primary"),title:"Filters",children:(0,h.jsx)(L,{className:"size-3.5"})}),d&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("div",{className:"h-5 w-px bg-border flex-shrink-0"}),(0,h.jsx)(s.Button,{variant:"outline",size:"icon",onClick:d,className:"size-8 flex-shrink-0",title:"Add task",children:(0,h.jsx)(O.Plus,{className:"size-3.5"})})]})]}),e&&(0,h.jsx)(T,{repositories:a,filters:b,onFilterChange:c,onClose:()=>f(!1)})]})}function T({repositories:a,filters:b,onFilterChange:c,onClose:d}){let e=(0,i.useCallback)(a=>{let d=b.statuses.includes(a)?b.statuses.filter(b=>b!==a):[...b.statuses,a];c({...b,statuses:d})},[b,c]),f=(0,i.useCallback)(a=>{let d=b.repos.includes(a)?b.repos.filter(b=>b!==a):[...b.repos,a];c({...b,repos:d})},[b,c]),g=(0,i.useCallback)(()=>{c({...b,statuses:[],repos:[]})},[b,c]),j=b.statuses.length>0||b.repos.length>0;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("div",{className:"fixed inset-0 z-50 bg-black/40",onClick:d}),(0,h.jsx)("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-20 px-4 pointer-events-none",children:(0,h.jsxs)("div",{className:"pointer-events-auto w-full max-w-sm rounded-lg border border-border bg-card p-4 shadow-lg",onClick:a=>a.stopPropagation(),children:[(0,h.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,h.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Filters"}),(0,h.jsxs)("div",{className:"flex items-center gap-2",children:[j&&(0,h.jsxs)(s.Button,{variant:"ghost",size:"sm",onClick:g,className:"h-7 text-xs gap-1",children:[(0,h.jsx)(N.Trash2,{className:"size-3"}),"Clear all"]}),(0,h.jsx)("button",{onClick:d,className:"size-6 inline-flex items-center justify-center rounded-sm hover:bg-accent",children:(0,h.jsx)(M.X,{className:"size-4 text-muted-foreground"})})]})]}),(0,h.jsxs)("div",{className:"space-y-2 mb-4",children:[(0,h.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"Status"}),(0,h.jsx)("div",{className:"flex flex-wrap gap-1",children:Q.map(a=>{let c=b.statuses.includes(a),d=R[a];return(0,h.jsx)("button",{onClick:()=>e(a),className:(0,H.cn)("inline-flex h-7 items-center rounded-full px-3 text-xs font-medium transition-colors",c?d.active:d.inactive),children:a},a)})})]}),a.length>0&&(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"Repository"}),(0,h.jsx)("div",{className:"flex flex-wrap gap-1",children:a.map(a=>{let c=`${a.owner}/${a.repo}`,d=b.repos.includes(c),e=(0,P.getRepoColor)(a.owner,a.repo);return(0,h.jsx)("button",{onClick:()=>f(c),className:(0,H.cn)("inline-flex h-7 items-center rounded-full px-3 text-xs font-medium transition-colors",d?`${e.bg} ${e.text}`:"bg-transparent text-muted-foreground hover:bg-muted/50"),children:c},a.id)})})]})]})})]})}var U=i,V=a.i(35112);function W(a){return`Minified Redux error #${a}; visit https://redux.js.org/Errors?code=${a} for the full message or use the non-minified dev environment for full errors. `}var X="function"==typeof Symbol&&Symbol.observable||"@@observable",Y=()=>Math.random().toString(36).substring(7).split("").join("."),Z={INIT:`@@redux/INIT${Y()}`,REPLACE:`@@redux/REPLACE${Y()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Y()}`};function $(a,b){return function(...c){return b(a.apply(this,c))}}function _(a,b){if("function"==typeof a)return $(a,b);if("object"!=typeof a||null===a)throw Error(W(16));let c={};for(let d in a){let e=a[d];"function"==typeof e&&(c[d]=$(e,b))}return c}function aa(...a){return 0===a.length?a=>a:1===a.length?a[0]:a.reduce((a,b)=>(...c)=>a(b(...c)))}a.i(32473);var ab=Symbol.for(i.version.startsWith("19")?"react.transitional.element":"react.element"),ac=Symbol.for("react.portal"),ad=Symbol.for("react.fragment"),ae=Symbol.for("react.strict_mode"),af=Symbol.for("react.profiler"),ag=Symbol.for("react.consumer"),ah=Symbol.for("react.context"),ai=Symbol.for("react.forward_ref"),aj=Symbol.for("react.suspense"),ak=Symbol.for("react.suspense_list"),al=Symbol.for("react.memo"),am=Symbol.for("react.lazy");function an(a){return function(b){let c=a(b);function d(){return c}return d.dependsOnOwnProps=!1,d}}function ao(a){return a.dependsOnOwnProps?!!a.dependsOnOwnProps:1!==a.length}function ap(a,b){return function(b,{displayName:c}){let d=function(a,b){return d.dependsOnOwnProps?d.mapToProps(a,b):d.mapToProps(a,void 0)};return d.dependsOnOwnProps=!0,d.mapToProps=function(b,c){d.mapToProps=a,d.dependsOnOwnProps=ao(a);let e=d(b,c);return"function"==typeof e&&(d.mapToProps=e,d.dependsOnOwnProps=ao(e),e=d(b,c)),e},d}}function aq(a,b){return(c,d)=>{throw Error(`Invalid value of type ${typeof a} for ${b} argument when connecting component ${d.wrappedComponentName}.`)}}function ar(a,b,c){return{...c,...a,...b}}var as={notify(){},get:()=>[]};function at(a,b){let c,d=as,e=0,f=!1;function g(){j.onStateChange&&j.onStateChange()}function h(){if(e++,!c){let e,f;c=b?b.addNestedSub(g):a.subscribe(g),e=null,f=null,d={clear(){e=null,f=null},notify(){let a=e;for(;a;)a.callback(),a=a.next},get(){let a=[],b=e;for(;b;)a.push(b),b=b.next;return a},subscribe(a){let b=!0,c=f={callback:a,next:null,prev:f};return c.prev?c.prev.next=c:e=c,function(){b&&null!==e&&(b=!1,c.next?c.next.prev=c.prev:f=c.prev,c.prev?c.prev.next=c.next:e=c.next)}}}}}function i(){e--,c&&0===e&&(c(),c=void 0,d.clear(),d=as)}let j={addNestedSub:function(a){h();let b=d.subscribe(a),c=!1;return()=>{c||(c=!0,b(),i())}},notifyNestedSubs:function(){d.notify()},handleChangeWrapper:g,isSubscribed:function(){return f},trySubscribe:function(){f||(f=!0,h())},tryUnsubscribe:function(){f&&(f=!1,i())},getListeners:()=>d};return j}var au="u">typeof navigator&&"ReactNative"===navigator.product,av=au?i.useLayoutEffect:i.useEffect;function aw(a,b){return a===b?0!==a||0!==b||1/a==1/b:a!=a&&b!=b}function ax(a,b){if(aw(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b)return!1;let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let d=0;d<c.length;d++)if(!Object.prototype.hasOwnProperty.call(b,c[d])||!aw(a[c[d]],b[c[d]]))return!1;return!0}var ay={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},az={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},aA={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},aB={[ai]:{$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},[al]:aA};function aC(a){return function(a){if("object"==typeof a&&null!==a){let{$$typeof:b}=a;switch(b){case ab:switch(a=a.type){case ad:case af:case ae:case aj:case ak:return a;default:switch(a=a&&a.$$typeof){case ah:case ai:case am:case al:case ag:return a;default:return b}}case ac:return b}}}(a)===al?aA:aB[a.$$typeof]||ay}var aD=Object.defineProperty,aE=Object.getOwnPropertyNames,aF=Object.getOwnPropertySymbols,aG=Object.getOwnPropertyDescriptor,aH=Object.getPrototypeOf,aI=Object.prototype;function aJ(a,b){if("string"!=typeof b){if(aI){let c=aH(b);c&&c!==aI&&aJ(a,c)}let c=aE(b);aF&&(c=c.concat(aF(b)));let d=aC(a),e=aC(b);for(let f=0;f<c.length;++f){let g=c[f];if(!az[g]&&!(e&&e[g])&&!(d&&d[g])){let c=aG(b,g);try{aD(a,g,c)}catch(a){}}}}return a}var aK=Symbol.for("react-redux-context"),aL="u">typeof globalThis?globalThis:{},aM=function(){if(!i.createContext)return{};let a=aL[aK]??=new Map,b=a.get(i.createContext);return b||(b=i.createContext(null),a.set(i.createContext,b)),b}(),aN=[null,null];function aO(a,b,c,d,e,f){a.current=d,c.current=!1,e.current&&(e.current=null,f())}function aP(a,b){return a===b}var aQ=function(a,b,c,{pure:d,areStatesEqual:e=aP,areOwnPropsEqual:f=ax,areStatePropsEqual:g=ax,areMergedPropsEqual:h=ax,forwardRef:j=!1,context:k=aM}={}){let l=a?"function"==typeof a?ap(a,"mapStateToProps"):aq(a,"mapStateToProps"):an(()=>({})),m=b&&"object"==typeof b?an(a=>(function(a,b){let c={};for(let d in a){let e=a[d];"function"==typeof e&&(c[d]=(...a)=>b(e(...a)))}return c})(b,a)):b?"function"==typeof b?ap(b,"mapDispatchToProps"):aq(b,"mapDispatchToProps"):an(a=>({dispatch:a})),n=c?"function"==typeof c?function(a,{displayName:b,areMergedPropsEqual:d}){let e,f=!1;return function(a,b,g){let h=c(a,b,g);return f?d(h,e)||(e=h):(f=!0,e=h),e}}:aq(c,"mergeProps"):()=>ar,o=!!a;return a=>{let b=a.displayName||a.name||"Component",c=`Connect(${b})`,d={shouldHandleStateChanges:o,displayName:c,wrappedComponentName:b,WrappedComponent:a,initMapStateToProps:l,initMapDispatchToProps:m,initMergeProps:n,areStatesEqual:e,areStatePropsEqual:g,areOwnPropsEqual:f,areMergedPropsEqual:h};function p(b){var c;let e,[f,g,h]=i.useMemo(()=>{let{reactReduxForwardedRef:a,...c}=b;return[b.context,a,c]},[b]),j=i.useMemo(()=>(f?.Consumer,k),[f,k]),l=i.useContext(j),m=!!b.store&&!!b.store.getState&&!!b.store.dispatch,n=!!l&&!!l.store,p=m?b.store:l.store,q=n?l.getServerState:p.getState,r=i.useMemo(()=>(function(a,{initMapStateToProps:b,initMapDispatchToProps:c,initMergeProps:d,...e}){return function(a,b,c,d,{areStatesEqual:e,areOwnPropsEqual:f,areStatePropsEqual:g}){let h,i,j,k,l,m=!1;return function(n,o){return m?function(m,n){let o=!f(n,i),p=!e(m,h,n,i);if(h=m,i=n,o&&p)return j=a(h,i),b.dependsOnOwnProps&&(k=b(d,i)),l=c(j,k,i);if(o)return a.dependsOnOwnProps&&(j=a(h,i)),b.dependsOnOwnProps&&(k=b(d,i)),l=c(j,k,i);if(p){let b,d;return d=!g(b=a(h,i),j),j=b,d&&(l=c(j,k,i)),l}return l}(n,o):(j=a(h=n,i=o),k=b(d,i),l=c(j,k,i),m=!0,l)}}(b(a,e),c(a,e),d(a,e),a,e)})(p.dispatch,d),[p]),[s,t]=i.useMemo(()=>{if(!o)return aN;let a=at(p,m?void 0:l.subscription),b=a.notifyNestedSubs.bind(a);return[a,b]},[p,m,l]),u=i.useMemo(()=>m?l:{...l,subscription:s},[m,l,s]),v=i.useRef(void 0),w=i.useRef(h),x=i.useRef(void 0),y=i.useRef(!1),z=i.useRef(!1),A=i.useRef(void 0);av(()=>(z.current=!0,()=>{z.current=!1}),[]);let B=i.useMemo(()=>()=>x.current&&h===w.current?x.current:r(p.getState(),h),[p,h]),C=i.useMemo(()=>a=>{if(!s)return()=>{};if(!o)return()=>{};let b=!1,c=null,d=()=>{let d,e;if(b||!z.current)return;let f=p.getState();try{d=r(f,w.current)}catch(a){e=a,c=a}e||(c=null),d===v.current?y.current||t():(v.current=d,x.current=d,y.current=!0,a())};return s.onStateChange=d,s.trySubscribe(),d(),()=>{if(b=!0,s.tryUnsubscribe(),s.onStateChange=null,c)throw c}},[s]);c=[w,v,y,h,x,t],av(()=>aO(...c),void 0);try{e=i.useSyncExternalStore(C,B,q?()=>r(q(),h):B)}catch(a){throw A.current&&(a.message+=`
|
|
4
4
|
The error may be correlated with this previous error:
|
|
5
5
|
${A.current.stack}
|
|
6
6
|
|
|
@@ -61,6 +61,6 @@ ${A.current.stack}
|
|
|
61
61
|
-moz-user-select: none;
|
|
62
62
|
-ms-user-select: none;
|
|
63
63
|
overflow-anchor: none;
|
|
64
|
-
`}}],"always"),resting:dm(f,"resting"),dragging:dm(f,"dragging"),dropAnimating:dm(f,"dropAnimating"),userCancel:dm(f,"userCancel")}},[w]),f=(0,U.useRef)(null),g=(0,U.useRef)(null),h=bk(by(a=>{let b=g.current;b||a9(),b.textContent=a}),[]),dn(()=>{(f.current||g.current)&&a9();let a=dq(z),b=dq(z);return f.current=a,g.current=b,a.setAttribute(`${dh}-always`,w),b.setAttribute(`${dh}-dynamic`,w),dp().appendChild(a),dp().appendChild(b),i(e.always),h(e.resting),()=>{let a=a=>{let b=a.current;b||a9(),dp().removeChild(b),a.current=null};a(f),a(g)}},[z,i=bk(a=>{let b=f.current;b||a9(),b.textContent=a},[]),h,e.always,e.resting,w]),j=bk(()=>h(e.dragging),[h,e.dragging]),k=bk(a=>{"DROP"===a?h(e.dropAnimating):h(e.userCancel)},[h,e.dropAnimating,e.userCancel]),bj(()=>({dragging:j,dropping:k,resting:l}),[j,k,l=bk(()=>{g.current&&h(e.resting)},[h,e.resting])])),I=bk(a=>{dV(B).dispatch(a)},[]),J=bj(()=>_({publishWhileDragging:cr,updateDroppableScroll:ct,updateDroppableIsEnabled:cu,updateDroppableIsCombineEnabled:cv,collectionStarting:cs},I),[I]),K=(m=bj(dv,[]),(0,U.useEffect)(()=>function(){m.clean()},[m]),m),L=bj(()=>{let a,b,c;return a=null,b=function({registry:a,callbacks:b}){let c=cZ(),d=null,e=()=>{d||(b.collectionStarting(),d=requestAnimationFrame(()=>{d=null,ck();let{additions:e,removals:f,modified:g}=c,h=Object.keys(e).map(b=>a.draggable.getById(b).getDimension(bl)).sort((a,b)=>a.descriptor.index-b.descriptor.index),i=Object.keys(g).map(b=>{let c=a.droppable.getById(b).callbacks.getScrollWhileDragging();return{droppableId:b,scroll:c}}),j={additions:h,removals:Object.keys(f),modified:i};c=cZ(),cl(),b.publish(j)}))};return{add:a=>{let b=a.descriptor.id;c.additions[b]=a,c.modified[a.descriptor.droppableId]=!0,c.removals[b]&&delete c.removals[b],e()},remove:a=>{let b=a.descriptor;c.removals[b.id]=!0,c.modified[b.droppableId]=!0,c.additions[b.id]&&delete c.additions[b.id],e()},stop:()=>{d&&(cancelAnimationFrame(d),d=null,c=cZ())}}}({callbacks:{publish:J.publishWhileDragging,collectionStarting:J.collectionStarting},registry:K}),c=c=>{a||a9();let d=a.critical.draggable;"ADDITION"===c.type&&c1(K,d,c.value)&&b.add(c.value),"REMOVAL"===c.type&&c1(K,d,c.value)&&b.remove(c.value)},{updateDroppableIsEnabled:(b,c)=>{K.droppable.exists(b)||a9(),a&&J.updateDroppableIsEnabled({id:b,isEnabled:c})},updateDroppableIsCombineEnabled:(b,c)=>{a&&(K.droppable.exists(b)||a9(),J.updateDroppableIsCombineEnabled({id:b,isCombineEnabled:c}))},scrollDroppable:(b,c)=>{a&&K.droppable.getById(b).callbacks.scroll(c)},updateDroppableScroll:(b,c)=>{a&&(K.droppable.exists(b)||a9(),J.updateDroppableScroll({id:b,newScroll:c}))},startPublishing:b=>{a&&a9();let d=K.draggable.getById(b.draggableId),e=K.droppable.getById(d.descriptor.droppableId),f={draggable:d.descriptor,droppable:e.descriptor};return a={critical:f,unsubscribe:K.subscribe(c)},(({critical:a,scrollOptions:b,registry:c})=>{let d,e,f,g,h,i;ck();let j=(d=cR(),e=c0(),f=d.y,g=d.x,i=(h=c_()).clientWidth,{frame:aU({top:f,left:g,right:g+i,bottom:f+h.clientHeight}),scroll:{initial:d,current:d,max:e,diff:{value:bl,displacement:bl}}}),k=j.scroll.current,l=a.droppable,m=c.droppable.getAllByType(l.type).map(a=>a.callbacks.getDimensionAndWatchScroll(k,b)),n={draggables:bA(c.draggable.getAllByType(a.draggable.type).map(a=>a.getDimension(k))),droppables:bz(m)};return cl(),{dimensions:n,critical:a,viewport:j}})({critical:f,registry:K,scrollOptions:b.scrollOptions})},stopPublishing:()=>{if(!a)return;b.stop();let c=a.critical.droppable;K.droppable.getAllByType(c.type).forEach(a=>a.callbacks.dragStopped()),a.unsubscribe(),a=null}}},[K,J]),M=bj(()=>(({scrollDroppable:a,scrollWindow:b,move:c,getAutoScrollerOptions:d})=>{let e=(({scrollWindow:a,scrollDroppable:b,getAutoScrollerOptions:c=()=>c5})=>{let d=a2(a),e=a2(b),f=null,g=a=>{f||a9();let{shouldUseTimeDampening:b,dragStartTime:g}=f;dg({state:a,scrollWindow:d,scrollDroppable:e,dragStartTime:g,shouldUseTimeDampening:b,getAutoScrollerOptions:c})};return{start:a=>{ck(),f&&a9();let b=Date.now(),d=!1,e=()=>{d=!0};dg({state:a,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:e,scrollDroppable:e,getAutoScrollerOptions:c}),f={dragStartTime:b,shouldUseTimeDampening:d},cl(),d&&g(a)},stop:()=>{f&&(d.cancel(),e.cancel(),f=null)},scroll:g}})({scrollWindow:b,scrollDroppable:a,getAutoScrollerOptions:d}),f=(({move:a,scrollDroppable:b,scrollWindow:c})=>d=>{let e=d.scrollJumpRequest;if(!e)return;let f=b9(d.impact);f||a9();let g=((a,c)=>{let d;if(!df(a,c))return c;let e=(d=a.frame)&&df(a,c)?dc({current:d.scroll.current,max:d.scroll.max,change:c}):null;if(!e)return b(a.descriptor.id,c),null;let f=bn(c,e);return b(a.descriptor.id,f),bn(c,f)})(d.dimensions.droppables[f],e);if(!g)return;let h=d.viewport,i=((a,b,d)=>{if(!a||!de(b,d))return d;let e=((a,b)=>{if(!de(a,b))return null;let c=a.scroll.max;return dc({current:a.scroll.current,max:c,change:b})})(b,d);if(!e)return c(d),null;let f=bn(d,e);return c(f),bn(d,f)})(d.isWindowScrollAllowed,h,g);i&&a({client:bm(d.current.client.selection,i)})})({move:c,scrollWindow:b,scrollDroppable:a});return{scroll:a=>{d().disabled||"DRAGGING"!==a.phase||("FLUID"===a.movementMode?e.scroll(a):a.scrollJumpRequest&&f(a))},start:e.start,stop:e.stop}})({scrollWindow:c3,scrollDroppable:L.scrollDroppable,getAutoScrollerOptions:E,..._({move:cw},I)}),[L.scrollDroppable,I,E]),N=(n=(0,U.useRef)({}),o=(0,U.useRef)(null),p=(0,U.useRef)(null),q=(0,U.useRef)(!1),r=bk(function(a,b){let c={id:a,focus:b};return n.current[a]=c,function(){let b=n.current;b[a]!==c&&delete b[a]}},[]),s=bk(function(a){let b=du(w,a);b&&b!==document.activeElement&&b.focus()},[w]),t=bk(function(a,b){o.current===a&&(o.current=b)},[]),u=bk(function(){p.current||q.current&&(p.current=requestAnimationFrame(()=>{p.current=null;let a=o.current;a&&s(a)}))},[s]),v=bk(function(a){o.current=null;let b=document.activeElement;b&&b.getAttribute(di.draggableId)===a&&(o.current=a)},[]),dn(()=>(q.current=!0,function(){q.current=!1;let a=p.current;a&&cancelAnimationFrame(a)}),[]),bj(()=>({register:r,tryRecordFocus:v,tryRestoreFocusRecorded:u,tryShiftRecord:t}),[r,v,u,t])),O=bj(()=>(({dimensionMarshal:a,focusMarshal:b,styleMarshal:c,getResponders:d,announce:e,autoScroller:f})=>{let g,h,i,j,k,l;return function a(b,c,d){if("function"!=typeof b)throw Error(W(2));if("function"==typeof c&&"function"==typeof d||"function"==typeof d&&"function"==typeof arguments[3])throw Error(W(0));if("function"==typeof c&&void 0===d&&(d=c,c=void 0),void 0!==d){if("function"!=typeof d)throw Error(W(1));return d(a)(b,c)}let e=b,f=c,g=new Map,h=g,i=0,j=!1;function k(){h===g&&(h=new Map,g.forEach((a,b)=>{h.set(b,a)}))}function l(){if(j)throw Error(W(3));return f}function m(a){if("function"!=typeof a)throw Error(W(4));if(j)throw Error(W(5));let b=!0;k();let c=i++;return h.set(c,a),function(){if(b){if(j)throw Error(W(6));b=!1,k(),h.delete(c),g=null}}}function n(a){if(!function(a){if("object"!=typeof a||null===a)return!1;let b=a;for(;null!==Object.getPrototypeOf(b);)b=Object.getPrototypeOf(b);return Object.getPrototypeOf(a)===b||null===Object.getPrototypeOf(a)}(a))throw Error(W(7));if(void 0===a.type)throw Error(W(8));if("string"!=typeof a.type)throw Error(W(17));if(j)throw Error(W(9));try{j=!0,f=e(f,a)}finally{j=!1}return(g=h).forEach(a=>{a()}),a}return n({type:Z.INIT}),{dispatch:n,subscribe:m,getState:l,replaceReducer:function(a){if("function"!=typeof a)throw Error(W(10));e=a,n({type:Z.REPLACE})},[X]:function(){return{subscribe(a){if("object"!=typeof a||null===a)throw Error(W(11));function b(){a.next&&a.next(l())}return b(),{unsubscribe:m(b)}},[X](){return this}}}}}(cp,aa(function(...a){return b=>(c,d)=>{let e=b(c,d),f=()=>{throw Error(W(15))},g={getState:e.getState,dispatch:(a,...b)=>f(a,...b)};return f=aa(...a.map(a=>a(g)))(e.dispatch),{...e,dispatch:f}}}(()=>a=>b=>{cq(b,"INITIAL_PUBLISH")&&c.dragging(),cq(b,"DROP_ANIMATE")&&c.dropping(b.payload.completed.result.reason),(cq(b,"FLUSH")||cq(b,"DROP_COMPLETE"))&&c.resting(),a(b)},()=>b=>c=>{(cq(c,"DROP_COMPLETE")||cq(c,"FLUSH")||cq(c,"DROP_ANIMATE"))&&a.stopPublishing(),b(c)},({getState:b,dispatch:c})=>d=>e=>{if(!cq(e,"LIFT"))return void d(e);let{id:f,clientSelection:g,movementMode:h}=e.payload,i=b();"DROP_ANIMATING"===i.phase&&c(cC({completed:i.completed})),"IDLE"!==b().phase&&a9(),c(cB()),c({type:"BEFORE_INITIAL_CAPTURE",payload:{draggableId:f,movementMode:h}});let{critical:j,dimensions:k,viewport:l}=a.startPublishing({draggableId:f,scrollOptions:{shouldPublishImmediately:"SNAP"===h}});c({type:"INITIAL_PUBLISH",payload:{critical:j,dimensions:k,clientSelection:g,movementMode:h,viewport:l}})},cQ,cW,cX,cY,a=>b=>c=>{if(cq(c,"DROP_COMPLETE")||cq(c,"DROP_ANIMATE")||cq(c,"FLUSH")){f.stop(),b(c);return}if(cq(c,"INITIAL_PUBLISH")){b(c);let d=a.getState();"DRAGGING"!==d.phase&&a9(),f.start(d);return}b(c),f.scroll(a.getState())},cS,(g=!1,()=>a=>c=>{if(cq(c,"INITIAL_PUBLISH")){g=!0,b.tryRecordFocus(c.payload.critical.draggable.id),a(c),b.tryRestoreFocusRecorded();return}if(a(c),g){if(cq(c,"FLUSH")){g=!1,b.tryRestoreFocusRecorded();return}if(cq(c,"DROP_COMPLETE")){g=!1;let a=c.payload.completed.result;a.combine&&b.tryShiftRecord(a.draggableId,a.combine.draggableId),b.tryRestoreFocusRecorded()}}}),(h=[],i={add:a=>{let b=setTimeout(()=>(a=>{let b=h.findIndex(b=>b.timerId===a);-1===b&&a9();let[c]=h.splice(b,1);c.callback()})(b));h.push({timerId:b,callback:a})},flush:()=>{if(!h.length)return;let a=[...h];h.length=0,a.forEach(a=>{clearTimeout(a.timerId),a.callback()})}},j=null,l={beforeCapture:(a,b)=>{j&&a9(),cT("onBeforeCapture",()=>{let c=d().onBeforeCapture;c&&c({draggableId:a,mode:b})})},beforeStart:(a,b)=>{j&&a9(),cT("onBeforeDragStart",()=>{let c=d().onBeforeDragStart;c&&c(cU(a,b))})},start:(a,b)=>{j&&a9();let c=cU(a,b);j={mode:b,lastCritical:a,lastLocation:c.source,lastCombine:null},i.add(()=>{cT("onDragStart",()=>cV(d().onDragStart,c,e,bf))})},update:(a,b)=>{var c,f;let g=bE(b),h=bF(b);j||a9();let k=!((a,b)=>{if(a===b)return!0;let c=a.draggable.id===b.draggable.id&&a.draggable.droppableId===b.draggable.droppableId&&a.draggable.type===b.draggable.type&&a.draggable.index===b.draggable.index,d=a.droppable.id===b.droppable.id&&a.droppable.type===b.droppable.type;return c&&d})(a,j.lastCritical);k&&(j.lastCritical=a);let l=(c=j.lastLocation,(null!=c||null!=g)&&(null==c||null==g||c.droppableId!==g.droppableId||c.index!==g.index));l&&(j.lastLocation=g);let m=(f=j.lastCombine,(null!=f||null!=h)&&(null==f||null==h||f.draggableId!==h.draggableId||f.droppableId!==h.droppableId));if(m&&(j.lastCombine=h),!k&&!l&&!m)return;let n={...cU(a,j.mode),combine:h,destination:g};i.add(()=>{cT("onDragUpdate",()=>cV(d().onDragUpdate,n,e,bg))})},flush:()=>{j||a9(),i.flush()},drop:k=a=>{j||a9(),j=null,cT("onDragEnd",()=>cV(d().onDragEnd,a,e,bh))},abort:()=>{j&&k({...cU(j.lastCritical,j.mode),combine:null,destination:null,reason:"CANCEL"})}},a=>b=>c=>{if(cq(c,"BEFORE_INITIAL_CAPTURE"))return void l.beforeCapture(c.payload.draggableId,c.payload.movementMode);if(cq(c,"INITIAL_PUBLISH")){let a=c.payload.critical;l.beforeStart(a,c.payload.movementMode),b(c),l.start(a,c.payload.movementMode);return}if(cq(c,"DROP_COMPLETE")){let a=c.payload.completed.result;l.flush(),b(c),l.drop(a);return}if(b(c),cq(c,"FLUSH"))return void l.abort();let d=a.getState();"DRAGGING"===d.phase&&l.update(d.critical,d.impact)}))))})({announce:F,autoScroller:M,dimensionMarshal:L,focusMarshal:N,getResponders:D,styleMarshal:H}),[F,M,L,N,D,H]);B.current=O;let P=bk(()=>{let a=dV(B);"IDLE"!==a.getState().phase&&a.dispatch(cB())},[]),Q=bk(()=>{let a=dV(B).getState();return"DROP_ANIMATING"===a.phase||"IDLE"!==a.phase&&a.isDragging},[]);x(bj(()=>({isDragging:Q,tryAbort:P}),[Q,P]));let R=bk(a=>c2(dV(B).getState(),a),[]),S=bk(()=>ca(dV(B).getState()),[]),T=bj(()=>({marshal:L,focus:N,contextId:w,canLift:R,isMovementAllowed:S,dragHandleUsageInstructionsId:G,registry:K}),[w,L,G,N,R,S,K]);return!function({contextId:a,store:b,registry:c,customSensors:d,enableDefaultSensors:e}){let f=[...e?dU:[],...d||[]],g=(0,U.useState)(()=>(function(){let a=null;function b(){a||a9(),a=null}return{isClaimed:function(){return!!a},isActive:function(b){return b===a},claim:function(b){a&&a9();let c={abandon:b};return a=c,c},release:b,tryAbandon:function(){a&&(a.abandon(),b())}}})())[0],h=bk(function(a,b){dH(a)&&!dH(b)&&g.tryAbandon()},[g]);dn(function(){let a=b.getState();return b.subscribe(()=>{let c=b.getState();h(a,c),a=c})},[g,b,h]),dn(()=>g.tryAbandon,[g.tryAbandon]);let i=bk(a=>dT({lockAPI:g,registry:c,store:b,draggableId:a}),[g,c,b]),j=bk((d,e,f)=>(function({lockAPI:a,contextId:b,store:c,registry:d,draggableId:e,forceSensorStop:f,sourceEvent:g}){var h;let i,j;if(!dT({lockAPI:a,store:c,registry:d,draggableId:e}))return null;let k=d.draggable.getById(e),l=(h=k.descriptor.id,(i=dr(document,`[${dj.contextId}="${b}"]`).find(a=>a.getAttribute(dj.id)===h))&&dt(i)?i:null);if(!l||g&&!k.options.canDragInteractiveElements&&dt(j=g.target)&&function a(b,c){if(null==c)return!1;if(dP.includes(c.tagName.toLowerCase()))return!0;let d=c.getAttribute("contenteditable");return"true"===d||""===d||c!==b&&a(b,c.parentElement)}(l,j))return null;let m=a.claim(f||a6),n="PRE_DRAG";function o(){return k.options.shouldRespectForcePress}function p(){return a.isActive(m)}let q=(function(a,b){dS({expected:a,phase:n,isLockActive:p,shouldWarn:!0})&&c.dispatch(b())}).bind(null,"DRAGGING");function r(b){function d(){a.release(),n="COMPLETED"}function e(a,f={shouldBlockNextClick:!1}){b.cleanup(),f.shouldBlockNextClick&&setTimeout(a7(window,[{eventName:"click",fn:dR,options:{once:!0,passive:!1,capture:!0}}])),d(),c.dispatch(cD({reason:a}))}return"PRE_DRAG"!==n&&(d(),a9()),c.dispatch({type:"LIFT",payload:b.liftActionArgs}),n="DRAGGING",{isActive:()=>dS({expected:"DRAGGING",phase:n,isLockActive:p,shouldWarn:!1}),shouldRespectForcePress:o,drop:a=>e("DROP",a),cancel:a=>e("CANCEL",a),...b.actions}}return{isActive:()=>dS({expected:"PRE_DRAG",phase:n,isLockActive:p,shouldWarn:!1}),shouldRespectForcePress:o,fluidLift:function(a){let b=a2(a=>{q(()=>cw({client:a}))});return{...r({liftActionArgs:{id:e,clientSelection:a,movementMode:"FLUID"},cleanup:()=>b.cancel(),actions:{move:b}}),move:b}},snapLift:function(){return r({liftActionArgs:{id:e,clientSelection:aU(l.getBoundingClientRect()).center,movementMode:"SNAP"},cleanup:a6,actions:{moveUp:()=>q(cx),moveRight:()=>q(cz),moveDown:()=>q(cy),moveLeft:()=>q(cA)}})},abort:function(){dS({expected:"PRE_DRAG",phase:n,isLockActive:p,shouldWarn:!0})&&a.release()}}})({lockAPI:g,registry:c,contextId:a,store:b,draggableId:d,forceSensorStop:e||null,sourceEvent:f&&f.sourceEvent?f.sourceEvent:null}),[a,g,c,b]),k=bk(b=>{let c;return(c=function(a,b){let c=b.target;if(!(c instanceof ds(c).Element))return null;let d=`[${di.contextId}="${a}"]`,e=c.closest?c.closest(d):function a(b,c){return null==b?null:b[dQ](c)?b:a(b.parentElement,c)}(c,d);return e&&dt(e)?e:null}(a,b))?c.getAttribute(di.draggableId):null},[a]),l=bk(a=>{let b=c.draggable.findById(a);return b?b.options:null},[c.draggable]),m=bk(function(){g.isClaimed()&&(g.tryAbandon(),"IDLE"!==b.getState().phase&&b.dispatch(cB()))},[g,b]),n=bk(()=>g.isClaimed(),[g]),o=bj(()=>({canGetLock:i,tryGetLock:j,findClosestDraggableId:k,findOptionsForDraggable:l,tryReleaseLock:m,isLockClaimed:n}),[i,j,k,l,m,n]);dE(()=>{let a=dG(f);dF(()=>{a.current.length!==f.length&&a9(!1)})});for(let a=0;a<f.length;a++)f[a](o)}({contextId:w,store:O,registry:K,customSensors:y||null,enableDefaultSensors:!1!==a.enableDefaultSensors}),(0,U.useEffect)(()=>P,[P]),U.default.createElement(dB.Provider,{value:T},U.default.createElement(aR,{context:dw,store:O},a.children))}function dX(a){let b=U.default.useId(),c=a.dragHandleUsageInstructions||bb;return U.default.createElement(ba,null,d=>U.default.createElement(dW,{nonce:a.nonce,contextId:b,setCallbacks:d,dragHandleUsageInstructions:c,enableDefaultSensors:a.enableDefaultSensors,sensors:a.sensors,onBeforeCapture:a.onBeforeCapture,onBeforeDragStart:a.onBeforeDragStart,onDragStart:a.onDragStart,onDragUpdate:a.onDragUpdate,onDragEnd:a.onDragEnd,autoScrollerOptions:a.autoScrollerOptions},a.children))}var dY=U.default.createContext(null);function dZ(a){a&&dt(a)||a9()}function d$(a){let b=(0,U.useContext)(a);return b||a9(),b}function d_(a){a.preventDefault()}var d0=(a,b)=>a===b,d1=a=>{let{combine:b,destination:c}=a;return c?c.droppableId:b?b.droppableId:null};function d2(a=null){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:a,combineWith:null}}let d3={mapped:{type:"SECONDARY",offset:bl,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:d2(null)}},d4=aQ(()=>{let a,b,c,d,e,f,g,h,i=(a=by((a,b)=>({x:a,y:b})),b=by((a,b,c=null,d=null,e=null)=>({isDragging:!0,isClone:b,isDropAnimating:!!e,dropAnimation:e,mode:a,draggingOver:c,combineWith:d,combineTargetFor:null})),c=by((a,c,d,e,f=null,g=null,h=null)=>({mapped:{type:"DRAGGING",dropping:null,draggingOver:f,combineWith:g,mode:c,offset:a,dimension:d,forceShouldAnimate:h,snapshot:b(c,e,f,g,null)}})),(d,e)=>{if(dH(d)){let b;if(d.critical.draggable.id!==e.draggableId)return null;let f=d.current.client.offset,g=d.dimensions.draggables[e.draggableId],h=b9(d.impact),i=(b=d.impact).at&&"COMBINE"===b.at.type?b.at.combine.draggableId:null,j=d.forceShouldAnimate;return c(a(f.x,f.y),d.movementMode,g,e.isClone,h,i,j)}if("DROP_ANIMATING"===d.phase){let a=d.completed;if(a.result.draggableId!==e.draggableId)return null;let c=e.isClone,f=d.dimensions.draggables[e.draggableId],g=a.result,h=g.mode,i=d1(g),j=g.combine?g.combine.draggableId:null,k={duration:d.dropDuration,curve:cF,moveTo:d.newHomeClientOffset,opacity:j?cG:null,scale:j?cI:null};return{mapped:{type:"DRAGGING",offset:d.newHomeClientOffset,dimension:f,dropping:k,draggingOver:i,combineWith:j,mode:h,forceShouldAnimate:null,snapshot:b(h,c,i,j,k)}}}return null}),j=(d=by((a,b)=>({x:a,y:b})),e=by(d2),f=by((a,b=null,c)=>({mapped:{type:"SECONDARY",offset:a,combineTargetFor:b,shouldAnimateDisplacement:c,snapshot:e(b)}})),g=a=>a?f(bl,a,!0):null,h=(a,b,c,e)=>{let h=c.displaced.visible[a],i=!!(e.inVirtualList&&e.effected[a]),j=bF(c),k=j&&j.draggableId===a?b:null;if(!h){if(!i)return g(k);if(c.displaced.invisible[a])return null;let b=bp(e.displacedBy.point);return f(d(b.x,b.y),k,!0)}if(i)return g(k);let l=c.displacedBy.point;return f(d(l.x,l.y),k,h.shouldAnimate)},(a,b)=>{if(dH(a))return a.critical.draggable.id===b.draggableId?null:h(b.draggableId,a.critical.draggable.id,a.impact,a.afterCritical);if("DROP_ANIMATING"===a.phase){let c=a.completed;return c.result.draggableId===b.draggableId?null:h(b.draggableId,c.result.draggableId,c.impact,c.afterCritical)}return null});return(a,b)=>i(a,b)||j(a,b)||d3},{dropAnimationFinished:cE},null,{context:dw,areStatePropsEqual:d0})(a=>{let b=(0,U.useRef)(null),c=bk((a=null)=>{b.current=a},[]),d=bk(()=>b.current,[]),{contextId:e,dragHandleUsageInstructionsId:f,registry:g}=d$(dB),{type:h,droppableId:i}=d$(dY),j=bj(()=>({id:a.draggableId,index:a.index,type:h,droppableId:i}),[a.draggableId,a.index,h,i]),{children:k,draggableId:l,isEnabled:m,shouldRespectForcePress:n,canDragInteractiveElements:o,isClone:p,mapped:q,dropAnimationFinished:r}=a;dF(()=>{let b=a.draggableId;b||a9(!1),"string"!=typeof b&&a9(!1),Number.isInteger(a.index)||a9(!1),"DRAGGING"!==a.mapped.type&&(dZ(d()),a.isEnabled&&(du(e,b)||a9(!1)))}),dE(()=>{let a=(0,U.useRef)(p);dF(()=>{p!==a.current&&a9(!1)},[p])}),p||function(a){let b=dA("draggable"),{descriptor:c,registry:d,getDraggableRef:e,canDragInteractiveElements:f,shouldRespectForcePress:g,isEnabled:h}=a,i=bj(()=>({canDragInteractiveElements:f,shouldRespectForcePress:g,isEnabled:h}),[f,h,g]),j=bk(a=>{let b=e();return b||a9(),function(a,b,c=bl){let d=window.getComputedStyle(b),e=a0(b.getBoundingClientRect(),d),f=a_(e,c),g={client:e,tagName:b.tagName.toLowerCase(),display:d.display};return{descriptor:a,placeholder:g,displaceBy:{x:e.marginBox.width,y:e.marginBox.height},client:e,page:f}}(c,b,a)},[c,e]),k=bj(()=>({uniqueId:b,descriptor:c,options:i,getDimension:j}),[c,j,i,b]),l=(0,U.useRef)(k),m=(0,U.useRef)(!0);dn(()=>(d.draggable.register(l.current),()=>d.draggable.unregister(l.current)),[d.draggable]),dn(()=>{if(m.current){m.current=!1;return}let a=l.current;l.current=k,d.draggable.update(k,a)},[k,d.draggable])}(bj(()=>({descriptor:j,registry:g,getDraggableRef:d,canDragInteractiveElements:o,shouldRespectForcePress:n,isEnabled:m}),[j,g,d,o,n,m]));let s=bj(()=>m?{tabIndex:0,role:"button","aria-describedby":f,"data-rfd-drag-handle-draggable-id":l,"data-rfd-drag-handle-context-id":e,draggable:!1,onDragStart:d_}:null,[e,f,l,m]),t=bk(a=>{"DRAGGING"===q.type&&q.dropping&&"transform"===a.propertyName&&(0,V.flushSync)(r)},[r,q]),u=bj(()=>{let a="DRAGGING"===q.type?function(a){let b=a.dimension.client,{offset:c,combineWith:d,dropping:e}=a,f=!!d,g=null!=a.forceShouldAnimate?a.forceShouldAnimate:"SNAP"===a.mode,h=!!e,i=h?((a,b)=>{let c=cM(a);if(c)return b?`${c} scale(${cI})`:c})(c,f):cM(c);return{position:"fixed",top:b.marginBox.top,left:b.marginBox.left,boxSizing:"border-box",width:b.borderBox.width,height:b.borderBox.height,transition:e?cL.drop(e.duration):g?cL.snap:cL.fluid,transform:i,opacity:((a,b)=>{if(a)return b?cG:cH})(f,h),zIndex:h?4500:5e3,pointerEvents:"none"}}(q):{transform:cM(q.offset),transition:q.shouldAnimateDisplacement?void 0:"none"};return{innerRef:c,draggableProps:{"data-rfd-draggable-context-id":e,"data-rfd-draggable-id":l,style:a,onTransitionEnd:"DRAGGING"===q.type&&q.dropping?t:void 0},dragHandleProps:s}},[e,s,l,q,t,c]),v=bj(()=>({draggableId:j.id,type:j.type,source:{index:j.index,droppableId:j.droppableId}}),[j.droppableId,j.id,j.index,j.type]);return U.default.createElement(U.default.Fragment,null,k(u,q.snapshot,v))});function d5(a){return d$(dY).isUsingCloneFor!==a.draggableId||a.isClone?U.default.createElement(d4,a):null}function d6(a){let b="boolean"!=typeof a.isDragDisabled||!a.isDragDisabled,c=!!a.disableInteractiveElementBlocking,d=!!a.shouldRespectForcePress;return U.default.createElement(d5,a3({},a,{isClone:!1,isEnabled:b,canDragInteractiveElements:c,shouldRespectForcePress:d}))}let d7=a=>b=>a===b,d8=d7("scroll"),d9=d7("auto");d7("visible");let ea=(a,b)=>b(a.overflowX)||b(a.overflowY),eb=a=>{let b,c;return null==a||a===document.body||a===document.documentElement?null:ea(c={overflowX:(b=window.getComputedStyle(a)).overflowX,overflowY:b.overflowY},d8)||ea(c,d9)?a:eb(a.parentElement)};var ec=a=>({x:a.scrollLeft,y:a.scrollTop});let ed=a=>!!a&&("fixed"===window.getComputedStyle(a).position||ed(a.parentElement)),ee={passive:!1},ef={passive:!0};var eg=a=>a.shouldPublishImmediately?ee:ef;let eh=a=>a&&a.env.closestScrollable||null;function ei(){}let ej={width:0,height:0,margin:{top:0,right:0,bottom:0,left:0}};var ek=U.default.memo(a=>{let b=(0,U.useRef)(null),c=bk(()=>{b.current&&(clearTimeout(b.current),b.current=null)},[]),{animate:d,onTransitionEnd:e,onClose:f,contextId:g}=a,[h,i]=(0,U.useState)("open"===a.animate);(0,U.useEffect)(()=>h?"open"!==d?(c(),i(!1),ei):b.current?ei:(b.current=setTimeout(()=>{b.current=null,i(!1)}),c):ei,[d,h,c]);let j=bk(a=>{"height"===a.propertyName&&(e(),"close"===d&&f())},[d,f,e]),k=(({isAnimatingOpenOnMount:a,placeholder:b,animate:c})=>{let d=(({isAnimatingOpenOnMount:a,placeholder:b,animate:c})=>a||"close"===c?ej:{height:b.client.borderBox.height,width:b.client.borderBox.width,margin:b.client.margin})({isAnimatingOpenOnMount:a,placeholder:b,animate:c});return{display:b.display,boxSizing:"border-box",width:d.width,height:d.height,marginTop:d.margin.top,marginRight:d.margin.right,marginBottom:d.margin.bottom,marginLeft:d.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:"none"!==c?cL.placeholder:null}})({isAnimatingOpenOnMount:h,animate:a.animate,placeholder:a.placeholder});return U.default.createElement(a.placeholder.tagName,{style:k,"data-rfd-placeholder-context-id":g,onTransitionEnd:j,ref:a.innerRef})});function el(a){return"boolean"==typeof a}function em(a,b){b.forEach(b=>b(a))}let en=[function({props:a}){a.droppableId||a9(),"string"!=typeof a.droppableId&&a9()},function({props:a}){el(a.isDropDisabled)||a9(),el(a.isCombineEnabled)||a9(),el(a.ignoreContainerClipping)||a9()},function({getDroppableRef:a}){dZ(a())}],eo=[function({props:a,getPlaceholderRef:b}){if(!a.placeholder||b())return}],ep=[function({props:a}){a.renderClone||a9()},function({getPlaceholderRef:a}){a()&&a9()}];class eq extends U.default.PureComponent{constructor(...a){super(...a),this.state={isVisible:!!this.props.on,data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?"open":"none"},this.onClose=()=>{"close"===this.state.animate&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(a,b){return a.shouldAnimate?a.on?{isVisible:!0,data:a.on,animate:"open"}:b.isVisible?{isVisible:!0,data:b.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:!!a.on,data:a.on,animate:"none"}}render(){if(!this.state.isVisible)return null;let a={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(a)}}let er={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:function(){return document.body||a9(),document.body}},es=a=>{let b,c={...a};for(b in er)void 0===a[b]&&(c={...c,[b]:er[b]});return c},et=(a,b)=>b.draggables[a.draggable.id],eu=aQ(()=>{let a={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},b={...a,shouldAnimatePlaceholder:!1},c=by(a=>({draggableId:a.id,type:a.type,source:{index:a.index,droppableId:a.droppableId}})),d=by((d,e,f,g,h,i)=>{let j=h.descriptor.id;if(h.descriptor.droppableId===d){let a=i?{render:i,dragging:c(h.descriptor)}:null;return{placeholder:h.placeholder,shouldAnimatePlaceholder:!1,snapshot:{isDraggingOver:f,draggingOverWith:f?j:null,draggingFromThisWith:j,isUsingPlaceholder:!0},useClone:a}}return e?g?{placeholder:h.placeholder,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:f,draggingOverWith:j,draggingFromThisWith:null,isUsingPlaceholder:!0},useClone:null}:a:b});return(c,e)=>{let f=es(e),g=f.droppableId,h=f.type,i=!f.isDropDisabled,j=f.renderClone;if(dH(c)){let a=c.critical;if(h!==a.droppable.type)return b;let e=et(a,c.dimensions),f=b9(c.impact)===g;return d(g,i,f,f,e,j)}if("DROP_ANIMATING"===c.phase){let a=c.completed;if(h!==a.critical.droppable.type)return b;let e=et(a.critical,c.dimensions);return d(g,i,d1(a.result)===g,b9(a.impact)===g,e,j)}if("IDLE"===c.phase&&c.completed&&!c.shouldFlush){let d=c.completed;if(h!==d.critical.droppable.type)return b;let e=b9(d.impact)===g,f=!!(d.impact.at&&"COMBINE"===d.impact.at.type),i=d.critical.droppable.id===g;if(e)return f?a:b;if(i)return a}return b}},{updateViewportMaxScroll:a=>({type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:a})},(a,b,c)=>({...es(c),...a,...b}),{context:dw,areStatePropsEqual:d0})(a=>{var b;let c=(0,U.useContext)(dB);c||a9();let{contextId:d,isMovementAllowed:e}=c,f=(0,U.useRef)(null),g=(0,U.useRef)(null),{children:h,droppableId:i,type:j,mode:k,direction:l,ignoreContainerClipping:m,isDropDisabled:n,isCombineEnabled:o,snapshot:p,useClone:q,updateViewportMaxScroll:r,getContainerForClone:s}=a,t=bk(()=>f.current,[]),u=bk((a=null)=>{f.current=a},[]),v=bk(()=>g.current,[]),w=bk((a=null)=>{g.current=a},[]);b={props:a,getDroppableRef:t,getPlaceholderRef:v},dF(()=>{em(b,en),"standard"===b.props.mode&&em(b,eo),"virtual"===b.props.mode&&em(b,ep)});let x=bk(()=>{e()&&r({maxScroll:c0()})},[e,r]);!function(a){let b=(0,U.useRef)(null),c=d$(dB),d=dA("droppable"),{registry:e,marshal:f}=c,g=dG(a),h=bj(()=>({id:a.droppableId,type:a.type,mode:a.mode}),[a.droppableId,a.mode,a.type]),i=(0,U.useRef)(h),j=bj(()=>by((a,c)=>{b.current||a9(),f.updateDroppableScroll(h.id,{x:a,y:c})}),[h.id,f]),k=bk(()=>{let a=b.current;return a&&a.env.closestScrollable?ec(a.env.closestScrollable):bl},[]),l=bk(()=>{let a=k();j(a.x,a.y)},[k,j]),m=bj(()=>a2(l),[l]),n=bk(()=>{let a=b.current,c=eh(a);(a&&c||a9(),a.scrollOptions.shouldPublishImmediately)?l():m()},[m,l]),o=bk((a,d)=>{b.current&&a9();let e=g.current,f=e.getDroppableRef();f||a9();let i={closestScrollable:eb(f),isFixedOnPage:ed(f)},j={ref:f,descriptor:h,env:i,scrollOptions:d};b.current=j;let k=(({ref:a,descriptor:b,env:c,windowScroll:d,direction:e,isDropDisabled:f,isCombineEnabled:g,shouldClipSubject:h})=>{let i=c.closestScrollable,j=((a,b)=>{let c=a1(a);if(!b||a!==b)return c;let d=c.paddingBox.top-b.scrollTop,e=c.paddingBox.left-b.scrollLeft,f=d+b.scrollHeight;return aY({borderBox:aV({top:d,right:e+b.scrollWidth,bottom:f,left:e},c.border),margin:c.margin,border:c.border,padding:c.padding})})(a,i),k=a_(j,d),l=(()=>{if(!i)return null;let a=a1(i),b={scrollHeight:i.scrollHeight,scrollWidth:i.scrollWidth};return{client:a,page:a_(a,d),scroll:ec(i),scrollSize:b,shouldClipSubject:h}})();return(({descriptor:a,isEnabled:b,isCombineEnabled:c,isFixedOnPage:d,direction:e,client:f,page:g,closest:h})=>{let i=(()=>{if(!h)return null;let{scrollSize:a,client:b}=h,c=c$({scrollHeight:a.scrollHeight,scrollWidth:a.scrollWidth,height:b.paddingBox.height,width:b.paddingBox.width});return{pageMarginBox:h.page.marginBox,frameClient:b,scrollSize:a,shouldClipSubject:h.shouldClipSubject,scroll:{initial:h.scroll,current:h.scroll,max:c,diff:{value:bl,displacement:bl}}}})(),j="vertical"===e?bO:bP,k=bw({page:g,withPlaceholder:null,axis:j,frame:i});return{descriptor:a,isCombineEnabled:c,isFixedOnPage:d,axis:j,isEnabled:b,client:f,page:g,frame:i,subject:k}})({descriptor:b,isEnabled:!f,isCombineEnabled:g,isFixedOnPage:c.isFixedOnPage,direction:e,client:j,page:k,closest:l})})({ref:f,descriptor:h,env:i,windowScroll:a,direction:e.direction,isDropDisabled:e.isDropDisabled,isCombineEnabled:e.isCombineEnabled,shouldClipSubject:!e.ignoreContainerClipping}),l=i.closestScrollable;return l&&(l.setAttribute(dl.contextId,c.contextId),l.addEventListener("scroll",n,eg(j.scrollOptions))),k},[c.contextId,h,n,g]),p=bk(()=>{let a=b.current,c=eh(a);return a&&c||a9(),ec(c)},[]),q=bk(()=>{let a=b.current;a||a9();let c=eh(a);b.current=null,c&&(m.cancel(),c.removeAttribute(dl.contextId),c.removeEventListener("scroll",n,eg(a.scrollOptions)))},[n,m]),r=bk(a=>{let c=b.current;c||a9();let d=eh(c);d||a9(),d.scrollTop+=a.y,d.scrollLeft+=a.x},[]),s=bj(()=>({getDimensionAndWatchScroll:o,getScrollWhileDragging:p,dragStopped:q,scroll:r}),[q,o,p,r]),t=bj(()=>({uniqueId:d,descriptor:h,callbacks:s}),[s,h,d]);dn(()=>(i.current=t.descriptor,e.droppable.register(t),()=>{b.current&&q(),e.droppable.unregister(t)}),[s,h,q,t,f,e.droppable]),dn(()=>{b.current&&f.updateDroppableIsEnabled(i.current.id,!a.isDropDisabled)},[a.isDropDisabled,f]),dn(()=>{b.current&&f.updateDroppableIsCombineEnabled(i.current.id,a.isCombineEnabled)},[a.isCombineEnabled,f])}({droppableId:i,type:j,mode:k,direction:l,isDropDisabled:n,isCombineEnabled:o,ignoreContainerClipping:m,getDroppableRef:t});let y=bj(()=>U.default.createElement(eq,{on:a.placeholder,shouldAnimate:a.shouldAnimatePlaceholder},({onClose:a,data:b,animate:c})=>U.default.createElement(ek,{placeholder:b,onClose:a,innerRef:w,animate:c,contextId:d,onTransitionEnd:x})),[d,x,a.placeholder,a.shouldAnimatePlaceholder,w]),z=bj(()=>({innerRef:u,placeholder:y,droppableProps:{"data-rfd-droppable-id":i,"data-rfd-droppable-context-id":d}}),[d,i,y,u]),A=q?q.dragging.draggableId:null,B=bj(()=>({droppableId:i,type:j,isUsingCloneFor:A}),[i,A,j]);return U.default.createElement(dY.Provider,{value:B},h(z,p),function(){if(!q)return null;let{dragging:a,render:b}=q,c=U.default.createElement(d5,{draggableId:a.draggableId,index:a.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(c,d)=>b(c,d,a));return V.default.createPortal(c,s())}())});var ev=a.i(5151),ew=a.i(10948);let ex=(0,k.default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var ey=a.i(96221),ez=a.i(63588),eA=a.i(67453),eB=a.i(62722);function eC(a){let b=a.tabs??[];if(0===b.length||b.some(a=>"running"===a.status))return null;if(b.some(a=>"waiting"===a.status))return"waiting";let c=b.filter(a=>a.unread);return c.some(a=>"error"===a.status)?"error":c.some(a=>"success"===a.status)?"success":null}function eD(a){return null!==eC(a)}var eE=a.i(65025);let eF={backlog:"bg-muted text-muted-foreground",planning:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",coding:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-300",reviewing:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",done:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300"},eG={success:{className:"bg-unread-success",label:"Finished, not opened yet"},error:{className:"bg-unread-error",label:"Failed, not opened yet"},waiting:{className:"bg-unread-waiting",label:"Waiting for your input"}};function eH({tabs:a}){if(!a||0===a.length)return null;let b=a.some(a=>"running"===a.status),c=a.some(a=>"waiting"===a.status),d=a.some(a=>"error"===a.status),e=a.length>0&&a.every(a=>"success"===a.status);return b?(0,h.jsx)("span",{className:"inline-flex items-center gap-1 text-xs text-primary",children:(0,h.jsx)(ey.Loader2,{className:"size-3 animate-spin"})}):c?(0,h.jsx)("span",{className:"inline-flex items-center gap-1 text-xs text-warning",children:(0,h.jsx)(ez.MessageSquare,{className:"size-3"})}):d?(0,h.jsx)("span",{className:"inline-flex items-center gap-1 text-xs text-destructive",children:(0,h.jsx)(eB.XCircle,{className:"size-3"})}):e?(0,h.jsx)("span",{className:"inline-flex items-center gap-1 text-xs text-success",children:(0,h.jsx)(eA.CheckCircle2,{className:"size-3"})}):null}function eI({task:a,dragHandleProps:b,tabTodosMap:c}){let d=(0,j.useRouter)(),[e,f]=(0,i.useState)(!1),g=(0,P.getRepoColor)(a.owner,a.repo),k=a.tabs??[],l=k.some(a=>"running"===a.status),m=eC(a),n=((c?k.map(a=>c.get(a.tab_id)).find(a=>void 0!==a):void 0)??k.flatMap(a=>a.todos??[])).filter(a=>"deleted"!==a.status),o=n.filter(a=>"completed"===a.status).length,p=n.length,q=a.id.slice(0,5)+"…",r=(0,i.useCallback)(b=>{b.stopPropagation(),navigator.clipboard.writeText(a.id).then(()=>{f(!0),setTimeout(()=>f(!1),2e3)})},[a.id]);return(0,h.jsxs)("div",{...b,onClick:()=>d.push(`/tasks/${a.id}`),className:(0,H.cn)("relative rounded-lg border border-border bg-card p-3 shadow-sm transition-shadow hover:shadow-md cursor-pointer",l&&"opacity-50"),children:[m&&(0,h.jsx)("span",{role:"img","aria-label":eG[m].label,title:eG[m].label,className:(0,H.cn)("absolute left-0 top-2.5 bottom-2.5 w-[3px] rounded-r-[3px]",eG[m].className)}),(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,h.jsxs)("div",{className:"flex items-center gap-1",children:[(0,h.jsx)(eH,{tabs:a.tabs}),(0,h.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:q}),(0,h.jsx)("button",{onClick:r,className:"size-5 inline-flex items-center justify-center rounded-sm hover:bg-accent transition-colors",title:"Copy task ID",children:e?(0,h.jsx)(x.Check,{className:"size-3 text-success"}):(0,h.jsx)(ev.Copy,{className:"size-3 text-muted-foreground"})})]}),(0,h.jsx)("span",{className:(0,H.cn)("inline-flex h-5 items-center rounded-full px-2 text-[0.625rem] font-medium",eF[a.status]),children:a.status})]}),(0,h.jsx)("p",{className:"text-sm font-medium text-foreground",children:a.title}),a.description&&(0,h.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description}),p>0&&(0,h.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,h.jsx)(eE.Progress,{value:o,max:p,className:"flex-1 gap-0 [&_[data-slot=progress-track]]:h-[3px]"}),(0,h.jsxs)("span",{className:"text-[10px] text-muted-foreground tabular-nums shrink-0",children:[o,"/",p]})]}),(0,h.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,h.jsxs)("span",{className:(0,H.cn)("inline-flex h-5 items-center rounded-full px-2 text-[0.625rem] font-medium",g.bg,g.text),children:[a.owner,"/",a.repo]}),a.branch&&(0,h.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground",children:[(0,h.jsx)(ew.GitBranch,{className:"size-3"}),(0,h.jsx)("span",{className:"truncate max-w-[120px]",children:a.branch})]}),null!=a.effort&&a.effort>0&&(0,h.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground",children:[(0,h.jsx)(ex,{className:"size-3"}),a.effort,"h"]})]})]})]})}function eJ({droppableId:a,tasks:b,onReorder:c,onDragStateChange:d,tabTodosMap:e}){let f=(0,i.useCallback)(()=>{d?.(!0)},[d]),g=(0,i.useCallback)(a=>{if(d?.(!1),!a.destination)return;let{source:e,destination:f}=a;if(e.index===f.index)return;let g=[...b],[h]=g.splice(e.index,1);g.splice(f.index,0,h),c(g.map((a,b)=>({...a,order:b})))},[b,c,d]);return(0,h.jsx)(dX,{onDragStart:f,onDragEnd:g,children:(0,h.jsx)(eu,{droppableId:a,children:a=>(0,h.jsxs)("div",{ref:a.innerRef,...a.droppableProps,className:"space-y-2",children:[b.map((a,b)=>(0,h.jsx)(d6,{draggableId:a.id,index:b,children:b=>(0,h.jsx)("div",{ref:b.innerRef,...b.draggableProps,children:(0,h.jsx)(eI,{task:a,dragHandleProps:b.dragHandleProps,tabTodosMap:e})})},a.id)),a.placeholder]})})})}function eK({owner:a,repo:b,tasks:c,filters:d,onFilterChange:e,onReorder:f,onAddTask:g,onMoveToFront:i,onDragStateChange:j,tabTodosMap:k}){let l=(0,P.getRepoColor)(a,b),m=c.filter(eD).length;return(0,h.jsxs)("div",{className:"flex h-full flex-col",children:[(0,h.jsxs)("div",{className:"flex-shrink-0 flex items-center gap-2 px-4 pt-4",children:[(0,h.jsx)("span",{className:(0,H.cn)("inline-flex h-6 min-w-0 items-center rounded-full px-2.5 text-xs font-medium",l.bg,l.text),title:`${a}/${b}`,"data-repo":`${a}/${b}`,children:(0,h.jsxs)("span",{className:"truncate",children:[a,"/",b]})}),(0,h.jsx)("span",{className:"text-xs tabular-nums text-muted-foreground",children:c.length}),m>0&&(0,h.jsx)("span",{className:"inline-flex h-5 min-w-5 items-center justify-center rounded-full bg-primary px-1.5 text-[0.625rem] font-medium tabular-nums text-primary-foreground",title:`${m} unopened result${m>1?"s":""}`,children:m}),i&&(0,h.jsx)(s.Button,{variant:"ghost",size:"icon",onClick:i,className:"ml-auto size-6 flex-shrink-0 text-muted-foreground",title:"Move to front",children:(0,h.jsx)(J,{className:"size-3.5"})})]}),(0,h.jsx)("div",{className:"flex-shrink-0 px-4 pt-2",children:(0,h.jsx)(S,{repositories:[],filters:d,onFilterChange:e,onAddTask:g})}),(0,h.jsx)("div",{className:"flex-1 overflow-y-auto px-4 py-4",children:c.length>0?(0,h.jsx)(eJ,{droppableId:`planner-task-list-${a}/${b}`,tasks:c,onReorder:f,onDragStateChange:j,tabTodosMap:k}):(0,h.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"No tasks found"})})]})}let eL={statuses:[],repos:[],search:""},eM="h-full w-full flex-shrink-0 snap-start border-r border-border lg:w-[22.5rem]";function eN({repositories:a,tasksByRepo:b,filtersByRepo:c,onFilterChange:d,onReorder:e,onMoveRepositoryToFront:f,onAddTask:g,onCloneClick:j,isCloneOnboarding:k=!1,isCloneDialogOpen:l=!1,tabTodosMap:m}){let[n,o]=(0,i.useState)(!1),p=(0,i.useMemo)(()=>[...a].sort((a,b)=>a.order-b.order),[a]);return(0,h.jsxs)("div",{className:(0,H.cn)("flex flex-1 overflow-x-auto overflow-y-hidden overscroll-x-contain",!n&&"snap-x snap-mandatory"),children:[p.map((a,i)=>{var j,k;let l=(j=a.owner,k=a.repo,`${j}/${k}`);return(0,h.jsx)("div",{className:eM,children:(0,h.jsx)(eK,{owner:a.owner,repo:a.repo,tasks:b.get(l)??[],filters:c[l]??eL,onFilterChange:a=>d(l,a),onReorder:e,onAddTask:()=>g({owner:a.owner,repo:a.repo}),onMoveToFront:0===i?void 0:()=>f(a.id),onDragStateChange:o,tabTodosMap:m})},a.id)}),(0,h.jsx)("div",{className:eM,children:(0,h.jsx)(I,{onCloneClick:j,isOnboarding:k,isCloneDialogOpen:l})})]})}var eO=a.i(91399),eP=a.i(83915),eQ=a.i(88381),eR=a.i(78512),eS=a.i(6828);let eT={statuses:[],repos:[],search:""};a.s(["default",0,function(){var a;let b,c,d,e,f,g=(0,j.useRouter)(),[k,l]=(0,i.useState)([]),[m,n]=(0,i.useState)([]),[o,p]=(0,i.useState)({}),[q,r]=(0,i.useState)(!0),[s,t]=(0,i.useState)(!1),[u,w]=(0,i.useState)(null),[x,A]=(0,i.useState)(!1),[B,C]=(0,i.useState)(()=>({})),E=(0,i.useMemo)(()=>k.filter(eD).length,[k]);(0,eR.useDocumentTitle)((b=Object.entries(B).filter(([,a])=>a.statuses.length>0||!!a.search.trim()).map(([a,b])=>{let c=[];return b.search.trim()&&c.push(`"${b.search.trim()}"`),b.statuses.length&&c.push(b.statuses.join(", ")),`${a.split("/").pop()??a}: ${c.join(" / ")}`})).length?b.join(" | "):void 0,E),(0,i.useEffect)(()=>{try{sessionStorage.setItem("tsunagi:column-filters",JSON.stringify(B))}catch{}},[B]);let G=(0,i.useCallback)((a,b)=>{C(c=>({...c,[a]:b}))},[]),H=(0,i.useMemo)(()=>{let a,b={hasRepositories:m.length>0,hasAnthropicApiKey:!!o.ANTHROPIC_API_KEY,hasClaudeCodeToken:!!o.CLAUDE_CODE_OAUTH_TOKEN,hasTasks:k.length>0};return a=b.hasAnthropicApiKey||b.hasClaudeCodeToken?b.hasRepositories?b.hasTasks?"complete":"task":"clone":"env",{state:b,nextStep:a}},[m,o,k]),I=(0,i.useMemo)(()=>{let a=new Map;for(let d of k){var b,c;let e=(b=d.owner,c=d.repo,`${b}/${c}`),f=B[e]??eT;if(f.statuses.length>0&&!f.statuses.includes(d.status)||f.search&&!d.title.toLowerCase().includes(f.search.toLowerCase()))continue;let g=a.get(e);g?g.push(d):a.set(e,[d])}for(let b of a.values())b.sort((a,b)=>a.order-b.order);return a},[k,B]),J=async()=>{r(!0);try{let[a,b,c]=await Promise.all([fetch((0,eO.apiUrl)("/api/tasks")).then(a=>a.json()),fetch((0,eO.apiUrl)("/api/owners")).then(a=>a.json()),fetch((0,eO.apiUrl)("/api/env")).then(a=>a.json())]);l(a.data.tasks);let d=b.data.owners.flatMap(a=>a.repositories);n(d),p(c.data.env)}catch(a){console.error("Failed to load data:",a)}finally{r(!1)}},[K,L]=(0,i.useState)(!0);(0,i.useEffect)(()=>{K&&(J(),L(!1))},[]);let M=(0,i.useMemo)(()=>k.flatMap(a=>(a.tabs??[]).map(a=>a.tab_id)),[k]),N=function(a){let[b,c]=(0,i.useState)(new Map),d=(0,i.useRef)(null),e=(0,i.useRef)(new Set);return(0,i.useEffect)(()=>{if(!d.current){let a=(0,eP.io)((0,eO.getServerUrl)(),{transports:["polling","websocket"]});d.current=a,a.on("todos-updated",({sessionId:a,todos:b})=>{c(c=>{let d=new Map(c);return d.set(a,b),d})}),a.on("status-changed",({sessionId:a,status:b})=>{("idle"===b||"error"===b)&&c(b=>{let c=new Map(b);return c.delete(a),c})}),a.on("connect",()=>{for(let b of e.current)a.emit("join",{room:b,mode:"subscribe"})})}let b=d.current;for(let c of a){let a=`tab:${c}`;e.current.has(a)||(b.emit("join",{room:a,mode:"subscribe"}),e.current.add(a))}for(let c of e.current){let d=c.replace("tab:","");a.includes(d)||(b.emit("leave",{room:c}),e.current.delete(c))}},[a]),(0,i.useEffect)(()=>{let a=e.current;return()=>{d.current?.disconnect(),d.current=null,a.clear()}},[]),b}((0,i.useMemo)(()=>k.flatMap(a=>(a.tabs??[]).filter(a=>"running"===a.status).map(a=>a.tab_id)),[k]));a=(a,b)=>{let c="success"===b||"error"===b||"running"!==b&&"idle"!==b&&void 0;l(d=>d.map(d=>({...d,tabs:(d.tabs??[]).map(d=>d.tab_id===a?{...d,status:b,...void 0!==c&&{unread:c}}:d)})))},c=(0,i.useRef)(null),d=(0,i.useRef)(new Set),e=(0,i.useRef)(a),(0,i.useEffect)(()=>{e.current=a}),f=(0,i.useCallback)(()=>{if(!c.current){let a=(0,eP.io)((0,eO.getServerUrl)(),{transports:["polling","websocket"]});c.current=a,a.on("status-changed",({sessionId:a,status:b})=>{let c=function(a){switch(a){case"running":return"running";case"waiting":return"waiting";case"success":return"success";case"failure":case"error":return"error";case"idle":return"idle";default:return null}}(b);null!==c&&e.current(a,c)}),a.on("connect",()=>{for(let b of d.current)a.emit("join",{room:b,mode:"subscribe"})})}return c.current},[]),(0,i.useEffect)(()=>{if(0===M.length)return;let a=f();for(let b of M){let c=`tab:${b}`;d.current.has(c)||(a.emit("join",{room:c,mode:"subscribe"}),d.current.add(c))}let b=new Set(M);for(let c of d.current){let e=c.replace("tab:","");b.has(e)||(a.emit("leave",{room:c}),d.current.delete(c))}},[M,f]),(0,i.useEffect)(()=>{let a=d.current;return()=>{c.current?.disconnect(),c.current=null,a.clear()}},[]),(0,eQ.useTaskEvents)({onTaskCreated:a=>{l(b=>b.some(b=>b.id===a.id)?b:[...b,a]),eS.toaster.create({type:"success",title:"Task created",description:a.title,duration:5e3})},onTaskUpdated:a=>{l(b=>b.map(b=>b.id===a.id?a:b)),eS.toaster.create({type:"info",title:"Task updated",description:a.title,duration:5e3})},onTaskDeleted:a=>{let b=k.find(b=>b.id===a)?.title;l(b=>b.filter(b=>b.id!==a)),b&&eS.toaster.create({type:"info",title:"Task deleted",description:b,duration:5e3})}});let{isDeleting:O,deletedCount:P,errorCount:Q,totalCount:R,isCompleted:S,startBatchDelete:T,reset:U}=function(){let[a,b]=(0,i.useState)({batchId:null,totalCount:0,deletedCount:0,errorCount:0,isDeleting:!1,isCompleted:!1}),c=(0,i.useCallback)(async(a=7)=>{try{let c=await fetch((0,eO.apiUrl)("/api/tasks/batch-delete"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({daysAgo:a})});if(!c.ok)throw Error("Failed to start batch delete");let{batchId:d,totalCount:e}=(await c.json()).data;if(0===e)return{batchId:d,totalCount:e};return b({batchId:d,totalCount:e,deletedCount:e,errorCount:0,isDeleting:!1,isCompleted:!0}),{batchId:d,totalCount:e}}catch(a){throw console.error("Batch delete error:",a),a}},[]),d=(0,i.useCallback)(()=>{b({batchId:null,totalCount:0,deletedCount:0,errorCount:0,isDeleting:!1,isCompleted:!1})},[]);return{...a,startBatchDelete:c,reset:d}}();(0,i.useEffect)(()=>{(O||S)&&queueMicrotask(()=>{if(O){let a=Q>0?`${P} / ${R} (${Q} failed)`:`${P} / ${R}`;eS.toaster.update("batch-delete-progress",{type:"loading",title:"Deleting tasks...",description:a,duration:1/0})}if(S){eS.toaster.dismiss("batch-delete-progress");let a=Q>0?`Deleted ${P} tasks (${Q} failed)`:`Deleted ${P} tasks`;eS.toaster.create({type:Q>0?"warning":"success",title:a,duration:5e3}),setTimeout(()=>{U()},5e3)}})},[O,S,P,Q,R,U]);let V=(0,i.useCallback)(async a=>{l(b=>{let c=new Map(a.map(a=>[a.id,a]));return b.map(a=>c.get(a.id)??a)});try{await Promise.all(a.map((a,b)=>fetch((0,eO.apiUrl)(`/api/tasks/${a.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:b})})))}catch(a){console.error("Failed to update task order:",a)}},[]),W=(0,i.useCallback)(async a=>{let b=m.find(b=>b.id===a);if(!b)return;let c=[b,...m.filter(b=>b.id!==a).sort((a,b)=>a.order-b.order)].map((a,b)=>({...a,order:b}));n(c);try{await fetch((0,eO.apiUrl)("/api/repos/reorder"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoIds:c.map(a=>a.id)})})}catch(a){console.error("Failed to update repository order:",a)}},[m]),X=async a=>{try{let b=await fetch((0,eO.apiUrl)("/api/clone"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok){let a=await b.json().then(a=>a?.error).catch(()=>void 0);throw Error(a||`Failed to clone repository (HTTP ${b.status})`)}let c=await b.json();return n(a=>[...a,c.data.repository]),await J(),{cloneUrl:c.data.repository.cloneUrl,fallbackToSsh:!!c.data.fallbackToSsh}}catch(a){throw console.error("Failed to clone repository:",a),a}},Y=async a=>{try{let b=await T(a);if(!b||0===b.totalCount)return void eS.toaster.create({type:"info",title:"No tasks to delete",description:`No tasks completed more than ${a} days ago`,duration:3e3});eS.toaster.create({id:"batch-delete-progress",type:"loading",title:"Deleting tasks...",description:`0 / ${b.totalCount}`,duration:1/0})}catch(a){console.error("Failed to start batch delete:",a),eS.toaster.create({type:"error",title:"Failed to delete tasks",description:String(a),duration:5e3})}};return q&&0===k.length?(0,h.jsx)("div",{className:"h-screen flex items-center justify-center bg-background",children:(0,h.jsx)("div",{className:"text-center",children:(0,h.jsx)("div",{className:"text-2xl text-foreground",children:"Loading..."})})}):(0,h.jsxs)("div",{className:"h-screen flex flex-col",children:[(0,h.jsx)(v,{onSettingsClick:()=>g.push("/settings"),onReload:J,nextStep:H.nextStep}),(0,h.jsxs)("div",{className:"relative flex-1 overflow-hidden flex",children:[(0,h.jsx)(eN,{repositories:m,tasksByRepo:I,filtersByRepo:B,onFilterChange:G,onReorder:V,onMoveRepositoryToFront:W,onAddTask:w,onCloneClick:()=>t(!0),isCloneOnboarding:"clone"===H.nextStep,isCloneDialogOpen:s,tabTodosMap:N}),"env"===H.nextStep&&(0,h.jsx)(y,{hasRepositories:H.state.hasRepositories,hasEnvVars:H.state.hasAnthropicApiKey||H.state.hasClaudeCodeToken,hasTasks:H.state.hasTasks})]}),(0,h.jsx)(D,{isOpen:s,onClose:()=>t(!1),onClone:X,isOnboarding:"clone"===H.nextStep}),(0,h.jsx)(z.TaskDialog,{mode:"create",isOpen:null!==u,onClose:()=>w(null),repositories:m,defaultRepo:u??void 0}),(0,h.jsx)(F,{isOpen:x,onClose:()=>A(!1),onConfirm:Y})]})}],46940)}];
|
|
64
|
+
`}}],"always"),resting:dm(f,"resting"),dragging:dm(f,"dragging"),dropAnimating:dm(f,"dropAnimating"),userCancel:dm(f,"userCancel")}},[w]),f=(0,U.useRef)(null),g=(0,U.useRef)(null),h=bk(by(a=>{let b=g.current;b||a9(),b.textContent=a}),[]),dn(()=>{(f.current||g.current)&&a9();let a=dq(z),b=dq(z);return f.current=a,g.current=b,a.setAttribute(`${dh}-always`,w),b.setAttribute(`${dh}-dynamic`,w),dp().appendChild(a),dp().appendChild(b),i(e.always),h(e.resting),()=>{let a=a=>{let b=a.current;b||a9(),dp().removeChild(b),a.current=null};a(f),a(g)}},[z,i=bk(a=>{let b=f.current;b||a9(),b.textContent=a},[]),h,e.always,e.resting,w]),j=bk(()=>h(e.dragging),[h,e.dragging]),k=bk(a=>{"DROP"===a?h(e.dropAnimating):h(e.userCancel)},[h,e.dropAnimating,e.userCancel]),bj(()=>({dragging:j,dropping:k,resting:l}),[j,k,l=bk(()=>{g.current&&h(e.resting)},[h,e.resting])])),I=bk(a=>{dV(B).dispatch(a)},[]),J=bj(()=>_({publishWhileDragging:cr,updateDroppableScroll:ct,updateDroppableIsEnabled:cu,updateDroppableIsCombineEnabled:cv,collectionStarting:cs},I),[I]),K=(m=bj(dv,[]),(0,U.useEffect)(()=>function(){m.clean()},[m]),m),L=bj(()=>{let a,b,c;return a=null,b=function({registry:a,callbacks:b}){let c=cZ(),d=null,e=()=>{d||(b.collectionStarting(),d=requestAnimationFrame(()=>{d=null,ck();let{additions:e,removals:f,modified:g}=c,h=Object.keys(e).map(b=>a.draggable.getById(b).getDimension(bl)).sort((a,b)=>a.descriptor.index-b.descriptor.index),i=Object.keys(g).map(b=>{let c=a.droppable.getById(b).callbacks.getScrollWhileDragging();return{droppableId:b,scroll:c}}),j={additions:h,removals:Object.keys(f),modified:i};c=cZ(),cl(),b.publish(j)}))};return{add:a=>{let b=a.descriptor.id;c.additions[b]=a,c.modified[a.descriptor.droppableId]=!0,c.removals[b]&&delete c.removals[b],e()},remove:a=>{let b=a.descriptor;c.removals[b.id]=!0,c.modified[b.droppableId]=!0,c.additions[b.id]&&delete c.additions[b.id],e()},stop:()=>{d&&(cancelAnimationFrame(d),d=null,c=cZ())}}}({callbacks:{publish:J.publishWhileDragging,collectionStarting:J.collectionStarting},registry:K}),c=c=>{a||a9();let d=a.critical.draggable;"ADDITION"===c.type&&c1(K,d,c.value)&&b.add(c.value),"REMOVAL"===c.type&&c1(K,d,c.value)&&b.remove(c.value)},{updateDroppableIsEnabled:(b,c)=>{K.droppable.exists(b)||a9(),a&&J.updateDroppableIsEnabled({id:b,isEnabled:c})},updateDroppableIsCombineEnabled:(b,c)=>{a&&(K.droppable.exists(b)||a9(),J.updateDroppableIsCombineEnabled({id:b,isCombineEnabled:c}))},scrollDroppable:(b,c)=>{a&&K.droppable.getById(b).callbacks.scroll(c)},updateDroppableScroll:(b,c)=>{a&&(K.droppable.exists(b)||a9(),J.updateDroppableScroll({id:b,newScroll:c}))},startPublishing:b=>{a&&a9();let d=K.draggable.getById(b.draggableId),e=K.droppable.getById(d.descriptor.droppableId),f={draggable:d.descriptor,droppable:e.descriptor};return a={critical:f,unsubscribe:K.subscribe(c)},(({critical:a,scrollOptions:b,registry:c})=>{let d,e,f,g,h,i;ck();let j=(d=cR(),e=c0(),f=d.y,g=d.x,i=(h=c_()).clientWidth,{frame:aU({top:f,left:g,right:g+i,bottom:f+h.clientHeight}),scroll:{initial:d,current:d,max:e,diff:{value:bl,displacement:bl}}}),k=j.scroll.current,l=a.droppable,m=c.droppable.getAllByType(l.type).map(a=>a.callbacks.getDimensionAndWatchScroll(k,b)),n={draggables:bA(c.draggable.getAllByType(a.draggable.type).map(a=>a.getDimension(k))),droppables:bz(m)};return cl(),{dimensions:n,critical:a,viewport:j}})({critical:f,registry:K,scrollOptions:b.scrollOptions})},stopPublishing:()=>{if(!a)return;b.stop();let c=a.critical.droppable;K.droppable.getAllByType(c.type).forEach(a=>a.callbacks.dragStopped()),a.unsubscribe(),a=null}}},[K,J]),M=bj(()=>(({scrollDroppable:a,scrollWindow:b,move:c,getAutoScrollerOptions:d})=>{let e=(({scrollWindow:a,scrollDroppable:b,getAutoScrollerOptions:c=()=>c5})=>{let d=a2(a),e=a2(b),f=null,g=a=>{f||a9();let{shouldUseTimeDampening:b,dragStartTime:g}=f;dg({state:a,scrollWindow:d,scrollDroppable:e,dragStartTime:g,shouldUseTimeDampening:b,getAutoScrollerOptions:c})};return{start:a=>{ck(),f&&a9();let b=Date.now(),d=!1,e=()=>{d=!0};dg({state:a,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:e,scrollDroppable:e,getAutoScrollerOptions:c}),f={dragStartTime:b,shouldUseTimeDampening:d},cl(),d&&g(a)},stop:()=>{f&&(d.cancel(),e.cancel(),f=null)},scroll:g}})({scrollWindow:b,scrollDroppable:a,getAutoScrollerOptions:d}),f=(({move:a,scrollDroppable:b,scrollWindow:c})=>d=>{let e=d.scrollJumpRequest;if(!e)return;let f=b9(d.impact);f||a9();let g=((a,c)=>{let d;if(!df(a,c))return c;let e=(d=a.frame)&&df(a,c)?dc({current:d.scroll.current,max:d.scroll.max,change:c}):null;if(!e)return b(a.descriptor.id,c),null;let f=bn(c,e);return b(a.descriptor.id,f),bn(c,f)})(d.dimensions.droppables[f],e);if(!g)return;let h=d.viewport,i=((a,b,d)=>{if(!a||!de(b,d))return d;let e=((a,b)=>{if(!de(a,b))return null;let c=a.scroll.max;return dc({current:a.scroll.current,max:c,change:b})})(b,d);if(!e)return c(d),null;let f=bn(d,e);return c(f),bn(d,f)})(d.isWindowScrollAllowed,h,g);i&&a({client:bm(d.current.client.selection,i)})})({move:c,scrollWindow:b,scrollDroppable:a});return{scroll:a=>{d().disabled||"DRAGGING"!==a.phase||("FLUID"===a.movementMode?e.scroll(a):a.scrollJumpRequest&&f(a))},start:e.start,stop:e.stop}})({scrollWindow:c3,scrollDroppable:L.scrollDroppable,getAutoScrollerOptions:E,..._({move:cw},I)}),[L.scrollDroppable,I,E]),N=(n=(0,U.useRef)({}),o=(0,U.useRef)(null),p=(0,U.useRef)(null),q=(0,U.useRef)(!1),r=bk(function(a,b){let c={id:a,focus:b};return n.current[a]=c,function(){let b=n.current;b[a]!==c&&delete b[a]}},[]),s=bk(function(a){let b=du(w,a);b&&b!==document.activeElement&&b.focus()},[w]),t=bk(function(a,b){o.current===a&&(o.current=b)},[]),u=bk(function(){p.current||q.current&&(p.current=requestAnimationFrame(()=>{p.current=null;let a=o.current;a&&s(a)}))},[s]),v=bk(function(a){o.current=null;let b=document.activeElement;b&&b.getAttribute(di.draggableId)===a&&(o.current=a)},[]),dn(()=>(q.current=!0,function(){q.current=!1;let a=p.current;a&&cancelAnimationFrame(a)}),[]),bj(()=>({register:r,tryRecordFocus:v,tryRestoreFocusRecorded:u,tryShiftRecord:t}),[r,v,u,t])),O=bj(()=>(({dimensionMarshal:a,focusMarshal:b,styleMarshal:c,getResponders:d,announce:e,autoScroller:f})=>{let g,h,i,j,k,l;return function a(b,c,d){if("function"!=typeof b)throw Error(W(2));if("function"==typeof c&&"function"==typeof d||"function"==typeof d&&"function"==typeof arguments[3])throw Error(W(0));if("function"==typeof c&&void 0===d&&(d=c,c=void 0),void 0!==d){if("function"!=typeof d)throw Error(W(1));return d(a)(b,c)}let e=b,f=c,g=new Map,h=g,i=0,j=!1;function k(){h===g&&(h=new Map,g.forEach((a,b)=>{h.set(b,a)}))}function l(){if(j)throw Error(W(3));return f}function m(a){if("function"!=typeof a)throw Error(W(4));if(j)throw Error(W(5));let b=!0;k();let c=i++;return h.set(c,a),function(){if(b){if(j)throw Error(W(6));b=!1,k(),h.delete(c),g=null}}}function n(a){if(!function(a){if("object"!=typeof a||null===a)return!1;let b=a;for(;null!==Object.getPrototypeOf(b);)b=Object.getPrototypeOf(b);return Object.getPrototypeOf(a)===b||null===Object.getPrototypeOf(a)}(a))throw Error(W(7));if(void 0===a.type)throw Error(W(8));if("string"!=typeof a.type)throw Error(W(17));if(j)throw Error(W(9));try{j=!0,f=e(f,a)}finally{j=!1}return(g=h).forEach(a=>{a()}),a}return n({type:Z.INIT}),{dispatch:n,subscribe:m,getState:l,replaceReducer:function(a){if("function"!=typeof a)throw Error(W(10));e=a,n({type:Z.REPLACE})},[X]:function(){return{subscribe(a){if("object"!=typeof a||null===a)throw Error(W(11));function b(){a.next&&a.next(l())}return b(),{unsubscribe:m(b)}},[X](){return this}}}}}(cp,aa(function(...a){return b=>(c,d)=>{let e=b(c,d),f=()=>{throw Error(W(15))},g={getState:e.getState,dispatch:(a,...b)=>f(a,...b)};return f=aa(...a.map(a=>a(g)))(e.dispatch),{...e,dispatch:f}}}(()=>a=>b=>{cq(b,"INITIAL_PUBLISH")&&c.dragging(),cq(b,"DROP_ANIMATE")&&c.dropping(b.payload.completed.result.reason),(cq(b,"FLUSH")||cq(b,"DROP_COMPLETE"))&&c.resting(),a(b)},()=>b=>c=>{(cq(c,"DROP_COMPLETE")||cq(c,"FLUSH")||cq(c,"DROP_ANIMATE"))&&a.stopPublishing(),b(c)},({getState:b,dispatch:c})=>d=>e=>{if(!cq(e,"LIFT"))return void d(e);let{id:f,clientSelection:g,movementMode:h}=e.payload,i=b();"DROP_ANIMATING"===i.phase&&c(cC({completed:i.completed})),"IDLE"!==b().phase&&a9(),c(cB()),c({type:"BEFORE_INITIAL_CAPTURE",payload:{draggableId:f,movementMode:h}});let{critical:j,dimensions:k,viewport:l}=a.startPublishing({draggableId:f,scrollOptions:{shouldPublishImmediately:"SNAP"===h}});c({type:"INITIAL_PUBLISH",payload:{critical:j,dimensions:k,clientSelection:g,movementMode:h,viewport:l}})},cQ,cW,cX,cY,a=>b=>c=>{if(cq(c,"DROP_COMPLETE")||cq(c,"DROP_ANIMATE")||cq(c,"FLUSH")){f.stop(),b(c);return}if(cq(c,"INITIAL_PUBLISH")){b(c);let d=a.getState();"DRAGGING"!==d.phase&&a9(),f.start(d);return}b(c),f.scroll(a.getState())},cS,(g=!1,()=>a=>c=>{if(cq(c,"INITIAL_PUBLISH")){g=!0,b.tryRecordFocus(c.payload.critical.draggable.id),a(c),b.tryRestoreFocusRecorded();return}if(a(c),g){if(cq(c,"FLUSH")){g=!1,b.tryRestoreFocusRecorded();return}if(cq(c,"DROP_COMPLETE")){g=!1;let a=c.payload.completed.result;a.combine&&b.tryShiftRecord(a.draggableId,a.combine.draggableId),b.tryRestoreFocusRecorded()}}}),(h=[],i={add:a=>{let b=setTimeout(()=>(a=>{let b=h.findIndex(b=>b.timerId===a);-1===b&&a9();let[c]=h.splice(b,1);c.callback()})(b));h.push({timerId:b,callback:a})},flush:()=>{if(!h.length)return;let a=[...h];h.length=0,a.forEach(a=>{clearTimeout(a.timerId),a.callback()})}},j=null,l={beforeCapture:(a,b)=>{j&&a9(),cT("onBeforeCapture",()=>{let c=d().onBeforeCapture;c&&c({draggableId:a,mode:b})})},beforeStart:(a,b)=>{j&&a9(),cT("onBeforeDragStart",()=>{let c=d().onBeforeDragStart;c&&c(cU(a,b))})},start:(a,b)=>{j&&a9();let c=cU(a,b);j={mode:b,lastCritical:a,lastLocation:c.source,lastCombine:null},i.add(()=>{cT("onDragStart",()=>cV(d().onDragStart,c,e,bf))})},update:(a,b)=>{var c,f;let g=bE(b),h=bF(b);j||a9();let k=!((a,b)=>{if(a===b)return!0;let c=a.draggable.id===b.draggable.id&&a.draggable.droppableId===b.draggable.droppableId&&a.draggable.type===b.draggable.type&&a.draggable.index===b.draggable.index,d=a.droppable.id===b.droppable.id&&a.droppable.type===b.droppable.type;return c&&d})(a,j.lastCritical);k&&(j.lastCritical=a);let l=(c=j.lastLocation,(null!=c||null!=g)&&(null==c||null==g||c.droppableId!==g.droppableId||c.index!==g.index));l&&(j.lastLocation=g);let m=(f=j.lastCombine,(null!=f||null!=h)&&(null==f||null==h||f.draggableId!==h.draggableId||f.droppableId!==h.droppableId));if(m&&(j.lastCombine=h),!k&&!l&&!m)return;let n={...cU(a,j.mode),combine:h,destination:g};i.add(()=>{cT("onDragUpdate",()=>cV(d().onDragUpdate,n,e,bg))})},flush:()=>{j||a9(),i.flush()},drop:k=a=>{j||a9(),j=null,cT("onDragEnd",()=>cV(d().onDragEnd,a,e,bh))},abort:()=>{j&&k({...cU(j.lastCritical,j.mode),combine:null,destination:null,reason:"CANCEL"})}},a=>b=>c=>{if(cq(c,"BEFORE_INITIAL_CAPTURE"))return void l.beforeCapture(c.payload.draggableId,c.payload.movementMode);if(cq(c,"INITIAL_PUBLISH")){let a=c.payload.critical;l.beforeStart(a,c.payload.movementMode),b(c),l.start(a,c.payload.movementMode);return}if(cq(c,"DROP_COMPLETE")){let a=c.payload.completed.result;l.flush(),b(c),l.drop(a);return}if(b(c),cq(c,"FLUSH"))return void l.abort();let d=a.getState();"DRAGGING"===d.phase&&l.update(d.critical,d.impact)}))))})({announce:F,autoScroller:M,dimensionMarshal:L,focusMarshal:N,getResponders:D,styleMarshal:H}),[F,M,L,N,D,H]);B.current=O;let P=bk(()=>{let a=dV(B);"IDLE"!==a.getState().phase&&a.dispatch(cB())},[]),Q=bk(()=>{let a=dV(B).getState();return"DROP_ANIMATING"===a.phase||"IDLE"!==a.phase&&a.isDragging},[]);x(bj(()=>({isDragging:Q,tryAbort:P}),[Q,P]));let R=bk(a=>c2(dV(B).getState(),a),[]),S=bk(()=>ca(dV(B).getState()),[]),T=bj(()=>({marshal:L,focus:N,contextId:w,canLift:R,isMovementAllowed:S,dragHandleUsageInstructionsId:G,registry:K}),[w,L,G,N,R,S,K]);return!function({contextId:a,store:b,registry:c,customSensors:d,enableDefaultSensors:e}){let f=[...e?dU:[],...d||[]],g=(0,U.useState)(()=>(function(){let a=null;function b(){a||a9(),a=null}return{isClaimed:function(){return!!a},isActive:function(b){return b===a},claim:function(b){a&&a9();let c={abandon:b};return a=c,c},release:b,tryAbandon:function(){a&&(a.abandon(),b())}}})())[0],h=bk(function(a,b){dH(a)&&!dH(b)&&g.tryAbandon()},[g]);dn(function(){let a=b.getState();return b.subscribe(()=>{let c=b.getState();h(a,c),a=c})},[g,b,h]),dn(()=>g.tryAbandon,[g.tryAbandon]);let i=bk(a=>dT({lockAPI:g,registry:c,store:b,draggableId:a}),[g,c,b]),j=bk((d,e,f)=>(function({lockAPI:a,contextId:b,store:c,registry:d,draggableId:e,forceSensorStop:f,sourceEvent:g}){var h;let i,j;if(!dT({lockAPI:a,store:c,registry:d,draggableId:e}))return null;let k=d.draggable.getById(e),l=(h=k.descriptor.id,(i=dr(document,`[${dj.contextId}="${b}"]`).find(a=>a.getAttribute(dj.id)===h))&&dt(i)?i:null);if(!l||g&&!k.options.canDragInteractiveElements&&dt(j=g.target)&&function a(b,c){if(null==c)return!1;if(dP.includes(c.tagName.toLowerCase()))return!0;let d=c.getAttribute("contenteditable");return"true"===d||""===d||c!==b&&a(b,c.parentElement)}(l,j))return null;let m=a.claim(f||a6),n="PRE_DRAG";function o(){return k.options.shouldRespectForcePress}function p(){return a.isActive(m)}let q=(function(a,b){dS({expected:a,phase:n,isLockActive:p,shouldWarn:!0})&&c.dispatch(b())}).bind(null,"DRAGGING");function r(b){function d(){a.release(),n="COMPLETED"}function e(a,f={shouldBlockNextClick:!1}){b.cleanup(),f.shouldBlockNextClick&&setTimeout(a7(window,[{eventName:"click",fn:dR,options:{once:!0,passive:!1,capture:!0}}])),d(),c.dispatch(cD({reason:a}))}return"PRE_DRAG"!==n&&(d(),a9()),c.dispatch({type:"LIFT",payload:b.liftActionArgs}),n="DRAGGING",{isActive:()=>dS({expected:"DRAGGING",phase:n,isLockActive:p,shouldWarn:!1}),shouldRespectForcePress:o,drop:a=>e("DROP",a),cancel:a=>e("CANCEL",a),...b.actions}}return{isActive:()=>dS({expected:"PRE_DRAG",phase:n,isLockActive:p,shouldWarn:!1}),shouldRespectForcePress:o,fluidLift:function(a){let b=a2(a=>{q(()=>cw({client:a}))});return{...r({liftActionArgs:{id:e,clientSelection:a,movementMode:"FLUID"},cleanup:()=>b.cancel(),actions:{move:b}}),move:b}},snapLift:function(){return r({liftActionArgs:{id:e,clientSelection:aU(l.getBoundingClientRect()).center,movementMode:"SNAP"},cleanup:a6,actions:{moveUp:()=>q(cx),moveRight:()=>q(cz),moveDown:()=>q(cy),moveLeft:()=>q(cA)}})},abort:function(){dS({expected:"PRE_DRAG",phase:n,isLockActive:p,shouldWarn:!0})&&a.release()}}})({lockAPI:g,registry:c,contextId:a,store:b,draggableId:d,forceSensorStop:e||null,sourceEvent:f&&f.sourceEvent?f.sourceEvent:null}),[a,g,c,b]),k=bk(b=>{let c;return(c=function(a,b){let c=b.target;if(!(c instanceof ds(c).Element))return null;let d=`[${di.contextId}="${a}"]`,e=c.closest?c.closest(d):function a(b,c){return null==b?null:b[dQ](c)?b:a(b.parentElement,c)}(c,d);return e&&dt(e)?e:null}(a,b))?c.getAttribute(di.draggableId):null},[a]),l=bk(a=>{let b=c.draggable.findById(a);return b?b.options:null},[c.draggable]),m=bk(function(){g.isClaimed()&&(g.tryAbandon(),"IDLE"!==b.getState().phase&&b.dispatch(cB()))},[g,b]),n=bk(()=>g.isClaimed(),[g]),o=bj(()=>({canGetLock:i,tryGetLock:j,findClosestDraggableId:k,findOptionsForDraggable:l,tryReleaseLock:m,isLockClaimed:n}),[i,j,k,l,m,n]);dE(()=>{let a=dG(f);dF(()=>{a.current.length!==f.length&&a9(!1)})});for(let a=0;a<f.length;a++)f[a](o)}({contextId:w,store:O,registry:K,customSensors:y||null,enableDefaultSensors:!1!==a.enableDefaultSensors}),(0,U.useEffect)(()=>P,[P]),U.default.createElement(dB.Provider,{value:T},U.default.createElement(aR,{context:dw,store:O},a.children))}function dX(a){let b=U.default.useId(),c=a.dragHandleUsageInstructions||bb;return U.default.createElement(ba,null,d=>U.default.createElement(dW,{nonce:a.nonce,contextId:b,setCallbacks:d,dragHandleUsageInstructions:c,enableDefaultSensors:a.enableDefaultSensors,sensors:a.sensors,onBeforeCapture:a.onBeforeCapture,onBeforeDragStart:a.onBeforeDragStart,onDragStart:a.onDragStart,onDragUpdate:a.onDragUpdate,onDragEnd:a.onDragEnd,autoScrollerOptions:a.autoScrollerOptions},a.children))}var dY=U.default.createContext(null);function dZ(a){a&&dt(a)||a9()}function d$(a){let b=(0,U.useContext)(a);return b||a9(),b}function d_(a){a.preventDefault()}var d0=(a,b)=>a===b,d1=a=>{let{combine:b,destination:c}=a;return c?c.droppableId:b?b.droppableId:null};function d2(a=null){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:a,combineWith:null}}let d3={mapped:{type:"SECONDARY",offset:bl,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:d2(null)}},d4=aQ(()=>{let a,b,c,d,e,f,g,h,i=(a=by((a,b)=>({x:a,y:b})),b=by((a,b,c=null,d=null,e=null)=>({isDragging:!0,isClone:b,isDropAnimating:!!e,dropAnimation:e,mode:a,draggingOver:c,combineWith:d,combineTargetFor:null})),c=by((a,c,d,e,f=null,g=null,h=null)=>({mapped:{type:"DRAGGING",dropping:null,draggingOver:f,combineWith:g,mode:c,offset:a,dimension:d,forceShouldAnimate:h,snapshot:b(c,e,f,g,null)}})),(d,e)=>{if(dH(d)){let b;if(d.critical.draggable.id!==e.draggableId)return null;let f=d.current.client.offset,g=d.dimensions.draggables[e.draggableId],h=b9(d.impact),i=(b=d.impact).at&&"COMBINE"===b.at.type?b.at.combine.draggableId:null,j=d.forceShouldAnimate;return c(a(f.x,f.y),d.movementMode,g,e.isClone,h,i,j)}if("DROP_ANIMATING"===d.phase){let a=d.completed;if(a.result.draggableId!==e.draggableId)return null;let c=e.isClone,f=d.dimensions.draggables[e.draggableId],g=a.result,h=g.mode,i=d1(g),j=g.combine?g.combine.draggableId:null,k={duration:d.dropDuration,curve:cF,moveTo:d.newHomeClientOffset,opacity:j?cG:null,scale:j?cI:null};return{mapped:{type:"DRAGGING",offset:d.newHomeClientOffset,dimension:f,dropping:k,draggingOver:i,combineWith:j,mode:h,forceShouldAnimate:null,snapshot:b(h,c,i,j,k)}}}return null}),j=(d=by((a,b)=>({x:a,y:b})),e=by(d2),f=by((a,b=null,c)=>({mapped:{type:"SECONDARY",offset:a,combineTargetFor:b,shouldAnimateDisplacement:c,snapshot:e(b)}})),g=a=>a?f(bl,a,!0):null,h=(a,b,c,e)=>{let h=c.displaced.visible[a],i=!!(e.inVirtualList&&e.effected[a]),j=bF(c),k=j&&j.draggableId===a?b:null;if(!h){if(!i)return g(k);if(c.displaced.invisible[a])return null;let b=bp(e.displacedBy.point);return f(d(b.x,b.y),k,!0)}if(i)return g(k);let l=c.displacedBy.point;return f(d(l.x,l.y),k,h.shouldAnimate)},(a,b)=>{if(dH(a))return a.critical.draggable.id===b.draggableId?null:h(b.draggableId,a.critical.draggable.id,a.impact,a.afterCritical);if("DROP_ANIMATING"===a.phase){let c=a.completed;return c.result.draggableId===b.draggableId?null:h(b.draggableId,c.result.draggableId,c.impact,c.afterCritical)}return null});return(a,b)=>i(a,b)||j(a,b)||d3},{dropAnimationFinished:cE},null,{context:dw,areStatePropsEqual:d0})(a=>{let b=(0,U.useRef)(null),c=bk((a=null)=>{b.current=a},[]),d=bk(()=>b.current,[]),{contextId:e,dragHandleUsageInstructionsId:f,registry:g}=d$(dB),{type:h,droppableId:i}=d$(dY),j=bj(()=>({id:a.draggableId,index:a.index,type:h,droppableId:i}),[a.draggableId,a.index,h,i]),{children:k,draggableId:l,isEnabled:m,shouldRespectForcePress:n,canDragInteractiveElements:o,isClone:p,mapped:q,dropAnimationFinished:r}=a;dF(()=>{let b=a.draggableId;b||a9(!1),"string"!=typeof b&&a9(!1),Number.isInteger(a.index)||a9(!1),"DRAGGING"!==a.mapped.type&&(dZ(d()),a.isEnabled&&(du(e,b)||a9(!1)))}),dE(()=>{let a=(0,U.useRef)(p);dF(()=>{p!==a.current&&a9(!1)},[p])}),p||function(a){let b=dA("draggable"),{descriptor:c,registry:d,getDraggableRef:e,canDragInteractiveElements:f,shouldRespectForcePress:g,isEnabled:h}=a,i=bj(()=>({canDragInteractiveElements:f,shouldRespectForcePress:g,isEnabled:h}),[f,h,g]),j=bk(a=>{let b=e();return b||a9(),function(a,b,c=bl){let d=window.getComputedStyle(b),e=a0(b.getBoundingClientRect(),d),f=a_(e,c),g={client:e,tagName:b.tagName.toLowerCase(),display:d.display};return{descriptor:a,placeholder:g,displaceBy:{x:e.marginBox.width,y:e.marginBox.height},client:e,page:f}}(c,b,a)},[c,e]),k=bj(()=>({uniqueId:b,descriptor:c,options:i,getDimension:j}),[c,j,i,b]),l=(0,U.useRef)(k),m=(0,U.useRef)(!0);dn(()=>(d.draggable.register(l.current),()=>d.draggable.unregister(l.current)),[d.draggable]),dn(()=>{if(m.current){m.current=!1;return}let a=l.current;l.current=k,d.draggable.update(k,a)},[k,d.draggable])}(bj(()=>({descriptor:j,registry:g,getDraggableRef:d,canDragInteractiveElements:o,shouldRespectForcePress:n,isEnabled:m}),[j,g,d,o,n,m]));let s=bj(()=>m?{tabIndex:0,role:"button","aria-describedby":f,"data-rfd-drag-handle-draggable-id":l,"data-rfd-drag-handle-context-id":e,draggable:!1,onDragStart:d_}:null,[e,f,l,m]),t=bk(a=>{"DRAGGING"===q.type&&q.dropping&&"transform"===a.propertyName&&(0,V.flushSync)(r)},[r,q]),u=bj(()=>{let a="DRAGGING"===q.type?function(a){let b=a.dimension.client,{offset:c,combineWith:d,dropping:e}=a,f=!!d,g=null!=a.forceShouldAnimate?a.forceShouldAnimate:"SNAP"===a.mode,h=!!e,i=h?((a,b)=>{let c=cM(a);if(c)return b?`${c} scale(${cI})`:c})(c,f):cM(c);return{position:"fixed",top:b.marginBox.top,left:b.marginBox.left,boxSizing:"border-box",width:b.borderBox.width,height:b.borderBox.height,transition:e?cL.drop(e.duration):g?cL.snap:cL.fluid,transform:i,opacity:((a,b)=>{if(a)return b?cG:cH})(f,h),zIndex:h?4500:5e3,pointerEvents:"none"}}(q):{transform:cM(q.offset),transition:q.shouldAnimateDisplacement?void 0:"none"};return{innerRef:c,draggableProps:{"data-rfd-draggable-context-id":e,"data-rfd-draggable-id":l,style:a,onTransitionEnd:"DRAGGING"===q.type&&q.dropping?t:void 0},dragHandleProps:s}},[e,s,l,q,t,c]),v=bj(()=>({draggableId:j.id,type:j.type,source:{index:j.index,droppableId:j.droppableId}}),[j.droppableId,j.id,j.index,j.type]);return U.default.createElement(U.default.Fragment,null,k(u,q.snapshot,v))});function d5(a){return d$(dY).isUsingCloneFor!==a.draggableId||a.isClone?U.default.createElement(d4,a):null}function d6(a){let b="boolean"!=typeof a.isDragDisabled||!a.isDragDisabled,c=!!a.disableInteractiveElementBlocking,d=!!a.shouldRespectForcePress;return U.default.createElement(d5,a3({},a,{isClone:!1,isEnabled:b,canDragInteractiveElements:c,shouldRespectForcePress:d}))}let d7=a=>b=>a===b,d8=d7("scroll"),d9=d7("auto");d7("visible");let ea=(a,b)=>b(a.overflowX)||b(a.overflowY),eb=a=>{let b,c;return null==a||a===document.body||a===document.documentElement?null:ea(c={overflowX:(b=window.getComputedStyle(a)).overflowX,overflowY:b.overflowY},d8)||ea(c,d9)?a:eb(a.parentElement)};var ec=a=>({x:a.scrollLeft,y:a.scrollTop});let ed=a=>!!a&&("fixed"===window.getComputedStyle(a).position||ed(a.parentElement)),ee={passive:!1},ef={passive:!0};var eg=a=>a.shouldPublishImmediately?ee:ef;let eh=a=>a&&a.env.closestScrollable||null;function ei(){}let ej={width:0,height:0,margin:{top:0,right:0,bottom:0,left:0}};var ek=U.default.memo(a=>{let b=(0,U.useRef)(null),c=bk(()=>{b.current&&(clearTimeout(b.current),b.current=null)},[]),{animate:d,onTransitionEnd:e,onClose:f,contextId:g}=a,[h,i]=(0,U.useState)("open"===a.animate);(0,U.useEffect)(()=>h?"open"!==d?(c(),i(!1),ei):b.current?ei:(b.current=setTimeout(()=>{b.current=null,i(!1)}),c):ei,[d,h,c]);let j=bk(a=>{"height"===a.propertyName&&(e(),"close"===d&&f())},[d,f,e]),k=(({isAnimatingOpenOnMount:a,placeholder:b,animate:c})=>{let d=(({isAnimatingOpenOnMount:a,placeholder:b,animate:c})=>a||"close"===c?ej:{height:b.client.borderBox.height,width:b.client.borderBox.width,margin:b.client.margin})({isAnimatingOpenOnMount:a,placeholder:b,animate:c});return{display:b.display,boxSizing:"border-box",width:d.width,height:d.height,marginTop:d.margin.top,marginRight:d.margin.right,marginBottom:d.margin.bottom,marginLeft:d.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:"none"!==c?cL.placeholder:null}})({isAnimatingOpenOnMount:h,animate:a.animate,placeholder:a.placeholder});return U.default.createElement(a.placeholder.tagName,{style:k,"data-rfd-placeholder-context-id":g,onTransitionEnd:j,ref:a.innerRef})});function el(a){return"boolean"==typeof a}function em(a,b){b.forEach(b=>b(a))}let en=[function({props:a}){a.droppableId||a9(),"string"!=typeof a.droppableId&&a9()},function({props:a}){el(a.isDropDisabled)||a9(),el(a.isCombineEnabled)||a9(),el(a.ignoreContainerClipping)||a9()},function({getDroppableRef:a}){dZ(a())}],eo=[function({props:a,getPlaceholderRef:b}){if(!a.placeholder||b())return}],ep=[function({props:a}){a.renderClone||a9()},function({getPlaceholderRef:a}){a()&&a9()}];class eq extends U.default.PureComponent{constructor(...a){super(...a),this.state={isVisible:!!this.props.on,data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?"open":"none"},this.onClose=()=>{"close"===this.state.animate&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(a,b){return a.shouldAnimate?a.on?{isVisible:!0,data:a.on,animate:"open"}:b.isVisible?{isVisible:!0,data:b.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:!!a.on,data:a.on,animate:"none"}}render(){if(!this.state.isVisible)return null;let a={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(a)}}let er={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:function(){return document.body||a9(),document.body}},es=a=>{let b,c={...a};for(b in er)void 0===a[b]&&(c={...c,[b]:er[b]});return c},et=(a,b)=>b.draggables[a.draggable.id],eu=aQ(()=>{let a={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},b={...a,shouldAnimatePlaceholder:!1},c=by(a=>({draggableId:a.id,type:a.type,source:{index:a.index,droppableId:a.droppableId}})),d=by((d,e,f,g,h,i)=>{let j=h.descriptor.id;if(h.descriptor.droppableId===d){let a=i?{render:i,dragging:c(h.descriptor)}:null;return{placeholder:h.placeholder,shouldAnimatePlaceholder:!1,snapshot:{isDraggingOver:f,draggingOverWith:f?j:null,draggingFromThisWith:j,isUsingPlaceholder:!0},useClone:a}}return e?g?{placeholder:h.placeholder,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:f,draggingOverWith:j,draggingFromThisWith:null,isUsingPlaceholder:!0},useClone:null}:a:b});return(c,e)=>{let f=es(e),g=f.droppableId,h=f.type,i=!f.isDropDisabled,j=f.renderClone;if(dH(c)){let a=c.critical;if(h!==a.droppable.type)return b;let e=et(a,c.dimensions),f=b9(c.impact)===g;return d(g,i,f,f,e,j)}if("DROP_ANIMATING"===c.phase){let a=c.completed;if(h!==a.critical.droppable.type)return b;let e=et(a.critical,c.dimensions);return d(g,i,d1(a.result)===g,b9(a.impact)===g,e,j)}if("IDLE"===c.phase&&c.completed&&!c.shouldFlush){let d=c.completed;if(h!==d.critical.droppable.type)return b;let e=b9(d.impact)===g,f=!!(d.impact.at&&"COMBINE"===d.impact.at.type),i=d.critical.droppable.id===g;if(e)return f?a:b;if(i)return a}return b}},{updateViewportMaxScroll:a=>({type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:a})},(a,b,c)=>({...es(c),...a,...b}),{context:dw,areStatePropsEqual:d0})(a=>{var b;let c=(0,U.useContext)(dB);c||a9();let{contextId:d,isMovementAllowed:e}=c,f=(0,U.useRef)(null),g=(0,U.useRef)(null),{children:h,droppableId:i,type:j,mode:k,direction:l,ignoreContainerClipping:m,isDropDisabled:n,isCombineEnabled:o,snapshot:p,useClone:q,updateViewportMaxScroll:r,getContainerForClone:s}=a,t=bk(()=>f.current,[]),u=bk((a=null)=>{f.current=a},[]),v=bk(()=>g.current,[]),w=bk((a=null)=>{g.current=a},[]);b={props:a,getDroppableRef:t,getPlaceholderRef:v},dF(()=>{em(b,en),"standard"===b.props.mode&&em(b,eo),"virtual"===b.props.mode&&em(b,ep)});let x=bk(()=>{e()&&r({maxScroll:c0()})},[e,r]);!function(a){let b=(0,U.useRef)(null),c=d$(dB),d=dA("droppable"),{registry:e,marshal:f}=c,g=dG(a),h=bj(()=>({id:a.droppableId,type:a.type,mode:a.mode}),[a.droppableId,a.mode,a.type]),i=(0,U.useRef)(h),j=bj(()=>by((a,c)=>{b.current||a9(),f.updateDroppableScroll(h.id,{x:a,y:c})}),[h.id,f]),k=bk(()=>{let a=b.current;return a&&a.env.closestScrollable?ec(a.env.closestScrollable):bl},[]),l=bk(()=>{let a=k();j(a.x,a.y)},[k,j]),m=bj(()=>a2(l),[l]),n=bk(()=>{let a=b.current,c=eh(a);(a&&c||a9(),a.scrollOptions.shouldPublishImmediately)?l():m()},[m,l]),o=bk((a,d)=>{b.current&&a9();let e=g.current,f=e.getDroppableRef();f||a9();let i={closestScrollable:eb(f),isFixedOnPage:ed(f)},j={ref:f,descriptor:h,env:i,scrollOptions:d};b.current=j;let k=(({ref:a,descriptor:b,env:c,windowScroll:d,direction:e,isDropDisabled:f,isCombineEnabled:g,shouldClipSubject:h})=>{let i=c.closestScrollable,j=((a,b)=>{let c=a1(a);if(!b||a!==b)return c;let d=c.paddingBox.top-b.scrollTop,e=c.paddingBox.left-b.scrollLeft,f=d+b.scrollHeight;return aY({borderBox:aV({top:d,right:e+b.scrollWidth,bottom:f,left:e},c.border),margin:c.margin,border:c.border,padding:c.padding})})(a,i),k=a_(j,d),l=(()=>{if(!i)return null;let a=a1(i),b={scrollHeight:i.scrollHeight,scrollWidth:i.scrollWidth};return{client:a,page:a_(a,d),scroll:ec(i),scrollSize:b,shouldClipSubject:h}})();return(({descriptor:a,isEnabled:b,isCombineEnabled:c,isFixedOnPage:d,direction:e,client:f,page:g,closest:h})=>{let i=(()=>{if(!h)return null;let{scrollSize:a,client:b}=h,c=c$({scrollHeight:a.scrollHeight,scrollWidth:a.scrollWidth,height:b.paddingBox.height,width:b.paddingBox.width});return{pageMarginBox:h.page.marginBox,frameClient:b,scrollSize:a,shouldClipSubject:h.shouldClipSubject,scroll:{initial:h.scroll,current:h.scroll,max:c,diff:{value:bl,displacement:bl}}}})(),j="vertical"===e?bO:bP,k=bw({page:g,withPlaceholder:null,axis:j,frame:i});return{descriptor:a,isCombineEnabled:c,isFixedOnPage:d,axis:j,isEnabled:b,client:f,page:g,frame:i,subject:k}})({descriptor:b,isEnabled:!f,isCombineEnabled:g,isFixedOnPage:c.isFixedOnPage,direction:e,client:j,page:k,closest:l})})({ref:f,descriptor:h,env:i,windowScroll:a,direction:e.direction,isDropDisabled:e.isDropDisabled,isCombineEnabled:e.isCombineEnabled,shouldClipSubject:!e.ignoreContainerClipping}),l=i.closestScrollable;return l&&(l.setAttribute(dl.contextId,c.contextId),l.addEventListener("scroll",n,eg(j.scrollOptions))),k},[c.contextId,h,n,g]),p=bk(()=>{let a=b.current,c=eh(a);return a&&c||a9(),ec(c)},[]),q=bk(()=>{let a=b.current;a||a9();let c=eh(a);b.current=null,c&&(m.cancel(),c.removeAttribute(dl.contextId),c.removeEventListener("scroll",n,eg(a.scrollOptions)))},[n,m]),r=bk(a=>{let c=b.current;c||a9();let d=eh(c);d||a9(),d.scrollTop+=a.y,d.scrollLeft+=a.x},[]),s=bj(()=>({getDimensionAndWatchScroll:o,getScrollWhileDragging:p,dragStopped:q,scroll:r}),[q,o,p,r]),t=bj(()=>({uniqueId:d,descriptor:h,callbacks:s}),[s,h,d]);dn(()=>(i.current=t.descriptor,e.droppable.register(t),()=>{b.current&&q(),e.droppable.unregister(t)}),[s,h,q,t,f,e.droppable]),dn(()=>{b.current&&f.updateDroppableIsEnabled(i.current.id,!a.isDropDisabled)},[a.isDropDisabled,f]),dn(()=>{b.current&&f.updateDroppableIsCombineEnabled(i.current.id,a.isCombineEnabled)},[a.isCombineEnabled,f])}({droppableId:i,type:j,mode:k,direction:l,isDropDisabled:n,isCombineEnabled:o,ignoreContainerClipping:m,getDroppableRef:t});let y=bj(()=>U.default.createElement(eq,{on:a.placeholder,shouldAnimate:a.shouldAnimatePlaceholder},({onClose:a,data:b,animate:c})=>U.default.createElement(ek,{placeholder:b,onClose:a,innerRef:w,animate:c,contextId:d,onTransitionEnd:x})),[d,x,a.placeholder,a.shouldAnimatePlaceholder,w]),z=bj(()=>({innerRef:u,placeholder:y,droppableProps:{"data-rfd-droppable-id":i,"data-rfd-droppable-context-id":d}}),[d,i,y,u]),A=q?q.dragging.draggableId:null,B=bj(()=>({droppableId:i,type:j,isUsingCloneFor:A}),[i,A,j]);return U.default.createElement(dY.Provider,{value:B},h(z,p),function(){if(!q)return null;let{dragging:a,render:b}=q,c=U.default.createElement(d5,{draggableId:a.draggableId,index:a.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(c,d)=>b(c,d,a));return V.default.createPortal(c,s())}())});var ev=a.i(5151),ew=a.i(10948);let ex=(0,k.default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var ey=a.i(96221),ez=a.i(63588),eA=a.i(67453),eB=a.i(62722);function eC(a){let b=a.tabs??[];if(0===b.length||b.some(a=>"running"===a.status))return null;if(b.some(a=>"waiting"===a.status))return"waiting";let c=b.filter(a=>a.unread);return c.some(a=>"error"===a.status)?"error":c.some(a=>"success"===a.status)?"success":null}function eD(a){return null!==eC(a)}var eE=a.i(65025);let eF={backlog:"bg-muted text-muted-foreground",planning:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",coding:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-300",reviewing:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",done:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300"},eG={success:{className:"bg-unread-success",label:"Finished, not opened yet"},error:{className:"bg-unread-error",label:"Failed, not opened yet"},waiting:{className:"bg-unread-waiting",label:"Waiting for your input"}};function eH({tabs:a}){if(!a||0===a.length)return null;let b=a.some(a=>"running"===a.status),c=a.some(a=>"waiting"===a.status),d=a.some(a=>"error"===a.status),e=a.length>0&&a.every(a=>"success"===a.status);return b?(0,h.jsx)("span",{className:"inline-flex items-center gap-1 text-xs text-primary",children:(0,h.jsx)(ey.Loader2,{className:"size-3 animate-spin"})}):c?(0,h.jsx)("span",{className:"inline-flex items-center gap-1 text-xs text-warning",children:(0,h.jsx)(ez.MessageSquare,{className:"size-3"})}):d?(0,h.jsx)("span",{className:"inline-flex items-center gap-1 text-xs text-destructive",children:(0,h.jsx)(eB.XCircle,{className:"size-3"})}):e?(0,h.jsx)("span",{className:"inline-flex items-center gap-1 text-xs text-success",children:(0,h.jsx)(eA.CheckCircle2,{className:"size-3"})}):null}function eI({task:a,dragHandleProps:b,tabTodosMap:c}){let d=(0,j.useRouter)(),[e,f]=(0,i.useState)(!1),g=(0,P.getRepoColor)(a.owner,a.repo),k=a.tabs??[],l=k.some(a=>"running"===a.status),m=eC(a),n=((c?k.map(a=>c.get(a.tab_id)).find(a=>void 0!==a):void 0)??k.flatMap(a=>a.todos??[])).filter(a=>"deleted"!==a.status),o=n.filter(a=>"completed"===a.status).length,p=n.length,q=a.id.slice(0,5)+"…",r=(0,i.useCallback)(b=>{b.stopPropagation(),navigator.clipboard.writeText(a.id).then(()=>{f(!0),setTimeout(()=>f(!1),2e3)})},[a.id]);return(0,h.jsxs)("div",{...b,onClick:()=>d.push(`/tasks/${a.id}`),className:(0,H.cn)("relative rounded-lg border border-border bg-card p-3 shadow-sm transition-shadow hover:shadow-md cursor-pointer",l&&"opacity-50"),children:[m&&(0,h.jsx)("span",{role:"img","aria-label":eG[m].label,title:eG[m].label,className:(0,H.cn)("absolute left-0 top-2.5 bottom-2.5 w-[3px] rounded-r-[3px]",eG[m].className)}),(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,h.jsxs)("div",{className:"flex items-center gap-1",children:[(0,h.jsx)(eH,{tabs:a.tabs}),(0,h.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:q}),(0,h.jsx)("button",{onClick:r,className:"size-5 inline-flex items-center justify-center rounded-sm hover:bg-accent transition-colors",title:"Copy task ID",children:e?(0,h.jsx)(x.Check,{className:"size-3 text-success"}):(0,h.jsx)(ev.Copy,{className:"size-3 text-muted-foreground"})})]}),(0,h.jsx)("span",{className:(0,H.cn)("inline-flex h-5 items-center rounded-full px-2 text-[0.625rem] font-medium",eF[a.status]),children:a.status})]}),(0,h.jsx)("p",{className:"text-sm font-medium text-foreground",children:a.title}),a.description&&(0,h.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description}),p>0&&(0,h.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,h.jsx)(eE.Progress,{value:o,max:p,className:"flex-1 gap-0 [&_[data-slot=progress-track]]:h-[3px]"}),(0,h.jsxs)("span",{className:"text-[10px] text-muted-foreground tabular-nums shrink-0",children:[o,"/",p]})]}),(0,h.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,h.jsxs)("span",{className:(0,H.cn)("inline-flex h-5 items-center rounded-full px-2 text-[0.625rem] font-medium",g.bg,g.text),children:[a.owner,"/",a.repo]}),a.branch&&(0,h.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground",children:[(0,h.jsx)(ew.GitBranch,{className:"size-3"}),(0,h.jsx)("span",{className:"truncate max-w-[120px]",children:a.branch})]}),null!=a.effort&&a.effort>0&&(0,h.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground",children:[(0,h.jsx)(ex,{className:"size-3"}),a.effort,"h"]})]})]})]})}function eJ({droppableId:a,tasks:b,onReorder:c,onDragStateChange:d,tabTodosMap:e}){let f=(0,i.useCallback)(()=>{d?.(!0)},[d]),g=(0,i.useCallback)(a=>{if(d?.(!1),!a.destination)return;let{source:e,destination:f}=a;if(e.index===f.index)return;let g=[...b],[h]=g.splice(e.index,1);g.splice(f.index,0,h),c(g.map((a,b)=>({...a,order:b})))},[b,c,d]);return(0,h.jsx)(dX,{onDragStart:f,onDragEnd:g,children:(0,h.jsx)(eu,{droppableId:a,children:a=>(0,h.jsxs)("div",{ref:a.innerRef,...a.droppableProps,className:"space-y-2",children:[b.map((a,b)=>(0,h.jsx)(d6,{draggableId:a.id,index:b,children:b=>(0,h.jsx)("div",{ref:b.innerRef,...b.draggableProps,children:(0,h.jsx)(eI,{task:a,dragHandleProps:b.dragHandleProps,tabTodosMap:e})})},a.id)),a.placeholder]})})})}function eK({owner:a,repo:b,tasks:c,filters:d,onFilterChange:e,onReorder:f,onAddTask:g,onMoveToFront:i,onDragStateChange:j,tabTodosMap:k}){let l=(0,P.getRepoColor)(a,b),m=c.filter(eD).length;return(0,h.jsxs)("div",{className:"flex h-full flex-col",children:[(0,h.jsxs)("div",{className:"flex-shrink-0 flex items-center gap-2 px-4 pt-4",children:[(0,h.jsx)("span",{className:(0,H.cn)("inline-flex h-6 min-w-0 items-center rounded-full px-2.5 text-xs font-medium",l.bg,l.text),title:`${a}/${b}`,"data-repo":`${a}/${b}`,children:(0,h.jsxs)("span",{className:"truncate",children:[a,"/",b]})}),(0,h.jsx)("span",{className:"text-xs tabular-nums text-muted-foreground",children:c.length}),m>0&&(0,h.jsx)("span",{className:"inline-flex h-5 min-w-5 items-center justify-center rounded-full bg-primary px-1.5 text-[0.625rem] font-medium tabular-nums text-primary-foreground",title:`${m} unopened result${m>1?"s":""}`,children:m}),i&&(0,h.jsx)(s.Button,{variant:"ghost",size:"icon",onClick:i,className:"ml-auto size-6 flex-shrink-0 text-muted-foreground",title:"Move to front",children:(0,h.jsx)(J,{className:"size-3.5"})})]}),(0,h.jsx)("div",{className:"flex-shrink-0 px-4 pt-2",children:(0,h.jsx)(S,{repositories:[],filters:d,onFilterChange:e,onAddTask:g})}),(0,h.jsx)("div",{className:"flex-1 overflow-y-auto px-4 py-4",children:c.length>0?(0,h.jsx)(eJ,{droppableId:`planner-task-list-${a}/${b}`,tasks:c,onReorder:f,onDragStateChange:j,tabTodosMap:k}):(0,h.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"No tasks found"})})]})}let eL={statuses:[],repos:[],search:""},eM="h-full w-full flex-shrink-0 snap-start border-r border-border lg:w-[22.5rem]";function eN({repositories:a,tasksByRepo:b,filtersByRepo:c,onFilterChange:d,onReorder:e,onMoveRepositoryToFront:f,onAddTask:g,onCloneClick:j,isCloneOnboarding:k=!1,isCloneDialogOpen:l=!1,tabTodosMap:m}){let[n,o]=(0,i.useState)(!1),p=(0,i.useMemo)(()=>[...a].sort((a,b)=>a.order-b.order),[a]);return(0,h.jsxs)("div",{className:(0,H.cn)("flex flex-1 overflow-x-auto overflow-y-hidden overscroll-x-contain",!n&&"snap-x snap-mandatory"),children:[p.map((a,i)=>{var j,k;let l=(j=a.owner,k=a.repo,`${j}/${k}`);return(0,h.jsx)("div",{className:eM,children:(0,h.jsx)(eK,{owner:a.owner,repo:a.repo,tasks:b.get(l)??[],filters:c[l]??eL,onFilterChange:a=>d(l,a),onReorder:e,onAddTask:()=>g({owner:a.owner,repo:a.repo}),onMoveToFront:0===i?void 0:()=>f(a.id),onDragStateChange:o,tabTodosMap:m})},a.id)}),(0,h.jsx)("div",{className:eM,children:(0,h.jsx)(I,{onCloneClick:j,isOnboarding:k,isCloneDialogOpen:l})})]})}var eO=a.i(91399),eP=a.i(83915),eQ=a.i(88381),eR=a.i(78512),eS=a.i(6828);let eT={statuses:[],repos:[],search:""};a.s(["default",0,function(){var a;let b,c,d,e,f,g=(0,j.useRouter)(),[k,l]=(0,i.useState)([]),[m,n]=(0,i.useState)([]),[o,p]=(0,i.useState)(!1),[q,r]=(0,i.useState)(!0),[s,t]=(0,i.useState)(!1),[u,w]=(0,i.useState)(null),[x,A]=(0,i.useState)(!1),[B,C]=(0,i.useState)(()=>({})),E=(0,i.useMemo)(()=>k.filter(eD).length,[k]);(0,eR.useDocumentTitle)((b=Object.entries(B).filter(([,a])=>a.statuses.length>0||!!a.search.trim()).map(([a,b])=>{let c=[];return b.search.trim()&&c.push(`"${b.search.trim()}"`),b.statuses.length&&c.push(b.statuses.join(", ")),`${a.split("/").pop()??a}: ${c.join(" / ")}`})).length?b.join(" | "):void 0,E),(0,i.useEffect)(()=>{try{sessionStorage.setItem("tsunagi:column-filters",JSON.stringify(B))}catch{}},[B]);let G=(0,i.useCallback)((a,b)=>{C(c=>({...c,[a]:b}))},[]),H=(0,i.useMemo)(()=>{let a,b={hasRepositories:m.length>0,hasAuth:o,hasTasks:k.length>0};return a=b.hasAuth?b.hasRepositories?b.hasTasks?"complete":"task":"clone":"env",{state:b,nextStep:a}},[m,o,k]),I=(0,i.useMemo)(()=>{let a=new Map;for(let d of k){var b,c;let e=(b=d.owner,c=d.repo,`${b}/${c}`),f=B[e]??eT;if(f.statuses.length>0&&!f.statuses.includes(d.status)||f.search&&!d.title.toLowerCase().includes(f.search.toLowerCase()))continue;let g=a.get(e);g?g.push(d):a.set(e,[d])}for(let b of a.values())b.sort((a,b)=>a.order-b.order);return a},[k,B]),J=async()=>{r(!0);try{let[a,b,c]=await Promise.all([fetch((0,eO.apiUrl)("/api/tasks")).then(a=>a.json()),fetch((0,eO.apiUrl)("/api/owners")).then(a=>a.json()),fetch((0,eO.apiUrl)("/api/onboarding/status")).then(a=>a.json())]);l(a.data.tasks);let d=b.data.owners.flatMap(a=>a.repositories);n(d),p(!!c.data?.completed)}catch(a){console.error("Failed to load data:",a)}finally{r(!1)}},[K,L]=(0,i.useState)(!0);(0,i.useEffect)(()=>{K&&(J(),L(!1))},[]);let M=(0,i.useMemo)(()=>k.flatMap(a=>(a.tabs??[]).map(a=>a.tab_id)),[k]),N=function(a){let[b,c]=(0,i.useState)(new Map),d=(0,i.useRef)(null),e=(0,i.useRef)(new Set);return(0,i.useEffect)(()=>{if(!d.current){let a=(0,eP.io)((0,eO.getServerUrl)(),{transports:["polling","websocket"]});d.current=a,a.on("todos-updated",({sessionId:a,todos:b})=>{c(c=>{let d=new Map(c);return d.set(a,b),d})}),a.on("status-changed",({sessionId:a,status:b})=>{("idle"===b||"error"===b)&&c(b=>{let c=new Map(b);return c.delete(a),c})}),a.on("connect",()=>{for(let b of e.current)a.emit("join",{room:b,mode:"subscribe"})})}let b=d.current;for(let c of a){let a=`tab:${c}`;e.current.has(a)||(b.emit("join",{room:a,mode:"subscribe"}),e.current.add(a))}for(let c of e.current){let d=c.replace("tab:","");a.includes(d)||(b.emit("leave",{room:c}),e.current.delete(c))}},[a]),(0,i.useEffect)(()=>{let a=e.current;return()=>{d.current?.disconnect(),d.current=null,a.clear()}},[]),b}((0,i.useMemo)(()=>k.flatMap(a=>(a.tabs??[]).filter(a=>"running"===a.status).map(a=>a.tab_id)),[k]));a=(a,b)=>{let c="success"===b||"error"===b||"running"!==b&&"idle"!==b&&void 0;l(d=>d.map(d=>({...d,tabs:(d.tabs??[]).map(d=>d.tab_id===a?{...d,status:b,...void 0!==c&&{unread:c}}:d)})))},c=(0,i.useRef)(null),d=(0,i.useRef)(new Set),e=(0,i.useRef)(a),(0,i.useEffect)(()=>{e.current=a}),f=(0,i.useCallback)(()=>{if(!c.current){let a=(0,eP.io)((0,eO.getServerUrl)(),{transports:["polling","websocket"]});c.current=a,a.on("status-changed",({sessionId:a,status:b})=>{let c=function(a){switch(a){case"running":return"running";case"waiting":return"waiting";case"success":return"success";case"failure":case"error":return"error";case"idle":return"idle";default:return null}}(b);null!==c&&e.current(a,c)}),a.on("connect",()=>{for(let b of d.current)a.emit("join",{room:b,mode:"subscribe"})})}return c.current},[]),(0,i.useEffect)(()=>{if(0===M.length)return;let a=f();for(let b of M){let c=`tab:${b}`;d.current.has(c)||(a.emit("join",{room:c,mode:"subscribe"}),d.current.add(c))}let b=new Set(M);for(let c of d.current){let e=c.replace("tab:","");b.has(e)||(a.emit("leave",{room:c}),d.current.delete(c))}},[M,f]),(0,i.useEffect)(()=>{let a=d.current;return()=>{c.current?.disconnect(),c.current=null,a.clear()}},[]),(0,eQ.useTaskEvents)({onTaskCreated:a=>{l(b=>b.some(b=>b.id===a.id)?b:[...b,a]),eS.toaster.create({type:"success",title:"Task created",description:a.title,duration:5e3})},onTaskUpdated:a=>{l(b=>b.map(b=>b.id===a.id?a:b)),eS.toaster.create({type:"info",title:"Task updated",description:a.title,duration:5e3})},onTaskDeleted:a=>{let b=k.find(b=>b.id===a)?.title;l(b=>b.filter(b=>b.id!==a)),b&&eS.toaster.create({type:"info",title:"Task deleted",description:b,duration:5e3})}});let{isDeleting:O,deletedCount:P,errorCount:Q,totalCount:R,isCompleted:S,startBatchDelete:T,reset:U}=function(){let[a,b]=(0,i.useState)({batchId:null,totalCount:0,deletedCount:0,errorCount:0,isDeleting:!1,isCompleted:!1}),c=(0,i.useCallback)(async(a=7)=>{try{let c=await fetch((0,eO.apiUrl)("/api/tasks/batch-delete"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({daysAgo:a})});if(!c.ok)throw Error("Failed to start batch delete");let{batchId:d,totalCount:e}=(await c.json()).data;if(0===e)return{batchId:d,totalCount:e};return b({batchId:d,totalCount:e,deletedCount:e,errorCount:0,isDeleting:!1,isCompleted:!0}),{batchId:d,totalCount:e}}catch(a){throw console.error("Batch delete error:",a),a}},[]),d=(0,i.useCallback)(()=>{b({batchId:null,totalCount:0,deletedCount:0,errorCount:0,isDeleting:!1,isCompleted:!1})},[]);return{...a,startBatchDelete:c,reset:d}}();(0,i.useEffect)(()=>{(O||S)&&queueMicrotask(()=>{if(O){let a=Q>0?`${P} / ${R} (${Q} failed)`:`${P} / ${R}`;eS.toaster.update("batch-delete-progress",{type:"loading",title:"Deleting tasks...",description:a,duration:1/0})}if(S){eS.toaster.dismiss("batch-delete-progress");let a=Q>0?`Deleted ${P} tasks (${Q} failed)`:`Deleted ${P} tasks`;eS.toaster.create({type:Q>0?"warning":"success",title:a,duration:5e3}),setTimeout(()=>{U()},5e3)}})},[O,S,P,Q,R,U]);let V=(0,i.useCallback)(async a=>{l(b=>{let c=new Map(a.map(a=>[a.id,a]));return b.map(a=>c.get(a.id)??a)});try{await Promise.all(a.map((a,b)=>fetch((0,eO.apiUrl)(`/api/tasks/${a.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:b})})))}catch(a){console.error("Failed to update task order:",a)}},[]),W=(0,i.useCallback)(async a=>{let b=m.find(b=>b.id===a);if(!b)return;let c=[b,...m.filter(b=>b.id!==a).sort((a,b)=>a.order-b.order)].map((a,b)=>({...a,order:b}));n(c);try{await fetch((0,eO.apiUrl)("/api/repos/reorder"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoIds:c.map(a=>a.id)})})}catch(a){console.error("Failed to update repository order:",a)}},[m]),X=async a=>{try{let b=await fetch((0,eO.apiUrl)("/api/clone"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok){let a=await b.json().then(a=>a?.error).catch(()=>void 0);throw Error(a||`Failed to clone repository (HTTP ${b.status})`)}let c=await b.json();return n(a=>[...a,c.data.repository]),await J(),{cloneUrl:c.data.repository.cloneUrl,fallbackToSsh:!!c.data.fallbackToSsh}}catch(a){throw console.error("Failed to clone repository:",a),a}},Y=async a=>{try{let b=await T(a);if(!b||0===b.totalCount)return void eS.toaster.create({type:"info",title:"No tasks to delete",description:`No tasks completed more than ${a} days ago`,duration:3e3});eS.toaster.create({id:"batch-delete-progress",type:"loading",title:"Deleting tasks...",description:`0 / ${b.totalCount}`,duration:1/0})}catch(a){console.error("Failed to start batch delete:",a),eS.toaster.create({type:"error",title:"Failed to delete tasks",description:String(a),duration:5e3})}};return q&&0===k.length?(0,h.jsx)("div",{className:"h-screen flex items-center justify-center bg-background",children:(0,h.jsx)("div",{className:"text-center",children:(0,h.jsx)("div",{className:"text-2xl text-foreground",children:"Loading..."})})}):(0,h.jsxs)("div",{className:"h-screen flex flex-col",children:[(0,h.jsx)(v,{onSettingsClick:()=>g.push("/settings"),onReload:J,nextStep:H.nextStep}),(0,h.jsxs)("div",{className:"relative flex-1 overflow-hidden flex",children:[(0,h.jsx)(eN,{repositories:m,tasksByRepo:I,filtersByRepo:B,onFilterChange:G,onReorder:V,onMoveRepositoryToFront:W,onAddTask:w,onCloneClick:()=>t(!0),isCloneOnboarding:"clone"===H.nextStep,isCloneDialogOpen:s,tabTodosMap:N}),"env"===H.nextStep&&(0,h.jsx)(y,{hasRepositories:H.state.hasRepositories,hasEnvVars:H.state.hasAuth,hasTasks:H.state.hasTasks})]}),(0,h.jsx)(D,{isOpen:s,onClose:()=>t(!1),onClone:X,isOnboarding:"clone"===H.nextStep}),(0,h.jsx)(z.TaskDialog,{mode:"create",isOpen:null!==u,onClose:()=>w(null),repositories:m,defaultRepo:u??void 0}),(0,h.jsx)(F,{isOpen:x,onClose:()=>A(!1),onConfirm:Y})]})}],46940)}];
|
|
65
65
|
|
|
66
66
|
//# sourceMappingURL=_0g.cd6a._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[210,a=>{"use strict";let b=(0,a.i(60137).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],210)},99464,92e3,a=>{"use strict";var b=a.i(60137);let c=(0,b.default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,c],99464);let d=(0,b.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,d],92e3)},4975,48124,a=>{"use strict";var b=a.i(60137);let c=(0,b.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);a.s(["Mic",0,c],4975);let d=(0,b.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,d],48124)},82434,a=>{"use strict";let b=(0,a.i(60137).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);a.s(["Bot",0,b],82434)},36620,a=>{"use strict";let b=(0,a.i(60137).default)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["CircleHelp",0,b],36620)},92552,a=>{"use strict";var b=a.i(87924),c=a.i(760);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-lg bg-card py-4 text-xs/relaxed text-card-foreground ring-1 ring-foreground/10 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg",a),...e})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-4 group-data-[size=sm]/card:px-3",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-xs/relaxed text-muted-foreground",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-lg px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-sm font-medium",a),...d})}])},56026,19768,1464,72047,a=>{"use strict";a.s(["LLM_SYSTEM_PROMPT_STORAGE_KEY",()=>z,"VoiceInputButton",()=>B,"WHISPER_PROMPT_STORAGE_KEY",()=>y],56026);var b=a.i(87924),c=a.i(72131),d=a.i(96221),e=a.i(4975),f=a.i(48124),g=a.i(39524),h=a.i(91399),i=a.i(6828);a.s(["LOCAL_LLM_ENABLED_STORAGE_KEY",()=>s,"LocalLlmSection",()=>x],19768);var j=a.i(92e3),k=a.i(82434),l=a.i(67453),m=a.i(36620),n=a.i(92552),o=a.i(90002),p=a.i(65025),q=a.i(97463);let r="tsunagi:local-llm-enabled",s=r,t={not_running:"停止中",installing_deps:"依存関係をインストール中...",downloading_model:"モデルをダウンロード中...",starting_server:"サーバーを起動中... (モデルのロードに数十秒かかる場合があります)",running:"実行中",running_external:"実行中 (tsunagi外で起動)",error:"エラー"},u=["installing_deps","downloading_model","starting_server"],v=["running","running_external"];function w(a){let b=a/0x40000000;return b>=.1?`${b.toFixed(2)} GB`:`${(a/1048576).toFixed(0)} MB`}function x(){let[a,e]=(0,c.useState)(!1),[s,x]=(0,c.useState)(!1),[y,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(""),D=(0,c.useRef)(null),E=(0,c.useCallback)(a=>{e(a),localStorage.setItem(r,String(a))},[]),F=(0,c.useCallback)(a=>{C(a),localStorage.setItem(z,a)},[]),G=(0,c.useCallback)(async()=>{let a=await fetch((0,h.apiUrl)("/api/llm/server/status")),b=await a.json();return A(b),b},[]);(0,c.useEffect)(()=>{e("true"===localStorage.getItem(r)),C(localStorage.getItem(z)??""),G()},[G]),(0,c.useEffect)(()=>{y&&v.includes(y.step)&&!a&&(E(!0),i.toaster.create({type:"success",title:"ローカルLLMが有効化されました"}))},[y,a,E]),(0,c.useEffect)(()=>(y&&u.includes(y.step)&&!D.current&&(D.current=setInterval(()=>{G().then(a=>{!u.includes(a.step)&&D.current&&(clearInterval(D.current),D.current=null)})},1e3)),()=>{D.current&&(clearInterval(D.current),D.current=null)}),[y,G]);let H=(0,c.useCallback)(()=>{G(),x(!0)},[G]),I=(0,c.useCallback)(async()=>{try{let a=await fetch((0,h.apiUrl)("/api/llm/server/start"),{method:"POST"});if(!a.ok){let b=await a.json().catch(()=>null);throw Error(b?.error||`HTTPエラー: ${a.status}`)}A(await a.json())}catch(a){i.toaster.create({type:"error",title:"サーバーの起動に失敗しました",description:a instanceof Error?a.message:String(a)})}},[]),J=(0,c.useCallback)(async()=>{try{let a=await fetch((0,h.apiUrl)("/api/llm/server/stop"),{method:"POST"});if(!a.ok){let b=await a.json().catch(()=>null);throw Error(b?.error||`HTTPエラー: ${a.status}`)}A(await a.json())}catch(a){i.toaster.create({type:"error",title:"サーバーの停止に失敗しました",description:a instanceof Error?a.message:String(a)})}},[]),K=(0,c.useCallback)(()=>{E(!1),y&&v.includes(y.step)&&J()},[E,J,y]),L=y?.serverDir,M=y?.downloadProgress,N=M?M.downloadedBytes/M.totalBytes*100:0,O=null!==y,P=O&&v.includes(y.step);return(0,b.jsxs)(n.Card,{children:[(0,b.jsxs)(n.CardHeader,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)(n.CardTitle,{children:"ローカルLLM (実験的機能)"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:H,title:"ローカルLLMについて",children:(0,b.jsx)(m.CircleHelp,{})})]}),(0,b.jsxs)(n.CardDescription,{children:["ローカルで動作するLLM(Qwen3-30B-A3B, MoE)を利用します。",(0,b.jsx)("strong",{className:"font-medium text-foreground",children:"有効にすると、音声入力の文字起こし結果がこのLLMで自動整形されるようになります"}),"(無効時は文字起こし結果をそのまま使用)。"]})]}),(0,b.jsx)(n.CardContent,{className:"flex flex-col gap-3",children:a?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[O?P?(0,b.jsxs)("span",{className:"flex items-center gap-2 text-success",children:[(0,b.jsx)(l.CheckCircle2,{className:"size-4"}),"ローカルLLM: 有効"]}):(0,b.jsxs)("span",{className:"flex items-center gap-2 text-warning",children:[(0,b.jsx)(j.AlertCircle,{className:"size-4"}),"ローカルLLM: 有効化済み(サーバー停止中)"]}):(0,b.jsxs)("span",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(d.Loader2,{className:"size-4 animate-spin"}),"状態を確認中..."]}),y&&(0,b.jsxs)("span",{className:"text-xs/relaxed text-muted-foreground",children:["(",t[y.step],")"]}),O&&!P&&(0,b.jsxs)(g.Button,{size:"default",onClick:H,children:[(0,b.jsx)(k.Bot,{}),"サーバーを起動"]}),(0,b.jsx)(g.Button,{size:"default",variant:"outline",onClick:K,children:"無効にする"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"整形システムプロンプト (任意)"}),(0,b.jsx)(q.Textarea,{value:B,onChange:a=>F(a.target.value),placeholder:"例: 句読点の追加と誤字修正のみ行い、言い回しは変えないでください。",className:"min-h-16 text-xs"}),(0,b.jsx)("p",{className:"mt-1 text-[0.65rem] text-muted-foreground",children:"文字起こし結果をLLMで整形する際の指示です。空欄の場合は既定のプロンプト(句読点の追加・誤字修正のみを行う指示)を使用します。"})]})]}):(0,b.jsxs)(g.Button,{size:"default",onClick:H,children:[(0,b.jsx)(k.Bot,{}),"ローカルLLMを有効化する"]})}),(0,b.jsx)(o.Dialog,{open:s,onOpenChange:({open:a})=>x(a),title:"ローカルLLMについて",maxWidth:"2xl",children:(0,b.jsxs)("div",{className:"space-y-4 text-sm",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"実験的機能です"}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"音声入力の文字起こし結果を、ローカルで動作するLLM(mlx-lm / Qwen3-30B-A3B, MoE構成)で整形します。MoE構成のため実計算に使うアクティブパラメータは約3Bで、denseな同規模モデルより高速に動作します。精度・速度は環境に依存し、今後変更される可能性があります。"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"対応環境"}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"Apple Silicon Mac (M1/M2/M3/M4) のみ対応。Windows/Linuxでは利用できません。メモリ32GB以上を推奨します。"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"必要なもの(事前に手動でインストール)"}),(0,b.jsx)("ul",{className:"list-disc pl-5 text-muted-foreground",children:(0,b.jsx)("li",{children:"Python 3.9以降(Xcode Command Line Tools または Homebrew経由で入手可能)"})})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 font-medium text-foreground",children:"セットアップ・起動"}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"下のボタンから、依存関係のインストール・モデルのダウンロード・サーバー起動まで自動で行われます(初回はモデルサイズが大きく数分〜数十分かかります)。"}),y&&!L&&(0,b.jsx)("p",{className:"mt-1 text-destructive",children:"llm-serverが見つかりませんでした。インストールが壊れている可能性があります。"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 font-medium text-foreground",children:"アンインストール"}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:["ローカルLLMのためにダウンロードされるもの(Pythonの依存関係・LLMモデル、合計約17GB)は全て",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"~/.tsunagi/llm"}),"に保存されます。不要になった場合はこのディレクトリを削除するだけで、関連リソースを完全に削除できます。"]})]}),(0,b.jsxs)("div",{className:"border-t border-border pt-4",children:[(!y||"not_running"===y.step||"error"===y.step)&&(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)(g.Button,{size:"default",onClick:()=>void I(),disabled:!y,children:[y?(0,b.jsx)(k.Bot,{}):(0,b.jsx)(d.Loader2,{className:"animate-spin"}),"LLMサーバーを起動"]}),y?.step==="error"&&y.error&&(0,b.jsx)("p",{className:"text-xs/relaxed text-destructive",children:y.error})]}),y?.step==="installing_deps"&&(0,b.jsxs)(g.Button,{size:"default",disabled:!0,children:[(0,b.jsx)(d.Loader2,{className:"animate-spin"}),"依存関係をインストール中... (数分かかる場合があります)"]}),y?.step==="downloading_model"&&(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs/relaxed text-muted-foreground",children:[(0,b.jsx)(d.Loader2,{className:"size-4 animate-spin"}),"モデルをダウンロード中... (約17GB)"]}),M&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(p.Progress,{value:N}),(0,b.jsxs)("p",{className:"text-xs/relaxed text-muted-foreground",children:[w(M.downloadedBytes)," / ",w(M.totalBytes)," (",N.toFixed(0),"%) ・ ",function(a){if(null===a)return"残り時間を計算中...";if(a<60)return`残り約${a}秒`;let b=Math.floor(a/60);return`残り約${b}分${a%60}秒`}(M.etaSeconds)]})]})]}),y?.step==="starting_server"&&(0,b.jsxs)(g.Button,{size:"default",disabled:!0,children:[(0,b.jsx)(d.Loader2,{className:"animate-spin"}),"サーバーを起動中... (モデルのロードに数十秒かかる場合があります)"]}),y&&v.includes(y.step)&&(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2 text-success",children:[(0,b.jsx)(l.CheckCircle2,{className:"size-4"}),"サーバーは起動しています"]}),(0,b.jsxs)(g.Button,{size:"default",variant:"outline",onClick:()=>void J(),children:[(0,b.jsx)(f.Square,{}),"サーバーを停止"]})]})]})]})})]})}let y="tsunagi:whisper-prompt",z="tsunagi:llm-system-prompt",A=["running","running_external"];function B({onTranscribed:a}){let[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)("idle"),[n,o]=(0,c.useState)(0),[p,q]=(0,c.useState)(null),r=(0,c.useRef)(null),t=(0,c.useRef)([]),u=(0,c.useRef)(null),v=(0,c.useRef)(null),w=(0,c.useRef)(null),x=(0,c.useRef)(0),C=(0,c.useRef)(0);(0,c.useEffect)(()=>{k("true"===localStorage.getItem("tsunagi:voice-input-enabled"))},[]),(0,c.useEffect)(()=>{if(!j)return;let a=!1,b=async()=>{try{let b=await fetch((0,h.apiUrl)("/api/whisper/server/status")),c=await b.json();a||q(c.step)}catch{a||q("not_running")}};b();let c=setInterval(b,5e3);return()=>{a=!0,clearInterval(c)}},[j]);let D=(0,c.useCallback)(()=>{w.current&&(clearInterval(w.current),w.current=null),v.current?.close(),v.current=null,o(0)},[]);(0,c.useEffect)(()=>()=>{D()},[D]);let E=(0,c.useCallback)(a=>{let b=new AudioContext,c=b.createMediaStreamSource(a),d=b.createAnalyser();d.fftSize=2048,c.connect(d),v.current=b,x.current=0,C.current=0;let e=new Float32Array(d.fftSize);w.current=setInterval(()=>{d.getFloatTimeDomainData(e);let a=0;for(let b=0;b<e.length;b++)a+=e[b]*e[b];let b=Math.sqrt(a/e.length),c=Math.min(1,Math.max(0,((b>0?20*Math.log10(b):-60)- -60)/50));C.current=Math.max(C.current,c),x.current=.3*x.current+.7*c,o(x.current)},50)},[]),F=(0,c.useCallback)(async b=>{m("transcribing");try{let c=new FormData,d=localStorage.getItem(y);d&&c.append("prompt",d);let e="true"===localStorage.getItem(s);c.append("useLlm",String(e));let f=localStorage.getItem(z);f&&c.append("systemPrompt",f),c.append("file",b,"recording.webm");let g=await fetch((0,h.apiUrl)("/api/whisper/transcribe"),{method:"POST",body:c});if(!g.ok){let a=await g.json().catch(()=>null);throw Error(a?.error||`HTTPエラー: ${g.status}`)}let j=await g.json();j.warning&&i.toaster.create({type:"error",title:"LLM整形をスキップしました",description:j.warning}),j.text&&a(j.text)}catch(a){i.toaster.create({type:"error",title:"文字起こしに失敗しました",description:a instanceof Error?a.message:String(a)})}finally{m("idle")}},[a]),G=(0,c.useCallback)(async()=>{try{let a=await navigator.mediaDevices.getUserMedia({audio:!0});u.current=a,t.current=[],E(a);let b=new MediaRecorder(a,{audioBitsPerSecond:128e3});b.ondataavailable=a=>{a.data.size>0&&t.current.push(a.data)},b.onstop=()=>{u.current?.getTracks().forEach(a=>a.stop()),u.current=null;let a=C.current;if(D(),a<.15){i.toaster.create({type:"error",title:"音声が検出されませんでした",description:"マイクに向かって話してから、もう一度お試しください。"}),m("idle");return}let b=new Blob(t.current,{type:"audio/webm"});F(b)},r.current=b,b.start(),m("recording")}catch(a){i.toaster.create({type:"error",title:"マイクにアクセスできませんでした",description:a instanceof Error?a.message:String(a)})}},[F,E,D]),H=(0,c.useCallback)(()=>{r.current?.stop()},[]);if(!j)return null;let I=null!==p&&A.includes(p);return(0,b.jsxs)("div",{className:"recording"===l?"inline-flex items-center gap-2 rounded-md bg-destructive/10 p-1":"inline-flex",children:[(0,b.jsx)(g.Button,{size:"icon",variant:"recording"===l?"destructive":"default",onClick:"recording"===l?H:()=>void G(),disabled:"transcribing"===l||"idle"===l&&!I,title:"recording"===l?"停止して入力":"idle"!==l||I?"音声入力":"Whisperサーバーが起動していません(Settingsから起動してください)",children:"transcribing"===l?(0,b.jsx)(d.Loader2,{className:"w-4 h-4 animate-spin"}):"recording"===l?(0,b.jsx)(f.Square,{className:"w-4 h-4"}):(0,b.jsx)(e.Mic,{className:"w-4 h-4"})}),"recording"===l&&(0,b.jsx)("div",{"aria-hidden":!0,className:"h-1.5 w-16 overflow-hidden rounded-full bg-background/60",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-destructive",style:{width:`${Math.round(100*n)}%`}})})]})}a.s(["ClaudeIcon",0,function(a){return(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...a,children:(0,b.jsx)("path",{d:"m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"})})},"OllamaIcon",0,function(a){return(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...a,children:(0,b.jsx)("path",{d:"M16.361 10.26a.894.894 0 0 0-.558.47l-.072.148.001.207c0 .193.004.217.059.353.076.193.152.312.291.448.24.238.51.3.872.205a.86.86 0 0 0 .517-.436.752.752 0 0 0 .08-.498c-.064-.453-.33-.782-.724-.897a1.06 1.06 0 0 0-.466 0zm-9.203.005c-.305.096-.533.32-.65.639a1.187 1.187 0 0 0-.06.52c.057.309.31.59.598.667.362.095.632.033.872-.205.14-.136.215-.255.291-.448.055-.136.059-.16.059-.353l.001-.207-.072-.148a.894.894 0 0 0-.565-.472 1.02 1.02 0 0 0-.474.007Zm4.184 2c-.131.071-.223.25-.195.383.031.143.157.288.353.407.105.063.112.072.117.136.004.038-.01.146-.029.243-.02.094-.036.194-.036.222.002.074.07.195.143.253.064.052.076.054.255.059.164.005.198.001.264-.03.169-.082.212-.234.15-.525-.052-.243-.042-.28.087-.355.137-.08.281-.219.324-.314a.365.365 0 0 0-.175-.48.394.394 0 0 0-.181-.033c-.126 0-.207.03-.355.124l-.085.053-.053-.032c-.219-.13-.259-.145-.391-.143a.396.396 0 0 0-.193.032zm.39-2.195c-.373.036-.475.05-.654.086-.291.06-.68.195-.951.328-.94.46-1.589 1.226-1.787 2.114-.04.176-.045.234-.045.53 0 .294.005.357.043.524.264 1.16 1.332 2.017 2.714 2.173.3.033 1.596.033 1.896 0 1.11-.125 2.064-.727 2.493-1.571.114-.226.169-.372.22-.602.039-.167.044-.23.044-.523 0-.297-.005-.355-.045-.531-.288-1.29-1.539-2.304-3.072-2.497a6.873 6.873 0 0 0-.855-.031zm.645.937a3.283 3.283 0 0 1 1.44.514c.223.148.537.458.671.662.166.251.26.508.303.82.02.143.01.251-.043.482-.08.345-.332.705-.672.957a3.115 3.115 0 0 1-.689.348c-.382.122-.632.144-1.525.138-.582-.006-.686-.01-.853-.042-.57-.107-1.022-.334-1.35-.68-.264-.28-.385-.535-.45-.946-.03-.192.025-.509.137-.776.136-.326.488-.73.836-.963.403-.269.934-.46 1.422-.512.187-.02.586-.02.773-.002zm-5.503-11a1.653 1.653 0 0 0-.683.298C5.617.74 5.173 1.666 4.985 2.819c-.07.436-.119 1.04-.119 1.503 0 .544.064 1.24.155 1.721.02.107.031.202.023.208a8.12 8.12 0 0 1-.187.152 5.324 5.324 0 0 0-.949 1.02 5.49 5.49 0 0 0-.94 2.339 6.625 6.625 0 0 0-.023 1.357c.091.78.325 1.438.727 2.04l.13.195-.037.064c-.269.452-.498 1.105-.605 1.732-.084.496-.095.629-.095 1.294 0 .67.009.803.088 1.266.095.555.288 1.143.503 1.534.071.128.243.393.264.407.007.003-.014.067-.046.141a7.405 7.405 0 0 0-.548 1.873c-.062.417-.071.552-.071.991 0 .56.031.832.148 1.279L3.42 24h1.478l-.05-.091c-.297-.552-.325-1.575-.068-2.597.117-.472.25-.819.498-1.296l.148-.29v-.177c0-.165-.003-.184-.057-.293a.915.915 0 0 0-.194-.25 1.74 1.74 0 0 1-.385-.543c-.424-.92-.506-2.286-.208-3.451.124-.486.329-.918.544-1.154a.787.787 0 0 0 .223-.531c0-.195-.07-.355-.224-.522a3.136 3.136 0 0 1-.817-1.729c-.14-.96.114-2.005.69-2.834.563-.814 1.353-1.336 2.237-1.475.199-.033.57-.028.776.01.226.04.367.028.512-.041.179-.085.268-.19.374-.431.093-.215.165-.333.36-.576.234-.29.46-.489.822-.729.413-.27.884-.467 1.352-.561.17-.035.25-.04.569-.04.319 0 .398.005.569.04a4.07 4.07 0 0 1 1.914.997c.117.109.398.457.488.602.034.057.095.177.132.267.105.241.195.346.374.43.14.068.286.082.503.045.343-.058.607-.053.943.016 1.144.23 2.14 1.173 2.581 2.437.385 1.108.276 2.267-.296 3.153-.097.15-.193.27-.333.419-.301.322-.301.722-.001 1.053.493.539.801 1.866.708 3.036-.062.772-.26 1.463-.533 1.854a2.096 2.096 0 0 1-.224.258.916.916 0 0 0-.194.25c-.054.109-.057.128-.057.293v.178l.148.29c.248.476.38.823.498 1.295.253 1.008.231 2.01-.059 2.581a.845.845 0 0 0-.044.098c0 .006.329.009.732.009h.73l.02-.074.036-.134c.019-.076.057-.3.088-.516.029-.217.029-1.016 0-1.258-.11-.875-.295-1.57-.597-2.226-.032-.074-.053-.138-.046-.141.008-.005.057-.074.108-.152.376-.569.607-1.284.724-2.228.031-.26.031-1.378 0-1.628-.083-.645-.182-1.082-.348-1.525a6.083 6.083 0 0 0-.329-.7l-.038-.064.131-.194c.402-.604.636-1.262.727-2.04a6.625 6.625 0 0 0-.024-1.358 5.512 5.512 0 0 0-.939-2.339 5.325 5.325 0 0 0-.95-1.02 8.097 8.097 0 0 1-.186-.152.692.692 0 0 1 .023-.208c.208-1.087.201-2.443-.017-3.503-.19-.924-.535-1.658-.98-2.082-.354-.338-.716-.482-1.15-.455-.996.059-1.8 1.205-2.116 3.01a6.805 6.805 0 0 0-.097.726c0 .036-.007.066-.015.066a.96.96 0 0 1-.149-.078A4.857 4.857 0 0 0 12 3.03c-.832 0-1.687.243-2.456.698a.958.958 0 0 1-.148.078c-.008 0-.015-.03-.015-.066a6.71 6.71 0 0 0-.097-.725C8.997 1.392 8.337.319 7.46.048a2.096 2.096 0 0 0-.585-.041Zm.293 1.402c.248.197.523.759.682 1.388.03.113.06.244.069.292.007.047.026.152.041.233.067.365.098.76.102 1.24l.002.475-.12.175-.118.178h-.278c-.324 0-.646.041-.954.124l-.238.06c-.033.007-.038-.003-.057-.144a8.438 8.438 0 0 1 .016-2.323c.124-.788.413-1.501.696-1.711.067-.05.079-.049.157.013zm9.825-.012c.17.126.358.46.498.888.28.854.36 2.028.212 3.145-.019.14-.024.151-.057.144l-.238-.06a3.693 3.693 0 0 0-.954-.124h-.278l-.119-.178-.119-.175.002-.474c.004-.669.066-1.19.214-1.772.157-.623.434-1.185.68-1.382.078-.062.09-.063.159-.012z"})})}],1464),a.s(["useOllamaSettings",0,function(){let[a,b]=(0,c.useState)(null),d=(0,c.useCallback)(async()=>{try{let a=await fetch((0,h.apiUrl)("/api/settings/ollama"));if(!a.ok)throw Error(`HTTP ${a.status}`);let c=await a.json();b(c.data)}catch(a){console.error("Failed to fetch ollama settings:",a),b(null)}},[]);return(0,c.useEffect)(()=>{d()},[d]),{settings:a,setSettings:b,reload:d}}],72047)},11989,a=>{"use strict";let b=(0,a.i(60137).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0hh~0f6._.js.map
|