@minimalcorp/tsunagi 0.3.3 → 0.4.0
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/_05n88to._.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/{_0kflgfj._.js → _0pw3_r_._.js} +3 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{_0g79jqo._.js → _0rb6-mo._.js} +3 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0ts4rpp._.js +3 -0
- package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_settings_page_tsx_0i6itlb._.js +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_tasks_[id]_page_tsx_0jshsm2._.js +3 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_04pfam-._.js → node_modules_03-rvdo._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0cv326~._.js → node_modules_06jdmu~._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0a57phw._.js → node_modules_0925te2._.js} +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0_huoqd._.js → node_modules_0e8uni7._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0tod6y8._.js → node_modules_0h4h_aw._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0h.vgyn._.js → node_modules_0nzbb9~._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0oip5a1._.js → node_modules_0q8yuvq._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_11-z65a._.js → node_modules_0r6t2tu._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_09d2oqj._.js → node_modules_0t6ysh_._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0krwgny._.js → node_modules_0vj~e_v._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0sn0lqb._.js → node_modules_0vq~hzy._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0l23gkf._.js → node_modules_0xzmx-x._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0npujym._.js → node_modules_0yb2sh9._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0q_5qo~._.js → node_modules_0yc~s8p._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0q_xfyl._.js → node_modules_0zi-gfw._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0ak_3rk._.js → node_modules_0zzdoud._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0xp9nhx._.js → node_modules_0~aiu12._.js} +1 -1
- 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/09b_3duxnyfto.js +7 -0
- package/.next/standalone/apps/web/.next/static/chunks/{0z60ewb40i2ce.js → 0gxhy80~c0gvp.js} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/0i9h-39w91ybd.js +6 -0
- package/.next/standalone/apps/web/.next/static/chunks/{0b90ys7wq-p.4.css → 0pm0knaijueoc.css} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{0oricprxoxb_d.js → 0smdykrt42e.5.js} +10 -10
- package/.next/standalone/apps/web/.next/static/chunks/{149sia28cskw9.js → 0yp~t_.pozr-d.js} +6 -6
- package/.next/standalone/apps/web/.next/static/chunks/{0o6ggm7jrim25.js → 14zh2vf8ljbxo.js} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{053h220fng_68.js → 1624992q-gpj2.js} +10 -10
- package/.next/standalone/apps/web/package.json +1 -0
- package/README.md +1 -1
- package/dist/app.js +3 -3
- package/dist/plugin-lifecycle.d.ts +5 -3
- package/dist/plugin-lifecycle.js +40 -16
- package/dist/prisma/migrations/20261011000000_add_codex_support/migration.sql +20 -0
- package/dist/prisma/schema.prisma +9 -5
- package/dist/server/generated/prisma/browser.d.ts +2 -2
- package/dist/server/generated/prisma/client.d.ts +2 -2
- package/dist/server/generated/prisma/internal/class.d.ts +4 -4
- package/dist/server/generated/prisma/internal/class.js +4 -4
- package/dist/server/generated/prisma/internal/prismaNamespace.d.ts +41 -39
- package/dist/server/generated/prisma/internal/prismaNamespace.js +4 -2
- package/dist/server/generated/prisma/internal/prismaNamespaceBrowser.d.ts +5 -3
- package/dist/server/generated/prisma/internal/prismaNamespaceBrowser.js +4 -2
- package/dist/server/generated/prisma/models/AgentProfile.d.ts +972 -0
- package/dist/server/generated/prisma/models/Tab.d.ts +36 -1
- package/dist/server/generated/prisma/models.d.ts +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/lib/agent-profiles.d.ts +43 -0
- package/dist/server/lib/agent-profiles.js +127 -0
- package/dist/server/lib/agents/claude.d.ts +2 -0
- package/dist/server/lib/agents/claude.js +130 -0
- package/dist/server/lib/agents/cli.d.ts +14 -0
- package/dist/server/lib/agents/cli.js +57 -0
- package/dist/server/lib/agents/codex.d.ts +2 -0
- package/dist/server/lib/agents/codex.js +285 -0
- package/dist/server/lib/agents/index.d.ts +11 -0
- package/dist/server/lib/agents/index.js +19 -0
- package/dist/server/lib/agents/login-callback.d.ts +11 -0
- package/dist/server/lib/agents/login-callback.js +47 -0
- package/dist/server/lib/agents/types.d.ts +77 -0
- package/dist/server/lib/agents/types.js +8 -0
- package/dist/server/lib/pty-env-sync.js +1 -1
- package/dist/server/lib/pty-launch.d.ts +8 -10
- package/dist/server/lib/pty-launch.js +20 -58
- package/dist/server/lib/repositories/task.js +1 -0
- package/dist/server/lib/tab-todos.d.ts +5 -0
- package/dist/server/lib/tab-todos.js +13 -0
- package/dist/server/pty-manager.d.ts +7 -2
- package/dist/server/pty-manager.js +13 -0
- package/dist/server/routes/agent-profiles.d.ts +2 -0
- package/dist/server/routes/agent-profiles.js +193 -0
- package/dist/server/routes/env.js +2 -2
- package/dist/server/routes/hooks.d.ts +4 -19
- package/dist/server/routes/hooks.js +83 -73
- package/dist/server/routes/mcp.js +2 -2
- package/dist/server/routes/onboarding.js +19 -10
- package/dist/server/routes/tasks.js +4 -4
- package/dist/server/routes/terminal.js +47 -34
- package/dist/with-plugin.js +3 -3
- package/npm-shrinkwrap.json +12 -12
- package/package.json +1 -1
- package/tsunagi-marketplace/codex/tsunagi-task.md +120 -0
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0hnxatt._.js +0 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_10gk93.._.js +0 -3
- package/.next/standalone/apps/web/.next/static/chunks/0crn03y2tj0lu.js +0 -6
- package/.next/standalone/apps/web/.next/static/chunks/0lvl3ec93cab_.js +0 -7
- package/dist/server/generated/prisma/models/ClaudeProfile.d.ts +0 -939
- package/dist/server/lib/claude-profiles.d.ts +0 -49
- package/dist/server/lib/claude-profiles.js +0 -168
- package/dist/server/routes/claude-profiles.d.ts +0 -2
- package/dist/server/routes/claude-profiles.js +0 -138
- /package/.next/standalone/apps/web/.next/static/{7x81GlNKt9yqIkeI7U1BX → ZcOuTrikuO_ZLaERk7FsW}/_buildManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{7x81GlNKt9yqIkeI7U1BX → ZcOuTrikuO_ZLaERk7FsW}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{7x81GlNKt9yqIkeI7U1BX → ZcOuTrikuO_ZLaERk7FsW}/_ssgManifest.js +0 -0
- /package/dist/server/generated/prisma/models/{ClaudeProfile.js → AgentProfile.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41241,19556,9752,20486,t=>{"use strict";var e=t.i(49915),a=(0,t.i(65485).default)(Object.keys,Object),s=Object.prototype.hasOwnProperty;let r=function(t){if(!(0,e.default)(t))return a(t);var r=[];for(var n in Object(t))s.call(t,n)&&"constructor"!=n&&r.push(n);return r};t.s(["default",0,r],19556);var n=t.i(47244),i=t.i(56176),l=(0,n.default)(i.default,"DataView"),c=t.i(44483),u=(0,n.default)(i.default,"Promise"),o=(0,n.default)(i.default,"Set");t.s(["default",0,o],9752);var d=(0,n.default)(i.default,"WeakMap"),h=t.i(35287),k=t.i(66762),f="[object Map]",m="[object Promise]",p="[object Set]",g="[object WeakMap]",b="[object DataView]",j=(0,k.default)(l),v=(0,k.default)(c.default),y=(0,k.default)(u),x=(0,k.default)(o),w=(0,k.default)(d),P=h.default;(l&&P(new l(new ArrayBuffer(1)))!=b||c.default&&P(new c.default)!=f||u&&P(u.resolve())!=m||o&&P(new o)!=p||d&&P(new d)!=g)&&(P=function(t){var e=(0,h.default)(t),a="[object Object]"==e?t.constructor:void 0,s=a?(0,k.default)(a):"";if(s)switch(s){case j:return b;case v:return f;case y:return m;case x:return p;case w:return g}return e});let q=P;t.s(["default",0,q],20486);var _=t.i(15300),T=t.i(44071),E=t.i(41338),z=t.i(3745),C=t.i(1645),S=Object.prototype.hasOwnProperty;t.s(["default",0,function(t){if(null==t)return!0;if((0,E.default)(t)&&((0,T.default)(t)||"string"==typeof t||"function"==typeof t.splice||(0,z.default)(t)||(0,C.default)(t)||(0,_.default)(t)))return!t.length;var a=q(t);if("[object Map]"==a||"[object Set]"==a)return!t.size;if((0,e.default)(t))return!r(t).length;for(var s in t)if(S.call(t,s))return!1;return!0}],41241)},44917,t=>{"use strict";var e=t.i(96977),a=t.i(71206);t.i(47716);var s=t.i(23685),r=(0,a.__name)(t=>{let{securityLevel:a}=(0,e.getConfig2)(),r=(0,s.select)("body");if("sandbox"===a){let e=(0,s.select)(`#i${t}`),a=e.node()?.contentDocument??document;r=(0,s.select)(a.body)}return r.select(`#${t}`)},"selectSvgElement");t.s(["selectSvgElement",0,r])},3262,t=>{"use strict";var e=t.i(31360),a=t.i(60884),s=t.i(29432),r=t.i(96977),n=t.i(71206),i={common:r.common_default,getConfig:r.getConfig,insertCluster:a.insertCluster,insertEdge:e.insertEdge,insertEdgeLabel:e.insertEdgeLabel,insertMarkers:e.markers_default,insertNode:a.insertNode,interpolateToCurve:s.interpolateToCurve,labelHelper:a.labelHelper,log:n.log,positionEdgeLabel:e.positionEdgeLabel},l={},c=(0,n.__name)(t=>{for(let e of t)l[e.name]=e},"registerLayoutLoaders");(0,n.__name)(()=>{c([{name:"dagre",loader:(0,n.__name)(async()=>await t.A(92568),"loader")},{name:"cose-bilkent",loader:(0,n.__name)(async()=>await t.A(62369),"loader")}])},"registerDefaultLayoutLoaders")();var u=(0,n.__name)(async(t,e)=>{if(!(t.layoutAlgorithm in l))throw Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(let e of t.nodes){let a=e.domId||e.id;e.domId=`${t.diagramId}-${a}`}let a=l[t.layoutAlgorithm],s=await a.loader(),{theme:r,themeVariables:n}=t.config,{useGradient:c,gradientStart:u,gradientStop:o}=n,d=e.attr("id");if(e.append("defs").append("filter").attr("id",`${d}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${d}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r?.includes("dark")?"#FFFFFF":"#000000"}`),c){let t=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("svg:stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),t.append("svg:stop").attr("offset","100%").attr("stop-color",o).attr("stop-opacity",1)}return s.render(t,e,i,{algorithm:a.algorithm})},"render"),o=(0,n.__name)((t="",{fallback:e="dagre"}={})=>{if(t in l)return t;if(e in l)return n.log.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm");t.s(["getRegisteredLayoutAlgorithm",0,o,"registerLayoutLoaders",0,c,"render",0,u])},50160,t=>{t.q("/_next/static/media/icon.0fkix7.hkmsz4.png")},7233,5352,t=>{"use strict";let e=(0,t.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);t.s(["Plus",0,e],7233);let a=[{bg:"bg-blue-100 dark:bg-blue-900/30",text:"text-blue-700 dark:text-blue-300"},{bg:"bg-emerald-100 dark:bg-emerald-900/30",text:"text-emerald-700 dark:text-emerald-300"},{bg:"bg-violet-100 dark:bg-violet-900/30",text:"text-violet-700 dark:text-violet-300"},{bg:"bg-amber-100 dark:bg-amber-900/30",text:"text-amber-700 dark:text-amber-300"},{bg:"bg-rose-100 dark:bg-rose-900/30",text:"text-rose-700 dark:text-rose-300"},{bg:"bg-cyan-100 dark:bg-cyan-900/30",text:"text-cyan-700 dark:text-cyan-300"},{bg:"bg-orange-100 dark:bg-orange-900/30",text:"text-orange-700 dark:text-orange-300"},{bg:"bg-teal-100 dark:bg-teal-900/30",text:"text-teal-700 dark:text-teal-300"},{bg:"bg-indigo-100 dark:bg-indigo-900/30",text:"text-indigo-700 dark:text-indigo-300"},{bg:"bg-pink-100 dark:bg-pink-900/30",text:"text-pink-700 dark:text-pink-300"},{bg:"bg-lime-100 dark:bg-lime-900/30",text:"text-lime-700 dark:text-lime-300"},{bg:"bg-fuchsia-100 dark:bg-fuchsia-900/30",text:"text-fuchsia-700 dark:text-fuchsia-300"}];t.s(["getRepoColor",0,function(t,e){let s=function(t){let e=5381;for(let a=0;a<t.length;a++)e=33*e^t.charCodeAt(a);return e>>>0}(`${t}/${e}`)%a.length;return a[s]}],5352)},55716,t=>{"use strict";let e=(0,t.i(75254).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);t.s(["GitBranch",0,e],55716)},18566,(t,e,a)=>{e.exports=t.r(76562)},31278,t=>{"use strict";var e=t.i(17521);t.s(["Loader2",()=>e.default])},95468,t=>{"use strict";var e=t.i(23287);t.s(["CheckCircle2",()=>e.default])},86311,t=>{"use strict";let e=(0,t.i(75254).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);t.s(["MessageSquare",0,e],86311)},73884,t=>{"use strict";let e=(0,t.i(75254).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);t.s(["XCircle",0,e],73884)},2576,t=>{"use strict";var e=t.i(71645),a=t.i(96085),s=t.i(70935);t.s(["useTaskEvents",0,function(t){let r=(0,e.useRef)(null),n=(0,e.useRef)(t);(0,e.useLayoutEffect)(()=>{n.current=t}),(0,e.useEffect)(()=>{let t=(0,a.io)((0,s.getServerUrl)(),{transports:["polling","websocket"]});return r.current=t,t.on("task:created",({task:t,warnings:e})=>{n.current.onTaskCreated(t,e??[])}),t.on("task:updated",({task:t})=>{n.current.onTaskUpdated(t)}),t.on("task:deleted",({taskId:t})=>{n.current.onTaskDeleted(t)}),t.on("task:tabs-changed",({task:t})=>{n.current.onTaskTabsChanged?.(t)}),()=>{t.disconnect(),r.current=null}},[])}])},71698,t=>{"use strict";var e=t.i(71645),a=t.i(96085),s=t.i(70935);t.s(["useTabStatusEvents",0,function(t,r){let n=(0,e.useRef)(null),i=(0,e.useRef)(new Set),l=(0,e.useRef)(r);(0,e.useEffect)(()=>{l.current=r});let c=(0,e.useCallback)(()=>{if(!n.current){let t=(0,a.io)((0,s.getServerUrl)(),{transports:["polling","websocket"]});n.current=t,t.on("status-changed",({sessionId:t,status:e})=>{let a=function(t){switch(t){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}}(e);null!==a&&l.current(t,a)}),t.on("connect",()=>{for(let e of i.current)t.emit("join",{room:e,mode:"subscribe"})})}return n.current},[]);(0,e.useEffect)(()=>{if(0===t.length)return;let e=c();for(let a of t){let t=`tab:${a}`;i.current.has(t)||(e.emit("join",{room:t,mode:"subscribe"}),i.current.add(t))}let a=new Set(t);for(let t of i.current){let s=t.replace("tab:","");a.has(s)||(e.emit("leave",{room:t}),i.current.delete(t))}},[t,c]),(0,e.useEffect)(()=>{let t=i.current;return()=>{n.current?.disconnect(),n.current=null,t.clear()}},[])}])},53134,801,t=>{"use strict";function e(t){return"success"===t||"error"===t||"running"!==t&&"idle"!==t&&void 0}function a(t){let e=t.tabs??[];if(0===e.length||e.some(t=>"running"===t.status))return null;if(e.some(t=>"waiting"===t.status))return"waiting";let a=e.filter(t=>t.unread);return a.some(t=>"error"===t.status)?"error":a.some(t=>"success"===t.status)?"success":null}t.s(["activityKind",0,function(t){return(t.tabs??[]).some(t=>"running"===t.status)?"running":a(t)},"hasUnreadResult",0,function(t){return null!==a(t)},"unreadForStatus",0,e,"unreadKind",0,a],53134);var s=t.i(71645),r=t.i(70935),n=t.i(2576),i=t.i(71698);t.s(["useLiveTasks",0,function(t={}){let[a,l]=(0,s.useState)([]),[c,u]=(0,s.useState)(!0),o=(0,s.useRef)(t),d=(0,s.useRef)(a);(0,s.useEffect)(()=>{o.current=t,d.current=a});let h=(0,s.useCallback)(async()=>{u(!0);try{let t=await fetch((0,r.apiUrl)("/api/tasks"));if(!t.ok)throw Error("Failed to fetch tasks");let e=await t.json();l(e.data.tasks)}catch(t){console.error("Failed to load tasks:",t)}finally{u(!1)}},[]);(0,s.useEffect)(()=>{h()},[h]);let k=(0,s.useMemo)(()=>a.flatMap(t=>(t.tabs??[]).map(t=>t.tab_id)),[a]);return(0,i.useTabStatusEvents)(k,(t,a)=>{let s=e(a);l(e=>e.map(e=>({...e,tabs:(e.tabs??[]).map(e=>e.tab_id===t?{...e,status:a,...void 0!==s&&{unread:s}}:e)})))}),(0,n.useTaskEvents)({onTaskCreated:(t,e)=>{l(e=>e.some(e=>e.id===t.id)?e:[...e,t]),o.current.onTaskCreated?.(t,e)},onTaskUpdated:t=>{l(e=>e.map(e=>e.id===t.id?t:e)),o.current.onTaskUpdated?.(t)},onTaskDeleted:t=>{let e=d.current.find(e=>e.id===t);l(e=>e.filter(e=>e.id!==t)),o.current.onTaskDeleted?.(t,e)},onTaskTabsChanged:t=>{l(e=>e.map(e=>e.id===t.id?t:e))}}),{tasks:a,setTasks:l,isLoading:c,reload:h}}],801)},39484,t=>{t.v(e=>Promise.all(["static/chunks/002jt~~cq5_aa.js"].map(e=>t.l(e))).then(()=>e(16400)))},92568,t=>{t.v(e=>Promise.all(["static/chunks/0bew-tpzkv4a6.js","static/chunks/0hc31lz26e0bj.js","static/chunks/156lsa3n_7-g1.js"].map(e=>t.l(e))).then(()=>e(68053)))},62369,t=>{t.v(e=>Promise.all(["static/chunks/0t-ecot2ot8jq.js","static/chunks/0s2ei~z99yg.7.js"].map(e=>t.l(e))).then(()=>e(97810)))},78997,t=>{t.v(e=>Promise.all(["static/chunks/0w4h2u4jedq4..js","static/chunks/0v8zy131j2_sl.js"].map(e=>t.l(e))).then(()=>e(77010)))},28146,t=>{t.v(e=>Promise.all(["static/chunks/179i-blt6kp34.js","static/chunks/004q74ucr0rud.js"].map(e=>t.l(e))).then(()=>e(26067)))},80472,t=>{t.v(e=>Promise.all(["static/chunks/0-whcx~709zzu.js"].map(e=>t.l(e))).then(()=>e(50032)))},83305,t=>{t.v(e=>Promise.all(["static/chunks/00h5q76-kypod.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/0g7ov558axacn.js"].map(e=>t.l(e))).then(()=>e(8709)))},34606,t=>{t.v(e=>Promise.all(["static/chunks/0t-7~zw5_oj33.js","static/chunks/0t1nhjmm.2-8-.js"].map(e=>t.l(e))).then(()=>e(13976)))},23526,t=>{t.v(e=>Promise.all(["static/chunks/0zz1c.5ttlw75.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(60498)))},3931,t=>{t.v(e=>Promise.all(["static/chunks/0egss2l0vp3iv.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(79567)))},67051,t=>{t.v(e=>Promise.all(["static/chunks/0v~puv980n2mn.js"].map(e=>t.l(e))).then(()=>e(51778)))},36080,t=>{t.v(e=>Promise.all(["static/chunks/0_u58hj44ucg2.js","static/chunks/0coux02phyasu.js"].map(e=>t.l(e))).then(()=>e(79003)))},3156,t=>{t.v(e=>Promise.all(["static/chunks/0~fjlnit~fkey.js"].map(e=>t.l(e))).then(()=>e(91739)))},71209,t=>{t.v(e=>Promise.all(["static/chunks/0njmix7y_6miv.js","static/chunks/0z9df3ijvbr8h.js"].map(e=>t.l(e))).then(()=>e(94614)))},78922,t=>{t.v(e=>Promise.all(["static/chunks/0nt-wtu-~b7hv.js","static/chunks/0nwbvs~t8m~k6.js"].map(e=>t.l(e))).then(()=>e(99223)))},10404,t=>{t.v(e=>Promise.all(["static/chunks/0puq-xa16mucw.js","static/chunks/0nwbvs~t8m~k6.js"].map(e=>t.l(e))).then(()=>e(25730)))},81283,t=>{t.v(e=>Promise.all(["static/chunks/0bew-tpzkv4a6.js","static/chunks/104dsd7mk1jyt.js","static/chunks/0.fiftciismd2.js","static/chunks/0hc31lz26e0bj.js"].map(e=>t.l(e))).then(()=>e(24924)))},41605,t=>{t.v(e=>Promise.all(["static/chunks/0vj43fihkfmqz.js","static/chunks/0.fiftciismd2.js"].map(e=>t.l(e))).then(()=>e(32579)))},78877,t=>{t.v(e=>Promise.all(["static/chunks/0lmm~3cjla0c9.js"].map(e=>t.l(e))).then(()=>e(21392)))},27415,t=>{t.v(e=>Promise.all(["static/chunks/0rr4nl_auvf0b.js"].map(e=>t.l(e))).then(()=>e(92280)))},44319,t=>{t.v(e=>Promise.all(["static/chunks/0l_tj98f_5ot-.js"].map(e=>t.l(e))).then(()=>e(84201)))},31376,t=>{t.v(e=>Promise.all(["static/chunks/0-_x27yxy_uq_.js"].map(e=>t.l(e))).then(()=>e(3054)))},34215,t=>{t.v(e=>Promise.all(["static/chunks/0kx.ki.9u_0dy.js"].map(e=>t.l(e))).then(()=>e(30770)))},11980,t=>{t.v(e=>Promise.all(["static/chunks/0bb.y5mii27l0.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(39342)))},70234,t=>{t.v(e=>Promise.all(["static/chunks/0g8qw208n3i89.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(43020)))},44243,t=>{t.v(e=>Promise.all(["static/chunks/06x~dj4kp-z9f.js","static/chunks/11905-quym2vs.js","static/chunks/043yk9d-7bl43.js"].map(e=>t.l(e))).then(()=>e(15508)))},51365,t=>{t.v(e=>Promise.all(["static/chunks/0r4wgiv_kwiro.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(78730)))},46201,t=>{t.v(e=>Promise.all(["static/chunks/1158vq~dpuyl-.js","static/chunks/00h5q76-kypod.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/0s2ei~z99yg.7.js","static/chunks/0lr2ip~4h2o.z.js"].map(e=>t.l(e))).then(()=>e(38206)))},48926,t=>{t.v(e=>Promise.all(["static/chunks/0kl8vyx5367.j.js"].map(e=>t.l(e))).then(()=>e(90158)))},81291,t=>{t.v(e=>Promise.all(["static/chunks/17me7gnh4-..3.js"].map(e=>t.l(e))).then(()=>e(4447)))},31656,t=>{t.v(e=>Promise.all(["static/chunks/00h5q76-kypod.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/0_7ef.hja3s4s.js"].map(e=>t.l(e))).then(()=>e(68025)))},22654,t=>{t.v(e=>Promise.all(["static/chunks/00h5q76-kypod.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/0oryo.isv4jwb.js"].map(e=>t.l(e))).then(()=>e(67933)))}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41241,19556,9752,20486,t=>{"use strict";var e=t.i(49915),a=(0,t.i(65485).default)(Object.keys,Object),s=Object.prototype.hasOwnProperty;let r=function(t){if(!(0,e.default)(t))return a(t);var r=[];for(var n in Object(t))s.call(t,n)&&"constructor"!=n&&r.push(n);return r};t.s(["default",0,r],19556);var n=t.i(47244),i=t.i(56176),l=(0,n.default)(i.default,"DataView"),c=t.i(44483),u=(0,n.default)(i.default,"Promise"),o=(0,n.default)(i.default,"Set");t.s(["default",0,o],9752);var d=(0,n.default)(i.default,"WeakMap"),h=t.i(35287),k=t.i(66762),f="[object Map]",m="[object Promise]",p="[object Set]",g="[object WeakMap]",b="[object DataView]",j=(0,k.default)(l),v=(0,k.default)(c.default),y=(0,k.default)(u),x=(0,k.default)(o),w=(0,k.default)(d),P=h.default;(l&&P(new l(new ArrayBuffer(1)))!=b||c.default&&P(new c.default)!=f||u&&P(u.resolve())!=m||o&&P(new o)!=p||d&&P(new d)!=g)&&(P=function(t){var e=(0,h.default)(t),a="[object Object]"==e?t.constructor:void 0,s=a?(0,k.default)(a):"";if(s)switch(s){case j:return b;case v:return f;case y:return m;case x:return p;case w:return g}return e});let q=P;t.s(["default",0,q],20486);var _=t.i(15300),T=t.i(44071),E=t.i(41338),z=t.i(3745),C=t.i(1645),S=Object.prototype.hasOwnProperty;t.s(["default",0,function(t){if(null==t)return!0;if((0,E.default)(t)&&((0,T.default)(t)||"string"==typeof t||"function"==typeof t.splice||(0,z.default)(t)||(0,C.default)(t)||(0,_.default)(t)))return!t.length;var a=q(t);if("[object Map]"==a||"[object Set]"==a)return!t.size;if((0,e.default)(t))return!r(t).length;for(var s in t)if(S.call(t,s))return!1;return!0}],41241)},44917,t=>{"use strict";var e=t.i(96977),a=t.i(71206);t.i(47716);var s=t.i(23685),r=(0,a.__name)(t=>{let{securityLevel:a}=(0,e.getConfig2)(),r=(0,s.select)("body");if("sandbox"===a){let e=(0,s.select)(`#i${t}`),a=e.node()?.contentDocument??document;r=(0,s.select)(a.body)}return r.select(`#${t}`)},"selectSvgElement");t.s(["selectSvgElement",0,r])},3262,t=>{"use strict";var e=t.i(31360),a=t.i(60884),s=t.i(29432),r=t.i(96977),n=t.i(71206),i={common:r.common_default,getConfig:r.getConfig,insertCluster:a.insertCluster,insertEdge:e.insertEdge,insertEdgeLabel:e.insertEdgeLabel,insertMarkers:e.markers_default,insertNode:a.insertNode,interpolateToCurve:s.interpolateToCurve,labelHelper:a.labelHelper,log:n.log,positionEdgeLabel:e.positionEdgeLabel},l={},c=(0,n.__name)(t=>{for(let e of t)l[e.name]=e},"registerLayoutLoaders");(0,n.__name)(()=>{c([{name:"dagre",loader:(0,n.__name)(async()=>await t.A(92568),"loader")},{name:"cose-bilkent",loader:(0,n.__name)(async()=>await t.A(62369),"loader")}])},"registerDefaultLayoutLoaders")();var u=(0,n.__name)(async(t,e)=>{if(!(t.layoutAlgorithm in l))throw Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(let e of t.nodes){let a=e.domId||e.id;e.domId=`${t.diagramId}-${a}`}let a=l[t.layoutAlgorithm],s=await a.loader(),{theme:r,themeVariables:n}=t.config,{useGradient:c,gradientStart:u,gradientStop:o}=n,d=e.attr("id");if(e.append("defs").append("filter").attr("id",`${d}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${d}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r?.includes("dark")?"#FFFFFF":"#000000"}`),c){let t=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("svg:stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),t.append("svg:stop").attr("offset","100%").attr("stop-color",o).attr("stop-opacity",1)}return s.render(t,e,i,{algorithm:a.algorithm})},"render"),o=(0,n.__name)((t="",{fallback:e="dagre"}={})=>{if(t in l)return t;if(e in l)return n.log.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm");t.s(["getRegisteredLayoutAlgorithm",0,o,"registerLayoutLoaders",0,c,"render",0,u])},50160,t=>{t.q("/_next/static/media/icon.0fkix7.hkmsz4.png")},7233,5352,t=>{"use strict";let e=(0,t.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);t.s(["Plus",0,e],7233);let a=[{bg:"bg-blue-100 dark:bg-blue-900/30",text:"text-blue-700 dark:text-blue-300"},{bg:"bg-emerald-100 dark:bg-emerald-900/30",text:"text-emerald-700 dark:text-emerald-300"},{bg:"bg-violet-100 dark:bg-violet-900/30",text:"text-violet-700 dark:text-violet-300"},{bg:"bg-amber-100 dark:bg-amber-900/30",text:"text-amber-700 dark:text-amber-300"},{bg:"bg-rose-100 dark:bg-rose-900/30",text:"text-rose-700 dark:text-rose-300"},{bg:"bg-cyan-100 dark:bg-cyan-900/30",text:"text-cyan-700 dark:text-cyan-300"},{bg:"bg-orange-100 dark:bg-orange-900/30",text:"text-orange-700 dark:text-orange-300"},{bg:"bg-teal-100 dark:bg-teal-900/30",text:"text-teal-700 dark:text-teal-300"},{bg:"bg-indigo-100 dark:bg-indigo-900/30",text:"text-indigo-700 dark:text-indigo-300"},{bg:"bg-pink-100 dark:bg-pink-900/30",text:"text-pink-700 dark:text-pink-300"},{bg:"bg-lime-100 dark:bg-lime-900/30",text:"text-lime-700 dark:text-lime-300"},{bg:"bg-fuchsia-100 dark:bg-fuchsia-900/30",text:"text-fuchsia-700 dark:text-fuchsia-300"}];t.s(["getRepoColor",0,function(t,e){let s=function(t){let e=5381;for(let a=0;a<t.length;a++)e=33*e^t.charCodeAt(a);return e>>>0}(`${t}/${e}`)%a.length;return a[s]}],5352)},55716,t=>{"use strict";let e=(0,t.i(75254).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);t.s(["GitBranch",0,e],55716)},18566,(t,e,a)=>{e.exports=t.r(76562)},31278,t=>{"use strict";var e=t.i(17521);t.s(["Loader2",()=>e.default])},95468,t=>{"use strict";var e=t.i(23287);t.s(["CheckCircle2",()=>e.default])},86311,t=>{"use strict";let e=(0,t.i(75254).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);t.s(["MessageSquare",0,e],86311)},73884,t=>{"use strict";let e=(0,t.i(75254).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);t.s(["XCircle",0,e],73884)},2576,t=>{"use strict";var e=t.i(71645),a=t.i(96085),s=t.i(70935);t.s(["useTaskEvents",0,function(t){let r=(0,e.useRef)(null),n=(0,e.useRef)(t);(0,e.useLayoutEffect)(()=>{n.current=t}),(0,e.useEffect)(()=>{let t=(0,a.io)((0,s.getServerUrl)(),{transports:["polling","websocket"]});return r.current=t,t.on("task:created",({task:t,warnings:e})=>{n.current.onTaskCreated(t,e??[])}),t.on("task:updated",({task:t})=>{n.current.onTaskUpdated(t)}),t.on("task:deleted",({taskId:t})=>{n.current.onTaskDeleted(t)}),t.on("task:tabs-changed",({task:t})=>{n.current.onTaskTabsChanged?.(t)}),()=>{t.disconnect(),r.current=null}},[])}])},71698,t=>{"use strict";var e=t.i(71645),a=t.i(96085),s=t.i(70935);t.s(["useTabStatusEvents",0,function(t,r){let n=(0,e.useRef)(null),i=(0,e.useRef)(new Set),l=(0,e.useRef)(r);(0,e.useEffect)(()=>{l.current=r});let c=(0,e.useCallback)(()=>{if(!n.current){let t=(0,a.io)((0,s.getServerUrl)(),{transports:["polling","websocket"]});n.current=t,t.on("status-changed",({sessionId:t,status:e})=>{let a=function(t){switch(t){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}}(e);null!==a&&l.current(t,a)}),t.on("connect",()=>{for(let e of i.current)t.emit("join",{room:e,mode:"subscribe"})})}return n.current},[]);(0,e.useEffect)(()=>{if(0===t.length)return;let e=c();for(let a of t){let t=`tab:${a}`;i.current.has(t)||(e.emit("join",{room:t,mode:"subscribe"}),i.current.add(t))}let a=new Set(t);for(let t of i.current){let s=t.replace("tab:","");a.has(s)||(e.emit("leave",{room:t}),i.current.delete(t))}},[t,c]),(0,e.useEffect)(()=>{let t=i.current;return()=>{n.current?.disconnect(),n.current=null,t.clear()}},[])}])},45139,801,t=>{"use strict";function e(t){return"success"===t||"error"===t||"running"!==t&&"idle"!==t&&void 0}function a(t){let e=t.tabs??[];if(0===e.length||e.some(t=>"running"===t.status))return null;if(e.some(t=>"waiting"===t.status))return"waiting";let a=e.filter(t=>t.unread);return a.some(t=>"error"===t.status)?"error":a.some(t=>"success"===t.status)?"success":null}t.s(["activityKind",0,function(t){return(t.tabs??[]).some(t=>"running"===t.status)?"running":a(t)},"hasUnreadResult",0,function(t){return null!==a(t)},"unreadForStatus",0,e,"unreadKind",0,a],45139);var s=t.i(71645),r=t.i(70935),n=t.i(2576),i=t.i(71698);t.s(["useLiveTasks",0,function(t={}){let[a,l]=(0,s.useState)([]),[c,u]=(0,s.useState)(!0),o=(0,s.useRef)(t),d=(0,s.useRef)(a);(0,s.useEffect)(()=>{o.current=t,d.current=a});let h=(0,s.useCallback)(async()=>{u(!0);try{let t=await fetch((0,r.apiUrl)("/api/tasks"));if(!t.ok)throw Error("Failed to fetch tasks");let e=await t.json();l(e.data.tasks)}catch(t){console.error("Failed to load tasks:",t)}finally{u(!1)}},[]);(0,s.useEffect)(()=>{h()},[h]);let k=(0,s.useMemo)(()=>a.flatMap(t=>(t.tabs??[]).map(t=>t.tab_id)),[a]);return(0,i.useTabStatusEvents)(k,(t,a)=>{let s=e(a);l(e=>e.map(e=>({...e,tabs:(e.tabs??[]).map(e=>e.tab_id===t?{...e,status:a,...void 0!==s&&{unread:s}}:e)})))}),(0,n.useTaskEvents)({onTaskCreated:(t,e)=>{l(e=>e.some(e=>e.id===t.id)?e:[...e,t]),o.current.onTaskCreated?.(t,e)},onTaskUpdated:t=>{l(e=>e.map(e=>e.id===t.id?t:e)),o.current.onTaskUpdated?.(t)},onTaskDeleted:t=>{let e=d.current.find(e=>e.id===t);l(e=>e.filter(e=>e.id!==t)),o.current.onTaskDeleted?.(t,e)},onTaskTabsChanged:t=>{l(e=>e.map(e=>e.id===t.id?t:e))}}),{tasks:a,setTasks:l,isLoading:c,reload:h}}],801)},39484,t=>{t.v(e=>Promise.all(["static/chunks/002jt~~cq5_aa.js"].map(e=>t.l(e))).then(()=>e(16400)))},92568,t=>{t.v(e=>Promise.all(["static/chunks/0bew-tpzkv4a6.js","static/chunks/0hc31lz26e0bj.js","static/chunks/156lsa3n_7-g1.js"].map(e=>t.l(e))).then(()=>e(68053)))},62369,t=>{t.v(e=>Promise.all(["static/chunks/0t-ecot2ot8jq.js","static/chunks/0s2ei~z99yg.7.js"].map(e=>t.l(e))).then(()=>e(97810)))},78997,t=>{t.v(e=>Promise.all(["static/chunks/0w4h2u4jedq4..js","static/chunks/0v8zy131j2_sl.js"].map(e=>t.l(e))).then(()=>e(77010)))},28146,t=>{t.v(e=>Promise.all(["static/chunks/179i-blt6kp34.js","static/chunks/004q74ucr0rud.js"].map(e=>t.l(e))).then(()=>e(26067)))},80472,t=>{t.v(e=>Promise.all(["static/chunks/0-whcx~709zzu.js"].map(e=>t.l(e))).then(()=>e(50032)))},83305,t=>{t.v(e=>Promise.all(["static/chunks/00h5q76-kypod.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/0g7ov558axacn.js"].map(e=>t.l(e))).then(()=>e(8709)))},34606,t=>{t.v(e=>Promise.all(["static/chunks/0t-7~zw5_oj33.js","static/chunks/0t1nhjmm.2-8-.js"].map(e=>t.l(e))).then(()=>e(13976)))},23526,t=>{t.v(e=>Promise.all(["static/chunks/0zz1c.5ttlw75.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(60498)))},3931,t=>{t.v(e=>Promise.all(["static/chunks/0egss2l0vp3iv.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(79567)))},67051,t=>{t.v(e=>Promise.all(["static/chunks/0v~puv980n2mn.js"].map(e=>t.l(e))).then(()=>e(51778)))},36080,t=>{t.v(e=>Promise.all(["static/chunks/0_u58hj44ucg2.js","static/chunks/0coux02phyasu.js"].map(e=>t.l(e))).then(()=>e(79003)))},3156,t=>{t.v(e=>Promise.all(["static/chunks/0~fjlnit~fkey.js"].map(e=>t.l(e))).then(()=>e(91739)))},71209,t=>{t.v(e=>Promise.all(["static/chunks/0njmix7y_6miv.js","static/chunks/0z9df3ijvbr8h.js"].map(e=>t.l(e))).then(()=>e(94614)))},78922,t=>{t.v(e=>Promise.all(["static/chunks/0nt-wtu-~b7hv.js","static/chunks/0nwbvs~t8m~k6.js"].map(e=>t.l(e))).then(()=>e(99223)))},10404,t=>{t.v(e=>Promise.all(["static/chunks/0puq-xa16mucw.js","static/chunks/0nwbvs~t8m~k6.js"].map(e=>t.l(e))).then(()=>e(25730)))},81283,t=>{t.v(e=>Promise.all(["static/chunks/0bew-tpzkv4a6.js","static/chunks/104dsd7mk1jyt.js","static/chunks/0.fiftciismd2.js","static/chunks/0hc31lz26e0bj.js"].map(e=>t.l(e))).then(()=>e(24924)))},41605,t=>{t.v(e=>Promise.all(["static/chunks/0vj43fihkfmqz.js","static/chunks/0.fiftciismd2.js"].map(e=>t.l(e))).then(()=>e(32579)))},78877,t=>{t.v(e=>Promise.all(["static/chunks/0lmm~3cjla0c9.js"].map(e=>t.l(e))).then(()=>e(21392)))},27415,t=>{t.v(e=>Promise.all(["static/chunks/0rr4nl_auvf0b.js"].map(e=>t.l(e))).then(()=>e(92280)))},44319,t=>{t.v(e=>Promise.all(["static/chunks/0l_tj98f_5ot-.js"].map(e=>t.l(e))).then(()=>e(84201)))},31376,t=>{t.v(e=>Promise.all(["static/chunks/0-_x27yxy_uq_.js"].map(e=>t.l(e))).then(()=>e(3054)))},34215,t=>{t.v(e=>Promise.all(["static/chunks/0kx.ki.9u_0dy.js"].map(e=>t.l(e))).then(()=>e(30770)))},11980,t=>{t.v(e=>Promise.all(["static/chunks/0bb.y5mii27l0.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(39342)))},70234,t=>{t.v(e=>Promise.all(["static/chunks/0g8qw208n3i89.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(43020)))},44243,t=>{t.v(e=>Promise.all(["static/chunks/06x~dj4kp-z9f.js","static/chunks/11905-quym2vs.js","static/chunks/043yk9d-7bl43.js"].map(e=>t.l(e))).then(()=>e(15508)))},51365,t=>{t.v(e=>Promise.all(["static/chunks/0r4wgiv_kwiro.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/00h5q76-kypod.js"].map(e=>t.l(e))).then(()=>e(78730)))},46201,t=>{t.v(e=>Promise.all(["static/chunks/1158vq~dpuyl-.js","static/chunks/00h5q76-kypod.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/0s2ei~z99yg.7.js","static/chunks/0lr2ip~4h2o.z.js"].map(e=>t.l(e))).then(()=>e(38206)))},48926,t=>{t.v(e=>Promise.all(["static/chunks/0kl8vyx5367.j.js"].map(e=>t.l(e))).then(()=>e(90158)))},81291,t=>{t.v(e=>Promise.all(["static/chunks/17me7gnh4-..3.js"].map(e=>t.l(e))).then(()=>e(4447)))},31656,t=>{t.v(e=>Promise.all(["static/chunks/00h5q76-kypod.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/0_7ef.hja3s4s.js"].map(e=>t.l(e))).then(()=>e(68025)))},22654,t=>{t.v(e=>Promise.all(["static/chunks/00h5q76-kypod.js","static/chunks/0f6mqg1npiv.t.js","static/chunks/0oryo.isv4jwb.js"].map(e=>t.l(e))).then(()=>e(67933)))}]);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,97099,e=>{"use strict";var t,n,r,a=e.i(18050),s=e.i(71645),o=e.i(18566),i=e.i(471),l=e.i(75254);let u=(0,l.default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]),c=(0,l.default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]),d=(0,l.default)("folder-x",[["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:"m9.5 10.5 5 5",key:"ra9qjz"}],["path",{d:"m14.5 10.5-5 5",key:"l2rkpq"}]]);var f=e.i(88699);let p=(0,l.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var m=e.i(27612),g=e.i(70935),h=e.i(10483),v=e.i(37870),x=e.i(76165),b=e.i(51846),y=e.i(2576),S=e.i(37727),E=e.i(31278);let R=(0,l.default)("circle-pause",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]]);var k=e.i(63209);let C=(0,l.default)("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);var w=e.i(95468),T=e.i(73884),I=e.i(86311),O=e.i(68995),N=e.i(85902),M=e.i(87951);function j({store:e}){let t=(0,s.useSyncExternalStore)(e.subscribe,e.getSnapshot,()=>0);return(0,a.jsx)("div",{"aria-hidden":!0,className:"h-1.5 w-16 overflow-hidden rounded-full bg-background/60",children:(0,a.jsx)("div",{className:"h-full rounded-full bg-destructive",style:{width:`${Math.round(100*t)}%`}})})}function A({voiceInput:e}){let{enabled:t,serverReady:n,status:r,levelStore:s,toggle:o}=e;if(!t)return null;let i="listening"===r;return(0,a.jsxs)("div",{className:i?"inline-flex items-center gap-2 rounded-md bg-destructive/10 p-1":"inline-flex",children:[(0,a.jsx)(N.Button,{size:"icon",variant:i?"destructive":"default",onClick:o,disabled:"starting"===r||"off"===r&&!n,title:i?"音声入力を停止":n?"音声入力を開始(話した部分が自動で入力されます)":"音声認識サーバーが起動していません(Settingsから起動してください)",children:"starting"===r?(0,a.jsx)(E.Loader2,{className:"w-4 h-4 animate-spin"}):(0,a.jsx)(M.Mic,{className:"w-4 h-4"})}),i&&(0,a.jsx)(j,{store:s})]})}var P=e.i(93355),L=e.i(64691);function D({entry:e}){if(!e||"idle"===e.terminal)return(0,a.jsxs)("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,a.jsx)(R,{className:"w-3 h-3"}),(0,a.jsx)("span",{children:"idle"})]});if("connecting"===e.terminal)return(0,a.jsxs)("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,a.jsx)(E.Loader2,{className:"w-3 h-3 animate-spin"}),(0,a.jsx)("span",{children:"connecting"})]});if("error"===e.terminal)return(0,a.jsxs)("div",{className:"flex items-center gap-1 text-xs text-destructive",children:[(0,a.jsx)(k.AlertCircle,{className:"w-3 h-3"}),(0,a.jsx)("span",{children:"error"})]});if("exited"===e.terminal||"paused"===e.terminal)return(0,a.jsxs)("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,a.jsx)(C,{className:"w-3 h-3"}),(0,a.jsx)("span",{children:e.terminal})]});switch(e.claude){case"running":return(0,a.jsxs)("div",{className:"flex items-center gap-1 text-xs text-primary",children:[(0,a.jsx)(E.Loader2,{className:"w-3 h-3 animate-spin"}),(0,a.jsx)("span",{children:"running"})]});case"waiting":return(0,a.jsxs)("div",{className:"flex items-center gap-1 text-xs text-warning",children:[(0,a.jsx)(I.MessageSquare,{className:"w-3 h-3"}),(0,a.jsx)("span",{children:"waiting"})]});case"success":return(0,a.jsxs)("div",{className:"flex items-center gap-1 text-xs text-success",children:[(0,a.jsx)(w.CheckCircle2,{className:"w-3 h-3"}),(0,a.jsx)("span",{children:"success"})]});case"failure":case"error":return(0,a.jsxs)("div",{className:"flex items-center gap-1 text-xs text-destructive",children:[(0,a.jsx)(T.XCircle,{className:"w-3 h-3"}),(0,a.jsx)("span",{children:"failure"===e.claude?"failure":"error"})]});default:return(0,a.jsxs)("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,a.jsx)(R,{className:"w-3 h-3"}),(0,a.jsx)("span",{children:"idle"})]})}}function F({tabs:e,activeTabId:t,onTabChange:n,onTabCreateTerminal:r,onTabCreateClaude:o,claudeOption:i,codexOption:l,onTabCreateCodex:u,localLlmOption:c,onTabCreateLocalLlm:d,onTabDelete:f,tabStatusMap:m,voiceInput:g}){let h=(0,s.useRef)([]),[v,x]=(0,s.useState)({left:0,width:0}),[b,y]=(0,s.useState)(null);(0,s.useEffect)(()=>{let n=e.findIndex(e=>e.tab_id===t);if(-1!==n&&h.current[n]){let e=h.current[n];e&&x({left:e.offsetLeft,width:e.offsetWidth})}},[t,e]);let E=new Map,R=0;for(let t of e)"terminal"===t.mode&&(R+=1,E.set(t.tab_id,R));return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(O.ConfirmDialog,{open:null!==b,onOpenChange:e=>{e.open||y(null)},title:"Delete Tab",message:b?.isRunning?"This tab is running. Are you sure you want to delete it?":"Delete this tab?",confirmLabel:"Delete",cancelLabel:"Cancel",onConfirm:()=>{b&&f(b.tabId)},variant:"danger"}),(0,a.jsxs)("div",{className:"relative flex items-center gap-2 overflow-x-auto border-b border-border pb-1",children:[e.map((e,r)=>{let s=t===e.tab_id,o=m?.get(e.tab_id),i=(o?.claude==="running"||o?.claude==="waiting")&&(o?.terminal==="connected"||o?.terminal===null);return(0,a.jsxs)("div",{ref:e=>{h.current[r]=e},onClick:()=>n(e.tab_id),className:`
|
|
2
|
+
flex items-center gap-2 px-4 pt-1 pb-2 h-10 flex-shrink-0 transition-colors cursor-pointer
|
|
3
|
+
${s?"text-primary":i?"text-primary-light":"text-muted-foreground hover:text-foreground"}
|
|
4
|
+
`,children:[(0,a.jsx)("div",{className:"font-medium flex items-center gap-2",children:"terminal"===e.mode?(0,a.jsxs)("span",{className:"text-xs",children:["terminal ",E.get(e.tab_id)]}):(0,a.jsxs)(a.Fragment,{children:["codex"===e.mode&&(0,a.jsx)("span",{title:"Codex",children:(0,a.jsx)(P.CodexIcon,{className:"w-3 h-3"})}),("local"===e.mode||"ollama"===e.mode||"lmstudio"===e.mode)&&(0,a.jsx)("span",{title:(0,L.localLlmTabLabel)(c?.provider??null),children:(0,a.jsx)(P.LocalLlmTabIcon,{provider:c?.provider??null,className:"w-3 h-3"})}),(0,a.jsx)(D,{entry:o})]})}),(0,a.jsx)(N.Button,{variant:"ghost",size:"icon-xs",onClick:t=>{t.stopPropagation(),y({tabId:e.tab_id,isRunning:i})},children:(0,a.jsx)(S.X,{className:"w-4 h-4"})})]},e.tab_id)}),(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0 ml-auto",children:[g&&(0,a.jsx)(A,{voiceInput:g}),(0,a.jsx)("div",{className:"w-px self-stretch bg-theme"}),r&&(0,a.jsx)(N.Button,{size:"icon",onClick:r,title:"Open terminal",children:(0,a.jsx)(p,{className:"w-4 h-4"})}),(0,a.jsx)("span",{title:i?.disabledReason??"Claude Code",children:(0,a.jsx)(N.Button,{size:"icon",onClick:o,disabled:!!i?.disabledReason,children:(0,a.jsx)(P.ClaudeIcon,{className:"w-4 h-4"})})}),l&&(0,a.jsx)("span",{title:l.disabledReason??"Codex",children:(0,a.jsx)(N.Button,{size:"icon",onClick:u,disabled:!!l.disabledReason,children:(0,a.jsx)(P.CodexIcon,{className:"w-4 h-4"})})}),c&&(0,a.jsx)("span",{title:c.model?`${(0,L.localLlmTabLabel)(c.provider)}: ${c.model}`:"ローカルLLMのモデルが未設定です(Settings で設定)",children:(0,a.jsx)(N.Button,{size:"icon",onClick:d,disabled:!c.model,children:(0,a.jsx)(P.LocalLlmTabIcon,{provider:c.provider,className:"w-4 h-4"})})})]}),(0,a.jsx)("div",{className:"absolute bottom-0 h-0.5 bg-primary transition-[left,width]",style:{left:`${v.left}px`,width:`${v.width}px`}})]})]})}let _=(0,l.default)("audio-lines",[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]]);function U({utterances:e}){return 0===e.length?null:(0,a.jsx)("div",{className:"pointer-events-none absolute inset-x-4 bottom-8 z-10 flex justify-center",children:(0,a.jsx)("div",{className:"w-full max-w-2xl space-y-1 rounded-md border bg-card/95 p-3 text-sm text-card-foreground shadow-md",children:e.map(e=>(0,a.jsxs)("div",{className:"flex items-start gap-2",children:["speaking"===e.phase?(0,a.jsx)(_,{className:"mt-0.5 size-4 shrink-0 animate-pulse text-destructive"}):"finalizing"===e.phase?(0,a.jsx)(E.Loader2,{className:"mt-0.5 size-4 shrink-0 animate-spin text-muted-foreground"}):(0,a.jsx)(w.CheckCircle2,{className:"mt-0.5 size-4 shrink-0 text-success"}),(0,a.jsx)("p",{className:"speaking"===e.phase?"text-muted-foreground":void 0,children:e.text||"…"})]},e.id))})})}var B=e.i(57024),z=e.i(19728);let H=["running","running_external"];function W(){let e=0,t=new Set;return{subscribe:e=>(t.add(e),()=>t.delete(e)),getSnapshot:()=>e,set:n=>{n!==e&&(e=n,t.forEach(e=>e()))}}}var V=e.i(71698),G=e.i(67211),$=e.i(38078),K=e.i(81671);function Y(e,t){if(t){if(!t.installed)return`${e} の CLI が見つかりません`;if(!t.supported)return`${e} ${t.version??""} は古いため使えません(${t.minVersion} 以上が必要)`}}let q=(0,s.forwardRef)(function({task:t,tabs:n,activeTabId:r,onTabChange:o,onTabCreate:i,onTabDelete:l,onTodosUpdated:u,onAgentStatusChange:c},d){let[f,m]=(0,s.useState)(()=>new Set(r?[r]:[]));(0,s.useEffect)(()=>{r&&m(e=>{if(e.has(r))return e;let t=new Set(e);return t.add(r),t})},[r]);let[h,v]=(0,s.useState)(()=>new Map(n.map(e=>[e.tab_id,{terminal:null,claude:e.status}])));(0,s.useEffect)(()=>{v(e=>{let t=!1,r=new Map(e);for(let e of n)r.has(e.tab_id)||(r.set(e.tab_id,{terminal:null,claude:e.status}),t=!0);return t?r:e})},[n]);let x=(0,s.useRef)(f);(0,s.useEffect)(()=>{x.current=f},[f]);let b=(0,s.useMemo)(()=>n.map(e=>e.tab_id),[n]);(0,V.useTabStatusEvents)(b,(e,t)=>{x.current.has(e)||(v(n=>{let r=n.get(e);if(!r||null!==r.terminal||r.claude===t)return n;let a=new Map(n);return a.set(e,{terminal:null,claude:t}),a}),c?.(e,t))});let y=(0,s.useRef)(new Map);(0,s.useEffect)(()=>{r&&y.current.get(r)?.focus()},[r]);let S=(0,s.useCallback)((e,t,n)=>{v(r=>{let a=new Map(r);return a.set(e,{terminal:t,claude:n}),a}),c?.(e,n)},[c]);(0,s.useImperativeHandle)(d,()=>({sendInput:(e,t)=>{let n=y.current.get(e);n?.sendInput(t)}}));let E=(0,s.useCallback)(e=>{m(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n}),o(e)},[o]),R=(0,s.useCallback)(async e=>{let t=await i(e);t&&m(e=>{let n=new Set(e);return n.add(t),n})},[i]),k=(0,s.useCallback)(()=>R("terminal"),[R]),C=(0,s.useCallback)(()=>R("claude"),[R]),w=(0,s.useCallback)(()=>R("codex"),[R]),T=(0,s.useCallback)(()=>R("local"),[R]),I=(0,K.useAgentAvailability)(),O={disabledReason:Y("Claude Code",I?.find(e=>"claude"===e.agent))},M={disabledReason:Y("Codex",I?.find(e=>"codex"===e.agent))},{settings:j}=(0,$.useOllamaSettings)(),{settings:A}=(0,$.useLmStudioSettings)(),{settings:D}=(0,$.useLocalLlmSettings)(),_=j?.enabled||A?.enabled?{provider:D?.active?.provider??null,model:D?.active?.model??""}:void 0,q=function({onFinal:t}){let[n,r]=(0,s.useState)(!1),[a,o]=(0,s.useState)(null),[i,l]=(0,s.useState)("off"),[u,c]=(0,s.useState)([]),[d]=(0,s.useState)(W),f=(0,s.useRef)(null),p=(0,s.useRef)(0),m=(0,s.useRef)(null),h=(0,s.useRef)([]),v=(0,s.useRef)([]),x=(0,s.useRef)(!1),b=(0,s.useRef)(0),y=(0,s.useRef)(Promise.resolve()),S=(0,s.useRef)(t),E=(0,s.useRef)(!1);(0,s.useEffect)(()=>{S.current=t},[t]),(0,s.useEffect)(()=>{r("true"===localStorage.getItem(z.VOICE_INPUT_ENABLED_STORAGE_KEY))},[]),(0,s.useEffect)(()=>{if(!n)return;let e=!1,t=async()=>{try{let t=await fetch((0,g.apiUrl)("/api/whisper/server/status")),n=await t.json();e||o(n.step)}catch{e||o("not_running")}};t();let r=setInterval(t,5e3);return()=>{e=!0,clearInterval(r)}},[n]);let R=(0,s.useCallback)(e=>{c(t=>t.filter(t=>t.id!==e))},[]),k=(0,s.useCallback)((e,t)=>{c(n=>n.map(n=>n.id===e?{id:e,text:t,phase:"final"}:n)),setTimeout(()=>R(e),750)},[R]),C=(0,s.useCallback)(async(t,n)=>{let{utils:r}=await e.A(61531),a=r.encodeWAV(t,1,16e3,1,16),s=new FormData,o=localStorage.getItem(z.WHISPER_PROMPT_STORAGE_KEY);o&&s.append("prompt",o),s.append("interim",String(n)),s.append("file",new Blob([a],{type:"audio/wav"}),"speech.wav");let i=await fetch((0,g.apiUrl)("/api/whisper/transcribe"),{method:"POST",body:s});if(!i.ok){let e=await i.json().catch(()=>null);throw Error(e?.error||`HTTPエラー: ${i.status}`)}return await i.json()},[]),w=(0,s.useCallback)(e=>{x.current=!0,b.current=h.current.length,C(function(e){let t=new Float32Array(e.reduce((e,t)=>e+t.length,0)),n=0;for(let r of e)t.set(r,n),n+=r.length;return t}(h.current),!0).then(({text:t})=>{c(n=>n.map(n=>n.id===e&&"speaking"===n.phase?{...n,text:t}:n))}).catch(()=>{}).finally(()=>{x.current=!1})},[C]),T=(0,s.useCallback)((e,t)=>{let n=C(t.subarray(0,Math.max(0,t.length-16e3)),!1);y.current=y.current.then(async()=>{try{let{text:t}=await n;t?(S.current(t),k(e,t)):R(e)}catch(t){R(e),B.toaster.create({type:"error",title:"文字起こしに失敗しました",description:t instanceof Error?t.message:String(t)})}})},[C,R,k]),I=(0,s.useCallback)(async()=>{let e=f.current;f.current=null,m.current=null,h.current=[],v.current=[],d.set(0),c(e=>e.filter(e=>"speaking"!==e.phase)),l("off"),await e?.destroy().catch(()=>{})},[d]),O=(0,s.useCallback)(async()=>{l("starting");try{let{MicVAD:t}=await e.A(61531),n=Math.ceil(9.375)+1,r=await t.new({model:"v5",baseAssetPath:"/vad/",onnxWASMBasePath:"/vad/",positiveSpeechThreshold:.5,negativeSpeechThreshold:.35,redemptionMs:1300,preSpeechPadMs:300,minSpeechMs:300,ortConfig:e=>{e.env.logLevel="error",e.env.wasm.numThreads=1},onFrameProcessed:(e,t)=>{d.set(function(e){let t=0;for(let n=0;n<e.length;n++)t+=e[n]*e[n];let n=Math.sqrt(t/e.length);return Math.min(1,Math.max(0,((n>0?20*Math.log10(n):-60)- -60)/50))}(t));let r=m.current;if(null===r){let e=v.current;e.push(t),e.length>n&&e.shift();return}h.current.push(t);let a=h.current.length-b.current;!x.current&&32*a>=800&&w(r)},onSpeechStart:()=>{let e=++p.current;m.current=e,h.current=v.current,v.current=[],b.current=0,c(t=>[...t,{id:e,text:"",phase:"speaking"}])},onVADMisfire:()=>{let e=m.current;m.current=null,h.current=[],null!==e&&R(e)},onSpeechEnd:e=>{let t=m.current;m.current=null,h.current=[],null!==t&&(c(e=>e.map(e=>e.id===t?{...e,phase:"finalizing"}:e)),T(t,e))}});if(E.current)return void await r.destroy();f.current=r,l("listening")}catch(e){l("off"),B.toaster.create({type:"error",title:"音声入力を開始できませんでした",description:e instanceof Error?e.message:String(e)})}},[T,d,R,w]),N=(0,s.useCallback)(()=>{"listening"===i?I():"off"===i&&O()},[i,O,I]);return(0,s.useEffect)(()=>(E.current=!1,()=>{E.current=!0,f.current?.destroy().catch(()=>{}),f.current=null}),[]),{enabled:n,serverReady:null!==a&&H.includes(a),status:i,utterances:u,levelStore:d,toggle:N}}({onFinal:(0,s.useCallback)(e=>{if(!r)return;let t=y.current.get(r);t?.sendInput(e),t?.focus()},[r])}),J=(0,s.useCallback)(e=>{m(t=>{let n=new Set(t);return n.delete(e),n}),v(t=>{let n=new Map(t);return n.delete(e),n}),y.current.delete(e),l(e)},[l]);return(0,a.jsxs)("div",{className:"flex flex-col flex-1 min-h-0",children:[(0,a.jsx)("div",{className:"px-4 pt-4 flex-shrink-0",children:(0,a.jsx)(F,{tabs:n,activeTabId:r,onTabChange:E,onTabCreateTerminal:k,onTabCreateClaude:C,claudeOption:O,codexOption:M,onTabCreateCodex:w,localLlmOption:_,onTabCreateLocalLlm:T,onTabDelete:J,tabStatusMap:h,voiceInput:n.length>0||"off"!==q.status?q:void 0})}),(0,a.jsxs)("div",{className:"flex-1 min-h-0 relative",children:[n.map(e=>{let n=f.has(e.tab_id),s=e.tab_id===r;return n?(0,a.jsx)("div",{className:"absolute inset-0 flex flex-col px-4 pb-4 pt-2",style:{visibility:s?"visible":"hidden",pointerEvents:s?"auto":"none"},children:(0,a.jsx)(G.TerminalView,{ref:t=>{t?y.current.set(e.tab_id,t):y.current.delete(e.tab_id)},tabId:e.tab_id,isActive:s,cwd:t.worktreePath,launchAgent:"terminal"!==e.mode,mode:e.mode,className:"h-full overflow-hidden rounded-lg border border-border bg-card dark:rounded-none dark:border-0",initialTodos:e.todos,initialAgentStatus:e.status,onTodosUpdated:u,onStatusChange:S})},e.tab_id):null}),0===n.length&&(0,a.jsxs)("div",{className:"h-full flex flex-col items-center justify-center gap-4 px-4",children:[(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"起動するタブを選んでください"}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[(0,a.jsx)("span",{title:O.disabledReason,children:(0,a.jsxs)(N.Button,{onClick:C,disabled:!!O.disabledReason,children:[(0,a.jsx)(P.ClaudeIcon,{className:"w-4 h-4"}),"Claude Code"]})}),M&&(0,a.jsx)("span",{title:M.disabledReason,children:(0,a.jsxs)(N.Button,{variant:"outline",onClick:w,disabled:!!M.disabledReason,children:[(0,a.jsx)(P.CodexIcon,{className:"w-4 h-4"}),"Codex"]})}),_&&(0,a.jsx)("span",{title:_.model?`${(0,L.localLlmTabLabel)(_.provider)}: ${_.model}`:"ローカルLLMのモデルが未設定です(Settings で設定)",children:(0,a.jsxs)(N.Button,{variant:"outline",onClick:()=>void T(),disabled:!_.model,children:[(0,a.jsx)(P.LocalLlmTabIcon,{provider:_.provider,className:"w-4 h-4"}),(0,L.localLlmTabLabel)(_.provider)]})}),(0,a.jsxs)(N.Button,{variant:"outline",onClick:k,children:[(0,a.jsx)(p,{className:"w-4 h-4"}),"Terminal"]})]})]}),(0,a.jsx)(U,{utterances:q.utterances}),n.length>0&&!r&&(0,a.jsx)("div",{className:"h-full flex items-center justify-center text-muted-foreground text-sm",children:"Select a tab to view terminal"})]})]})});var J=e.i(99059);e.s([],38727),e.i(38727),e.i(47167);var X=e.i(67805);let Z=s.createContext(void 0);function Q(e){let t=s.useContext(Z);if(void 0===t&&!e)throw Error((0,X.default)(33));return t}let ee=s.createContext(void 0);function et(e){let t=s.useContext(ee);if(void 0===t&&!e)throw Error((0,X.default)(36));return t}var en=e.i(27601),er=e.i(83590);let ea=s.forwardRef(function(e,t){let{className:n,render:r,...a}=e,{store:s}=et(),{arrowRef:o,side:i,align:l,arrowUncentered:u,arrowStyles:c}=Q(),d=s.useState("open");return(0,en.useRenderElement)("div",e,{ref:[o,t],stateAttributesMapping:er.popupStateMapping,state:{open:d,side:i,align:l,uncentered:u},props:{style:c,"aria-hidden":!0,...a}})});var es=e.i(84759);let eo=s.createContext(void 0);function ei(e=!0){let t=s.useContext(eo);if(void 0===t&&!e)throw Error((0,X.default)(25));return t}var el=e.i(3404);let eu={...er.popupStateMapping,...es.transitionStatusMapping},ec=s.forwardRef(function(e,t){let{className:n,render:r,...a}=e,{store:s}=et(),o=s.useState("open"),i=s.useState("mounted"),l=s.useState("transitionStatus"),u=s.useState("lastOpenChangeReason"),c=ei();return(0,en.useRenderElement)("div",e,{ref:c?.backdropRef?[t,c.backdropRef]:t,state:{open:o,transitionStatus:l},stateAttributesMapping:eu,props:[{role:"presentation",hidden:!i,style:{pointerEvents:u===el.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},a]})});var ed=e.i(76477),ef=e.i(94349);let ep=s.createContext(void 0);var em=e.i(26292),eg=e.i(91730),eh=e.i(19805),ev=e.i(57666);function ex(e){let{closeOnClick:t,highlighted:n,id:r,nodeId:a,store:o,typingRef:i,itemRef:l,itemMetadata:u}=e,{events:c}=o.useState("floatingTreeRoot"),d=ei(!0),f=void 0!==d;return s.useMemo(()=>({id:r,role:"menuitem",tabIndex:n?0:-1,onKeyDown(e){" "===e.key&&i?.current&&e.preventDefault()},onMouseMove(e){a&&c.emit("itemhover",{nodeId:a,target:e.currentTarget})},onClick(e){t&&c.emit("close",{domEvent:e,reason:el.REASONS.itemPress})},onMouseUp(e){if(d){let t=d.initialCursorPointRef.current;if(d.initialCursorPointRef.current=null,f&&t&&1>=Math.abs(e.clientX-t.x)&&1>=Math.abs(e.clientY-t.y)||f&&!ev.isMac&&2===e.button)return}l.current&&o.context.allowMouseUpTriggerRef.current&&(!f||2===e.button)&&(!u||"regular-item"===u.type)&&l.current.click()}}),[t,n,r,c,a,o,i,l,d,f,u])}let eb={type:"regular-item"};function ey(e){let{closeOnClick:t,disabled:n=!1,highlighted:r,id:a,store:o,typingRef:i=o.context.typingRef,nativeButton:l,itemMetadata:u,nodeId:c}=e,d=s.useRef(null),{getButtonProps:f,buttonRef:p}=(0,eg.useButton)({disabled:n,focusableWhenDisabled:!0,native:l,composite:!0}),m=ex({closeOnClick:t,highlighted:r,id:a,nodeId:c,store:o,typingRef:i,itemRef:d,itemMetadata:u}),g=s.useCallback(e=>(0,eh.mergeProps)(m,{onMouseEnter(){"submenu-trigger"===u.type&&u.setActive()}},e,f),[m,f,u]),h=(0,em.useMergedRefs)(d,p);return s.useMemo(()=>({getItemProps:g,itemRef:h}),[g,h])}var eS=e.i(977);let eE=s.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}}),eR=((t={})[t.None=0]="None",t[t.GuessFromOrder=1]="GuessFromOrder",t);function ek(e={}){let{label:t,metadata:n,textRef:r,indexGuessBehavior:a,index:o}=e,{register:i,unregister:l,subscribeMapChange:u,elementsRef:c,labelsRef:d,nextIndexRef:f}=s.useContext(eE),p=s.useRef(-1),[m,g]=s.useState(o??(a===eR.GuessFromOrder?()=>{if(-1===p.current){let e=f.current;f.current+=1,p.current=e}return p.current}:-1)),h=s.useRef(null),v=s.useCallback(e=>{if(h.current=e,-1!==m&&null!==e&&(c.current[m]=e,d)){let n=void 0!==t;d.current[m]=n?t:r?.current?.textContent??e.textContent}},[m,c,d,t,r]);return(0,eS.useIsoLayoutEffect)(()=>{if(null!=o)return;let e=h.current;if(e)return i(e,n),()=>{l(e)}},[o,i,l,n]),(0,eS.useIsoLayoutEffect)(()=>{if(null==o)return u(e=>{let t=h.current?e.get(h.current)?.index:null;null!=t&&g(t)})},[o,u,g]),s.useMemo(()=>({ref:v,index:m}),[m,v])}var eC=e.i(89879);let ew=((n={}).checked="data-checked",n.unchecked="data-unchecked",n.disabled="data-disabled",n.highlighted="data-highlighted",n),eT={checked:e=>e?{[ew.checked]:""}:{[ew.unchecked]:""},...es.transitionStatusMapping};var eI=e.i(5963);let eO=s.forwardRef(function(e,t){let{render:n,className:r,id:o,label:i,nativeButton:l=!1,disabled:u=!1,closeOnClick:c=!1,checked:d,defaultChecked:f,onCheckedChange:p,...m}=e,g=ek({label:i}),h=Q(!0),v=(0,eC.useBaseUiId)(o),{store:x}=et(),b=x.useState("isActive",g.index),y=x.useState("itemProps"),[S,E]=(0,ef.useControlled)({controlled:d,default:f??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:R,itemRef:k}=ey({closeOnClick:c,disabled:u,highlighted:b,id:v,store:x,nativeButton:l,nodeId:h?.nodeId,itemMetadata:eb}),C=s.useMemo(()=>({disabled:u,highlighted:b,checked:S}),[u,b,S]),w=(0,ed.useStableCallback)(e=>{let t={...(0,eI.createChangeEventDetails)(el.REASONS.itemPress,e.nativeEvent),preventUnmountOnClose:()=>{}};p?.(!S,t),t.isCanceled||E(e=>!e)}),T=(0,en.useRenderElement)("div",e,{state:C,stateAttributesMapping:eT,props:[y,{role:"menuitemcheckbox","aria-checked":S,onClick:w},m,R],ref:[k,t,g.ref]});return(0,a.jsx)(ep.Provider,{value:C,children:T})});var eN=e.i(88841),eM=e.i(89269);let ej=s.forwardRef(function(e,t){let{render:n,className:r,keepMounted:a=!1,...o}=e,i=function(){let e=s.useContext(ep);if(void 0===e)throw Error((0,X.default)(30));return e}(),l=s.useRef(null),{transitionStatus:u,setMounted:c}=(0,eN.useTransitionStatus)(i.checked);(0,eM.useOpenChangeComplete)({open:i.checked,ref:l,onComplete(){i.checked||c(!1)}});let d={checked:i.checked,disabled:i.disabled,highlighted:i.highlighted,transitionStatus:u};return(0,en.useRenderElement)("span",e,{state:d,ref:[t,l],stateAttributesMapping:eT,props:{"aria-hidden":!0,...o},enabled:a||i.checked})}),eA=s.createContext(void 0),eP=s.forwardRef(function(e,t){let{render:n,className:r,...o}=e,[i,l]=s.useState(void 0),u=s.useMemo(()=>({setLabelId:l}),[l]),c=(0,en.useRenderElement)("div",e,{ref:t,props:{role:"group","aria-labelledby":i,...o}});return(0,a.jsx)(eA.Provider,{value:u,children:c})}),eL=s.forwardRef(function(e,t){let{className:n,render:r,id:a,...o}=e,i=(0,eC.useBaseUiId)(a),{setLabelId:l}=function(){let e=s.useContext(eA);if(void 0===e)throw Error((0,X.default)(31));return e}();return(0,eS.useIsoLayoutEffect)(()=>(l(i),()=>{l(void 0)}),[l,i]),(0,en.useRenderElement)("div",e,{ref:t,props:{id:i,role:"presentation",...o}})}),eD=s.forwardRef(function(e,t){let{render:n,className:r,id:a,label:s,nativeButton:o=!1,disabled:i=!1,closeOnClick:l=!0,...u}=e,c=ek({label:s}),d=Q(!0),f=(0,eC.useBaseUiId)(a),{store:p}=et(),m=p.useState("isActive",c.index),g=p.useState("itemProps"),{getItemProps:h,itemRef:v}=ey({closeOnClick:l,disabled:i,highlighted:m,id:f,store:p,nativeButton:o,nodeId:d?.nodeId,itemMetadata:eb});return(0,en.useRenderElement)("div",e,{state:{disabled:i,highlighted:m},props:[g,u,h],ref:[v,t,c.ref]})}),eF=s.forwardRef(function(e,t){let{render:n,className:r,id:a,label:o,closeOnClick:i=!1,...l}=e,u=s.useRef(null),c=ek({label:o}),d=Q(!0),f=d?.nodeId,p=(0,eC.useBaseUiId)(a),{store:m}=et(),g=m.useState("isActive",c.index),h=m.useState("itemProps"),v=m.context.typingRef,{getButtonProps:x,buttonRef:b}=(0,eg.useButton)({native:!1,composite:!0}),y=ex({closeOnClick:i,highlighted:g,id:p,nodeId:f,store:m,typingRef:v,itemRef:u}),S=s.useMemo(()=>({highlighted:g}),[g]);return(0,en.useRenderElement)("a",e,{state:S,props:[h,l,function(e){return(0,eh.mergeProps)(y,e,x)}],ref:[u,b,t,c.ref]})});var e_=e.i(88306),eU=e.i(61896),eB=e.i(60752),ez=e.i(92238),eH=e.i(18847);let eW={...er.popupStateMapping,...es.transitionStatusMapping},eV=s.forwardRef(function(e,t){let{render:n,className:r,finalFocus:o,...i}=e,{store:l}=et(),{side:u,align:c}=Q(),d=null!=(0,eB.useToolbarRootContext)(!0),f=l.useState("open"),p=l.useState("transitionStatus"),m=l.useState("popupProps"),g=l.useState("mounted"),h=l.useState("instantType"),v=l.useState("activeTriggerElement"),x=l.useState("parent"),b=l.useState("lastOpenChangeReason"),y=l.useState("rootId"),S=l.useState("floatingRootContext"),E=l.useState("floatingTreeRoot"),R=l.useState("closeDelay"),k=l.useState("activeTriggerElement"),C="context-menu"===x.type;(0,eM.useOpenChangeComplete)({open:f,ref:l.context.popupRef,onComplete(){f&&l.context.onOpenChangeComplete?.(!0)}}),s.useEffect(()=>{function e(e){l.setOpen(!1,(0,eI.createChangeEventDetails)(e.reason,e.domEvent))}return E.events.on("close",e),()=>{E.events.off("close",e)}},[E.events,l]);let w=l.useState("hoverEnabled"),T=l.useState("disabled");(0,eU.useHoverFloatingInteraction)(S,{enabled:w&&!T&&!C&&"menubar"!==x.type,closeDelay:R});let I={transitionStatus:p,side:u,align:c,open:f,nested:"menu"===x.type,instant:h},O=s.useCallback(e=>{l.set("popupElement",e)},[l]),N=(0,en.useRenderElement)("div",e,{state:I,ref:[t,l.context.popupRef,O],stateAttributesMapping:eW,props:[m,{onKeyDown(e){d&&ez.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,eH.getDisabledMountTransitionStyles)(p),i,{"data-rootownerid":y}]}),M=void 0===x.type||C;return(v||"menubar"===x.type&&b!==el.REASONS.outsidePress)&&(M=!0),(0,a.jsx)(e_.FloatingFocusManager,{context:S,modal:C,disabled:!g,returnFocus:void 0===o?M:o,initialFocus:"menu"!==x.type,restoreFocus:!0,externalTree:"menubar"!==x.type?E:void 0,previousFocusableElement:k,nextFocusableElement:void 0===x.type?l.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:void 0===x.type?l.context.beforeContentFocusGuardRef:void 0,children:N})});var eG=e.i(37692);let e$=s.createContext(void 0),eK=s.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:s}=et();return s.useState("mounted")||n?(0,a.jsx)(e$.Provider,{value:n,children:(0,a.jsx)(eG.FloatingPortal,{ref:t,...r})}):null});var eY=e.i(58130),eq=e.i(66745),eJ=e.i(51665),eX=e.i(56590),eZ=e.i(30628);function eQ(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:o}=e,i=(0,ed.useStableCallback)(o),l=s.useRef(0),u=(0,eZ.useRefWithInit)(e1).current,c=(0,eZ.useRefWithInit)(e0).current,[d,f]=s.useState(0),p=s.useRef(d),m=(0,ed.useStableCallback)((e,t)=>{c.set(e,t??null),p.current+=1,f(p.current)}),g=(0,ed.useStableCallback)(e=>{c.delete(e),p.current+=1,f(p.current)}),h=s.useMemo(()=>{let e=new Map;return Array.from(c.keys()).filter(e=>e.isConnected).sort(e2).forEach((t,n)=>{let r=c.get(t)??{};e.set(t,{...r,index:n})}),e},[c,d]);(0,eS.useIsoLayoutEffect)(()=>{if("function"!=typeof MutationObserver||0===h.size)return;let e=new MutationObserver(e=>{let t=new Set,n=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(n),e.addedNodes.forEach(n)}),0===t.size&&(p.current+=1,f(p.current))});return h.forEach((t,n)=>{n.parentElement&&e.observe(n.parentElement,{childList:!0})}),()=>{e.disconnect()}},[h]),(0,eS.useIsoLayoutEffect)(()=>{p.current===d&&(n.current.length!==h.size&&(n.current.length=h.size),r&&r.current.length!==h.size&&(r.current.length=h.size),l.current=h.size),i(h)},[i,h,n,r,d]),(0,eS.useIsoLayoutEffect)(()=>()=>{n.current=[]},[n]),(0,eS.useIsoLayoutEffect)(()=>()=>{r&&(r.current=[])},[r]);let v=(0,ed.useStableCallback)(e=>(u.add(e),()=>{u.delete(e)}));(0,eS.useIsoLayoutEffect)(()=>{u.forEach(e=>e(h))},[u,h]);let x=s.useMemo(()=>({register:m,unregister:g,subscribeMapChange:v,elementsRef:n,labelsRef:r,nextIndexRef:l}),[m,g,v,n,r,l]);return(0,a.jsx)(eE.Provider,{value:x,children:t})}function e0(){return new Map}function e1(){return new Set}function e2(e,t){let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}var e5=e.i(36893),e4=e.i(7335),e3=e.i(67569),e6=e.i(77817);let e8=s.forwardRef(function(e,t){let{anchor:n,positionMethod:r="absolute",className:o,render:i,side:l,align:u,sideOffset:c=0,alignOffset:d=0,collisionBoundary:f="clipping-ancestors",collisionPadding:p=5,arrowPadding:m=5,sticky:g=!1,disableAnchorTracking:h=!1,collisionAvoidance:v=e4.DROPDOWN_COLLISION_AVOIDANCE,...x}=e,{store:b}=et(),y=function(){let e=s.useContext(e$);if(void 0===e)throw Error((0,X.default)(32));return e}(),S=ei(!0),E=b.useState("parent"),R=b.useState("floatingRootContext"),k=b.useState("floatingTreeRoot"),C=b.useState("mounted"),w=b.useState("open"),T=b.useState("modal"),I=b.useState("activeTriggerElement"),O=b.useState("transitionStatus"),N=b.useState("positionerElement"),M=b.useState("instantType"),j=b.useState("hasViewport"),A=b.useState("lastOpenChangeReason"),P=b.useState("floatingNodeId"),L=b.useState("floatingParentNodeId"),D=R.useState("domReferenceElement"),F=s.useRef(null),_=(0,e6.useAnimationsFinished)(N,!1,!1),U=n,B=c,z=d,H=u,W=v;"context-menu"===E.type&&(U=n??E.context?.anchor,H=H??"start",l||"center"===H||(z=e.alignOffset??2,B=e.sideOffset??-5));let V=l,G=H;"menu"===E.type?(V=V??"inline-end",G=G??"start",W=e.collisionAvoidance??e4.POPUP_COLLISION_AVOIDANCE):"menubar"===E.type&&(V=V??"bottom",G=G??"start");let $="context-menu"===E.type,K=(0,eX.useAnchorPositioning)({anchor:U,floatingRootContext:R,positionMethod:S?"fixed":r,mounted:C,side:V,sideOffset:B,align:G,alignOffset:z,arrowPadding:$?0:m,collisionBoundary:f,collisionPadding:p,sticky:g,nodeId:P,keepMounted:y,disableAnchorTracking:h,collisionAvoidance:W,shiftCrossAxis:$&&!("side"in W&&"flip"===W.side),externalTree:k,adaptiveOrigin:j?e3.adaptiveOrigin:void 0}),Y=s.useMemo(()=>{let e={};return w||(e.pointerEvents="none"),{role:"presentation",hidden:!C,style:{...K.positionerStyles,...e}}},[w,C,K.positionerStyles]);s.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===P&&b.set("hoverEnabled",!1),e.nodeId!==P&&e.parentNodeId===b.select("floatingParentNodeId")&&b.setOpen(!1,(0,eI.createChangeEventDetails)(el.REASONS.siblingOpen)))}return k.events.on("menuopenchange",e),()=>{k.events.off("menuopenchange",e)}},[b,k.events,P]),s.useEffect(()=>{if(null!=b.select("floatingParentNodeId"))return k.events.on("menuopenchange",e),()=>{k.events.off("menuopenchange",e)};function e(e){if(e.open||e.nodeId!==b.select("floatingParentNodeId"))return;let t=e.reason??el.REASONS.siblingOpen;b.setOpen(!1,(0,eI.createChangeEventDetails)(t))}},[k.events,b]);let q=(0,eq.useTimeout)();s.useEffect(()=>{w||q.clear()},[w,q]),s.useEffect(()=>{function e(e){if(w&&e.nodeId===b.select("floatingParentNodeId"))if(e.target&&I&&I!==e.target){let e=b.select("closeDelay");e>0?q.isStarted()||q.start(e,()=>{b.setOpen(!1,(0,eI.createChangeEventDetails)(el.REASONS.siblingOpen))}):b.setOpen(!1,(0,eI.createChangeEventDetails)(el.REASONS.siblingOpen))}else q.clear()}return k.events.on("itemhover",e),()=>{k.events.off("itemhover",e)}},[k.events,w,I,b,q]),s.useEffect(()=>{let e={open:w,nodeId:P,parentNodeId:L,reason:b.select("lastOpenChangeReason")};k.events.emit("menuopenchange",e)},[k.events,w,b,P,L]),(0,eS.useIsoLayoutEffect)(()=>{let e=F.current;if(D&&(F.current=D),e&&D&&D!==e){b.set("instantType",void 0);let e=new AbortController;return _(()=>{b.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[D,_,b]);let J={open:w,side:K.side,align:K.align,anchorHidden:K.anchorHidden,nested:"menu"===E.type,instant:M},Q=s.useMemo(()=>({side:K.side,align:K.align,arrowRef:K.arrowRef,arrowUncentered:K.arrowUncentered,arrowStyles:K.arrowStyles,nodeId:K.context.nodeId}),[K.side,K.align,K.arrowRef,K.arrowUncentered,K.arrowStyles,K.context.nodeId]),ee=(0,en.useRenderElement)("div",e,{state:J,stateAttributesMapping:er.popupStateMapping,ref:[t,b.useStateSetter("positionerElement")],props:[Y,(0,eH.getDisabledMountTransitionStyles)(O),x]}),ea=C&&"menu"!==E.type&&("menubar"!==E.type&&T&&A!==el.REASONS.triggerHover||"menubar"===E.type&&E.context.modal),es=null;return"menubar"===E.type?es=E.context.contentElement:void 0===E.type&&(es=I),(0,a.jsxs)(Z.Provider,{value:Q,children:[ea&&(0,a.jsx)(e5.InternalBackdrop,{ref:"context-menu"===E.type||"nested-context-menu"===E.type?E.context.internalBackdropRef:null,inert:(0,eY.inertValue)(!w),cutout:es}),(0,a.jsx)(eJ.FloatingNode,{id:P,children:(0,a.jsx)(eQ,{elementsRef:b.context.itemDomElements,labelsRef:b.context.itemLabels,children:ee})})]})}),e9=s.createContext(void 0),e7=s.memo(s.forwardRef(function(e,t){let{render:n,className:r,value:o,defaultValue:i,onValueChange:l,disabled:u=!1,...c}=e,[d,f]=(0,ef.useControlled)({controlled:o,default:i,name:"MenuRadioGroup"}),p=(0,ed.useStableCallback)(l),m=(0,ed.useStableCallback)((e,t)=>{p?.(e,t),t.isCanceled||f(e)}),g=(0,en.useRenderElement)("div",e,{state:{disabled:u},ref:t,props:{role:"group","aria-disabled":u||void 0,...c}}),h=s.useMemo(()=>({value:d,setValue:m,disabled:u}),[d,m,u]);return(0,a.jsx)(e9.Provider,{value:h,children:g})})),te=s.createContext(void 0),tt=s.forwardRef(function(e,t){let{render:n,className:r,id:o,label:i,nativeButton:l=!1,disabled:u=!1,closeOnClick:c=!1,value:d,...f}=e,p=ek({label:i}),m=Q(!0),g=(0,eC.useBaseUiId)(o),{store:h}=et(),v=h.useState("isActive",p.index),x=h.useState("itemProps"),{value:b,setValue:y,disabled:S}=function(){let e=s.useContext(e9);if(void 0===e)throw Error((0,X.default)(34));return e}(),E=S||u,R=b===d,{getItemProps:k,itemRef:C}=ey({closeOnClick:c,disabled:E,highlighted:v,id:g,store:h,nativeButton:l,nodeId:m?.nodeId,itemMetadata:eb}),w=s.useMemo(()=>({disabled:E,highlighted:v,checked:R}),[E,v,R]),T=(0,ed.useStableCallback)(e=>{y(d,{...(0,eI.createChangeEventDetails)(el.REASONS.itemPress,e.nativeEvent),preventUnmountOnClose:()=>{}})}),I=(0,en.useRenderElement)("div",e,{state:w,stateAttributesMapping:eT,props:[x,{role:"menuitemradio","aria-checked":R,onClick:T},f,k],ref:[C,t,p.ref]});return(0,a.jsx)(te.Provider,{value:w,children:I})}),tn=s.forwardRef(function(e,t){let{render:n,className:r,keepMounted:a=!1,...o}=e,i=function(){let e=s.useContext(te);if(void 0===e)throw Error((0,X.default)(35));return e}(),l=s.useRef(null),{transitionStatus:u,setMounted:c}=(0,eN.useTransitionStatus)(i.checked);(0,eM.useOpenChangeComplete)({open:i.checked,ref:l,onComplete(){i.checked||c(!1)}});let d={checked:i.checked,disabled:i.disabled,highlighted:i.highlighted,transitionStatus:u};return(0,en.useRenderElement)("span",e,{state:d,stateAttributesMapping:eT,ref:[t,l],props:{"aria-hidden":!0,...o},enabled:a||i.checked})});var tr=e.i(83799),ta=e.i(58509),ts=e.i(66196),to=e.i(17514),ti=e.i(3851),tl=e.i(33605),tu=e.i(89633),tc=e.i(29315),td=e.i(231),tf=e.i(90219),tp=e.i(47857),tm=e.i(82033),tg=e.i(43801),th=e.i(98442),tv=e.i(494);function tx(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}function tb(e,t){return tx(t,e===tv.ARROW_UP||e===tv.ARROW_DOWN,e===tv.ARROW_LEFT||e===tv.ARROW_RIGHT)}function ty(e,t,n){return tx(t,e===tv.ARROW_DOWN,n?e===tv.ARROW_LEFT:e===tv.ARROW_RIGHT)||"Enter"===e||" "===e||""===e}var tS=e.i(26665),tE=e.i(6157);let tR=s.createContext(null);function tk(e){let t=s.useContext(tR);if(null===t&&!e)throw Error((0,X.default)(5));return t}var tC=e.i(79144),tw=e.i(50091),tT=e.i(83921),tI=e.i(98263),tO=e.i(89429),tN=e.i(628),tM=e.i(69375);let tj={...tN.popupStoreSelectors,disabled:(0,tT.createSelector)(e=>"menubar"===e.parent.type&&e.parent.context.disabled||e.disabled),modal:(0,tT.createSelector)(e=>(void 0===e.parent.type||"context-menu"===e.parent.type)&&(e.modal??!0)),allowMouseEnter:(0,tT.createSelector)(e=>e.allowMouseEnter),stickIfOpen:(0,tT.createSelector)(e=>e.stickIfOpen),parent:(0,tT.createSelector)(e=>e.parent),rootId:(0,tT.createSelector)(e=>"menu"===e.parent.type?e.parent.store.select("rootId"):void 0!==e.parent.type?e.parent.context.rootId:e.rootId),activeIndex:(0,tT.createSelector)(e=>e.activeIndex),isActive:(0,tT.createSelector)((e,t)=>e.activeIndex===t),hoverEnabled:(0,tT.createSelector)(e=>e.hoverEnabled),instantType:(0,tT.createSelector)(e=>e.instantType),lastOpenChangeReason:(0,tT.createSelector)(e=>e.openChangeReason),floatingTreeRoot:(0,tT.createSelector)(e=>"menu"===e.parent.type?e.parent.store.select("floatingTreeRoot"):e.floatingTreeRoot),floatingNodeId:(0,tT.createSelector)(e=>e.floatingNodeId),floatingParentNodeId:(0,tT.createSelector)(e=>e.floatingParentNodeId),itemProps:(0,tT.createSelector)(e=>e.itemProps),closeDelay:(0,tT.createSelector)(e=>e.closeDelay),hasViewport:(0,tT.createSelector)(e=>e.hasViewport),keyboardEventRelay:(0,tT.createSelector)(e=>e.keyboardEventRelay?e.keyboardEventRelay:"menu"===e.parent.type?e.parent.store.select("keyboardEventRelay"):void 0)};class tA extends tI.ReactStore{constructor(e){super({...{...(0,tN.createInitialPopupStoreState)(),disabled:!1,modal:!0,allowMouseEnter:!1,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new tO.FloatingTreeStore,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:to.EMPTY_OBJECT,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1},...e},{positionerRef:s.createRef(),popupRef:s.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:s.createRef(),beforeContentFocusGuardRef:s.createRef(),onOpenChangeComplete:void 0,triggerElements:new tM.PopupTriggerMap},tj),this.unsubscribeParentListener=this.observe("parent",e=>{if(this.unsubscribeParentListener?.(),"menu"===e.type){let t=e.store.select("rootId"),n=e.store.select("floatingTreeRoot"),r=e.store.select("keyboardEventRelay");this.unsubscribeParentListener=e.store.subscribe(()=>{let a=e.store.select("rootId"),s=e.store.select("floatingTreeRoot"),o=e.store.select("keyboardEventRelay");(t!==a||n!==s||r!==o)&&(t=a,n=s,r=o,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}void 0!==e.type&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:t})}static useStore(e,t){let n=(0,eZ.useRefWithInit)(()=>new tA(t)).current;return e??n}unsubscribeParentListener=null}var tP=e.i(58642);let tL=s.createContext(void 0);function tD(){return s.useContext(tL)}let tF=(0,ti.fastComponent)(function(e){let t,n,{children:r,open:o,onOpenChange:i,onOpenChangeComplete:l,defaultOpen:u=!1,disabled:c=!1,modal:d,loopFocus:f=!0,orientation:p="vertical",actionsRef:m,closeParentOnEsc:g=!1,handle:h,triggerId:v,defaultTriggerId:x=null,highlightItemOnHover:b=!0}=e,y=ei(!0),S=et(!0),E=tk(!0),R=tD(),k=s.useMemo(()=>R&&S?{type:"menu",store:S.store}:E?{type:"menubar",context:E}:y&&!S?{type:"context-menu",context:y}:{type:void 0},[y,S,E,R]),C=tA.useStore(h?.store,{open:u,openProp:o,activeTriggerId:x,triggerIdProp:v,parent:k});(0,ta.useOnFirstRender)(()=>{void 0===o&&!1===C.state.open&&!0===u&&C.update({open:!0,activeTriggerId:x})}),C.useControlledProp("openProp",o),C.useControlledProp("triggerIdProp",v),C.useContextCallback("onOpenChangeComplete",l);let w=C.useState("floatingTreeRoot"),T=(0,eJ.useFloatingNodeId)(w),I=(0,eJ.useFloatingParentNodeId)();(0,eS.useIsoLayoutEffect)(()=>{y&&!S?C.update({parent:{type:"context-menu",context:y},floatingNodeId:T,floatingParentNodeId:I}):S&&C.update({floatingNodeId:T,floatingParentNodeId:I})},[y,S,T,I,C]);let O=C.useState("open"),N=C.useState("activeTriggerElement"),M=C.useState("positionerElement"),j=C.useState("hoverEnabled"),A=C.useState("modal"),P=C.useState("disabled"),L=C.useState("lastOpenChangeReason"),D=C.useState("parent"),F=C.useState("activeIndex"),_=C.useState("payload"),U=C.useState("floatingParentNodeId"),B=s.useRef(null),z=null!=U;C.useSyncedValues({disabled:c,modal:void 0===D.type?d:void 0,rootId:(0,tr.useId)()});let{openMethod:H,triggerProps:W}=(0,tw.useOpenInteractionType)(O);(0,tP.useImplicitActiveTrigger)(C);let{forceUnmount:V}=(0,tP.useOpenStateTransitions)(O,C,()=>{C.update({allowMouseEnter:!1,stickIfOpen:!0})}),G=s.useRef("context-menu"!==D.type),$=(0,eq.useTimeout)();s.useEffect(()=>{if(O||(B.current=null),"context-menu"===D.type){if(!O){$.clear(),G.current=!1;return}$.start(500,()=>{G.current=!0})}},[$,O,D.type]),(0,ts.useScrollLock)(O&&A&&L!==el.REASONS.triggerHover&&"touch"!==H,M),(0,eS.useIsoLayoutEffect)(()=>{O||j||C.set("hoverEnabled",!0)},[O,j,C]);let K=s.useRef(!0),Y=(0,eq.useTimeout)(),q=(0,ed.useStableCallback)((e,n)=>{let r=n.reason;if(O===e&&n.trigger===N&&L===r||(n.preventUnmountOnClose=()=>{C.set("preventUnmountingOnClose",!0)},e||null!=n.trigger||(n.trigger=N??void 0),i?.(e,n),n.isCanceled))return;let a={open:e,nativeEvent:n.event,reason:n.reason,nested:z};t?.emit("openchange",a);let s=n.event;if(!1===e&&s?.type==="click"&&"touch"===s.pointerType&&!K.current)return;if(!e&&null!==F){let e=C.context.itemDomElements.current[F];queueMicrotask(()=>{e?.setAttribute("tabindex","-1")})}e&&r===el.REASONS.triggerFocus?(K.current=!1,Y.start(300,()=>{K.current=!0})):(K.current=!0,Y.clear());let o=(r===el.REASONS.triggerPress||r===el.REASONS.itemPress)&&0===s.detail&&s?.isTrusted,l=!e&&(r===el.REASONS.escapeKey||null==r),u={open:e,openChangeReason:r};B.current=n.event??null;let c=n.trigger?.id??null;(c||e)&&(u.activeTriggerId=c,u.activeTriggerElement=n.trigger??null),C.update(u),"menubar"===D.type&&(r===el.REASONS.triggerFocus||r===el.REASONS.focusOut||r===el.REASONS.triggerHover||r===el.REASONS.listNavigation||r===el.REASONS.siblingOpen)?C.set("instantType","group"):o||l?C.set("instantType",o?"click":"dismiss"):C.set("instantType",void 0)}),J=s.useCallback(e=>{let t=(0,eI.createChangeEventDetails)(e);return t.preventUnmountOnClose=()=>{C.set("preventUnmountingOnClose",!0)},t},[C]),X=s.useCallback(()=>{C.setOpen(!1,J(el.REASONS.imperativeAction))},[C,J]);s.useImperativeHandle(m,()=>({unmount:V,close:X}),[V,X]),"context-menu"===D.type&&(n=D.context),s.useImperativeHandle(n?.positionerRef,()=>M,[M]),s.useImperativeHandle(n?.actionsRef,()=>({setOpen:q}),[q]);let Z=(0,tE.useSyncedFloatingRootContext)({popupStore:C,onOpenChange:q});t=Z.context.events,s.useEffect(()=>{let e=({open:e,eventDetails:t})=>q(e,t);return t.on("setOpen",e),()=>{t?.off("setOpen",e)}},[t,q]);let Q=(0,tl.useDismiss)(Z,{enabled:!P,bubbles:{escapeKey:g&&"menu"===D.type},outsidePress:()=>"context-menu"!==D.type||B.current?.type==="contextmenu"||G.current,externalTree:z?w:void 0}),en=(0,tS.useRole)(Z,{role:"menu"}),er=(0,tC.useDirection)(),ea=s.useCallback(e=>{C.select("activeIndex")!==e&&C.set("activeIndex",e)},[C]),es=function(e,t){let n="rootStore"in e?e.rootStore:e,r=n.useState("open"),a=n.useState("floatingElement"),o=n.useState("domReferenceElement"),i=n.context.dataRef,{listRef:l,activeIndex:u,onNavigate:c=()=>{},enabled:d=!0,selectedIndex:f=null,allowEscape:p=!1,loopFocus:m=!1,nested:g=!1,rtl:h=!1,virtual:v=!1,focusItemOnOpen:x="auto",focusItemOnHover:b=!0,openOnArrowKeyDown:y=!0,disabledIndices:S,orientation:E="vertical",parentOrientation:R,cols:k=1,id:C,resetOnPointerLeave:w=!0,externalTree:T}=t,I=(0,tp.getFloatingFocusElement)(a),O=(0,td.useValueAsRef)(I),N=(0,eJ.useFloatingParentNodeId)(),M=(0,eJ.useFloatingTree)(T);(0,eS.useIsoLayoutEffect)(()=>{i.current.orientation=E},[i,E]);let j=(0,tp.isTypeableCombobox)(o),A=s.useRef(x),P=s.useRef(f??-1),L=s.useRef(null),D=s.useRef(!0),F=(0,ed.useStableCallback)(e=>{c(-1===P.current?null:P.current,e)}),_=s.useRef(F),U=s.useRef(!!a),B=s.useRef(r),z=s.useRef(!1),H=s.useRef(!1),W=(0,td.useValueAsRef)(S),V=(0,td.useValueAsRef)(r),G=(0,td.useValueAsRef)(f),$=(0,td.useValueAsRef)(w),K=(0,ed.useStableCallback)(()=>{function e(e){v?M?.events.emit("virtualfocus",e):(0,th.enqueueFocus)(e,{sync:z.current,preventScroll:!0})}let t=l.current[P.current],n=H.current;t&&e(t),(z.current?e=>e():requestAnimationFrame)(()=>{let r=l.current[P.current]||t;!r||(t||e(r),q&&(n||!D.current)&&r.scrollIntoView?.({block:"nearest",inline:"nearest"}))})});(0,eS.useIsoLayoutEffect)(()=>{d&&(r&&a?(P.current=f??-1,A.current&&null!=f&&(H.current=!0,F())):U.current&&(P.current=-1,_.current()))},[d,r,a,f,F]),(0,eS.useIsoLayoutEffect)(()=>{if(d){if(!r){z.current=!1;return}if(a)if(null==u){if(z.current=!1,null!=G.current)return;if(U.current&&(P.current=-1,K()),(!B.current||!U.current)&&A.current&&(null!=L.current||!0===A.current&&null==L.current)){let e=0,t=()=>{null==l.current[0]?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e+=1):(P.current=null==L.current||ty(L.current,E,h)||g?(0,tg.getMinListIndex)(l):(0,tg.getMaxListIndex)(l),L.current=null,F())};t()}}else(0,tg.isIndexOutOfListBounds)(l,u)||(P.current=u,K(),H.current=!1)}},[d,r,a,u,G,g,l,E,h,F,K,W]),(0,eS.useIsoLayoutEffect)(()=>{if(!d||a||!M||v||!U.current)return;let e=M.nodesRef.current,t=e.find(e=>e.id===N)?.context?.elements.floating,n=(0,tp.activeElement)((0,tf.ownerDocument)(a)),r=e.some(e=>e.context&&(0,tp.contains)(e.context.elements.floating,n));t&&!r&&D.current&&t.focus({preventScroll:!0})},[d,a,M,N,v]),(0,eS.useIsoLayoutEffect)(()=>{_.current=F,B.current=r,U.current=!!a}),(0,eS.useIsoLayoutEffect)(()=>{r||(L.current=null,A.current=x)},[r,x]);let Y=null!=u,q=s.useMemo(()=>{function e(e){if(!V.current)return;let t=l.current.indexOf(e.currentTarget);-1!==t&&P.current!==t&&(P.current=t,F(e))}return{onFocus(t){z.current=!0,e(t)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(t){z.current=!0,H.current=!1,b&&e(t)},onPointerLeave(e){if(!V.current||!D.current||"touch"===e.pointerType)return;z.current=!0;let t=e.relatedTarget;if(!(!b||l.current.includes(t))&&$.current&&((0,th.enqueueFocus)(null,{sync:!0}),P.current=-1,F(e),!v)){let e=O.current,t=(0,tp.activeElement)((0,tf.ownerDocument)(e));e&&(0,tp.contains)(e,t)&&e.focus({preventScroll:!0})}}}},[V,O,b,l,F,$,v]),J=s.useCallback(()=>R??M?.nodesRef.current.find(e=>e.id===N)?.context?.dataRef?.current.orientation,[N,M,R]),X=(0,ed.useStableCallback)(e=>{var t;let a,s;if(D.current=!1,z.current=!0,229===e.which||!V.current&&e.currentTarget===O.current)return;if(g&&(t=e.key,a=h?t===tv.ARROW_RIGHT:t===tv.ARROW_LEFT,s=t===tv.ARROW_UP,"both"===E||"horizontal"===E&&k&&k>1?"Escape"===t:tx(E,a,s))){tb(e.key,J())||(0,tm.stopEvent)(e),n.setOpen(!1,(0,eI.createChangeEventDetails)(el.REASONS.listNavigation,e.nativeEvent)),(0,tc.isHTMLElement)(o)&&(v?M?.events.emit("virtualfocus",o):o.focus());return}let i=P.current,u=(0,tg.getMinListIndex)(l,S),c=(0,tg.getMaxListIndex)(l,S);if(j||("Home"===e.key&&((0,tm.stopEvent)(e),P.current=u,F(e)),"End"===e.key&&((0,tm.stopEvent)(e),P.current=c,F(e))),k>1){let t=Array.from({length:l.current.length},()=>({width:1,height:1})),n=(0,tg.createGridCellMap)(t,k,!1),r=n.findIndex(e=>null!=e&&!(0,tg.isListIndexDisabled)(l,e,S)),a=n.reduce((e,t,n)=>null==t||(0,tg.isListIndexDisabled)(l,t,S)?e:n,-1),s=n[(0,tg.getGridNavigatedIndex)({current:n.map(e=>null!=e?l.current[e]:null)},{event:e,orientation:E,loopFocus:m,rtl:h,cols:k,disabledIndices:(0,tg.getGridCellIndices)([...("function"!=typeof S?S:null)||l.current.map((e,t)=>(0,tg.isListIndexDisabled)(l,t,S)?t:void 0),void 0],n),minIndex:r,maxIndex:a,prevIndex:(0,tg.getGridCellIndexOfCorner)(P.current>c?u:P.current,t,n,k,e.key===tv.ARROW_DOWN?"bl":e.key===(h?tv.ARROW_LEFT:tv.ARROW_RIGHT)?"tr":"tl"),stopEvent:!0})];if(null!=s&&(P.current=s,F(e)),"both"===E)return}if(tb(e.key,E)){if((0,tm.stopEvent)(e),r&&!v&&(0,tp.activeElement)(e.currentTarget.ownerDocument)===e.currentTarget){P.current=ty(e.key,E,h)?u:c,F(e);return}ty(e.key,E,h)?m?i>=c?p&&i!==l.current.length?P.current=-1:(z.current=!1,P.current=u):P.current=(0,tg.findNonDisabledListIndex)(l,{startingIndex:i,disabledIndices:S}):P.current=Math.min(c,(0,tg.findNonDisabledListIndex)(l,{startingIndex:i,disabledIndices:S})):m?i<=u?p&&-1!==i?P.current=l.current.length:(z.current=!1,P.current=c):P.current=(0,tg.findNonDisabledListIndex)(l,{startingIndex:i,decrement:!0,disabledIndices:S}):P.current=Math.max(u,(0,tg.findNonDisabledListIndex)(l,{startingIndex:i,decrement:!0,disabledIndices:S})),(0,tg.isIndexOutOfListBounds)(l,P.current)&&(P.current=-1),F(e)}}),Z=s.useMemo(()=>v&&r&&Y&&{"aria-activedescendant":`${C}-${u}`},[v,r,Y,C,u]),Q=s.useMemo(()=>({"aria-orientation":"both"===E?void 0:E,...!j?Z:{},onKeyDown(e){if("Tab"===e.key&&e.shiftKey&&r&&!v){let t=(0,tp.getTarget)(e.nativeEvent);if(t&&!(0,tp.contains)(O.current,t))return;(0,tm.stopEvent)(e),n.setOpen(!1,(0,eI.createChangeEventDetails)(el.REASONS.focusOut,e.nativeEvent)),(0,tc.isHTMLElement)(o)&&o.focus();return}X(e)},onPointerMove(){D.current=!0}}),[Z,X,O,E,j,n,r,v,o]),ee=s.useMemo(()=>{function e(e){"auto"===x&&(0,tm.isVirtualClick)(e.nativeEvent)&&(A.current=!v)}function t(e){A.current=x,"auto"===x&&(0,tm.isVirtualPointerEvent)(e.nativeEvent)&&(A.current=!0)}return{onKeyDown(e){var t,r;let a=n.select("open");D.current=!1;let s=e.key.startsWith("Arrow"),o=(t=e.key,r=J(),tx(r,h?t===tv.ARROW_LEFT:t===tv.ARROW_RIGHT,t===tv.ARROW_DOWN)),i=tb(e.key,E),u=(g?o:i)||"Enter"===e.key||""===e.key.trim();if(v&&a)return X(e);if(a||y||!s){if(u){let t=tb(e.key,J());L.current=g&&t?null:e.key}if(g){o&&((0,tm.stopEvent)(e),a?(P.current=(0,tg.getMinListIndex)(l,W.current),F(e)):n.setOpen(!0,(0,eI.createChangeEventDetails)(el.REASONS.listNavigation,e.nativeEvent,e.currentTarget)));return}i&&(null!=G.current&&(P.current=G.current),(0,tm.stopEvent)(e),!a&&y?n.setOpen(!0,(0,eI.createChangeEventDetails)(el.REASONS.listNavigation,e.nativeEvent,e.currentTarget)):X(e),a&&F(e))}},onFocus(e){n.select("open")&&!v&&(P.current=-1,F(e))},onPointerDown:t,onPointerEnter:t,onMouseDown:e,onClick:e}},[X,W,x,l,g,F,n,y,E,J,h,G,v]),et=s.useMemo(()=>({...Z,...ee}),[Z,ee]);return s.useMemo(()=>d?{reference:et,floating:Q,item:q,trigger:ee}:{},[d,et,Q,ee,q])}(Z,{enabled:!P,listRef:C.context.itemDomElements,activeIndex:F,nested:void 0!==D.type,loopFocus:f,orientation:p,parentOrientation:"menubar"===D.type?D.context.orientation:void 0,rtl:"rtl"===er,disabledIndices:to.EMPTY_ARRAY,onNavigate:ea,openOnArrowKeyDown:"context-menu"!==D.type,externalTree:z?w:void 0,focusItemOnHover:b}),eo=s.useCallback(e=>{C.context.typingRef.current=e},[C]),eu=function(e,t){let n="rootStore"in e?e.rootStore:e,r=n.context.dataRef,a=n.useState("open"),{listRef:o,elementsRef:i,activeIndex:l,onMatch:u,onTypingChange:c,enabled:d=!0,resetMs:f=750,selectedIndex:p=null}=t,m=(0,eq.useTimeout)(),g=s.useRef(""),h=s.useRef(p??l??-1),v=s.useRef(null);(0,eS.useIsoLayoutEffect)(()=>{(a||null===p)&&(m.clear(),v.current=null,""!==g.current&&(g.current=""))},[a,p,m]),(0,eS.useIsoLayoutEffect)(()=>{a&&""===g.current&&(h.current=p??l??-1)},[a,p,l]);let x=(0,ed.useStableCallback)(e=>{e?r.current.typing||(r.current.typing=e,c?.(e)):r.current.typing&&(r.current.typing=e,c?.(e))}),b=(0,ed.useStableCallback)(e=>{function t(e,n,r=0){if(0===e.length)return -1;let a=(r%e.length+e.length)%e.length,s=n.toLocaleLowerCase();for(let t=0;t<e.length;t+=1){let n=(a+t)%e.length,r=e[n];if(r?.toLocaleLowerCase().startsWith(s)&&function(e){let t=i?.current[e];return!t||(0,tg.isElementVisible)(t)}(n))return n}return -1}let n=o.current;if(g.current.length>0&&" "===e.key&&((0,tm.stopEvent)(e),x(!0)),g.current.length>0&&" "!==g.current[0]&&-1===t(n,g.current)&&" "!==e.key&&x(!1),null==n||1!==e.key.length||e.ctrlKey||e.metaKey||e.altKey)return;a&&" "!==e.key&&((0,tm.stopEvent)(e),x(!0));let r=""===g.current;r&&(h.current=p??l??-1),n.every(e=>!e||e[0]?.toLocaleLowerCase()!==e[1]?.toLocaleLowerCase())&&g.current===e.key&&(g.current="",h.current=v.current),g.current+=e.key,m.start(f,()=>{g.current="",h.current=v.current,x(!1)});let s=r?p??l??-1:h.current,c=t(n,g.current,(s??0)+1);-1!==c?(u?.(c),v.current=c):" "!==e.key&&(g.current="",x(!1))}),y=(0,ed.useStableCallback)(e=>{let t=e.relatedTarget,r=n.select("domReferenceElement"),a=n.select("floatingElement"),s=(0,tp.contains)(r,t),o=(0,tp.contains)(a,t);s||o||(m.clear(),g.current="",h.current=v.current,x(!1))}),S=s.useMemo(()=>({onKeyDown:b,onBlur:y}),[b,y]),E=s.useMemo(()=>({onKeyDown:b,onBlur:y}),[b,y]);return s.useMemo(()=>d?{reference:S,floating:E}:{},[d,S,E])}(Z,{listRef:C.context.itemLabels,elementsRef:C.context.itemDomElements,activeIndex:F,resetMs:e4.TYPEAHEAD_RESET_MS,onMatch:e=>{O&&e!==F&&C.set("activeIndex",e)},onTypingChange:eo}),{getReferenceProps:ec,getFloatingProps:ef,getItemProps:ep,getTriggerProps:em}=(0,tu.useInteractions)([Q,en,es,eu]),eg=s.useMemo(()=>{let e=(0,eh.mergeProps)(ec(),{onMouseMove(){C.set("allowMouseEnter",!0)}},W);return delete e.role,e},[ec,C,W]),ev=s.useMemo(()=>{let e=em();if(!e)return e;let t=(0,eh.mergeProps)(e,W);return delete t.role,delete t["aria-controls"],t},[em,W]),ex=s.useMemo(()=>ef({onMouseMove(){C.set("allowMouseEnter",!0),"menu"===D.type&&C.set("hoverEnabled",!1)},onClick(){C.select("hoverEnabled")&&C.set("hoverEnabled",!1)},onKeyDown(e){let t=C.select("keyboardEventRelay");t&&!e.isPropagationStopped()&&t(e)}}),[ef,D.type,C]),eb=s.useMemo(()=>ep(),[ep]);C.useSyncedValues({floatingRootContext:Z,activeTriggerProps:eg,inactiveTriggerProps:ev,popupProps:ex,itemProps:eb});let ey=s.useMemo(()=>({store:C,parent:k}),[C,k]),eE=(0,a.jsx)(ee.Provider,{value:ey,children:"function"==typeof r?r({payload:_}):r});return void 0===D.type||"context-menu"===D.type?(0,a.jsx)(eJ.FloatingTree,{externalTree:w,children:eE}):eE});var t_=e.i(74080),tU=e.i(37287),tB=e.i(4012),tz=e.i(32652);let tH=ev.isMac&&ev.isSafari;var tW=e.i(97254),tV=e.i(59266),tG=e.i(54694);function t$(e){let{render:t,className:n,state:r=to.EMPTY_OBJECT,props:a=to.EMPTY_ARRAY,refs:o=to.EMPTY_ARRAY,metadata:i,stateAttributesMapping:l,tag:u="div",...c}=e,{compositeProps:d,compositeRef:f}=function(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=(0,tG.useCompositeRootContext)(),{ref:a,index:o}=ek(e),i=n===o,l=s.useRef(null),u=(0,em.useMergedRefs)(a,l);return{compositeProps:s.useMemo(()=>({tabIndex:i?0:-1,onFocus(){r(o)},onMouseMove(){let e=l.current;if(!t||!e)return;let n=e.hasAttribute("disabled")||"true"===e.ariaDisabled;i||n||e.focus()}}),[i,r,o,t]),compositeRef:u,index:o}}({metadata:i});return(0,en.useRenderElement)(u,e,{state:r,ref:[...o,f],props:[d,...a,c],stateAttributesMapping:l})}var tK=e.i(72408);let tY=(0,ti.fastComponentRef)(function(e,t){let n,r,o,{render:i,className:l,disabled:u=!1,nativeButton:c=!0,id:d,openOnHover:f,delay:p=100,closeDelay:m=0,handle:g,payload:h,...v}=e,x=et(!0),b=g?.store??x?.store;if(!b)throw Error((0,X.default)(85));let y=(0,eC.useBaseUiId)(d),S=b.useState("isTriggerActive",y),E=b.useState("floatingRootContext"),R=b.useState("isOpenedByTrigger",y),k=s.useRef(null),C=(n=ei(!0),r=et(!0),o=tk(!0),s.useMemo(()=>o?{type:"menubar",context:o}:n&&!r?{type:"context-menu",context:n}:{type:void 0},[n,r,o])),w=(0,tG.useCompositeRootContext)(!0),T=(0,eJ.useFloatingTree)(),I=s.useMemo(()=>T??new tO.FloatingTreeStore,[T]),O=(0,eJ.useFloatingNodeId)(I),N=(0,eJ.useFloatingParentNodeId)(),{registerTrigger:M,isMountedByThisTrigger:j}=(0,tP.useTriggerDataForwarding)(y,k,b,{payload:h,closeDelay:m,parent:C,floatingTreeRoot:I,floatingNodeId:O,floatingParentNodeId:N,keyboardEventRelay:w?.relayKeyboardEvent}),A="menubar"===C.type,P=b.useState("disabled"),L=u||P||A&&C.context.disabled,{getButtonProps:D,buttonRef:F}=(0,eg.useButton)({disabled:L,native:c});s.useEffect(()=>{R||void 0!==C.type||(b.context.allowMouseUpTriggerRef.current=!1)},[b,R,C.type]);let _=s.useRef(null),U=(0,eq.useTimeout)(),B=(0,ed.useStableCallback)(e=>{if(!_.current)return;U.clear(),b.context.allowMouseUpTriggerRef.current=!1;let t=e.target;if((0,tp.contains)(_.current,t)||(0,tp.contains)(b.select("positionerElement"),t)||t===_.current||null!=t&&function e(t){return(0,tc.isHTMLElement)(t)&&t.hasAttribute("data-rootownerid")?t.getAttribute("data-rootownerid")??void 0:(0,tc.isLastTraversableNode)(t)?void 0:e((0,tc.getParentNode)(t))}(t)===b.select("rootId"))return;let n=function(e){let t=e.getBoundingClientRect(),n=window.getComputedStyle(e,"::before"),r=window.getComputedStyle(e,"::after");if("none"===n.content&&"none"===r.content)return t;let a=parseFloat(n.width)||0,s=parseFloat(n.height)||0,o=parseFloat(r.width)||0,i=parseFloat(r.height)||0,l=Math.max(t.width,a,o),u=Math.max(t.height,s,i),c=l-t.width,d=u-t.height;return{left:t.left-c/2,right:t.right+c/2,top:t.top-d/2,bottom:t.bottom+d/2}}(_.current);e.clientX>=n.left-2&&e.clientX<=n.right+2&&e.clientY>=n.top-2&&e.clientY<=n.bottom+2||I.events.emit("close",{domEvent:e,reason:el.REASONS.cancelOpen})});s.useEffect(()=>{R&&b.select("lastOpenChangeReason")===el.REASONS.triggerHover&&(0,tf.ownerDocument)(_.current).addEventListener("mouseup",B,{once:!0})},[R,B,b]);let z=A&&C.context.hasSubmenuOpen,H=f??z,W=(0,tW.useHoverReferenceInteraction)(E,{enabled:H&&!L&&"context-menu"!==C.type&&(!A||z&&!j),handleClose:(0,tU.safePolygon)({blockPointerEvents:!A}),mouseOnly:!0,move:!1,restMs:void 0===C.type?p:void 0,delay:{close:m},triggerElementRef:k,externalTree:I,isActiveTrigger:S}),V=function(e,t){let n=(0,eq.useTimeout)(),[r,a]=s.useState(!1);return(0,eS.useIsoLayoutEffect)(()=>{e&&"trigger-hover"===t?(a(!0),n.start(e4.PATIENT_CLICK_THRESHOLD,()=>{a(!1)})):e||(n.clear(),a(!1))},[e,t,n]),r}(R,b.select("lastOpenChangeReason")),G=(0,tB.useClick)(E,{enabled:!L&&"context-menu"!==C.type,event:R&&A?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:void 0===C.type&&V}),$=function(e,t={}){let n="rootStore"in e?e.rootStore:e,{events:r,dataRef:a}=n.context,{enabled:o=!0,delay:i}=t,l=s.useRef(!1),u=s.useRef(null),c=(0,eq.useTimeout)(),d=s.useRef(!0);s.useEffect(()=>{let e=n.select("domReferenceElement");if(!o)return;let t=(0,tc.getWindow)(e);function r(){let e=n.select("domReferenceElement");!n.select("open")&&(0,tc.isHTMLElement)(e)&&e===(0,tp.activeElement)((0,tf.ownerDocument)(e))&&(l.current=!0)}function a(){d.current=!0}function s(){d.current=!1}return t.addEventListener("blur",r),tH&&(t.addEventListener("keydown",a,!0),t.addEventListener("pointerdown",s,!0)),()=>{t.removeEventListener("blur",r),tH&&(t.removeEventListener("keydown",a,!0),t.removeEventListener("pointerdown",s,!0))}},[n,o]),s.useEffect(()=>{if(o)return r.on("openchange",e),()=>{r.off("openchange",e)};function e(e){if(e.reason===el.REASONS.triggerPress||e.reason===el.REASONS.escapeKey){let e=n.select("domReferenceElement");(0,tc.isElement)(e)&&(u.current=e,l.current=!0)}}},[r,o,n]);let f=s.useMemo(()=>({onMouseLeave(){l.current=!1,u.current=null},onFocus(e){let t=e.currentTarget;if(l.current){if(u.current===t)return;l.current=!1,u.current=null}let r=(0,tp.getTarget)(e.nativeEvent);if((0,tc.isElement)(r)){if(tH&&!e.relatedTarget){if(!d.current&&!(0,tp.isTypeableElement)(r))return}else if(!(0,tp.matchesFocusVisible)(r))return}let a=(0,tp.isTargetInsideEnabledTrigger)(e.relatedTarget,n.context.triggerElements),{nativeEvent:s,currentTarget:o}=e,f="function"==typeof i?i():i;n.select("open")&&a||0===f||void 0===f?n.setOpen(!0,(0,eI.createChangeEventDetails)(el.REASONS.triggerFocus,s,o)):c.start(f,()=>{l.current||n.setOpen(!0,(0,eI.createChangeEventDetails)(el.REASONS.triggerFocus,s,o))})},onBlur(e){l.current=!1,u.current=null;let t=e.relatedTarget,r=e.nativeEvent,s=(0,tc.isElement)(t)&&t.hasAttribute((0,tz.createAttribute)("focus-guard"))&&"outside"===t.getAttribute("data-type");c.start(0,()=>{let e=n.select("domReferenceElement"),o=(0,tp.activeElement)(e?e.ownerDocument:document);if(!t&&o===e||(0,tp.contains)(a.current.floatingContext?.refs.floating.current,o)||(0,tp.contains)(e,o)||s)return;let i=t??o;(0,tp.isTargetInsideEnabledTrigger)(i,n.context.triggerElements)||n.setOpen(!1,(0,eI.createChangeEventDetails)(el.REASONS.triggerFocus,r))})}}),[a,n,c,i]);return s.useMemo(()=>o?{reference:f,trigger:f}:{},[o,f])}(E,{enabled:!L&&z}),K=function(e){let{enabled:t=!0,mouseDownAction:n,open:r}=e,a=s.useRef(!1);return s.useMemo(()=>t?{onMouseDown:e=>{("open"===n&&!r||"close"===n&&r)&&(a.current=!0,(0,tf.ownerDocument)(e.currentTarget).addEventListener("click",()=>{a.current=!1},{once:!0}))},onClick:e=>{a.current&&(a.current=!1,e.preventBaseUIHandler())}}:to.EMPTY_OBJECT,[t,n,r])}({open:R,enabled:A,mouseDownAction:"open"}),Y=(0,tu.useInteractions)([G,$]),q={disabled:L,open:R},J=b.useState("triggerProps",j),Z=[_,t,F,M,k],Q=[Y.getReferenceProps(),W??to.EMPTY_OBJECT,J,{"aria-haspopup":"menu",id:y,onMouseDown:e=>{b.select("open")||(U.start(200,()=>{b.context.allowMouseUpTriggerRef.current=!0}),(0,tf.ownerDocument)(e.currentTarget).addEventListener("mouseup",B,{once:!0}))}},A?{role:"menuitem"}:{},K,v,D],ee=s.useRef(null),ea=(0,ed.useStableCallback)(e=>{t_.flushSync(()=>{b.setOpen(!1,(0,eI.createChangeEventDetails)(el.REASONS.focusOut,e.nativeEvent,e.currentTarget))});let t=(0,tV.getTabbableBeforeElement)(ee.current);t?.focus()}),es=(0,ed.useStableCallback)(e=>{let t=b.select("positionerElement");if(t&&(0,tV.isOutsideEvent)(e,t))b.context.beforeContentFocusGuardRef.current?.focus();else{t_.flushSync(()=>{b.setOpen(!1,(0,eI.createChangeEventDetails)(el.REASONS.focusOut,e.nativeEvent,e.currentTarget))});let n=(0,tV.getTabbableAfterElement)(b.context.triggerFocusTargetRef.current||k.current);for(;null!==n&&(0,tp.contains)(t,n);){let e=n;if((n=(0,tV.getNextTabbable)(n))===e)break}n?.focus()}}),eo=(0,en.useRenderElement)("button",e,{enabled:!A,stateAttributesMapping:er.pressableTriggerOpenStateMapping,state:q,ref:Z,props:Q});return A?(0,a.jsx)(t$,{tag:"button",render:i,className:l,state:q,refs:Z,props:Q,stateAttributesMapping:er.pressableTriggerOpenStateMapping}):R?(0,a.jsxs)(s.Fragment,{children:[(0,a.jsx)(tK.FocusGuard,{ref:ee,onFocus:ea},`${y}-pre-focus-guard`),(0,a.jsx)(s.Fragment,{children:eo},y),(0,a.jsx)(tK.FocusGuard,{ref:b.context.triggerFocusTargetRef,onFocus:es},`${y}-post-focus-guard`)]}):(0,a.jsx)(s.Fragment,{children:eo},y)});var tq=e.i(12666);let tJ=((r={}).popupWidth="--popup-width",r.popupHeight="--popup-height",r),tX={activationDirection:e=>e?{"data-activation-direction":e}:null},tZ=s.forwardRef(function(e,t){let{render:n,className:r,children:a,...s}=e,{store:o}=et(),{side:i}=Q(),l=o.useState("instantType"),{children:u,state:c}=(0,tq.usePopupViewport)({store:o,side:i,cssVars:tJ,children:a}),d={activationDirection:c.activationDirection,transitioning:c.transitioning,instant:l};return(0,en.useRenderElement)("div",e,{state:d,ref:t,props:[s,{children:u}],stateAttributesMapping:tX})}),tQ=s.forwardRef(function(e,t){let{className:n,render:r,orientation:a="horizontal",...s}=e;return(0,en.useRenderElement)("div",e,{state:{orientation:a},ref:t,props:[{role:"separator","aria-orientation":a},s]})}),t0=s.forwardRef(function(e,t){let{render:n,className:r,label:a,id:o,nativeButton:i=!1,openOnHover:l=!0,delay:u=100,closeDelay:c=0,disabled:d=!1,...f}=e,p=ek(),m=Q(),{store:g}=et(),h=(0,eC.useBaseUiId)(o),v=g.useState("open"),x=g.useState("floatingRootContext"),b=g.useState("floatingTreeRoot"),y=(0,tP.useTriggerRegistration)(h,g),S=s.useCallback(e=>{let t=y(e);return null!==e&&g.select("open")&&null==g.select("activeTriggerId")&&g.update({activeTriggerId:h,activeTriggerElement:e,closeDelay:c}),t},[y,c,g,h]),E=s.useRef(null),R=s.useCallback(e=>{E.current=e,g.set("activeTriggerElement",e)},[g]),k=tD();if(!k?.parentMenu)throw Error((0,X.default)(37));g.useSyncedValue("closeDelay",c);let C=k.parentMenu,w=C.useState("itemProps"),T=C.useState("isActive",p.index),I=s.useMemo(()=>({type:"submenu-trigger",setActive(){C.set("activeIndex",p.index)}}),[C,p.index]),O=g.useState("disabled"),N=d||O,{getItemProps:M,itemRef:j}=ey({closeOnClick:!1,disabled:N,highlighted:T,id:h,store:g,typingRef:C.context.typingRef,nativeButton:i,itemMetadata:I,nodeId:m?.nodeId}),A=g.useState("hoverEnabled"),P=C.useState("allowMouseEnter"),L=(0,tW.useHoverReferenceInteraction)(x,{enabled:A&&l&&!N,handleClose:(0,tU.safePolygon)({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:u,delay:P?{open:u,close:c}:0,triggerElementRef:E,externalTree:b}),D=(0,tB.useClick)(x,{enabled:!N,event:"mousedown",toggle:!l,ignoreMouse:l,stickIfOpen:!1}),F=(0,tu.useInteractions)([D]),_=g.useState("triggerProps",!0);return delete _.id,(0,en.useRenderElement)("div",e,{state:{disabled:N,highlighted:T,open:v},stateAttributesMapping:er.triggerOpenStateMapping,props:[F.getReferenceProps(),L,_,w,{tabIndex:v||T?0:-1,onBlur(){T&&C.set("activeIndex",null)}},f,M],ref:[t,p.ref,j,S,R]})});class t1{constructor(){this.store=new tA}open(e){let t=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!t)throw Error((0,X.default)(83,e));this.store.setOpen(!0,(0,eI.createChangeEventDetails)("imperative-action",void 0,t))}close(){this.store.setOpen(!1,(0,eI.createChangeEventDetails)("imperative-action",void 0,void 0))}get isOpen(){return this.store.state.open}}e.s(["Arrow",0,ea,"Backdrop",0,ec,"CheckboxItem",0,eO,"CheckboxItemIndicator",0,ej,"Group",0,eP,"GroupLabel",0,eL,"Handle",0,t1,"Item",0,eD,"LinkItem",0,eF,"Popup",0,eV,"Portal",0,eK,"Positioner",0,e8,"RadioGroup",0,e7,"RadioItem",0,tt,"RadioItemIndicator",0,tn,"Root",0,tF,"Separator",0,tQ,"SubmenuRoot",0,function(e){let t=et().store,n=s.useMemo(()=>({parentMenu:t}),[t]);return(0,a.jsx)(tL.Provider,{value:n,children:(0,a.jsx)(tF,{...e})})},"SubmenuTrigger",0,t0,"Trigger",0,tY,"Viewport",0,tZ,"createHandle",0,function(){return new t1}],30250);var t2=e.i(30250),t2=t2,t5=e.i(52088);function t4({...e}){return(0,a.jsx)(t2.Root,{"data-slot":"dropdown-menu",...e})}function t3({...e}){return(0,a.jsx)(t2.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}function t6({align:e="start",alignOffset:t=0,side:n="bottom",sideOffset:r=4,className:s,...o}){return(0,a.jsx)(t2.Portal,{children:(0,a.jsx)(t2.Positioner,{className:"isolate z-50 outline-none",align:e,alignOffset:t,side:n,sideOffset:r,children:(0,a.jsx)(t2.Popup,{"data-slot":"dropdown-menu-content",className:(0,t5.cn)("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",s),...o})})})}function t8({className:e,inset:t,variant:n="default",...r}){return(0,a.jsx)(t2.Item,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":n,className:(0,t5.cn)("group/dropdown-menu-item relative flex min-h-7 cursor-default items-center gap-2 rounded-md px-2 py-1 text-xs/relaxed outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7.5 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 data-[variant=destructive]:*:[svg]:text-destructive",e),...r})}function t9({className:e,...t}){return(0,a.jsx)(t2.Separator,{"data-slot":"dropdown-menu-separator",className:(0,t5.cn)("-mx-1 my-1 h-px bg-border/50",e),...t})}e.i(46349),e.i(78784),e.s(["default",0,function({params:e}){let{id:t}=(0,s.use)(e),n=(0,o.useRouter)(),r=(0,x.useToast)(),[l,S]=(0,s.useState)(null),[E,R]=(0,s.useState)(!0),[k,C]=(0,s.useState)([]),[w,T]=(0,s.useState)(),[I,M]=(0,s.useState)(!0),[j,A]=(0,s.useState)(!1),[P,L]=(0,s.useState)(!1),[D,F]=(0,s.useState)(!0),_=(0,s.useRef)(null);(0,b.useDocumentTitle)(l?.title),(0,y.useTaskEvents)({onTaskCreated:()=>{},onTaskUpdated:e=>{e.id===t&&S(e)},onTaskDeleted:e=>{e===t&&(r.info("Task deleted",l?.title??void 0),n.push("/"))}});let U=(0,s.useCallback)(()=>{fetch((0,g.apiUrl)(`/api/tasks/${t}/read`),{method:"POST"}).catch(()=>{})},[t]),B=(0,s.useCallback)((e,t)=>{("success"===t||"failure"===t||"error"===t)&&U()},[U]),z=(0,s.useRef)(null),H=(0,s.useCallback)(async()=>{if(null!==z.current&&z.current!==t&&F(!0),z.current=t,D){M(!0);try{let e=await fetch((0,g.apiUrl)(`/api/tasks/${t}`));if(!e.ok)throw Error("Failed to fetch task");let n=await e.json(),r=n.data.task,a=r.tabs||[];S(r),R(n.data.worktreeExists),C(a),a.length>0&&T(a[0].tab_id),U()}catch(e){console.error("Failed to load data:",e)}finally{M(!1),F(!1)}}},[t,D,U]);(0,s.useEffect)(()=>{H()},[t,H]);let W=async(e,t)=>{let n=r.loading("Updating task...");try{let a=await fetch((0,g.apiUrl)(`/api/tasks/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error("Failed to update task");let s=await a.json();return S(s.data.task),r.success(n,"Successfully updated task"),{success:!0}}catch(t){console.error("Failed to update task:",t);let e=t instanceof Error?t.message:"Failed to update task";return r.error(n,"Failed to update task",e),{success:!1,errors:[{field:"global",message:"Failed to update task"}]}}},V=async(e="claude")=>{try{let n=await fetch((0,g.apiUrl)(`/api/tasks/${t}/tabs`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw Error("Failed to create tab");let r=(await n.json()).data.tab;return C(e=>e.some(e=>e.tab_id===r.tab_id)?e:[...e,r]),T(r.tab_id),r.tab_id}catch(e){console.error("Failed to create tab:",e);return}},G=async e=>{try{if(!(await fetch((0,g.apiUrl)(`/api/tasks/${t}/tabs/${e}`),{method:"DELETE"})).ok)throw Error("Failed to delete tab");if(C(t=>t.filter(t=>t.tab_id!==e)),w===e){let t=k.filter(t=>t.tab_id!==e);T(t[0]?.tab_id)}}catch(e){console.error("Failed to delete tab:",e)}},$=async()=>{if(!l)return;let e=r.loading("Opening terminal...",l.worktreePath);try{if(!(await fetch((0,g.apiUrl)("/api/commands/open"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({commandType:"terminal",owner:l.owner,repo:l.repo,branch:l.branch})})).ok)throw Error("Command execution failed");r.success(e,"Successfully opened terminal",l.worktreePath)}catch(n){let t=n instanceof Error?n.message:"Unknown error";r.error(e,"Failed to open terminal",t)}},K=async()=>{if(!l)return;let e=r.loading("Opening VS Code...",l.worktreePath);try{if(!(await fetch((0,g.apiUrl)("/api/commands/open"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({commandType:"vscode",owner:l.owner,repo:l.repo,branch:l.branch})})).ok)throw Error("Command execution failed");r.success(e,"Successfully opened VS Code",l.worktreePath)}catch(n){let t=n instanceof Error?n.message:"Unknown error";r.error(e,"Failed to open VS Code",t)}};return I&&!l?(0,a.jsx)("div",{className:"h-screen flex items-center justify-center bg-background",children:(0,a.jsx)(v.LoadingSpinner,{size:"lg",message:"Loading task..."})}):l?(0,a.jsxs)("div",{className:"h-screen flex flex-col bg-background",children:[(0,a.jsx)("div",{className:"sticky top-0 z-50 p-4 border-b border-border bg-card",children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)(N.Button,{variant:"ghost",onClick:()=>n.push("/"),className:"text-primary font-medium hover:bg-primary/10 hover:text-foreground",children:[(0,a.jsx)(i.ArrowLeft,{className:"w-4 h-4"}),"Back to Board"]}),(0,a.jsx)("h1",{className:"text-base font-semibold text-foreground absolute left-1/2 -translate-x-1/2 max-w-[50vw] truncate",children:l.title}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(J.UpdateIndicator,{}),(0,a.jsxs)(t4,{children:[(0,a.jsx)(t3,{render:(0,a.jsx)(N.Button,{variant:"ghost",size:"icon-lg",className:"text-primary hover:bg-primary/10 hover:text-foreground",title:"Task menu"}),children:(0,a.jsx)(c,{className:"w-5 h-5"})}),(0,a.jsxs)(t6,{align:"end",children:[(0,a.jsxs)(t8,{onClick:()=>A(!0),children:[(0,a.jsx)(f.Pencil,{className:"w-4 h-4"}),"Detail / Edit"]}),E&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t9,{}),(0,a.jsxs)(t8,{onClick:$,children:[(0,a.jsx)(p,{className:"w-4 h-4"}),"Open Terminal"]}),(0,a.jsxs)(t8,{onClick:K,children:[(0,a.jsx)(u,{className:"w-4 h-4"}),"Open VS Code"]})]}),(0,a.jsx)(t9,{}),(0,a.jsxs)(t8,{className:"text-destructive focus:text-destructive",onClick:()=>L(!0),children:[(0,a.jsx)(m.Trash2,{className:"w-4 h-4"}),"Delete"]})]})]})]})]})}),(0,a.jsx)("div",{className:"flex-1 flex flex-col min-h-0",children:(0,a.jsx)("div",{className:"bg-background dark:bg-card flex flex-col flex-1 min-h-0",children:E?(0,a.jsx)(q,{ref:_,task:l,tabs:k,activeTabId:w,onTabChange:T,onTabCreate:V,onTabDelete:G,onAgentStatusChange:B}):(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 p-6 text-center",children:[(0,a.jsx)(d,{className:"size-10 text-muted-foreground"}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("p",{className:"font-medium text-foreground",children:"Worktree not found"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground break-all",children:l.worktreePath})]}),(0,a.jsxs)(N.Button,{variant:"destructive",onClick:()=>L(!0),children:[(0,a.jsx)(m.Trash2,{className:"w-4 h-4"}),"Delete Task"]})]})})}),(0,a.jsx)(h.TaskDialog,{mode:"edit",isOpen:j,onClose:()=>A(!1),task:l,onUpdate:W}),(0,a.jsx)(O.ConfirmDialog,{open:P,onOpenChange:e=>L(e.open),title:"Delete Task",message:`Delete task "${l.title}"?
|
|
5
|
+
|
|
6
|
+
This will also delete the worktree and branch.`,confirmLabel:"Delete",cancelLabel:"Cancel",onConfirm:()=>{if(!l)return;let e=r.loading("Deleting task...",l.title);fetch((0,g.apiUrl)(`/api/tasks/${l.id}`),{method:"DELETE"}).then(()=>{r.success(e,"Successfully deleted task",l.title)}).catch(t=>{let n=t instanceof Error?t.message:"Unknown error";r.error(e,"Failed to delete task",n)}),n.push("/")},variant:"danger"})]}):(0,a.jsx)("div",{className:"h-screen flex items-center justify-center bg-background",children:(0,a.jsx)("div",{className:"text-center text-foreground",children:"Task not found"})})}],97099)}]);
|