@alook/app 0.0.100 → 0.0.101
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/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0tvembqw.e82g.js → 01yvpio9kzobl.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0hyshwdxcbwbq.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0dhez0ocwb1sn.js → 0r775oyts5ozc.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/10rvnbe-gw6a7.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/10ux4o4nkn.sj.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/171xnnpyz4y3d.css +1 -0
- package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → P6QBCMByXCOFPEUBvhHF6}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → P6QBCMByXCOFPEUBvhHF6}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → P6QBCMByXCOFPEUBvhHF6}/privacy.cache +1 -1
- package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → P6QBCMByXCOFPEUBvhHF6}/sitemap.xml.cache +1 -1
- package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
- package/bundled/web/.open-next/cloudflare/init.js +1 -1
- package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
- package/bundled/web/.open-next/middleware/handler.mjs +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +4 -4
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_02.xen~._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0.q_x36._.js → _06a692f._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0a8f3fa._.js → _0c-ma68._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0xhx.5_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0wtsjmd._.js → _0~twhbc._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
- 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
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +17 -53
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +90 -90
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/01mduafj8.t03.js +0 -37
- package/bundled/web/.open-next/assets/_next/static/chunks/051._099hez6h.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/09m73_4eia.5a.css +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/09tp3dnnhv6a0.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{stPDLxY2tICyNcpCDMCz4 → P6QBCMByXCOFPEUBvhHF6}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{stPDLxY2tICyNcpCDMCz4 → P6QBCMByXCOFPEUBvhHF6}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{stPDLxY2tICyNcpCDMCz4 → P6QBCMByXCOFPEUBvhHF6}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{stPDLxY2tICyNcpCDMCz4 → P6QBCMByXCOFPEUBvhHF6}/robots.txt.cache +0 -0
package/bundled/web/.open-next/assets/_next/static/chunks/{0dhez0ocwb1sn.js → 0r775oyts5ozc.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,275351,e=>{"use strict";let t,a,r,n,s=(e,t)=>t.some(t=>e instanceof t),i=new WeakMap,l=new WeakMap,o=new WeakMap,c={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return i.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return d(e[t])},set:(e,t,a)=>(e[t]=a,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function d(e){if(e instanceof IDBRequest){let t;return t=new Promise((t,a)=>{let r=()=>{e.removeEventListener("success",n),e.removeEventListener("error",s)},n=()=>{t(d(e.result)),r()},s=()=>{a(e.error),r()};e.addEventListener("success",n),e.addEventListener("error",s)}),o.set(t,e),t}if(l.has(e))return l.get(e);let t=function(e){if("function"==typeof e)return(n||(n=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(u(this),t),d(this.request)}:function(...t){return d(e.apply(u(this),t))};return(e instanceof IDBTransaction&&function(e){if(i.has(e))return;let t=new Promise((t,a)=>{let r=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",s),e.removeEventListener("abort",s)},n=()=>{t(),r()},s=()=>{a(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",n),e.addEventListener("error",s),e.addEventListener("abort",s)});i.set(e,t)}(e),s(e,r||(r=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,c):e}(e);return t!==e&&(l.set(e,t),o.set(t,e)),t}let u=e=>o.get(e),h=["get","getKey","getAll","getAllKeys","count"],g=["put","add","delete","clear"],f=new Map;function m(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(f.get(t))return f.get(t);let a=t.replace(/FromIndex$/,""),r=t!==a,n=g.includes(a);if(!(a in(r?IDBIndex:IDBObjectStore).prototype)||!(n||h.includes(a)))return;let s=async function(e,...t){let s=this.transaction(e,n?"readwrite":"readonly"),i=s.store;return r&&(i=i.index(t.shift())),(await Promise.all([i[a](...t),n&&s.done]))[0]};return f.set(t,s),s}c={...t=c,get:(e,a,r)=>m(e,a)||t.get(e,a,r),has:(e,a)=>!!m(e,a)||t.has(e,a)};let p=["continue","continuePrimaryKey","advance"],x={},v=new WeakMap,b=new WeakMap,y={get(e,t){if(!p.includes(t))return e[t];let a=x[t];return a||(a=x[t]=function(...e){v.set(this,b.get(this)[t](...e))}),a}};async function*k(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;let a=new Proxy(t,y);for(b.set(a,t),o.set(a,u(t));t;)yield a,t=await (v.get(a)||t.continue()),v.delete(a)}function w(e,t){return t===Symbol.asyncIterator&&s(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&s(e,[IDBIndex,IDBObjectStore])}c={...a=c,get:(e,t,r)=>w(e,t)?k:a.get(e,t,r),has:(e,t)=>w(e,t)||a.has(e,t)};let j=null,_=null;function C(e){return"u"<typeof indexedDB?null:j&&_===e?j:(_=e,j=function(e,{blocked:t,upgrade:a,blocking:r,terminated:n}={}){let s=indexedDB.open(e,1),i=d(s);return a&&s.addEventListener("upgradeneeded",e=>{a(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)}),t&&s.addEventListener("blocked",e=>t(e.oldVersion,e.newVersion,e)),i.then(e=>{n&&e.addEventListener("close",()=>n()),r&&e.addEventListener("versionchange",e=>r(e.oldVersion,e.newVersion,e))}).catch(()=>{}),i}(`alook-chat-cache-${e}`,{upgrade(e){let t=e.createObjectStore("messages",{keyPath:["conversation_id","id"]});t.createIndex("by-conversation","conversation_id",{unique:!1}),t.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),e.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function N(e){return e?C(e):j}async function D(e,t){let a=N(t);if(!a)return null;try{let t=await a,r=await t.getAllFromIndex("messages","by-conversation",e);if(0===r.length)return null;let n=r.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));n.sort((e,t)=>{let a=e.created_at.localeCompare(t.created_at);return 0!==a?a:e.id.localeCompare(t.id)});let s=await t.get("cache_meta",e);return s&&await t.put("cache_meta",{...s,lastAccessedAt:Date.now()}),n}catch{return null}}async function S(e,t,a,r,n){let s=N(n);if(!s)return null;try{let n=await s,i=await n.get("cache_meta",e);if(!i)return null;let l=IDBKeyRange.bound([e,""],[e,t],!1,!1),o=(await n.getAllFromIndex("messages","by-created",l)).filter(e=>!("buffered"===e.status||e.id.startsWith("temp-"))&&(e.created_at!==t||!(e.id>=a)));o.sort((e,t)=>{let a=t.created_at.localeCompare(e.created_at);return 0!==a?a:t.id.localeCompare(e.id)});let c=o.slice(0,r);if(c.length<r&&i.hasMore)return null;return await n.put("cache_meta",{...i,lastAccessedAt:Date.now()}),{messages:c.reverse(),hasMore:o.length>r||i.hasMore}}catch{return null}}async function M(e,t,a,r){let n=N(r);if(n)try{let r=await n,s=t.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));if(0===s.length)return;let i=r.transaction(["messages","cache_meta"],"readwrite"),l=i.objectStore("messages"),o=i.objectStore("cache_meta");for(let e of s)await l.put(e);let c=await l.index("by-conversation").getAllKeys(e),d=Date.now(),u=s.reduce((e,t)=>e.created_at>t.created_at?e:t),h=await o.get(e),g=a??h?.hasMore??!0,f=h?.newestMessageId&&h.newestMessageId!==u.id?await (async()=>{let t=await l.get([e,h.newestMessageId]);return t&&t.created_at>u.created_at?t.id:u.id})():u.id,m={conversation_id:e,lastFetchedAt:d,lastAccessedAt:d,messageCount:c.length,newestMessageId:f,hasMore:g};await o.put(m),await i.done,T().catch(()=>{})}catch{}}async function E(e,t,a){let r=N(a);if(r&&!("buffered"===t.status||t.id.startsWith("temp-")))try{let a=await r,n=await a.get("cache_meta",e);if(!n)return;let s=await a.get("messages",[e,t.id]);await a.put("messages",t),await a.put("cache_meta",{...n,lastAccessedAt:Date.now(),messageCount:s?n.messageCount:n.messageCount+1,newestMessageId:t.id})}catch{}}async function I(e,t){let a=N(t);if(!a)return null;try{let t=await a;return await t.get("cache_meta",e)??null}catch{return null}}async function T(e=50){let t=N();if(t)try{let a=await t,r=await a.getAll("cache_meta");if(r.length<=e)return;r.sort((e,t)=>e.lastAccessedAt-t.lastAccessedAt);let n=r.slice(0,r.length-e),s=a.transaction(["messages","cache_meta"],"readwrite"),i=s.objectStore("messages"),l=s.objectStore("cache_meta");for(let e of n){for(let t of(await i.index("by-conversation").getAllKeys(e.conversation_id)))await i.delete(t);await l.delete(e.conversation_id)}await s.done}catch{}}async function A(){if("u">typeof indexedDB)try{j&&((await j).close(),j=null),_&&(await P(`alook-chat-cache-${_}`),_=null)}catch{}}async function P(e){return new Promise((t,a)=>{let r=indexedDB.deleteDatabase(e);r.onsuccess=()=>t(),r.onerror=()=>a(r.error),r.onblocked=()=>t()})}e.s(["appendCachedMessage",0,E,"clearAllCache",0,A,"getCacheMeta",0,I,"getCachedMessages",0,D,"getCachedMessagesBefore",0,S,"mergeCachedMessages",0,M,"openCacheDB",0,C],275351)},430744,e=>{"use strict";let t=(0,e.i(406963).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",0,t],430744)},986765,e=>{"use strict";let t=(0,e.i(406963).default)("calendar-off",[["path",{d:"M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18",key:"16swn3"}],["path",{d:"M21 15.5V6a2 2 0 0 0-2-2H9.5",key:"yhw86o"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h7",key:"1wap6i"}],["path",{d:"M21 10h-5.5",key:"quycpq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["CalendarOff",0,t],986765)},835258,e=>{"use strict";let t=(0,e.i(406963).default)("repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);e.s(["Repeat",0,t],835258)},681306,e=>{"use strict";let t=(0,e.i(406963).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",0,t],681306)},136489,307214,e=>{"use strict";e.s(["CalendarDayPopover",()=>l],136489);var t=e.i(368075),a=e.i(224950),r=e.i(613349),n=e.i(835258);function s(e){let t=["bg-[oklch(0.62_0.13_60)] dark:bg-[oklch(0.72_0.11_60)]","bg-[oklch(0.62_0.12_120)] dark:bg-[oklch(0.72_0.10_120)]","bg-[oklch(0.62_0.12_220)] dark:bg-[oklch(0.72_0.10_220)]","bg-[oklch(0.62_0.13_30)] dark:bg-[oklch(0.72_0.11_30)]","bg-[oklch(0.62_0.12_280)] dark:bg-[oklch(0.72_0.10_280)]","bg-[oklch(0.62_0.12_160)] dark:bg-[oklch(0.72_0.10_160)]"],a=0;for(let t=0;t<e.length;t++)a=31*a+e.charCodeAt(t)|0;return t[Math.abs(a)%t.length]}function i(e){let t=["text-[oklch(0.52_0.14_60)] dark:text-[oklch(0.78_0.11_60)]","text-[oklch(0.52_0.13_120)] dark:text-[oklch(0.78_0.10_120)]","text-[oklch(0.52_0.13_220)] dark:text-[oklch(0.78_0.10_220)]","text-[oklch(0.52_0.14_30)] dark:text-[oklch(0.78_0.11_30)]","text-[oklch(0.52_0.13_280)] dark:text-[oklch(0.78_0.10_280)]","text-[oklch(0.52_0.13_160)] dark:text-[oklch(0.78_0.10_160)]"],a=0;for(let t=0;t<e.length;t++)a=31*a+e.charCodeAt(t)|0;return t[Math.abs(a)%t.length]}function l({events:e,agents:o,date:c,hiddenCount:d,open:u,onOpenChange:h,onSelectEvent:g}){let f=new Map;for(let e of o)f.set(e.id,e.name);let m=[...e].sort((e,t)=>new Date(e.scheduled_at).getTime()-new Date(t.scheduled_at).getTime()),p=c.toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"});return(0,t.jsxs)(a.Popover,{open:u,onOpenChange:h,children:[(0,t.jsxs)(a.PopoverTrigger,{"aria-label":`${d} more event${1===d?"":"s"}`,onClick:e=>e.stopPropagation(),className:"w-full truncate rounded-sm px-1.5 py-0.5 text-left text-[10px] text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:["+",d," more"]}),(0,t.jsx)(a.PopoverContent,{className:"w-64",align:"start",children:(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("p",{className:"px-1 pb-1 text-[11px] font-medium text-muted-foreground",children:p}),(0,t.jsx)("div",{className:"flex flex-col gap-1",children:m.map(e=>{let a=!!e.repeat_interval;return(0,t.jsxs)("button",{type:"button",onClick:()=>{h(!1),g(e)},className:"flex items-center gap-2 rounded-sm px-1.5 py-1 text-left text-[11px] font-medium text-foreground/85 hover:bg-accent/60 transition-colors",title:`${a?"Recurring · ":""}${e.title}${f.get(e.agent_id)?` — ${f.get(e.agent_id)}`:""}`,children:[a?(0,t.jsx)(n.Repeat,{"aria-hidden":!0,className:(0,r.cn)("size-3 shrink-0",i(e.agent_id))}):(0,t.jsx)("span",{"aria-hidden":!0,className:(0,r.cn)("size-1.5 shrink-0 rounded-full",s(e.agent_id))}),(0,t.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground tabular-nums",children:new Date(e.scheduled_at).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hour12:!1})}),(0,t.jsx)("span",{className:"truncate",children:e.title})]},`${e.id}@${e.occurrence_at}`)})})]})})]})}e.i(412532),e.s(["agentColor",0,function(e){let t=["bg-[oklch(0.78_0.08_60)] text-[oklch(0.25_0.05_60)]","bg-[oklch(0.80_0.07_120)] text-[oklch(0.25_0.05_120)]","bg-[oklch(0.80_0.06_220)] text-[oklch(0.25_0.05_220)]","bg-[oklch(0.80_0.07_30)] text-[oklch(0.25_0.05_30)]","bg-[oklch(0.80_0.06_280)] text-[oklch(0.25_0.05_280)]","bg-[oklch(0.80_0.07_160)] text-[oklch(0.25_0.05_160)]"],a=0;for(let t=0;t<e.length;t++)a=31*a+e.charCodeAt(t)|0;return t[Math.abs(a)%t.length]},"agentDot",0,s,"agentInk",0,i],307214)},412532,e=>{"use strict";e.s(["CalendarMonthGrid",()=>f,"buildMonthCells",()=>d,"dateKey",()=>u,"sameDay",()=>h,"stepDate",()=>g]);var t=e.i(368075),a=e.i(613349),r=e.i(681306),n=e.i(64873),s=e.i(835258),i=e.i(186339),l=e.i(136489),o=e.i(99475),c=e.i(307214);function d(e,t){let a=new Date(e,t,1).getDay(),r=[];for(let n=0;n<42;n++){let s=new Date(e,t,1-a+n);r.push({date:s,inMonth:s.getMonth()===t})}return r}function u(e){let t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return`${t}-${a}-${r}`}function h(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function g(e,t){let a=new Date(e.getFullYear(),e.getMonth(),e.getDate());switch(t){case"ArrowLeft":return a.setDate(a.getDate()-1),a;case"ArrowRight":return a.setDate(a.getDate()+1),a;case"ArrowUp":return a.setDate(a.getDate()-7),a;case"ArrowDown":return a.setDate(a.getDate()+7),a;case"Home":return a.setDate(a.getDate()-a.getDay()),a;case"End":return a.setDate(a.getDate()+(6-a.getDay())),a;case"PageUp":{let e=0===a.getMonth()?a.getFullYear()-1:a.getFullYear(),t=(a.getMonth()-1+12)%12,r=new Date(e,t+1,0).getDate();return a.setFullYear(e,t,Math.min(a.getDate(),r)),a}case"PageDown":{let e=11===a.getMonth()?a.getFullYear()+1:a.getFullYear(),t=(a.getMonth()+1)%12,r=new Date(e,t+1,0).getDate();return a.setFullYear(e,t,Math.min(a.getDate(),r)),a}default:return null}}function f({year:e,month:g,events:m,agents:p,loading:x,focusedDate:v,openPopoverKey:b,onPopoverChange:y,onPrev:k,onNext:w,onJumpToToday:j,onJumpToDate:_,onSelectDay:C,onSelectEvent:N,headerExtras:D}){let S=d(e,g),M=new Date(e,g,1).toLocaleDateString(void 0,{month:"long",year:"numeric"}),E=new Map;for(let e of m){let t=u(new Date(e.scheduled_at));E.has(t)||E.set(t,[]),E.get(t).push(e)}let I=new Map;for(let e of p)I.set(e.id,e.name);let T=new Date,A=function(e,t,a=new Date){return a.getFullYear()===e&&a.getMonth()===t}(e,g,T);return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)("h2",{className:"text-sm font-medium tabular-nums",children:M})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[D,(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button","aria-label":"Previous month",onClick:k,className:"flex size-9 sm:size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:(0,t.jsx)(r.ChevronLeft,{className:"size-4"})}),(0,t.jsx)(i.Button,{variant:"outline",size:"sm",onClick:j,disabled:A,className:"h-7 px-2.5 text-xs",children:"Today"}),(0,t.jsx)("button",{type:"button","aria-label":"Next month",onClick:w,className:"flex size-9 sm:size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:(0,t.jsx)(n.ChevronRight,{className:"size-4"})})]}),(0,t.jsx)(o.CalendarDatePicker,{value:v,onChange:_,ariaLabel:"Jump to date"})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-7 text-[11px] text-muted-foreground",children:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].map(e=>(0,t.jsxs)("div",{className:"px-1 sm:px-2 py-1 font-medium",children:[(0,t.jsx)("span",{className:"sm:hidden",children:e[0]}),(0,t.jsx)("span",{className:"hidden sm:inline",children:e})]},e))}),(0,t.jsxs)("div",{className:"relative",children:[x&&(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 top-0 z-20 h-0.5 overflow-hidden rounded-t-lg",children:(0,t.jsx)("div",{className:"h-full w-1/3 animate-[calendar-progress_1.2s_ease-in-out_infinite] bg-foreground/40"})}),(0,t.jsx)("div",{role:"grid","aria-label":`Calendar ${M}`,"aria-busy":x||void 0,className:(0,a.cn)("grid grid-cols-7 gap-px rounded-lg border border-border/50 bg-border/40 overflow-hidden transition-opacity",x&&"opacity-70"),"data-testid":"calendar-month-grid",children:S.map((e,r)=>{let n=u(e.date),i=E.get(n)??[],o=h(T,e.date),d=h(v,e.date),g=Math.max(0,i.length-3);return(0,t.jsxs)("div",{role:"gridcell","data-date":n,"data-focused":d?"true":void 0,"aria-current":o?"date":void 0,tabIndex:d?0:-1,onClick:()=>C(e.date),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&t.target===t.currentTarget&&(t.preventDefault(),C(e.date))},className:(0,a.cn)("group flex min-h-16 sm:min-h-24 flex-col gap-1 p-1 sm:p-2 text-left transition-colors bg-background outline-none cursor-pointer",!e.inMonth&&"bg-muted/40 text-muted-foreground",d&&"ring-2 ring-inset ring-ring/60 relative z-10"),children:[(0,t.jsx)("div",{className:"flex items-center justify-between",children:(0,t.jsx)("span",{className:(0,a.cn)("text-[11px] tabular-nums",o&&"flex size-5 items-center justify-center rounded-full bg-foreground text-background font-medium"),children:e.date.getDate()})}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 [&>:nth-child(3)]:hidden [&>:nth-child(3)]:sm:flex",children:[i.slice(0,3).map(e=>{let r=!!e.repeat_interval;return(0,t.jsxs)("span",{role:"button",tabIndex:-1,onClick:t=>{t.stopPropagation(),N(e)},onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.stopPropagation(),N(e))},className:"flex items-center gap-1.5 rounded-sm px-1 py-0.5 text-[9px] sm:text-[10px] font-medium text-foreground/85 hover:bg-accent/60 transition-colors cursor-pointer",title:`${r?"Recurring · ":""}${e.title}${I.get(e.agent_id)?` — ${I.get(e.agent_id)}`:""}`,children:[r?(0,t.jsx)(s.Repeat,{"aria-hidden":!0,className:(0,a.cn)("size-2.5 shrink-0",(0,c.agentInk)(e.agent_id))}):(0,t.jsx)("span",{"aria-hidden":!0,className:(0,a.cn)("size-1.5 shrink-0 rounded-full",(0,c.agentDot)(e.agent_id))}),(0,t.jsx)("span",{className:"truncate",children:e.title}),null!=e.collapsed_count&&e.collapsed_count>1&&(0,t.jsxs)("span",{className:"shrink-0 text-[9px] text-muted-foreground",children:["×",e.collapsed_count]})]},`${e.id}@${e.occurrence_at}`)}),g>0&&(0,t.jsx)(l.CalendarDayPopover,{date:e.date,hiddenCount:g,events:i,agents:p,open:b===n,onOpenChange:e=>y(e?n:null),onSelectEvent:N})]})]},r)})})]})]})}},99475,e=>{"use strict";e.s(["CalendarDatePicker",()=>c]);var t=e.i(368075),a=e.i(298699),r=e.i(224950),n=e.i(613349),s=e.i(265481),i=e.i(681306),l=e.i(64873),o=e.i(412532);function c({value:e,onChange:u,placeholder:h="Jump to date",min:g,className:f,ariaLabel:m="Pick a date",hideIcon:p=!1,onClear:x}){let[v,b]=(0,a.useState)(!1),y=e??new Date,[k,w]=(0,a.useState)(y.getFullYear()),[j,_]=(0,a.useState)(y.getMonth()),C=(0,o.buildMonthCells)(k,j),N=new Date,D=e=>{g&&e<d(g)||(u(e),b(!1))},S=e?e.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"}):h;return(0,t.jsxs)(r.Popover,{open:v,onOpenChange:t=>{if(b(t),t){let t=e??new Date;w(t.getFullYear()),_(t.getMonth())}},children:[(0,t.jsxs)(r.PopoverTrigger,{"aria-label":m,className:(0,n.cn)("flex h-7 items-center gap-1.5 rounded-md border border-input bg-transparent px-2 text-xs outline-none transition-colors","hover:bg-accent hover:text-foreground","focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50",e?"text-foreground":"text-muted-foreground",f),children:[!p&&(0,t.jsx)(s.CalendarDays,{className:"size-3.5 opacity-70"}),(0,t.jsx)("span",{className:"hidden sm:inline tabular-nums",children:S})]}),(0,t.jsxs)(r.PopoverContent,{align:"end",className:"w-64 p-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between pb-2",children:[(0,t.jsx)("button",{type:"button","aria-label":"Previous month",onClick:()=>{_(e=>0===e?11:e-1),0===j&&w(e=>e-1)},className:"flex size-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground",children:(0,t.jsx)(i.ChevronLeft,{className:"size-3.5"})}),(0,t.jsx)("span",{className:"text-xs font-medium tabular-nums",children:new Date(k,j,1).toLocaleDateString(void 0,{month:"long",year:"numeric"})}),(0,t.jsx)("button",{type:"button","aria-label":"Next month",onClick:()=>{_(e=>11===e?0:e+1),11===j&&w(e=>e+1)},className:"flex size-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground",children:(0,t.jsx)(l.ChevronRight,{className:"size-3.5"})})]}),(0,t.jsx)("div",{className:"grid grid-cols-7 pb-1 text-[10px] text-muted-foreground",children:["S","M","T","W","T","F","S"].map((e,a)=>(0,t.jsx)("div",{className:"flex h-6 items-center justify-center font-medium",children:e},a))}),(0,t.jsx)("div",{className:"grid grid-cols-7 gap-0.5",children:C.map((a,r)=>{let s=(0,o.sameDay)(N,a.date),i=!!e&&(0,o.sameDay)(e,a.date),l=!!g&&a.date<d(g);return(0,t.jsx)("button",{type:"button",disabled:l,onClick:()=>D(a.date),"aria-pressed":i,className:(0,n.cn)("flex h-7 w-full items-center justify-center rounded text-[11px] tabular-nums transition-colors outline-none","focus-visible:ring-2 focus-visible:ring-ring/60",!a.inMonth&&"text-muted-foreground/50",a.inMonth&&!i&&"hover:bg-accent",s&&!i&&"text-foreground font-medium ring-1 ring-inset ring-border",i&&"bg-foreground text-background font-medium",l&&"opacity-30 cursor-not-allowed hover:bg-transparent"),children:a.date.getDate()},r)})}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 pt-2 mt-1 border-t border-border/50",children:[x&&e?(0,t.jsx)("button",{type:"button",onClick:()=>{x(),b(!1)},className:"text-[11px] text-muted-foreground hover:text-foreground transition-colors",children:"Clear"}):(0,t.jsx)("span",{"aria-hidden":!0}),(0,t.jsx)("button",{type:"button",onClick:()=>D(new Date),className:"text-[11px] text-muted-foreground hover:text-foreground transition-colors",children:"Today"})]})]})]})}function d(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}},539163,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(313101),n=e.i(224950),s=e.i(613349);function i(e){return String(e).padStart(2,"0")}function l(e){let t=/^(\d{2}):(\d{2})$/.exec(e);return t?`${t[1]}:${t[2]}`:e}e.s(["CalendarTimePicker",0,function({value:e,onChange:o,className:c,ariaLabel:d="Pick a time",step:u=30,iconOnly:h=!1}){let[g,f]=(0,a.useState)(!1),m=(0,a.useRef)(null),p=function(e){let t=[];for(let a=0;a<1440;a+=e)t.push(`${i(Math.floor(a/60))}:${i(a%60)}`);return t}(u);return(0,a.useEffect)(()=>{if(!g)return;let e=setTimeout(()=>{let e=m.current?.querySelector('[data-selected="true"]');e?.scrollIntoView({block:"center"})},0);return()=>clearTimeout(e)},[g]),(0,t.jsxs)(n.Popover,{open:g,onOpenChange:f,children:[(0,t.jsxs)(n.PopoverTrigger,{"aria-label":d,className:(0,s.cn)(h?"inline-flex size-8 shrink-0 items-center justify-center rounded-lg border border-input bg-transparent text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50":"flex h-7 items-center gap-1.5 rounded-md border border-input bg-transparent px-2 text-xs text-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50",c),children:[(0,t.jsx)(r.Clock,{className:h?"size-3.5":"size-3.5 opacity-70"}),!h&&(0,t.jsx)("span",{className:"tabular-nums",children:l(e)})]}),(0,t.jsx)(n.PopoverContent,{align:"start",className:"w-36 p-1",children:(0,t.jsx)("div",{ref:m,className:"flex max-h-60 flex-col overflow-y-auto scrollbar-none",role:"listbox",children:p.map(a=>{let r=a===e;return(0,t.jsx)("button",{type:"button",role:"option","aria-selected":r,"data-selected":r,onClick:()=>{o(a),f(!1)},className:(0,s.cn)("flex h-7 shrink-0 items-center rounded px-2 text-[11px] tabular-nums transition-colors outline-none","focus-visible:bg-accent",r?"bg-foreground text-background font-medium":"text-foreground hover:bg-accent"),children:l(a)},a)})})})]})}])},779338,e=>{"use strict";let t=/^(\d+)(min|hour|day|week|month)$/;function a(e){let a=t.exec(e);if(!a)return null;let r=parseInt(a[1],10);return r<1?null:{count:r,unit:a[2]}}let r={min:["minute","minutes"],hour:["hour","hours"],day:["day","days"],week:["week","weeks"],month:["month","months"]},n=new Set(["min","hour","day","week","month"]);e.s(["PRESET_INTERVALS",0,[{value:"1hour",label:"Every hour"},{value:"1day",label:"Every day"},{value:"1week",label:"Every week"},{value:"1month",label:"Every month"}],"REPEAT_UNITS",0,["min","hour","day","week","month"],"formatRepeatDisplay",0,function(e){let t=a(e);if(!t)return e;let{count:n,unit:s}=t;return 1===n?`Every ${r[s][0]}`:`Every ${n} ${r[s][1]}`},"formatRepeatInterval",0,function(e,t){return`${e}${t}`},"isValidUnit",0,function(e){return n.has(e)},"parseRepeatInterval",0,a,"unitLabel",0,function(e,t){return 1===t?r[e][0]:r[e][1]}])},781360,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(880932),n=e.i(222862),s=e.i(332680),i=e.i(779646),l=e.i(186339),o=e.i(740513),c=e.i(265481),d=e.i(986765),u=e.i(371522),h=e.i(835258),g=e.i(430744),f=e.i(937091),m=e.i(613349),p=e.i(99475),x=e.i(539163),v=e.i(779338);function b(e){return String(e).padStart(2,"0")}function y(e,t){let a=/^(\d{2}):(\d{2})$/.exec(t),r=a?Number(a[1]):e.getHours(),n=a?Number(a[2]):e.getMinutes(),s=new Date(e);return s.setHours(r,n,0,0),s}function k(e){return`${e.getFullYear()}-${b(e.getMonth()+1)}-${b(e.getDate())}`}function w(e){return`${b(e.getHours())}:${b(e.getMinutes())}`}function j(e){return e?.trim()||""}let _="h-7 border-0 bg-transparent px-1.5 text-sm text-foreground hover:bg-accent transition-colors -ml-1.5",C=(0,m.cn)(_,"rounded-md outline-none focus-visible:bg-accent focus-visible:ring-0 appearance-none pr-6");function N({icon:e,children:a}){return(0,t.jsxs)("div",{className:"group flex items-center gap-2",children:[(0,t.jsx)("span",{className:"inline-flex size-6 shrink-0 items-center justify-center text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-1",children:a})]})}function D({open:e,onOpenChange:r,onConfirm:n,loading:s,title:o,description:c,confirmLabel:d,loadingLabel:u,confirmVariant:h="default"}){let[g,f]=(0,a.useState)("this");return(0,a.useEffect)(()=>{e&&f("this")},[e]),(0,t.jsx)(i.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(i.DialogContent,{showCloseButton:!1,children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)(i.DialogTitle,{children:o}),(0,t.jsx)(i.DialogDescription,{children:c})]}),(0,t.jsx)("div",{className:"flex flex-col gap-1.5 py-1",children:[{value:"this",label:"This event only"},{value:"following",label:"This and following events"}].map(e=>{let a=g===e.value;return(0,t.jsxs)("button",{type:"button",onClick:()=>f(e.value),className:(0,m.cn)("flex items-center gap-2 rounded-md border px-3 py-2 text-left text-sm transition-colors",a?"border-ring bg-accent/40":"border-border/60 hover:bg-accent/30"),children:[(0,t.jsx)("span",{className:(0,m.cn)("inline-flex size-4 items-center justify-center rounded-full border",a?"border-foreground":"border-border"),"aria-hidden":!0,children:a&&(0,t.jsx)("span",{className:"size-2 rounded-full bg-foreground"})}),(0,t.jsx)("span",{children:e.label})]},e.value)})}),(0,t.jsxs)(i.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",size:"sm",onClick:()=>r(!1),disabled:s,children:"Cancel"}),(0,t.jsx)(l.Button,{size:"sm",variant:h,onClick:()=>n(g),disabled:s,children:s?u:d})]})]})})}e.s(["CalendarEventSheet",0,function({open:e,onOpenChange:i,agents:S=[],event:M,calendarEventId:E,workspaceId:I,readonly:T,defaultDate:A,defaultAgentId:P,submitting:R,saving:$,deleting:B,onCreate:L,onUpdate:z,onDelete:F}){let[O,q]=(0,a.useState)(null),[H,W]=(0,a.useState)(!1),U=(0,a.useRef)(i);(0,a.useEffect)(()=>{U.current=i}),(0,a.useEffect)(()=>{if(!e||!E||M)return;let t=!1;return W(!0),q(null),(0,n.getCalendarEvent)(E,I??"").then(e=>{t||q(e)}).catch(()=>{t||(r.toast.error("Calendar event not found"),U.current(!1))}).finally(()=>{t||W(!1)}),()=>{t=!0}},[e,E,I,M]);let V=M??O,Y=e=>{i(e),e||setTimeout(()=>q(null),300)},[K,X]=(0,a.useState)(500),J=(0,a.useRef)(!1),G=(0,a.useCallback)(e=>{e.preventDefault(),J.current=!0,e.target.setPointerCapture(e.pointerId)},[]),Q=(0,a.useCallback)(e=>{J.current&&X(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-e.clientX)))},[]),Z=(0,a.useCallback)(()=>{J.current=!1},[]),ee=V?"edit":"create",[et,ea]=(0,a.useState)(""),[er,en]=(0,a.useState)(""),[es,ei]=(0,a.useState)(""),[el,eo]=(0,a.useState)(new Date),[ec,ed]=(0,a.useState)("09:00"),[eu,eh]=(0,a.useState)(!1),[eg,ef]=(0,a.useState)("1"),[em,ep]=(0,a.useState)("day"),ex=(0,a.useMemo)(()=>{if(!eu)return"";let e=parseInt(eg,10);return!e||e<1?"":(0,v.formatRepeatInterval)(e,em)},[eu,eg,em]),[ev,eb]=(0,a.useState)(null),[ey,ek]=(0,a.useState)(!1),[ew,ej]=(0,a.useState)(!1),e_=(0,a.useRef)(null),eC=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(e)if(V){let e=new Date(V.scheduled_at);ea(V.agent_id),en(V.title),ei(V.description??""),eo(e),ed(w(e));let t=(0,v.parseRepeatInterval)(V.repeat_interval??"");t?(eh(!0),ef(String(t.count)),ep(t.unit)):(eh(!1),ef("1"),ep("day")),eb(V.repeat_stop_at?new Date(V.repeat_stop_at):null)}else ea(P||S[0]?.id||""),en(""),ei(""),eo(A??new Date),ed(function(e,t=30){let a=Math.ceil((60*e.getHours()+e.getMinutes()+1)/t)*t,r=Math.floor(a/60)%24;return`${b(r)}:${b(a%60)}`}(new Date)),eh(!1),ef("1"),ep("day"),eb(null)},[e,V?.id]);let eN=(0,a.useMemo)(()=>{if(!V)return!0;let e=new Date(V.scheduled_at);return er.trim()!==V.title||j(es)!==j(V.description)||et!==V.agent_id||el.getFullYear()!==e.getFullYear()||el.getMonth()!==e.getMonth()||el.getDate()!==e.getDate()||ec!==w(e)||ex!==(V.repeat_interval??"")||(ev?k(ev):null)!==(V.repeat_stop_at?k(new Date(V.repeat_stop_at)):null)},[et,er,es,el,ec,ex,ev,V]);function eD(){if(!et)return"Select an agent";if(!er.trim())return"Title is required";if(!/^([01]\d|2[0-3]):[0-5]\d$/.test(ec))return"Time must be HH:MM in 24-hour format";if(eu){let e=parseInt(eg,10);if(!e||e<1)return"Repeat count must be a positive number"}if(ev&&!ex)return"Stop date requires a repeat interval";let e=y(el,ec);if(ev){let t=new Date(ev);if(t.setHours(23,59,59,999),t<e)return"Stop date must be on or after the first occurrence"}return null}let eS=async e=>{e.preventDefault();let t=eD();if(t)return r.toast.error(t);let a=y(el,ec),n=es?.trim()||void 0;await L?.({agent_id:et,title:er.trim(),description:n,scheduled_at:a.toISOString(),repeat_interval:ex||void 0,repeat_stop_date:ev?k(ev):void 0})};function eM(){if(!V)return null;let e={},t=y(el,ec).toISOString(),a=er.trim();a!==V.title&&(e.title=a);let r=j(es);r!==j(V.description)&&(e.description=""===r?null:r),et!==V.agent_id&&(e.agent_id=et),t!==new Date(V.scheduled_at).toISOString()&&(e.scheduled_at=t),ex!==(V.repeat_interval??"")&&(e.repeat_interval=""===ex?null:ex);let n=ev?k(ev):null;return(n!==(V.repeat_stop_at?k(new Date(V.repeat_stop_at)):null)&&(e.repeat_stop_date=n),void 0===e.title&&void 0===e.description&&void 0===e.agent_id&&void 0===e.scheduled_at&&void 0===e.repeat_interval&&void 0===e.repeat_stop_date)?null:e}let eE=async e=>{V&&await z?.(V,e)},eI=async()=>{if(!V)return;let e=eD();if(e)return r.toast.error(e);let t=eM();if(t){if(V.repeat_interval)return void ek(!0);await eE(t)}},eT=async e=>{let t=eM();t&&(t.scope=e,"this"===e&&V?.occurrence_at&&(t.occurrence_at=V.occurrence_at),await eE(t)),ek(!1)},eA=e=>{"Enter"===e.key&&e.shiftKey&&(e.preventDefault(),e.stopPropagation(),"create"===ee?eC.current?.requestSubmit():eI())},eP=(0,t.jsxs)("kbd",{"aria-hidden":!0,className:"mr-1 hidden sm:inline-flex items-center gap-0.5 font-sans font-medium leading-none opacity-60",children:[(0,t.jsx)("span",{children:"⇧"}),(0,t.jsx)("span",{children:"+"}),(0,t.jsx)("span",{children:"⏎"})]}),eR="edit"===ee?er.trim()||"Untitled event":er.trim()||"New calendar event",e$=(0,a.useRef)(null),eB=e=>{e&&(e.style.height="auto",e.style.height=`${e.scrollHeight}px`)};(0,a.useEffect)(()=>{eB(e$.current)},[er]);let eL=T?(0,t.jsx)("p",{className:"w-full px-0 py-1 font-news text-xl sm:text-2xl md:text-3xl font-medium leading-[1.2] tracking-tight",children:er||"Untitled event"}):(0,t.jsx)("textarea",{ref:e=>{e$.current=e,eB(e)},"aria-label":"Event title",value:er,onChange:e=>{en(e.target.value),eB(e.target)},onKeyDown:e=>{if("Enter"===e.key&&!e.shiftKey){let t;e.preventDefault(),t=e_.current?.querySelector('[contenteditable="true"]'),t?.focus()}},placeholder:"edit"===ee?"Untitled event":"New event",autoFocus:"create"===ee,rows:1,className:(0,m.cn)("w-full resize-none overflow-hidden rounded-none border-0 bg-transparent px-0 py-1 font-news text-xl sm:text-2xl md:text-3xl font-medium leading-[1.2] tracking-tight","shadow-none outline-none focus-visible:border-0 focus-visible:ring-0 focus-visible:ring-offset-0","placeholder:text-muted-foreground/40 placeholder:font-normal")}),ez=T?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(N,{icon:(0,t.jsx)(c.CalendarDays,{className:"size-3.5"}),children:(0,t.jsx)("span",{className:"text-sm text-foreground",children:el.toLocaleDateString(void 0,{weekday:"short",year:"numeric",month:"short",day:"numeric"})})}),(0,t.jsx)(N,{icon:(0,t.jsx)(c.CalendarDays,{className:"size-3.5"}),children:(0,t.jsx)("span",{className:"text-sm text-foreground",children:ec})}),(0,t.jsx)(N,{icon:(0,t.jsx)(h.Repeat,{className:"size-3.5"}),children:(0,t.jsx)("span",{className:"text-sm text-foreground",children:eu?`Every ${eg} ${(0,v.unitLabel)(em,parseInt(eg,10)||1)}`:"Does not repeat"})}),eu&&ev&&(0,t.jsx)(N,{icon:(0,t.jsx)(d.CalendarOff,{className:"size-3.5"}),children:(0,t.jsxs)("span",{className:"text-sm text-foreground",children:["Until ",ev.toLocaleDateString()]})})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(N,{icon:(0,t.jsx)(g.User,{className:"size-3.5"}),children:(0,t.jsxs)("select",{"aria-label":"Agent",value:et,onChange:e=>ea(e.target.value),className:C,children:[0===S.length&&(0,t.jsx)("option",{value:"",children:"No agents"}),S.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]})}),(0,t.jsx)(N,{icon:(0,t.jsx)(c.CalendarDays,{className:"size-3.5"}),children:(0,t.jsx)(p.CalendarDatePicker,{value:el,onChange:e=>eo(e),ariaLabel:"Event date",hideIcon:!0,className:_})}),(0,t.jsx)(N,{icon:(0,t.jsx)(x.CalendarTimePicker,{value:ec,onChange:ed,iconOnly:!0,ariaLabel:"Pick time slot",className:"inline-flex size-6 items-center justify-center rounded-md border-0 bg-transparent p-0 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground group-hover:bg-accent group-hover:text-foreground"}),children:(0,t.jsx)("input",{type:"text",inputMode:"numeric",pattern:"([01]\\d|2[0-3]):[0-5]\\d",maxLength:5,value:ec,onChange:e=>ed(e.target.value),placeholder:"HH:MM","aria-label":"Event time (24-hour)",className:"h-7 w-12 border-0 bg-transparent px-0.5 text-sm tabular-nums text-foreground rounded-md outline-none focus-visible:ring-0"})}),(0,t.jsx)(N,{icon:(0,t.jsx)(h.Repeat,{className:"size-3.5"}),children:eu?(0,t.jsxs)("div",{className:"-ml-1.5 flex items-center gap-0.5",children:[(0,t.jsx)("span",{className:"px-1 text-sm text-foreground",children:"Every"}),(0,t.jsx)("input",{type:"text",inputMode:"numeric","aria-label":"Repeat count",value:eg,onChange:e=>{ef(e.target.value.replace(/[^\d]/g,""))},onBlur:()=>{let e=parseInt(eg,10);(!e||e<1)&&ef("1")},maxLength:4,style:{width:`${Math.max(1,eg.length)+1.5}ch`},className:"h-7 shrink-0 border-0 bg-transparent px-0 text-center text-sm tabular-nums text-foreground rounded-md outline-none hover:bg-accent focus-visible:bg-accent focus-visible:ring-0 transition-colors"}),(0,t.jsx)("select",{"aria-label":"Repeat unit",value:em,onChange:e=>{(0,v.isValidUnit)(e.target.value)&&ep(e.target.value)},className:"h-7 border-0 bg-transparent px-1 text-center text-sm text-foreground rounded-md outline-none appearance-none hover:bg-accent focus-visible:bg-accent focus-visible:ring-0 transition-colors",children:v.REPEAT_UNITS.map(e=>(0,t.jsx)("option",{value:e,children:(0,v.unitLabel)(e,parseInt(eg,10)||1)},e))}),(0,t.jsx)("button",{type:"button","aria-label":"Remove repeat",onClick:()=>{eh(!1),ef("1"),ep("day"),eb(null)},className:"inline-flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,t.jsx)(f.X,{className:"size-3"})})]}):(0,t.jsxs)("select",{"aria-label":"Repeat",value:"",onChange:e=>{let t=e.target.value;if(t)if("__custom__"===t)eh(!0),ef("1"),ep("day");else{let e=(0,v.parseRepeatInterval)(t);e&&(eh(!0),ef(String(e.count)),ep(e.unit))}},className:C,children:[(0,t.jsx)("option",{value:"",children:"Does not repeat"}),v.PRESET_INTERVALS.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value)),(0,t.jsx)("option",{value:"__custom__",children:"Custom…"})]})}),ex&&(0,t.jsx)(N,{icon:(0,t.jsx)(d.CalendarOff,{className:"size-3.5"}),children:(0,t.jsx)(p.CalendarDatePicker,{value:ev,onChange:e=>eb(e),onClear:()=>eb(null),placeholder:"No end date",min:el,ariaLabel:"Stop date",hideIcon:!0,className:_})})]}),eF=T?es?(0,t.jsx)("pre",{className:"whitespace-pre-wrap font-sans text-sm",children:es}):null:(0,t.jsx)("div",{ref:e_,children:(0,t.jsx)(o.MarkdownEditor,{contentType:"markdown",value:es,onChange:ei,placeholder:"Add a description…",className:"markdown",minHeight:"edit"===ee?"10rem":"8rem",variant:"seamless",agents:S},V?.id??"new")}),eO=(0,t.jsx)("div",{onPointerDown:G,onPointerMove:Q,onPointerUp:Z,className:"hidden sm:block absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 hover:bg-primary/20 active:bg-primary/30 transition-colors rounded-l-xl"}),eq=H?(0,t.jsx)(s.SheetBody,{className:"flex items-center justify-center py-12",children:(0,t.jsx)(u.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):(0,t.jsxs)(s.SheetBody,{className:"flex flex-col gap-6 px-4 pt-6 pb-4 sm:px-8 sm:pt-10 sm:pb-6",children:[eL,ez,eF]});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.Sheet,{open:e,onOpenChange:Y,children:(0,t.jsxs)(s.SheetContent,{style:{width:`min(${K}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[eO,(0,t.jsx)(s.SheetTitle,{className:"sr-only",children:eR}),T?(0,t.jsx)("div",{className:"flex flex-1 flex-col min-h-0",children:eq}):"create"===ee?(0,t.jsxs)("form",{ref:eC,onSubmit:eS,onKeyDownCapture:eA,className:"flex flex-1 flex-col min-h-0",children:[eq,(0,t.jsxs)(s.SheetFooter,{children:[(0,t.jsx)(l.Button,{type:"button",variant:"outline",onClick:()=>Y(!1),children:"Cancel"}),(0,t.jsx)(l.Button,{type:"submit",disabled:R||!S.length,children:R?"Creating...":(0,t.jsxs)(t.Fragment,{children:[eP,"Create event"]})})]})]}):(0,t.jsxs)("div",{onKeyDownCapture:eA,className:"flex flex-1 flex-col min-h-0",children:[eq,(0,t.jsxs)(s.SheetFooter,{className:"sm:justify-between",children:[(0,t.jsx)(l.Button,{variant:"destructive",onClick:()=>{if(V){if(V.repeat_interval)return void ej(!0);F?.(V)}},disabled:B||$,children:B?"Deleting...":"Delete"}),(0,t.jsxs)("div",{className:"flex items-center gap-2 sm:justify-end",children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>Y(!1),disabled:$,children:"Cancel"}),(0,t.jsx)(l.Button,{onClick:eI,disabled:$||!eN,children:$?"Saving...":(0,t.jsxs)(t.Fragment,{children:[eP,"Save"]})})]})]})]})]})}),(0,t.jsx)(D,{open:ey,onOpenChange:ek,onConfirm:eT,loading:$,title:"Update recurring event",description:"How should this change apply?",confirmLabel:"Update",loadingLabel:"Saving..."}),(0,t.jsx)(D,{open:ew,onOpenChange:ej,onConfirm:e=>{V&&(F?.(V,{scope:e,occurrence_at:V.occurrence_at??void 0}),ej(!1))},loading:B,title:"Delete recurring event",description:"How much of the series should be removed?",confirmLabel:"Delete",loadingLabel:"Deleting...",confirmVariant:"destructive"})]})}])},937091,e=>{"use strict";var t=e.i(852665);e.s(["X",()=>t.default])},642342,e=>{"use strict";var t=e.i(459119),a=e.i(298699);let r=(0,e.i(613349).isLocalMode)(),n=Number(t.default.env.NEXT_PUBLIC_WS_DO_PORT)||8789,s=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,i=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;e.s(["useUserWs",0,function(e,t){let l=(0,a.useRef)(null),o=(0,a.useRef)(s),c=(0,a.useRef)(e),d=(0,a.useRef)(t?.onReconnect),u=(0,a.useRef)(null),h=(0,a.useRef)(!1),g=(0,a.useRef)(0),f=(0,a.useRef)(null),m=(0,a.useRef)(null);(0,a.useEffect)(()=>{c.current=e},[e]),(0,a.useEffect)(()=>{d.current=t?.onReconnect},[t?.onReconnect]);let p=(0,a.useRef)(null),x=(0,a.useCallback)(()=>{let e=Math.min(o.current,i);o.current=Math.min(2*e,i),u.current=setTimeout(()=>{p.current?.()},e+500*Math.random())},[]),v=(0,a.useCallback)(async()=>{let e,t,a,i=n;try{let a=await fetch("/api/ws/token");if(!a.ok){console.warn("[ws] token fetch failed:",a.status),x();return}let r=await a.json();e=r.userId,t=r.token,r.wsPort&&(i=r.wsPort)}catch(e){console.warn("[ws] token fetch error:",e),x();return}let u=r?`ws://localhost:${i}/?userId=${e}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${e}`;try{a=new WebSocket(u)}catch(e){console.warn("[ws] WebSocket creation failed:",e),x();return}l.current=a,a.onopen=()=>{o.current=s,a.send(JSON.stringify({type:"auth",token:t})),h.current&&d.current?.(),h.current=!0,g.current=Date.now(),f.current=setInterval(()=>{a.readyState===WebSocket.OPEN&&a.send("ping")},25e3),m.current=setInterval(()=>{Date.now()-g.current>3e4&&a.close()},5e3)},a.onmessage=e=>{g.current=Date.now();try{let t=JSON.parse(e.data);if("auth.ok"===t.type)return;c.current(t)}catch{}},a.onerror=()=>{},a.onclose=()=>{a===l.current&&(f.current&&(clearInterval(f.current),f.current=null),m.current&&(clearInterval(m.current),m.current=null),x())}},[x]);(0,a.useEffect)(()=>{p.current=v},[v]),(0,a.useEffect)(()=>(v(),()=>{null!==u.current&&(clearTimeout(u.current),u.current=null),f.current&&(clearInterval(f.current),f.current=null),m.current&&(clearInterval(m.current),m.current=null);let e=l.current;l.current=null,e?.close()}),[v])}])},355578,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(222862),n=e.i(880932),s=e.i(642342);let i=(0,a.createContext)(null);e.s(["AgentProvider",0,function({workspaceId:e,children:l}){let[o,c]=(0,a.useState)([]),[d,u]=(0,a.useState)([]),[h,g]=(0,a.useState)(!0),[f,m]=(0,a.useState)({}),[p,x]=(0,a.useState)([]),v=(0,a.useRef)(!1),[b,y]=(0,a.useState)([]),[k,w]=(0,a.useState)(new Map),[j,_]=(0,a.useState)(new Map),C=(0,a.useRef)(!1),N=(0,a.useRef)(new Set),D=(0,a.useRef)(!0),S=(0,a.useRef)(!1),M=(0,a.useCallback)(e=>(N.current.add(e),()=>{N.current.delete(e)}),[]),E=(0,a.useRef)(!1),I=(0,a.useCallback)(async()=>{if(!E.current){E.current=!0;try{if(v.current){let t=await (0,r.listWorkspaceActiveTasks)(e);if(!D.current)return;x(t.tasks);let a={};for(let e of t.tasks)a[e.agent_id]=(a[e.agent_id]??0)+1;m(a),v.current=t.tasks.length>0}else{let t=await (0,r.listAgentActiveTaskCounts)(e);if(!D.current)return;if(m(t.counts),Object.values(t.counts).some(e=>e>0)){v.current=!0;let t=await (0,r.listWorkspaceActiveTasks)(e);D.current&&x(t.tasks)}else x([])}}catch{}finally{E.current=!1}}},[e]);(0,a.useEffect)(()=>{D.current=!0,I();let e=setInterval(I,15e3);return()=>{D.current=!1,clearInterval(e)}},[I]);let T=(0,a.useCallback)(async()=>{try{let[t,a,n,s]=await Promise.all([(0,r.listAgents)(e),(0,r.listRuntimes)(e),(0,r.listAgentPins)(e),(0,r.listAgentLinks)(e)]);c(t),u(a),y(s),w(new Map(n.pins.map(e=>[e.agent_id,{created_at:e.created_at,position:e.position}]))),_(new Map(n.sidebar_order.map(e=>[e.agent_id,e.position])))}catch(e){n.toast.error(e instanceof Error?e.message:"Failed to load data")}finally{g(!1),C.current=!0}},[e]),A=(0,a.useCallback)(async()=>{if(!S.current){S.current=!0;try{let t=await (0,r.listRuntimes)(e);u(t)}catch{}finally{S.current=!1}}},[e]);(0,a.useEffect)(()=>{T()},[T]),(0,a.useEffect)(()=>{let e=null,t=setInterval(()=>{"visible"===document.visibilityState&&A()},3e4),a=()=>{"visible"===document.visibilityState&&(e=setTimeout(()=>A(),2e3*Math.random()))};return document.addEventListener("visibilitychange",a),()=>{clearInterval(t),e&&clearTimeout(e),document.removeEventListener("visibilitychange",a)}},[A]);let P=(0,a.useCallback)(t=>{for(let e of N.current)e(t);switch(t.type){case"runtime.registered":if(t.workspaceId!==e)break;T();break;case"runtime.deleted":T();break;case"runtime.status":if(t.workspaceId!==e)break;A();break;case"task.updated":I()}},[T,A,I,e]);(0,s.useUserWs)(P,{onReconnect:A});let R=(0,a.useCallback)(async t=>{try{let a=await (0,r.createAgent)(t,e);return await T(),a}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to create agent"),null}},[T,e]),$=(0,a.useCallback)(async(t,a)=>{try{return await (0,r.updateAgent)(t,a,e),await T(),!0}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to update agent"),!1}},[T,e]),B=(0,a.useCallback)(async t=>{try{return await (0,r.deleteAgent)(t,e),await T(),!0}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to remove agent"),!1}},[T,e]),L=(0,a.useCallback)(async t=>{w(e=>{let a=Math.max(-1,...[...e.values()].map(e=>e.position));return new Map(e).set(t,{created_at:new Date().toISOString(),position:a+1})});try{await (0,r.pinAgent)(e,t)}catch{w(e=>{let a=new Map(e);return a.delete(t),a}),n.toast.error("Failed to pin agent")}},[e]),z=(0,a.useCallback)(async t=>{let a;w(e=>{a=e.get(t);let r=new Map(e);return r.delete(t),r});try{await (0,r.unpinAgent)(e,t)}catch{void 0!==a&&w(e=>new Map(e).set(t,a)),n.toast.error("Failed to unpin agent")}},[e]),F=(0,a.useCallback)(async t=>{let a=new Map(k);w(e=>{let a=new Map(e);return t.forEach((e,t)=>{let r=a.get(e);r&&a.set(e,{...r,position:t})}),a});try{await (0,r.reorderAgentPins)(e,t)}catch{w(a),n.toast.error("Failed to reorder pins")}},[e,k]),O=(0,a.useCallback)(async t=>{let a=new Map(j);_(new Map(t.map((e,t)=>[e,t])));try{await (0,r.reorderUnpinnedAgents)(e,t)}catch{_(a),n.toast.error("Failed to reorder agents")}},[e,j]),q=(0,a.useCallback)(()=>{let e=d.find(e=>"online"===e.status);return e?.id??""},[d]),H=(0,a.useCallback)(async()=>{try{return(await (0,r.createMachineToken)("cli",e)).token}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to generate token"),null}},[e]),W=(0,a.useCallback)(async t=>{try{return await (0,r.deleteMachine)(t,e),await T(),!0}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to remove machine"),!1}},[T,e]);return(0,t.jsx)(i.Provider,{value:{workspaceId:e,agents:o,agentLinks:b,runtimes:d,loading:h,activeTaskCounts:f,activeTaskDetails:p,pins:k,reload:T,subscribeWs:M,handleCreateAgent:R,handleUpdateAgent:$,handleDeleteAgent:B,handlePinAgent:L,handleUnpinAgent:z,handleReorderPins:F,unpinnedOrder:j,handleReorderUnpinned:O,getFirstOnlineRuntimeId:q,handleGenerateToken:H,handleDeleteMachine:W},children:l})},"useAgentContext",0,function(){let e=(0,a.useContext)(i);if(!e)throw Error("useAgentContext must be used within AgentProvider");return e},"useAgentContextSafe",0,function(){return(0,a.useContext)(i)}])},332680,e=>{"use strict";var t=e.i(368075),a=e.i(55916),r=e.i(613349),n=e.i(186339),s=e.i(49695);function i({...e}){return(0,t.jsx)(a.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function l({className:e,...n}){return(0,t.jsx)(a.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:(0,r.cn)("fixed inset-0 z-50 bg-black/20 backdrop-blur-[2px] transition-[opacity,backdrop-filter] duration-200 ease-out data-ending-style:opacity-0 data-ending-style:backdrop-blur-none data-starting-style:opacity-0 data-starting-style:backdrop-blur-none",e),...n})}e.s(["Sheet",0,function({...e}){return(0,t.jsx)(a.Dialog.Root,{"data-slot":"sheet",...e})},"SheetBody",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-body",className:(0,r.cn)("flex-1 overflow-y-auto thin-scrollbar px-4 sm:px-6 py-5",e),...a})},"SheetClose",0,function({...e}){return(0,t.jsx)(a.Dialog.Close,{"data-slot":"sheet-close",...e})},"SheetContent",0,function({className:e,children:o,side:c="right",showCloseButton:d=!0,...u}){return(0,t.jsxs)(i,{children:[(0,t.jsx)(l,{forceRender:!0}),(0,t.jsxs)(a.Dialog.Popup,{"data-slot":"sheet-content","data-side":c,className:(0,r.cn)("fixed z-50 flex flex-col bg-background shadow-xl outline-none transition duration-300 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0","data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-full data-[side=right]:max-w-md data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-10 data-[side=right]:data-starting-style:translate-x-10","data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-full data-[side=left]:max-w-md data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-10 data-[side=left]:data-starting-style:-translate-x-10","data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-10 data-[side=top]:data-starting-style:-translate-y-10","data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-10 data-[side=bottom]:data-starting-style:translate-y-10",e),...u,children:[o,d&&(0,t.jsxs)(a.Dialog.Close,{"data-slot":"sheet-close",render:(0,t.jsx)(n.Button,{variant:"ghost",className:"absolute top-3 right-3 z-10",size:"icon-sm"}),children:[(0,t.jsx)(s.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"SheetDescription",0,function({className:e,...n}){return(0,t.jsx)(a.Dialog.Description,{"data-slot":"sheet-description",className:(0,r.cn)("text-sm text-muted-foreground",e),...n})},"SheetFooter",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-footer",className:(0,r.cn)("flex flex-col-reverse gap-2 border-t bg-muted/50 px-4 sm:px-6 py-4 sm:flex-row sm:justify-end",e),...a})},"SheetHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,r.cn)("flex flex-col gap-1 border-b px-4 sm:px-6 py-5",e),...a})},"SheetTitle",0,function({className:e,...n}){return(0,t.jsx)(a.Dialog.Title,{"data-slot":"sheet-title",className:(0,r.cn)("font-heading text-lg leading-tight font-semibold",e),...n})},"SheetTrigger",0,function({...e}){return(0,t.jsx)(a.Dialog.Trigger,{"data-slot":"sheet-trigger",...e})}])},64873,907361,e=>{"use strict";let t=(0,e.i(406963).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",0,t],907361),e.s(["ChevronRight",0,t],64873)},927783,e=>{"use strict";let t=(0,e.i(406963).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"}]]);e.s(["GitBranch",0,t],927783)},872937,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(222862),n=e.i(880932);let s=(0,a.createContext)(null);function i(e,t){return t?`alook:channel:${e}:${t}`:`alook:channel:${e}`}e.s(["ChannelProvider",0,function({workspaceId:e,children:l}){let[o,c]=(0,a.useState)([]),[d,u]=(0,a.useState)("default"),[h,g]=(0,a.useState)(!0),[f,m]=(0,a.useState)(null),p=(0,a.useCallback)(async()=>{try{let t=await (0,r.listChannels)(e);c(t)}catch{c([])}},[e]);(0,a.useEffect)(()=>{p().finally(()=>g(!1))},[e,p]),(0,a.useEffect)(()=>{f&&u(localStorage.getItem(i(e,f))??"default")},[e,f]);let x=(0,a.useCallback)(t=>{u(t);try{localStorage.setItem(i(e,f),t)}catch{}},[e,f]),v=(0,a.useCallback)(async t=>{let a=await (0,r.createChannelApi)(e,t);return await p(),a},[e,p]),b=(0,a.useCallback)(async(t,a)=>{let n=o.find(e=>e.id===t);await (0,r.renameChannelApi)(t,e,a),n&&n.name===d&&x(a),await p()},[e,o,d,x,p]),y=(0,a.useCallback)(async t=>{let a=o.find(e=>e.id===t);await (0,r.deleteChannelApi)(t,e),a&&a.name===d&&x("default"),await p()},[e,o,d,x,p]),k=(0,a.useCallback)(async t=>{c(e=>{let a=new Map(e.map(e=>[e.id,e])),r=t.map(e=>a.get(e)).filter(e=>void 0!==e),n=new Set(t);return[...e.filter(e=>!n.has(e.id)),...r]});try{await (0,r.reorderChannelsApi)(e,t)}catch{await p(),n.toast.error("Failed to reorder channels")}},[e,p]);return(0,t.jsx)(s.Provider,{value:{channels:o,activeChannel:d,loading:h,setActiveChannel:x,setAgentId:m,createChannel:v,renameChannel:b,deleteChannel:y,reorderChannels:k,refresh:p},children:l})},"useChannel",0,function(){let e=(0,a.useContext)(s);if(!e)throw Error("useChannel must be used within a ChannelProvider");return e}])},309475,450463,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(789994),n=e.i(875061),s=e.i(224950),i=e.i(329686),l=e.i(728886),o=e.i(613349),c=e.i(222862),d=e.i(500324);function u(e){let t=new Date(e);if(isNaN(t.getTime()))return"";let a=Math.floor((new Date().getTime()-t.getTime())/6e4);if(a<1)return"just now";if(a<60)return`${a}m ago`;let r=Math.floor(a/60);if(r<24)return`${r}h ago`;let n=Math.floor(r/24);return n<7?`${n}d ago`:t.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function h({online:e}){return(0,t.jsx)("span",{className:(0,o.cn)("size-1.5 rounded-full shrink-0",e?"bg-status-online":"bg-status-offline")})}function g({task:e,slug:a,agentId:n}){var s;let i,l="running"===e.status;return(0,t.jsxs)(r.default,{href:`/w/${a}/agents/${n}?task=${e.id}&conv=${e.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,t.jsx)("span",{className:(0,o.cn)("size-1.5 rounded-full shrink-0",l?"bg-primary animate-pulse":"bg-muted-foreground/40")}),(0,t.jsx)("div",{className:"flex-1 min-w-0",children:(0,t.jsx)("p",{className:"text-xs truncate",children:(i=(s=e.prompt).match(/^Issue\s+iss_\w+:\s*(.+)/))?i[1].split("\n")[0]:s.split("\n")[0]})}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:u(e.created_at)})]})}e.s(["relativeTime",0,u],450463);let f="gap-1.5 text-muted-foreground hover:text-foreground cursor-pointer";e.s(["AgentStatusBadge",0,function({isOnline:e,taskCount:u,agentId:m}){let{slug:p,workspaceId:x}=(0,d.useWorkspace)(),[v,b]=(0,a.useState)(null),[y,k]=(0,a.useState)(!1),[w,j]=(0,a.useState)(!1),_=(0,a.useCallback)(async()=>{b(null),k(!0),j(!1);try{let e=await (0,c.listWorkspaceActiveTasks)(x);b(e.tasks.filter(e=>e.agent_id===m))}catch{j(!0)}finally{k(!1)}},[m,x]);return e?(0,t.jsxs)(s.Popover,{onOpenChange:e=>{e&&_()},children:[(0,t.jsxs)(s.PopoverTrigger,{render:(0,t.jsx)("button",{type:"button",className:(0,o.cn)((0,n.badgeVariants)({variant:"outline"}),f),onClick:e=>e.stopPropagation()}),children:[(0,t.jsx)(h,{online:!0}),u>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"hidden sm:inline",children:"Working"}),(0,t.jsx)("span",{className:"tabular-nums",children:u})]}):(0,t.jsx)("span",{className:"hidden sm:inline text-muted-foreground/40",children:"Online"})]}),(0,t.jsx)(s.PopoverContent,{className:"w-72 p-1",children:y?(0,t.jsx)("div",{className:"p-2 space-y-1",children:Array.from({length:3}).map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2",children:[(0,t.jsx)(l.Skeleton,{className:"size-1.5 rounded-full"}),(0,t.jsxs)("div",{className:"flex-1 space-y-1",children:[(0,t.jsx)(l.Skeleton,{className:"h-2.5 w-10"}),(0,t.jsx)(l.Skeleton,{className:"h-3 w-full"})]}),(0,t.jsx)(l.Skeleton,{className:"h-2.5 w-8"})]},a))}):w?(0,t.jsx)("div",{className:"p-3 text-xs text-muted-foreground",children:"Failed to load"}):v&&0!==v.length?(0,t.jsxs)("div",{className:"max-h-75 overflow-y-auto",children:[v.slice(0,6).map(e=>(0,t.jsx)(g,{task:e,slug:p,agentId:m},e.id)),v.length>6&&(0,t.jsxs)(r.default,{href:`/w/${p}/agents/${m}/activity?status=running`,className:"block text-xs text-muted-foreground hover:text-foreground text-center py-1.5 transition-colors",children:["View all ",v.length," tasks"]})]}):(0,t.jsx)("div",{className:"p-3 text-xs text-muted-foreground",children:"No active tasks"})})]}):(0,t.jsxs)(i.Tooltip,{children:[(0,t.jsx)(i.TooltipTrigger,{render:(0,t.jsxs)(n.Badge,{variant:"outline",render:(0,t.jsx)(r.default,{href:`/w/${p}/runtimes`}),className:f,children:[(0,t.jsx)(h,{online:!1}),(0,t.jsx)("span",{className:"hidden sm:inline",children:"Offline"})]})}),(0,t.jsx)(i.TooltipContent,{children:"Runtime offline — click to manage runtimes"})]})}],309475)},980630,e=>{"use strict";let t="browser-notification-enabled",a="browser-notification-events",r=["completed","failed"],n={completed:"Task Completed",failed:"Task Failed"};function s(){return"Notification"in window}function i(){return"true"===localStorage.getItem(t)}function l(){try{let e=localStorage.getItem(a);if(e)return JSON.parse(e)}catch{}return[...r]}async function o(){return!!s()&&("granted"===Notification.permission||"denied"!==Notification.permission&&"granted"===await Notification.requestPermission())}e.s(["NOTIFICATION_EVENTS",0,r,"NOTIFICATION_EVENT_LABELS",0,n,"getNotificationEnabled",0,i,"getNotificationEvents",0,l,"isNotificationSupported",0,s,"requestNotificationPermission",0,o,"sendTaskNotification",0,function(e,t,a){if(!s()||"granted"!==Notification.permission||!i()||!l().includes(e))return;let r=n[e]??`Task ${e}`;new Notification(t?`${t} — ${r}`:r,{body:a??"",icon:"/alook.svg"})},"setNotificationEnabled",0,function(e){localStorage.setItem(t,String(e))},"setNotificationEvents",0,function(e){localStorage.setItem(a,JSON.stringify(e))}])},875494,685835,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(222862),n=e.i(355578),s=e.i(500324),i=e.i(980630);let l="inbox-filter-types",o=["user_dm_message","calendar_event","email_notification"],c=["user_dm_message"],d=["user_dm_message"];function u(){try{let e=localStorage.getItem(l);if(!e)return c;let t=JSON.parse(e).filter(e=>o.includes(e));if(0===t.length)return c;for(let e of d)t.includes(e)||t.unshift(e);return t}catch{return c}}e.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,o,"MANDATORY_INBOX_TYPES",0,d,"getInboxFilterTypes",0,u,"setInboxFilterTypes",0,function(e){let t=[...e];for(let e of d)t.includes(e)||t.unshift(e);localStorage.setItem(l,JSON.stringify(t))}],685835);let h=(0,a.createContext)(null),g={count:0,notificationToken:0,refresh:()=>{},decrement:()=>{}};e.s(["InboxCountProvider",0,function({children:e}){let{workspaceId:l}=(0,s.useWorkspace)(),{subscribeWs:o,agents:c}=(0,n.useAgentContext)(),[d,g]=(0,a.useState)(0),[f,m]=(0,a.useState)(0),p=(0,a.useRef)(null),x=(0,a.useRef)(null),v=(0,a.useRef)(c);(0,a.useEffect)(()=>{v.current=c});let b=(0,a.useCallback)(()=>{let e=u();(0,r.getInboxCount)(l,{types:e}).then(e=>{let t=p.current;if(p.current=e.count,g(e.count),null!==t&&e.count>t){m(e=>e+1);let e=x.current?v.current.find(e=>e.id===x.current):void 0;(0,i.sendTaskNotification)("completed",e?.name)}x.current=null}).catch(()=>{})},[l]),y=(0,a.useCallback)(()=>{g(e=>{let t=Math.max(0,e-1);return p.current=t,t})},[]);return(0,a.useEffect)(()=>{b()},[b]),(0,a.useEffect)(()=>o(e=>{"task.updated"===e.type&&("completed"===e.status||"failed"===e.status)&&(x.current=e.agentId,b())}),[o,b]),(0,a.useEffect)(()=>{let e=setInterval(b,6e4);return()=>clearInterval(e)},[b]),(0,t.jsx)(h.Provider,{value:{count:d,notificationToken:f,refresh:b,decrement:y},children:e})},"useInboxCount",0,function(){return(0,a.useContext)(h)??g}],875494)},875061,e=>{"use strict";var t=e.i(390072),a=e.i(863764),r=e.i(294237),n=e.i(613349);let s=(0,r.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:r="default",render:i,...l}){var o;return o={defaultTagName:"span",props:(0,t.mergeProps)({className:(0,n.cn)(s({variant:r}),e)},l),render:i,state:{slot:"badge",variant:r}},(0,a.useRenderElement)(o.defaultTagName??"div",o,o)},"badgeVariants",0,s],875061)},297925,e=>{"use strict";let t=(0,e.i(406963).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t])},371522,e=>{"use strict";let t=(0,e.i(406963).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],371522)},393153,e=>{"use strict";var t=e.i(368075),a=e.i(779646),r=e.i(186339);e.s(["ConfirmDialog",0,function({open:e,onOpenChange:n,title:s,description:i,confirmLabel:l="Remove",loadingLabel:o,confirmVariant:c="destructive",loading:d=!1,onConfirm:u}){return(0,t.jsx)(a.Dialog,{open:e,onOpenChange:n,children:(0,t.jsxs)(a.DialogContent,{showCloseButton:!1,children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsx)(a.DialogTitle,{children:s}),(0,t.jsx)(a.DialogDescription,{children:i})]}),(0,t.jsxs)(a.DialogFooter,{children:[(0,t.jsx)(r.Button,{variant:"outline",size:"sm",onClick:()=>n(!1),disabled:d,children:"Cancel"}),(0,t.jsx)(r.Button,{variant:c,size:"sm",onClick:u,disabled:d,children:d?o??`${l}...`:l})]})]})})}])},108281,e=>{"use strict";let t=(0,e.i(406963).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"}]]);e.s(["AlertCircle",0,t],108281)},313101,e=>{"use strict";let t=(0,e.i(406963).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,t],313101)},745925,e=>{"use strict";let t=(0,e.i(406963).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,t],745925)},265481,e=>{"use strict";let t=(0,e.i(406963).default)("calendar-days",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);e.s(["CalendarDays",0,t],265481)},251638,e=>{"use strict";let t=(0,e.i(406963).default)("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);e.s(["CircleDot",0,t],251638)},140483,219658,e=>{"use strict";var t=e.i(406963);let a=(0,t.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);e.s(["RotateCw",0,a],140483);var r=e.i(368075),n=e.i(298699),s=e.i(186339),i=e.i(329686);let l=(0,t.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var o=e.i(613349);e.s(["ScrollToBottomButton",0,function({scrollRef:e,threshold:t=100}){let[a,c]=(0,n.useState)(!1),d=(0,n.useCallback)(()=>{let a=e.current;if(!a)return;let r=a.scrollHeight-a.scrollTop-a.clientHeight<t;c(a.scrollHeight>a.clientHeight&&!r)},[e,t]);return(0,n.useEffect)(()=>{let t=e.current;if(!t)return;t.addEventListener("scroll",d,{passive:!0}),d();let a=new ResizeObserver(d);return a.observe(t),()=>{t.removeEventListener("scroll",d),a.disconnect()}},[e,d]),(0,r.jsx)("div",{className:(0,o.cn)("absolute bottom-1 left-1/2 -translate-x-1/2 z-10 transition-all duration-200 ease-out",a?"opacity-100 translate-y-0":"opacity-0 translate-y-2 pointer-events-none"),children:(0,r.jsxs)(i.Tooltip,{children:[(0,r.jsx)(i.TooltipTrigger,{render:(0,r.jsx)(s.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{let t=e.current;t&&t.scrollTo({top:t.scrollHeight,behavior:"smooth"})},className:"rounded-full bg-background/80 backdrop-blur-sm border shadow-sm hover:bg-background"}),children:(0,r.jsx)(l,{})}),(0,r.jsx)(i.TooltipContent,{side:"top",children:"Scroll to bottom"})]})})}],219658)},6131,e=>{"use strict";let t=(0,e.i(406963).default)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]);e.s(["Mail",0,t],6131)},814552,e=>{"use strict";let t=(0,e.i(406963).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",0,t],814552)},309493,e=>{"use strict";let t=(0,e.i(406963).default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);e.s(["Brain",0,t],309493)},983453,e=>{"use strict";let t=(0,e.i(406963).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);e.s(["Calendar",0,t],983453)},541544,e=>{"use strict";var t=e.i(297925);e.s(["Check",()=>t.default])},113354,e=>{"use strict";let t=(0,e.i(406963).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],113354)},89440,e=>{"use strict";let t=(0,e.i(406963).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],89440)},554468,940931,e=>{"use strict";let t=(0,e.i(406963).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["Paperclip",0,t],554468);var a=e.i(368075),r=e.i(298699),n=e.i(635790);let s=`
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,275351,e=>{"use strict";let t,a,r,n,s=(e,t)=>t.some(t=>e instanceof t),i=new WeakMap,l=new WeakMap,o=new WeakMap,c={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return i.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return d(e[t])},set:(e,t,a)=>(e[t]=a,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function d(e){if(e instanceof IDBRequest){let t;return t=new Promise((t,a)=>{let r=()=>{e.removeEventListener("success",n),e.removeEventListener("error",s)},n=()=>{t(d(e.result)),r()},s=()=>{a(e.error),r()};e.addEventListener("success",n),e.addEventListener("error",s)}),o.set(t,e),t}if(l.has(e))return l.get(e);let t=function(e){if("function"==typeof e)return(n||(n=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(u(this),t),d(this.request)}:function(...t){return d(e.apply(u(this),t))};return(e instanceof IDBTransaction&&function(e){if(i.has(e))return;let t=new Promise((t,a)=>{let r=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",s),e.removeEventListener("abort",s)},n=()=>{t(),r()},s=()=>{a(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",n),e.addEventListener("error",s),e.addEventListener("abort",s)});i.set(e,t)}(e),s(e,r||(r=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,c):e}(e);return t!==e&&(l.set(e,t),o.set(t,e)),t}let u=e=>o.get(e),h=["get","getKey","getAll","getAllKeys","count"],g=["put","add","delete","clear"],f=new Map;function m(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(f.get(t))return f.get(t);let a=t.replace(/FromIndex$/,""),r=t!==a,n=g.includes(a);if(!(a in(r?IDBIndex:IDBObjectStore).prototype)||!(n||h.includes(a)))return;let s=async function(e,...t){let s=this.transaction(e,n?"readwrite":"readonly"),i=s.store;return r&&(i=i.index(t.shift())),(await Promise.all([i[a](...t),n&&s.done]))[0]};return f.set(t,s),s}c={...t=c,get:(e,a,r)=>m(e,a)||t.get(e,a,r),has:(e,a)=>!!m(e,a)||t.has(e,a)};let p=["continue","continuePrimaryKey","advance"],x={},v=new WeakMap,b=new WeakMap,y={get(e,t){if(!p.includes(t))return e[t];let a=x[t];return a||(a=x[t]=function(...e){v.set(this,b.get(this)[t](...e))}),a}};async function*k(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;let a=new Proxy(t,y);for(b.set(a,t),o.set(a,u(t));t;)yield a,t=await (v.get(a)||t.continue()),v.delete(a)}function w(e,t){return t===Symbol.asyncIterator&&s(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&s(e,[IDBIndex,IDBObjectStore])}c={...a=c,get:(e,t,r)=>w(e,t)?k:a.get(e,t,r),has:(e,t)=>w(e,t)||a.has(e,t)};let j=null,_=null;function C(e){return"u"<typeof indexedDB?null:j&&_===e?j:(_=e,j=function(e,{blocked:t,upgrade:a,blocking:r,terminated:n}={}){let s=indexedDB.open(e,1),i=d(s);return a&&s.addEventListener("upgradeneeded",e=>{a(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)}),t&&s.addEventListener("blocked",e=>t(e.oldVersion,e.newVersion,e)),i.then(e=>{n&&e.addEventListener("close",()=>n()),r&&e.addEventListener("versionchange",e=>r(e.oldVersion,e.newVersion,e))}).catch(()=>{}),i}(`alook-chat-cache-${e}`,{upgrade(e){let t=e.createObjectStore("messages",{keyPath:["conversation_id","id"]});t.createIndex("by-conversation","conversation_id",{unique:!1}),t.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),e.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function N(e){return e?C(e):j}async function D(e,t){let a=N(t);if(!a)return null;try{let t=await a,r=await t.getAllFromIndex("messages","by-conversation",e);if(0===r.length)return null;let n=r.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));n.sort((e,t)=>{let a=e.created_at.localeCompare(t.created_at);return 0!==a?a:e.id.localeCompare(t.id)});let s=await t.get("cache_meta",e);return s&&await t.put("cache_meta",{...s,lastAccessedAt:Date.now()}),n}catch{return null}}async function S(e,t,a,r,n){let s=N(n);if(!s)return null;try{let n=await s,i=await n.get("cache_meta",e);if(!i)return null;let l=IDBKeyRange.bound([e,""],[e,t],!1,!1),o=(await n.getAllFromIndex("messages","by-created",l)).filter(e=>!("buffered"===e.status||e.id.startsWith("temp-"))&&(e.created_at!==t||!(e.id>=a)));o.sort((e,t)=>{let a=t.created_at.localeCompare(e.created_at);return 0!==a?a:t.id.localeCompare(e.id)});let c=o.slice(0,r);if(c.length<r&&i.hasMore)return null;return await n.put("cache_meta",{...i,lastAccessedAt:Date.now()}),{messages:c.reverse(),hasMore:o.length>r||i.hasMore}}catch{return null}}async function M(e,t,a,r){let n=N(r);if(n)try{let r=await n,s=t.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));if(0===s.length)return;let i=r.transaction(["messages","cache_meta"],"readwrite"),l=i.objectStore("messages"),o=i.objectStore("cache_meta");for(let e of s)await l.put(e);let c=await l.index("by-conversation").getAllKeys(e),d=Date.now(),u=s.reduce((e,t)=>e.created_at>t.created_at?e:t),h=await o.get(e),g=a??h?.hasMore??!0,f=h?.newestMessageId&&h.newestMessageId!==u.id?await (async()=>{let t=await l.get([e,h.newestMessageId]);return t&&t.created_at>u.created_at?t.id:u.id})():u.id,m={conversation_id:e,lastFetchedAt:d,lastAccessedAt:d,messageCount:c.length,newestMessageId:f,hasMore:g};await o.put(m),await i.done,T().catch(()=>{})}catch{}}async function E(e,t,a){let r=N(a);if(r&&!("buffered"===t.status||t.id.startsWith("temp-")))try{let a=await r,n=await a.get("cache_meta",e);if(!n)return;let s=await a.get("messages",[e,t.id]);await a.put("messages",t),await a.put("cache_meta",{...n,lastAccessedAt:Date.now(),messageCount:s?n.messageCount:n.messageCount+1,newestMessageId:t.id})}catch{}}async function I(e,t){let a=N(t);if(!a)return null;try{let t=await a;return await t.get("cache_meta",e)??null}catch{return null}}async function T(e=50){let t=N();if(t)try{let a=await t,r=await a.getAll("cache_meta");if(r.length<=e)return;r.sort((e,t)=>e.lastAccessedAt-t.lastAccessedAt);let n=r.slice(0,r.length-e),s=a.transaction(["messages","cache_meta"],"readwrite"),i=s.objectStore("messages"),l=s.objectStore("cache_meta");for(let e of n){for(let t of(await i.index("by-conversation").getAllKeys(e.conversation_id)))await i.delete(t);await l.delete(e.conversation_id)}await s.done}catch{}}async function A(){if("u">typeof indexedDB)try{j&&((await j).close(),j=null),_&&(await P(`alook-chat-cache-${_}`),_=null)}catch{}}async function P(e){return new Promise((t,a)=>{let r=indexedDB.deleteDatabase(e);r.onsuccess=()=>t(),r.onerror=()=>a(r.error),r.onblocked=()=>t()})}e.s(["appendCachedMessage",0,E,"clearAllCache",0,A,"getCacheMeta",0,I,"getCachedMessages",0,D,"getCachedMessagesBefore",0,S,"mergeCachedMessages",0,M,"openCacheDB",0,C],275351)},430744,e=>{"use strict";let t=(0,e.i(406963).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",0,t],430744)},986765,e=>{"use strict";let t=(0,e.i(406963).default)("calendar-off",[["path",{d:"M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18",key:"16swn3"}],["path",{d:"M21 15.5V6a2 2 0 0 0-2-2H9.5",key:"yhw86o"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h7",key:"1wap6i"}],["path",{d:"M21 10h-5.5",key:"quycpq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["CalendarOff",0,t],986765)},835258,e=>{"use strict";let t=(0,e.i(406963).default)("repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);e.s(["Repeat",0,t],835258)},681306,e=>{"use strict";let t=(0,e.i(406963).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",0,t],681306)},136489,307214,e=>{"use strict";e.s(["CalendarDayPopover",()=>l],136489);var t=e.i(368075),a=e.i(224950),r=e.i(613349),n=e.i(835258);function s(e){let t=["bg-[oklch(0.62_0.13_60)] dark:bg-[oklch(0.72_0.11_60)]","bg-[oklch(0.62_0.12_120)] dark:bg-[oklch(0.72_0.10_120)]","bg-[oklch(0.62_0.12_220)] dark:bg-[oklch(0.72_0.10_220)]","bg-[oklch(0.62_0.13_30)] dark:bg-[oklch(0.72_0.11_30)]","bg-[oklch(0.62_0.12_280)] dark:bg-[oklch(0.72_0.10_280)]","bg-[oklch(0.62_0.12_160)] dark:bg-[oklch(0.72_0.10_160)]"],a=0;for(let t=0;t<e.length;t++)a=31*a+e.charCodeAt(t)|0;return t[Math.abs(a)%t.length]}function i(e){let t=["text-[oklch(0.52_0.14_60)] dark:text-[oklch(0.78_0.11_60)]","text-[oklch(0.52_0.13_120)] dark:text-[oklch(0.78_0.10_120)]","text-[oklch(0.52_0.13_220)] dark:text-[oklch(0.78_0.10_220)]","text-[oklch(0.52_0.14_30)] dark:text-[oklch(0.78_0.11_30)]","text-[oklch(0.52_0.13_280)] dark:text-[oklch(0.78_0.10_280)]","text-[oklch(0.52_0.13_160)] dark:text-[oklch(0.78_0.10_160)]"],a=0;for(let t=0;t<e.length;t++)a=31*a+e.charCodeAt(t)|0;return t[Math.abs(a)%t.length]}function l({events:e,agents:o,date:c,hiddenCount:d,open:u,onOpenChange:h,onSelectEvent:g}){let f=new Map;for(let e of o)f.set(e.id,e.name);let m=[...e].sort((e,t)=>new Date(e.scheduled_at).getTime()-new Date(t.scheduled_at).getTime()),p=c.toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"});return(0,t.jsxs)(a.Popover,{open:u,onOpenChange:h,children:[(0,t.jsxs)(a.PopoverTrigger,{"aria-label":`${d} more event${1===d?"":"s"}`,onClick:e=>e.stopPropagation(),className:"w-full truncate rounded-sm px-1.5 py-0.5 text-left text-[10px] text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:["+",d," more"]}),(0,t.jsx)(a.PopoverContent,{className:"w-64",align:"start",children:(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("p",{className:"px-1 pb-1 text-[11px] font-medium text-muted-foreground",children:p}),(0,t.jsx)("div",{className:"flex flex-col gap-1",children:m.map(e=>{let a=!!e.repeat_interval;return(0,t.jsxs)("button",{type:"button",onClick:()=>{h(!1),g(e)},className:"flex items-center gap-2 rounded-sm px-1.5 py-1 text-left text-[11px] font-medium text-foreground/85 hover:bg-accent/60 transition-colors",title:`${a?"Recurring · ":""}${e.title}${f.get(e.agent_id)?` — ${f.get(e.agent_id)}`:""}`,children:[a?(0,t.jsx)(n.Repeat,{"aria-hidden":!0,className:(0,r.cn)("size-3 shrink-0",i(e.agent_id))}):(0,t.jsx)("span",{"aria-hidden":!0,className:(0,r.cn)("size-1.5 shrink-0 rounded-full",s(e.agent_id))}),(0,t.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground tabular-nums",children:new Date(e.scheduled_at).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hour12:!1})}),(0,t.jsx)("span",{className:"truncate",children:e.title})]},`${e.id}@${e.occurrence_at}`)})})]})})]})}e.i(412532),e.s(["agentColor",0,function(e){let t=["bg-[oklch(0.78_0.08_60)] text-[oklch(0.25_0.05_60)]","bg-[oklch(0.80_0.07_120)] text-[oklch(0.25_0.05_120)]","bg-[oklch(0.80_0.06_220)] text-[oklch(0.25_0.05_220)]","bg-[oklch(0.80_0.07_30)] text-[oklch(0.25_0.05_30)]","bg-[oklch(0.80_0.06_280)] text-[oklch(0.25_0.05_280)]","bg-[oklch(0.80_0.07_160)] text-[oklch(0.25_0.05_160)]"],a=0;for(let t=0;t<e.length;t++)a=31*a+e.charCodeAt(t)|0;return t[Math.abs(a)%t.length]},"agentDot",0,s,"agentInk",0,i],307214)},412532,e=>{"use strict";e.s(["CalendarMonthGrid",()=>f,"buildMonthCells",()=>d,"dateKey",()=>u,"sameDay",()=>h,"stepDate",()=>g]);var t=e.i(368075),a=e.i(613349),r=e.i(681306),n=e.i(64873),s=e.i(835258),i=e.i(186339),l=e.i(136489),o=e.i(99475),c=e.i(307214);function d(e,t){let a=new Date(e,t,1).getDay(),r=[];for(let n=0;n<42;n++){let s=new Date(e,t,1-a+n);r.push({date:s,inMonth:s.getMonth()===t})}return r}function u(e){let t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return`${t}-${a}-${r}`}function h(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function g(e,t){let a=new Date(e.getFullYear(),e.getMonth(),e.getDate());switch(t){case"ArrowLeft":return a.setDate(a.getDate()-1),a;case"ArrowRight":return a.setDate(a.getDate()+1),a;case"ArrowUp":return a.setDate(a.getDate()-7),a;case"ArrowDown":return a.setDate(a.getDate()+7),a;case"Home":return a.setDate(a.getDate()-a.getDay()),a;case"End":return a.setDate(a.getDate()+(6-a.getDay())),a;case"PageUp":{let e=0===a.getMonth()?a.getFullYear()-1:a.getFullYear(),t=(a.getMonth()-1+12)%12,r=new Date(e,t+1,0).getDate();return a.setFullYear(e,t,Math.min(a.getDate(),r)),a}case"PageDown":{let e=11===a.getMonth()?a.getFullYear()+1:a.getFullYear(),t=(a.getMonth()+1)%12,r=new Date(e,t+1,0).getDate();return a.setFullYear(e,t,Math.min(a.getDate(),r)),a}default:return null}}function f({year:e,month:g,events:m,agents:p,loading:x,focusedDate:v,openPopoverKey:b,onPopoverChange:y,onPrev:k,onNext:w,onJumpToToday:j,onJumpToDate:_,onSelectDay:C,onSelectEvent:N,headerExtras:D}){let S=d(e,g),M=new Date(e,g,1).toLocaleDateString(void 0,{month:"long",year:"numeric"}),E=new Map;for(let e of m){let t=u(new Date(e.scheduled_at));E.has(t)||E.set(t,[]),E.get(t).push(e)}let I=new Map;for(let e of p)I.set(e.id,e.name);let T=new Date,A=function(e,t,a=new Date){return a.getFullYear()===e&&a.getMonth()===t}(e,g,T);return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)("h2",{className:"text-sm font-medium tabular-nums",children:M})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[D,(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button","aria-label":"Previous month",onClick:k,className:"flex size-9 sm:size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:(0,t.jsx)(r.ChevronLeft,{className:"size-4"})}),(0,t.jsx)(i.Button,{variant:"outline",size:"sm",onClick:j,disabled:A,className:"h-7 px-2.5 text-xs",children:"Today"}),(0,t.jsx)("button",{type:"button","aria-label":"Next month",onClick:w,className:"flex size-9 sm:size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:(0,t.jsx)(n.ChevronRight,{className:"size-4"})})]}),(0,t.jsx)(o.CalendarDatePicker,{value:v,onChange:_,ariaLabel:"Jump to date"})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-7 text-[11px] text-muted-foreground",children:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].map(e=>(0,t.jsxs)("div",{className:"px-1 sm:px-2 py-1 font-medium",children:[(0,t.jsx)("span",{className:"sm:hidden",children:e[0]}),(0,t.jsx)("span",{className:"hidden sm:inline",children:e})]},e))}),(0,t.jsxs)("div",{className:"relative",children:[x&&(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 top-0 z-20 h-0.5 overflow-hidden rounded-t-lg",children:(0,t.jsx)("div",{className:"h-full w-1/3 animate-[calendar-progress_1.2s_ease-in-out_infinite] bg-foreground/40"})}),(0,t.jsx)("div",{role:"grid","aria-label":`Calendar ${M}`,"aria-busy":x||void 0,className:(0,a.cn)("grid grid-cols-7 gap-px rounded-lg border border-border/50 bg-border/40 overflow-hidden transition-opacity",x&&"opacity-70"),"data-testid":"calendar-month-grid",children:S.map((e,r)=>{let n=u(e.date),i=E.get(n)??[],o=h(T,e.date),d=h(v,e.date),g=Math.max(0,i.length-3);return(0,t.jsxs)("div",{role:"gridcell","data-date":n,"data-focused":d?"true":void 0,"aria-current":o?"date":void 0,tabIndex:d?0:-1,onClick:()=>C(e.date),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&t.target===t.currentTarget&&(t.preventDefault(),C(e.date))},className:(0,a.cn)("group flex min-h-16 sm:min-h-24 flex-col gap-1 p-1 sm:p-2 text-left transition-colors bg-background outline-none cursor-pointer",!e.inMonth&&"bg-muted/40 text-muted-foreground",d&&"ring-2 ring-inset ring-ring/60 relative z-10"),children:[(0,t.jsx)("div",{className:"flex items-center justify-between",children:(0,t.jsx)("span",{className:(0,a.cn)("text-[11px] tabular-nums",o&&"flex size-5 items-center justify-center rounded-full bg-foreground text-background font-medium"),children:e.date.getDate()})}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 [&>:nth-child(3)]:hidden [&>:nth-child(3)]:sm:flex",children:[i.slice(0,3).map(e=>{let r=!!e.repeat_interval;return(0,t.jsxs)("span",{role:"button",tabIndex:-1,onClick:t=>{t.stopPropagation(),N(e)},onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.stopPropagation(),N(e))},className:"flex items-center gap-1.5 rounded-sm px-1 py-0.5 text-[9px] sm:text-[10px] font-medium text-foreground/85 hover:bg-accent/60 transition-colors cursor-pointer",title:`${r?"Recurring · ":""}${e.title}${I.get(e.agent_id)?` — ${I.get(e.agent_id)}`:""}`,children:[r?(0,t.jsx)(s.Repeat,{"aria-hidden":!0,className:(0,a.cn)("size-2.5 shrink-0",(0,c.agentInk)(e.agent_id))}):(0,t.jsx)("span",{"aria-hidden":!0,className:(0,a.cn)("size-1.5 shrink-0 rounded-full",(0,c.agentDot)(e.agent_id))}),(0,t.jsx)("span",{className:"truncate",children:e.title}),null!=e.collapsed_count&&e.collapsed_count>1&&(0,t.jsxs)("span",{className:"shrink-0 text-[9px] text-muted-foreground",children:["×",e.collapsed_count]})]},`${e.id}@${e.occurrence_at}`)}),g>0&&(0,t.jsx)(l.CalendarDayPopover,{date:e.date,hiddenCount:g,events:i,agents:p,open:b===n,onOpenChange:e=>y(e?n:null),onSelectEvent:N})]})]},r)})})]})]})}},99475,e=>{"use strict";e.s(["CalendarDatePicker",()=>c]);var t=e.i(368075),a=e.i(298699),r=e.i(224950),n=e.i(613349),s=e.i(265481),i=e.i(681306),l=e.i(64873),o=e.i(412532);function c({value:e,onChange:u,placeholder:h="Jump to date",min:g,className:f,ariaLabel:m="Pick a date",hideIcon:p=!1,onClear:x}){let[v,b]=(0,a.useState)(!1),y=e??new Date,[k,w]=(0,a.useState)(y.getFullYear()),[j,_]=(0,a.useState)(y.getMonth()),C=(0,o.buildMonthCells)(k,j),N=new Date,D=e=>{g&&e<d(g)||(u(e),b(!1))},S=e?e.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"}):h;return(0,t.jsxs)(r.Popover,{open:v,onOpenChange:t=>{if(b(t),t){let t=e??new Date;w(t.getFullYear()),_(t.getMonth())}},children:[(0,t.jsxs)(r.PopoverTrigger,{"aria-label":m,className:(0,n.cn)("flex h-7 items-center gap-1.5 rounded-md border border-input bg-transparent px-2 text-xs outline-none transition-colors","hover:bg-accent hover:text-foreground","focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50",e?"text-foreground":"text-muted-foreground",f),children:[!p&&(0,t.jsx)(s.CalendarDays,{className:"size-3.5 opacity-70"}),(0,t.jsx)("span",{className:"hidden sm:inline tabular-nums",children:S})]}),(0,t.jsxs)(r.PopoverContent,{align:"end",className:"w-64 p-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between pb-2",children:[(0,t.jsx)("button",{type:"button","aria-label":"Previous month",onClick:()=>{_(e=>0===e?11:e-1),0===j&&w(e=>e-1)},className:"flex size-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground",children:(0,t.jsx)(i.ChevronLeft,{className:"size-3.5"})}),(0,t.jsx)("span",{className:"text-xs font-medium tabular-nums",children:new Date(k,j,1).toLocaleDateString(void 0,{month:"long",year:"numeric"})}),(0,t.jsx)("button",{type:"button","aria-label":"Next month",onClick:()=>{_(e=>11===e?0:e+1),11===j&&w(e=>e+1)},className:"flex size-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground",children:(0,t.jsx)(l.ChevronRight,{className:"size-3.5"})})]}),(0,t.jsx)("div",{className:"grid grid-cols-7 pb-1 text-[10px] text-muted-foreground",children:["S","M","T","W","T","F","S"].map((e,a)=>(0,t.jsx)("div",{className:"flex h-6 items-center justify-center font-medium",children:e},a))}),(0,t.jsx)("div",{className:"grid grid-cols-7 gap-0.5",children:C.map((a,r)=>{let s=(0,o.sameDay)(N,a.date),i=!!e&&(0,o.sameDay)(e,a.date),l=!!g&&a.date<d(g);return(0,t.jsx)("button",{type:"button",disabled:l,onClick:()=>D(a.date),"aria-pressed":i,className:(0,n.cn)("flex h-7 w-full items-center justify-center rounded text-[11px] tabular-nums transition-colors outline-none","focus-visible:ring-2 focus-visible:ring-ring/60",!a.inMonth&&"text-muted-foreground/50",a.inMonth&&!i&&"hover:bg-accent",s&&!i&&"text-foreground font-medium ring-1 ring-inset ring-border",i&&"bg-foreground text-background font-medium",l&&"opacity-30 cursor-not-allowed hover:bg-transparent"),children:a.date.getDate()},r)})}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 pt-2 mt-1 border-t border-border/50",children:[x&&e?(0,t.jsx)("button",{type:"button",onClick:()=>{x(),b(!1)},className:"text-[11px] text-muted-foreground hover:text-foreground transition-colors",children:"Clear"}):(0,t.jsx)("span",{"aria-hidden":!0}),(0,t.jsx)("button",{type:"button",onClick:()=>D(new Date),className:"text-[11px] text-muted-foreground hover:text-foreground transition-colors",children:"Today"})]})]})]})}function d(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}},539163,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(313101),n=e.i(224950),s=e.i(613349);function i(e){return String(e).padStart(2,"0")}function l(e){let t=/^(\d{2}):(\d{2})$/.exec(e);return t?`${t[1]}:${t[2]}`:e}e.s(["CalendarTimePicker",0,function({value:e,onChange:o,className:c,ariaLabel:d="Pick a time",step:u=30,iconOnly:h=!1}){let[g,f]=(0,a.useState)(!1),m=(0,a.useRef)(null),p=function(e){let t=[];for(let a=0;a<1440;a+=e)t.push(`${i(Math.floor(a/60))}:${i(a%60)}`);return t}(u);return(0,a.useEffect)(()=>{if(!g)return;let e=setTimeout(()=>{let e=m.current?.querySelector('[data-selected="true"]');e?.scrollIntoView({block:"center"})},0);return()=>clearTimeout(e)},[g]),(0,t.jsxs)(n.Popover,{open:g,onOpenChange:f,children:[(0,t.jsxs)(n.PopoverTrigger,{"aria-label":d,className:(0,s.cn)(h?"inline-flex size-8 shrink-0 items-center justify-center rounded-lg border border-input bg-transparent text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50":"flex h-7 items-center gap-1.5 rounded-md border border-input bg-transparent px-2 text-xs text-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50",c),children:[(0,t.jsx)(r.Clock,{className:h?"size-3.5":"size-3.5 opacity-70"}),!h&&(0,t.jsx)("span",{className:"tabular-nums",children:l(e)})]}),(0,t.jsx)(n.PopoverContent,{align:"start",className:"w-36 p-1",children:(0,t.jsx)("div",{ref:m,className:"flex max-h-60 flex-col overflow-y-auto scrollbar-none",role:"listbox",children:p.map(a=>{let r=a===e;return(0,t.jsx)("button",{type:"button",role:"option","aria-selected":r,"data-selected":r,onClick:()=>{o(a),f(!1)},className:(0,s.cn)("flex h-7 shrink-0 items-center rounded px-2 text-[11px] tabular-nums transition-colors outline-none","focus-visible:bg-accent",r?"bg-foreground text-background font-medium":"text-foreground hover:bg-accent"),children:l(a)},a)})})})]})}])},779338,e=>{"use strict";let t=/^(\d+)(min|hour|day|week|month)$/;function a(e){let a=t.exec(e);if(!a)return null;let r=parseInt(a[1],10);return r<1?null:{count:r,unit:a[2]}}let r={min:["minute","minutes"],hour:["hour","hours"],day:["day","days"],week:["week","weeks"],month:["month","months"]},n=new Set(["min","hour","day","week","month"]);e.s(["PRESET_INTERVALS",0,[{value:"1hour",label:"Every hour"},{value:"1day",label:"Every day"},{value:"1week",label:"Every week"},{value:"1month",label:"Every month"}],"REPEAT_UNITS",0,["min","hour","day","week","month"],"formatRepeatDisplay",0,function(e){let t=a(e);if(!t)return e;let{count:n,unit:s}=t;return 1===n?`Every ${r[s][0]}`:`Every ${n} ${r[s][1]}`},"formatRepeatInterval",0,function(e,t){return`${e}${t}`},"isValidUnit",0,function(e){return n.has(e)},"parseRepeatInterval",0,a,"unitLabel",0,function(e,t){return 1===t?r[e][0]:r[e][1]}])},781360,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(880932),n=e.i(222862),s=e.i(332680),i=e.i(779646),l=e.i(186339),o=e.i(740513),c=e.i(265481),d=e.i(986765),u=e.i(371522),h=e.i(835258),g=e.i(430744),f=e.i(937091),m=e.i(613349),p=e.i(99475),x=e.i(539163),v=e.i(779338);function b(e){return String(e).padStart(2,"0")}function y(e,t){let a=/^(\d{2}):(\d{2})$/.exec(t),r=a?Number(a[1]):e.getHours(),n=a?Number(a[2]):e.getMinutes(),s=new Date(e);return s.setHours(r,n,0,0),s}function k(e){return`${e.getFullYear()}-${b(e.getMonth()+1)}-${b(e.getDate())}`}function w(e){return`${b(e.getHours())}:${b(e.getMinutes())}`}function j(e){return e?.trim()||""}let _="h-7 border-0 bg-transparent px-1.5 text-sm text-foreground hover:bg-accent transition-colors -ml-1.5",C=(0,m.cn)(_,"rounded-md outline-none focus-visible:bg-accent focus-visible:ring-0 appearance-none pr-6");function N({icon:e,children:a}){return(0,t.jsxs)("div",{className:"group flex items-center gap-2",children:[(0,t.jsx)("span",{className:"inline-flex size-6 shrink-0 items-center justify-center text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-1",children:a})]})}function D({open:e,onOpenChange:r,onConfirm:n,loading:s,title:o,description:c,confirmLabel:d,loadingLabel:u,confirmVariant:h="default"}){let[g,f]=(0,a.useState)("this");return(0,a.useEffect)(()=>{e&&f("this")},[e]),(0,t.jsx)(i.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(i.DialogContent,{showCloseButton:!1,children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)(i.DialogTitle,{children:o}),(0,t.jsx)(i.DialogDescription,{children:c})]}),(0,t.jsx)("div",{className:"flex flex-col gap-1.5 py-1",children:[{value:"this",label:"This event only"},{value:"following",label:"This and following events"}].map(e=>{let a=g===e.value;return(0,t.jsxs)("button",{type:"button",onClick:()=>f(e.value),className:(0,m.cn)("flex items-center gap-2 rounded-md border px-3 py-2 text-left text-sm transition-colors",a?"border-ring bg-accent/40":"border-border/60 hover:bg-accent/30"),children:[(0,t.jsx)("span",{className:(0,m.cn)("inline-flex size-4 items-center justify-center rounded-full border",a?"border-foreground":"border-border"),"aria-hidden":!0,children:a&&(0,t.jsx)("span",{className:"size-2 rounded-full bg-foreground"})}),(0,t.jsx)("span",{children:e.label})]},e.value)})}),(0,t.jsxs)(i.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",size:"sm",onClick:()=>r(!1),disabled:s,children:"Cancel"}),(0,t.jsx)(l.Button,{size:"sm",variant:h,onClick:()=>n(g),disabled:s,children:s?u:d})]})]})})}e.s(["CalendarEventSheet",0,function({open:e,onOpenChange:i,agents:S=[],event:M,calendarEventId:E,workspaceId:I,readonly:T,defaultDate:A,defaultAgentId:P,submitting:R,saving:$,deleting:B,onCreate:L,onUpdate:z,onDelete:F}){let[O,q]=(0,a.useState)(null),[H,W]=(0,a.useState)(!1),U=(0,a.useRef)(i);(0,a.useEffect)(()=>{U.current=i}),(0,a.useEffect)(()=>{if(!e||!E||M)return;let t=!1;return W(!0),q(null),(0,n.getCalendarEvent)(E,I??"").then(e=>{t||q(e)}).catch(()=>{t||(r.toast.error("Calendar event not found"),U.current(!1))}).finally(()=>{t||W(!1)}),()=>{t=!0}},[e,E,I,M]);let V=M??O,Y=e=>{i(e),e||setTimeout(()=>q(null),300)},[K,X]=(0,a.useState)(500),J=(0,a.useRef)(!1),G=(0,a.useCallback)(e=>{e.preventDefault(),J.current=!0,e.target.setPointerCapture(e.pointerId)},[]),Q=(0,a.useCallback)(e=>{J.current&&X(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-e.clientX)))},[]),Z=(0,a.useCallback)(()=>{J.current=!1},[]),ee=V?"edit":"create",[et,ea]=(0,a.useState)(""),[er,en]=(0,a.useState)(""),[es,ei]=(0,a.useState)(""),[el,eo]=(0,a.useState)(new Date),[ec,ed]=(0,a.useState)("09:00"),[eu,eh]=(0,a.useState)(!1),[eg,ef]=(0,a.useState)("1"),[em,ep]=(0,a.useState)("day"),ex=(0,a.useMemo)(()=>{if(!eu)return"";let e=parseInt(eg,10);return!e||e<1?"":(0,v.formatRepeatInterval)(e,em)},[eu,eg,em]),[ev,eb]=(0,a.useState)(null),[ey,ek]=(0,a.useState)(!1),[ew,ej]=(0,a.useState)(!1),e_=(0,a.useRef)(null),eC=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(e)if(V){let e=new Date(V.scheduled_at);ea(V.agent_id),en(V.title),ei(V.description??""),eo(e),ed(w(e));let t=(0,v.parseRepeatInterval)(V.repeat_interval??"");t?(eh(!0),ef(String(t.count)),ep(t.unit)):(eh(!1),ef("1"),ep("day")),eb(V.repeat_stop_at?new Date(V.repeat_stop_at):null)}else ea(P||S[0]?.id||""),en(""),ei(""),eo(A??new Date),ed(function(e,t=30){let a=Math.ceil((60*e.getHours()+e.getMinutes()+1)/t)*t,r=Math.floor(a/60)%24;return`${b(r)}:${b(a%60)}`}(new Date)),eh(!1),ef("1"),ep("day"),eb(null)},[e,V?.id]);let eN=(0,a.useMemo)(()=>{if(!V)return!0;let e=new Date(V.scheduled_at);return er.trim()!==V.title||j(es)!==j(V.description)||et!==V.agent_id||el.getFullYear()!==e.getFullYear()||el.getMonth()!==e.getMonth()||el.getDate()!==e.getDate()||ec!==w(e)||ex!==(V.repeat_interval??"")||(ev?k(ev):null)!==(V.repeat_stop_at?k(new Date(V.repeat_stop_at)):null)},[et,er,es,el,ec,ex,ev,V]);function eD(){if(!et)return"Select an agent";if(!er.trim())return"Title is required";if(!/^([01]\d|2[0-3]):[0-5]\d$/.test(ec))return"Time must be HH:MM in 24-hour format";if(eu){let e=parseInt(eg,10);if(!e||e<1)return"Repeat count must be a positive number"}if(ev&&!ex)return"Stop date requires a repeat interval";let e=y(el,ec);if(ev){let t=new Date(ev);if(t.setHours(23,59,59,999),t<e)return"Stop date must be on or after the first occurrence"}return null}let eS=async e=>{e.preventDefault();let t=eD();if(t)return r.toast.error(t);let a=y(el,ec),n=es?.trim()||void 0;await L?.({agent_id:et,title:er.trim(),description:n,scheduled_at:a.toISOString(),repeat_interval:ex||void 0,repeat_stop_date:ev?k(ev):void 0})};function eM(){if(!V)return null;let e={},t=y(el,ec).toISOString(),a=er.trim();a!==V.title&&(e.title=a);let r=j(es);r!==j(V.description)&&(e.description=""===r?null:r),et!==V.agent_id&&(e.agent_id=et),t!==new Date(V.scheduled_at).toISOString()&&(e.scheduled_at=t),ex!==(V.repeat_interval??"")&&(e.repeat_interval=""===ex?null:ex);let n=ev?k(ev):null;return(n!==(V.repeat_stop_at?k(new Date(V.repeat_stop_at)):null)&&(e.repeat_stop_date=n),void 0===e.title&&void 0===e.description&&void 0===e.agent_id&&void 0===e.scheduled_at&&void 0===e.repeat_interval&&void 0===e.repeat_stop_date)?null:e}let eE=async e=>{V&&await z?.(V,e)},eI=async()=>{if(!V)return;let e=eD();if(e)return r.toast.error(e);let t=eM();if(t){if(V.repeat_interval)return void ek(!0);await eE(t)}},eT=async e=>{let t=eM();t&&(t.scope=e,"this"===e&&V?.occurrence_at&&(t.occurrence_at=V.occurrence_at),await eE(t)),ek(!1)},eA=e=>{"Enter"===e.key&&e.shiftKey&&(e.preventDefault(),e.stopPropagation(),"create"===ee?eC.current?.requestSubmit():eI())},eP=(0,t.jsxs)("kbd",{"aria-hidden":!0,className:"mr-1 hidden sm:inline-flex items-center gap-0.5 font-sans font-medium leading-none opacity-60",children:[(0,t.jsx)("span",{children:"⇧"}),(0,t.jsx)("span",{children:"+"}),(0,t.jsx)("span",{children:"⏎"})]}),eR="edit"===ee?er.trim()||"Untitled event":er.trim()||"New calendar event",e$=(0,a.useRef)(null),eB=e=>{e&&(e.style.height="auto",e.style.height=`${e.scrollHeight}px`)};(0,a.useEffect)(()=>{eB(e$.current)},[er]);let eL=T?(0,t.jsx)("p",{className:"w-full px-0 py-1 font-news text-xl sm:text-2xl md:text-3xl font-medium leading-[1.2] tracking-tight",children:er||"Untitled event"}):(0,t.jsx)("textarea",{ref:e=>{e$.current=e,eB(e)},"aria-label":"Event title",value:er,onChange:e=>{en(e.target.value),eB(e.target)},onKeyDown:e=>{if("Enter"===e.key&&!e.shiftKey){let t;e.preventDefault(),t=e_.current?.querySelector('[contenteditable="true"]'),t?.focus()}},placeholder:"edit"===ee?"Untitled event":"New event",autoFocus:"create"===ee,rows:1,className:(0,m.cn)("w-full resize-none overflow-hidden rounded-none border-0 bg-transparent px-0 py-1 font-news text-xl sm:text-2xl md:text-3xl font-medium leading-[1.2] tracking-tight","shadow-none outline-none focus-visible:border-0 focus-visible:ring-0 focus-visible:ring-offset-0","placeholder:text-muted-foreground/40 placeholder:font-normal")}),ez=T?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(N,{icon:(0,t.jsx)(c.CalendarDays,{className:"size-3.5"}),children:(0,t.jsx)("span",{className:"text-sm text-foreground",children:el.toLocaleDateString(void 0,{weekday:"short",year:"numeric",month:"short",day:"numeric"})})}),(0,t.jsx)(N,{icon:(0,t.jsx)(c.CalendarDays,{className:"size-3.5"}),children:(0,t.jsx)("span",{className:"text-sm text-foreground",children:ec})}),(0,t.jsx)(N,{icon:(0,t.jsx)(h.Repeat,{className:"size-3.5"}),children:(0,t.jsx)("span",{className:"text-sm text-foreground",children:eu?`Every ${eg} ${(0,v.unitLabel)(em,parseInt(eg,10)||1)}`:"Does not repeat"})}),eu&&ev&&(0,t.jsx)(N,{icon:(0,t.jsx)(d.CalendarOff,{className:"size-3.5"}),children:(0,t.jsxs)("span",{className:"text-sm text-foreground",children:["Until ",ev.toLocaleDateString()]})})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(N,{icon:(0,t.jsx)(g.User,{className:"size-3.5"}),children:(0,t.jsxs)("select",{"aria-label":"Agent",value:et,onChange:e=>ea(e.target.value),className:C,children:[0===S.length&&(0,t.jsx)("option",{value:"",children:"No agents"}),S.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]})}),(0,t.jsx)(N,{icon:(0,t.jsx)(c.CalendarDays,{className:"size-3.5"}),children:(0,t.jsx)(p.CalendarDatePicker,{value:el,onChange:e=>eo(e),ariaLabel:"Event date",hideIcon:!0,className:_})}),(0,t.jsx)(N,{icon:(0,t.jsx)(x.CalendarTimePicker,{value:ec,onChange:ed,iconOnly:!0,ariaLabel:"Pick time slot",className:"inline-flex size-6 items-center justify-center rounded-md border-0 bg-transparent p-0 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground group-hover:bg-accent group-hover:text-foreground"}),children:(0,t.jsx)("input",{type:"text",inputMode:"numeric",pattern:"([01]\\d|2[0-3]):[0-5]\\d",maxLength:5,value:ec,onChange:e=>ed(e.target.value),placeholder:"HH:MM","aria-label":"Event time (24-hour)",className:"h-7 w-12 border-0 bg-transparent px-0.5 text-sm tabular-nums text-foreground rounded-md outline-none focus-visible:ring-0"})}),(0,t.jsx)(N,{icon:(0,t.jsx)(h.Repeat,{className:"size-3.5"}),children:eu?(0,t.jsxs)("div",{className:"-ml-1.5 flex items-center gap-0.5",children:[(0,t.jsx)("span",{className:"px-1 text-sm text-foreground",children:"Every"}),(0,t.jsx)("input",{type:"text",inputMode:"numeric","aria-label":"Repeat count",value:eg,onChange:e=>{ef(e.target.value.replace(/[^\d]/g,""))},onBlur:()=>{let e=parseInt(eg,10);(!e||e<1)&&ef("1")},maxLength:4,style:{width:`${Math.max(1,eg.length)+1.5}ch`},className:"h-7 shrink-0 border-0 bg-transparent px-0 text-center text-sm tabular-nums text-foreground rounded-md outline-none hover:bg-accent focus-visible:bg-accent focus-visible:ring-0 transition-colors"}),(0,t.jsx)("select",{"aria-label":"Repeat unit",value:em,onChange:e=>{(0,v.isValidUnit)(e.target.value)&&ep(e.target.value)},className:"h-7 border-0 bg-transparent px-1 text-center text-sm text-foreground rounded-md outline-none appearance-none hover:bg-accent focus-visible:bg-accent focus-visible:ring-0 transition-colors",children:v.REPEAT_UNITS.map(e=>(0,t.jsx)("option",{value:e,children:(0,v.unitLabel)(e,parseInt(eg,10)||1)},e))}),(0,t.jsx)("button",{type:"button","aria-label":"Remove repeat",onClick:()=>{eh(!1),ef("1"),ep("day"),eb(null)},className:"inline-flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,t.jsx)(f.X,{className:"size-3"})})]}):(0,t.jsxs)("select",{"aria-label":"Repeat",value:"",onChange:e=>{let t=e.target.value;if(t)if("__custom__"===t)eh(!0),ef("1"),ep("day");else{let e=(0,v.parseRepeatInterval)(t);e&&(eh(!0),ef(String(e.count)),ep(e.unit))}},className:C,children:[(0,t.jsx)("option",{value:"",children:"Does not repeat"}),v.PRESET_INTERVALS.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value)),(0,t.jsx)("option",{value:"__custom__",children:"Custom…"})]})}),ex&&(0,t.jsx)(N,{icon:(0,t.jsx)(d.CalendarOff,{className:"size-3.5"}),children:(0,t.jsx)(p.CalendarDatePicker,{value:ev,onChange:e=>eb(e),onClear:()=>eb(null),placeholder:"No end date",min:el,ariaLabel:"Stop date",hideIcon:!0,className:_})})]}),eF=T?es?(0,t.jsx)("pre",{className:"whitespace-pre-wrap font-sans text-sm",children:es}):null:(0,t.jsx)("div",{ref:e_,children:(0,t.jsx)(o.MarkdownEditor,{contentType:"markdown",value:es,onChange:ei,placeholder:"Add a description…",className:"markdown",minHeight:"edit"===ee?"10rem":"8rem",variant:"seamless",agents:S},V?.id??"new")}),eO=(0,t.jsx)("div",{onPointerDown:G,onPointerMove:Q,onPointerUp:Z,className:"hidden sm:block absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 hover:bg-primary/20 active:bg-primary/30 transition-colors rounded-l-xl"}),eq=H?(0,t.jsx)(s.SheetBody,{className:"flex items-center justify-center py-12",children:(0,t.jsx)(u.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):(0,t.jsxs)(s.SheetBody,{className:"flex flex-col gap-6 px-4 pt-6 pb-4 sm:px-8 sm:pt-10 sm:pb-6",children:[eL,ez,eF]});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.Sheet,{open:e,onOpenChange:Y,children:(0,t.jsxs)(s.SheetContent,{style:{width:`min(${K}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[eO,(0,t.jsx)(s.SheetTitle,{className:"sr-only",children:eR}),T?(0,t.jsx)("div",{className:"flex flex-1 flex-col min-h-0",children:eq}):"create"===ee?(0,t.jsxs)("form",{ref:eC,onSubmit:eS,onKeyDownCapture:eA,className:"flex flex-1 flex-col min-h-0",children:[eq,(0,t.jsxs)(s.SheetFooter,{children:[(0,t.jsx)(l.Button,{type:"button",variant:"outline",onClick:()=>Y(!1),children:"Cancel"}),(0,t.jsx)(l.Button,{type:"submit",disabled:R||!S.length,children:R?"Creating...":(0,t.jsxs)(t.Fragment,{children:[eP,"Create event"]})})]})]}):(0,t.jsxs)("div",{onKeyDownCapture:eA,className:"flex flex-1 flex-col min-h-0",children:[eq,(0,t.jsxs)(s.SheetFooter,{className:"sm:justify-between",children:[(0,t.jsx)(l.Button,{variant:"destructive",onClick:()=>{if(V){if(V.repeat_interval)return void ej(!0);F?.(V)}},disabled:B||$,children:B?"Deleting...":"Delete"}),(0,t.jsxs)("div",{className:"flex items-center gap-2 sm:justify-end",children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>Y(!1),disabled:$,children:"Cancel"}),(0,t.jsx)(l.Button,{onClick:eI,disabled:$||!eN,children:$?"Saving...":(0,t.jsxs)(t.Fragment,{children:[eP,"Save"]})})]})]})]})]})}),(0,t.jsx)(D,{open:ey,onOpenChange:ek,onConfirm:eT,loading:$,title:"Update recurring event",description:"How should this change apply?",confirmLabel:"Update",loadingLabel:"Saving..."}),(0,t.jsx)(D,{open:ew,onOpenChange:ej,onConfirm:e=>{V&&(F?.(V,{scope:e,occurrence_at:V.occurrence_at??void 0}),ej(!1))},loading:B,title:"Delete recurring event",description:"How much of the series should be removed?",confirmLabel:"Delete",loadingLabel:"Deleting...",confirmVariant:"destructive"})]})}])},937091,e=>{"use strict";var t=e.i(852665);e.s(["X",()=>t.default])},642342,e=>{"use strict";var t=e.i(459119),a=e.i(298699);let r=(0,e.i(613349).isLocalMode)(),n=Number(t.default.env.NEXT_PUBLIC_WS_DO_PORT)||8789,s=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,i=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;e.s(["useUserWs",0,function(e,t){let l=(0,a.useRef)(null),o=(0,a.useRef)(s),c=(0,a.useRef)(e),d=(0,a.useRef)(t?.onReconnect),u=(0,a.useRef)(null),h=(0,a.useRef)(!1),g=(0,a.useRef)(0),f=(0,a.useRef)(null),m=(0,a.useRef)(null);(0,a.useEffect)(()=>{c.current=e},[e]),(0,a.useEffect)(()=>{d.current=t?.onReconnect},[t?.onReconnect]);let p=(0,a.useRef)(null),x=(0,a.useCallback)(()=>{let e=Math.min(o.current,i);o.current=Math.min(2*e,i),u.current=setTimeout(()=>{p.current?.()},e+500*Math.random())},[]),v=(0,a.useCallback)(async()=>{let e,t,a,i=n;try{let a=await fetch("/api/ws/token");if(!a.ok){console.warn("[ws] token fetch failed:",a.status),x();return}let r=await a.json();e=r.userId,t=r.token,r.wsPort&&(i=r.wsPort)}catch(e){console.warn("[ws] token fetch error:",e),x();return}let u=r?`ws://localhost:${i}/?userId=${e}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${e}`;try{a=new WebSocket(u)}catch(e){console.warn("[ws] WebSocket creation failed:",e),x();return}l.current=a,a.onopen=()=>{o.current=s,a.send(JSON.stringify({type:"auth",token:t})),h.current&&d.current?.(),h.current=!0,g.current=Date.now(),f.current=setInterval(()=>{a.readyState===WebSocket.OPEN&&a.send("ping")},25e3),m.current=setInterval(()=>{Date.now()-g.current>3e4&&a.close()},5e3)},a.onmessage=e=>{g.current=Date.now();try{let t=JSON.parse(e.data);if("auth.ok"===t.type)return;c.current(t)}catch{}},a.onerror=()=>{},a.onclose=()=>{a===l.current&&(f.current&&(clearInterval(f.current),f.current=null),m.current&&(clearInterval(m.current),m.current=null),x())}},[x]);(0,a.useEffect)(()=>{p.current=v},[v]),(0,a.useEffect)(()=>(v(),()=>{null!==u.current&&(clearTimeout(u.current),u.current=null),f.current&&(clearInterval(f.current),f.current=null),m.current&&(clearInterval(m.current),m.current=null);let e=l.current;l.current=null,e?.close()}),[v])}])},355578,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(222862),n=e.i(880932),s=e.i(642342);let i=(0,a.createContext)(null);e.s(["AgentProvider",0,function({workspaceId:e,children:l}){let[o,c]=(0,a.useState)([]),[d,u]=(0,a.useState)([]),[h,g]=(0,a.useState)(!0),[f,m]=(0,a.useState)({}),[p,x]=(0,a.useState)([]),v=(0,a.useRef)(!1),[b,y]=(0,a.useState)([]),[k,w]=(0,a.useState)(new Map),[j,_]=(0,a.useState)(new Map),C=(0,a.useRef)(!1),N=(0,a.useRef)(new Set),D=(0,a.useRef)(!0),S=(0,a.useRef)(!1),M=(0,a.useCallback)(e=>(N.current.add(e),()=>{N.current.delete(e)}),[]),E=(0,a.useRef)(!1),I=(0,a.useCallback)(async()=>{if(!E.current){E.current=!0;try{if(v.current){let t=await (0,r.listWorkspaceActiveTasks)(e);if(!D.current)return;x(t.tasks);let a={};for(let e of t.tasks)a[e.agent_id]=(a[e.agent_id]??0)+1;m(a),v.current=t.tasks.length>0}else{let t=await (0,r.listAgentActiveTaskCounts)(e);if(!D.current)return;if(m(t.counts),Object.values(t.counts).some(e=>e>0)){v.current=!0;let t=await (0,r.listWorkspaceActiveTasks)(e);D.current&&x(t.tasks)}else x([])}}catch{}finally{E.current=!1}}},[e]);(0,a.useEffect)(()=>{D.current=!0,I();let e=setInterval(I,15e3);return()=>{D.current=!1,clearInterval(e)}},[I]);let T=(0,a.useCallback)(async()=>{try{let[t,a,n,s]=await Promise.all([(0,r.listAgents)(e),(0,r.listRuntimes)(e),(0,r.listAgentPins)(e),(0,r.listAgentLinks)(e)]);c(t),u(a),y(s),w(new Map(n.pins.map(e=>[e.agent_id,{created_at:e.created_at,position:e.position}]))),_(new Map(n.sidebar_order.map(e=>[e.agent_id,e.position])))}catch(e){n.toast.error(e instanceof Error?e.message:"Failed to load data")}finally{g(!1),C.current=!0}},[e]),A=(0,a.useCallback)(async()=>{if(!S.current){S.current=!0;try{let t=await (0,r.listRuntimes)(e);u(t)}catch{}finally{S.current=!1}}},[e]);(0,a.useEffect)(()=>{T()},[T]),(0,a.useEffect)(()=>{let e=null,t=setInterval(()=>{"visible"===document.visibilityState&&A()},3e4),a=()=>{"visible"===document.visibilityState&&(e=setTimeout(()=>A(),2e3*Math.random()))};return document.addEventListener("visibilitychange",a),()=>{clearInterval(t),e&&clearTimeout(e),document.removeEventListener("visibilitychange",a)}},[A]);let P=(0,a.useCallback)(t=>{for(let e of N.current)e(t);switch(t.type){case"runtime.registered":if(t.workspaceId!==e)break;T();break;case"runtime.deleted":T();break;case"runtime.status":if(t.workspaceId!==e)break;A();break;case"task.updated":I()}},[T,A,I,e]);(0,s.useUserWs)(P,{onReconnect:A});let R=(0,a.useCallback)(async t=>{try{let a=await (0,r.createAgent)(t,e);return await T(),a}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to create agent"),null}},[T,e]),$=(0,a.useCallback)(async(t,a)=>{try{return await (0,r.updateAgent)(t,a,e),await T(),!0}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to update agent"),!1}},[T,e]),B=(0,a.useCallback)(async t=>{try{return await (0,r.deleteAgent)(t,e),await T(),!0}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to remove agent"),!1}},[T,e]),L=(0,a.useCallback)(async t=>{w(e=>{let a=Math.max(-1,...[...e.values()].map(e=>e.position));return new Map(e).set(t,{created_at:new Date().toISOString(),position:a+1})});try{await (0,r.pinAgent)(e,t)}catch{w(e=>{let a=new Map(e);return a.delete(t),a}),n.toast.error("Failed to pin agent")}},[e]),z=(0,a.useCallback)(async t=>{let a;w(e=>{a=e.get(t);let r=new Map(e);return r.delete(t),r});try{await (0,r.unpinAgent)(e,t)}catch{void 0!==a&&w(e=>new Map(e).set(t,a)),n.toast.error("Failed to unpin agent")}},[e]),F=(0,a.useCallback)(async t=>{let a=new Map(k);w(e=>{let a=new Map(e);return t.forEach((e,t)=>{let r=a.get(e);r&&a.set(e,{...r,position:t})}),a});try{await (0,r.reorderAgentPins)(e,t)}catch{w(a),n.toast.error("Failed to reorder pins")}},[e,k]),O=(0,a.useCallback)(async t=>{let a=new Map(j);_(new Map(t.map((e,t)=>[e,t])));try{await (0,r.reorderUnpinnedAgents)(e,t)}catch{_(a),n.toast.error("Failed to reorder agents")}},[e,j]),q=(0,a.useCallback)(()=>{let e=d.find(e=>"online"===e.status);return e?.id??""},[d]),H=(0,a.useCallback)(async()=>{try{return(await (0,r.createMachineToken)("cli",e)).token}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to generate token"),null}},[e]),W=(0,a.useCallback)(async t=>{try{return await (0,r.deleteMachine)(t,e),await T(),!0}catch(e){return n.toast.error(e instanceof Error?e.message:"Failed to remove machine"),!1}},[T,e]);return(0,t.jsx)(i.Provider,{value:{workspaceId:e,agents:o,agentLinks:b,runtimes:d,loading:h,activeTaskCounts:f,activeTaskDetails:p,pins:k,reload:T,subscribeWs:M,handleCreateAgent:R,handleUpdateAgent:$,handleDeleteAgent:B,handlePinAgent:L,handleUnpinAgent:z,handleReorderPins:F,unpinnedOrder:j,handleReorderUnpinned:O,getFirstOnlineRuntimeId:q,handleGenerateToken:H,handleDeleteMachine:W},children:l})},"useAgentContext",0,function(){let e=(0,a.useContext)(i);if(!e)throw Error("useAgentContext must be used within AgentProvider");return e},"useAgentContextSafe",0,function(){return(0,a.useContext)(i)}])},332680,e=>{"use strict";var t=e.i(368075),a=e.i(55916),r=e.i(613349),n=e.i(186339),s=e.i(49695);function i({...e}){return(0,t.jsx)(a.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function l({className:e,...n}){return(0,t.jsx)(a.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:(0,r.cn)("fixed inset-0 z-50 bg-black/20 backdrop-blur-[2px] transition-[opacity,backdrop-filter] duration-200 ease-out data-ending-style:opacity-0 data-ending-style:backdrop-blur-none data-starting-style:opacity-0 data-starting-style:backdrop-blur-none",e),...n})}e.s(["Sheet",0,function({...e}){return(0,t.jsx)(a.Dialog.Root,{"data-slot":"sheet",...e})},"SheetBody",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-body",className:(0,r.cn)("flex-1 overflow-y-auto thin-scrollbar px-4 sm:px-6 py-5",e),...a})},"SheetClose",0,function({...e}){return(0,t.jsx)(a.Dialog.Close,{"data-slot":"sheet-close",...e})},"SheetContent",0,function({className:e,children:o,side:c="right",showCloseButton:d=!0,...u}){return(0,t.jsxs)(i,{children:[(0,t.jsx)(l,{forceRender:!0}),(0,t.jsxs)(a.Dialog.Popup,{"data-slot":"sheet-content","data-side":c,className:(0,r.cn)("fixed z-50 flex flex-col bg-background shadow-xl outline-none transition duration-300 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0","data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-full data-[side=right]:max-w-md data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-10 data-[side=right]:data-starting-style:translate-x-10","data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-full data-[side=left]:max-w-md data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-10 data-[side=left]:data-starting-style:-translate-x-10","data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-10 data-[side=top]:data-starting-style:-translate-y-10","data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-10 data-[side=bottom]:data-starting-style:translate-y-10",e),...u,children:[o,d&&(0,t.jsxs)(a.Dialog.Close,{"data-slot":"sheet-close",render:(0,t.jsx)(n.Button,{variant:"ghost",className:"absolute top-3 right-3 z-10",size:"icon-sm"}),children:[(0,t.jsx)(s.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"SheetDescription",0,function({className:e,...n}){return(0,t.jsx)(a.Dialog.Description,{"data-slot":"sheet-description",className:(0,r.cn)("text-sm text-muted-foreground",e),...n})},"SheetFooter",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-footer",className:(0,r.cn)("flex flex-col-reverse gap-2 border-t bg-muted/50 px-4 sm:px-6 py-4 sm:flex-row sm:justify-end",e),...a})},"SheetHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,r.cn)("flex flex-col gap-1 border-b px-4 sm:px-6 py-5",e),...a})},"SheetTitle",0,function({className:e,...n}){return(0,t.jsx)(a.Dialog.Title,{"data-slot":"sheet-title",className:(0,r.cn)("font-heading text-lg leading-tight font-semibold",e),...n})},"SheetTrigger",0,function({...e}){return(0,t.jsx)(a.Dialog.Trigger,{"data-slot":"sheet-trigger",...e})}])},64873,907361,e=>{"use strict";let t=(0,e.i(406963).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",0,t],907361),e.s(["ChevronRight",0,t],64873)},927783,e=>{"use strict";let t=(0,e.i(406963).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"}]]);e.s(["GitBranch",0,t],927783)},872937,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(222862),n=e.i(880932);let s=(0,a.createContext)(null);function i(e,t){return t?`alook:channel:${e}:${t}`:`alook:channel:${e}`}e.s(["ChannelProvider",0,function({workspaceId:e,children:l}){let[o,c]=(0,a.useState)([]),[d,u]=(0,a.useState)("default"),[h,g]=(0,a.useState)(!0),[f,m]=(0,a.useState)(null),p=(0,a.useCallback)(async()=>{try{let t=await (0,r.listChannels)(e);c(t)}catch{c([])}},[e]);(0,a.useEffect)(()=>{p().finally(()=>g(!1))},[e,p]),(0,a.useEffect)(()=>{f&&u(localStorage.getItem(i(e,f))??"default")},[e,f]);let x=(0,a.useCallback)(t=>{u(t);try{localStorage.setItem(i(e,f),t)}catch{}},[e,f]),v=(0,a.useCallback)(async t=>{let a=await (0,r.createChannelApi)(e,t);return await p(),a},[e,p]),b=(0,a.useCallback)(async(t,a)=>{let n=o.find(e=>e.id===t);await (0,r.renameChannelApi)(t,e,a),n&&n.name===d&&x(a),await p()},[e,o,d,x,p]),y=(0,a.useCallback)(async t=>{let a=o.find(e=>e.id===t);await (0,r.deleteChannelApi)(t,e),a&&a.name===d&&x("default"),await p()},[e,o,d,x,p]),k=(0,a.useCallback)(async t=>{c(e=>{let a=new Map(e.map(e=>[e.id,e])),r=t.map(e=>a.get(e)).filter(e=>void 0!==e),n=new Set(t);return[...e.filter(e=>!n.has(e.id)),...r]});try{await (0,r.reorderChannelsApi)(e,t)}catch{await p(),n.toast.error("Failed to reorder channels")}},[e,p]);return(0,t.jsx)(s.Provider,{value:{channels:o,activeChannel:d,loading:h,setActiveChannel:x,setAgentId:m,createChannel:v,renameChannel:b,deleteChannel:y,reorderChannels:k,refresh:p},children:l})},"useChannel",0,function(){let e=(0,a.useContext)(s);if(!e)throw Error("useChannel must be used within a ChannelProvider");return e}])},309475,450463,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(789994),n=e.i(875061),s=e.i(224950),i=e.i(329686),l=e.i(728886),o=e.i(613349),c=e.i(222862),d=e.i(500324);function u(e){let t=new Date(e);if(isNaN(t.getTime()))return"";let a=Math.floor((new Date().getTime()-t.getTime())/6e4);if(a<1)return"just now";if(a<60)return`${a}m ago`;let r=Math.floor(a/60);if(r<24)return`${r}h ago`;let n=Math.floor(r/24);return n<7?`${n}d ago`:t.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function h({online:e}){return(0,t.jsx)("span",{className:(0,o.cn)("size-1.5 rounded-full shrink-0",e?"bg-status-online":"bg-status-offline")})}function g({task:e,slug:a,agentId:n}){var s;let i,l="running"===e.status;return(0,t.jsxs)(r.default,{href:`/w/${a}/agents/${n}?task=${e.id}&conv=${e.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,t.jsx)("span",{className:(0,o.cn)("size-1.5 rounded-full shrink-0",l?"bg-primary animate-pulse":"bg-muted-foreground/40")}),(0,t.jsx)("div",{className:"flex-1 min-w-0",children:(0,t.jsx)("p",{className:"text-xs truncate",children:(i=(s=e.prompt).match(/^Issue\s+iss_\w+:\s*(.+)/))?i[1].split("\n")[0]:s.split("\n")[0]})}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:u(e.created_at)})]})}e.s(["relativeTime",0,u],450463);let f="gap-1.5 text-muted-foreground hover:text-foreground cursor-pointer";e.s(["AgentStatusBadge",0,function({isOnline:e,taskCount:u,agentId:m}){let{slug:p,workspaceId:x}=(0,d.useWorkspace)(),[v,b]=(0,a.useState)(null),[y,k]=(0,a.useState)(!1),[w,j]=(0,a.useState)(!1),_=(0,a.useCallback)(async()=>{b(null),k(!0),j(!1);try{let e=await (0,c.listWorkspaceActiveTasks)(x);b(e.tasks.filter(e=>e.agent_id===m))}catch{j(!0)}finally{k(!1)}},[m,x]);return e?(0,t.jsxs)(s.Popover,{onOpenChange:e=>{e&&_()},children:[(0,t.jsxs)(s.PopoverTrigger,{render:(0,t.jsx)("button",{type:"button",className:(0,o.cn)((0,n.badgeVariants)({variant:"outline"}),f),onClick:e=>e.stopPropagation()}),children:[(0,t.jsx)(h,{online:!0}),u>0?(0,t.jsx)("span",{className:"hidden sm:inline",children:"Working"}):(0,t.jsx)("span",{className:"hidden sm:inline text-muted-foreground/40",children:"Online"})]}),(0,t.jsx)(s.PopoverContent,{className:"w-72 p-1",children:y?(0,t.jsx)("div",{className:"p-2 space-y-1",children:Array.from({length:3}).map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2",children:[(0,t.jsx)(l.Skeleton,{className:"size-1.5 rounded-full"}),(0,t.jsxs)("div",{className:"flex-1 space-y-1",children:[(0,t.jsx)(l.Skeleton,{className:"h-2.5 w-10"}),(0,t.jsx)(l.Skeleton,{className:"h-3 w-full"})]}),(0,t.jsx)(l.Skeleton,{className:"h-2.5 w-8"})]},a))}):w?(0,t.jsx)("div",{className:"p-3 text-xs text-muted-foreground",children:"Failed to load"}):v&&0!==v.length?(0,t.jsxs)("div",{className:"max-h-75 overflow-y-auto",children:[v.slice(0,6).map(e=>(0,t.jsx)(g,{task:e,slug:p,agentId:m},e.id)),v.length>6&&(0,t.jsxs)(r.default,{href:`/w/${p}/agents/${m}/activity?status=running`,className:"block text-xs text-muted-foreground hover:text-foreground text-center py-1.5 transition-colors",children:["View all ",v.length," tasks"]})]}):(0,t.jsx)("div",{className:"p-3 text-xs text-muted-foreground",children:"No active tasks"})})]}):(0,t.jsxs)(i.Tooltip,{children:[(0,t.jsx)(i.TooltipTrigger,{render:(0,t.jsxs)(n.Badge,{variant:"outline",render:(0,t.jsx)(r.default,{href:`/w/${p}/runtimes`}),className:f,children:[(0,t.jsx)(h,{online:!1}),(0,t.jsx)("span",{className:"hidden sm:inline",children:"Offline"})]})}),(0,t.jsx)(i.TooltipContent,{children:"Runtime offline — click to manage runtimes"})]})}],309475)},980630,e=>{"use strict";let t="browser-notification-enabled",a="browser-notification-events",r=["completed","failed"],n={completed:"Task Completed",failed:"Task Failed"};function s(){return"Notification"in window}function i(){return"true"===localStorage.getItem(t)}function l(){try{let e=localStorage.getItem(a);if(e)return JSON.parse(e)}catch{}return[...r]}async function o(){return!!s()&&("granted"===Notification.permission||"denied"!==Notification.permission&&"granted"===await Notification.requestPermission())}e.s(["NOTIFICATION_EVENTS",0,r,"NOTIFICATION_EVENT_LABELS",0,n,"getNotificationEnabled",0,i,"getNotificationEvents",0,l,"isNotificationSupported",0,s,"requestNotificationPermission",0,o,"sendTaskNotification",0,function(e,t,a){if(!s()||"granted"!==Notification.permission||!i()||!l().includes(e))return;let r=n[e]??`Task ${e}`;new Notification(t?`${t} — ${r}`:r,{body:a??"",icon:"/alook.svg"})},"setNotificationEnabled",0,function(e){localStorage.setItem(t,String(e))},"setNotificationEvents",0,function(e){localStorage.setItem(a,JSON.stringify(e))}])},875494,685835,e=>{"use strict";var t=e.i(368075),a=e.i(298699),r=e.i(222862),n=e.i(355578),s=e.i(500324),i=e.i(980630);let l="inbox-filter-types",o=["user_dm_message","calendar_event","email_notification"],c=["user_dm_message"],d=["user_dm_message"];function u(){try{let e=localStorage.getItem(l);if(!e)return c;let t=JSON.parse(e).filter(e=>o.includes(e));if(0===t.length)return c;for(let e of d)t.includes(e)||t.unshift(e);return t}catch{return c}}e.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,o,"MANDATORY_INBOX_TYPES",0,d,"getInboxFilterTypes",0,u,"setInboxFilterTypes",0,function(e){let t=[...e];for(let e of d)t.includes(e)||t.unshift(e);localStorage.setItem(l,JSON.stringify(t))}],685835);let h=(0,a.createContext)(null),g={count:0,notificationToken:0,refresh:()=>{},decrement:()=>{}};e.s(["InboxCountProvider",0,function({children:e}){let{workspaceId:l}=(0,s.useWorkspace)(),{subscribeWs:o,agents:c}=(0,n.useAgentContext)(),[d,g]=(0,a.useState)(0),[f,m]=(0,a.useState)(0),p=(0,a.useRef)(null),x=(0,a.useRef)(null),v=(0,a.useRef)(c);(0,a.useEffect)(()=>{v.current=c});let b=(0,a.useCallback)(()=>{let e=u();(0,r.getInboxCount)(l,{types:e}).then(e=>{let t=p.current;if(p.current=e.count,g(e.count),null!==t&&e.count>t){m(e=>e+1);let e=x.current?v.current.find(e=>e.id===x.current):void 0;(0,i.sendTaskNotification)("completed",e?.name)}x.current=null}).catch(()=>{})},[l]),y=(0,a.useCallback)(()=>{g(e=>{let t=Math.max(0,e-1);return p.current=t,t})},[]);return(0,a.useEffect)(()=>{b()},[b]),(0,a.useEffect)(()=>o(e=>{"task.updated"===e.type&&("completed"===e.status||"failed"===e.status)&&(x.current=e.agentId,b())}),[o,b]),(0,a.useEffect)(()=>{let e=setInterval(b,6e4);return()=>clearInterval(e)},[b]),(0,t.jsx)(h.Provider,{value:{count:d,notificationToken:f,refresh:b,decrement:y},children:e})},"useInboxCount",0,function(){return(0,a.useContext)(h)??g}],875494)},875061,e=>{"use strict";var t=e.i(390072),a=e.i(863764),r=e.i(294237),n=e.i(613349);let s=(0,r.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:r="default",render:i,...l}){var o;return o={defaultTagName:"span",props:(0,t.mergeProps)({className:(0,n.cn)(s({variant:r}),e)},l),render:i,state:{slot:"badge",variant:r}},(0,a.useRenderElement)(o.defaultTagName??"div",o,o)},"badgeVariants",0,s],875061)},297925,e=>{"use strict";let t=(0,e.i(406963).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t])},371522,e=>{"use strict";let t=(0,e.i(406963).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],371522)},393153,e=>{"use strict";var t=e.i(368075),a=e.i(779646),r=e.i(186339);e.s(["ConfirmDialog",0,function({open:e,onOpenChange:n,title:s,description:i,confirmLabel:l="Remove",loadingLabel:o,confirmVariant:c="destructive",loading:d=!1,onConfirm:u}){return(0,t.jsx)(a.Dialog,{open:e,onOpenChange:n,children:(0,t.jsxs)(a.DialogContent,{showCloseButton:!1,children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsx)(a.DialogTitle,{children:s}),(0,t.jsx)(a.DialogDescription,{children:i})]}),(0,t.jsxs)(a.DialogFooter,{children:[(0,t.jsx)(r.Button,{variant:"outline",size:"sm",onClick:()=>n(!1),disabled:d,children:"Cancel"}),(0,t.jsx)(r.Button,{variant:c,size:"sm",onClick:u,disabled:d,children:d?o??`${l}...`:l})]})]})})}])},108281,e=>{"use strict";let t=(0,e.i(406963).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"}]]);e.s(["AlertCircle",0,t],108281)},313101,e=>{"use strict";let t=(0,e.i(406963).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,t],313101)},745925,e=>{"use strict";let t=(0,e.i(406963).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,t],745925)},265481,e=>{"use strict";let t=(0,e.i(406963).default)("calendar-days",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);e.s(["CalendarDays",0,t],265481)},251638,e=>{"use strict";let t=(0,e.i(406963).default)("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);e.s(["CircleDot",0,t],251638)},140483,219658,e=>{"use strict";var t=e.i(406963);let a=(0,t.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);e.s(["RotateCw",0,a],140483);var r=e.i(368075),n=e.i(298699),s=e.i(186339),i=e.i(329686);let l=(0,t.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var o=e.i(613349);e.s(["ScrollToBottomButton",0,function({scrollRef:e,threshold:t=100}){let[a,c]=(0,n.useState)(!1),d=(0,n.useCallback)(()=>{let a=e.current;if(!a)return;let r=a.scrollHeight-a.scrollTop-a.clientHeight<t;c(a.scrollHeight>a.clientHeight&&!r)},[e,t]);return(0,n.useEffect)(()=>{let t=e.current;if(!t)return;t.addEventListener("scroll",d,{passive:!0}),d();let a=new ResizeObserver(d);return a.observe(t),()=>{t.removeEventListener("scroll",d),a.disconnect()}},[e,d]),(0,r.jsx)("div",{className:(0,o.cn)("absolute bottom-1 left-1/2 -translate-x-1/2 z-10 transition-all duration-200 ease-out",a?"opacity-100 translate-y-0":"opacity-0 translate-y-2 pointer-events-none"),children:(0,r.jsxs)(i.Tooltip,{children:[(0,r.jsx)(i.TooltipTrigger,{render:(0,r.jsx)(s.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{let t=e.current;t&&t.scrollTo({top:t.scrollHeight,behavior:"smooth"})},className:"rounded-full bg-background/80 backdrop-blur-sm border shadow-sm hover:bg-background"}),children:(0,r.jsx)(l,{})}),(0,r.jsx)(i.TooltipContent,{side:"top",children:"Scroll to bottom"})]})})}],219658)},6131,e=>{"use strict";let t=(0,e.i(406963).default)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]);e.s(["Mail",0,t],6131)},814552,e=>{"use strict";let t=(0,e.i(406963).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",0,t],814552)},309493,e=>{"use strict";let t=(0,e.i(406963).default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);e.s(["Brain",0,t],309493)},983453,e=>{"use strict";let t=(0,e.i(406963).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);e.s(["Calendar",0,t],983453)},541544,e=>{"use strict";var t=e.i(297925);e.s(["Check",()=>t.default])},113354,e=>{"use strict";let t=(0,e.i(406963).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],113354)},89440,e=>{"use strict";let t=(0,e.i(406963).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],89440)},554468,940931,e=>{"use strict";let t=(0,e.i(406963).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["Paperclip",0,t],554468);var a=e.i(368075),r=e.i(298699),n=e.i(635790);let s=`
|
|
2
2
|
html, body {
|
|
3
3
|
overflow: hidden;
|
|
4
4
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74348,e=>{"use strict";var t=e.i(368075),s=e.i(298699),a=e.i(222862),r=e.i(500324);let n=(0,s.createContext)(null);e.s(["FlagCountProvider",0,function({children:e}){let{workspaceId:l}=(0,r.useWorkspace)(),[i,o]=(0,s.useState)(0),c=(0,s.useCallback)(()=>{(0,a.getFlaggedCount)(l).then(e=>o(e.count)).catch(()=>{})},[l]),d=(0,s.useCallback)(()=>{o(e=>e+1)},[]),u=(0,s.useCallback)(()=>{o(e=>Math.max(0,e-1))},[]);return(0,s.useEffect)(()=>{c()},[c]),(0,t.jsx)(n.Provider,{value:{count:i,refresh:c,increment:d,decrement:u},children:e})},"useFlagCount",0,function(){let e=(0,s.useContext)(n);if(!e)throw Error("useFlagCount must be used within FlagCountProvider");return e}])},49879,618615,844010,e=>{"use strict";e.s(["AgentChatView",()=>e_,"getEventIconType",()=>ej],49879);var t=e.i(368075),s=e.i(298699),a=e.i(550008),r=e.i(208020),n=e.i(500324),l=e.i(186339),i=e.i(875061),o=e.i(613349),c=e.i(541544),d=e.i(64873),u=e.i(309493),m=e.i(108281),h=e.i(140483),p=e.i(371522);e.i(112946);var f=e.i(164300);function g(e){return e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}let x=new Set(["status","log"]);function v({item:e,isRunning:a,isLast:r}){let n=(0,s.useMemo)(()=>{if(!e.input)return null;try{return JSON.stringify(e.input,null,2)}catch{return String(e.input)}},[e.input]);return n?(0,t.jsxs)("details",{className:"group/tool",children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground transition-colors duration-150","hover:bg-muted/60 hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,t.jsx)("span",{className:"font-medium text-foreground/80",children:g(e.tool)}),a&&r&&(0,t.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),a&&!r&&(0,t.jsx)(c.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,t.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,t.jsx)("pre",{className:"task-stream-pre overflow-x-auto rounded-md bg-muted/40 p-2.5 font-mono text-xs leading-relaxed text-muted-foreground max-h-48 max-w-full min-w-0 overflow-y-auto",children:n})})]}):(0,t.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,t.jsx)("span",{className:"font-medium text-foreground/80",children:g(e.tool)}),a&&r&&(0,t.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),a&&!r&&(0,t.jsx)(c.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function k({item:e}){return e.content?(0,t.jsxs)("details",{className:"group/think",children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground/60 italic transition-colors duration-150","hover:bg-muted/60 hover:text-muted-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,t.jsx)(u.Brain,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{children:"Thinking..."})]}),(0,t.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,t.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:e.content})})]}):(0,t.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,t.jsx)(u.Brain,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{children:"Thinking..."})]})}function y({value:e}){let a=(0,s.useRef)(e),[r,n]=(0,s.useState)({current:e,previous:null}),[l,i]=(0,s.useState)("idle");return(0,s.useEffect)(()=>{if(e===a.current)return;let t=a.current;a.current=e,n({current:e,previous:t}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i("animating")})});let s=setTimeout(()=>{i("idle"),n(e=>({...e,previous:null}))},300);return()=>clearTimeout(s)},[e]),(0,t.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==r.previous&&(0,t.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===l?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===l?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==l)},children:r.previous}),(0,t.jsx)("span",{style:{display:"block",transition:"animating"===l?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==r.previous&&"animating"!==l?"translateY(100%)":"translateY(0)",opacity:+(null===r.previous||"animating"===l)},children:r.current})]})}function j({task:e,messages:a,connectionLost:r,onRetry:n,stepCountHint:l,onExpandSteps:c,stepsLoading:u}){let[g,b]=(0,s.useState)(!1),w=(0,s.useMemo)(()=>(function(e){let t=[],s=new Map;for(let a of e){if(x.has(a.type))continue;let e=a.id||`seq-${a.seq}`;switch(a.type){case"tool-use":{let r=a.call_id,n={kind:"tool-call",id:e,tool:a.tool,input:a.input};r&&s.set(r,n),t.push(n);break}case"tool-result":break;case"text":t.push({kind:"text",id:e,content:a.content});break;case"thinking":t.push({kind:"thinking",id:e,content:a.content});break;case"error":t.push({kind:"status",id:e,content:a.content||a.output,type:"error"})}}return t})(a),[a]),N="completed"!==e.status&&"failed"!==e.status&&"cancelled"!==e.status&&"superseded"!==e.status,S=w.filter(e=>"text"!==e.kind),C=w.filter(e=>"text"===e.kind),_=C.length>0?C[C.length-1]:null,T=(0,s.useRef)(null),M=(0,s.useRef)(null),I=(0,s.useRef)(!1);(0,s.useEffect)(()=>{N&&T.current&&(T.current.scrollTop=T.current.scrollHeight)},[S.length,N]),(0,s.useEffect)(()=>{N&&M.current&&(M.current.scrollTop=M.current.scrollHeight)},[C.length,N]);let A=N?C:C.slice(0,-1),z=!N&&null!==_,E=S.length>0?S.length:l??0,R=S.length>0||l&&l>0;return(0,t.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:"running"===e.status?(0,t.jsxs)(i.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):N?(0,t.jsxs)(i.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[e.status,(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):(0,t.jsx)(i.Badge,{variant:"secondary",children:e.status})}),R&&(0,t.jsxs)("details",{className:"group/stream pl-1",onToggle:e=>{e.currentTarget.open&&!I.current&&c&&(I.current=!0,c())},children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:(0,o.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",N&&"animate-pulse text-primary")}),(0,t.jsxs)("span",{children:[(0,t.jsx)(y,{value:E})," ",1===E?"step":"steps"]})]}),(0,t.jsxs)("div",{ref:T,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[u&&0===S.length&&(0,t.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,t.jsx)(p.Loader2,{className:"size-3 animate-spin"}),(0,t.jsx)("span",{children:"Loading steps..."})]}),S.map((e,s)=>{switch(e.kind){case"tool-call":return(0,t.jsx)(v,{item:e,isRunning:N,isLast:s===S.length-1},e.id);case"thinking":return(0,t.jsx)(k,{item:e},e.id);case"status":return(0,t.jsxs)("p",{className:"text-xs text-muted-foreground px-1 wrap-anywhere",children:["error"===e.type&&(0,t.jsx)(m.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),e.content]},e.id);default:return null}})]})]}),A.length>0&&(0,t.jsxs)("details",{className:"group/midtext pl-1",open:!z||void 0,children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,t.jsxs)("span",{children:[(0,t.jsx)(y,{value:A.length})," thinking"]})]}),(0,t.jsx)("div",{ref:M,className:"mt-1 space-y-2 pl-1",children:A.map(e=>(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:e.content})},e.id))})]}),z&&!c&&(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:_.content})}),"failed"===e.status&&e.error&&(0,t.jsxs)("div",{className:"flex items-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,t.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,t.jsx)(m.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,t.jsx)("span",{className:"wrap-anywhere",children:e.error})]}),n&&(0,t.jsxs)("button",{type:"button",onClick:async()=>{b(!0);try{await n()}finally{b(!1)}},disabled:g,className:"shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[g?(0,t.jsx)(p.Loader2,{className:"size-3 animate-spin"}):(0,t.jsx)(h.RotateCw,{className:"size-3"}),"Retry"]})]}),r&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var b=e.i(222862),w=e.i(275351),N=e.i(355578),S=e.i(875494),C=e.i(74348),_=e.i(872937),T=e.i(880932),M=e.i(728886),I=e.i(329686),A=e.i(36303),z=e.i(406963);let E=(0,z.default)("bed-double",[["path",{d:"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",key:"1k78r4"}],["path",{d:"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"fb3tl2"}],["path",{d:"M12 4v6",key:"1dcgq2"}],["path",{d:"M2 18h20",key:"ajqnye"}]]),R=(0,z.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);var F=e.i(872057),$=e.i(6131);let D=(0,z.default)("message-square-quote",[["path",{d:"M14 14a2 2 0 0 0 2-2V8h-2",key:"1r06pg"}],["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M8 14a2 2 0 0 0 2-2V8H8",key:"1jzu5j"}]]);var q=e.i(554468),L=e.i(745925),P=e.i(937091);function B({agent:e,isSelected:s,onSelect:a}){return(0,t.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,o.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:t=>{t.preventDefault(),a(e)},children:[(0,t.jsx)("span",{className:"truncate font-medium",children:e.name}),e.email_handle&&(0,t.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[e.email_handle,"@alook.ai"]})]})}function W({isOpen:e,relatedAgents:a,otherAgents:r,selectedIndex:n,onSelect:l,anchorPos:i}){let o=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!o.current)return;let e=o.current.querySelectorAll("[data-mention-item]")[n];e?.scrollIntoView({block:"nearest"})},[n]);let c=a.length+r.length;if(!e||0===c)return null;let d=a.length>0&&r.length>0;return(0,t.jsx)("div",{className:"absolute z-50 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:i.top-4,left:i.left,transform:"translateY(-100%)"},children:(0,t.jsxs)("div",{ref:o,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[a.map((e,s)=>(0,t.jsx)(B,{agent:e,isSelected:s===n,onSelect:l},e.id)),d&&(0,t.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),r.map((e,s)=>(0,t.jsx)(B,{agent:e,isSelected:a.length+s===n,onSelect:l},e.id))]})})}function H({skill:e,isSelected:s,onSelect:a}){return(0,t.jsxs)("button",{type:"button","data-slash-item":!0,className:(0,o.cn)("flex w-full flex-col gap-0.5 px-3 py-1.5 text-left text-sm transition-colors",s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:t=>{t.preventDefault(),a(e)},children:[(0,t.jsxs)("span",{className:"flex w-full items-center gap-2",children:[(0,t.jsxs)("span",{className:"min-w-0 flex-1 truncate font-medium",children:["/",e.name]}),e.isGlobal&&(0,t.jsx)("span",{className:"shrink-0 rounded px-1 py-0.5 text-[10px] font-medium bg-muted text-muted-foreground",children:"Global"})]}),e.description&&(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:e.description.slice(0,80)})]})}function O({isOpen:e,skills:a,selectedIndex:r,onSelect:n,anchorPos:l}){let i=(0,s.useRef)(null);return((0,s.useEffect)(()=>{if(!i.current)return;let e=i.current.querySelectorAll("[data-slash-item]")[r];e?.scrollIntoView({block:"nearest"})},[r]),e&&0!==a.length)?(0,t.jsx)("div",{className:"absolute z-50 w-70 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:l.top-4,left:l.left,transform:"translateY(-100%)"},children:(0,t.jsx)("div",{ref:i,className:"max-h-60 overflow-y-auto py-1 thin-scrollbar",children:a.map((e,s)=>(0,t.jsx)(H,{skill:e,isSelected:s===r,onSelect:n},e.name))})}):null}function V(e,t){if(t>=e.length)return!0;let s=e.charCodeAt(t);return(!(s>=48)||!(s<=57))&&(!(s>=65)||!(s<=90))&&(!(s>=97)||!(s<=122))&&95!==s}function U(e,t){if(!e||0===t.length||!e.includes("@"))return e;let s=t.slice().sort((e,t)=>t.name.length-e.name.length),a=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let s=e.charCodeAt(t-1);return(!(s>=48)||!(s<=57))&&(!(s>=65)||!(s<=90))&&(!(s>=97)||!(s<=122))&&95!==s}(e,t))continue;let r=t+1;for(let n of s){let s=r+n.name.length;if(s>e.length||e.slice(r,s).toLowerCase()!==n.name.toLowerCase())continue;let l=s,i=e.slice(s).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(i&&(l=s+i[0].length),(i||V(e,s))&&(!i||V(e,l))){if(a.some(e=>t>=e.start&&t<e.end))break;a.push({start:t,end:s,name:n.name,agentId:n.id});break}}}let r=e;for(let e=a.length-1;e>=0;e--){let t=a[e],s=r.slice(t.start,t.end);r=r.slice(0,t.start)+`<mention data-agent-id="${t.agentId}">${s}</mention>`+r.slice(t.end)}return r}var K=e.i(721387),Y=e.i(332680),X=e.i(535991),J=e.i(940931);function G({open:e,onOpenChange:a,emailId:r,workspaceId:n}){let[i,o]=(0,s.useState)(null),[c,d]=(0,s.useState)(null),[u,m]=(0,s.useState)(!1),[h,f]=(0,s.useState)(500),g=(0,s.useRef)(!1),x=(0,s.useRef)(a);(0,s.useEffect)(()=>{x.current=a}),(0,s.useEffect)(()=>{e&&r&&(m(!0),o(null),d(null),Promise.all([(0,b.getEmail)(r,n),(0,b.getEmailBody)(r,n)]).then(([e,t])=>{o(e),d(t)}).catch(()=>{T.toast.error("Email not found"),x.current(!1)}).finally(()=>m(!1)))},[e,r,n]);let v=e=>{a(e),e||setTimeout(()=>{o(null),d(null)},300)},k=(0,s.useCallback)(e=>{e.preventDefault(),g.current=!0,e.target.setPointerCapture(e.pointerId)},[]),y=(0,s.useCallback)(e=>{g.current&&f(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-e.clientX)))},[]),j=(0,s.useCallback)(()=>{g.current=!1},[]);return(0,t.jsx)(Y.Sheet,{open:e,onOpenChange:v,children:(0,t.jsxs)(Y.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${h}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,t.jsx)("div",{onPointerDown:k,onPointerMove:y,onPointerUp:j,className:"hidden sm:block absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 hover:bg-primary/20 active:bg-primary/30 transition-colors rounded-l-xl"}),(0,t.jsx)(Y.SheetHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)($.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsx)(Y.SheetTitle,{className:"truncate flex-1",children:u?"Loading...":i?.subject||"Email"}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>v(!1),children:(0,t.jsx)(P.X,{className:"h-4 w-4"})})]})}),(0,t.jsx)(Y.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:u?(0,t.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,t.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):i?(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,t.jsx)("span",{className:"truncate",children:i.from_email})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,t.jsx)("span",{className:"truncate",children:i.to_email})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,t.jsx)("span",{children:new Date(i.created_at).toLocaleString()})]})]}),c?.isHtml?(0,t.jsx)(J.EmailBodyFrame,{html:c.content,className:"max-w-full"}):(0,t.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:c?.content}),i.attachments&&i.attachments.length>0&&(0,t.jsxs)("div",{className:"border-t pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mb-2 text-xs text-muted-foreground",children:[(0,t.jsx)(q.Paperclip,{className:"size-3"}),i.attachments.length," attachment",i.attachments.length>1?"s":""]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:i.attachments.map((e,s)=>(0,t.jsxs)("a",{href:`/api/email/${i.id}/attachment/${s}?workspace_id=${n}`,target:"_blank",rel:"noopener noreferrer",download:e.filename,className:"flex items-center gap-1.5 rounded-md border border-border/50 bg-muted/50 px-2.5 py-1.5 text-xs hover:bg-muted transition-colors cursor-pointer",children:[(0,t.jsx)(X.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-45",children:e.filename}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:e.size<1024?`${e.size} B`:e.size<1048576?`${(e.size/1024).toFixed(1)} KB`:`${(e.size/1048576).toFixed(1)} MB`})]},e.key))})]})]}):null})]})})}var Z=e.i(781360),Q=e.i(169678),ee=e.i(364079);function et({bufferedMessages:e,onDelete:a}){let[r,n]=(0,s.useState)(!1),l=e.length;if(0===l)return null;let i=Math.min(l,3);return(0,t.jsx)("div",{className:"relative px-5 pb-1",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,t.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:r?32*l+(l-1)*4:32+(i-1)*6},onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[e.map((e,s)=>{var n;let c=l-1-s,d=s>=l-i;return(0,t.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:s+1,bottom:r?36*c:d?6*c:0,transform:r?"scale(1)":`scale(${d?1-.03*c:.91})`,opacity:r?1:d?1-.2*c:0,pointerEvents:r||d?"auto":"none"},children:(0,t.jsxs)("div",{className:"h-full rounded-lg border bg-background/95 backdrop-blur-sm shadow-sm flex items-center gap-2 px-3",children:[(0,t.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:s+1}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(n=e.content).length<=80?n:n.slice(0,80).trimEnd()+"…"}),e.attachment_ids&&e.attachment_ids.length>0&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,t.jsx)(q.Paperclip,{className:"size-2.5"}),e.attachment_ids.length]})]}),(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e.id)},className:(0,o.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",r?"opacity-100":"opacity-0"),tabIndex:r?0:-1,children:(0,t.jsx)(P.X,{className:"size-3"})})]})},e.id)}),!r&&l>i&&(0,t.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",l-i," more"]})]})})})}var es=e.i(219658);let ea={id:"",agent_id:"",runtime_id:"",conversation_id:"",workspace_id:"",prompt:"",status:"completed",priority:0,dispatched_at:null,started_at:null,completed_at:null,result:null,error:null,created_at:"",type:""};function er({taskId:e,stepCount:a,workspaceId:r}){let[n,l]=(0,s.useState)([]),[i,o]=(0,s.useState)(!1),[c,d]=(0,s.useState)(!1),u=(0,s.useCallback)(async()=>{if(!c&&!i){o(!0);try{let t=await (0,b.getTaskMessages)(e,r);l(t)}catch{l([])}finally{o(!1),d(!0)}}},[c,i,e,r]);return(0,t.jsx)(j,{task:ea,messages:n,stepCountHint:a,onExpandSteps:u,stepsLoading:i})}var en=e.i(983453),el=e.i(251638);let ei=(0,z.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);e.s(["Flag",0,ei],618615);var eo=e.i(89440);let ec={mention:["data-agent-id"]},ed=["mention"];function eu({content:e,conversationType:s}){let a=ej(e,s),r="h-4 w-4 mt-0.5 shrink-0";return"issue"===a?(0,t.jsx)(el.CircleDot,{className:r}):"email"===a?(0,t.jsx)($.Mail,{className:r}):(0,t.jsx)(en.Calendar,{className:r})}function em({attachmentIds:e,artifacts:s,onArtifactClick:a}){let r=e.map(e=>s.find(t=>t.id===e)).filter(e=>!!e);return 0===r.length?null:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:r.map(e=>(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.filename})]},e.id))})}function eh({pendingFiles:e,messageId:s}){let a=e.get(s);return a&&0!==a.length?(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:a.map((e,s)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.name})]},s))}):null}let ep=(0,s.memo)(function({msg:e,agents:a,artifacts:r,activeTask:n,taskMessages:i,connectionLost:d,isLastMessage:u,stepCount:m,targetConvId:h,workspaceId:p,conversationType:g,pendingFilesByMessage:x,onArtifactClick:v,onEmailClick:k,onIssueClick:y,onCalendarEventClick:b,onRetry:w,mentionComponents:N,isFlagged:S,onToggleFlag:C}){let _,M,A,z,E,R,F,[$,D]=(0,s.useState)(!1),q=n&&"assistant"===e.role&&e.task_id===n.id&&e.conversation_id===n.conversation_id&&i.length>0,L=!q&&h&&"assistant"===e.role&&e.task_id&&m>0?m:0,P=q&&n&&["completed","failed","cancelled","superseded"].includes(n.status),B="assistant"===e.role?(0,t.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs","aria-label":$?"Copied":"Copy message",onClick:async t=>{t.stopPropagation();try{await navigator.clipboard.writeText(e.content),D(!0),T.toast.success("Copied to clipboard"),setTimeout(()=>D(!1),2e3)}catch{T.toast.error("Failed to copy")}},className:(0,o.cn)("self-start mb-1",$?"text-green-500 opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:$?(0,t.jsx)(c.Check,{className:"size-3.5"}):(0,t.jsx)(eo.Copy,{className:"size-3.5"})}),(0,t.jsx)(I.TooltipContent,{children:$?"Copied":"Copy"})]}),C&&(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",onClick:()=>C(e.id),className:(0,o.cn)("self-start mb-1",S?"text-primary opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:(0,t.jsx)(ei,{className:(0,o.cn)("size-3.5",S&&"fill-current")})}),(0,t.jsx)(I.TooltipContent,{children:S?"Unflag":"Flag"})]})]}):null;return(0,t.jsxs)(s.default.Fragment,{children:[q&&(0,t.jsxs)("div",{className:(0,o.cn)("group/msg",S&&"bg-muted/30 rounded-lg px-2 -mx-2"),...P?{"data-quote-source":!0}:{},children:[(0,t.jsx)(j,{task:n,messages:i,connectionLost:d,onRetry:w}),P&&B]}),L>0&&e.task_id&&(0,t.jsx)(er,{taskId:e.task_id,stepCount:L,workspaceId:p}),"user"===e.role?(_=u&&!!n&&"running"!==n.status&&!["completed","failed","cancelled","superseded"].includes(n.status),M=e.content.match(/^\/(\S+)\s?([\s\S]*)$/),A=M?.[1]??null,z=M?M[2]||"":e.content,(0,t.jsx)("div",{className:"flex justify-end","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsxs)("div",{className:(0,o.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[_&&(0,t.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),A&&(0,t.jsxs)("span",{className:"inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-primary-foreground/15 text-primary-foreground mb-1",children:["/",A]}),z&&(0,t.jsx)("div",{className:"markdown markdown-user",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ec,literalTagContent:ed,components:N,children:U(z,a)})}),e.attachment_ids&&e.attachment_ids.length>0&&(0,t.jsx)(em,{attachmentIds:e.attachment_ids,artifacts:r,onArtifactClick:v}),!e.attachment_ids&&(0,t.jsx)(eh,{pendingFiles:x,messageId:e.id})]})})):"event"===e.role?(E=e.metadata?.emailId,R=e.metadata?.issueId,F=e.metadata?.calendarEventId,(0,t.jsx)("div",{className:"flex justify-start","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsxs)("div",{className:(0,o.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!E||!!R||!!F)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:E?()=>k(E):R?()=>y(R):F?()=>b(F):void 0,children:[(0,t.jsx)(eu,{content:e.content,conversationType:g}),(0,t.jsx)("span",{className:"min-w-0 wrap-anywhere",children:e.content})]})})):q?null:(0,t.jsxs)("div",{className:(0,o.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",S&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":e.id,"data-quote-source":!0,...e.task_id?{"data-task-id":e.task_id}:{},children:[(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ec,literalTagContent:ed,components:N,children:U(e.content,a)})}),B]})]})});e.i(400175);var ef=e.i(819748),eg=e.i(126366),ex=e.i(309475);function ev({agent:e,isOnline:a,activeTaskCount:r,variant:n="default",isHovered:l}){let[i,d]=(0,s.useState)(!1),u=e.email_handle?`${e.email_handle}@alook.ai`:null,m=(0,s.useCallback)(async()=>{if(u)try{await navigator.clipboard.writeText(u),d(!0),T.toast.success("Email copied to clipboard"),setTimeout(()=>d(!1),2e3)}catch{T.toast.error("Failed to copy email")}},[u]);if("compact"===n){let s;return(0,t.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(s=(0,eg.parseAvatarUrl)(e.avatar_url))?(0,t.jsx)(ef.AnimatedAvatar,{config:s,size:32,className:"shrink-0 rounded-xl",isHovered:l??!1,isWorking:!!a&&(r??0)>0}):(0,t.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:e.name.charAt(0).toUpperCase()}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:e.name}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:u})]}),void 0!==a&&(0,t.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,t.jsx)(ex.AgentStatusBadge,{isOnline:a,taskCount:r??0,agentId:e.id})})]})]})}return(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate",children:e.name}),(0,t.jsx)("span",{className:"flex-1"}),void 0!==a&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,t.jsx)("span",{className:(0,o.cn)("size-1.5 rounded-full",a?"bg-status-online":"bg-status-offline")}),a?(r??0)>0?"Working":null:"Offline"]})]}),u&&(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:u}),(0,t.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),m()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:i?(0,t.jsx)(c.Check,{className:"size-3 text-green-500"}):(0,t.jsx)(eo.Copy,{className:"size-3"})})]}),e.description&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:e.description})]})}e.s(["AgentPreviewCard",0,ev],844010);var ek=e.i(224950);let ey={mention:function(e){let{children:s,...a}=e,{agents:r}=(0,N.useAgentContext)(),n=a["data-agent-id"]??a.dataAgentId,l=n?r.find(e=>e.id===n):void 0;if(!l&&"string"==typeof s){let e=s.startsWith("@")?s.slice(1):s;l=r.find(t=>t.name.toLowerCase()===e.toLowerCase())}return l?(0,t.jsxs)(ek.Popover,{children:[(0,t.jsx)(ek.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,t.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:s}),(0,t.jsx)(ek.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,t.jsx)(ev,{agent:l})})]}):(0,t.jsx)("span",{className:"mention-highlight",children:s})},p:({children:e,node:s,...a})=>(0,t.jsx)("div",{"data-md-p":"",...a,children:e})};function ej(e,t){if("issue_event"===t)return"issue";if("email_notification"===t)return"email";if("calendar_event"===t)return"calendar";let s=e.toLowerCase();return s.startsWith("issue ")||s.startsWith("issue:")?"issue":s.includes("email")?"email":"calendar"}function eb(e,t){let s=new Map;for(let t of e)s.set(t.id,t);for(let e of t)s.set(e.id,e);return[...s.values()].slice().sort((e,t)=>{let s=e.created_at.localeCompare(t.created_at);return 0!==s?s:e.id.localeCompare(t.id)})}function ew(e){let t=[],s=[],a=!1;for(let r of e)"message"===r.kind&&"user"===r.data.role?(a=!0,t.push(r)):"message"===r.kind&&"assistant"===r.data.role?(t.push(r),t.push(...s),s=[],a=!1):a&&"artifact"===r.kind?s.push(r):t.push(r);return t.push(...s),t}function eN(e){let t=(0,s.useRef)(e);return(0,s.useEffect)(()=>{t.current=e},[e]),t}function eS({agentName:e}){return(0,t.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,t.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[e," took a nap 💤"]}),(0,t.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function eC({artifact:e,version:s,hasDuplicates:a,onClick:r}){return(0,t.jsxs)("button",{onClick:()=>r(e),className:(0,o.cn)("flex items-center gap-3 w-full max-w-sm rounded-lg border border-border/60 bg-muted/30","px-3.5 py-2.5 text-left transition-colors duration-150","hover:bg-muted/60 hover:border-border"),children:[(0,t.jsx)(F.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("p",{className:"text-sm font-medium truncate",children:[e.filename,a&&(0,t.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",s]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,K.formatSize)(e.size)})]})]})}function e_({agentId:e,targetConvId:i,scrollToTaskId:c,scrollToMessageId:d}){let u,m,h,f=(0,r.useParams)(),g=(0,r.useSearchParams)(),{workspaceId:x,slug:v}=(0,n.useWorkspace)(),{agents:k,agentLinks:y,activeTaskCounts:z,subscribeWs:B}=(0,N.useAgentContext)(),{refresh:H}=(0,S.useInboxCount)(),{activeChannel:V,loading:Y,setAgentId:X}=(0,_.useChannel)(),J=e??f.id,ea=void 0!==c?c:g.get("task"),er=void 0!==d?d:g.get("msg"),en=void 0!==i?i:g.get("conv"),[el,ei]=(0,s.useState)(null),[eo,ec]=(0,s.useState)([]),[ed,eu]=(0,s.useState)(()=>localStorage.getItem(`chat-draft:${J}:${en??"default"}`)??""),[em,eh]=(0,s.useState)(!1),[ef,eg]=(0,s.useState)(!1),[ex,ev]=(0,s.useState)(null),[ek,ej]=(0,s.useState)([]),[eT,eM]=(0,s.useState)(!0),[eI,eA]=(0,s.useState)(!1),[ez,eE]=(0,s.useState)(!1),[eR,eF]=(0,s.useState)(!1),[e$,eD]=(0,s.useState)([]),[eq,eL]=(0,s.useState)(!1),[eP,eB]=(0,s.useState)(null),[eW,eH]=(0,s.useState)(null),[eO,eV]=(0,s.useState)(!1),[eU,eK]=(0,s.useState)(null),[eY,eX]=(0,s.useState)(!1),[eJ,eG]=(0,s.useState)(null),[eZ,eQ]=(0,s.useState)(!1),[e0,e1]=(0,s.useState)(null),[e2,e5]=(0,s.useState)(null),[e3,e4]=(0,s.useState)(!1),[e6,e8]=(0,s.useState)(null),[e9,e7]=(0,s.useState)(null),[te,tt]=(0,s.useState)(448),[ts,ta]=(0,s.useState)([]),[tr,tn]=(0,s.useState)([]),[tl,ti]=(0,s.useState)(null),[to,tc]=(0,s.useState)([]),[td,tu]=(0,s.useState)(!1),[tm,th]=(0,s.useState)([]),[tp,tf]=(0,s.useState)({}),[tg]=(0,s.useState)(()=>Date.now()),[tx,tv]=(0,s.useState)(()=>new Map),[tk,ty]=(0,s.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(`chat-draft-meta:${J}:${en??"default"}`)??"null");return e?.quote??null}catch{return null}}),[tj,tb]=(0,s.useState)(null),[tw,tN]=(0,s.useState)(new Set),tS=(0,s.useRef)(tw);(0,s.useEffect)(()=>{tS.current=tw});let{increment:tC,decrement:t_,refresh:tT}=(0,C.useFlagCount)(),{writeToCache:tM}=function(e,t){let[a,r]=(0,s.useState)(null),[n,l]=(0,s.useState)(!1),i=(0,s.useRef)(e);return(0,s.useEffect)(()=>{if(i.current=e,!e||!t){r(null),l(!1);return}(0,w.openCacheDB)(t);let s=!1;return(0,w.getCachedMessages)(e,t).then(t=>{s||i.current!==e||(t&&t.length>0?(r(t),l(!0)):(r(null),l(!1)))}),()=>{s=!0}},[e,t]),{cachedMessages:a,isFromCache:n,writeToCache:(0,s.useCallback)(async(e,s)=>{i.current&&t&&await (0,w.mergeCachedMessages)(i.current,e,s,t)},[t])}}(en??null,x),tI=(0,s.useRef)(tM);(0,s.useEffect)(()=>{tI.current=tM},[tM]),(0,s.useEffect)(()=>{X(J)},[J,X]);let tA=(0,s.useMemo)(()=>e$.filter(e=>"agent"===e.source),[e$]),{versionMap:tz,duplicateFilenames:tE}=(0,s.useMemo)(()=>(0,ee.computeArtifactVersions)(tA),[tA]),tR=(0,s.useMemo)(()=>"agent"===eW?tA:"issue"===eW?e2?.artifacts??[]:[],[eW,tA,e2?.artifacts]),{versionMap:tF,duplicateFilenames:t$}=(0,s.useMemo)(()=>(0,ee.computeArtifactVersions)(tR),[tR]),tD=(0,s.useMemo)(()=>(function(e,t,s,a){if(!a||0===s.length){let a=[...e.map(e=>({kind:"message",data:e})),...t.map(e=>({kind:"artifact",data:e})),...s.map(e=>({kind:"nap",data:e}))];return a.sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);if(0!==s)return s;if("nap"===e.kind||"nap"===t.kind){if("nap"===e.kind&&"nap"!==t.kind)return 1;if("nap"!==e.kind&&"nap"===t.kind)return -1}return e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)}),ew(a)}let r=new Set(s.map(e=>e.id.replace(/^nap-/,""))),n=[...s].sort((e,t)=>e.created_at.localeCompare(t.created_at)),l=s=>ew([...e.filter(e=>e.conversation_id===s).map(e=>({kind:"message",data:e})),...t.filter(e=>e.conversation_id===s).map(e=>({kind:"artifact",data:e}))].sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);return 0!==s?s:e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)})),i=[];for(let e of n){let t=e.id.replace(/^nap-/,"");i.push(...l(t)),i.push({kind:"nap",data:e})}i.push(...l(a));let o=new Set([...r,a]),c=e.filter(e=>!o.has(e.conversation_id)),d=t.filter(e=>!o.has(e.conversation_id));if(c.length>0||d.length>0){let e=[...c.map(e=>({kind:"message",data:e})),...d.map(e=>({kind:"artifact",data:e}))];e.sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);return 0!==s?s:e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)});let t=ew(e),s=i.findIndex(e=>"nap"===e.kind);s>=0?i.splice(s,0,...t):i.push(...t)}return i})(eo,tA,tm,el?.id),[eo,tA,tm,el?.id]),tq=(0,s.useCallback)(e=>{(0,ee.isPreviewable)(e)?(eB(e),eH("agent"),eL(!0)):window.open((0,ee.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tL=(0,s.useCallback)(e=>{(0,ee.isPreviewable)(e)?(eB(e),eH("issue"),eL(!0)):window.open((0,ee.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tP=(0,s.useRef)(null),tB=(0,s.useRef)(null),tW=(0,s.useRef)(null),tH=(0,s.useRef)(null),tO=(0,s.useRef)(0),tV=(0,s.useRef)(0),tU=(0,s.useRef)(!1),tK=(0,s.useRef)(!1),tY=(0,s.useRef)(!0),tX=(0,s.useRef)(!1),tJ=(0,s.useRef)(null),tG=(0,s.useRef)(null),tZ=(0,s.useRef)(0),tQ=(0,s.useRef)(void 0),t0=(0,s.useRef)(null),t1=(0,s.useRef)(null),t2=function({input:e,caretIndex:t,textareaRef:a,agents:r,agentLinks:n,currentAgentId:l,onInputChange:i}){let[o,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(""),[m,h]=(0,s.useState)(0),[p,f]=(0,s.useState)({top:0,left:0}),g=(0,s.useRef)(null),x=(0,s.useMemo)(()=>{let e=new Set;for(let t of n)t.source_agent_id===l&&e.add(t.target_agent_id),t.target_agent_id===l&&e.add(t.source_agent_id);return e},[n,l]),{relatedAgents:v,otherAgents:k,allAgents:y}=(0,s.useMemo)(()=>{if(!o)return{relatedAgents:[],otherAgents:[],allAgents:[]};let e=e=>{if(!d)return e.slice(0,20);let t=d.toLowerCase(),s=[],a=[];for(let r of e){let e=r.name.toLowerCase();e.startsWith(t)?s.push(r):e.includes(t)&&a.push(r)}return[...s,...a]},t=[],s=[];for(let e of r)x.has(e.id)?t.push(e):s.push(e);let a=e(t),n=e(s);return{relatedAgents:a,otherAgents:n,allAgents:[...a,...n]}},[o,d,r,x]);(0,s.useEffect)(()=>{h(0)},[y.length,d]),(0,s.useEffect)(()=>{if(null===t)return void c(!1);let s=function(e,t){let s=t-1;for(;s>=0&&t-s<=30;){let a=e.charCodeAt(s);if(64===a)return{start:s,query:e.slice(s+1,t)};if(10===a||13===a)break;s--}return null}(e,t);s?(g.current=s.start,u(s.query),c(!0),a.current&&f(function(e,t){let s=document.createElement("div"),a=window.getComputedStyle(e);for(let t of(s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.visibility="hidden",s.style.overflow="hidden",s.style.width=`${e.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))s.style[t]=a.getPropertyValue(t.replace(/([A-Z])/g,"-$1").toLowerCase());s.textContent=e.value.slice(0,t);let r=document.createElement("span");r.textContent="",s.appendChild(r),document.body.appendChild(s);let n=r.offsetTop-e.scrollTop,l=Math.max(0,Math.min(r.offsetLeft,e.offsetWidth-256));return document.body.removeChild(s),{top:n,left:l}}(a.current,s.start))):(c(!1),g.current=null)},[e,t,a]);let j=(0,s.useCallback)(s=>{if(null===t||null===g.current)return;let r=e.slice(0,g.current),n=e.slice(t);i(`${r}@${s.name} ${n}`),c(!1);let l=r.length+1+s.name.length+1;requestAnimationFrame(()=>{let e=a.current;e&&(e.focus(),e.setSelectionRange(l,l))})},[e,t,a,i]),b=(0,s.useCallback)(e=>!!o&&0!==y.length&&!e.nativeEvent.isComposing&&("ArrowDown"===e.key?(e.preventDefault(),h(e=>(e+1)%y.length),!0):"ArrowUp"===e.key?(e.preventDefault(),h(e=>(e-1+y.length)%y.length),!0):"Enter"===e.key?(e.preventDefault(),j(y[m]),!0):"Escape"===e.key&&(e.preventDefault(),c(!1),!0)),[o,y,m,j]);return{isOpen:o,query:d,selectedIndex:m,anchorPos:p,relatedAgents:v,otherAgents:k,allAgents:y,handleMentionKeyDown:b,selectAgent:j}}({input:ed,caretIndex:tl,textareaRef:t1,agents:(0,s.useMemo)(()=>k.filter(e=>e.id!==J),[k,J]),agentLinks:y,currentAgentId:J,onInputChange:eu}),[t5,t3]=(0,s.useState)([]),t4=(0,s.useRef)(!1),t6=(0,s.useRef)(!1);(0,s.useEffect)(()=>{t4.current||(t4.current=!0,(0,b.getAgentSkills)(J,x).then(e=>t3(e.skills)).catch(()=>{}))},[J,x]);let[t8]=(0,s.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(`chat-draft-meta:${J}:${en??"default"}`)??"null");return e?.skill??null}catch{return null}}),t9=function({input:e,caretIndex:t,textareaRef:a,skills:r,onInputChange:n,initialActiveSkill:l}){let[i,o]=(0,s.useState)(!1),[c,d]=(0,s.useState)(""),[u,m]=(0,s.useState)(0),[h,p]=(0,s.useState)({top:0,left:0}),f=(0,s.useRef)(null),g=(0,s.useMemo)(()=>{if(!i)return[];if(!c)return r;let e=c.toLowerCase(),t=[],s=[];for(let a of r){let r=a.name.toLowerCase();r.startsWith(e)?t.push(a):r.includes(e)&&s.push(a)}return[...t,...s]},[i,c,r]);(0,s.useEffect)(()=>{m(0)},[g.length,c]);let[x,v]=(0,s.useState)(l??null);(0,s.useEffect)(()=>{if(x||null===t)return void o(!1);let s=function(e,t){if(!e.startsWith("/")||0===t)return null;let s=t-1;for(;s>=0&&t-s<=30;){let a=e.charCodeAt(s);if(47===a&&0===s)return{start:0,query:e.slice(1,t)};if(10===a||13===a||32===a)break;s--}return null}(e,t);s?(f.current=s.start,d(s.query),o(!0),a.current&&p(function(e,t){let s=document.createElement("div"),a=window.getComputedStyle(e);for(let t of(s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.visibility="hidden",s.style.overflow="hidden",s.style.width=`${e.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))s.style[t]=a.getPropertyValue(t.replace(/([A-Z])/g,"-$1").toLowerCase());s.textContent=e.value.slice(0,t);let r=document.createElement("span");r.textContent="",s.appendChild(r),document.body.appendChild(s);let n=r.offsetTop-e.scrollTop,l=Math.max(0,Math.min(r.offsetLeft,e.offsetWidth-280));return document.body.removeChild(s),{top:n,left:l}}(a.current,s.start))):(o(!1),f.current=null)},[e,t,a,x]);let k=(0,s.useCallback)(e=>{v(e),n(""),o(!1),requestAnimationFrame(()=>{let e=a.current;e&&(e.focus(),e.setSelectionRange(0,0))})},[a,n]),y=(0,s.useCallback)(()=>{v(null)},[]),j=(0,s.useCallback)(e=>!!i&&0!==g.length&&!e.nativeEvent.isComposing&&("ArrowDown"===e.key?(e.preventDefault(),m(e=>(e+1)%g.length),!0):"ArrowUp"===e.key?(e.preventDefault(),m(e=>(e-1+g.length)%g.length),!0):"Enter"===e.key||"Tab"===e.key?(e.preventDefault(),k(g[u]),!0):"Escape"===e.key&&(e.preventDefault(),o(!1),!0)),[i,g,u,k]);return{isOpen:i,query:c,selectedIndex:u,anchorPos:h,skills:g,activeSkill:x,handleSlashKeyDown:j,selectSkill:k,clearActiveSkill:y,setActiveSkill:v}}({input:ed,caretIndex:tl,textareaRef:t1,skills:t5,onInputChange:eu,initialActiveSkill:t8});(0,s.useEffect)(()=>{0===t5.length||!t9.activeSkill||t5.some(e=>e.name===t9.activeSkill.name)||t9.setActiveSkill(null)},[t5]),(0,s.useEffect)(()=>{let e=`chat-draft:${J}:${en??"default"}`;ed?localStorage.setItem(e,ed):localStorage.removeItem(e)},[ed,J,en]),(0,s.useEffect)(()=>{if(!t6.current)return;let e=`chat-draft-meta:${J}:${en??"default"}`,t={};t9.activeSkill&&(t.skill={name:t9.activeSkill.name,description:t9.activeSkill.description}),tk&&(t.quote=tk),t.skill||t.quote?localStorage.setItem(e,JSON.stringify(t)):localStorage.removeItem(e)},[t9.activeSkill,tk,J,en]),(0,s.useEffect)(()=>{em||t1.current?.focus()},[em]);let t7=(0,s.useCallback)(()=>{tY.current=!0,setTimeout(()=>{tP.current?.scrollTo({top:tP.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,s.useEffect)(()=>{if(Y)return;tB.current&&clearInterval(tB.current),tB.current=null,tH.current=null;let e=!1;eM(!0),tU.current=!1,ev(null),ej([]),tn([]),tv(new Map),th([]),tf({}),tc([]),tu(!1),tG.current=null,eu(localStorage.getItem(`chat-draft:${J}:${en??"default"}`)??"");let t=localStorage.getItem(`chat-draft-meta:${J}:${en??"default"}`);if(t)try{let e=JSON.parse(t);ty(e.quote??null),t9.setActiveSkill(e.skill?e.skill:null)}catch{ty(null),t9.setActiveSkill(null)}else ty(null),t9.setActiveSkill(null);return t6.current=!0,ec([]),async function(){let t=!1;try{let s=null,a=null;if(en){if(s=en,a=await (0,w.getCacheMeta)(s,x),a?.newestMessageId){let r=await (0,w.getCachedMessages)(s,x);if(e)return;r&&r.length>0&&(t=!0,ec(r),eE(a.hasMore),eM(!1))}}else try{let r=await (0,b.checkFreshness)({agentId:J,channel:V},x);if(e)return;if(s=r.conversation_id,a=await (0,w.getCacheMeta)(s,x),a?.newestMessageId&&a.newestMessageId===r.newest_message_id){let r=await (0,w.getCachedMessages)(s,x);if(e)return;r&&r.length>0&&(t=!0,ec(r),eE(a.hasMore),eM(!1))}}catch{}if(s){let t=await (0,b.conversationInit)(s,x,{newestMessageId:a?.newestMessageId??void 0});if(e)return;if(ei(t.conversation),tu(t.has_more_conversations),!t.cache_valid&&t.messages?(ec(e=>eb(e,t.messages)),tI.current(t.messages,t.has_more_messages).catch(()=>{}),eE(t.has_more_messages)):a&&eE(a.hasMore),tf(t.step_counts),eD(t.artifacts),tn(t.buffered_messages),tN(new Set(t.flagged_message_ids)),t.active_task&&(ev(t.active_task),ej(t.task_messages),t.task_messages.length>0&&(tO.current=Math.max(...t.task_messages.map(e=>e.seq))),tJ.current?.(t.active_task.id,s,tO.current)),ea){let t=await (0,b.getTask)(ea,x).catch(()=>null);if(e)return;if(t&&!["completed","failed","cancelled","superseded"].includes(t.status)){ev(t);let a=await (0,b.getTaskMessages)(ea,x).catch(()=>[]);if(e)return;ej(a),a.length>0&&(tO.current=Math.max(...a.map(e=>e.seq))),tJ.current?.(t.id,s,tO.current)}}}else{let t=await (0,b.chatInit)(J,x,V);if(e)return;ei(t.conversation),ec(e=>e.length>0?eb(e,t.messages):t.messages),eE(t.has_more_messages),eD(t.artifacts),tn(t.buffered_messages),tu(t.has_more_conversations),tI.current(t.messages,t.has_more_messages).catch(()=>{}),(0,b.listFlaggedMessageIds)(x,t.conversation.id).then(t=>{e||tN(new Set(t.message_ids))}).catch(()=>{}),t.active_task&&(ev(t.active_task),t.task_messages.length>0&&(ej(t.task_messages),tO.current=Math.max(...t.task_messages.map(e=>e.seq))),["completed","failed","cancelled","superseded"].includes(t.active_task.status)||tJ.current?.(t.active_task.id,t.conversation.id,tO.current))}}catch{t?T.toast.error("Couldn't refresh conversation"):T.toast.error("Failed to load conversation")}finally{e||eM(!1)}}(),()=>{e=!0}},[J,x,en,ea,V,Y]);let se=(0,s.useRef)(H);(0,s.useEffect)(()=>{se.current=H},[H]);let st=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!el?.id||!x||st.current===el.id)return;st.current=el.id;let e=setTimeout(()=>{(0,b.markInboxRead)(el.id,x).then(()=>se.current()).catch(()=>{})},1e3);return()=>{st.current=null,clearTimeout(e)}},[el?.id,x]),(0,s.useEffect)(()=>{eT||!(eo.length>0)||tU.current||(tU.current=!0,ea||er?tY.current=!1:i?setTimeout(()=>{let e=tP.current?.querySelectorAll("[data-quote-source]");e&&e.length>0?e[e.length-1].scrollIntoView({behavior:"instant",block:"start"}):tP.current?.scrollTo({top:tP.current.scrollHeight})},50):setTimeout(()=>{tP.current?.scrollTo({top:tP.current.scrollHeight})},50))},[eT,eo.length,ea,er,i]),(0,s.useEffect)(()=>{let e;if(!ea||eT||!el)return;tY.current=!1,tX.current=!0;let t=!1,s=()=>{if(t)return!1;let s=document.querySelector(`[data-task-id="${CSS.escape(ea)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tX.current=!1)},1500),!0)},a=setTimeout(async()=>{if(!t&&!s())try{let e=await (0,b.listMessagesAroundTask)(el.id,x,ea);if(t)return;e.length>0?(ec(t=>eb(t,e)),requestAnimationFrame(()=>{setTimeout(()=>{s()||(tX.current=!1)},100)})):tX.current=!1}catch{t||(tX.current=!1)}},100);return()=>{t=!0,clearTimeout(a),e&&clearTimeout(e)}},[ea,eT,el,x]),(0,s.useEffect)(()=>{let e;if(!er||ea||eT||!el)return;tY.current=!1,tX.current=!0;let t=!1,s=setTimeout(()=>{!t&&((()=>{if(t)return!1;let s=document.querySelector(`[data-message-id="${CSS.escape(er)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tX.current=!1)},1500),!0)})()||(tP.current?.scrollTo({top:tP.current.scrollHeight}),tX.current=!1))},100);return()=>{t=!0,clearTimeout(s),e&&clearTimeout(e)}},[er,ea,eT,el]);let ss=ex?.status;(0,s.useEffect)(()=>{tX.current||("running"===ss||"queued"===ss)&&tY.current&&t7()},[ek.length,ss,t7]);let sa=(0,s.useMemo)(()=>k.find(e=>e.id===J)?.name??"Agent",[k,J]),sr=eN(eo),sn=eN(ez),sl=eN(to),si=eN(td),so=eN(sa),sc=eN(V),sd=(0,s.useCallback)(async(e=!1)=>{if(!el||tK.current)return;tK.current=!0;let t=sr.current,s=sn.current,r=si.current,n=so.current,l=sc.current,i=!!en,o=t[0],c=tG.current?.id??el.id,d=s&&o,u=sl.current;if(!i&&!d&&0===u.length&&r){let e=tG.current??{id:el.id,created_at:el.created_at};try{let t=await (0,b.listPreviousConversations)(J,x,{exclude:el.id,before:e.created_at,channel:l});u=t.conversations,tc(t.conversations),tu(t.has_more)}catch{tu(!1)}}let m=!i&&u.length>0;if(!d&&!m){tK.current=!1;return}eF(!0);let h=tP.current;h&&(h.style.overflowAnchor="none");let p=h?.scrollHeight??0;try{let t=[],s=[],m=20,f=!1,g=[],v=!1;if(d){let e=c===el.id?await (0,w.getCachedMessagesBefore)(c,o.created_at,o.id,20,x):null;if(e)t=e.messages,m-=e.messages.length,f=e.hasMore;else{let e=await (0,b.listMessages)(c,x,{limit:20,before:o.created_at,beforeId:o.id});t=e.messages,m-=e.messages.length,f=e.has_more}v=f}if(!i&&!f&&m>0){if(0===u.length&&r){let e=tG.current??{id:el.id,created_at:el.created_at};try{let t=await (0,b.listPreviousConversations)(J,x,{exclude:el.id,before:e.created_at,channel:l});u=t.conversations,tc(t.conversations),tu(t.has_more)}catch{tu(!1)}}let e=0,t=0;for(;e<u.length&&m>0&&t<5;){let a=u[e];e++,t++;let r=await (0,b.listMessages)(a.id,x,{limit:m});if(0===r.messages.length){tG.current=a;continue}let l=tG.current?.created_at??el.created_at;g.push({agentName:n,created_at:l,id:`nap-${a.id}`}),s=[...r.messages,...s],m-=r.messages.length,f=r.has_more,tG.current=a}e>0&&tc(t=>t.slice(e))}let k=[...s,...t];if((0,a.flushSync)(()=>{k.length>0?(g.length>0&&th(e=>{let t=new Set(e.map(e=>e.id)),s=g.filter(e=>!t.has(e.id));return[...e,...s]}),eE(f),ec(e=>{let t=new Set(e.map(e=>e.id));return[...k.filter(e=>!t.has(e.id)),...e]})):eE(!1)}),k.length>0&&el){let e=k.filter(e=>e.conversation_id===el.id);e.length>0&&(0,w.mergeCachedMessages)(el.id,e,v,x).catch(()=>{})}if(tK.current=!1,(0,a.flushSync)(()=>eF(!1)),h)if(e)h.scrollTop=h.scrollHeight;else{let e=h.scrollHeight;h.scrollTop=e-p}}catch{T.toast.error("Failed to load older messages")}finally{tK.current=!1,eF(!1),tP.current&&(tP.current.style.overflowAnchor="")}},[el,x,J,en,sr,sn,si,so,sc,sl]),su=en?ez:ez||to.length>0||td;(0,s.useEffect)(()=>{el?.id!==tQ.current&&(tQ.current=el?.id,tZ.current=0)},[el?.id]),(0,s.useEffect)(()=>{eT||!el||ea||en||eo.length>=10||!su||eR||tZ.current>=3||(tZ.current+=1,sd(!0))},[eT,eo.length,su,eR,el,sd,ea,en]);let sm=(0,s.useCallback)(()=>{let e=tP.current;e&&(tY.current=e.scrollHeight-e.scrollTop-e.clientHeight<100)},[]),sh=(0,s.useCallback)((e,t,s)=>{tB.current&&clearInterval(tB.current),tO.current=s??0,tV.current=0,eA(!1),tH.current=e,tB.current=setInterval(async()=>{if(tH.current===e)try{let[s,a]=await Promise.all([(0,b.getTask)(e,x),(0,b.getTaskMessages)(e,x,tO.current||void 0)]),r=tH.current!==e;if(tV.current=0,eA(!1),a.length>0&&!r&&(ej(e=>{let t=new Set(e.map(e=>e.seq)),s=a.filter(e=>!t.has(e.seq));return s.length>0?[...e,...s]:e}),tO.current=Math.max(...a.map(e=>e.seq),tO.current)),"completed"===s.status||"failed"===s.status||"cancelled"===s.status||"superseded"===s.status){if(r)return void(0,b.listMessages)(t,x).then(({messages:e})=>{ec(t=>eb(t,e)),(0,w.mergeCachedMessages)(t,e,null,x).catch(()=>{})}).catch(()=>{});tB.current&&clearInterval(tB.current),tB.current=null,tW.current&&clearTimeout(tW.current),tW.current=setTimeout(()=>{(0,b.markInboxRead)(t,x).then(()=>se.current()).catch(()=>{})},1e3);let a=!tX.current&&tY.current;try{let[e,a]=await Promise.all([(0,b.listMessages)(t,x),(0,b.listArtifacts)(t,x).catch(()=>null)]);ec(t=>eb(t,e.messages)),(0,w.mergeCachedMessages)(t,e.messages,null,x).catch(()=>{}),a&&eD(a),ev(s)}catch{ev(s),T.toast.error("Failed to refresh messages")}a&&requestAnimationFrame(()=>{tP.current?.scrollTo({top:tP.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!tB.current)try{let[s,a]=await Promise.all([(0,b.getActiveTask)(t,x),(0,b.listBufferedMessages)(t,x)]);if(tn(a),s&&s.id!==e){let{messages:e}=await (0,b.listMessages)(t,x);ec(t=>eb(t,e)),(0,w.mergeCachedMessages)(t,e,null,x).catch(()=>{}),ev(s),ej([]),tJ.current?.(s.id,t)}}catch{}},1e3)}else r||ev(s)}catch{if(tH.current!==e)return;tV.current+=1,tV.current>=3&&eA(!0),tV.current>=10&&(tB.current&&clearInterval(tB.current),tB.current=null,T.toast.error("Lost connection to agent"))}},3e3)},[x]);(0,s.useEffect)(()=>{tJ.current=sh},[sh]),(0,s.useEffect)(()=>()=>{tB.current&&clearInterval(tB.current),tW.current&&clearTimeout(tW.current)},[]);let sp=(0,s.useRef)(null);(0,s.useEffect)(()=>{sp.current=ex?.id??null},[ex]),(0,s.useEffect)(()=>B(e=>{if("task.messages"===e.type&&e.taskId===sp.current){let t=e.messages.filter(e=>e.seq>tO.current);t.length>0&&(ej(e=>{let s=new Set(e.map(e=>e.seq)),a=t.filter(e=>!s.has(e.seq));return a.length>0?[...e,...a]:e}),tO.current=Math.max(...t.map(e=>e.seq),tO.current))}if("task.created"===e.type&&e.conversationId===el?.id){(0,b.listMessages)(e.conversationId,x).then(({messages:t})=>{ec(e=>eb(e,t)),(0,w.mergeCachedMessages)(e.conversationId,t,null,x).catch(()=>{})}).catch(()=>{});let t=e.task;sp.current=t.id,ev(t),ej([]),tO.current=0,tJ.current?.(t.id,e.conversationId)}if("conversation.message"===e.type&&e.conversationId===el?.id&&(ec(t=>eb(t,[e.message])),(0,w.appendCachedMessage)(e.conversationId,e.message,x).catch(()=>{})),"task.updated"===e.type&&e.taskId===sp.current&&ev(t=>t?{...t,status:e.status}:t),"artifact.uploaded"===e.type&&e.conversationId===el?.id&&eD(t=>t.some(t=>t.id===e.artifact.id)?t:[...t,e.artifact]),"followup.dispatched"===e.type&&e.conversationId===el?.id){tn(t=>t.filter(t=>t.id!==e.message.id)),(0,b.listBufferedMessages)(e.conversationId,x).then(tn).catch(()=>{}),(0,b.listMessages)(e.conversationId,x).then(({messages:t})=>{ec(e=>eb(e,t)),(0,w.mergeCachedMessages)(e.conversationId,t,null,x).catch(()=>{})}).catch(()=>{});let t=e.task;sp.current=t.id,ev(t),ej([]),tJ.current?.(t.id,e.conversationId)}"followup.created"===e.type&&e.conversationId===el?.id&&tn(t=>(function(e,t){if(e.some(e=>e.id===t.id))return e;let s=new Date(t.created_at).getTime();return e.some(e=>e.id.startsWith("temp-")&&2e3>Math.abs(new Date(e.created_at).getTime()-s))?e:[...e,t]})(t,e.message)),"followup.deleted"===e.type&&e.conversationId===el?.id&&tn(t=>t.filter(t=>t.id!==e.messageId)),"followup.dispatch_failed"===e.type&&e.conversationId===el?.id&&T.toast.error(e.error||"Failed to dispatch follow-up")}),[B,el?.id,x]);let sf=(0,s.useCallback)(e=>{let t=e.target.files;if(!t)return;let s=[];for(let e of Array.from(t))e.size>0xa00000?T.toast.error(`"${e.name}" exceeds 10 MB limit`):s.push(e);s.length>0&&ta(e=>[...e,...s]),e.target.value=""},[]),sg=(0,s.useCallback)(e=>{ta(t=>t.filter((t,s)=>s!==e))},[]),sx=(0,s.useCallback)(()=>{let e=window.getSelection();if(!e||e.isCollapsed||!e.rangeCount)return void tb(null);let t=e.toString().trim();if(!t)return void tb(null);let s=e.getRangeAt(0),a=s.commonAncestorContainer instanceof HTMLElement?s.commonAncestorContainer:s.commonAncestorContainer.parentElement;if(!a?.closest("[data-quote-source]"))return void tb(null);let r=s.getClientRects(),n=r[r.length-1]||s.getBoundingClientRect();tb({text:t,x:n.right,y:n.top-4})},[]);(0,s.useEffect)(()=>(document.addEventListener("selectionchange",sx),()=>document.removeEventListener("selectionchange",sx)),[sx]);let sv=(0,s.useCallback)(()=>{tj&&(ty(tj.text),tb(null),window.getSelection()?.removeAllRanges(),t1.current?.focus())},[tj]),[sk,sy]=(0,s.useState)(!1),sj=(0,s.useRef)(0),sb=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sj.current++,e.dataTransfer.types.includes("Files")&&sy(!0)},[]),sw=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sj.current--,0===sj.current&&sy(!1)},[]),sN=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),sS=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sy(!1),sj.current=0;let t=Array.from(e.dataTransfer.files),s=[];for(let e of t)e.size>0xa00000?T.toast.error(`"${e.name}" exceeds 10 MB limit`):s.push(e);s.length>0&&ta(e=>[...e,...s])},[]),sC=(0,s.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let s=[];for(let e=0;e<t.length;e++){let a=t[e];if("file"===a.kind){let e=a.getAsFile();e&&s.push(e)}}if(0===s.length)return;e.preventDefault();let a=[];for(let e of s)e.size>0xa00000?T.toast.error(`"${e.name}" exceeds 10 MB limit`):a.push(e);a.length>0&&ta(e=>[...e,...a])},[]),s_=async()=>{if(el&&!ef){eg(!0);try{let e=await (0,b.cancelActiveTask)(el.id,x);if(e){if(sp.current&&sp.current!==e.id)return;tB.current&&clearInterval(tB.current),tB.current=null;let[t,s]=await Promise.all([(0,b.listMessages)(el.id,x),(0,b.listBufferedMessages)(el.id,x)]);ec(e=>eb(e,t.messages)),(0,w.mergeCachedMessages)(el.id,t.messages,null,x).catch(()=>{}),tn(s),ev(e),ej([])}}catch{T.toast.error("Failed to cancel task")}finally{eg(!1)}}},sT=async()=>{let e=ed.trim();if(!e&&0===ts.length||em||!el)return;if(!e)return void T.toast.error("Please type a message");let t=tk?`> ${tk.split("\n").join("\n> ")}
|
|
2
|
+
|
|
3
|
+
${e}`:e;t9.activeSkill&&(t=`/${t9.activeSkill.name} ${t}`);let s=[...ts];if(eu(""),ta([]),ty(null),t9.clearActiveSkill(),eh(!0),ex&&!["completed","failed","cancelled","superseded"].includes(ex.status)){let e=`temp-${Date.now()}`,a={id:e,conversation_id:el.id,role:"user",content:t,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};tn(e=>[...e,a]);try{let{message:a}=await (0,b.createBufferedMessage)(el.id,t,x,s.length>0?s:void 0);tn(t=>t.some(e=>e.id===a.id)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?a:t))}catch(a){tn(t=>t.filter(t=>t.id!==e)),eu(t),ta(s),T.toast.error(a instanceof Error?a.message:"Failed to queue follow-up")}finally{eh(!1)}return}let a=`temp-${Date.now()}`,r={id:a,conversation_id:el.id,role:"user",content:t,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};s.length>0&&tv(e=>{let t=new Map(e);return t.set(a,s),t}),ec(e=>[...e,r]),t7();try{let{message:e,task:n}=await (0,b.sendMessage)(el.id,t,x,s.length>0?s:void 0);tv(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ec(t=>t.map(t=>t.id===r.id?e:t)),e.attachment_ids&&e.attachment_ids.length>0&&(0,b.listArtifacts)(el.id,x).then(e=>eD(e)).catch(()=>{}),ev(n),ej([]),sh(n.id,el.id)}catch(e){tv(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ec(e=>e.filter(e=>e.id!==r.id)),eu(t),ta(s),T.toast.error(e instanceof Error?e.message:"Failed to send message")}finally{eh(!1),t1.current?.focus()}},sM=(0,s.useCallback)(async()=>{if(!ex||!el)return;let e=await (0,b.retryTask)(ex.id,x);ev(e),ej([]),sh(e.id,el.id)},[ex,el,x,sh]),sI=(0,s.useCallback)(async e=>{let t=tS.current.has(e);tN(s=>{let a=new Set(s);return t?a.delete(e):a.add(e),a}),t?(t_(),(0,b.unflagMessage)(x,e).then(()=>{tT()}).catch(()=>{tN(t=>new Set(t).add(e)),tC()})):(tC(),(0,b.flagMessage)(x,e).then(()=>{tT()}).catch(()=>{tN(t=>{let s=new Set(t);return s.delete(e),s}),t_()}))},[x,tC,t_,tT]),sA=(0,s.useCallback)(async e=>{e1(e),eQ(!0),e4(!0),e8(null),e7(null);try{let t=await (0,b.getIssue)(x,e);e5(t),t.issue.latest_task_id&&(0,b.getTask)(t.issue.latest_task_id,x).then(e=>e7(e)).catch(()=>e7(null)),t.issue.trace_id&&(0,b.getTrace)(t.issue.trace_id,x).then(e=>e8(e.tasks)).catch(()=>e8(null))}catch(e){T.toast.error(e instanceof Error?e.message:"Failed to load issue"),eQ(!1)}finally{e4(!1)}},[x]),sz=e2?.issue?.conversation_id??null,sE=e2?.issue?.latest_task_id??null;(0,s.useEffect)(()=>{if(eZ&&e0)return B(e=>{if("task.updated"===e.type&&sE&&e.taskId===sE&&(0,b.getTask)(sE,x).then(e=>e7(e)).catch(()=>{}),"conversation.message"===e.type&&sz&&e.conversationId===sz&&(e5(t=>!t||t.messages.some(t=>t.id===e.message.id)?t:{...t,messages:[...t.messages,e.message]}),"event"===e.message.role&&e.message.content.startsWith("Issue status changed:"))){let t=e.message.content.match(/-> (\w+)/);t&&e5(e=>e?{...e,issue:{...e.issue,status:t[1]}}:e)}"issue.comment"===e.type&&e.issueId===e0&&e5(t=>!t||t.comments.some(t=>t.id===e.comment.id)?t:{...t,comments:[...t.comments,e.comment]})})},[eZ,e0,sz,sE,x,B]);let[sR,sF]=(0,s.useState)(!1),s$=(0,s.useMemo)(()=>!!el&&eo.some(e=>e.conversation_id===el.id),[el,eo]),sD=async()=>{if(el&&s$&&!sR){sF(!0);try{tB.current&&(clearInterval(tB.current),tB.current=null);let e=await (0,b.createConversation)(J,x,V);th(t=>[...t,{agentName:sa,created_at:e.created_at,id:`nap-${el.id}`}]),tc(e=>[{id:el.id,created_at:el.created_at},...e]),ei(e),ev(null),ej([]),eD([]),tn([]),ta([]),tv(new Map),tO.current=0,eA(!1),eE(!1),tG.current=null,t7()}catch{T.toast.error("Failed to start new conversation")}finally{sF(!1)}}},sq=!!ex&&!["completed","failed","cancelled","superseded"].includes(ex.status);return eT?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,t.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(M.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,t.jsx)("div",{className:"flex justify-start",children:(0,t.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,t.jsx)(M.Skeleton,{className:"h-4 w-72"}),(0,t.jsx)(M.Skeleton,{className:"h-4 w-56"}),(0,t.jsx)(M.Skeleton,{className:"h-4 w-64"})]})}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(M.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,t.jsx)("div",{className:"flex justify-start",children:(0,t.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,t.jsx)(M.Skeleton,{className:"h-4 w-64"}),(0,t.jsx)(M.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,t.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,t.jsx)(M.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):eT||el||0!==eo.length?(0,t.jsxs)(t.Fragment,{children:[tj&&(0,t.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:tj.x,top:tj.y,transform:"translate(-100%, -100%)"},onMouseDown:e=>e.preventDefault(),onClick:sv,children:[(0,t.jsx)(D,{className:"size-3"}),"Quote"]}),(0,t.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,t.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:tP,onScroll:sm,onClick:e=>{e.target.closest('[data-streamdown="code-block-actions"] button')&&T.toast.success("Copied to clipboard")},children:(0,t.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4 min-w-0",children:[el&&su&&!eR&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)("button",{onClick:()=>sd(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),eR&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)(p.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===eo.length&&!ex&&(u=k.find(e=>e.id===J),m=u?.created_at&&tg-new Date(u.created_at).getTime()<3e5,h=(z[J]??0)>0,m&&h&&"default"===V?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,t.jsxs)("div",{className:"relative animate-bounce",children:[(0,t.jsx)($.Mail,{className:"size-8 text-primary"}),(0,t.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,t.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,t.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,t.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),tD.map(e=>{if("nap"===e.kind)return(0,t.jsx)(eS,{agentName:sa},e.data.id);if("artifact"===e.kind)return(0,t.jsx)(eC,{artifact:e.data,version:tz.get(e.data.id)??1,hasDuplicates:tE.has(e.data.filename),onClick:tq},`artifact-${e.data.id}`);let s=e.data;return(0,t.jsx)(ep,{msg:s,agents:k,artifacts:e$,activeTask:ex,taskMessages:ek,connectionLost:eI,isLastMessage:eo.length>0&&eo[eo.length-1].id===s.id,stepCount:s.task_id?tp[s.task_id]??0:0,targetConvId:en,workspaceId:x,conversationType:el?.type,pendingFilesByMessage:tx,onArtifactClick:tq,onEmailClick:e=>{eK(e),eV(!0)},onCalendarEventClick:e=>{eG(e),eX(!0)},onIssueClick:e=>sA(e),onRetry:sM,mentionComponents:ey,isFlagged:tw.has(s.id),onToggleFlag:"assistant"===s.role?sI:void 0},s.id)}),ex&&ex.conversation_id===el?.id&&!["completed","failed","cancelled","superseded"].includes(ex.status)&&(0,t.jsx)(j,{task:ex,messages:ek,connectionLost:eI})]})}),(0,t.jsx)(es.ScrollToBottomButton,{scrollRef:tP})]}),el&&(0,t.jsx)(et,{bufferedMessages:tr,onDelete:e=>{tn(t=>t.filter(t=>t.id!==e)),(0,b.deleteBufferedMessage)(el.id,e,x).catch(()=>{tn(tr),T.toast.error("Failed to delete follow-up")})}}),(0,t.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,t.jsxs)("div",{className:(0,o.cn)("relative flex flex-col rounded-xl border bg-background/60 transition-colors duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",em&&"opacity-50",sk&&"border-ring ring-3 ring-ring/50"),onDragEnter:sb,onDragLeave:sw,onDragOver:sN,onDrop:sS,children:[sk&&(0,t.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-background/80 border-2 border-dashed border-ring pointer-events-none",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),t9.activeSkill&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"shrink-0 text-xs font-medium text-primary",children:["/",t9.activeSkill.name]}),t9.activeSkill.isGlobal&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Global"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:t9.activeSkill.description})]}),(0,t.jsx)("button",{type:"button",onClick:t9.clearActiveSkill,className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,t.jsx)(P.X,{className:"size-3.5"})})]}),tk&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,t.jsx)(D,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[tk.slice(0,120),tk.length>120?"...":""]})]}),(0,t.jsx)("button",{type:"button",onClick:()=>ty(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,t.jsx)(P.X,{className:"size-3.5"})})]}),(0,t.jsx)(W,{isOpen:t2.isOpen,relatedAgents:t2.relatedAgents,otherAgents:t2.otherAgents,selectedIndex:t2.selectedIndex,onSelect:t2.selectAgent,anchorPos:t2.anchorPos}),(0,t.jsx)(O,{isOpen:t9.isOpen,skills:t9.skills,selectedIndex:t9.selectedIndex,onSelect:t9.selectSkill,anchorPos:t9.anchorPos}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{"aria-hidden":!0,className:"mention-backdrop absolute inset-0 px-3.5 py-2.5 text-base chat-input-line-height whitespace-pre-wrap wrap-break-word pointer-events-none overflow-y-auto thin-scrollbar",dangerouslySetInnerHTML:{__html:ed?U(ed.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),k).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(ed.endsWith("\n")?"\n":""):""}}),(0,t.jsx)("textarea",{ref:t1,value:ed,enterKeyHint:"send",onChange:e=>{eu(e.target.value),ti(e.target.selectionStart),requestAnimationFrame(()=>{let t=e.target.previousElementSibling;t&&(t.scrollTop=e.target.scrollTop)})},onKeyDown:e=>{t2.handleMentionKeyDown(e)||!t9.handleSlashKeyDown(e)&&("Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),sT()))},onPaste:sC,onKeyUp:e=>ti(e.target.selectionStart),onClick:e=>ti(e.target.selectionStart),onSelect:e=>ti(e.target.selectionStart),onScroll:e=>{let t=e.target.previousElementSibling;t&&(t.scrollTop=e.target.scrollTop)},placeholder:sq?"Type a follow-up...":"Type a message or / for skills...",rows:1,disabled:em,className:(0,o.cn)("relative field-sizing-content w-full resize-none bg-transparent px-3.5 py-2.5 text-base chat-input-line-height outline-none","placeholder:text-muted-foreground disabled:cursor-not-allowed","min-h-9.5 max-h-50 thin-scrollbar","caret-foreground textarea-text-hidden")})]}),ts.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:ts.map((e,s)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-30",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground/60",children:(0,K.formatSize)(e.size)}),(0,t.jsx)("button",{type:"button",onClick:()=>sg(s),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,t.jsx)(P.X,{className:"size-3"})})]},`${e.name}-${s}`))}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[!en&&(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:e=>(0,t.jsx)("span",{...e,className:(0,o.cn)("inline-flex",e.className),children:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:sD,disabled:sR||!el||!s$||sq,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:sR?(0,t.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(E,{className:"size-3.5"})})})}),(0,t.jsx)(I.TooltipContent,{side:"top",children:sq?"Wait for the task to finish":s$?"Take a nap":`${sa} is well-rested and ready to go`})]}),(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsxs)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{eH("agent"),eL(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,t.jsx)(R,{className:"size-3.5"}),tA.length>0&&(0,t.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex size-3.5 items-center justify-center rounded-full bg-primary text-[9px] font-medium text-primary-foreground",children:tA.length})]}),(0,t.jsx)(I.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("input",{ref:t0,type:"file",multiple:!0,className:"hidden",onChange:sf}),(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onPointerDown:e=>e.preventDefault(),onClick:()=>t0.current?.click(),disabled:em,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,t.jsx)(q.Paperclip,{className:"size-3.5"})}),(0,t.jsx)(I.TooltipContent,{side:"top",children:"Attach files"})]}),!sq||ed.trim()||em?(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:sT,disabled:!ed.trim()||em,className:(0,o.cn)("rounded-lg transition-opacity duration-200",!ed.trim()&&"opacity-40")}),children:em?(0,t.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(A.ArrowUp,{className:"size-3.5"})}),(0,t.jsx)(I.TooltipContent,{side:"top",children:"Send"})]}):(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:s_,disabled:ef,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:ef?(0,t.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(L.Square,{className:"size-3.5 fill-current"})}),(0,t.jsx)(I.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,t.jsx)(K.ArtifactSheet,{open:eq,onOpenChange:e=>{eL(e),e||setTimeout(()=>{eB(null),eH(null)},300)},artifacts:tR,workspaceId:x,initialArtifact:eP,versionMap:tF,duplicateFilenames:t$}),(0,t.jsx)(G,{open:eO,onOpenChange:e=>{eV(e),e||setTimeout(()=>eK(null),300)},emailId:eU,workspaceId:x}),(0,t.jsx)(Z.CalendarEventSheet,{readonly:!0,open:eY,onOpenChange:e=>{eX(e),e||setTimeout(()=>eG(null),300)},calendarEventId:eJ,workspaceId:x}),(0,t.jsx)(Q.IssueSheet,{open:eZ,onOpenChange:e=>{eQ(e),e||setTimeout(()=>{e1(null),e5(null),e7(null)},300)},agents:k,issue:e2?.issue??null,detail:e2?{messages:e2.messages,comments:e2.comments,artifacts:e2.artifacts,traceId:e2.issue.trace_id}:null,detailLoading:e3,activeTask:e9,traceTasks:e6,slug:v,workspaceId:x,width:te,onWidthChange:tt,onUpdate:async(e,t)=>{try{let s=await (0,b.updateIssue)(x,e,t);e5(a=>a&&a.issue.id===e?{...a,issue:{...a.issue,...t,updated_at:s.updated_at}}:a)}catch(e){T.toast.error(e instanceof Error?e.message:"Failed to update issue")}},onStatusChange:async(e,t)=>{try{await (0,b.updateIssue)(x,e,{status:t}),e5(s=>s&&s.issue.id===e?{...s,issue:{...s.issue,status:t}}:s)}catch(e){T.toast.error(e instanceof Error?e.message:"Failed to update status")}},onCommented:()=>{e0&&sA(e0)},onArtifactClick:tL})]}):(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}]);
|