conductor-oss 0.26.0 → 0.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +8 -9
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/1233.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/3865.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/3947.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/5164.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/5295.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/7164.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/862.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/9039.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/1376.998c2fdc4e93164d.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/1665-3304dc3ed2c2954d.js +2 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/1679-53e3e1cfd3946974.js +1 -0
- package/web/.next/{static/chunks/2452-e484e227c2d77f19.js → standalone/packages/web/.next/static/chunks/2452-19d94753fbd97c89.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/307.364d1ff853e806b5.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/4089.e1046284ba419f1a.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{4443.affd6ab91256d785.js → 4443.8c3fc57bc5849e95.js} +1 -1
- package/web/.next/{static/chunks/7220-2cbcfa3321a727c3.js → standalone/packages/web/.next/static/chunks/7220-e30fbafa6bf7264f.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/7542.54c25c3fb727a2e3.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-275fc646fd4987e9.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/{layout-2d9fd777daf1e11c.js → layout-604de874f483a0c3.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-367a8b6e6f93dd3a.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/settings/bridge/page-4dfc9835f8642e46.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-e7a934ec23e142b7.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/css/{2b33692b30605a07.css → 25330b62847a933f.css} +1 -1
- package/web/.next/static/chunks/1376.998c2fdc4e93164d.js +1 -0
- package/web/.next/static/chunks/1665-3304dc3ed2c2954d.js +2 -0
- package/web/.next/static/chunks/1679-53e3e1cfd3946974.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/2452-e484e227c2d77f19.js → static/chunks/2452-19d94753fbd97c89.js} +1 -1
- package/web/.next/static/chunks/307.364d1ff853e806b5.js +1 -0
- package/web/.next/static/chunks/4089.e1046284ba419f1a.js +1 -0
- package/web/.next/static/chunks/{4443.affd6ab91256d785.js → 4443.8c3fc57bc5849e95.js} +1 -1
- package/web/.next/{standalone/packages/web/.next/static/chunks/7220-2cbcfa3321a727c3.js → static/chunks/7220-e30fbafa6bf7264f.js} +1 -1
- package/web/.next/static/chunks/7542.54c25c3fb727a2e3.js +1 -0
- package/web/.next/static/chunks/app/bridge/connect/page-275fc646fd4987e9.js +1 -0
- package/web/.next/static/chunks/app/{layout-2d9fd777daf1e11c.js → layout-604de874f483a0c3.js} +1 -1
- package/web/.next/static/chunks/app/page-367a8b6e6f93dd3a.js +1 -0
- package/web/.next/static/chunks/app/settings/bridge/page-4dfc9835f8642e46.js +1 -0
- package/web/.next/static/chunks/webpack-e7a934ec23e142b7.js +1 -0
- package/web/.next/static/css/{2b33692b30605a07.css → 25330b62847a933f.css} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/3877.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/4806.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/5582.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/5835.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/1665-2e1a4a370eb532dd.js +0 -2
- package/web/.next/standalone/packages/web/.next/static/chunks/1679-517f9d8b8b973bcb.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/1791.6339b2281733c4d6.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/7542.b871814fe29f9aa2.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/8945.b9a45bdc51a0055c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/9423.d2ce2c27bcf5dcd7.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-71ae2992e5244ace.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-3db8d98e56ab346c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/settings/bridge/page-0c2bacf3f3816e04.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-84e84eb1e219397f.js +0 -1
- package/web/.next/static/chunks/1665-2e1a4a370eb532dd.js +0 -2
- package/web/.next/static/chunks/1679-517f9d8b8b973bcb.js +0 -1
- package/web/.next/static/chunks/1791.6339b2281733c4d6.js +0 -1
- package/web/.next/static/chunks/7542.b871814fe29f9aa2.js +0 -1
- package/web/.next/static/chunks/8945.b9a45bdc51a0055c.js +0 -1
- package/web/.next/static/chunks/9423.d2ce2c27bcf5dcd7.js +0 -1
- package/web/.next/static/chunks/app/bridge/connect/page-71ae2992e5244ace.js +0 -1
- package/web/.next/static/chunks/app/page-3db8d98e56ab346c.js +0 -1
- package/web/.next/static/chunks/app/settings/bridge/page-0c2bacf3f3816e04.js +0 -1
- package/web/.next/static/chunks/webpack-84e84eb1e219397f.js +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{GjHXpk4MVilZT0E3UImF5 → Kz7PXdIwl8iIrS5Fn2Zfz}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{GjHXpk4MVilZT0E3UImF5 → Kz7PXdIwl8iIrS5Fn2Zfz}/_ssgManifest.js +0 -0
- /package/web/.next/static/{GjHXpk4MVilZT0E3UImF5 → Kz7PXdIwl8iIrS5Fn2Zfz}/_buildManifest.js +0 -0
- /package/web/.next/static/{GjHXpk4MVilZT0E3UImF5 → Kz7PXdIwl8iIrS5Fn2Zfz}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3947,exports.ids=[3947],exports.modules={5829:(a,b,c)=>{c.d(b,{V:()=>g});var d=c(92692),e=c(71277);let f=(0,c(37303).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),g=(0,e.memo)(function({title:a,onOpenPreferences:b,rightContent:c}){return(0,d.jsxs)("header",{className:"flex h-11 items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-14 pr-2 text-[13px] text-[var(--vk-text-muted)] sm:h-14 sm:pl-5 sm:pr-5 sm:text-[14px]",children:[(0,d.jsx)("div",{className:"min-w-0 flex-1 text-left sm:text-center",children:(0,d.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-normal)]",children:a??"All Projects"})}),c?(0,d.jsx)("div",{className:"ml-1 flex shrink-0 items-center gap-2",children:c}):null,b?(0,d.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,d.jsx)("button",{type:"button",onClick:b,className:"inline-flex h-11 w-11 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-9 sm:w-9","aria-label":"Open preferences",title:"Preferences",children:(0,d.jsx)(f,{className:"h-4 w-4"})})}):null]})})},12999:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(71277),e=c(46818);function f(a,b){return{id:a,repo:"string"==typeof b?.repo?b.repo:null,path:"string"==typeof b?.path?b.path:null,iconUrl:"string"==typeof b?.iconUrl?b.iconUrl:null,boardDir:"string"==typeof b?.boardDir?b.boardDir:null,boardFile:"string"==typeof b?.boardFile?b.boardFile:null,description:"string"==typeof b?.description?b.description:null,defaultBranch:"string"==typeof b?.defaultBranch&&b.defaultBranch.trim().length>0?b.defaultBranch:"main",agent:"string"==typeof b?.agent&&b.agent.trim().length>0?b.agent:"claude-code",agentPermissions:"string"==typeof b?.agentPermissions&&b.agentPermissions.trim().length>0?b.agentPermissions:null,agentModel:"string"==typeof b?.agentModel&&b.agentModel.trim().length>0?b.agentModel:null,agentReasoningEffort:"string"==typeof b?.agentReasoningEffort&&b.agentReasoningEffort.trim().length>0?b.agentReasoningEffort:null}}function g(a,b){let c=b?.enabled??!0,[g,h]=(0,d.useState)([]),[i,j]=(0,d.useState)(c),[k,l]=(0,d.useState)(null),m=(0,d.useCallback)(async()=>{if(!c){h([]),l(null),j(!1);return}j(!0);try{let b=await fetch((0,e.S)("/api/config",a)),c=await b.json().catch(()=>null);if(!b.ok){let a="object"==typeof c&&null!==c?c.error??c.reason:null;throw Error(a??`Failed to fetch config: ${b.status}`)}h(function(a){if(!a||"object"!=typeof a)return[];let b=a.projects;return b?Array.isArray(b)?b.map((a,b)=>a&&"object"==typeof a?f("string"==typeof a.id&&a.id.trim().length>0?a.id:`project-${b+1}`,a):f(`project-${b+1}`,null)):"object"==typeof b?Object.entries(b).map(([a,b])=>f(a,b&&"object"==typeof b?b:null)):[]:[]}(c)),l(null)}catch(a){h([]),l(a instanceof Error?a.message:"Failed to fetch config")}finally{j(!1)}},[a,c]);return{projects:g,loading:!!c&&i,error:c?k:null,refresh:m}}},33857:(a,b,c)=>{c.d(b,{w:()=>e});var d=c(40788);function e(a,b=null,c){return(0,d.DA)(a,b,c)}},40788:(a,b,c)=>{c.d(b,{DA:()=>m,eI:()=>l});var d=c(71277),e=c(46818),f=c(19954);c(98030);let g=new Map,h=new Map;function i(a){return(0,f.C0)(a)??"local"}function j(a){let b=g.get(a);return b||(b={sessionsById:new Map,orderedIds:[],version:0,loading:!0,error:null,listInitialized:!1,refreshPromise:null,unsubscribeSnapshots:null,activeConsumers:0,pollTimer:null,focusHandler:null,visibilityHandler:null},g.set(a,b)),b}async function k(a,b){let c=j(a);if(c.refreshPromise)return void await c.refreshPromise;let d=(async()=>{try{var d,f;let g,h=await fetch((0,e.S)("/api/sessions",b),{cache:"no-store"});if(!h.ok){let a=await h.json().catch(()=>null);throw Error(a?.error??a?.reason??`Failed to fetch sessions: ${h.status}`)}let i=(d=await h.json().catch(()=>null),Array.isArray(d)?d:Array.isArray(d?.sessions)?d.sessions:[]),k=new Map(i.map(a=>[a.id,a]));f=[...k.values()].sort((a,b)=>b.createdAt.localeCompare(a.createdAt)).map(a=>a.id),(g=j(a)).sessionsById=k,g.orderedIds=f,g.version+=1,c.error=null}catch(a){c.error=a instanceof Error?a.message:"Failed to fetch sessions"}finally{let b;for(let d of(c.loading=!1,(b=h.get(a))||(b=new Set,h.set(a,b)),b))d()}})();c.refreshPromise=d.finally(()=>{c.refreshPromise===d&&(c.refreshPromise=null)}),await d}function l(a,b){let c=b?.enabled??!0,e=i(b?.bridgeId),f=j(e),[,g]=(0,d.useReducer)(a=>a+1,0),[h,l]=(0,d.useState)(!1);return{sessions:(0,d.useMemo)(()=>{let b,d;return c&&h?(b=j(e),d=a?.trim(),b.orderedIds.map(a=>b.sessionsById.get(a)).filter(a=>!!a).filter(a=>!d||a.projectId===d)):[]},[c,h,a,e,f.version]),loading:!!c&&(!h||f.loading),error:c?f.error:null,refresh:()=>k(e,b?.bridgeId)}}function m(a,b=null,c){let e=c?.enabled??!0,g="string"==typeof a&&a.trim().length>0?a.trim():null,h=j(i((0,f.C0)(c?.bridgeId??b?.bridgeId??(0,f.DW)(g)?.bridgeId??null))),[,k]=(0,d.useReducer)(a=>a+1,0),[l,n]=(0,d.useState)(!1),[o,p]=(0,d.useState)(b),[q,r]=(0,d.useState)(null),[s,t]=(0,d.useState)(e&&null!==g&&null===b);return{session:g?l?h.sessionsById.get(g)??o??b??null:b??null:null,loading:s,error:e&&g?q??h.error:null}}},44462:(a,b,c)=>{c.d(b,{N:()=>k});var d=c(92692),e=c(71277);let f=new Map;for(let[a,b]of Object.entries({amp:["amp","amp-code","amp-cli","ampcode","agent-amp"],claude:["claude","claude-code","claude-cli","claudecode","ccr","claude-code-router","claude-mcp","claude-mcp-cli","claude-mcp-agent","agent-claude-code"],codex:["codex","openai-codex","codex-cli","codexcli","openai","agent-codex"],copilot:["copilot","github-copilot","githubcopilot","copilot-cli","agent-github-copilot"],cursor:["cursor","cursor-cli","cursor-agent","cursoragent","agent-cursor-cli"],droid:["droid","factory-droid","factory_droid","agent-droid"],gemini:["gemini","gemini-cli","google-gemini","googlegemini","agent-gemini"],opencode:["opencode","open-code","open_code","open-code-cli","agent-opencode"],qwen:["qwen","qwen-code","qwen_code","qwen-code-cli","agent-qwen-code"]}))for(let c of b)f.set(g(c),a);function g(a){return a.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/_+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function h(a){let b=g(a);if(!b)return null;let c=f.get(b);if(c)return c;for(let a of b.split("-")){let b=f.get(a);if(b)return b}for(let[a,c]of f.entries())if(b===a||b.startsWith(`${a}-`)||b.endsWith(`-${a}`)||b.includes(`-${a}-`))return c;return null}function i(a){try{let b=new URL(a),c=h(b.hostname.replace(/^www\./,"").replace(/\./g,"-"));if(c)return c;return h(b.pathname.replace(/\//g,"-"))}catch{return h(a)}}function j({label:a,className:b}){let c=a.split(/[^a-z0-9]/iu).filter(Boolean).slice(0,2).map(a=>a[0]?.toUpperCase()).join("");return(0,d.jsx)("span",{"aria-hidden":"true",className:`inline-flex shrink-0 items-center justify-center rounded-[0.2rem] text-[9px] font-semibold text-white ${b}`,style:{backgroundColor:function(a){let b=["#14b8a6","#06b6d4","#0ea5e9","#8b5cf6","#ec4899","#f97316","#f59e0b","#ef4444","#22c55e","#84cc16"],c=0;for(let d=0;d<a.length;d+=1)c=(31*c+a.charCodeAt(d))%b.length;return b[Math.abs(c)%b.length]??"#6b7280"}(`${a}:${a.length}`)},children:c||"AI"})}function k({seed:a,className:b="h-6 w-6"}){let[c,f]=(0,e.useState)(0),g=a?.label?.trim()??"",l=(0,e.useMemo)(()=>{var b;if(!g)return[];let c=h((b={label:g,iconUrl:a?.iconUrl,homepage:a?.homepage}).label)??(b.homepage?i(b.homepage):null)??(b.iconUrl?i(b.iconUrl):null),d="string"==typeof a?.iconUrl&&a.iconUrl.trim().length>0?a.iconUrl.trim():null,e=[];return c&&(e.push(`/agents/${c}-dark.svg`),e.push(`/agents/${c}-light.svg`)),d&&e.push(d),e},[g,a?.homepage,a?.iconUrl]);if(!g)return(0,d.jsx)(j,{label:"AI",className:b});let m=l[c]??null;return m?(0,d.jsx)("img",{src:m,alt:`${g} icon`,loading:"lazy",className:`${b} shrink-0 rounded-[0.2rem] object-contain scale-125`,onError:()=>f(a=>a+1)}):(0,d.jsx)(j,{label:g,className:b})}},48055:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]])},49373:(a,b,c)=>{c.d(b,{Q:()=>f});var d=c(71277);c(46818);var e=c(78126);function f({enabled:a,projectId:b,preferences:c,bridgeId:g}){(0,d.useRef)(c?.soundEnabled!==!1),(0,d.useRef)((0,e.ww)(c?.soundFile)),(0,d.useRef)(new Set),(0,d.useRef)(null),(0,d.useRef)(!1),(0,d.useRef)(null),(0,d.useRef)(null),(0,d.useRef)(null)}},49549:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},51430:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},51447:(a,b,c)=>{c.d(b,{G:()=>t});var d=c(92692),e=c(71277);let f=(0,c(37303).A)("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);var g=c(62170),h=c(93544),i=c(67994),j=c(64583),k=c(49549),l=c(78724),m=c(32165),n=c(2625),o=c(13636),p=c(1071);c(98030);var q=c(46818),r=c(95528);function s(){let a=(0,i.usePathname)(),b=(0,i.useSearchParams)(),[c,f]=(0,e.useState)(null),[g,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),B=(0,e.useMemo)(()=>null,[a,b]),C=(0,e.useCallback)(()=>null,[]),D=(0,e.useCallback)((a=!1)=>{let b=(0,q.S)("/api/app-update",C());if(!a)return b;let c=new URL(b,"http://127.0.0.1");return c.searchParams.set("force","1"),`${c.pathname}${c.search}${c.hash}`},[C]),E=(0,e.useCallback)(async(a=!1)=>{try{let b=await fetch(D(a),{cache:"no-store"}),c=await b.json().catch(()=>null);if(412===b.status)return s(null),null;if(!b.ok)throw Error("string"==typeof c?.error?c.error:`Failed to load update status (${b.status})`);return f(c),s(null),c}catch(a){return s(a instanceof Error?a.message:"Failed to load update status."),null}},[D,C]),F=c?.latestVersion&&t===c.latestVersion,G=!!c?.restarting||z,H=(0,e.useMemo)(()=>!!c&&(!!G||"running"===c.jobStatus||!F&&("completed"===c.jobStatus||"failed"===c.jobStatus||!c.enabled&&!!c.reason||c.updateAvailable)),[F,G,c]);async function I(){c?.updateCommand&&(await navigator.clipboard.writeText(c.updateCommand),w(!0),window.setTimeout(()=>w(!1),1400))}async function J(){y(!0);try{let a=await fetch((0,q.S)("/api/app-update",C()),{method:"POST",headers:{"content-type":"application/json"}}),b=await a.json().catch(()=>null);if(!a.ok)throw Error("string"==typeof b?.error?b.error:`Update failed (${a.status})`);f(b),s(null)}catch(a){s(a instanceof Error?a.message:"Failed to trigger update.")}finally{y(!1)}}async function K(){try{let a=await fetch((0,q.S)("/api/app-update",C()),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"restart"})}),b=await a.json().catch(()=>null);if(!a.ok)throw Error("string"==typeof b?.error?b.error:`Restart failed (${a.status})`);f(b),s(null)}catch(a){s(a instanceof Error?a.message:"Failed to restart Conductor.")}}return((0,e.useCallback)(async()=>{let a=Date.now()+6e4;if(B){for(;Date.now()<a;){let a=await E(!1);if(!a?.restarting)return void A(!1);await new Promise(a=>window.setTimeout(a,1e3))}A(!1),s("Restart started on the paired device, but it did not reconnect in time. Retry from the bridge controls.");return}for(;Date.now()<a;){try{if((await fetch("/api/health",{cache:"no-store"})).ok)return void window.location.reload()}catch{}await new Promise(a=>window.setTimeout(a,1e3))}A(!1),s("Restart started, but the dashboard did not come back in time. Reload manually.")},[B,E]),H)?(0,d.jsx)("div",{className:"pointer-events-none fixed bottom-3 right-3 z-[70] w-[min(calc(100vw-1.5rem),24rem)] sm:bottom-4 sm:right-4",children:(0,d.jsxs)("section",{className:(0,h.cn)("pointer-events-auto rounded-[14px] border bg-[var(--vk-bg-panel)] p-4 shadow-[0_16px_40px_rgba(0,0,0,0.35)]",c?.jobStatus==="failed"?"border-[color:color-mix(in_srgb,var(--vk-red)_55%,var(--vk-border))]":"border-[var(--vk-border)]"),children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[G||c?.jobStatus==="running"?(0,d.jsx)(j.A,{className:"h-4 w-4 animate-spin text-[var(--vk-orange)]"}):c?.jobStatus==="completed"?(0,d.jsx)(k.A,{className:"h-4 w-4 text-[var(--status-ready)]"}):c?.jobStatus==="failed"?(0,d.jsx)(l.A,{className:"h-4 w-4 text-[var(--vk-red)]"}):(0,d.jsx)(m.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}),(0,d.jsx)("h2",{className:"truncate text-[13px] font-semibold text-[var(--vk-text-normal)]",children:c?!c.enabled&&c.reason?"Conductor update unavailable":c.restarting?"Restarting Conductor":"running"===c.jobStatus?"Updating Conductor":"completed"===c.jobStatus?"Conductor updated":"failed"===c.jobStatus?"Update failed":c.latestVersion?`Conductor ${c.latestVersion} is available`:"Conductor update available":"Conductor update"})]}),(0,d.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:c?function(a){if(!a.enabled&&a.reason)return(0,r.N8)(a);if(a.restarting)return"The launcher is restarting the runtime. This tab will reconnect automatically once it is ready.";if("running"===a.jobStatus)return a.jobMessage??"Installing the latest version in the background.";if("completed"===a.jobStatus)return a.jobMessage??"The latest version has been installed. Restart Conductor to use it.";if("failed"===a.jobStatus)return a.jobMessage??"The update command did not finish successfully.";let b=a.currentVersion?`You are running ${a.currentVersion}. `:"";return a.canAutoUpdate?`${b}Install the new release now and restart when it finishes.`:"npx"===a.installMode?`${b}Copy the restart command, run it in a terminal, and the next launch will use the latest release.`:`${b}Copy the update command, run it in a terminal, then restart Conductor.`}(c):"Checking for updates..."})]}),(0,d.jsx)("button",{type:"button",onClick:function(){if(c?.latestVersion){try{window.localStorage.setItem("conductor-dismissed-update-version",c.latestVersion)}catch{}u(c.latestVersion);return}f(a=>a?{...a,reason:null,enabled:!0}:a)},className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Dismiss update notice",children:(0,d.jsx)(n.A,{className:"h-4 w-4"})})]}),c?.updateCommand?(0,d.jsx)("div",{className:"mt-3 rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]",children:c.updateCommand}):null,c?(0,d.jsx)("p",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:function(a){switch(a){case"npx":return"This session was launched through npx. Copy the restart command, run it in a terminal, and the next launch will use the latest package.";case"unknown":return"Automatic updates are unavailable for this install.";default:return null}}(c.installMode)??(c.restartRequired?"Restart the current Conductor process after the installer completes.":"Update state streams from the running Conductor runtime.")}):null,g?(0,d.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:g}):c?.error?(0,d.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:c.error}):null,c?.logsTail&&"failed"===c.jobStatus?(0,d.jsx)("pre",{className:"mt-2 max-h-32 overflow-auto rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-2 text-[10px] leading-4 text-[var(--vk-text-faint)]",children:c.logsTail}):null,(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-2",children:[c?.jobStatus==="failed"&&c.canAutoUpdate?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void J(),disabled:x,children:[x?(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Retry"]}):null,c?.jobStatus==="idle"&&c.canAutoUpdate?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void J(),disabled:x,children:[x?(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Update now"]}):null,c?.jobStatus==="idle"&&!c.canAutoUpdate&&c.updateCommand?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void I(),children:[v?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-[var(--status-ready)]"}):(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"}),v?"Copied":"npx"===c.installMode?"Copy restart command":"Copy command"]}):null,c?.restartRequired&&c.canRestart&&!c.restarting&&!z?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void K(),children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Restart now"]}):null,c?.restarting||z?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"primary",disabled:!0,children:[(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 animate-spin"}),"Restarting"]}):null]})]})}):null}function t({sidebar:a,children:b,mobileSidebarOpen:c,desktopSidebarOpen:i,onToggleSidebar:j,hideMobileSidebarToggle:k=!1}){let[l,m]=(0,e.useState)(356),[n,o]=(0,e.useState)(!1),p={"--workspace-sidebar-width":`${l}px`};return(0,d.jsxs)("div",{style:p,className:"relative flex h-dvh min-h-[100dvh] w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)] [padding-top:env(safe-area-inset-top)] [padding-bottom:env(safe-area-inset-bottom)] pl-[env(safe-area-inset-left)] pr-[env(safe-area-inset-right)]",children:[c&&(0,d.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:j,"aria-label":"Close workspace panel"}),(0,d.jsx)("aside",{className:(0,h.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-full max-w-none flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-[transform,width] duration-200 sm:w-[min(90vw,var(--workspace-sidebar-width))] sm:max-w-[28rem]",c?"translate-x-0":"-translate-x-full",i?"lg:w-[var(--workspace-sidebar-width)]":"lg:w-0 lg:overflow-hidden lg:border-r-0","lg:relative lg:left-auto lg:translate-x-0"),children:a}),i?(0,d.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>o(!0),"aria-hidden":"true",children:(0,d.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,i&&(0,d.jsx)("button",{type:"button",onClick:j,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,d.jsx)(f,{className:"h-5 w-5"})}),(0,d.jsxs)("main",{className:"relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!c&&!k&&(0,d.jsx)("button",{type:"button",onClick:j,className:"absolute left-2 top-2 z-40 inline-flex h-11 w-11 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_10px_24px_rgba(0,0,0,0.28)] hover:bg-[var(--vk-bg-hover)] sm:h-8 sm:w-8 lg:hidden","aria-label":"Open workspace panel",children:(0,d.jsx)(g.A,{className:"h-5 w-5"})}),!i&&(0,d.jsx)("button",{type:"button",onClick:j,className:"absolute left-2 top-2 z-40 hidden h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Open workspace panel",children:(0,d.jsx)(g.A,{className:"h-5 w-5"})}),b]}),(0,d.jsx)(s,{})]})}},62170:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]])},62465:(a,b,c)=>{c.d(b,{k$:()=>d});function d(){return!1}},68894:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(71277);function e(a){let[b,c]=(0,d.useState)(!1),[e,f]=(0,d.useState)(a?.initialDesktopOpen??!0),g=(0,d.useCallback)(()=>{c(a=>!a)},[]);return{mobileSidebarOpen:b,desktopSidebarOpen:e,toggleSidebar:g,closeSidebarOnMobile:(0,d.useCallback)(()=>{c(!1)},[]),syncSidebarForViewport:(0,d.useCallback)(()=>{c(!1)},[])}}},77768:(a,b,c)=>{c.d(b,{t:()=>e});var d=c(40788);function e(a,b){return(0,d.eI)(a,b)}},78126:(a,b,c)=>{c.d(b,{$E:()=>i,ww:()=>g,zu:()=>h});let d="abstract-sound-4",e={"abstract-sound-1":{steps:[{frequency:784,durationMs:90,gain:.24},{frequency:988,durationMs:90,gain:.22},{frequency:1175,durationMs:120,gain:.2}]},"abstract-sound-2":{steps:[{frequency:659,durationMs:120,gain:.22},{frequency:523,durationMs:140,gain:.2},{frequency:659,durationMs:120,gain:.18}]},"abstract-sound-3":{steps:[{frequency:440,durationMs:80,gain:.22},{frequency:554,durationMs:80,gain:.22},{frequency:659,durationMs:90,gain:.2},{frequency:880,durationMs:120,gain:.18}]},"abstract-sound-4":{steps:[{frequency:523,durationMs:130,gain:.22},{frequency:659,durationMs:130,gain:.2},{frequency:784,durationMs:150,gain:.18}]},"cow-mooing":{steps:[{frequency:220,durationMs:220,type:"triangle",gain:.24},{frequency:174,durationMs:260,type:"triangle",gain:.2}]},"phone-vibration":{vibrate:[120,60,120,60,180],steps:[{frequency:180,durationMs:140,gain:.16},{frequency:220,durationMs:140,gain:.14}]},rooster:{steps:[{frequency:784,durationMs:70,type:"square",gain:.24},{frequency:1046,durationMs:70,type:"square",gain:.22},{frequency:1318,durationMs:90,type:"square",gain:.2},{frequency:1568,durationMs:120,type:"square",gain:.18}]}};function f(a){let b=a?.trim();return b&&b in e?b:d}function g(a){return f(a)}async function h(){return!1}async function i(a,b){let c=f(a),d=e[c];return!!("phone-vibration"===c&&d.vibrate&&"u">typeof navigator)&&"function"==typeof navigator.vibrate&&navigator.vibrate(d.vibrate)}},78724:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},98030:(a,b,c)=>{c.d(b,{F:()=>t,L:()=>s});var d=c(46818);let e=new Set,f=new Set,g=null,h=null,i=null,j=null;function k(){return e.size>0||f.size>0}function l(){return"u"<typeof document||"visible"===document.visibilityState}function m(){g&&(g.close(),g=null)}function n(a){if(Array.isArray(a))return{type:"snapshot",sessions:a};if(!a||"object"!=typeof a)return null;let b=a.type;return"snapshot"!==b&&"snapshot_delta"!==b?null:Array.isArray(a.sessions)?a:null}function o(a){return a&&"object"==typeof a&&"boolean"==typeof a.enabled?a:null}function p(a){for(let b of e)b(a);let b=o(a.appUpdate);if(b)for(let a of f)a(b)}async function q(){if("function"!=typeof fetch)return;let a=(async()=>{try{let a=await fetch((0,d.S)("/api/sessions",null));if(!a.ok)return;let b=await a.json().catch(()=>null),c=n(b);if(!c)return;p(c)}catch{}try{let b=await fetch((0,d.S)("/api/app-update",null));if(!b.ok)return;let c=await b.json().catch(()=>null);var a=o(c);for(let b of f)b(a)}catch{}})();h=a.finally(()=>{h===a&&(h=null)}),await a}function r(){if(!k()){m(),i&&(window.removeEventListener("focus",i),i=null),j&&(document.removeEventListener("visibilitychange",j),j=null);return}l()?g||"u"<typeof EventSource||!k()||!l()||((g=new EventSource("/api/events")).onmessage=a=>{try{let b=n(JSON.parse(a.data));if(!b)return;p(b)}catch{}},g.addEventListener("refresh",()=>{h||q()}),g.onerror=()=>{k()&&l()||m()}):m()}function s(a){return e.add(a),r(),()=>{e.delete(a),r()}}function t(a){return f.add(a),r(),()=>{f.delete(a),r()}}}};
|
|
1
|
+
"use strict";exports.id=3947,exports.ids=[3947],exports.modules={5829:(a,b,c)=>{c.d(b,{V:()=>g});var d=c(92692),e=c(71277);let f=(0,c(37303).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),g=(0,e.memo)(function({title:a,onOpenPreferences:b,rightContent:c}){return(0,d.jsxs)("header",{className:"flex h-11 items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-14 pr-2 text-[13px] text-[var(--vk-text-muted)] sm:h-14 sm:pl-5 sm:pr-5 sm:text-[14px]",children:[(0,d.jsx)("div",{className:"min-w-0 flex-1 text-left sm:text-center",children:(0,d.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-normal)]",children:a??"All Projects"})}),c?(0,d.jsx)("div",{className:"ml-1 flex shrink-0 items-center gap-2",children:c}):null,b?(0,d.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,d.jsx)("button",{type:"button",onClick:b,className:"inline-flex h-11 w-11 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-9 sm:w-9","aria-label":"Open preferences",title:"Preferences",children:(0,d.jsx)(f,{className:"h-4 w-4"})})}):null]})})},12999:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(71277),e=c(46818);function f(a,b){return{id:a,repo:"string"==typeof b?.repo?b.repo:null,path:"string"==typeof b?.path?b.path:null,iconUrl:"string"==typeof b?.iconUrl?b.iconUrl:null,boardDir:"string"==typeof b?.boardDir?b.boardDir:null,boardFile:"string"==typeof b?.boardFile?b.boardFile:null,description:"string"==typeof b?.description?b.description:null,defaultBranch:"string"==typeof b?.defaultBranch&&b.defaultBranch.trim().length>0?b.defaultBranch:"main",agent:"string"==typeof b?.agent&&b.agent.trim().length>0?b.agent:"claude-code",agentPermissions:"string"==typeof b?.agentPermissions&&b.agentPermissions.trim().length>0?b.agentPermissions:null,agentModel:"string"==typeof b?.agentModel&&b.agentModel.trim().length>0?b.agentModel:null,agentReasoningEffort:"string"==typeof b?.agentReasoningEffort&&b.agentReasoningEffort.trim().length>0?b.agentReasoningEffort:null}}function g(a,b){let c=b?.enabled??!0,[g,h]=(0,d.useState)([]),[i,j]=(0,d.useState)(c),[k,l]=(0,d.useState)(null),m=(0,d.useCallback)(async()=>{if(!c){h([]),l(null),j(!1);return}j(!0);try{let b=await fetch((0,e.S)("/api/config",a)),c=await b.json().catch(()=>null);if(!b.ok){let a="object"==typeof c&&null!==c?c.error??c.reason:null;throw Error(a??`Failed to fetch config: ${b.status}`)}h(function(a){if(!a||"object"!=typeof a)return[];let b=a.projects;return b?Array.isArray(b)?b.map((a,b)=>a&&"object"==typeof a?f("string"==typeof a.id&&a.id.trim().length>0?a.id:`project-${b+1}`,a):f(`project-${b+1}`,null)):"object"==typeof b?Object.entries(b).map(([a,b])=>f(a,b&&"object"==typeof b?b:null)):[]:[]}(c)),l(null)}catch(a){h([]),l(a instanceof Error?a.message:"Failed to fetch config")}finally{j(!1)}},[a,c]);return{projects:g,loading:!!c&&i,error:c?k:null,refresh:m}}},33857:(a,b,c)=>{c.d(b,{w:()=>e});var d=c(40788);function e(a,b=null,c){return(0,d.DA)(a,b,c)}},40788:(a,b,c)=>{c.d(b,{DA:()=>m,eI:()=>l});var d=c(71277),e=c(46818),f=c(19954);c(98030);let g=new Map,h=new Map;function i(a){return(0,f.C0)(a)??"local"}function j(a){let b=g.get(a);return b||(b={sessionsById:new Map,orderedIds:[],version:0,loading:!0,error:null,listInitialized:!1,refreshPromise:null,unsubscribeSnapshots:null,activeConsumers:0,pollTimer:null,focusHandler:null,visibilityHandler:null},g.set(a,b)),b}async function k(a,b){let c=j(a);if(c.refreshPromise)return void await c.refreshPromise;let d=(async()=>{try{var d,f;let g,h=await fetch((0,e.S)("/api/sessions",b),{cache:"no-store"});if(!h.ok){let a=await h.json().catch(()=>null);throw Error(a?.error??a?.reason??`Failed to fetch sessions: ${h.status}`)}let i=(d=await h.json().catch(()=>null),Array.isArray(d)?d:Array.isArray(d?.sessions)?d.sessions:[]),k=new Map(i.map(a=>[a.id,a]));f=[...k.values()].sort((a,b)=>b.createdAt.localeCompare(a.createdAt)).map(a=>a.id),(g=j(a)).sessionsById=k,g.orderedIds=f,g.version+=1,c.error=null}catch(a){c.error=a instanceof Error?a.message:"Failed to fetch sessions"}finally{let b;for(let d of(c.loading=!1,(b=h.get(a))||(b=new Set,h.set(a,b)),b))d()}})();c.refreshPromise=d.finally(()=>{c.refreshPromise===d&&(c.refreshPromise=null)}),await d}function l(a,b){let c=b?.enabled??!0,e=i(b?.bridgeId),f=j(e),[,g]=(0,d.useReducer)(a=>a+1,0),[h,l]=(0,d.useState)(!1);return{sessions:(0,d.useMemo)(()=>{let b,d;return c&&h?(b=j(e),d=a?.trim(),b.orderedIds.map(a=>b.sessionsById.get(a)).filter(a=>!!a).filter(a=>!d||a.projectId===d)):[]},[c,h,a,e,f.version]),loading:!!c&&(!h||f.loading),error:c?f.error:null,refresh:()=>k(e,b?.bridgeId)}}function m(a,b=null,c){let e=c?.enabled??!0,g="string"==typeof a&&a.trim().length>0?a.trim():null,h=j(i((0,f.C0)(c?.bridgeId??b?.bridgeId??(0,f.DW)(g)?.bridgeId??null))),[,k]=(0,d.useReducer)(a=>a+1,0),[l,n]=(0,d.useState)(!1),[o,p]=(0,d.useState)(b),[q,r]=(0,d.useState)(null),[s,t]=(0,d.useState)(e&&null!==g&&null===b);return{session:g?l?h.sessionsById.get(g)??o??b??null:b??null:null,loading:s,error:e&&g?q??h.error:null}}},44462:(a,b,c)=>{c.d(b,{N:()=>k});var d=c(92692),e=c(71277);let f=new Map;for(let[a,b]of Object.entries({amp:["amp","amp-code","amp-cli","ampcode","agent-amp"],claude:["claude","claude-code","claude-cli","claudecode","ccr","claude-code-router","claude-mcp","claude-mcp-cli","claude-mcp-agent","agent-claude-code"],codex:["codex","openai-codex","codex-cli","codexcli","openai","agent-codex"],copilot:["copilot","github-copilot","githubcopilot","copilot-cli","agent-github-copilot"],cursor:["cursor","cursor-cli","cursor-agent","cursoragent","agent-cursor-cli"],droid:["droid","factory-droid","factory_droid","agent-droid"],gemini:["gemini","gemini-cli","google-gemini","googlegemini","agent-gemini"],opencode:["opencode","open-code","open_code","open-code-cli","agent-opencode"],qwen:["qwen","qwen-code","qwen_code","qwen-code-cli","agent-qwen-code"]}))for(let c of b)f.set(g(c),a);function g(a){return a.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/_+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function h(a){let b=g(a);if(!b)return null;let c=f.get(b);if(c)return c;for(let a of b.split("-")){let b=f.get(a);if(b)return b}for(let[a,c]of f.entries())if(b===a||b.startsWith(`${a}-`)||b.endsWith(`-${a}`)||b.includes(`-${a}-`))return c;return null}function i(a){try{let b=new URL(a),c=h(b.hostname.replace(/^www\./,"").replace(/\./g,"-"));if(c)return c;return h(b.pathname.replace(/\//g,"-"))}catch{return h(a)}}function j({label:a,className:b}){let c=a.split(/[^a-z0-9]/iu).filter(Boolean).slice(0,2).map(a=>a[0]?.toUpperCase()).join("");return(0,d.jsx)("span",{"aria-hidden":"true",className:`inline-flex shrink-0 items-center justify-center rounded-[0.2rem] text-[9px] font-semibold text-white ${b}`,style:{backgroundColor:function(a){let b=["#14b8a6","#06b6d4","#0ea5e9","#8b5cf6","#ec4899","#f97316","#f59e0b","#ef4444","#22c55e","#84cc16"],c=0;for(let d=0;d<a.length;d+=1)c=(31*c+a.charCodeAt(d))%b.length;return b[Math.abs(c)%b.length]??"#6b7280"}(`${a}:${a.length}`)},children:c||"AI"})}function k({seed:a,className:b="h-6 w-6"}){let[c,f]=(0,e.useState)(0),g=a?.label?.trim()??"",l=(0,e.useMemo)(()=>{var b;if(!g)return[];let c=h((b={label:g,iconUrl:a?.iconUrl,homepage:a?.homepage}).label)??(b.homepage?i(b.homepage):null)??(b.iconUrl?i(b.iconUrl):null),d="string"==typeof a?.iconUrl&&a.iconUrl.trim().length>0?a.iconUrl.trim():null,e=[];return c&&(e.push(`/agents/${c}-dark.svg`),e.push(`/agents/${c}-light.svg`)),d&&e.push(d),e},[g,a?.homepage,a?.iconUrl]);if(!g)return(0,d.jsx)(j,{label:"AI",className:b});let m=l[c]??null;return m?(0,d.jsx)("img",{src:m,alt:`${g} icon`,loading:"lazy",className:`${b} shrink-0 rounded-[0.2rem] object-contain scale-125`,onError:()=>f(a=>a+1)}):(0,d.jsx)(j,{label:g,className:b})}},48055:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]])},49373:(a,b,c)=>{c.d(b,{Q:()=>f});var d=c(71277);c(46818);var e=c(78126);function f({enabled:a,projectId:b,preferences:c,bridgeId:g}){(0,d.useRef)(c?.soundEnabled!==!1),(0,d.useRef)((0,e.ww)(c?.soundFile)),(0,d.useRef)(new Set),(0,d.useRef)(null),(0,d.useRef)(!1),(0,d.useRef)(null),(0,d.useRef)(null),(0,d.useRef)(null)}},49549:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},51430:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},51447:(a,b,c)=>{c.d(b,{G:()=>t});var d=c(92692),e=c(71277);let f=(0,c(37303).A)("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);var g=c(62170),h=c(93544),i=c(67994),j=c(64583),k=c(49549),l=c(78724),m=c(32165),n=c(2625),o=c(13636),p=c(1071);c(98030);var q=c(46818),r=c(95528);function s(){let a,b,c=(0,i.usePathname)(),f=(0,i.useSearchParams)(),[g,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(!1),D=(0,e.useMemo)(()=>null,[c,f]),E=(0,e.useCallback)(()=>null,[]),F=(0,e.useCallback)((a=!1)=>{let b=(0,q.S)("/api/app-update",E());if(!a)return b;let c=new URL(b,"http://127.0.0.1");return c.searchParams.set("force","1"),`${c.pathname}${c.search}${c.hash}`},[E]),G=(0,e.useCallback)(async(a=!1)=>{try{let b=await fetch(F(a),{cache:"no-store"}),c=await b.json().catch(()=>null);if(412===b.status)return u(null),null;if(!b.ok)throw Error("string"==typeof c?.error?c.error:`Failed to load update status (${b.status})`);return s(c),u(null),c}catch(a){return u(a instanceof Error?a.message:"Failed to load update status."),null}},[F,E]),H=g?.latestVersion&&v===g.latestVersion,I=!!g?.restarting||B,J=(0,e.useMemo)(()=>!!g&&(!!I||"running"===g.jobStatus||!H&&("completed"===g.jobStatus||"failed"===g.jobStatus||!g.enabled&&!!g.reason||g.updateAvailable)),[H,I,g]);async function K(){g?.updateCommand&&(await navigator.clipboard.writeText(g.updateCommand),y(!0),window.setTimeout(()=>y(!1),1400))}async function L(){A(!0);try{let a=await fetch((0,q.S)("/api/app-update",E()),{method:"POST",headers:{"content-type":"application/json"}}),b=await a.json().catch(()=>null);if(!a.ok)throw Error("string"==typeof b?.error?b.error:`Update failed (${a.status})`);s(b),u(null)}catch(a){u(a instanceof Error?a.message:"Failed to trigger update.")}finally{A(!1)}}async function M(){try{let a=await fetch((0,q.S)("/api/app-update",E()),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"restart"})}),b=await a.json().catch(()=>null);if(!a.ok)throw Error("string"==typeof b?.error?b.error:`Restart failed (${a.status})`);s(b),u(null)}catch(a){u(a instanceof Error?a.message:"Failed to restart Conductor.")}}return((0,e.useCallback)(async()=>{let a=Date.now()+6e4;if(D){for(;Date.now()<a;){let a=await G(!1);if(!a?.restarting)return void C(!1);await new Promise(a=>window.setTimeout(a,1e3))}C(!1),u("Restart started on the paired device, but it did not reconnect in time. Retry from the bridge controls.");return}for(;Date.now()<a;){try{if((await fetch("/api/health",{cache:"no-store"})).ok)return void window.location.reload()}catch{}await new Promise(a=>window.setTimeout(a,1e3))}C(!1),u("Restart started, but the dashboard did not come back in time. Reload manually.")},[D,G]),J)?(0,d.jsx)("div",{className:"pointer-events-none fixed bottom-3 right-3 z-[70] w-[min(calc(100vw-1.5rem),24rem)] sm:bottom-4 sm:right-4",children:(0,d.jsxs)("section",{className:(0,h.cn)("pointer-events-auto rounded-[14px] border bg-[var(--vk-bg-panel)] p-4 shadow-[0_16px_40px_rgba(0,0,0,0.35)]",g?.jobStatus==="failed"?"border-[color:color-mix(in_srgb,var(--vk-red)_55%,var(--vk-border))]":"border-[var(--vk-border)]"),children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[I||g?.jobStatus==="running"?(0,d.jsx)(j.A,{className:"h-4 w-4 animate-spin text-[var(--vk-orange)]"}):g?.jobStatus==="completed"?(0,d.jsx)(k.A,{className:"h-4 w-4 text-[var(--status-ready)]"}):g?.jobStatus==="failed"?(0,d.jsx)(l.A,{className:"h-4 w-4 text-[var(--vk-red)]"}):(0,d.jsx)(m.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}),(0,d.jsx)("h2",{className:"truncate text-[13px] font-semibold text-[var(--vk-text-normal)]",children:g?(b=(a=g.currentVersion?.trim())?` (build ${a})`:"",!g.enabled&&g.reason?`Conductor update unavailable${b}`:g.restarting?`Restarting Conductor${b}`:"running"===g.jobStatus?`Updating Conductor${b}`:"completed"===g.jobStatus?`Conductor updated${b}`:"failed"===g.jobStatus?`Update failed${b}`:g.latestVersion?`Conductor ${g.latestVersion} is available${b}`:`Conductor update available${b}`):"Conductor update"})]}),(0,d.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:g?function(a){if(!a.enabled&&a.reason)return(0,r.N8)(a);if(a.restarting)return"The launcher is restarting the runtime. This tab will reconnect automatically once it is ready.";if("running"===a.jobStatus)return a.jobMessage??"Installing the latest version in the background.";if("completed"===a.jobStatus)return a.jobMessage??"The latest version has been installed. Restart Conductor to use it.";if("failed"===a.jobStatus)return a.jobMessage??"The update command did not finish successfully.";let b=a.currentVersion?`You are running ${a.currentVersion}. `:"";return a.canAutoUpdate?`${b}Install the new release now and restart when it finishes.`:"npx"===a.installMode?`${b}Copy the restart command, run it in a terminal, and the next launch will use the latest release.`:`${b}Copy the update command, run it in a terminal, then restart Conductor.`}(g):"Checking for updates..."})]}),(0,d.jsx)("button",{type:"button",onClick:function(){if(g?.latestVersion){try{window.localStorage.setItem("conductor-dismissed-update-version",g.latestVersion)}catch{}w(g.latestVersion);return}s(a=>a?{...a,reason:null,enabled:!0}:a)},className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Dismiss update notice",children:(0,d.jsx)(n.A,{className:"h-4 w-4"})})]}),g?.updateCommand?(0,d.jsx)("div",{className:"mt-3 rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]",children:g.updateCommand}):null,g?(0,d.jsx)("p",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:function(a){switch(a){case"npx":return"This session was launched through npx. Copy the restart command, run it in a terminal, and the next launch will use the latest package.";case"unknown":return"Automatic updates are unavailable for this install.";default:return null}}(g.installMode)??(g.restartRequired?"Restart the current Conductor process after the installer completes.":"Update state streams from the running Conductor runtime.")}):null,t?(0,d.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:t}):g?.error?(0,d.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:g.error}):null,g?.logsTail&&"failed"===g.jobStatus?(0,d.jsx)("pre",{className:"mt-2 max-h-32 overflow-auto rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-2 text-[10px] leading-4 text-[var(--vk-text-faint)]",children:g.logsTail}):null,(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-2",children:[g?.jobStatus==="failed"&&g.canAutoUpdate?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void L(),disabled:z,children:[z?(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Retry"]}):null,g?.jobStatus==="idle"&&g.canAutoUpdate?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void L(),disabled:z,children:[z?(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Update now"]}):null,g?.jobStatus==="idle"&&!g.canAutoUpdate&&g.updateCommand?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void K(),children:[x?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-[var(--status-ready)]"}):(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"}),x?"Copied":"npx"===g.installMode?"Copy restart command":"Copy command"]}):null,g?.restartRequired&&g.canRestart&&!g.restarting&&!B?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void M(),children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Restart now"]}):null,g?.restarting||B?(0,d.jsxs)(p.$,{type:"button",size:"sm",variant:"primary",disabled:!0,children:[(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 animate-spin"}),"Restarting"]}):null]})]})}):null}function t({sidebar:a,children:b,mobileSidebarOpen:c,desktopSidebarOpen:i,onToggleSidebar:j,hideMobileSidebarToggle:k=!1}){let[l,m]=(0,e.useState)(356),[n,o]=(0,e.useState)(!1),p={"--workspace-sidebar-width":`${l}px`};return(0,d.jsxs)("div",{style:p,className:"relative flex h-dvh min-h-[100dvh] w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)] [padding-top:env(safe-area-inset-top)] [padding-bottom:env(safe-area-inset-bottom)] pl-[env(safe-area-inset-left)] pr-[env(safe-area-inset-right)]",children:[c&&(0,d.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:j,"aria-label":"Close workspace panel"}),(0,d.jsx)("aside",{className:(0,h.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-full max-w-none flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-[transform,width] duration-200 sm:w-[min(90vw,var(--workspace-sidebar-width))] sm:max-w-[28rem]",c?"translate-x-0":"-translate-x-full",i?"lg:w-[var(--workspace-sidebar-width)]":"lg:w-0 lg:overflow-hidden lg:border-r-0","lg:relative lg:left-auto lg:translate-x-0"),children:a}),i?(0,d.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>o(!0),"aria-hidden":"true",children:(0,d.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,i&&(0,d.jsx)("button",{type:"button",onClick:j,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,d.jsx)(f,{className:"h-5 w-5"})}),(0,d.jsxs)("main",{className:"relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!c&&!k&&(0,d.jsx)("button",{type:"button",onClick:j,className:"absolute left-2 top-2 z-40 inline-flex h-11 w-11 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_10px_24px_rgba(0,0,0,0.28)] hover:bg-[var(--vk-bg-hover)] sm:h-8 sm:w-8 lg:hidden","aria-label":"Open workspace panel",children:(0,d.jsx)(g.A,{className:"h-5 w-5"})}),!i&&(0,d.jsx)("button",{type:"button",onClick:j,className:"absolute left-2 top-2 z-40 hidden h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Open workspace panel",children:(0,d.jsx)(g.A,{className:"h-5 w-5"})}),b]}),(0,d.jsx)(s,{})]})}},62170:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]])},62465:(a,b,c)=>{c.d(b,{k$:()=>d});function d(){return!1}},68894:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(71277);function e(a){let[b,c]=(0,d.useState)(!1),[e,f]=(0,d.useState)(a?.initialDesktopOpen??!0),g=(0,d.useCallback)(()=>{c(a=>!a)},[]);return{mobileSidebarOpen:b,desktopSidebarOpen:e,toggleSidebar:g,closeSidebarOnMobile:(0,d.useCallback)(()=>{c(!1)},[]),syncSidebarForViewport:(0,d.useCallback)(()=>{c(!1)},[])}}},77768:(a,b,c)=>{c.d(b,{t:()=>e});var d=c(40788);function e(a,b){return(0,d.eI)(a,b)}},78126:(a,b,c)=>{c.d(b,{$E:()=>i,ww:()=>g,zu:()=>h});let d="abstract-sound-4",e={"abstract-sound-1":{steps:[{frequency:784,durationMs:90,gain:.24},{frequency:988,durationMs:90,gain:.22},{frequency:1175,durationMs:120,gain:.2}]},"abstract-sound-2":{steps:[{frequency:659,durationMs:120,gain:.22},{frequency:523,durationMs:140,gain:.2},{frequency:659,durationMs:120,gain:.18}]},"abstract-sound-3":{steps:[{frequency:440,durationMs:80,gain:.22},{frequency:554,durationMs:80,gain:.22},{frequency:659,durationMs:90,gain:.2},{frequency:880,durationMs:120,gain:.18}]},"abstract-sound-4":{steps:[{frequency:523,durationMs:130,gain:.22},{frequency:659,durationMs:130,gain:.2},{frequency:784,durationMs:150,gain:.18}]},"cow-mooing":{steps:[{frequency:220,durationMs:220,type:"triangle",gain:.24},{frequency:174,durationMs:260,type:"triangle",gain:.2}]},"phone-vibration":{vibrate:[120,60,120,60,180],steps:[{frequency:180,durationMs:140,gain:.16},{frequency:220,durationMs:140,gain:.14}]},rooster:{steps:[{frequency:784,durationMs:70,type:"square",gain:.24},{frequency:1046,durationMs:70,type:"square",gain:.22},{frequency:1318,durationMs:90,type:"square",gain:.2},{frequency:1568,durationMs:120,type:"square",gain:.18}]}};function f(a){let b=a?.trim();return b&&b in e?b:d}function g(a){return f(a)}async function h(){return!1}async function i(a,b){let c=f(a),d=e[c];return!!("phone-vibration"===c&&d.vibrate&&"u">typeof navigator)&&"function"==typeof navigator.vibrate&&navigator.vibrate(d.vibrate)}},78724:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},98030:(a,b,c)=>{c.d(b,{F:()=>t,L:()=>s});var d=c(46818);let e=new Set,f=new Set,g=null,h=null,i=null,j=null;function k(){return e.size>0||f.size>0}function l(){return"u"<typeof document||"visible"===document.visibilityState}function m(){g&&(g.close(),g=null)}function n(a){if(Array.isArray(a))return{type:"snapshot",sessions:a};if(!a||"object"!=typeof a)return null;let b=a.type;return"snapshot"!==b&&"snapshot_delta"!==b?null:Array.isArray(a.sessions)?a:null}function o(a){return a&&"object"==typeof a&&"boolean"==typeof a.enabled?a:null}function p(a){for(let b of e)b(a);let b=o(a.appUpdate);if(b)for(let a of f)a(b)}async function q(){if("function"!=typeof fetch)return;let a=(async()=>{try{let a=await fetch((0,d.S)("/api/sessions",null));if(!a.ok)return;let b=await a.json().catch(()=>null),c=n(b);if(!c)return;p(c)}catch{}try{let b=await fetch((0,d.S)("/api/app-update",null));if(!b.ok)return;let c=await b.json().catch(()=>null);var a=o(c);for(let b of f)b(a)}catch{}})();h=a.finally(()=>{h===a&&(h=null)}),await a}function r(){if(!k()){m(),i&&(window.removeEventListener("focus",i),i=null),j&&(document.removeEventListener("visibilitychange",j),j=null);return}l()?g||"u"<typeof EventSource||!k()||!l()||((g=new EventSource("/api/events")).onmessage=a=>{try{let b=n(JSON.parse(a.data));if(!b)return;p(b)}catch{}},g.addEventListener("refresh",()=>{h||q()}),g.onerror=()=>{k()&&l()||m()}):m()}function s(a){return e.add(a),r(),()=>{e.delete(a),r()}}function t(a){return f.add(a),r(),()=>{f.delete(a),r()}}}};
|