@alook/app 0.0.100 → 0.0.102

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.
Files changed (108) hide show
  1. package/bundled/email-worker/index.js +5 -1
  2. package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
  3. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  4. package/bundled/web/.open-next/assets/_next/static/chunks/{0tvembqw.e82g.js → 01yvpio9kzobl.js} +1 -1
  5. package/bundled/web/.open-next/assets/_next/static/chunks/{0.9oyh86wn1fd.js → 06-36_p6krl~i.js} +1 -1
  6. package/bundled/web/.open-next/assets/_next/static/chunks/06lpxhe_9sltg.js +1 -0
  7. package/bundled/web/.open-next/assets/_next/static/chunks/{0uayv05d6mntr.js → 0byowbhmg_3u~.js} +1 -1
  8. package/bundled/web/.open-next/assets/_next/static/chunks/{0wx~9mjjiq42o.js → 0h1de3c3ehomh.js} +3 -3
  9. package/bundled/web/.open-next/assets/_next/static/chunks/0huy7.sigtt~2.css +1 -0
  10. package/bundled/web/.open-next/assets/_next/static/chunks/0hyshwdxcbwbq.js +1 -0
  11. package/bundled/web/.open-next/assets/_next/static/chunks/0k2238cv1yqp0.js +62 -0
  12. package/bundled/web/.open-next/assets/_next/static/chunks/{0dhez0ocwb1sn.js → 0r775oyts5ozc.js} +1 -1
  13. package/bundled/web/.open-next/assets/_next/static/chunks/{0u.pao5ubynoe.js → 0v4hr9uuvoz8q.js} +1 -1
  14. package/bundled/web/.open-next/assets/_next/static/chunks/{01uwb4d6kz814.js → 0y8rj~id6sl.y.js} +1 -1
  15. package/bundled/web/.open-next/assets/_next/static/chunks/10rvnbe-gw6a7.js +3 -0
  16. package/bundled/web/.open-next/assets/_next/static/chunks/10ux4o4nkn.sj.js +1 -0
  17. package/bundled/web/.open-next/assets/_next/static/chunks/{0xbk75wddja-u.js → 135zhgfi292f8.js} +2 -2
  18. package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → vYwH57AQyFDz3H5YJt_2h}/_global-error.cache +1 -1
  19. package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → vYwH57AQyFDz3H5YJt_2h}/_not-found.cache +1 -1
  20. package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → vYwH57AQyFDz3H5YJt_2h}/privacy.cache +1 -1
  21. package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → vYwH57AQyFDz3H5YJt_2h}/sitemap.xml.cache +1 -1
  22. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  23. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  24. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  25. package/bundled/web/.open-next/middleware/handler.mjs +4 -4
  26. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  27. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  28. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  29. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  30. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  31. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
  32. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
  33. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
  34. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
  35. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
  36. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
  37. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
  38. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
  39. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  40. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  41. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  46. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page_client-reference-manifest.js +1 -1
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/0b5f_next_dist_esm_build_templates_app-route_08rz-qa.js +172 -572
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +8 -7
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0i4u2y-._.js +1 -1
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0iw.~u_._.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j3ag~p._.js +1 -1
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j_~vur._.js +1 -1
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0mk4o2l._.js +1 -1
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r0h9so._.js +5 -4
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/01k0_lucide-react_dist_esm_icons_0q8k8yb._.js +3 -0
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0r7fdlr._.js → [root-of-the-server]__05g0phj._.js} +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__07of89~._.js → [root-of-the-server]__06c6dak._.js} +2 -2
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0cdpfp7._.js → [root-of-the-server]__0uv4dv6._.js} +2 -2
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +8 -7
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_02.xen~._.js +1 -1
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0.q_x36._.js → _06a692f._.js} +1 -1
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_09n89mu._.js +1 -1
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0_.06ux._.js +1 -1
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0a8f3fa._.js → _0c-ma68._.js} +1 -1
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0sby7nn._.js +64 -0
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0u~xh2v._.js +1 -1
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0xhx.5_._.js +1 -1
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0wtsjmd._.js → _0~twhbc._.js} +1 -1
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12yhe5_._.js +1 -1
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0stugv_._.js +1 -1
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_calendar_page_tsx_01geiyd._.js +1 -1
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_home_page_tsx_0lkx78f._.js +1 -1
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_home_home-page_tsx_0to84tv._.js +1 -37
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_lib_templates_index_ts_13n9_2e._.js +172 -572
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  90. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +444 -1542
  91. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +171 -153
  92. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
  93. package/bundled/web/wrangler.toml +1 -1
  94. package/bundled/ws-do/index.js +5 -1
  95. package/dist/cli/index.js +8 -4
  96. package/dist/cli/session-runner.js +6 -2
  97. package/dist/index.js +5 -1
  98. package/package.json +1 -1
  99. package/bundled/web/.open-next/assets/_next/static/chunks/01mduafj8.t03.js +0 -37
  100. package/bundled/web/.open-next/assets/_next/static/chunks/051._099hez6h.js +0 -1
  101. package/bundled/web/.open-next/assets/_next/static/chunks/07ju9-jia-17m.js +0 -325
  102. package/bundled/web/.open-next/assets/_next/static/chunks/09m73_4eia.5a.css +0 -1
  103. package/bundled/web/.open-next/assets/_next/static/chunks/09tp3dnnhv6a0.js +0 -3
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13__3im._.js +0 -327
  105. /package/bundled/web/.open-next/assets/_next/static/{stPDLxY2tICyNcpCDMCz4 → vYwH57AQyFDz3H5YJt_2h}/_buildManifest.js +0 -0
  106. /package/bundled/web/.open-next/assets/_next/static/{stPDLxY2tICyNcpCDMCz4 → vYwH57AQyFDz3H5YJt_2h}/_clientMiddlewareManifest.js +0 -0
  107. /package/bundled/web/.open-next/assets/_next/static/{stPDLxY2tICyNcpCDMCz4 → vYwH57AQyFDz3H5YJt_2h}/_ssgManifest.js +0 -0
  108. /package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → vYwH57AQyFDz3H5YJt_2h}/robots.txt.cache +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[586220,a=>{"use strict";var b=a.i(437199);a.s(["useIsMobile",0,function(){let[a,c]=b.useState(void 0);return b.useEffect(()=>{let a=window.matchMedia("(max-width: 639px)"),b=()=>{c(window.innerWidth<640)};return a.addEventListener("change",b),c(window.innerWidth<640),()=>a.removeEventListener("change",b)},[]),!!a}])},881503,a=>{"use strict";var b=a.i(437199);let c=(0,a.i(75118).isLocalMode)(),d=Number(process.env.NEXT_PUBLIC_WS_DO_PORT)||8789,e=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,f=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;a.s(["useUserWs",0,function(a,g){let h=(0,b.useRef)(null),i=(0,b.useRef)(e),j=(0,b.useRef)(a),k=(0,b.useRef)(g?.onReconnect),l=(0,b.useRef)(null),m=(0,b.useRef)(!1),n=(0,b.useRef)(0),o=(0,b.useRef)(null),p=(0,b.useRef)(null);(0,b.useEffect)(()=>{j.current=a},[a]),(0,b.useEffect)(()=>{k.current=g?.onReconnect},[g?.onReconnect]);let q=(0,b.useRef)(null),r=(0,b.useCallback)(()=>{let a=Math.min(i.current,f);i.current=Math.min(2*a,f),l.current=setTimeout(()=>{q.current?.()},a+500*Math.random())},[]),s=(0,b.useCallback)(async()=>{let a,b,f,g=d;try{let c=await fetch("/api/ws/token");if(!c.ok){console.warn("[ws] token fetch failed:",c.status),r();return}let d=await c.json();a=d.userId,b=d.token,d.wsPort&&(g=d.wsPort)}catch(a){console.warn("[ws] token fetch error:",a),r();return}let l=c?`ws://localhost:${g}/?userId=${a}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${a}`;try{f=new WebSocket(l)}catch(a){console.warn("[ws] WebSocket creation failed:",a),r();return}h.current=f,f.onopen=()=>{i.current=e,f.send(JSON.stringify({type:"auth",token:b})),m.current&&k.current?.(),m.current=!0,n.current=Date.now(),o.current=setInterval(()=>{f.readyState===WebSocket.OPEN&&f.send("ping")},25e3),p.current=setInterval(()=>{Date.now()-n.current>3e4&&f.close()},5e3)},f.onmessage=a=>{n.current=Date.now();try{let b=JSON.parse(a.data);if("auth.ok"===b.type)return;j.current(b)}catch{}},f.onerror=()=>{},f.onclose=()=>{f===h.current&&(o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null),r())}},[r]);(0,b.useEffect)(()=>{q.current=s},[s]),(0,b.useEffect)(()=>(s(),()=>{null!==l.current&&(clearTimeout(l.current),l.current=null),o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null);let a=h.current;h.current=null,a?.close()}),[s])}])},752792,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(921584),f=a.i(881503);let g=(0,c.createContext)(null);a.s(["AgentProvider",0,function({workspaceId:a,children:h}){let[i,j]=(0,c.useState)([]),[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(!0),[o,p]=(0,c.useState)({}),[q,r]=(0,c.useState)([]),s=(0,c.useRef)(!1),[t,u]=(0,c.useState)([]),[v,w]=(0,c.useState)(new Map),[x,y]=(0,c.useState)(new Map),z=(0,c.useRef)(!1),A=(0,c.useRef)(new Set),B=(0,c.useRef)(!0),C=(0,c.useRef)(!1),D=(0,c.useCallback)(a=>(A.current.add(a),()=>{A.current.delete(a)}),[]),E=(0,c.useRef)(!1),F=(0,c.useCallback)(async()=>{if(!E.current){E.current=!0;try{if(s.current){let b=await (0,d.listWorkspaceActiveTasks)(a);if(!B.current)return;r(b.tasks);let c={};for(let a of b.tasks)c[a.agent_id]=(c[a.agent_id]??0)+1;p(c),s.current=b.tasks.length>0}else{let b=await (0,d.listAgentActiveTaskCounts)(a);if(!B.current)return;if(p(b.counts),Object.values(b.counts).some(a=>a>0)){s.current=!0;let b=await (0,d.listWorkspaceActiveTasks)(a);B.current&&r(b.tasks)}else r([])}}catch{}finally{E.current=!1}}},[a]);(0,c.useEffect)(()=>{B.current=!0,F();let a=setInterval(F,15e3);return()=>{B.current=!1,clearInterval(a)}},[F]);let G=(0,c.useCallback)(async()=>{try{let[b,c,e,f]=await Promise.all([(0,d.listAgents)(a),(0,d.listRuntimes)(a),(0,d.listAgentPins)(a),(0,d.listAgentLinks)(a)]);j(b),l(c),u(f),w(new Map(e.pins.map(a=>[a.agent_id,{created_at:a.created_at,position:a.position}]))),y(new Map(e.sidebar_order.map(a=>[a.agent_id,a.position])))}catch(a){e.toast.error(a instanceof Error?a.message:"Failed to load data")}finally{n(!1),z.current=!0}},[a]),H=(0,c.useCallback)(async()=>{if(!C.current){C.current=!0;try{let b=await (0,d.listRuntimes)(a);l(b)}catch{}finally{C.current=!1}}},[a]);(0,c.useEffect)(()=>{G()},[G]),(0,c.useEffect)(()=>{let a=null,b=setInterval(()=>{"visible"===document.visibilityState&&H()},3e4),c=()=>{"visible"===document.visibilityState&&(a=setTimeout(()=>H(),2e3*Math.random()))};return document.addEventListener("visibilitychange",c),()=>{clearInterval(b),a&&clearTimeout(a),document.removeEventListener("visibilitychange",c)}},[H]);let I=(0,c.useCallback)(b=>{for(let a of A.current)a(b);switch(b.type){case"runtime.registered":if(b.workspaceId!==a)break;G();break;case"runtime.deleted":G();break;case"runtime.status":if(b.workspaceId!==a)break;H();break;case"task.updated":F()}},[G,H,F,a]);(0,f.useUserWs)(I,{onReconnect:H});let J=(0,c.useCallback)(async b=>{try{let c=await (0,d.createAgent)(b,a);return await G(),c}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to create agent"),null}},[G,a]),K=(0,c.useCallback)(async(b,c)=>{try{return await (0,d.updateAgent)(b,c,a),await G(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to update agent"),!1}},[G,a]),L=(0,c.useCallback)(async b=>{try{return await (0,d.deleteAgent)(b,a),await G(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to remove agent"),!1}},[G,a]),M=(0,c.useCallback)(async b=>{w(a=>{let c=Math.max(-1,...[...a.values()].map(a=>a.position));return new Map(a).set(b,{created_at:new Date().toISOString(),position:c+1})});try{await (0,d.pinAgent)(a,b)}catch{w(a=>{let c=new Map(a);return c.delete(b),c}),e.toast.error("Failed to pin agent")}},[a]),N=(0,c.useCallback)(async b=>{let c;w(a=>{c=a.get(b);let d=new Map(a);return d.delete(b),d});try{await (0,d.unpinAgent)(a,b)}catch{void 0!==c&&w(a=>new Map(a).set(b,c)),e.toast.error("Failed to unpin agent")}},[a]),O=(0,c.useCallback)(async b=>{let c=new Map(v);w(a=>{let c=new Map(a);return b.forEach((a,b)=>{let d=c.get(a);d&&c.set(a,{...d,position:b})}),c});try{await (0,d.reorderAgentPins)(a,b)}catch{w(c),e.toast.error("Failed to reorder pins")}},[a,v]),P=(0,c.useCallback)(async b=>{let c=new Map(x);y(new Map(b.map((a,b)=>[a,b])));try{await (0,d.reorderUnpinnedAgents)(a,b)}catch{y(c),e.toast.error("Failed to reorder agents")}},[a,x]),Q=(0,c.useCallback)(()=>{let a=k.find(a=>"online"===a.status);return a?.id??""},[k]),R=(0,c.useCallback)(async()=>{try{return(await (0,d.createMachineToken)("cli",a)).token}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to generate token"),null}},[a]),S=(0,c.useCallback)(async b=>{try{return await (0,d.deleteMachine)(b,a),await G(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to remove machine"),!1}},[G,a]);return(0,b.jsx)(g.Provider,{value:{workspaceId:a,agents:i,agentLinks:t,runtimes:k,loading:m,activeTaskCounts:o,activeTaskDetails:q,pins:v,reload:G,subscribeWs:D,handleCreateAgent:J,handleUpdateAgent:K,handleDeleteAgent:L,handlePinAgent:M,handleUnpinAgent:N,handleReorderPins:O,unpinnedOrder:x,handleReorderUnpinned:P,getFirstOnlineRuntimeId:Q,handleGenerateToken:R,handleDeleteMachine:S},children:h})},"useAgentContext",0,function(){let a=(0,c.useContext)(g);if(!a)throw Error("useAgentContext must be used within AgentProvider");return a},"useAgentContextSafe",0,function(){return(0,c.useContext)(g)}])},577033,a=>{"use strict";let b=(0,a.i(647651).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},143984,a=>{"use strict";var b=a.i(577033);a.s(["ChevronRight",()=>b.default])},123047,a=>{"use strict";let b=(0,a.i(647651).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],123047)},858767,a=>{"use strict";let b=(0,a.i(647651).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",0,b],858767)},452906,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(921584);let f=(0,c.createContext)(null);a.s(["ChannelProvider",0,function({workspaceId:a,children:g}){let[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)("default"),[l,m]=(0,c.useState)(!0),[n,o]=(0,c.useState)(null),p=(0,c.useCallback)(async()=>{try{let b=await (0,d.listChannels)(a);i(b)}catch{i([])}},[a]);(0,c.useEffect)(()=>{p().finally(()=>m(!1))},[a,p]),(0,c.useEffect)(()=>{},[a,n]);let q=(0,c.useCallback)(a=>{k(a)},[a,n]),r=(0,c.useCallback)(async b=>{let c=await (0,d.createChannelApi)(a,b);return await p(),c},[a,p]),s=(0,c.useCallback)(async(b,c)=>{let e=h.find(a=>a.id===b);await (0,d.renameChannelApi)(b,a,c),e&&e.name===j&&q(c),await p()},[a,h,j,q,p]),t=(0,c.useCallback)(async b=>{let c=h.find(a=>a.id===b);await (0,d.deleteChannelApi)(b,a),c&&c.name===j&&q("default"),await p()},[a,h,j,q,p]),u=(0,c.useCallback)(async b=>{i(a=>{let c=new Map(a.map(a=>[a.id,a])),d=b.map(a=>c.get(a)).filter(a=>void 0!==a),e=new Set(b);return[...a.filter(a=>!e.has(a.id)),...d]});try{await (0,d.reorderChannelsApi)(a,b)}catch{await p(),e.toast.error("Failed to reorder channels")}},[a,p]);return(0,b.jsx)(f.Provider,{value:{channels:h,activeChannel:j,loading:l,setActiveChannel:q,setAgentId:o,createChannel:r,renameChannel:s,deleteChannel:t,reorderChannels:u,refresh:p},children:g})},"useChannel",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useChannel must be used within a ChannelProvider");return a}])},191525,387123,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(26822),e=a.i(464830),f=a.i(722393),g=a.i(525132),h=a.i(25668),i=a.i(75118),j=a.i(588339),k=a.i(506180);function l(a){let b=new Date(a);if(isNaN(b.getTime()))return"";let c=Math.floor((new Date().getTime()-b.getTime())/6e4);if(c<1)return"just now";if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return e<7?`${e}d ago`:b.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function m({online:a}){return(0,b.jsx)("span",{className:(0,i.cn)("size-1.5 rounded-full shrink-0",a?"bg-status-online":"bg-status-offline")})}function n({task:a,slug:c,agentId:e}){var f;let g,h="running"===a.status;return(0,b.jsxs)(d.default,{href:`/w/${c}/agents/${e}?task=${a.id}&conv=${a.conversation_id}`,className:"flex items-center gap-2 w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:[(0,b.jsx)("span",{className:(0,i.cn)("size-1.5 rounded-full shrink-0",h?"bg-primary animate-pulse":"bg-muted-foreground/40")}),(0,b.jsx)("div",{className:"flex-1 min-w-0",children:(0,b.jsx)("p",{className:"text-xs truncate",children:(g=(f=a.prompt).match(/^Issue\s+iss_\w+:\s*(.+)/))?g[1].split("\n")[0]:f.split("\n")[0]})}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:l(a.created_at)})]})}a.s(["relativeTime",0,l],387123);let o="gap-1.5 text-muted-foreground hover:text-foreground cursor-pointer";a.s(["AgentStatusBadge",0,function({isOnline:a,taskCount:l,agentId:p}){let{slug:q,workspaceId:r}=(0,k.useWorkspace)(),[s,t]=(0,c.useState)(null),[u,v]=(0,c.useState)(!1),[w,x]=(0,c.useState)(!1),y=(0,c.useCallback)(async()=>{t(null),v(!0),x(!1);try{let a=await (0,j.listWorkspaceActiveTasks)(r);t(a.tasks.filter(a=>a.agent_id===p))}catch{x(!0)}finally{v(!1)}},[p,r]);return a?(0,b.jsxs)(f.Popover,{onOpenChange:a=>{a&&y()},children:[(0,b.jsxs)(f.PopoverTrigger,{render:(0,b.jsx)("button",{type:"button",className:(0,i.cn)((0,e.badgeVariants)({variant:"outline"}),o),onClick:a=>a.stopPropagation()}),children:[(0,b.jsx)(m,{online:!0}),l>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"hidden sm:inline",children:"Working"}),(0,b.jsx)("span",{className:"tabular-nums",children:l})]}):(0,b.jsx)("span",{className:"hidden sm:inline text-muted-foreground/40",children:"Online"})]}),(0,b.jsx)(f.PopoverContent,{className:"w-72 p-1",children:u?(0,b.jsx)("div",{className:"p-2 space-y-1",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2",children:[(0,b.jsx)(h.Skeleton,{className:"size-1.5 rounded-full"}),(0,b.jsxs)("div",{className:"flex-1 space-y-1",children:[(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-10"}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-full"})]}),(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-8"})]},c))}):w?(0,b.jsx)("div",{className:"p-3 text-xs text-muted-foreground",children:"Failed to load"}):s&&0!==s.length?(0,b.jsxs)("div",{className:"max-h-75 overflow-y-auto",children:[s.slice(0,6).map(a=>(0,b.jsx)(n,{task:a,slug:q,agentId:p},a.id)),s.length>6&&(0,b.jsxs)(d.default,{href:`/w/${q}/agents/${p}/activity?status=running`,className:"block text-xs text-muted-foreground hover:text-foreground text-center py-1.5 transition-colors",children:["View all ",s.length," tasks"]})]}):(0,b.jsx)("div",{className:"p-3 text-xs text-muted-foreground",children:"No active tasks"})})]}):(0,b.jsxs)(g.Tooltip,{children:[(0,b.jsx)(g.TooltipTrigger,{render:(0,b.jsxs)(e.Badge,{variant:"outline",render:(0,b.jsx)(d.default,{href:`/w/${q}/runtimes`}),className:o,children:[(0,b.jsx)(m,{online:!1}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Offline"})]})}),(0,b.jsx)(g.TooltipContent,{children:"Runtime offline — click to manage runtimes"})]})}],191525)}];
1
+ module.exports=[586220,a=>{"use strict";var b=a.i(437199);a.s(["useIsMobile",0,function(){let[a,c]=b.useState(void 0);return b.useEffect(()=>{let a=window.matchMedia("(max-width: 639px)"),b=()=>{c(window.innerWidth<640)};return a.addEventListener("change",b),c(window.innerWidth<640),()=>a.removeEventListener("change",b)},[]),!!a}])},881503,a=>{"use strict";var b=a.i(437199);let c=(0,a.i(75118).isLocalMode)(),d=Number(process.env.NEXT_PUBLIC_WS_DO_PORT)||8789,e=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,f=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;a.s(["useUserWs",0,function(a,g){let h=(0,b.useRef)(null),i=(0,b.useRef)(e),j=(0,b.useRef)(a),k=(0,b.useRef)(g?.onReconnect),l=(0,b.useRef)(null),m=(0,b.useRef)(!1),n=(0,b.useRef)(0),o=(0,b.useRef)(null),p=(0,b.useRef)(null);(0,b.useEffect)(()=>{j.current=a},[a]),(0,b.useEffect)(()=>{k.current=g?.onReconnect},[g?.onReconnect]);let q=(0,b.useRef)(null),r=(0,b.useCallback)(()=>{let a=Math.min(i.current,f);i.current=Math.min(2*a,f),l.current=setTimeout(()=>{q.current?.()},a+500*Math.random())},[]),s=(0,b.useCallback)(async()=>{let a,b,f,g=d;try{let c=await fetch("/api/ws/token");if(!c.ok){console.warn("[ws] token fetch failed:",c.status),r();return}let d=await c.json();a=d.userId,b=d.token,d.wsPort&&(g=d.wsPort)}catch(a){console.warn("[ws] token fetch error:",a),r();return}let l=c?`ws://localhost:${g}/?userId=${a}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${a}`;try{f=new WebSocket(l)}catch(a){console.warn("[ws] WebSocket creation failed:",a),r();return}h.current=f,f.onopen=()=>{i.current=e,f.send(JSON.stringify({type:"auth",token:b})),m.current&&k.current?.(),m.current=!0,n.current=Date.now(),o.current=setInterval(()=>{f.readyState===WebSocket.OPEN&&f.send("ping")},25e3),p.current=setInterval(()=>{Date.now()-n.current>3e4&&f.close()},5e3)},f.onmessage=a=>{n.current=Date.now();try{let b=JSON.parse(a.data);if("auth.ok"===b.type)return;j.current(b)}catch{}},f.onerror=()=>{},f.onclose=()=>{f===h.current&&(o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null),r())}},[r]);(0,b.useEffect)(()=>{q.current=s},[s]),(0,b.useEffect)(()=>(s(),()=>{null!==l.current&&(clearTimeout(l.current),l.current=null),o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null);let a=h.current;h.current=null,a?.close()}),[s])}])},752792,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(921584),f=a.i(881503);let g=(0,c.createContext)(null);a.s(["AgentProvider",0,function({workspaceId:a,children:h}){let[i,j]=(0,c.useState)([]),[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(!0),[o,p]=(0,c.useState)({}),[q,r]=(0,c.useState)([]),s=(0,c.useRef)(!1),[t,u]=(0,c.useState)([]),[v,w]=(0,c.useState)(new Map),[x,y]=(0,c.useState)(new Map),z=(0,c.useRef)(!1),A=(0,c.useRef)(new Set),B=(0,c.useRef)(!0),C=(0,c.useRef)(!1),D=(0,c.useCallback)(a=>(A.current.add(a),()=>{A.current.delete(a)}),[]),E=(0,c.useRef)(!1),F=(0,c.useCallback)(async()=>{if(!E.current){E.current=!0;try{if(s.current){let b=await (0,d.listWorkspaceActiveTasks)(a);if(!B.current)return;r(b.tasks);let c={};for(let a of b.tasks)c[a.agent_id]=(c[a.agent_id]??0)+1;p(c),s.current=b.tasks.length>0}else{let b=await (0,d.listAgentActiveTaskCounts)(a);if(!B.current)return;if(p(b.counts),Object.values(b.counts).some(a=>a>0)){s.current=!0;let b=await (0,d.listWorkspaceActiveTasks)(a);B.current&&r(b.tasks)}else r([])}}catch{}finally{E.current=!1}}},[a]);(0,c.useEffect)(()=>{B.current=!0,F();let a=setInterval(F,15e3);return()=>{B.current=!1,clearInterval(a)}},[F]);let G=(0,c.useCallback)(async()=>{try{let[b,c,e,f]=await Promise.all([(0,d.listAgents)(a),(0,d.listRuntimes)(a),(0,d.listAgentPins)(a),(0,d.listAgentLinks)(a)]);j(b),l(c),u(f),w(new Map(e.pins.map(a=>[a.agent_id,{created_at:a.created_at,position:a.position}]))),y(new Map(e.sidebar_order.map(a=>[a.agent_id,a.position])))}catch(a){e.toast.error(a instanceof Error?a.message:"Failed to load data")}finally{n(!1),z.current=!0}},[a]),H=(0,c.useCallback)(async()=>{if(!C.current){C.current=!0;try{let b=await (0,d.listRuntimes)(a);l(b)}catch{}finally{C.current=!1}}},[a]);(0,c.useEffect)(()=>{G()},[G]),(0,c.useEffect)(()=>{let a=null,b=setInterval(()=>{"visible"===document.visibilityState&&H()},3e4),c=()=>{"visible"===document.visibilityState&&(a=setTimeout(()=>H(),2e3*Math.random()))};return document.addEventListener("visibilitychange",c),()=>{clearInterval(b),a&&clearTimeout(a),document.removeEventListener("visibilitychange",c)}},[H]);let I=(0,c.useCallback)(b=>{for(let a of A.current)a(b);switch(b.type){case"runtime.registered":if(b.workspaceId!==a)break;G();break;case"runtime.deleted":G();break;case"runtime.status":if(b.workspaceId!==a)break;H();break;case"task.updated":F()}},[G,H,F,a]);(0,f.useUserWs)(I,{onReconnect:H});let J=(0,c.useCallback)(async b=>{try{let c=await (0,d.createAgent)(b,a);return await G(),c}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to create agent"),null}},[G,a]),K=(0,c.useCallback)(async(b,c)=>{try{return await (0,d.updateAgent)(b,c,a),await G(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to update agent"),!1}},[G,a]),L=(0,c.useCallback)(async b=>{try{return await (0,d.deleteAgent)(b,a),await G(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to remove agent"),!1}},[G,a]),M=(0,c.useCallback)(async b=>{w(a=>{let c=Math.max(-1,...[...a.values()].map(a=>a.position));return new Map(a).set(b,{created_at:new Date().toISOString(),position:c+1})});try{await (0,d.pinAgent)(a,b)}catch{w(a=>{let c=new Map(a);return c.delete(b),c}),e.toast.error("Failed to pin agent")}},[a]),N=(0,c.useCallback)(async b=>{let c;w(a=>{c=a.get(b);let d=new Map(a);return d.delete(b),d});try{await (0,d.unpinAgent)(a,b)}catch{void 0!==c&&w(a=>new Map(a).set(b,c)),e.toast.error("Failed to unpin agent")}},[a]),O=(0,c.useCallback)(async b=>{let c=new Map(v);w(a=>{let c=new Map(a);return b.forEach((a,b)=>{let d=c.get(a);d&&c.set(a,{...d,position:b})}),c});try{await (0,d.reorderAgentPins)(a,b)}catch{w(c),e.toast.error("Failed to reorder pins")}},[a,v]),P=(0,c.useCallback)(async b=>{let c=new Map(x);y(new Map(b.map((a,b)=>[a,b])));try{await (0,d.reorderUnpinnedAgents)(a,b)}catch{y(c),e.toast.error("Failed to reorder agents")}},[a,x]),Q=(0,c.useCallback)(()=>{let a=k.find(a=>"online"===a.status);return a?.id??""},[k]),R=(0,c.useCallback)(async()=>{try{return(await (0,d.createMachineToken)("cli",a)).token}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to generate token"),null}},[a]),S=(0,c.useCallback)(async b=>{try{return await (0,d.deleteMachine)(b,a),await G(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to remove machine"),!1}},[G,a]);return(0,b.jsx)(g.Provider,{value:{workspaceId:a,agents:i,agentLinks:t,runtimes:k,loading:m,activeTaskCounts:o,activeTaskDetails:q,pins:v,reload:G,subscribeWs:D,handleCreateAgent:J,handleUpdateAgent:K,handleDeleteAgent:L,handlePinAgent:M,handleUnpinAgent:N,handleReorderPins:O,unpinnedOrder:x,handleReorderUnpinned:P,getFirstOnlineRuntimeId:Q,handleGenerateToken:R,handleDeleteMachine:S},children:h})},"useAgentContext",0,function(){let a=(0,c.useContext)(g);if(!a)throw Error("useAgentContext must be used within AgentProvider");return a},"useAgentContextSafe",0,function(){return(0,c.useContext)(g)}])},577033,a=>{"use strict";let b=(0,a.i(647651).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},143984,a=>{"use strict";var b=a.i(577033);a.s(["ChevronRight",()=>b.default])},123047,a=>{"use strict";let b=(0,a.i(647651).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],123047)},858767,a=>{"use strict";let b=(0,a.i(647651).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",0,b],858767)},452906,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(921584);let f=(0,c.createContext)(null);a.s(["ChannelProvider",0,function({workspaceId:a,children:g}){let[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)("default"),[l,m]=(0,c.useState)(!0),[n,o]=(0,c.useState)(null),p=(0,c.useCallback)(async()=>{try{let b=await (0,d.listChannels)(a);i(b)}catch{i([])}},[a]);(0,c.useEffect)(()=>{p().finally(()=>m(!1))},[a,p]),(0,c.useEffect)(()=>{},[a,n]);let q=(0,c.useCallback)(a=>{k(a)},[a,n]),r=(0,c.useCallback)(async b=>{let c=await (0,d.createChannelApi)(a,b);return await p(),c},[a,p]),s=(0,c.useCallback)(async(b,c)=>{let e=h.find(a=>a.id===b);await (0,d.renameChannelApi)(b,a,c),e&&e.name===j&&q(c),await p()},[a,h,j,q,p]),t=(0,c.useCallback)(async b=>{let c=h.find(a=>a.id===b);await (0,d.deleteChannelApi)(b,a),c&&c.name===j&&q("default"),await p()},[a,h,j,q,p]),u=(0,c.useCallback)(async b=>{i(a=>{let c=new Map(a.map(a=>[a.id,a])),d=b.map(a=>c.get(a)).filter(a=>void 0!==a),e=new Set(b);return[...a.filter(a=>!e.has(a.id)),...d]});try{await (0,d.reorderChannelsApi)(a,b)}catch{await p(),e.toast.error("Failed to reorder channels")}},[a,p]);return(0,b.jsx)(f.Provider,{value:{channels:h,activeChannel:j,loading:l,setActiveChannel:q,setAgentId:o,createChannel:r,renameChannel:s,deleteChannel:t,reorderChannels:u,refresh:p},children:g})},"useChannel",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useChannel must be used within a ChannelProvider");return a}])},191525,387123,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(26822),e=a.i(464830),f=a.i(722393),g=a.i(525132),h=a.i(25668),i=a.i(75118),j=a.i(588339),k=a.i(506180);function l(a){let b=new Date(a);if(isNaN(b.getTime()))return"";let c=Math.floor((new Date().getTime()-b.getTime())/6e4);if(c<1)return"just now";if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return e<7?`${e}d ago`:b.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function m({online:a}){return(0,b.jsx)("span",{className:(0,i.cn)("size-1.5 rounded-full shrink-0",a?"bg-status-online":"bg-status-offline")})}function n({task:a,slug:c,agentId:e}){var f;let g,h="running"===a.status;return(0,b.jsxs)(d.default,{href:`/w/${c}/agents/${e}?task=${a.id}&conv=${a.conversation_id}`,className:"flex items-center gap-2 w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:[(0,b.jsx)("span",{className:(0,i.cn)("size-1.5 rounded-full shrink-0",h?"bg-primary animate-pulse":"bg-muted-foreground/40")}),(0,b.jsx)("div",{className:"flex-1 min-w-0",children:(0,b.jsx)("p",{className:"text-xs truncate",children:(g=(f=a.prompt).match(/^Issue\s+iss_\w+:\s*(.+)/))?g[1].split("\n")[0]:f.split("\n")[0]})}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:l(a.created_at)})]})}a.s(["relativeTime",0,l],387123);let o="gap-1.5 text-muted-foreground hover:text-foreground cursor-pointer";a.s(["AgentStatusBadge",0,function({isOnline:a,taskCount:l,agentId:p}){let{slug:q,workspaceId:r}=(0,k.useWorkspace)(),[s,t]=(0,c.useState)(null),[u,v]=(0,c.useState)(!1),[w,x]=(0,c.useState)(!1),y=(0,c.useCallback)(async()=>{t(null),v(!0),x(!1);try{let a=await (0,j.listWorkspaceActiveTasks)(r);t(a.tasks.filter(a=>a.agent_id===p))}catch{x(!0)}finally{v(!1)}},[p,r]);return a?(0,b.jsxs)(f.Popover,{onOpenChange:a=>{a&&y()},children:[(0,b.jsxs)(f.PopoverTrigger,{render:(0,b.jsx)("button",{type:"button",className:(0,i.cn)((0,e.badgeVariants)({variant:"outline"}),o),onClick:a=>a.stopPropagation()}),children:[(0,b.jsx)(m,{online:!0}),l>0?(0,b.jsx)("span",{className:"hidden sm:inline",children:"Working"}):(0,b.jsx)("span",{className:"hidden sm:inline text-muted-foreground/40",children:"Online"})]}),(0,b.jsx)(f.PopoverContent,{className:"w-72 p-1",children:u?(0,b.jsx)("div",{className:"p-2 space-y-1",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2",children:[(0,b.jsx)(h.Skeleton,{className:"size-1.5 rounded-full"}),(0,b.jsxs)("div",{className:"flex-1 space-y-1",children:[(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-10"}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-full"})]}),(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-8"})]},c))}):w?(0,b.jsx)("div",{className:"p-3 text-xs text-muted-foreground",children:"Failed to load"}):s&&0!==s.length?(0,b.jsxs)("div",{className:"max-h-75 overflow-y-auto",children:[s.slice(0,6).map(a=>(0,b.jsx)(n,{task:a,slug:q,agentId:p},a.id)),s.length>6&&(0,b.jsxs)(d.default,{href:`/w/${q}/agents/${p}/activity?status=running`,className:"block text-xs text-muted-foreground hover:text-foreground text-center py-1.5 transition-colors",children:["View all ",s.length," tasks"]})]}):(0,b.jsx)("div",{className:"p-3 text-xs text-muted-foreground",children:"No active tasks"})})]}):(0,b.jsxs)(g.Tooltip,{children:[(0,b.jsx)(g.TooltipTrigger,{render:(0,b.jsxs)(e.Badge,{variant:"outline",render:(0,b.jsx)(d.default,{href:`/w/${q}/runtimes`}),className:o,children:[(0,b.jsx)(m,{online:!1}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Offline"})]})}),(0,b.jsx)(g.TooltipContent,{children:"Runtime offline — click to manage runtimes"})]})}],191525)}];
2
2
 
3
3
  //# sourceMappingURL=_0xhx.5_._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[28429,a=>{"use strict";var b=a.i(236631);a.s(["ChevronDown",()=>b.default])},292400,466064,a=>{"use strict";var b=a.i(437199);let c=b.createContext({disabled:!1});a.s(["FieldItemContext",0,c,"useFieldItemContext",0,function(){return b.useContext(c)}],292400);var d=a.i(407575);let e=b.createContext(void 0);a.s(["useCheckboxGroupContext",0,function(a=!0){let c=b.useContext(e);if(void 0===c&&!a)throw Error((0,d.default)(3));return c}],466064)},76592,a=>{"use strict";var b=a.i(749314),c=a.i(75118);a.s(["Label",0,function({className:a,...d}){return(0,b.jsx)("label",{"data-slot":"label",className:(0,c.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...d})}])},390248,a=>{"use strict";a.s(["hasCustomEmailErrors",0,function(a){return!!(a.emailAddress||a.imapHost||a.imapPassword||a.smtpHost||a.smtpPassword)},"hasWorkspaceFormErrors",0,function(a){return!!(a.name||a.slug)},"validateCustomEmailFields",0,function({emailAddress:a,imapHost:b,imapUsername:c,imapPassword:d,smtpHost:e,smtpUsername:f,smtpPassword:g}){let h={};return a.trim()||(h.emailAddress="Email address is required"),b.trim()||(h.imapHost="IMAP host is required"),c.trim()&&d.trim()||(h.imapPassword="IMAP credentials are required"),e.trim()||(h.smtpHost="SMTP host is required"),f.trim()&&g.trim()||(h.smtpPassword="SMTP credentials are required"),h},"validateWorkspaceForm",0,function({name:a,slug:b}){let c={};return a.trim()||(c.name="Workspace name is required"),b.trim()||(c.slug="Workspace slug is required"),c}])},110025,a=>{"use strict";let b=(0,a.i(647651).default)("video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);a.s(["Video",0,b],110025)},304377,a=>{"use strict";let b=(0,a.i(647651).default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);a.s(["History",0,b],304377)},426619,a=>{"use strict";let b=(0,a.i(647651).default)("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"}]]);a.s(["FolderOpen",0,b],426619)},81396,a=>{a.v(a=>Promise.resolve().then(()=>a(588339)))}];
2
2
 
3
- //# sourceMappingURL=_0wtsjmd._.js.map
3
+ //# sourceMappingURL=_0~twhbc._.js.map