@alook/app 0.0.114 → 0.0.116
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/email-worker/index.js +1 -4
- 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/{0feon~hbkd1t8.js → 042a4jeudcp22.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/05fixgtx_-ze-.css +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0715u44or2i1i.js → 0_7t-ouonb08v.js} +3 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0h8.l2~vkjfpw.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{13ogh4gvbsvjk.js → 0j5gd-ljh6ao_.js} +8 -8
- package/bundled/web/.open-next/assets/_next/static/chunks/0quc_lvg3c4wu.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0xqzej4w6tl6c.js → 0u8cu1dfn9~01.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0-7zbpbou2q0v.js → 0xg02n4bo4.1m.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0qw~z43b_bgrg.js → 110sy1mmp9v~7.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/118ani.qejoy9.js +1 -0
- package/bundled/web/.open-next/cache/{x-lS9KPn-DIgZqdgRNu_9 → LCMVDfuuzs8SMP0bLdwOY}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/LCMVDfuuzs8SMP0bLdwOY/_not-found.cache +1 -0
- package/bundled/web/.open-next/cache/LCMVDfuuzs8SMP0bLdwOY/device.cache +1 -0
- package/bundled/web/.open-next/cache/LCMVDfuuzs8SMP0bLdwOY/privacy.cache +1 -0
- package/bundled/web/.open-next/cache/{x-lS9KPn-DIgZqdgRNu_9 → LCMVDfuuzs8SMP0bLdwOY}/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 +4 -4
- 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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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]/page/react-loadable-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/device/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page/react-loadable-manifest.json +2 -2
- 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/[root-of-the-server]__0bzc7r~._.js +1 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +12 -12
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0jj44iu._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0m4uqwa._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0mibx4k._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r0h9so._.js +3 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_web_src_lib_templates_index_ts_11-ty8l._.js +14 -14
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0846~en._.js → [root-of-the-server]__10nperb._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__132awpx._.js +3 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +12 -12
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0_.06ux._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_05hfk17._.js → _0bt_5pi._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_06dpfp3._.js → _0bti.y.._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_01g5dh~._.js → _0iiagkx._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0sby7nn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0vtcof8._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0n8_7oy._.js → node_modules__pnpm_0.jtjpe._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0_rt39a._.js → node_modules__pnpm_02vp72~._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_13gq74f._.js → node_modules__pnpm_04xzk.p._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0n.c~~q._.js → node_modules__pnpm_0i183cf._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0e4tyqm._.js → node_modules__pnpm_0j~49hk._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0096k5c._.js → node_modules__pnpm_0k_ahqs._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0c132ub._.js → node_modules__pnpm_0t783t_._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0xf9tnh._.js → node_modules__pnpm_0y6wy4c._.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_components_home_home-page_tsx_0to84tv._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_lib_templates_index_ts_13n9_2e._.js +14 -14
- 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 +212 -145
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +223 -223
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/bundled/ws-do/index.js +1 -4
- package/dist/cli/index.js +1 -4
- package/dist/cli/session-runner.js +1 -4
- package/dist/index.js +1 -4
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/006-noi3b_.54.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0fekq_vr-82ms.css +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0fh1ptsb-9xd_.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0tm9bdxmm8_z_.js +0 -1
- package/bundled/web/.open-next/cache/x-lS9KPn-DIgZqdgRNu_9/_not-found.cache +0 -1
- package/bundled/web/.open-next/cache/x-lS9KPn-DIgZqdgRNu_9/device.cache +0 -1
- package/bundled/web/.open-next/cache/x-lS9KPn-DIgZqdgRNu_9/privacy.cache +0 -1
- /package/bundled/web/.open-next/assets/_next/static/{x-lS9KPn-DIgZqdgRNu_9 → LCMVDfuuzs8SMP0bLdwOY}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{x-lS9KPn-DIgZqdgRNu_9 → LCMVDfuuzs8SMP0bLdwOY}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{x-lS9KPn-DIgZqdgRNu_9 → LCMVDfuuzs8SMP0bLdwOY}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{x-lS9KPn-DIgZqdgRNu_9 → LCMVDfuuzs8SMP0bLdwOY}/robots.txt.cache +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
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",()=>eL,"getEventIconType",()=>eA],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(64873),d=e.i(371522);e.i(112946);var u=e.i(164300),m=e.i(418277),f=e.i(72852),h=e.i(108281),g=e.i(140483);let p={claude:"Claude Code",codex:"Codex",opencode:"OpenCode"},x="the agent runtime";function v({provider:e,message:a,onRetry:r,retrying:n}){let[l,i]=(0,s.useState)(!1),o=n??l,c=async()=>{if(r){i(!0);try{await r()}finally{i(!1)}}};return(0,t.jsxs)("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-2 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("p",{className:"flex items-center gap-1.5 text-sm font-semibold text-destructive min-w-0",children:[(0,t.jsx)(h.AlertCircle,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:["Error from ",e?p[e]??x:x]})]}),r&&(0,t.jsxs)("button",{type:"button",onClick:c,disabled:o,className:"ml-auto shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[o?(0,t.jsx)(d.Loader2,{className:"size-3 animate-spin"}):(0,t.jsx)(g.RotateCw,{className:"size-3"}),"Retry"]})]}),(0,t.jsx)("p",{className:"mt-1.5 text-sm text-destructive/90 wrap-anywhere whitespace-pre-wrap",children:a}),(0,t.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:"This came from the agent runtime on your machine, not from Alook."})]})}function k({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,thinkingCountHint:l,onExpandThinking:h,thinkingLoading:g,provider:p}){let x=(0,s.useMemo)(()=>(function(e){let t=[];for(let s of e){let e=s.id||`seq-${s.seq}`;"text"===s.type?t.push({kind:"text",id:e,content:s.content}):"error"===s.type&&t.push({kind:"error",id:e,content:s.content||s.output})}return t})(a),[a]),b="completed"!==e.status&&"failed"!==e.status&&"cancelled"!==e.status&&"superseded"!==e.status,y=x.filter(e=>"text"===e.kind),w=x.filter(e=>"error"===e.kind),N=y.length>0?y[y.length-1]:null,C=(0,s.useRef)(null),_=(0,s.useRef)(!1);(0,s.useEffect)(()=>{b&&C.current&&(C.current.scrollTop=C.current.scrollHeight)},[y.length,b]);let S=b?y:y.slice(0,-1),T=!b&&null!==N,M=S.length>0||l&&l>0,I=S.length>0?S.length:l??0;return(0,t.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[!h&&(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%)"}})]}):b?(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})}),M&&(0,t.jsxs)("details",{className:"group/midtext pl-1",open:!T&&!h||void 0,onToggle:e=>{e.currentTarget.open&&!_.current&&h&&(_.current=!0,h())},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)(c.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)(k,{value:I})," thinking"]})]}),(0,t.jsxs)("div",{ref:C,className:"mt-1 pl-1",children:[g&&0===S.length&&(0,t.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,t.jsx)(d.Loader2,{className:"size-3 animate-spin"}),(0,t.jsx)("span",{children:"Loading..."})]}),S.map(e=>(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 text-sm text-muted-foreground",children:(0,t.jsx)(u.Streamdown,{plugins:{mermaid:m.mermaid,cjk:f.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:e.content})},e.id))]})]}),T&&!h&&(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(u.Streamdown,{plugins:{mermaid:m.mermaid,cjk:f.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:N.content})}),w.length>0&&(0,t.jsx)("div",{className:"space-y-1 mt-1",children:w.map(e=>(0,t.jsx)(v,{provider:p,message:e.content},e.id))}),"failed"===e.status&&e.error&&(0,t.jsx)("div",{className:"mt-2",children:(0,t.jsx)(v,{provider:p,message:e.error,onRetry:n})}),r&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var b=e.i(222862),y=e.i(275351),w=e.i(355578),N=e.i(875494),C=e.i(74348),_=e.i(872937),S=e.i(880932),T=e.i(728886),M=e.i(329686),I=e.i(36303),E=e.i(406963);let A=(0,E.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"}]]);var z=e.i(872057),R=e.i(6131);let D=(0,E.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 F=e.i(653216),P=e.i(554468),$=e.i(745925),L=e.i(937091);function q({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 B({isOpen:e,skills:a,selectedIndex:r,onSelect:n,anchorPos:l}){let i=(0,s.useRef)(null);if((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)return null;let o=Math.max(8,window.innerWidth-280-8),c=Math.min(l.left,o);return(0,t.jsx)("div",{className:"fixed z-100 w-70 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:l.top-4,left:c,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)(q,{skill:e,isSelected:s===r,onSelect:n},e.name))})})}var O=e.i(944391),H=e.i(415708),W=e.i(842892),U=e.i(333556);function K(e,t){if(!t)return e;let s=t.toLowerCase(),a=[],r=[];for(let t of e){let e=t.name.toLowerCase();e.startsWith(s)?a.push(t):e.includes(s)&&r.push(t)}return[...a,...r]}var V=e.i(161767);function Y(e){return e.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}e.i(954194);var X=e.i(439769);let G={items:[],selectedIndex:0,command:null,rect:null};function J({state:e}){let r=(0,s.useRef)(null),{items:n,selectedIndex:l,command:i,rect:c}=e;if((0,s.useEffect)(()=>{if(!r.current)return;let e=r.current.children[l];e?.scrollIntoView({block:"nearest"})},[l]),!c||0===n.length||!i)return null;let d=Math.max(8,window.innerWidth-256-8),u=Math.min(c.left,d);return(0,a.createPortal)((0,t.jsx)("div",{className:"fixed z-100 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md",style:{top:c.top-4,left:u,transform:"translateY(-100%)"},children:(0,t.jsx)("div",{ref:r,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:n.map((e,s)=>(0,t.jsxs)("button",{type:"button",className:(0,o.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",s===l?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:t=>{t.preventDefault(),i({id:e.id,label:e.name})},children:[(0,t.jsx)("span",{className:"truncate font-medium",children:e.name}),e.email_handle&&(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:(0,X.toAlookAddress)(e.email_handle)})]},e.id))})}),document.body)}let Q=(0,s.forwardRef)(function({value:e,onChange:a,onEditorState:r,onSend:n,placeholder:l,disabled:i,onMultiLineChange:o,onFiles:c,agents:d,agentLinks:u,currentAgentId:m,slashIsOpen:f,onSlashKeyDown:h},g){let[p,x]=(0,s.useState)(G),v=(0,s.useRef)(p);(0,s.useEffect)(()=>{v.current=p},[p]);let k=(0,s.useRef)(d),j=(0,s.useRef)(u),b=(0,s.useRef)(m),y=(0,s.useRef)(n),w=(0,s.useRef)(r),N=(0,s.useRef)(a),C=(0,s.useRef)(c),_=(0,s.useRef)(f),S=(0,s.useRef)(h);(0,s.useEffect)(()=>{k.current=d},[d]),(0,s.useEffect)(()=>{j.current=u},[u]),(0,s.useEffect)(()=>{b.current=m},[m]),(0,s.useEffect)(()=>{y.current=n},[n]),(0,s.useEffect)(()=>{w.current=r},[r]),(0,s.useEffect)(()=>{N.current=a},[a]),(0,s.useEffect)(()=>{C.current=c},[c]),(0,s.useEffect)(()=>{_.current=f},[f]),(0,s.useEffect)(()=>{S.current=h},[h]);let T=e=>{w.current(e.getText(),e.state.selection.from-1)},[M]=(0,s.useState)(()=>V.default.extend({markdownName:"mention",renderMarkdown:e=>`@${e.attrs.label??e.attrs.id}`}).configure({HTMLAttributes:{class:"mention-highlight"},renderText:({node:e})=>`@${e.attrs.label??e.attrs.id}`,suggestion:{char:"@",items:({query:e})=>(function(e,t,s,a,r=20){let n=function(e,t){let s=new Set;for(let a of e)a.source_agent_id===t&&s.add(a.target_agent_id),a.target_agent_id===t&&s.add(a.source_agent_id);return s}(t,s),l=[],i=[];for(let t of e)n.has(t.id)?l.push(t):i.push(t);return[...K(l,a),...K(i,a)].slice(0,r)})(k.current,j.current,b.current,e),render:()=>({onStart:e=>{x({items:e.items??[],selectedIndex:0,command:e.command,rect:e.clientRect?.()??null})},onUpdate:e=>{x(t=>({items:e.items??[],selectedIndex:t.selectedIndex<(e.items?.length??0)?t.selectedIndex:0,command:e.command,rect:e.clientRect?.()??null}))},onKeyDown:({event:e})=>{if(e.isComposing)return!1;let t=v.current;if(0===t.items.length)return!1;if("ArrowDown"===e.key)return e.preventDefault(),x(e=>({...e,selectedIndex:(e.selectedIndex+1)%e.items.length})),!0;if("ArrowUp"===e.key)return e.preventDefault(),x(e=>({...e,selectedIndex:(e.selectedIndex-1+e.items.length)%e.items.length})),!0;if("Enter"===e.key){e.preventDefault();let s=t.items[t.selectedIndex];return s&&t.command&&t.command({id:s.id,label:s.name}),x(G),!0}return"Escape"===e.key&&(x(G),!0)},onExit:()=>x(G)})}})),I=(0,O.useEditor)({immediatelyRender:!1,content:e?e.replaceAll("\n","<br>"):void 0,editable:!i,extensions:[H.default.configure({heading:!1,blockquote:!1,codeBlock:!1,horizontalRule:!1,bold:!1,italic:!1,strike:!1,code:!1,link:!1,bulletList:!1,orderedList:!1,listItem:!1,listKeymap:!1}),W.default.configure({placeholder:l??""}),U.Markdown,M],editorProps:{attributes:{class:"outline-none",enterkeyhint:"send"},handleKeyDown:(e,t)=>(!(v.current.items.length>0)||null===v.current.command)&&(!!(_.current&&S.current({key:t.key,isComposing:t.isComposing,preventDefault:()=>t.preventDefault()}))||"Enter"===t.key&&!t.shiftKey&&!t.isComposing&&!_.current&&(t.preventDefault(),y.current(),!0)),handlePaste:(e,t)=>{let s=t.clipboardData?.items;if(!s)return!1;let a=[];for(let e=0;e<s.length;e++)if("file"===s[e].kind){let t=s[e].getAsFile();t&&a.push(t)}if(a.length>0)return t.preventDefault(),C.current?.(a),!0;let r=t.clipboardData?.getData("text/plain");return!!r&&(t.preventDefault(),e.dispatch(e.state.tr.insertText(r)),!0)},handleDrop:()=>!1},onUpdate:({editor:e})=>{N.current(Y(e.getMarkdown())),T(e)},onSelectionUpdate:({editor:e})=>{T(e)}});(0,s.useEffect)(()=>{I?.setEditable(!i)},[I,i]),(0,s.useEffect)(()=>{if(!I)return;let t=(e||"").trim();t!==Y(I.getMarkdown()||"").trim()&&(t?I.commands.setContent((e||"").replaceAll("\n","<br>"),{emitUpdate:!1}):I.commands.clearContent(),w.current(I.getText(),I.state.selection.from-1))},[e,I]);let E=(0,s.useRef)(null);return(0,s.useEffect)(()=>{if(!I||!o)return;let e=E.current?.querySelector(".ProseMirror");if(!e)return;let t=()=>o(e.scrollHeight>32);t();let s=new ResizeObserver(t);return s.observe(e),()=>s.disconnect()},[I,o]),(0,s.useImperativeHandle)(g,()=>({focus:()=>I?.commands.focus(),clear:()=>I?.commands.clearContent(),isEmpty:()=>I?.isEmpty??!0,coordsAtTextIndex:e=>{if(!I)return null;try{let t=I.view.coordsAtPos(e+1);return{top:t.top,left:t.left}}catch{return null}}}),[I]),(0,t.jsxs)("div",{ref:E,className:"chat-composer relative",children:[(0,t.jsx)(O.EditorContent,{editor:I,className:"max-h-44 overflow-y-auto thin-scrollbar pr-2 text-base chat-input-line-height"}),(0,t.jsx)(J,{state:p})]})});var Z=e.i(721387),ee=e.i(288329),et=e.i(332680),es=e.i(535991),ea=e.i(940931);function er({open:e,onOpenChange:a,emailId:r,workspaceId:n}){let[i,o]=(0,s.useState)(null),[c,u]=(0,s.useState)(null),[m,f]=(0,s.useState)(!1),{width:h,onPointerDown:g,onPointerMove:p,onPointerUp:x}=(0,ee.useSheetResize)({defaultWidth:500,minWidth:320,maxWidthRatio:.8}),v=(0,s.useRef)(a);(0,s.useEffect)(()=>{v.current=a}),(0,s.useEffect)(()=>{e&&r&&(f(!0),o(null),u(null),Promise.all([(0,b.getEmail)(r,n),(0,b.getEmailBody)(r,n)]).then(([e,t])=>{o(e),u(t)}).catch(()=>{S.toast.error("Email not found"),v.current(!1)}).finally(()=>f(!1)))},[e,r,n]);let k=e=>{a(e),e||setTimeout(()=>{o(null),u(null)},300)};return(0,t.jsx)(et.Sheet,{open:e,onOpenChange:k,children:(0,t.jsxs)(et.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)(ee.SheetResizeHandle,{onPointerDown:g,onPointerMove:p,onPointerUp:x}),(0,t.jsx)(et.SheetHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(R.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsx)(et.SheetTitle,{className:"truncate flex-1",children:m?"Loading...":i?.subject||"Email"}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>k(!1),children:(0,t.jsx)(L.X,{className:"h-4 w-4"})})]})}),(0,t.jsx)(et.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:m?(0,t.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,t.jsx)(d.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)(ea.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)(P.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)(es.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 en=e.i(781360),el=e.i(169678),ei=e.i(364079);function eo({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)(P.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)(L.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 ec=e.i(219658);function ed(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 eu(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||ed(e,s))&&(!i||ed(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}let em={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 ef({taskId:e,thinkingCount:a,workspaceId:r,provider:n}){let[l,i]=(0,s.useState)([]),[o,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(!1),m=(0,s.useCallback)(async()=>{if(!d&&!o){c(!0);try{let t=await (0,b.getTaskMessages)(e,r);i(t)}catch{i([])}finally{c(!1),u(!0)}}},[d,o,e,r]);return(0,t.jsx)(j,{task:em,messages:l,thinkingCountHint:a,onExpandThinking:m,thinkingLoading:o,provider:n})}var eh=e.i(983453),eg=e.i(251638);let ep=(0,E.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,ep],618615);var ex=e.i(89440),ev=e.i(541544);let ek={mention:["data-agent-id"]},ej=["mention"];function eb({content:e,conversationType:s}){let a=eA(e,s),r="h-4 w-4 mt-0.5 shrink-0";return"issue"===a?(0,t.jsx)(eg.CircleDot,{className:r}):"email"===a?(0,t.jsx)(R.Mail,{className:r}):(0,t.jsx)(eh.Calendar,{className:r})}function ey({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)(z.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.filename})]},e.id))})}function ew({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)(z.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.name})]},s))}):null}let eN={solo:"rounded-2xl",first:"rounded-tl-2xl rounded-tr-2xl rounded-bl-2xl rounded-br-md",middle:"rounded-tl-2xl rounded-tr-md rounded-bl-2xl rounded-br-md",last:"rounded-tl-2xl rounded-tr-md rounded-bl-2xl rounded-br-2xl"},eC=(0,s.memo)(function({msg:e,agents:a,artifacts:r,activeTask:n,taskMessages:i,connectionLost:c,isLastMessage:d,thinkingCount:h,targetConvId:g,workspaceId:p,conversationType:x,pendingFilesByMessage:k,onArtifactClick:b,onEmailClick:y,onIssueClick:w,onCalendarEventClick:N,onRetry:C,mentionComponents:_,isFlagged:T,onToggleFlag:I,groupPosition:E="solo",provider:A}){let z,R,D,F,P,$,L,{copy:q,copied:B}=function(e=2e3){let[t,a]=(0,s.useState)(!1),r=(0,s.useRef)(void 0),n=(0,s.useCallback)(async t=>{try{return await navigator.clipboard.writeText(t),a(!0),clearTimeout(r.current),r.current=setTimeout(()=>a(!1),e),!0}catch{return!1}},[e]);return(0,s.useEffect)(()=>()=>clearTimeout(r.current),[]),{copy:n,copied:t}}(),O=n&&"assistant"===e.role&&e.task_id===n.id&&e.conversation_id===n.conversation_id&&i.length>0,H=O&&n&&["completed","failed","cancelled","superseded"].includes(n.status),W="assistant"===e.role?(0,t.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,t.jsxs)(M.Tooltip,{children:[(0,t.jsx)(M.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs","aria-label":B?"Copied":"Copy message",onClick:async t=>{t.stopPropagation(),await q(e.content)?S.toast.success("Copied to clipboard"):S.toast.error("Failed to copy")},className:(0,o.cn)("self-start mb-1",B?"text-green-500 opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:B?(0,t.jsx)(ev.Check,{className:"size-3.5"}):(0,t.jsx)(ex.Copy,{className:"size-3.5"})}),(0,t.jsx)(M.TooltipContent,{children:B?"Copied":"Copy"})]}),I&&(0,t.jsxs)(M.Tooltip,{children:[(0,t.jsx)(M.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",onClick:()=>I(e.id),className:(0,o.cn)("self-start mb-1",T?"text-primary opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:(0,t.jsx)(ep,{className:(0,o.cn)("size-3.5",T&&"fill-current")})}),(0,t.jsx)(M.TooltipContent,{children:T?"Unflag":"Flag"})]})]}):null;return(0,t.jsxs)(s.default.Fragment,{children:[O&&(0,t.jsxs)("div",{className:(0,o.cn)("group/msg",T&&"bg-muted/30 rounded-lg px-2 -mx-2"),...H?{"data-quote-source":!0}:{},children:[(0,t.jsx)(j,{task:n,messages:i,connectionLost:c,onRetry:C,provider:A}),H&&W]}),"user"===e.role?(z=d&&!!n&&"running"!==n.status&&!["completed","failed","cancelled","superseded"].includes(n.status),R=e.content.match(/^\/(\S+)\s?([\s\S]*)$/),D=R?.[1]??null,F=R?R[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%] px-4 py-2 bg-primary text-primary-foreground text-base relative",eN[E]),children:[z&&(0,t.jsx)("div",{className:(0,o.cn)("absolute inset-0 animate-pulse pointer-events-none",eN[E]),style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),D&&(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:["/",D]}),F&&(0,t.jsx)("div",{className:"markdown markdown-user",children:(0,t.jsx)(u.Streamdown,{plugins:{mermaid:m.mermaid,cjk:f.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ek,literalTagContent:ej,components:_,children:eu(F,a)})}),e.attachment_ids&&e.attachment_ids.length>0&&(0,t.jsx)(ey,{attachmentIds:e.attachment_ids,artifacts:r,onArtifactClick:b}),!e.attachment_ids&&(0,t.jsx)(ew,{pendingFiles:k,messageId:e.id})]})})):"event"===e.role?(P=e.metadata?.emailId,$=e.metadata?.issueId,L=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",(!!P||!!$||!!L)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:P?()=>y(P):$?()=>w($):L?()=>N(L):void 0,children:[(0,t.jsx)(eb,{content:e.content,conversationType:x}),(0,t.jsx)("span",{className:"min-w-0 wrap-anywhere",children:e.content})]})})):O?null:(0,t.jsxs)("div",{className:(0,o.cn)("group/msg flex flex-col justify-start min-w-0 overflow-x-clip",T&&"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:[g&&"assistant"===e.role&&e.task_id&&h>1&&(0,t.jsx)(ef,{taskId:e.task_id,thinkingCount:h-1,workspaceId:p,provider:A}),e.metadata?.error_source==="runtime"?(0,t.jsx)("div",{className:"px-1 py-1",children:(0,t.jsx)(v,{provider:e.metadata.provider??A,message:e.content})}):(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(u.Streamdown,{plugins:{mermaid:m.mermaid,cjk:f.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ek,literalTagContent:ej,components:_,children:eu(e.content,a)})}),W]})]})});e.i(400175);var e_=e.i(819748),eS=e.i(126366),eT=e.i(309475);function eM({agent:e,isOnline:a,activeTaskCount:r,variant:n="default",isHovered:l}){let[i,c]=(0,s.useState)(!1),d=e.email_handle?(0,X.toAlookAddress)(e.email_handle):null,u=(0,s.useCallback)(async()=>{if(d)try{await navigator.clipboard.writeText(d),c(!0),S.toast.success("Email copied to clipboard"),setTimeout(()=>c(!1),2e3)}catch{S.toast.error("Failed to copy email")}},[d]);if("compact"===n){let s;return(0,t.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(s=(0,eS.parseAvatarUrl)(e.avatar_url))?(0,t.jsx)(e_.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}),d&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:d})]}),void 0!==a&&(0,t.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,t.jsx)(eT.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"]})]}),d&&(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:d}),(0,t.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),u()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:i?(0,t.jsx)(ev.Check,{className:"size-3 text-green-500"}):(0,t.jsx)(ex.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,eM],844010);var eI=e.i(224950);let eE={mention:function(e){let{children:s,...a}=e,{agents:r}=(0,w.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)(eI.Popover,{children:[(0,t.jsx)(eI.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,t.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:s}),(0,t.jsx)(eI.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,t.jsx)(eM,{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 eA(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 ez(e){return e.slice().sort((e,t)=>{let s=e.created_at.localeCompare(t.created_at);return 0!==s?s:e.id.localeCompare(t.id)})}function eR(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 ez([...s.values()])}function eD(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 eF(e){let t=(0,s.useRef)(e);return(0,s.useEffect)(()=>{t.current=e},[e]),t}function eP({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 e$({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)(z.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,Z.formatSize)(e.size)})]})]})}function eL({agentId:e,targetConvId:i,scrollToTaskId:c,scrollToMessageId:u}){let m,f,h,g=(0,r.useParams)(),p=(0,r.useSearchParams)(),{workspaceId:x,slug:v}=(0,n.useWorkspace)(),{agents:k,runtimes:E,agentLinks:q,activeTaskCounts:O,subscribeWs:H,subscribeReconnect:W}=(0,w.useAgentContext)(),{refresh:U}=(0,N.useInboxCount)(),{activeChannel:K,loading:V,setAgentId:Y}=(0,_.useChannel)(),X=e??g.id,G=k.find(e=>e.id===X),J=G?.runtime_id?E.find(e=>e.id===G.runtime_id):null,ee=J?.provider??null,et=void 0!==c?c:p.get("task"),es=void 0!==u?u:p.get("msg"),ea=void 0!==i?i:p.get("conv"),[ed,eu]=(0,s.useState)(null),[em,ef]=(0,s.useState)([]),[eh,eg]=(0,s.useState)(()=>localStorage.getItem(`chat-draft:${X}:${ea??"default"}`)??""),[ep,ex]=(0,s.useState)(!1),[ev,ek]=(0,s.useState)(!1),[ej,eb]=(0,s.useState)(null),[ey,ew]=(0,s.useState)([]),[eN,e_]=(0,s.useState)(!0),[eS,eT]=(0,s.useState)(!1),[eM,eA]=(0,s.useState)(!1),[eq,eB]=(0,s.useState)(!1),[eO,eH]=(0,s.useState)([]),[eW,eU]=(0,s.useState)(!1),[eK,eV]=(0,s.useState)(null),[eY,eX]=(0,s.useState)(!1),[eG,eJ]=(0,s.useState)(null),[eQ,eZ]=(0,s.useState)(!1),[e0,e1]=(0,s.useState)(null),[e2,e5]=(0,s.useState)(!1),[e3,e4]=(0,s.useState)(null),[e8,e6]=(0,s.useState)(null),[e9,e7]=(0,s.useState)(!1),[te,tt]=(0,s.useState)(null),[ts,ta]=(0,s.useState)(null),[tr,tn]=(0,s.useState)([]),[tl,ti]=(0,s.useState)([]),[to,tc]=(0,s.useState)(null),[td,tu]=(0,s.useState)([]),[tm,tf]=(0,s.useState)(!1),[th,tg]=(0,s.useState)([]),[tp,tx]=(0,s.useState)({}),[tv]=(0,s.useState)(()=>Date.now()),[tk,tj]=(0,s.useState)(()=>new Map),[tb,ty]=(0,s.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(`chat-draft-meta:${X}:${ea??"default"}`)??"null");return e?.quote??null}catch{return null}}),[tw,tN]=(0,s.useState)(!1),[tC,t_]=(0,s.useState)(null),[tS,tT]=(0,s.useState)(new Set),tM=(0,s.useRef)(tS);(0,s.useEffect)(()=>{tM.current=tS});let{increment:tI,decrement:tE,refresh:tA}=(0,C.useFlagCount)(),{writeToCache:tz}=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,y.openCacheDB)(t);let s=!1;return(0,y.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,a)=>{i.current&&t&&await (0,y.mergeCachedMessages)(i.current,e,s,t,a)},[t])}}(ea??null,x),tR=(0,s.useRef)(tz);(0,s.useEffect)(()=>{tR.current=tz},[tz]),(0,s.useEffect)(()=>{Y(X)},[X,Y]);let tD=(0,s.useMemo)(()=>eO.filter(e=>"agent"===e.source),[eO]),{versionMap:tF,duplicateFilenames:tP}=(0,s.useMemo)(()=>(0,ei.computeArtifactVersions)(tD),[tD]),t$=(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)}),eD(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=>eD([...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=eD(e),s=i.findIndex(e=>"nap"===e.kind);s>=0?i.splice(s,0,...t):i.push(...t)}return i})(em,tD,th,ed?.id),[em,tD,th,ed?.id]),tL=(0,s.useMemo)(()=>(function(e){let t=Array(e.length).fill(null),s=e=>"user"===e.role||"assistant"===e.role;for(let a=0;a<e.length;a++){let r=e[a];if("message"!==r.kind)continue;let n=r.data;if(!s(n))continue;let l=a>0?e[a-1]:null,i=a<e.length-1?e[a+1]:null,o=l?.kind==="message"&&s(l.data)&&l.data.role===n.role&&(!n.created_at||!l.data.created_at||6e4>Math.abs(new Date(n.created_at).getTime()-new Date(l.data.created_at).getTime())),c=i?.kind==="message"&&s(i.data)&&i.data.role===n.role&&(!n.created_at||!i.data.created_at||6e4>Math.abs(new Date(i.data.created_at).getTime()-new Date(n.created_at).getTime()));o&&c?t[a]="middle":o&&!c?t[a]="last":!o&&c?t[a]="first":t[a]="solo"}return t})(t$),[t$]),tq=(0,s.useCallback)(e=>{(0,ei.isPreviewable)(e)?(eV(e),eU(!0)):window.open((0,ei.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tB=(0,s.useCallback)(e=>{(0,ei.isPreviewable)(e)?(eV(e),eU(!0)):window.open((0,ei.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tO=(0,s.useRef)(null),tH=(0,s.useRef)(null),tW=(0,s.useRef)(null),tU=(0,s.useRef)(null),tK=(0,s.useRef)(0),tV=(0,s.useRef)(0),tY=(0,s.useRef)(!1),tX=(0,s.useRef)(!1),tG=(0,s.useRef)(!0),tJ=(0,s.useRef)(!1),tQ=(0,s.useRef)(null),tZ=(0,s.useRef)(null),t0=(0,s.useRef)(0),t1=(0,s.useRef)(void 0),t2=(0,s.useRef)(null),t5=(0,s.useRef)({completedKey:null}),t3=(0,s.useRef)(null),t4=(0,s.useRef)(null),[t8,t6]=(0,s.useState)(""),t9=(0,s.useMemo)(()=>k.filter(e=>e.id!==X),[k,X]),[t7,se]=(0,s.useState)([]),st=(0,s.useRef)(!1),ss=(0,s.useRef)(!1);(0,s.useEffect)(()=>{st.current||(st.current=!0,(0,b.getAgentSkills)(X,x).then(e=>se(e.skills)).catch(()=>{}))},[X,x]);let[sa]=(0,s.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(`chat-draft-meta:${X}:${ea??"default"}`)??"null");return e?.skill??null}catch{return null}}),sr=function({input:e,caretIndex:t,skills:a,onInputChange:r,initialActiveSkill:n,getAnchorPos:l,onAfterSelect:i}){let[o,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(""),[m,f]=(0,s.useState)(0),[h,g]=(0,s.useState)({top:0,left:0}),p=(0,s.useRef)(null),x=(0,s.useMemo)(()=>{if(!o)return[];if(!d)return a;let e=d.toLowerCase(),t=[],s=[];for(let r of a){let a=r.name.toLowerCase();a.startsWith(e)?t.push(r):a.includes(e)&&s.push(r)}return[...t,...s]},[o,d,a]);(0,s.useEffect)(()=>{f(0)},[x.length,d]);let[v,k]=(0,s.useState)(n??null);(0,s.useEffect)(()=>{if(v||null===t)return void c(!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);if(s){p.current=s.start,u(s.query),c(!0);let e=l(s.start);e&&g(e)}else c(!1),p.current=null},[e,t,l,v]);let j=(0,s.useCallback)(e=>{k(e),r(""),c(!1),i?.()},[r,i]),b=(0,s.useCallback)(()=>{k(null)},[]),y=(0,s.useCallback)(e=>!!o&&0!==x.length&&!e.isComposing&&("ArrowDown"===e.key?(e.preventDefault(),f(e=>(e+1)%x.length),!0):"ArrowUp"===e.key?(e.preventDefault(),f(e=>(e-1+x.length)%x.length),!0):"Enter"===e.key||"Tab"===e.key?(e.preventDefault(),j(x[m]),!0):"Escape"===e.key&&(e.preventDefault(),c(!1),!0)),[o,x,m,j]);return{isOpen:o,query:d,selectedIndex:m,anchorPos:h,skills:x,activeSkill:v,handleSlashKeyDown:y,selectSkill:j,clearActiveSkill:b,setActiveSkill:k}}({input:t8,caretIndex:to,skills:t7,onInputChange:()=>t4.current?.clear(),initialActiveSkill:sa,getAnchorPos:(0,s.useCallback)(e=>t4.current?.coordsAtTextIndex(e)??null,[]),onAfterSelect:(0,s.useCallback)(()=>{requestAnimationFrame(()=>t4.current?.focus())},[])});(0,s.useEffect)(()=>{0===t7.length||!sr.activeSkill||t7.some(e=>e.name===sr.activeSkill.name)||sr.setActiveSkill(null)},[t7]),(0,s.useEffect)(()=>{let e=`chat-draft:${X}:${ea??"default"}`;eh?localStorage.setItem(e,eh):localStorage.removeItem(e)},[eh,X,ea]),(0,s.useEffect)(()=>{if(!ss.current)return;let e=`chat-draft-meta:${X}:${ea??"default"}`,t={};sr.activeSkill&&(t.skill={name:sr.activeSkill.name,description:sr.activeSkill.description}),tb&&(t.quote=tb),t.skill||t.quote?localStorage.setItem(e,JSON.stringify(t)):localStorage.removeItem(e)},[sr.activeSkill,tb,X,ea]),(0,s.useEffect)(()=>{ep||t4.current?.focus()},[ep]);let sn=(0,s.useCallback)(()=>{tG.current=!0,setTimeout(()=>{tO.current?.scrollTo({top:tO.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,s.useEffect)(()=>{var e,t;if(!ea&&V)return;let s=(e={workspaceId:x,agentId:X,targetConvId:ea,scrollToTaskId:et}).targetConvId?`${e.workspaceId}::${e.agentId}::${e.targetConvId}::${e.scrollToTaskId??""}`:null;if(t=t5.current,s&&t.completedKey===s||(t.completedKey=null,0))return;tH.current&&clearInterval(tH.current),tH.current=null,tU.current=null,t2.current=null;let a=!1;e_(!0),tY.current=!1,eb(null),ew([]),ti([]),tj(new Map),tg([]),tx({}),tu([]),tf(!1),tZ.current=null,eg(localStorage.getItem(`chat-draft:${X}:${ea??"default"}`)??"");let r=localStorage.getItem(`chat-draft-meta:${X}:${ea??"default"}`);if(r)try{let e=JSON.parse(r);ty(e.quote??null),sr.setActiveSkill(e.skill?e.skill:null)}catch{ty(null),sr.setActiveSkill(null)}else ty(null),sr.setActiveSkill(null);async function n(e){let t=await (0,y.getCacheMeta)(e,x);if(t?.newestMessageId){let s=await (0,y.getCachedMessages)(e,x);if(a)return{painted:!1,cacheMeta:t};if(s&&s.length>0)return ef(s),eA(t.hasMore),e_(!1),{painted:!0,cacheMeta:t}}return{painted:!1,cacheMeta:t}}return ss.current=!0,ef([]),async function(){let e=!1;try{let t=null,s=null,r=null;if(ea){t=ea;let r=await n(t);if(a)return;s=r.cacheMeta,e=r.painted}else{let l=await (0,y.getLastOpenConversation)(X,K,x);if(a)return;if(l?.conversation_id&&l.serverMessageCount>0){let t=await n(l.conversation_id);if(a)return;t.painted&&(e=!0,r=l.conversation_id,s=t.cacheMeta)}try{let l=await (0,b.checkFreshness)({agentId:X,channel:K},x);if(a)return;if(t=l.conversation_id,r&&t!==r){tY.current=!1,tG.current=!0;let r=await n(t);if(a)return;s=r.cacheMeta,e=r.painted,r.painted||(ef([]),e_(!0))}else if(!r){let r=await n(t);if(a)return;s=r.cacheMeta,e=r.painted}}catch{}}if(t){t2.current=t;let r=await (0,b.conversationInit)(t,x,{newestMessageId:s?.newestMessageId??void 0,messageCount:s?.serverMessageCount||void 0});if(a)return;if(eu(r.conversation),tf(r.has_more_conversations),!r.cache_valid&&r.messages){let s=tG.current;ef(e=>eR(e,r.messages)),t2.current===t&&(0,y.mergeCachedMessages)(t,r.messages,r.has_more_messages,x,r.message_count).catch(()=>{}),eA(r.has_more_messages),e&&tY.current&&s&&sn()}else s&&eA(s.hasMore);if(t2.current===t&&!ea){let e=await (0,y.getCacheMeta)(t,x);if(a)return;(0,y.setLastOpenConversation)(X,K,{conversation_id:t,newestMessageId:e?.newestMessageId??s?.newestMessageId??null,serverMessageCount:r.message_count},x).catch(()=>{})}if(tx(r.thinking_counts),eH(r.artifacts),ti(r.buffered_messages),tT(new Set(r.flagged_message_ids)),r.active_task&&(eb(r.active_task),ew(r.task_messages),r.task_messages.length>0&&(tK.current=Math.max(...r.task_messages.map(e=>e.seq))),tQ.current?.(r.active_task.id,t,tK.current)),et){let e=await (0,b.getTask)(et,x).catch(()=>null);if(a)return;if(e&&!["completed","failed","cancelled","superseded"].includes(e.status)){eb(e);let s=await (0,b.getTaskMessages)(et,x).catch(()=>[]);if(a)return;ew(s),s.length>0&&(tK.current=Math.max(...s.map(e=>e.seq))),tQ.current?.(e.id,t,tK.current)}}}else{let t=await (0,b.chatInit)(X,x,K);if(a)return;t2.current=t.conversation.id,eu(t.conversation);let s=tG.current;ef(e=>e.length>0?eR(e,t.messages):t.messages),eA(t.has_more_messages),eH(t.artifacts),ti(t.buffered_messages),tf(t.has_more_conversations),(0,y.mergeCachedMessages)(t.conversation.id,t.messages,t.has_more_messages,x).catch(()=>{}),(0,y.setLastOpenConversation)(X,K,{conversation_id:t.conversation.id,newestMessageId:t.messages.length>0?t.messages[t.messages.length-1].id:null,serverMessageCount:t.has_more_messages?0:t.messages.length},x).catch(()=>{}),e&&tY.current&&s&&sn(),(0,b.listFlaggedMessageIds)(x,t.conversation.id).then(e=>{a||tT(new Set(e.message_ids))}).catch(()=>{}),t.active_task&&(eb(t.active_task),t.task_messages.length>0&&(ew(t.task_messages),tK.current=Math.max(...t.task_messages.map(e=>e.seq))),["completed","failed","cancelled","superseded"].includes(t.active_task.status)||tQ.current?.(t.active_task.id,t.conversation.id,tK.current))}}catch{e?S.toast.error("Couldn't refresh conversation"):S.toast.error("Failed to load conversation")}finally{if(!a){var t;e_(!1),t=t5.current,s&&(t.completedKey=s)}}}(),()=>{a=!0}},[X,x,ea,et,K,V]);let sl=(0,s.useRef)(U);(0,s.useEffect)(()=>{sl.current=U},[U]);let si=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!ed?.id||!x||si.current===ed.id)return;si.current=ed.id;let e=setTimeout(()=>{(0,b.markInboxRead)(ed.id,x).then(()=>sl.current()).catch(()=>{})},1e3);return()=>{si.current=null,clearTimeout(e)}},[ed?.id,x]),(0,s.useEffect)(()=>{eN||!(em.length>0)||tY.current||(tY.current=!0,et||es?tG.current=!1:i?setTimeout(()=>{let e=tO.current?.querySelectorAll("[data-quote-source]");e&&e.length>0?e[e.length-1].scrollIntoView({behavior:"instant",block:"start"}):tO.current?.scrollTo({top:tO.current.scrollHeight})},50):setTimeout(()=>{tO.current?.scrollTo({top:tO.current.scrollHeight})},50))},[eN,em.length,et,es,i]),(0,s.useEffect)(()=>{let e;if(!et||eN||!ed)return;tG.current=!1,tJ.current=!0;let t=!1,s=()=>{if(t)return!1;let s=document.querySelector(`[data-task-id="${CSS.escape(et)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tJ.current=!1)},1500),!0)},a=setTimeout(async()=>{if(!t&&!s())try{let e=await (0,b.listMessagesAroundTask)(ed.id,x,et);if(t)return;e.length>0?(ef(t=>eR(t,e)),requestAnimationFrame(()=>{setTimeout(()=>{s()||(tJ.current=!1)},100)})):tJ.current=!1}catch{t||(tJ.current=!1)}},100);return()=>{t=!0,clearTimeout(a),e&&clearTimeout(e)}},[et,eN,ed,x]),(0,s.useEffect)(()=>{let e;if(!es||et||eN||!ed)return;tG.current=!1,tJ.current=!0;let t=!1,s=setTimeout(()=>{!t&&((()=>{if(t)return!1;let s=document.querySelector(`[data-message-id="${CSS.escape(es)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tJ.current=!1)},1500),!0)})()||(tO.current?.scrollTo({top:tO.current.scrollHeight}),tJ.current=!1))},100);return()=>{t=!0,clearTimeout(s),e&&clearTimeout(e)}},[es,et,eN,ed]);let so=ej?.status;(0,s.useEffect)(()=>{tJ.current||("running"===so||"queued"===so)&&tG.current&&sn()},[ey.length,so,sn]);let sc=(0,s.useMemo)(()=>k.find(e=>e.id===X)?.name??"Agent",[k,X]),sd=eF(em),su=eF(eM),sm=eF(td),sf=eF(tm),sh=eF(sc),sg=eF(K),sp=(0,s.useCallback)(async(e=!1)=>{if(!ed||tX.current)return;tX.current=!0;let t=sd.current,s=su.current,r=sf.current,n=sh.current,l=sg.current,i=!!ea,o=t[0],c=tZ.current?.id??ed.id,d=s&&o,u=sm.current;if(!i&&!d&&0===u.length&&r){let e=tZ.current??{id:ed.id,created_at:ed.created_at};try{let t=await (0,b.listPreviousConversations)(X,x,{exclude:ed.id,before:e.created_at,channel:l});u=t.conversations,tu(t.conversations),tf(t.has_more)}catch{tf(!1)}}let m=!i&&u.length>0;if(!d&&!m){tX.current=!1;return}eB(!0);let f=tO.current;f&&(f.style.overflowAnchor="none");let h=f?.scrollHeight??0;try{let t=[],s=[],m=20,g=!1,p=[],v=!1;if(d){let e=c===ed.id?await (0,y.getCachedMessagesBefore)(c,o.created_at,o.id,20,x):null;if(e)t=e.messages,m-=e.messages.length,g=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,g=e.has_more}v=g}if(!i&&!g&&m>0){if(0===u.length&&r){let e=tZ.current??{id:ed.id,created_at:ed.created_at};try{let t=await (0,b.listPreviousConversations)(X,x,{exclude:ed.id,before:e.created_at,channel:l});u=t.conversations,tu(t.conversations),tf(t.has_more)}catch{tf(!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){tZ.current=a;continue}let l=tZ.current?.created_at??ed.created_at;p.push({agentName:n,created_at:l,id:`nap-${a.id}`}),s=[...r.messages,...s],m-=r.messages.length,g=r.has_more,tZ.current=a}e>0&&tu(t=>t.slice(e))}let k=[...s,...t];if((0,a.flushSync)(()=>{k.length>0?(p.length>0&&tg(e=>{let t=new Set(e.map(e=>e.id)),s=p.filter(e=>!t.has(e.id));return[...e,...s]}),eA(g),ef(e=>{let t=new Set(e.map(e=>e.id));return[...k.filter(e=>!t.has(e.id)),...e]})):eA(!1)}),k.length>0&&ed){let e=k.filter(e=>e.conversation_id===ed.id);e.length>0&&(0,y.mergeCachedMessages)(ed.id,e,v,x).catch(()=>{})}if(tX.current=!1,(0,a.flushSync)(()=>eB(!1)),f)if(e)f.scrollTop=f.scrollHeight;else{let e=f.scrollHeight;f.scrollTop=e-h}}catch{S.toast.error("Failed to load older messages")}finally{tX.current=!1,eB(!1),tO.current&&(tO.current.style.overflowAnchor="")}},[ed,x,X,ea,sd,su,sf,sh,sg,sm]),sx=ea?eM:eM||td.length>0||tm;(0,s.useEffect)(()=>{ed?.id!==t1.current&&(t1.current=ed?.id,t0.current=0)},[ed?.id]),(0,s.useEffect)(()=>{eN||!ed||et||ea||em.length>=10||!sx||eq||t0.current>=3||(t0.current+=1,sp(!0))},[eN,em.length,sx,eq,ed,sp,et,ea]);let sv=(0,s.useCallback)(()=>{let e=tO.current;e&&(tG.current=e.scrollHeight-e.scrollTop-e.clientHeight<100)},[]),sk=(0,s.useCallback)((e,t,s)=>{tH.current&&clearInterval(tH.current),tK.current=s??0,tV.current=0,eT(!1),tU.current=e,tH.current=setInterval(async()=>{if(tU.current===e)try{let[s,a]=await Promise.all([(0,b.getTask)(e,x),(0,b.getTaskMessages)(e,x,tK.current||void 0)]),r=tU.current!==e;if(tV.current=0,eT(!1),a.length>0&&!r&&(ew(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}),tK.current=Math.max(...a.map(e=>e.seq),tK.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})=>{ef(t=>eR(t,e)),(0,y.mergeCachedMessages)(t,e,null,x).catch(()=>{})}).catch(()=>{});tH.current&&clearInterval(tH.current),tH.current=null,tW.current&&clearTimeout(tW.current),tW.current=setTimeout(()=>{(0,b.markInboxRead)(t,x).then(()=>sl.current()).catch(()=>{})},1e3);let a=!tJ.current&&tG.current;try{let[e,a]=await Promise.all([(0,b.listMessages)(t,x),(0,b.listArtifacts)(t,x).catch(()=>null)]);ef(t=>eR(t,e.messages)),(0,y.mergeCachedMessages)(t,e.messages,null,x).catch(()=>{}),a&&eH(a),eb(s)}catch{eb(s),S.toast.error("Failed to refresh messages")}a&&requestAnimationFrame(()=>{tO.current?.scrollTo({top:tO.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!tH.current)try{let[s,a]=await Promise.all([(0,b.getActiveTask)(t,x),(0,b.listBufferedMessages)(t,x)]);if(ti(a),s&&s.id!==e){let{messages:e}=await (0,b.listMessages)(t,x);ef(t=>eR(t,e)),(0,y.mergeCachedMessages)(t,e,null,x).catch(()=>{}),eb(s),ew([]),tQ.current?.(s.id,t)}}catch{}},1e3)}else r||eb(s)}catch{if(tU.current!==e)return;tV.current+=1,tV.current>=3&&eT(!0),tV.current>=10&&(tH.current&&clearInterval(tH.current),tH.current=null,S.toast.error("Lost connection to agent"))}},3e3)},[x]);(0,s.useEffect)(()=>{tQ.current=sk},[sk]),(0,s.useEffect)(()=>()=>{tH.current&&clearInterval(tH.current),tW.current&&clearTimeout(tW.current)},[]);let sj=(0,s.useRef)(null);(0,s.useEffect)(()=>{sj.current=ej?.id??null},[ej]),(0,s.useEffect)(()=>H(e=>{if("task.messages"===e.type&&e.taskId===sj.current){let t=e.messages.filter(e=>e.seq>tK.current);t.length>0&&(ew(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}),tK.current=Math.max(...t.map(e=>e.seq),tK.current))}if("task.created"===e.type&&e.conversationId===ed?.id){(0,b.listMessages)(e.conversationId,x).then(({messages:t})=>{ef(e=>eR(e,t)),(0,y.mergeCachedMessages)(e.conversationId,t,null,x).catch(()=>{})}).catch(()=>{});let t=e.task;sj.current=t.id,eb(t),ew([]),tK.current=0,tQ.current?.(t.id,e.conversationId)}if("task.created"===e.type){let t=e.task,s=sg.current;(0,y.getLastOpenConversation)(X,s,x).then(e=>{let a=function(e){let{task:t,agentId:s,activeChannel:a,currentPointerConvId:r}=e;return t.agent_id!==s||(t.channel??"default")!==a||t.conversation_id===r?null:t.conversation_id}({task:t,agentId:X,activeChannel:s,currentPointerConvId:e?.conversation_id??null});if(a)return(0,y.getCacheMeta)(a,x).then(e=>(0,y.setLastOpenConversation)(X,s,{conversation_id:a,newestMessageId:e?.newestMessageId??null,serverMessageCount:e?.messageCount??0},x))}).catch(()=>{})}if("conversation.message"===e.type&&(e.conversationId===t2.current&&(0,y.appendCachedMessage)(e.conversationId,e.message,x).catch(()=>{}),e.conversationId===ed?.id&&ef(t=>{let s=new Date(e.message.created_at).getTime(),a=t.findIndex(t=>t.id.startsWith("temp-")&&t.role===e.message.role&&t.content===e.message.content&&2e3>Math.abs(new Date(t.created_at).getTime()-s));if(-1!==a){let s=[...t];return s[a]=e.message,s}return eR(t,[e.message])})),"task.updated"===e.type&&e.taskId===sj.current&&eb(t=>t?{...t,status:e.status}:t),"artifact.uploaded"===e.type&&e.conversationId===ed?.id&&eH(t=>t.some(t=>t.id===e.artifact.id)?t:[...t,e.artifact]),"followup.dispatched"===e.type&&e.conversationId===ed?.id){ti(t=>t.filter(t=>t.id!==e.message.id)),(0,b.listBufferedMessages)(e.conversationId,x).then(ti).catch(()=>{}),(0,b.listMessages)(e.conversationId,x).then(({messages:t})=>{ef(e=>eR(e,t)),(0,y.mergeCachedMessages)(e.conversationId,t,null,x).catch(()=>{})}).catch(()=>{});let t=e.task;sj.current=t.id,eb(t),ew([]),tQ.current?.(t.id,e.conversationId)}"followup.created"===e.type&&e.conversationId===ed?.id&&ti(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===ed?.id&&ti(t=>t.filter(t=>t.id!==e.messageId)),"followup.dispatch_failed"===e.type&&e.conversationId===ed?.id&&S.toast.error(e.error||"Failed to dispatch follow-up")}),[H,ed?.id,x,X]),(0,s.useEffect)(()=>W(()=>{ed?.id&&(0,y.getCacheMeta)(ed.id,x).then(e=>{(0,b.conversationInit)(ed.id,x,{newestMessageId:e?.newestMessageId??void 0,messageCount:e?.serverMessageCount??void 0}).then(e=>{!e.cache_valid&&e.messages&&(ef(t=>eR(t,e.messages)),tR.current(e.messages,e.has_more_messages,e.message_count).catch(()=>{}))}).catch(()=>{})})}),[W,ed?.id,x]);let sb=(0,s.useCallback)(e=>{let t=[];for(let s of e)s.size>0xa00000?S.toast.error(`"${s.name}" exceeds 10 MB limit`):t.push(s);t.length>0&&tn(e=>[...e,...t])},[]),sy=(0,s.useCallback)(e=>{let t=e.target.files;t&&(sb(Array.from(t)),e.target.value="")},[sb]),sw=(0,s.useCallback)(e=>{tn(t=>t.filter((t,s)=>s!==e))},[]),sN=(0,s.useCallback)(()=>{let e=window.getSelection();if(!e||e.isCollapsed||!e.rangeCount)return void t_(null);let t=e.toString().trim();if(!t)return void t_(null);let s=e.getRangeAt(0),a=s.commonAncestorContainer instanceof HTMLElement?s.commonAncestorContainer:s.commonAncestorContainer.parentElement;if(!a?.closest("[data-quote-source]"))return void t_(null);let r=s.getClientRects(),n=r[r.length-1]||s.getBoundingClientRect();t_({text:t,x:n.right,y:n.top-4})},[]);(0,s.useEffect)(()=>(document.addEventListener("selectionchange",sN),()=>document.removeEventListener("selectionchange",sN)),[sN]);let sC=(0,s.useCallback)(()=>{tC&&(ty(tC.text),t_(null),window.getSelection()?.removeAllRanges(),t4.current?.focus())},[tC]),[s_,sS]=(0,s.useState)(!1),sT=(0,s.useRef)(0),sM=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sT.current++,e.dataTransfer.types.includes("Files")&&sS(!0)},[]),sI=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sT.current--,0===sT.current&&sS(!1)},[]),sE=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),sA=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sS(!1),sT.current=0,sb(Array.from(e.dataTransfer.files))},[sb]),sz=async()=>{if(ed&&!ev){ek(!0);try{let e=await (0,b.cancelActiveTask)(ed.id,x);if(e){if(sj.current&&sj.current!==e.id)return;tH.current&&clearInterval(tH.current),tH.current=null;let[t,s]=await Promise.all([(0,b.listMessages)(ed.id,x),(0,b.listBufferedMessages)(ed.id,x)]);ef(e=>eR(e,t.messages)),(0,y.mergeCachedMessages)(ed.id,t.messages,null,x).catch(()=>{}),ti(s),eb(e),ew([])}}catch{S.toast.error("Failed to cancel task")}finally{ek(!1)}}},sR=async()=>{let e=eh.trim();if(!e&&0===tr.length||ep||!ed)return;if(!e)return void S.toast.error("Please type a message");let t=tb?`> ${tb.split("\n").join("\n> ")}
|
|
2
|
-
|
|
3
|
-
${e}`:e;sr.activeSkill&&(t=`/${sr.activeSkill.name} ${t}`);let s=[...tr];if(eg(""),tn([]),ty(null),sr.clearActiveSkill(),ex(!0),ej&&!["completed","failed","cancelled","superseded"].includes(ej.status)){let e=`temp-${Date.now()}`,a={id:e,conversation_id:ed.id,role:"user",content:t,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};ti(e=>[...e,a]);try{let{message:a}=await (0,b.createBufferedMessage)(ed.id,t,x,s.length>0?s:void 0);ti(t=>t.some(e=>e.id===a.id)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?a:t))}catch(a){ti(t=>t.filter(t=>t.id!==e)),eg(t),tn(s),S.toast.error(a instanceof Error?a.message:"Failed to queue follow-up")}finally{ex(!1)}return}let a=`temp-${Date.now()}`,r={id:a,conversation_id:ed.id,role:"user",content:t,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};s.length>0&&tj(e=>{let t=new Map(e);return t.set(a,s),t}),ef(e=>[...e,r]),sn();try{let{message:e,task:n}=await (0,b.sendMessage)(ed.id,t,x,s.length>0?s:void 0);tj(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ef(t=>{if(!t.some(e=>e.id===r.id))return t.some(t=>t.id===e.id)?t:ez([...t,e]);let s=t.filter(t=>t.id!==r.id&&t.id!==e.id);return ez([...s,e])}),(0,y.appendCachedMessage)(ed.id,e,x).catch(()=>{}),e.attachment_ids&&e.attachment_ids.length>0&&(0,b.listArtifacts)(ed.id,x).then(e=>eH(e)).catch(()=>{}),eb(n),ew([]),sk(n.id,ed.id)}catch(e){tj(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ef(e=>e.filter(e=>e.id!==r.id)),eg(t),tn(s),S.toast.error(e instanceof Error?e.message:"Failed to send message")}finally{ex(!1),t4.current?.focus()}},sD=(0,s.useCallback)(async()=>{if(!ej||!ed)return;let e=await (0,b.retryTask)(ej.id,x);eb(e),ew([]),sk(e.id,ed.id)},[ej,ed,x,sk]),sF=(0,s.useCallback)(async e=>{let t=tM.current.has(e);tT(s=>{let a=new Set(s);return t?a.delete(e):a.add(e),a}),t?(tE(),(0,b.unflagMessage)(x,e).then(()=>{tA()}).catch(()=>{tT(t=>new Set(t).add(e)),tI()})):(tI(),(0,b.flagMessage)(x,e).then(()=>{tA()}).catch(()=>{tT(t=>{let s=new Set(t);return s.delete(e),s}),tE()}))},[x,tI,tE,tA]),sP=(0,s.useCallback)(async e=>{e4(e),e5(!0),e7(!0),tt(null),ta(null);try{let t=await (0,b.getIssue)(x,e);e6(t),t.issue.latest_task_id&&(0,b.getTask)(t.issue.latest_task_id,x).then(e=>ta(e)).catch(()=>ta(null)),t.issue.trace_id&&(0,b.getTrace)(t.issue.trace_id,x).then(e=>tt(e.tasks)).catch(()=>tt(null))}catch(e){S.toast.error(e instanceof Error?e.message:"Failed to load issue"),e5(!1)}finally{e7(!1)}},[x]),s$=e8?.issue?.conversation_id??null,sL=e8?.issue?.latest_task_id??null;(0,s.useEffect)(()=>{if(e2&&e3)return H(e=>{if("task.updated"===e.type&&sL&&e.taskId===sL&&(0,b.getTask)(sL,x).then(e=>ta(e)).catch(()=>{}),"conversation.message"===e.type&&s$&&e.conversationId===s$&&(e6(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&&e6(e=>e?{...e,issue:{...e.issue,status:t[1]}}:e)}"issue.comment"===e.type&&e.issueId===e3&&e6(t=>!t||t.comments.some(t=>t.id===e.comment.id)?t:{...t,comments:[...t.comments,e.comment]})})},[e2,e3,s$,sL,x,H]);let[sq,sB]=(0,s.useState)(!1),[sO,sH]=(0,s.useState)(!1),sW=(0,s.useMemo)(()=>!!ed&&em.some(e=>e.conversation_id===ed.id),[ed,em]),sU=async()=>{if(ed&&sW&&!sq){sB(!0);try{tH.current&&(clearInterval(tH.current),tH.current=null);let e=await (0,b.createConversation)(X,x,K);tg(t=>[...t,{agentName:sc,created_at:e.created_at,id:`nap-${ed.id}`}]),tu(e=>[{id:ed.id,created_at:ed.created_at},...e]),eu(e),eb(null),ew([]),eH([]),ti([]),tn([]),tj(new Map),tK.current=0,eT(!1),eA(!1),tZ.current=null,sn()}catch{S.toast.error("Failed to start new conversation")}finally{sB(!1)}}},sK=!!ej&&!["completed","failed","cancelled","superseded"].includes(ej.status);return eN?(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)(T.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)(T.Skeleton,{className:"h-4 w-72"}),(0,t.jsx)(T.Skeleton,{className:"h-4 w-56"}),(0,t.jsx)(T.Skeleton,{className:"h-4 w-64"})]})}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(T.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)(T.Skeleton,{className:"h-4 w-64"}),(0,t.jsx)(T.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,t.jsx)("div",{className:"px-3 md:px-5 pt-3 pb-5 md:pb-6",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,t.jsx)(T.Skeleton,{className:"h-12 w-full rounded-3xl"})})})]}):eN||ed||0!==em.length?(0,t.jsxs)(t.Fragment,{children:[tC&&(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:tC.x,top:tC.y,transform:"translate(-100%, -100%)"},onMouseDown:e=>e.preventDefault(),onClick:sC,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:tO,onScroll:sv,onClick:e=>{e.target.closest('[data-streamdown="code-block-actions"] button')&&S.toast.success("Copied to clipboard")},children:(0,t.jsxs)("div",{className:"mx-auto max-w-2xl pt-6 pb-15 min-w-0",children:[ed&&sx&&!eq&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)("button",{onClick:()=>sp(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),eq&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)(d.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===em.length&&!ej&&(m=k.find(e=>e.id===X),f=m?.created_at&&tv-new Date(m.created_at).getTime()<3e5,h=(O[X]??0)>0,f&&h&&"default"===K?(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)(R.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."})),t$.map((e,s)=>{let a=tL[s],r="first"===a||"solo"===a||null===a,n=0===s?"":r?"mt-4":"mt-0.5";if("nap"===e.kind)return(0,t.jsx)("div",{className:n,children:(0,t.jsx)(eP,{agentName:sc})},e.data.id);if("artifact"===e.kind)return(0,t.jsx)("div",{className:n,children:(0,t.jsx)(e$,{artifact:e.data,version:tF.get(e.data.id)??1,hasDuplicates:tP.has(e.data.filename),onClick:tq})},`artifact-${e.data.id}`);let l=e.data;return(0,t.jsx)("div",{className:n,children:(0,t.jsx)(eC,{msg:l,agents:k,artifacts:eO,activeTask:ej,taskMessages:ey,connectionLost:eS,isLastMessage:em.length>0&&em[em.length-1].id===l.id,thinkingCount:l.task_id?tp[l.task_id]??0:0,targetConvId:ea,workspaceId:x,conversationType:ed?.type,pendingFilesByMessage:tk,onArtifactClick:tq,onEmailClick:e=>{eJ(e),eX(!0)},onCalendarEventClick:e=>{e1(e),eZ(!0)},onIssueClick:e=>sP(e),onRetry:sD,mentionComponents:eE,isFlagged:tS.has(l.id),onToggleFlag:"assistant"===l.role?sF:void 0,groupPosition:a??"solo",provider:ee})},l.id)}),ej&&ej.conversation_id===ed?.id&&!["completed","failed","cancelled","superseded"].includes(ej.status)&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(j,{task:ej,messages:ey,connectionLost:eS,provider:ee})})]})}),(0,t.jsx)(ec.ScrollToBottomButton,{scrollRef:tO})]}),ed&&(0,t.jsx)(eo,{bufferedMessages:tl,onDelete:e=>{ti(t=>t.filter(t=>t.id!==e)),(0,b.deleteBufferedMessage)(ed.id,e,x).catch(()=>{ti(tl),S.toast.error("Failed to delete follow-up")})}}),(0,t.jsx)("div",{className:"relative z-10 px-3 md:px-5 pt-3 pb-5 md:pb-6",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[!ea&&(0,t.jsxs)(eI.Popover,{open:sO,onOpenChange:sH,children:[(0,t.jsx)(eI.PopoverTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 self-end mb-2.5 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,t.jsx)(F.MoreHorizontal,{className:"size-4"})}),(0,t.jsx)(eI.PopoverContent,{side:"top",align:"start",className:"w-auto p-1.5 flex flex-col gap-0.5",children:(0,t.jsxs)(M.Tooltip,{children:[(0,t.jsx)(M.TooltipTrigger,{render:e=>(0,t.jsx)("span",{...e,className:(0,o.cn)("inline-flex",e.className),children:(0,t.jsxs)(l.Button,{variant:"ghost",size:"sm",onClick:()=>{sH(!1),sU()},disabled:sq||!ed||!sW||sK,className:"w-full justify-start gap-2 rounded-md text-muted-foreground hover:text-foreground",children:[sq?(0,t.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(A,{className:"size-3.5"}),(0,t.jsx)("span",{className:"text-xs",children:"Nap"})]})})}),(0,t.jsx)(M.TooltipContent,{side:"right",children:sK?"Wait for the task to finish":sW?"Take a nap":`${sc} is well-rested and ready to go`})]})})]}),(0,t.jsxs)("div",{className:(0,o.cn)("relative flex-1 min-w-0 flex flex-col rounded-3xl border border-border/50 bg-background/90 transition-[border-radius] duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",(tw||tb||sr.activeSkill)&&"rounded-2xl",ep&&"opacity-50",s_&&"border-ring ring-3 ring-ring/50"),onDragEnter:sM,onDragLeave:sI,onDragOver:sE,onDrop:sA,children:[s_&&(0,t.jsx)("div",{className:(0,o.cn)("absolute inset-0 z-10 flex items-center justify-center bg-background/80 border-2 border-dashed border-ring pointer-events-none",tw||tb||sr.activeSkill?"rounded-2xl":"rounded-3xl"),children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),sr.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:["/",sr.activeSkill.name]}),sr.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:sr.activeSkill.description})]}),(0,t.jsx)("button",{type:"button",onClick:sr.clearActiveSkill,className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,t.jsx)(L.X,{className:"size-3.5"})})]}),tb&&(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:[tb.slice(0,120),tb.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)(L.X,{className:"size-3.5"})})]}),(0,t.jsx)(B,{isOpen:sr.isOpen,skills:sr.skills,selectedIndex:sr.selectedIndex,onSelect:sr.selectSkill,anchorPos:sr.anchorPos}),tr.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pt-3 pb-0.5",children:tr.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)(z.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,Z.formatSize)(e.size)}),(0,t.jsx)("button",{type:"button",onClick:()=>sw(s),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,t.jsx)(L.X,{className:"size-3"})})]},`${e.name}-${s}`))}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{ref:t3,type:"file",multiple:!0,className:"hidden",onChange:sy}),(0,t.jsx)("div",{className:"px-13 py-3",children:(0,t.jsx)(Q,{ref:t4,value:eh,onChange:eg,onEditorState:(e,t)=>{t6(e),tc(t)},onSend:sR,placeholder:sK?"Type a follow-up...":"Type a task...",disabled:ep,onMultiLineChange:tN,onFiles:sb,agents:t9,agentLinks:q,currentAgentId:X,slashIsOpen:sr.isOpen,onSlashKeyDown:sr.handleSlashKeyDown})}),(0,t.jsxs)(M.Tooltip,{children:[(0,t.jsx)(M.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onPointerDown:e=>e.preventDefault(),onClick:()=>t3.current?.click(),disabled:ep,className:"absolute left-2 bottom-2 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,t.jsx)(P.Paperclip,{className:"size-3.5"})}),(0,t.jsx)(M.TooltipContent,{side:"top",children:"Attach files"})]}),!sK||eh.trim()||ep?(0,t.jsxs)(M.Tooltip,{children:[(0,t.jsx)(M.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:sR,disabled:!eh.trim()||ep,className:(0,o.cn)("absolute right-2 bottom-2 size-8 rounded-full bg-primary text-primary-foreground transition-opacity duration-200",!eh.trim()&&"opacity-30")}),children:ep?(0,t.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(I.ArrowUp,{className:"size-3.5"})}),(0,t.jsx)(M.TooltipContent,{side:"top",children:"Send"})]}):(0,t.jsxs)(M.Tooltip,{children:[(0,t.jsx)(M.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:sz,disabled:ev,className:"absolute right-2 bottom-2 size-8 rounded-full bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:ev?(0,t.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)($.Square,{className:"size-3.5 fill-current"})}),(0,t.jsx)(M.TooltipContent,{side:"top",children:"Stop task"})]})]})]}),!ea&&(0,t.jsx)("div",{className:"shrink-0 self-end mb-2.5 size-8","aria-hidden":"true"})]})})}),(0,t.jsx)(Z.ArtifactSheet,{open:eW,onOpenChange:e=>{eU(e),e||setTimeout(()=>{eV(null)},300)},artifacts:eK?[eK]:tD,workspaceId:x,initialArtifact:eK,versionMap:tF,duplicateFilenames:tP}),(0,t.jsx)(er,{open:eY,onOpenChange:e=>{eX(e),e||setTimeout(()=>eJ(null),300)},emailId:eG,workspaceId:x}),(0,t.jsx)(en.CalendarEventSheet,{readonly:!0,open:eQ,onOpenChange:e=>{eZ(e),e||setTimeout(()=>e1(null),300)},calendarEventId:e0,workspaceId:x}),(0,t.jsx)(el.IssueSheet,{open:e2,onOpenChange:e=>{e5(e),e||setTimeout(()=>{e4(null),e6(null),ta(null)},300)},agents:k,issue:e8?.issue??null,detail:e8?{messages:e8.messages,comments:e8.comments,artifacts:e8.artifacts,traceId:e8.issue.trace_id}:null,detailLoading:e9,activeTask:ts,traceTasks:te,slug:v,workspaceId:x,onUpdate:async(e,t)=>{try{let s=await (0,b.updateIssue)(x,e,t);e6(a=>a&&a.issue.id===e?{...a,issue:{...a.issue,...t,updated_at:s.updated_at}}:a)}catch(e){S.toast.error(e instanceof Error?e.message:"Failed to update issue")}},onStatusChange:async(e,t)=>{try{await (0,b.updateIssue)(x,e,{status:t}),e6(s=>s&&s.issue.id===e?{...s,issue:{...s.issue,status:t}}:s)}catch(e){S.toast.error(e instanceof Error?e.message:"Failed to update status")}},onCommented:()=>{e3&&sP(e3)},onArtifactClick:tB})]}):(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,192935,e=>{e.v({button:"cloud-code-monster-pet-module__wqv_bq__button","cloud-code-monster-bell-alert":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-bell-alert","cloud-code-monster-breathe":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-breathe","cloud-code-monster-build":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-build","cloud-code-monster-carry":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-carry","cloud-code-monster-error":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-error","cloud-code-monster-eye-blink":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-eye-blink","cloud-code-monster-faint":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-faint","cloud-code-monster-fall-asleep":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-fall-asleep","cloud-code-monster-footprint":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-footprint","cloud-code-monster-juggle":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-juggle","cloud-code-monster-keytap":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-keytap","cloud-code-monster-left-foot":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-left-foot","cloud-code-monster-peek":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-peek","cloud-code-monster-phone":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-phone","cloud-code-monster-phone-glow":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-phone-glow","cloud-code-monster-read":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-read","cloud-code-monster-right-foot":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-right-foot","cloud-code-monster-shaken":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-shaken","cloud-code-monster-shock-pixels":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-shock-pixels","cloud-code-monster-sleep":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-sleep","cloud-code-monster-sleep-pixels":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-sleep-pixels","cloud-code-monster-snack":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-snack","cloud-code-monster-spark":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-spark","cloud-code-monster-startled":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-startled","cloud-code-monster-sweep":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-sweep","cloud-code-monster-thought":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-thought","cloud-code-monster-thought-dot":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-thought-dot","cloud-code-monster-wake":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-wake","cloud-code-monster-walk":"cloud-code-monster-pet-module__wqv_bq__cloud-code-monster-walk",footprint:"cloud-code-monster-pet-module__wqv_bq__footprint",footsteps:"cloud-code-monster-pet-module__wqv_bq__footsteps",notificationBell:"cloud-code-monster-pet-module__wqv_bq__notificationBell",notificationBellPixel:"cloud-code-monster-pet-module__wqv_bq__notificationBellPixel",pet:"cloud-code-monster-pet-module__wqv_bq__pet",petLayer:"cloud-code-monster-pet-module__wqv_bq__petLayer"})},105583,e=>{"use strict";var t=e.i(368075),o=e.i(298699),r=e.i(355578),n=e.i(875494),l=e.i(192935),i=e.i(396328),d=e.i(434623),u=e.i(460520);function s(e,t){let o=t?.getBoundingClientRect();return{x:e.clientX-(o?.left??0),y:e.clientY-(o?.top??0)}}function c(e){return"sleeping"===e||"dozing"===e||"yawning"===e}var a=e.i(961909),_=e.i(399561);let C=[],E={x:0,y:0},S={bodyX:0,bodyY:0,leanDeg:0,shadowScaleX:1,shadowX:0,skewDeg:0,stretchX:1,stretchY:1};function m(e){return Math.round(4*e)/4}function O(e){return"sleeping"===e||"dozing"===e||"yawning"===e}function f(e){if(!(e instanceof HTMLElement))return!1;if(e.isContentEditable)return!0;let t=e.tagName.toLowerCase();return"textarea"===t||"input"===t&&!["button","checkbox","color","file","hidden","image","radio","range","reset","submit"].includes(e.type.toLowerCase())}function M(e,t,o=u.CLOUD_CODE_MONSTER_SIZE){let r={x:t.x+.5*o.width,y:t.y+.45*o.height},n=e.x-r.x,l=e.y-r.y,i=Math.hypot(n,l);if(i<=1)return{...S,eyeX:0,eyeY:0};let d=n/i,s=l/i,c=Math.min(1,i/240);return{eyeX:m(5.5*d*c),eyeY:m(4*s*c),bodyX:m(2*d*c),bodyY:m(1.25*s*c),leanDeg:Number((2.8*d*c).toFixed(2)),shadowScaleX:Number((1+.08*Math.abs(d)*c).toFixed(3)),shadowX:m(.8*d*c),skewDeg:Number((1.6*d*c).toFixed(2)),stretchX:Number((1+.025*Math.abs(d)*c).toFixed(3)),stretchY:Number((1-.018*Math.abs(d)*c).toFixed(3))}}function p(e,t,o=u.CLOUD_CODE_MONSTER_SIZE){let r=M(e,t,o);return{x:r.eyeX,y:r.eyeY}}function h(e,t,o){if(!e)return{leanDeg:0,skewDeg:0,stretchX:1,stretchY:1};let r="right"===t?1:-1,n=(Math.min(2.4,Math.max(.75,o))-.75)/1.65;return{leanDeg:Number((r*(2.5+5*n)).toFixed(2)),skewDeg:Number((r*(1.5+4*n)).toFixed(2)),stretchX:Number((1+.07*n).toFixed(3)),stretchY:Number((1-.055*n).toFixed(3))}}function w({boundaryRef:e,initialPosition:m,previewComebackToken:p=0,notificationToken:y=0,peekTargets:v=C}){let D,g,T,[k,R]=(0,o.useState)(null),[b,N]=(0,o.useState)(null),[I,x]=(0,o.useState)(!1),[L,P]=(0,o.useState)(!1),[A,U]=(0,o.useState)(!1),[q,W]=(0,o.useState)(!1),[V,F]=(0,o.useState)(!1),[X,K]=(0,o.useState)(!1),[Y,j]=(0,o.useState)(!1),[$,B]=(0,o.useState)(!1),[Z,z]=(0,o.useState)(_.CLOUD_CODE_MONSTER_PET_PRESETS[0].id),[H,G]=(0,o.useState)(1),[J,Q]=(0,o.useState)("right"),[ee,et]=(0,o.useState)(E),[eo,er]=(0,o.useState)(S),[en,el]=(0,o.useState)([]),ei=(0,o.useRef)(0),ed=(0,o.useRef)(null),eu=(0,o.useRef)(1),es=(0,o.useRef)("left"),ec=(0,o.useRef)(null),ea=(0,o.useRef)([]),e_=(0,o.useRef)(v),{clearAllPetTimers:eC,clearPetTimer:eE,setPetTimer:eS}=(D=(0,o.useRef)({reaction:null,shake:null,faint:null,autonomousWalk:null,peek:null,peekStop:null,notification:null,attention:null,noWorkDoze:null,noWorkSleep:null,typing:null,walkSettle:null,walkToTargetPeek:null}),g=(0,o.useCallback)(e=>{let t=D.current[e];null!==t&&(window.clearTimeout(t),D.current[e]=null)},[]),T=(0,o.useCallback)((e,t,o)=>{g(e),D.current[e]=window.setTimeout(()=>{D.current[e]=null,t()},o)},[g]),{clearAllPetTimers:(0,o.useCallback)(()=>{for(let e of Object.keys(D.current))g(e)},[g]),clearPetTimer:g,setPetTimer:T});(0,o.useEffect)(()=>{let e=e=>{z(e?(0,_.getCloudCodeMonsterPreset)(e).id:(0,_.readCloudCodeMonsterPetPresetId)())},t=t=>{e(t.detail?.presetId)},o=t=>{t.key===u.CLOUD_CODE_MONSTER_PRESET_STORAGE_KEY&&e(t.newValue)};return e(),window.addEventListener(u.CLOUD_CODE_MONSTER_PRESET_CHANGED_EVENT,t),window.addEventListener("storage",o),()=>{window.removeEventListener(u.CLOUD_CODE_MONSTER_PRESET_CHANGED_EVENT,t),window.removeEventListener("storage",o)}},[]),(0,o.useEffect)(()=>{let e=(0,i.resolveCloudCodeMonsterVisibleState)((0,i.readStoredActivity)());(0,i.writeStoredActivity)(e),R(e);let t=()=>{let e=Date.now();R(t=>{let o="hidden"===document.visibilityState?(0,i.createCloudCodeMonsterHiddenState)(t,e):(0,i.resolveCloudCodeMonsterVisibleState)(t??(0,i.readStoredActivity)(),e);return(0,i.writeStoredActivity)(o),o})};return document.addEventListener("visibilitychange",t),()=>{document.removeEventListener("visibilitychange",t)}},[]),(0,o.useEffect)(()=>{if(p<=0)return;let e=(0,i.resolveCloudCodeMonsterPreviewComebackState)();(0,i.writeStoredActivity)(e),R(e)},[p]),(0,o.useEffect)(()=>{let t=()=>{let t=(0,i.getBounds)(e.current);N(e=>e?(0,i.clampPetPosition)(e,t,u.CLOUD_CODE_MONSTER_SIZE):(0,i.clampPetPosition)(m??(0,i.readStoredPosition)()??{x:t.width-u.CLOUD_CODE_MONSTER_SIZE.width-112,y:Math.min(.48*t.height,t.height-u.CLOUD_CODE_MONSTER_SIZE.height-120)},t,u.CLOUD_CODE_MONSTER_SIZE))};return t(),window.addEventListener("resize",t),"u">typeof ResizeObserver&&e.current&&(ec.current=new ResizeObserver(t),ec.current.observe(e.current)),()=>{window.removeEventListener("resize",t),ec.current?.disconnect(),ec.current=null}},[e,m]),(0,o.useEffect)(()=>eC,[eC]),(0,o.useEffect)(()=>{let e=e=>{f(e.target)&&(F(!0),eS("typing",()=>{F(!1)},2200))},t=e=>{f(e.target)&&eS("typing",()=>{F(!1)},250)};return window.addEventListener("keydown",e,!0),window.addEventListener("input",e,!0),window.addEventListener("compositionstart",e,!0),window.addEventListener("compositionupdate",e,!0),window.addEventListener("focusout",t,!0),()=>{window.removeEventListener("keydown",e,!0),window.removeEventListener("input",e,!0),window.removeEventListener("compositionstart",e,!0),window.removeEventListener("compositionupdate",e,!0),window.removeEventListener("focusout",t,!0),eE("typing")}},[eE,eS]);let em=(0,o.useMemo)(()=>k?.activityId?d.CLOUD_CODE_MONSTER_ACTIVITIES.find(e=>e.id===k.activityId):null,[k]),eO=(0,o.useMemo)(()=>(0,_.getCloudCodeMonsterPreset)(Z),[Z]),ef=I||L,eM=null!==b,ep=v.length>0,eh=(0,i.shouldCloudCodeMonsterAutoWalk)(k?.activityId??null);(0,o.useEffect)(()=>{e_.current=v},[v]);let{count:ew}=(0,n.useInboxCount)(),[ey,ev]=(0,o.useState)(!1),eD=(0,o.useRef)(null);(0,o.useEffect)(()=>(!(ew>0)||$||I?0===ew&&(null!==eD.current&&(window.clearTimeout(eD.current),eD.current=null),ev(!1)):null===eD.current&&(eD.current=window.setTimeout(()=>{eD.current=null,ev(!0)},300)),()=>{null!==eD.current&&(window.clearTimeout(eD.current),eD.current=null)}),[ew,$,I]);let eg=(0,o.useCallback)((e,t)=>{G(t);let o=performance.now();if(o-ei.current>=(0,i.getMonsterFootstepIntervalMs)(t)){let r=es.current;es.current="left"===r?"right":"left";let n="left"===r?25:52;el(o=>[...o.slice(-13),{id:eu.current++,x:e.x+n,y:e.y+u.CLOUD_CODE_MONSTER_SIZE.height-7,side:r,intensity:t}]),ei.current=o}},[]),eT=function({boundaryRef:e,targetId:t,enabled:r,position:n,setPosition:l,onArrive:d,onStep:s}){let[c,a]=(0,o.useState)(!1),[_,C]=(0,o.useState)(!1),[E,S]=(0,o.useState)("left"),m=(0,o.useRef)(null),O=(0,o.useRef)(!1),f=(0,o.useRef)(r),M=(0,o.useRef)(n);(0,o.useEffect)(()=>{f.current=r},[r]),(0,o.useEffect)(()=>{M.current=n},[n]);let p=(0,o.useCallback)(()=>{null!==m.current&&(window.clearTimeout(m.current),m.current=null)},[]),h=(0,o.useCallback)(()=>{p(),a(!1),C(!1),O.current=!1},[p]);return(0,o.useEffect)(()=>{if(!r||!t||!n)return void h();if(O.current)return;a(!0),C(!1);let o=()=>{m.current=window.setTimeout(()=>{if(m.current=null,!f.current)return void a(!1);let r=function(e,t){if(!e)return null;let o=e.querySelector(`[data-pet-target-id="${t}"]`)??document.querySelector(`[data-pet-target-id="${t}"]`);if(!o)return null;let r=o.getBoundingClientRect(),n=(0,i.getBounds)(e),l=r.right+22,d=r.top+r.height/2-u.CLOUD_CODE_MONSTER_SIZE.height/2;return(0,i.clampPetPosition)({x:l,y:d},n,u.CLOUD_CODE_MONSTER_SIZE)}(e.current,t),n=M.current;if(!r||!n)return void o();if(10>Math.hypot(r.x-n.x,r.y-n.y)){O.current=!0,a(!1),C(!0),S("left"),l(()=>r),d();return}let c=(0,i.createWalkToTargetVelocity)(n,r,3.2);S(c.x>=0?"right":"left");let _=(0,i.clampPetPosition)({x:n.x+c.x,y:n.y+c.y},(0,i.getBounds)(e.current),u.CLOUD_CODE_MONSTER_SIZE);l(()=>_),s(_,1.45),o()},u.CLOUD_CODE_MONSTER_AUTO_WALK_STEP_MS)};return o(),()=>{p()}},[r,t,!!n,e,h,p,d,s,l]),{isWalking:c,isIdlingAtTarget:_,walkDirection:E}}({boundaryRef:e,targetId:ey?"inbox":null,enabled:ey&&!I&&!X&&!Y&&!$,position:b,setPosition:N,onArrive:(0,o.useCallback)(()=>{U(!0),G(1),eS("walkToTargetPeek",()=>{U(!1);let e=()=>{eS("walkToTargetPeek",()=>{U(!0),eS("peekStop",()=>{U(!1),e()},u.CLOUD_CODE_MONSTER_PEEK_MS)},u.CLOUD_CODE_MONSTER_PEEK_INTERVAL_MS)};e()},u.CLOUD_CODE_MONSTER_PEEK_MS)},[eS]),onStep:eg}),ek=eT.isWalking||eT.isIdlingAtTarget,eR=ef||eT.isWalking,eb=ek?eT.walkDirection:J,eN=(0,o.useRef)(!1);(0,o.useEffect)(()=>{eN.current&&!ek&&(eE("walkToTargetPeek"),U(!1)),eN.current=ek},[ek,eE]);let eI=(0,r.useAgentContextSafe)(),ex=eI?.activeTaskDetails.length??0,eL=(0,o.useRef)(ex),eP=ex>0,eA=eI?.subscribeWs;(0,o.useEffect)(()=>{eL.current=ex},[ex]);let eU=(0,o.useCallback)(e=>{let t={activityId:e,updatedAt:Date.now(),hiddenAt:null};(0,i.writeStoredActivity)(t),R(t)},[]);(0,o.useEffect)(()=>{if(V){eE("attention"),eE("noWorkSleep"),eE("noWorkDoze");return}if(eP){let e=O(k?.activityId??null);if(eE("noWorkSleep"),eE("noWorkDoze"),ek)return;if(e){eU("waking"),eS("attention",()=>{R(e=>{let t=(0,i.resolveCloudCodeMonsterAgentWorkState)(eL.current,e,Date.now());return(0,i.writeStoredActivity)(t),t})},u.CLOUD_CODE_MONSTER_WAKE_MS);return}R(e=>{let t=(0,i.resolveCloudCodeMonsterAgentWorkState)(ex,e,Date.now());return e?.activityId===t.activityId&&e.hiddenAt===t.hiddenAt?e:((0,i.writeStoredActivity)(t),t)});return}if(ek||I||V||X||Y||$||q){eE("attention"),eE("noWorkDoze"),eE("noWorkSleep");return}return R(e=>{if(!e||"sleeping"===e.activityId||"dozing"===e.activityId||null===e.activityId)return e;let t=(0,i.createCloudCodeMonsterIdleState)();return(0,i.writeStoredActivity)(t),t}),eS("noWorkDoze",()=>{R(e=>{if(e?.activityId==="sleeping"||e?.activityId==="dozing")return e;let t={activityId:"dozing",updatedAt:Date.now(),hiddenAt:null};return(0,i.writeStoredActivity)(t),t})},u.CLOUD_CODE_MONSTER_DOZE_MS),eS("noWorkSleep",()=>{R(e=>{if(e?.activityId==="sleeping")return e;let t=(0,i.createCloudCodeMonsterSleepingState)();return(0,i.writeStoredActivity)(t),t})},u.CLOUD_CODE_MONSTER_NO_WORK_SLEEP_MS),()=>{eE("noWorkDoze"),eE("noWorkSleep")}},[ex,k?.activityId,eE,$,eP,I,ek,V,q,X,eU,eS,Y]);let eq=(0,o.useCallback)((e,t)=>{let o=es.current;es.current="left"===o?"right":"left";let r="left"===o?25:52;el(n=>[...n.slice(-13),{id:eu.current++,x:e.x+r,y:e.y+u.CLOUD_CODE_MONSTER_SIZE.height-7,side:o,intensity:t}])},[]);(0,o.useEffect)(()=>{if(!eM||!k?.activityId||!eh||I||X||Y||$||A||ek){P(!1),G(1),ed.current=null;return}P(!0),ed.current??=(0,i.createCloudCodeMonsterWalkVelocity)();let t=()=>{eS("autonomousWalk",()=>{let o=(0,i.getBounds)(e.current);G(1.45),N(e=>{let t=ed.current;if(!e||!t)return e;let r=(0,i.reflectCloudCodeMonsterWalk)(e,t,o,u.CLOUD_CODE_MONSTER_SIZE);ed.current=r.velocity,Q(r.velocity.x>=0?"right":"left");let n=performance.now();return n-ei.current>=(0,i.getMonsterFootstepIntervalMs)(1.45)&&(eq(r.position,1.45),ei.current=n),r.position}),t()},u.CLOUD_CODE_MONSTER_AUTO_WALK_STEP_MS)};return eS("autonomousWalk",t,u.CLOUD_CODE_MONSTER_AUTO_WALK_STEP_MS),()=>{eE("autonomousWalk")}},[k?.activityId,e,$,eM,I,A,ek,X,eE,eq,Y,eh,eS]),(0,o.useEffect)(()=>{if(eM&&ep&&!I&&!X&&!Y&&!$&&!ek)return eS("peek",()=>{let t=e_.current,o=t[Math.floor(Math.random()*t.length)]??t[0];if(!o)return;let r=(0,i.getBounds)(e.current),n=(0,i.resolveCloudCodeMonsterPeekPosition)(o,e.current,r);P(!1),ed.current=null,U(!0),G(1),N(n),eS("peekStop",()=>{U(!1)},u.CLOUD_CODE_MONSTER_PEEK_MS)},u.CLOUD_CODE_MONSTER_PEEK_INTERVAL_MS+4e3*Math.random()),()=>{eE("peek")}},[e,eE,$,ep,eM,I,ek,X,Y,eS]);let eW=(0,o.useCallback)(()=>{if(O(k?.activityId??null)){eU("waking"),eS("attention",()=>{eU(null)},u.CLOUD_CODE_MONSTER_WAKE_MS);return}R(e=>{if(e&&!e.activityId&&null===e.hiddenAt)return e;let t=(0,i.createCloudCodeMonsterIdleState)();return(0,i.writeStoredActivity)(t),t})},[k?.activityId,eS,eU]),eV=(0,o.useCallback)(()=>{P(!1),U(!1),ea.current=[],ed.current=null,eE("autonomousWalk"),eE("peek"),eE("peekStop"),eE("walkToTargetPeek")},[eE]);(0,o.useEffect)(()=>{if(!I&&!$){if(!V){(k?.activityId==="thinking"||k?.activityId==="typing")&&eU(null);return}if(eE("noWorkDoze"),eE("noWorkSleep"),eV(),k?.activityId!=="thinking"&&k?.activityId!=="waking"){if(O(k?.activityId??null)){eU("waking"),eS("attention",()=>{eU("thinking")},u.CLOUD_CODE_MONSTER_WAKE_MS);return}eU("thinking")}}},[k?.activityId,eE,$,I,V,eS,eU,eV]),(0,o.useEffect)(()=>{if(!eA)return;let e=(e,t=u.CLOUD_CODE_MONSTER_ATTENTION_MS)=>{eV();let o=()=>{eU(e),eS("attention",()=>{R(t=>{if(t?.activityId!==e)return t;let o=(0,i.createCloudCodeMonsterIdleState)();return(0,i.writeStoredActivity)(o),o})},t)};if(O(k?.activityId??null)){eU("waking"),eS("attention",o,u.CLOUD_CODE_MONSTER_WAKE_MS);return}o()};return eA(t=>{"task.created"===t.type||"followup.dispatched"===t.type||"artifact.uploaded"===t.type||"workspace.files"===t.type?e("carrying",3e3):"followup.deleted"===t.type?e("sweeping",3e3):"followup.dispatch_failed"===t.type?e("error",u.CLOUD_CODE_MONSTER_ERROR_MS):"email.received"===t.type?e("notification",u.CLOUD_CODE_MONSTER_ATTENTION_MS):"task.updated"===t.type&&("completed"===t.status?e("attention",u.CLOUD_CODE_MONSTER_ATTENTION_MS):"failed"===t.status?e("error",u.CLOUD_CODE_MONSTER_ERROR_MS):("cancelled"===t.status||"superseded"===t.status)&&e("sweeping",3e3))})},[k?.activityId,eS,eU,eV,eA]);let eF=(0,o.useCallback)(()=>{K(!0),eS("reaction",()=>{K(!1)},u.CLOUD_CODE_MONSTER_REACTION_MS)},[eS]);(0,o.useEffect)(()=>{if(y<=0)return;eV();let e=()=>{eF(),eU("notification"),W(!0),eS("notification",()=>{W(!1),R(e=>{if(e?.activityId!=="notification")return e;let t=(0,i.createCloudCodeMonsterIdleState)();return(0,i.writeStoredActivity)(t),t})},u.CLOUD_CODE_MONSTER_REACTION_MS+1500)};if(O(k?.activityId??null)){eU("waking"),eS("attention",e,u.CLOUD_CODE_MONSTER_WAKE_MS);return}k?.activityId&&eW(),e()},[k?.activityId,y,eU,eS,eF,eV,eW]);let eX=(0,o.useCallback)(()=>{$||(k?.activityId&&eW(),j(!0),eS("shake",()=>{j(!1)},u.CLOUD_CODE_MONSTER_SHAKE_REACTION_MS))},[k?.activityId,$,eS,eW]),eK=(0,o.useCallback)(()=>{eE("faint"),eE("reaction"),eE("shake"),eW(),eV(),K(!1),j(!1),B(!0),G(1),eS("faint",()=>{B(!1)},u.CLOUD_CODE_MONSTER_FAINT_MS)},[eE,eS,eV,eW]),{handlePetClick:eY,handlePointerDown:ej,handlePointerMove:e$,stopDragging:eB}=function({boundaryRef:e,initialPosition:t,position:r,isDragging:n,fainted:l,activityState:d,lastFootstepAtRef:a,violentDragEventsRef:_,setIsDragging:C,setNotificationActive:E,setFainted:S,setWalkDirection:m,setWalkIntensity:O,setPosition:f,clearPetTimer:M,setPetTimer:p,pushFootprint:h,stopTemporaryMotion:w,wakeMonsterToDefault:y,startShockReaction:v,startShakeReaction:D,startFaintReaction:g}){let T=(0,o.useRef)({x:0,y:0}),k=(0,o.useRef)(null),R=(0,o.useRef)(null),b=(0,o.useRef)(null),N=(0,o.useRef)(!1),I=(0,o.useCallback)(()=>{if(w(),E(!1),M("notification"),N.current){N.current=!1;return}if(!n){if(c(d?.activityId??null))return void y();d?.activityId&&y(),l&&(S(!1),M("faint")),v()}},[d?.activityId,M,l,n,S,E,v,w,y]),x=(0,o.useCallback)(o=>{if(0!==o.button)return;let n=(0,i.getBounds)(e.current),l=r??(0,i.clampPetPosition)(t??{x:n.width-u.CLOUD_CODE_MONSTER_SIZE.width-112,y:.48*n.height},n,u.CLOUD_CODE_MONSTER_SIZE),_=s(o,e.current),E=performance.now();if(c(d?.activityId??null)){w(),y();return}T.current={x:_.x-l.x,y:_.y-l.y},k.current=_,R.current={point:_,time:E},b.current=null,a.current=E,N.current=!1,w(),C(!0),O(1.1),o.currentTarget.setPointerCapture(o.pointerId)},[e,d?.activityId,t,a,r,C,O,w,y]);return{handlePetClick:I,handlePointerDown:x,handlePointerMove:(0,o.useCallback)(t=>{if(!n)return;let o=(0,i.getBounds)(e.current),r=s(t,e.current),d=performance.now(),c=R.current??{point:r,time:d},C=r.x-c.point.x,E=r.y-c.point.y,S={x:C,y:E},M=Math.hypot(C,E),p=Math.max(1,d-c.time),w=(0,i.calculateMonsterWalkIntensity)(M,p),y=(0,i.clampPetPosition)({x:r.x-T.current.x,y:r.y-T.current.y},o,u.CLOUD_CODE_MONSTER_SIZE),v=k.current??r,I=Math.abs(r.x-v.x),x=Math.abs(r.y-v.y);(I>3||x>3)&&(N.current=!0),Math.abs(C)>.5&&m(C>=0?"right":"left");let L=(0,i.hasViolentMonsterDirectionChange)(b.current,S);(!l&&(0,i.isViolentMonsterDrag)(M,p,L)&&D(),!l&&(0,i.isMonsterFaintShakeEvent)(M,p,L)&&(_.current=[..._.current.filter(e=>d-e<=u.CLOUD_CODE_MONSTER_FAINT_EVENT_WINDOW_MS),d],(0,i.shouldFaintFromMonsterShake)(_.current,d)))?g():(O(w),f(y),R.current={point:r,time:d},M>.5&&(b.current=S),M>1&&d-a.current>=(0,i.getMonsterFootstepIntervalMs)(w)&&(h(y,w),a.current=d))},[e,l,n,a,h,f,m,O,g,D,_]),stopDragging:(0,o.useCallback)(e=>{n&&(C(!1),_.current=[],k.current=null,R.current=null,b.current=null,r&&(0,i.writeStoredPosition)(r),p("walkSettle",()=>{O(1)},180),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))},[n,r,C,p,O,_])}}({activityState:k,boundaryRef:e,fainted:$,initialPosition:m,isDragging:I,lastFootstepAtRef:ei,position:b,pushFootprint:eq,setFainted:B,setIsDragging:x,setNotificationActive:W,setPetTimer:eS,setPosition:N,setWalkDirection:Q,setWalkIntensity:G,clearPetTimer:eE,startFaintReaction:eK,startShakeReaction:eX,startShockReaction:eF,stopTemporaryMotion:eV,violentDragEventsRef:ea,wakeMonsterToDefault:eW});if((0,o.useEffect)(()=>{if(!b){et(E),er(S);return}let t=t=>{let o=e.current?.getBoundingClientRect(),r=M({x:t.clientX-(o?.left??0),y:t.clientY-(o?.top??0)},b),n={x:r.eyeX,y:r.eyeY};et(e=>e.x===n.x&&e.y===n.y?e:n),er(e=>e.bodyX===r.bodyX&&e.bodyY===r.bodyY&&e.leanDeg===r.leanDeg&&e.shadowScaleX===r.shadowScaleX&&e.shadowX===r.shadowX&&e.skewDeg===r.skewDeg&&e.stretchX===r.stretchX&&e.stretchY===r.stretchY?e:r)};return window.addEventListener("pointermove",t,{passive:!0}),()=>{window.removeEventListener("pointermove",t)}},[e,b]),!b||!k)return null;let eZ=A||$?null:em,ez=h(eR,eb,H),eH="left"===eb?-1:1,eG={x:ee.x*eH,y:ee.y};return(0,t.jsxs)("div",{className:l.default.petLayer,children:[(0,t.jsx)("div",{className:l.default.footsteps,"aria-hidden":"true",children:en.map(e=>(0,t.jsx)("span",{className:l.default.footprint,"data-side":e.side,onAnimationEnd:()=>{el(t=>t.filter(t=>t.id!==e.id))},style:{"--monster-footprint-x":`${e.x}px`,"--monster-footprint-y":`${e.y}px`,"--monster-footprint-scale":String(Math.min(1.35,Math.max(.75,e.intensity/1.45)))}},e.id))}),(0,t.jsxs)("aside",{"aria-label":`${eO.name} pixel PET: ${$?"fainted":A?"peeking at work":eZ?.label??"idle"}`,className:l.default.pet,"data-activity":eZ?.id??"idle","data-dragging":I,"data-walking":eR,"data-direction":eb,"data-reaction":Y?"shake":X?"shock":"none","data-reacting":X,"data-shaken":Y,"data-fainted":$,"data-peeking":A,"data-notifying":q,style:{"--cloud-code-monster-pet-x":`${b.x}px`,"--cloud-code-monster-pet-y":`${b.y}px`,"--monster-walk-duration":`${Math.round(360/Math.max(.75,H))}ms`,"--monster-walk-lift":`-${Math.round(2*Math.max(.75,H))}px`,"--monster-walk-intensity":String(H),"--monster-motion-lean":`${ez.leanDeg*eH}deg`,"--monster-motion-skew":`${ez.skewDeg*eH}deg`,"--monster-motion-stretch-x":String(ez.stretchX),"--monster-motion-stretch-y":String(ez.stretchY),"--monster-cursor-body-x":`${eo.bodyX*eH}px`,"--monster-cursor-body-y":`${eo.bodyY}px`,"--monster-cursor-lean":`${eo.leanDeg*eH}deg`,"--monster-cursor-skew":`${eo.skewDeg*eH}deg`,"--monster-cursor-stretch-x":String(eo.stretchX),"--monster-cursor-stretch-y":String(eo.stretchY),"--monster-cursor-shadow-x":`${eo.shadowX*eH}px`,"--monster-cursor-shadow-scale-x":String(eo.shadowScaleX)},children:[q?(0,t.jsx)("span",{className:l.default.notificationBell,"aria-hidden":"true",children:(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:`${l.default.notificationBellPixel} size-6`,role:"img",shapeRendering:"crispEdges",children:[(0,t.jsx)("rect",{x:"10",y:"2",width:"4",height:"3",fill:"#2b2112"}),(0,t.jsx)("rect",{x:"8",y:"5",width:"8",height:"3",fill:"#2b2112"}),(0,t.jsx)("rect",{x:"6",y:"8",width:"12",height:"8",fill:"#2b2112"}),(0,t.jsx)("rect",{x:"4",y:"16",width:"16",height:"4",fill:"#2b2112"}),(0,t.jsx)("rect",{x:"9",y:"20",width:"6",height:"2",fill:"#2b2112"}),(0,t.jsx)("rect",{x:"10",y:"5",width:"4",height:"2",fill:"#ffe37a"}),(0,t.jsx)("rect",{x:"8",y:"8",width:"8",height:"8",fill:"#f4c84f"}),(0,t.jsx)("rect",{x:"6",y:"16",width:"12",height:"2",fill:"#f4c84f"}),(0,t.jsx)("rect",{x:"9",y:"9",width:"3",height:"7",fill:"#ffe37a"}),(0,t.jsx)("rect",{x:"13",y:"18",width:"3",height:"2",fill:"#c8922f"})]})}):null,(0,t.jsx)("button",{type:"button",className:l.default.button,"data-dragging":I,"data-fainted":$,onClick:eY,onPointerDown:ej,onPointerMove:e$,onPointerUp:eB,onPointerCancel:eB,onLostPointerCapture:eB,"aria-label":`Claude Code pixel monster is ${$?"fainted":A?"peeking at work":eZ?.label??"idle"}. Click to ${eZ||$||A?"interrupt it":"notice it"}, drag to make it walk.`,children:(0,t.jsx)(a.MonsterSvg,{activityId:eZ?.id??null,preset:eO,reacting:X,shaken:Y,fainted:$,eyeOffset:eG})})]})]})}e.s(["CloudCodeMonsterPet",0,w,"resolveCloudCodeMonsterCursorPose",0,M,"resolveCloudCodeMonsterEyeOffset",0,p,"resolveCloudCodeMonsterMotionPose",0,h],626620),e.i(626620),e.s(["CLOUD_CODE_MONSTER_ACTIVITIES",()=>d.CLOUD_CODE_MONSTER_ACTIVITIES,"CLOUD_CODE_MONSTER_ACTIVITY_REFRESH_MS",()=>u.CLOUD_CODE_MONSTER_ACTIVITY_REFRESH_MS,"CLOUD_CODE_MONSTER_ATTENTION_MS",()=>u.CLOUD_CODE_MONSTER_ATTENTION_MS,"CLOUD_CODE_MONSTER_AUTOWALK_ACTIVITY_IDS",()=>d.CLOUD_CODE_MONSTER_AUTOWALK_ACTIVITY_IDS,"CLOUD_CODE_MONSTER_DOZE_MS",()=>u.CLOUD_CODE_MONSTER_DOZE_MS,"CLOUD_CODE_MONSTER_ERROR_MS",()=>u.CLOUD_CODE_MONSTER_ERROR_MS,"CLOUD_CODE_MONSTER_FAINT_MIN_EVENTS",()=>u.CLOUD_CODE_MONSTER_FAINT_MIN_EVENTS,"CLOUD_CODE_MONSTER_FAINT_MS",()=>u.CLOUD_CODE_MONSTER_FAINT_MS,"CLOUD_CODE_MONSTER_NO_WORK_SLEEP_MS",()=>u.CLOUD_CODE_MONSTER_NO_WORK_SLEEP_MS,"CLOUD_CODE_MONSTER_PET_PRESETS",()=>_.CLOUD_CODE_MONSTER_PET_PRESETS,"CLOUD_CODE_MONSTER_PRESET_CHANGED_EVENT",()=>u.CLOUD_CODE_MONSTER_PRESET_CHANGED_EVENT,"CLOUD_CODE_MONSTER_PRESET_STORAGE_KEY",()=>u.CLOUD_CODE_MONSTER_PRESET_STORAGE_KEY,"CLOUD_CODE_MONSTER_WAKE_MS",()=>u.CLOUD_CODE_MONSTER_WAKE_MS,"CloudCodeMonsterPet",0,w,"CloudCodeMonsterPresetPreview",()=>a.CloudCodeMonsterPresetPreview,"calculateMonsterWalkIntensity",()=>i.calculateMonsterWalkIntensity,"clampPetPosition",()=>i.clampPetPosition,"createCloudCodeMonsterHiddenState",()=>i.createCloudCodeMonsterHiddenState,"createCloudCodeMonsterIdleState",()=>i.createCloudCodeMonsterIdleState,"createCloudCodeMonsterPreviewAwayState",()=>i.createCloudCodeMonsterPreviewAwayState,"createCloudCodeMonsterSleepingState",()=>i.createCloudCodeMonsterSleepingState,"createCloudCodeMonsterWalkVelocity",()=>i.createCloudCodeMonsterWalkVelocity,"createWalkToTargetVelocity",()=>i.createWalkToTargetVelocity,"getCloudCodeMonsterExpression",()=>i.getCloudCodeMonsterExpression,"getCloudCodeMonsterPreset",()=>_.getCloudCodeMonsterPreset,"getMonsterFootstepIntervalMs",()=>i.getMonsterFootstepIntervalMs,"hasViolentMonsterDirectionChange",()=>i.hasViolentMonsterDirectionChange,"isMonsterFaintShakeEvent",()=>i.isMonsterFaintShakeEvent,"isViolentMonsterDrag",()=>i.isViolentMonsterDrag,"pickCloudCodeMonsterActivity",()=>i.pickCloudCodeMonsterActivity,"readCloudCodeMonsterPetPresetId",()=>_.readCloudCodeMonsterPetPresetId,"reflectCloudCodeMonsterWalk",()=>i.reflectCloudCodeMonsterWalk,"resolveCloudCodeMonsterActivityState",()=>i.resolveCloudCodeMonsterActivityState,"resolveCloudCodeMonsterAgentWorkState",()=>i.resolveCloudCodeMonsterAgentWorkState,"resolveCloudCodeMonsterCursorPose",0,M,"resolveCloudCodeMonsterEyeOffset",0,p,"resolveCloudCodeMonsterMotionPose",0,h,"resolveCloudCodeMonsterPeekPosition",()=>i.resolveCloudCodeMonsterPeekPosition,"resolveCloudCodeMonsterPreviewComebackState",()=>i.resolveCloudCodeMonsterPreviewComebackState,"resolveCloudCodeMonsterVisibleState",()=>i.resolveCloudCodeMonsterVisibleState,"shouldCloudCodeMonsterAutoWalk",()=>i.shouldCloudCodeMonsterAutoWalk,"shouldFaintFromMonsterShake",()=>i.shouldFaintFromMonsterShake,"shouldRefreshCloudCodeMonsterActivity",()=>i.shouldRefreshCloudCodeMonsterActivity,"writeCloudCodeMonsterPetPresetId",()=>_.writeCloudCodeMonsterPetPresetId],105583)},928210,e=>{e.n(e.i(105583))}]);
|