bit-office 1.2.3 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/index.js +412 -396
  2. package/dist/index.js.map +1 -1
  3. package/dist/web/404.html +2 -2
  4. package/dist/web/_next/static/chunks/262.71aab99cc60a53d6.js +1 -0
  5. package/dist/web/_next/static/chunks/29.3f310d0e1e39b284.js +1 -0
  6. package/dist/web/_next/static/chunks/337.37c047a79777052d.js +1 -0
  7. package/dist/web/_next/static/chunks/{368.17f62d3909ec67e9.js → 368.3f346c171a638292.js} +1 -1
  8. package/dist/web/_next/static/chunks/606.4e73b23e56d12bdb.js +1 -0
  9. package/dist/web/_next/static/chunks/729.826ca49d46677d86.js +1 -0
  10. package/dist/web/_next/static/chunks/853.3ac80a6e5f45c12f.js +1 -0
  11. package/dist/web/_next/static/chunks/895.ba8d7f302ee0082f.js +1 -0
  12. package/dist/web/_next/static/chunks/999.bd3853e8dc65d694.js +1 -0
  13. package/dist/web/_next/static/chunks/app/office/page-6eabeff9ea24f0b8.js +1 -0
  14. package/dist/web/_next/static/chunks/app/pair/{page-67f86e4adcdf34ea.js → page-ec98149563ab8ea8.js} +1 -1
  15. package/dist/web/_next/static/chunks/{webpack-ecac0d5245a37138.js → webpack-1cd76fe3b13e8777.js} +1 -1
  16. package/dist/web/_next/static/css/620fea4ddbe8c89c.css +3 -0
  17. package/dist/web/index.html +2 -2
  18. package/dist/web/index.txt +2 -2
  19. package/dist/web/join.html +2 -2
  20. package/dist/web/join.txt +2 -2
  21. package/dist/web/office.html +3 -3
  22. package/dist/web/office.txt +3 -3
  23. package/dist/web/pair.html +2 -2
  24. package/dist/web/pair.txt +3 -3
  25. package/dist/web/sw.js +1 -1
  26. package/package.json +1 -1
  27. package/dist/web/_next/static/chunks/262.c930af897fc1ae41.js +0 -1
  28. package/dist/web/_next/static/chunks/29.5e4e3e30b02d00ad.js +0 -1
  29. package/dist/web/_next/static/chunks/337.d02d761d8479a26b.js +0 -1
  30. package/dist/web/_next/static/chunks/606.64076fb5c9a76eb8.js +0 -1
  31. package/dist/web/_next/static/chunks/729.f8f9847d2d765724.js +0 -1
  32. package/dist/web/_next/static/chunks/853.1223037341c73df9.js +0 -1
  33. package/dist/web/_next/static/chunks/895.b20c839956b4d7fa.js +0 -1
  34. package/dist/web/_next/static/chunks/999.59e64ccb62c7e043.js +0 -1
  35. package/dist/web/_next/static/chunks/app/office/page-7e64f4657627f13b.js +0 -1
  36. package/dist/web/_next/static/css/7a1e811bf3f4909f.css +0 -3
  37. /package/dist/web/_next/static/{30c0_3N7JM7PsUvSPrOdD → 5vHCPBj0Ikhb0tVooPDGd}/_buildManifest.js +0 -0
  38. /package/dist/web/_next/static/{30c0_3N7JM7PsUvSPrOdD → 5vHCPBj0Ikhb0tVooPDGd}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[149,823],{138:(e,t,n)=>{"use strict";n.d(t,{Pp:()=>s,hK:()=>T,sX:()=>l});var r=n(9576),a=n(7877),o=n(5192);let l=new Map,s=new Map,i=!!window.__TAURI_INTERNALS__;function c(e){let t=function(){try{var e,t;let n=null!=(e=sessionStorage.getItem("office_connection"))?e:localStorage.getItem("office_connection");if(!n)return null;return null!=(t=JSON.parse(n).gatewayId)?t:null}catch(e){return null}}();return t?"".concat(e,":").concat(t):e}let d="office-chat-history";function u(e){let t=Date.now()-6048e5;return e.filter(e=>e.timestamp>=t)}let p=null,g=null;function f(){p=null;let e=g;if(g=null,e)try{let t=[];for(let[,n]of e){if(n.isExternal||n.agentId.startsWith("reviewer-"))continue;let e=u(n.messages);(e.length>0||n.name!==n.agentId)&&t.push({agentId:n.agentId,name:n.name,role:n.role,palette:n.palette,personality:n.personality,backend:n.backend,isTeamLead:n.isTeamLead,teamId:n.teamId,messages:e.map(e=>{let{_accumulatedText:t,...n}=e;return n})})}let n=JSON.stringify(t);localStorage.setItem(c(d),n),h=null;try{(0,o.S8)({type:"SYNC_CHAT_HISTORY",data:n})}catch(e){}}catch(e){}}function m(e){g=e,p||(p=setTimeout(f,2e3))}let h=null;function b(){return h||(h=function(){try{let e=localStorage.getItem(c(d));if(!e)return new Map;let t=JSON.parse(e),n=new Map;for(let e of t)e.messages=u(e.messages),n.set(e.agentId,e);return n}catch(e){return new Map}}())}window.addEventListener("beforeunload",f);let y="office-team-messages";function k(e){try{let t=e.slice(-200);localStorage.setItem(c(y),JSON.stringify(t))}catch(e){}}let x="office-team-phase";function v(e){try{let t={};for(let[n,r]of e)t[n]=r;localStorage.setItem(c(x),JSON.stringify(t))}catch(e){}}function w(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return{agentId:e,name:t,role:n,status:"idle",currentTaskId:null,currentPrompt:null,awaitingApproval:!1,pendingApproval:null,messages:[],lastLogLine:null,tokenUsage:{inputTokens:0,outputTokens:0}}}let T=(0,r.v)((e,t)=>({agents:new Map,agentDefs:[],teamMessages:[],teamPhases:new Map,role:"owner",suggestions:[],projectList:[],viewingProjectId:null,viewingProjectEvents:[],viewingProjectName:null,pendingPreviewUrl:null,configResult:null,configData:null,detectedBackends:[],availableSkills:[],connected:!1,hydrated:!1,agentLogLines:new Map,visibleMessageCount:new Map,consumePreviewUrl:()=>{let n=t().pendingPreviewUrl;return n&&e({pendingPreviewUrl:null}),n},setConnected:t=>e({connected:t}),setRole:t=>e({role:t}),hydrate:()=>{if(t().hydrated)return;let n=b(),r=function(){try{let e=localStorage.getItem(c(y));return e?JSON.parse(e):[]}catch(e){return[]}}(),a=function(){try{let e=localStorage.getItem(c(x));if(!e)return new Map;let t=JSON.parse(e);return new Map(Object.entries(t))}catch(e){return new Map}}();if(0===n.size&&0===r.length&&0===a.size)return void e({hydrated:!0,teamMessages:r,teamPhases:a});e(e=>{let t=new Map(e.agents);for(let[e,r]of n)t.has(e)||t.set(e,{...w(e,r.name,r.role),palette:r.palette,personality:r.personality,backend:r.backend,isTeamLead:r.isTeamLead,teamId:r.teamId,messages:r.messages});return{agents:t,teamMessages:r,teamPhases:a,hydrated:!0}})},getAgent:e=>{var n;return null!=(n=t().agents.get(e))?n:w(e)},getVisibleMessages:e=>{var n;let r=t().agents.get(e);if(!r)return[];let a=null!=(n=t().visibleMessageCount.get(e))?n:20,o=r.messages;return o.length<=a?o:o.slice(-a)},loadMoreMessages:t=>{e(e=>{var n;let r=new Map(e.visibleMessageCount),a=null!=(n=r.get(t))?n:20;return r.set(t,a+20),{visibleMessageCount:r}})},removeAgent:t=>{e(e=>{let n=new Map(e.agents);n.delete(t),h=null;let r=new Map(e.visibleMessageCount);return r.delete(t),{agents:n,visibleMessageCount:r}})},clearTeamMessages:()=>{k([]),v(new Map),e({teamMessages:[],teamPhases:new Map})},clearViewingProject:()=>{e({viewingProjectId:null,viewingProjectEvents:[],viewingProjectName:null})},addUserMessage:(t,n,r)=>{e(e=>{var a;let o=new Map(e.agents),l=null!=(a=o.get(t))?a:w(t);return o.set(t,{...l,messages:[...l.messages,{id:n,role:"user",text:r,timestamp:Date.now()}]}),m(o),{agents:o}})},handleEvent:t=>{e(e=>{var r,o,c,d,p,g,f,y,x,T,S,E,I,C,A,D,j,R,M,O,L,P,_,W,Y,F,N,H,U,B,G,z,K,V,X,J,$,Z,q,Q,ee,et,en,er,ea,eo,el;let es=new Map(e.agents);switch(t.type){case"AGENTS_SYNC":{let e=new Set(t.agentIds);for(let t of es.keys())e.has(t)||es.delete(t);break}case"AGENT_CREATED":{(void 0!==t.lastMergeCommit||void 0!==t.pendingMerge)&&console.log("[Store DEBUG] AGENT_CREATED: agentId=".concat(t.agentId," pendingMerge=").concat(t.pendingMerge," lastMergeCommit=").concat(t.lastMergeCommit," lastMergeMessage=").concat(t.lastMergeMessage));let e=es.get(t.agentId);if(e)es.set(t.agentId,{...e,name:t.name,role:t.role,palette:null!=(r=t.palette)?r:e.palette,personality:null!=(o=t.personality)?o:e.personality,backend:null!=(c=t.backend)?c:e.backend,isTeamLead:null!=(d=t.isTeamLead)?d:e.isTeamLead,teamId:null!=(p=t.teamId)?p:e.teamId,isExternal:null!=(g=t.isExternal)?g:e.isExternal,pid:null!=(f=t.pid)?f:e.pid,cwd:null!=(y=t.cwd)?y:e.cwd,workDir:null!=(x=t.workDir)?x:e.workDir,startedAt:null!=(T=t.startedAt)?T:e.startedAt,autoMerge:null!=(S=t.autoMerge)?S:e.autoMerge,pendingMerge:null!=(E=t.pendingMerge)?E:e.pendingMerge,lastMergeCommit:void 0!==t.lastMergeCommit?t.lastMergeCommit:e.lastMergeCommit,lastMergeMessage:void 0!==t.lastMergeMessage?t.lastMergeMessage:e.lastMergeMessage,undoCount:null!=(I=t.undoCount)?I:e.undoCount});else{let e=t.isExternal?void 0:b().get(t.agentId),n=w(t.agentId,t.name,t.role);n.palette=null!=(C=t.palette)?C:null==e?void 0:e.palette,n.personality=null!=(A=t.personality)?A:null==e?void 0:e.personality,n.backend=null!=(D=t.backend)?D:null==e?void 0:e.backend,n.isTeamLead=null!=(j=t.isTeamLead)?j:null==e?void 0:e.isTeamLead,n.teamId=null!=(R=t.teamId)?R:null==e?void 0:e.teamId,n.isExternal=t.isExternal,n.pid=t.pid,n.cwd=t.cwd,n.workDir=t.workDir,n.startedAt=t.startedAt,n.autoMerge=t.autoMerge,n.pendingMerge=t.pendingMerge,n.lastMergeCommit=t.lastMergeCommit,n.lastMergeMessage=t.lastMergeMessage,n.undoCount=t.undoCount,e&&(n.messages=e.messages),es.set(t.agentId,n)}if(!t.isExternal&&!t.agentId.startsWith("reviewer-")){let n=es.get(t.agentId);(null==e?void 0:e.isTeamLead)&&!(null==n?void 0:n.isTeamLead)&&(console.warn("[Store] isTeamLead LOST for ".concat(t.agentId,"! event.isTeamLead=").concat(t.isTeamLead,", existing=").concat(e.isTeamLead)),console.trace()),m(es)}break}case"AGENT_FIRED":{es.delete(t.agentId),t.agentId,h=null,m(es);let n=new Map(e.teamPhases);for(let[e,r]of n)r.leadAgentId===t.agentId&&n.delete(e);if(n.size!==e.teamPhases.size)return v(n),{agents:es,teamPhases:n};break}case"AGENT_STATUS":{let e=null!=(M=es.get(t.agentId))?M:w(t.agentId);es.set(t.agentId,{...e,status:t.status});break}case"TASK_STARTED":{let n=null!=(O=es.get(t.agentId))?O:w(t.agentId),r=t.taskId+"-stream",a=n.messages.some(e=>e.id===r),o=n.messages.map(e=>e.id.endsWith("-stream")&&e.id!==r?{...e,id:e.id.replace("-stream","-streamed")}:e),l=o.some(e=>e.id===t.taskId)?o:[...o,{id:t.taskId,role:"user",text:t.prompt,timestamp:Date.now()}],s=new Map(e.agentLogLines);return s.delete(t.agentId),es.set(t.agentId,{...n,status:"working",currentTaskId:t.taskId,currentPrompt:t.prompt,awaitingApproval:!1,pendingApproval:null,lastLogLine:null,messages:a?l:[...l,{id:r,role:"agent",text:"",timestamp:Date.now()}]}),{agents:es,agentLogLines:s}}case"APPROVAL_NEEDED":{let e=null!=(L=es.get(t.agentId))?L:w(t.agentId);es.set(t.agentId,{...e,status:"waiting_approval",pendingApproval:{approvalId:t.approvalId,title:t.title,summary:t.summary,riskLevel:t.riskLevel}});break}case"TASK_DONE":{let r=null!=(P=es.get(t.agentId))?P:w(t.agentId),a=t.taskId+"-reply";if(r.messages.some(e=>e.id===a))break;let o=!1;if(r.isTeamLead){for(let[,n]of e.teamPhases)if(n.leadAgentId===t.agentId){o=["create","design","complete"].includes(n.phase);break}}let l=null!=(_=r._tokenBaseline)?_:{inputTokens:0,outputTokens:0},s=r.tokenUsage.inputTokens>l.inputTokens||r.tokenUsage.outputTokens>l.outputTokens?r.tokenUsage:t.result.tokenUsage?{inputTokens:r.tokenUsage.inputTokens+t.result.tokenUsage.inputTokens,outputTokens:r.tokenUsage.outputTokens+t.result.tokenUsage.outputTokens}:r.tokenUsage;if(r.isTeamLead&&!t.isFinalResult&&!o){let n=t.taskId+"-stream",a=r.messages.find(e=>e.id===n)?r.messages.map(e=>e.id===n?{...e,id:n.replace("-stream","-streamed")}:e):r.messages,o=new Map(e.agentLogLines);return o.set(t.agentId,null!=(F=null==(W=t.result.summary)?void 0:W.slice(0,100))?F:"Coordinating team..."),es.set(t.agentId,{...r,status:"working",currentTaskId:null,pendingApproval:null,lastLogLine:null!=(N=null==(Y=t.result.summary)?void 0:Y.slice(0,100))?N:"Coordinating team...",messages:a,tokenUsage:s,_tokenBaseline:s}),{agents:es,agentLogLines:o}}let c=t.taskId+"-stream",d=r.messages.find(e=>e.id===c),u=d?Date.now()-d.timestamp:void 0,p=null!=(H=null==d?void 0:d._accumulatedText)?H:"",g=t.result.fullOutput||t.result.summary,f=p.length>g.length?p:g,h=!r.isTeamLead&&!r.teamId,b=h&&/\[PLAN\]/i.test(f),y=h&&!b&&/(?:需要.*(?:批准|审批|确认|允许)|(?:ask|need|request).*(?:approv|permiss|confirm)|before.*(?:proceed|continu)|destructive|请.*(?:手动|批准|确认)|sandbox.*(?:限制|restrict|block))/i.test(f),k=[...r.messages.filter(e=>e.id!==c),{id:a,role:"agent",text:f,timestamp:Date.now(),result:t.result,isFinalResult:t.isFinalResult,durationMs:u}],x=new Map(e.agentLogLines);return x.delete(t.agentId),es.set(t.agentId,{...r,status:"done",currentTaskId:null,awaitingApproval:b||y,pendingApproval:null,lastLogLine:null,messages:k,tokenUsage:s,_tokenBaseline:s}),m(es),eo=r.name,el=f.slice(0,200),i&&("undefined"!=typeof document&&document.hasFocus()||(n.e(293).then(n.bind(n,5293)).then(e=>{let{invoke:t}=e;t("bounce_dock").catch(()=>{})}).catch(()=>{}),n.e(363).then(n.bind(n,4363)).then(async e=>{let{sendNotification:t,isPermissionGranted:n,requestPermission:r}=e,a=await n();a||(a=await r()==="granted"),a&&t({title:"".concat(eo," — Task Complete"),body:el.slice(0,200)})}).catch(()=>{}))),{agents:es,agentLogLines:x}}case"TASK_FAILED":{let n=null!=(U=es.get(t.agentId))?U:w(t.agentId),r=t.taskId+"-error";if(n.messages.some(e=>e.id===r))break;let a="Task cancelled by user"===t.error?"Current task has been cancelled. Tell me continue to pick up where I left off, or start something entirely new.":t.error,o=t.taskId+"-stream",l=n.messages.map(e=>e.id===o?{...e,id:o.replace("-stream","-streamed")}:e),s=new Map(e.agentLogLines);return s.delete(t.agentId),es.set(t.agentId,{...n,status:"error",currentTaskId:null,awaitingApproval:!1,pendingApproval:null,lastLogLine:null,messages:[...l,{id:r,role:"system",text:a,timestamp:Date.now()}]}),m(es),{agents:es,agentLogLines:s}}case"TASK_DELEGATED":{let e=es.get(t.fromAgentId),n=es.get(t.toAgentId),r=t.taskId+"-delegate";e&&!e.messages.some(e=>e.id===r)&&es.set(t.fromAgentId,{...e,messages:[...e.messages,{id:r,role:"system",text:"Delegated to ".concat(null!=(B=null==n?void 0:n.name)?B:t.toAgentId,": ").concat(t.prompt),timestamp:Date.now()}]});let a=t.taskId+"-received",o=null!=(G=es.get(t.toAgentId))?G:w(t.toAgentId);o.messages.some(e=>e.id===a)||es.set(t.toAgentId,{...o,messages:[...o.messages,{id:a,role:"user",text:"[From ".concat(null!=(z=null==e?void 0:e.name)?z:t.fromAgentId,"] ").concat(t.prompt),timestamp:Date.now()}]}),m(es);break}case"LOG_APPEND":{let n=es.get(t.agentId);if(!n||!t.chunk)break;let r=new Map(e.agentLogLines);if(r.set(t.agentId,t.chunk),t.chunk.startsWith("\uD83D\uDCAD "))return{agents:e.agents,agentLogLines:r};let a=n.currentTaskId?n.currentTaskId+"-stream":null,o=n.messages.length>0?n.messages[n.messages.length-1]:null;if(a&&(null==o?void 0:o.id)===a){let e=null!=(K=o._accumulatedText)?K:"",r=e?e+"\n"+t.chunk:t.chunk,a=[...n.messages];a[a.length-1]={...o,text:r,timestamp:Date.now(),_accumulatedText:r},es.set(t.agentId,{...n,messages:a})}else if(n.isExternal){let e=Date.now();if(o&&"agent"===o.role&&e-o.timestamp<1e4){let r=o.text,a=r?r+"\n"+t.chunk:t.chunk,l=[...n.messages];l[l.length-1]={...o,text:a,timestamp:e},es.set(t.agentId,{...n,messages:l})}else es.set(t.agentId,{...n,messages:[...n.messages,{id:"ext-log-".concat(e),role:"agent",text:t.chunk,timestamp:e}]})}return{agents:es,agentLogLines:r}}case"TOOL_ACTIVITY":if(es.get(t.agentId)){let n=new Map(e.agentLogLines);return n.set(t.agentId,t.text),{agents:es,agentLogLines:n}}break;case"TASK_RESULT_RETURNED":{let e=es.get(t.toAgentId);if(e){let n=es.get(t.fromAgentId),r=t.taskId+"-result-return";if(!e.messages.some(e=>e.id===r)){let a=t.success?"completed":"failed";es.set(t.toAgentId,{...e,messages:[...e.messages,{id:r,role:"system",text:"Result from ".concat(null!=(V=null==n?void 0:n.name)?V:t.fromAgentId," (").concat(a,"): ").concat(t.summary.slice(0,500)),timestamp:Date.now()}]})}}break}case"TEAM_CHAT":{let n=es.get(t.fromAgentId),r=t.toAgentId?es.get(t.toAgentId):void 0,a={id:"tc-".concat(t.timestamp,"-").concat(t.fromAgentId,"-").concat(t.messageType,"-").concat(null!=(X=t.toAgentId)?X:""),fromAgentId:t.fromAgentId,fromAgentName:null!=(J=null==n?void 0:n.name)?J:t.fromAgentId,toAgentId:t.toAgentId,toAgentName:null!=($=null==r?void 0:r.name)?$:t.toAgentId,message:t.message,messageType:t.messageType,timestamp:t.timestamp};if(e.teamMessages.some(e=>e.id===a.id))break;let o=[...e.teamMessages,a];if(k(o),"warning"===t.messageType&&n){let e="warn-".concat(t.timestamp,"-").concat(t.fromAgentId);n.messages.some(t=>t.id===e)||es.set(t.fromAgentId,{...n,messages:[...n.messages,{id:e,role:"system",text:t.message,timestamp:t.timestamp}]})}return{agents:es,teamMessages:o}}case"TASK_QUEUED":{let e=null!=(Z=es.get(t.agentId))?Z:w(t.agentId),n=t.taskId+"-queued";e.messages.some(e=>e.id===n)||es.set(t.agentId,{...e,messages:[...e.messages,{id:n,role:"system",text:"Task queued (position #".concat(t.position,"): ").concat(t.prompt.slice(0,100)),timestamp:Date.now()}]});break}case"TOKEN_UPDATE":{let e=null!=(q=es.get(t.agentId))?q:w(t.agentId),n=null!=(Q=e._tokenBaseline)?Q:{inputTokens:0,outputTokens:0};es.set(t.agentId,{...e,tokenUsage:{inputTokens:n.inputTokens+t.inputTokens,outputTokens:n.outputTokens+t.outputTokens}});break}case"AGENT_DEFS":return{agents:es,agentDefs:t.agents};case"SKILL_LIST":return{agents:es,availableSkills:t.skills};case"CHAT_HISTORY_LOADED":try{for(let e of JSON.parse(t.data)){let t=es.get(e.agentId);t&&0===t.messages.length&&e.messages.length>0&&(t.messages=u(e.messages))}}catch(e){}break;case"TEAM_PHASE":{let n=new Map(e.teamPhases);return n.set(t.teamId,{phase:t.phase,leadAgentId:t.leadAgentId}),v(n),{agents:es,teamPhases:n}}case"SUGGESTION":{let n=[...e.suggestions,{text:t.text,author:t.author,timestamp:t.timestamp}];return n.length>50&&n.shift(),{agents:es,suggestions:n}}case"PREVIEW_READY":return{agents:es,pendingPreviewUrl:(0,a.$5)(t.url)};case"FOLDER_PICKED":{let e=l.get(t.requestId);e&&(e(t.path),l.delete(t.requestId));break}case"IMAGE_UPLOADED":{let e=s.get(t.requestId);e&&(e(t.path),s.delete(t.requestId));break}case"BACKENDS_AVAILABLE":return{agents:es,detectedBackends:t.backends};case"CONFIG_LOADED":return{agents:es,configData:{telegramBotToken:t.telegramBotToken,telegramAllowedUsers:t.telegramAllowedUsers,telegramConnected:t.telegramConnected,worktreeEnabled:t.worktreeEnabled,autoMergeEnabled:t.autoMergeEnabled,tunnelBaseUrl:t.tunnelBaseUrl,tunnelToken:t.tunnelToken,tunnelRunning:t.tunnelRunning}};case"CONFIG_SAVED":return{agents:es,configResult:{success:t.success,message:t.message,telegramConnected:t.telegramConnected,tunnelRunning:t.tunnelRunning}};case"PROJECT_LIST":return{agents:es,projectList:t.projects};case"WORKTREE_READY":{let e=es.get(t.agentId);e&&es.set(t.agentId,{...e,pendingMerge:!0});break}case"WORKTREE_MERGED":{console.log("[Store DEBUG] WORKTREE_MERGED: agentId=".concat(t.agentId," success=").concat(t.success," commitHash=").concat(t.commitHash," commitMessage=").concat(t.commitMessage));let e=es.get(t.agentId);e&&es.set(t.agentId,{...e,pendingMerge:!t.success&&e.pendingMerge,lastMergeCommit:t.success&&null!=(ee=t.commitHash)?ee:e.lastMergeCommit,lastMergeMessage:t.success&&null!=(et=t.commitMessage)?et:e.lastMergeMessage,undoCount:null!=(er=t.undoCount)?er:t.success?(null!=(en=e.undoCount)?en:0)+1:e.undoCount});break}case"WORKTREE_REVERTED":{let e=es.get(t.agentId);e&&0===t.commitsAhead&&es.set(t.agentId,{...e,pendingMerge:!1});break}case"AUTO_MERGE_UPDATED":{let e=es.get(t.agentId);e&&es.set(t.agentId,{...e,autoMerge:t.autoMerge,lastMergeCommit:void 0!==t.lastMergeCommit?t.lastMergeCommit:e.lastMergeCommit,lastMergeMessage:void 0!==t.lastMergeMessage?t.lastMergeMessage:e.lastMergeMessage,undoCount:null!=(ea=t.undoCount)?ea:e.undoCount});break}case"PROJECT_DATA":return{agents:es,viewingProjectId:t.projectId,viewingProjectName:t.name,viewingProjectEvents:t.events}}return{agents:es}})}}))},370:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});var r=n(206),a=n(1406),o=n(2727),l=n(8688),s=n(9385);let i=(0,l.F)("inline-flex items-center justify-center gap-1 whitespace-nowrap font-mono text-term transition-all duration-fast shrink-0 cursor-pointer disabled:opacity-40 disabled:pointer-events-none focus-visible:outline-none",{variants:{variant:{ghost:"border border-border bg-transparent text-foreground hover:border-term-text-bright hover:text-term-text-bright hover:shadow-sm hover:-translate-y-px active:opacity-85 active:translate-y-0 active:shadow-none",primary:"border border-accent text-accent hover:shadow-sm hover:-translate-y-px active:opacity-85 active:translate-y-0",danger:"border border-accent text-accent opacity-70 hover:opacity-100 hover:shadow-sm hover:-translate-y-px active:translate-y-0",success:"border border-accent text-accent hover:shadow-sm hover:-translate-y-px active:opacity-85 active:translate-y-0",warning:"border border-accent text-accent opacity-80 hover:opacity-100 hover:shadow-sm hover:-translate-y-px active:translate-y-0",dim:"border border-border text-muted-foreground hover:text-foreground hover:border-term-text-bright hover:shadow-sm hover:-translate-y-px active:opacity-85 active:translate-y-0"},size:{default:"px-3 py-1 leading-4",sm:"px-2.5 py-0.5 text-[11px] leading-4",icon:"h-7 w-7 p-0"}},defaultVariants:{variant:"ghost",size:"default"}}),c=a.forwardRef((e,t)=>{let{className:n,variant:a,size:l,asChild:c=!1,...d}=e,u=c?o.DX:"button";return(0,r.jsx)(u,{className:(0,s.cn)(i({variant:a,size:l,className:n})),ref:t,...d})});c.displayName="Button";let d=(0,a.forwardRef)(function(e,t){let{variant:n="ghost",size:a="default",className:o,...l}=e;return(0,r.jsx)(c,{ref:t,variant:n,size:a,className:(0,s.cn)(o),...l})})},693:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>en});var r=n(206),a=n(1406),o=n(4717),l=n(138),s=n(5192),i=n(5149),c=n(2001),d=n(5195),u=n(2243);class p{pushUndo(e){this.undoStack.push(e),this.undoStack.length>u.k2&&this.undoStack.shift()}popUndo(){return this.undoStack.pop()||null}pushRedo(e){this.redoStack.push(e),this.redoStack.length>u.k2&&this.redoStack.shift()}popRedo(){return this.redoStack.pop()||null}clearRedo(){this.redoStack=[]}clearSelection(){this.selectedFurnitureUid=null}clearGhost(){this.ghostCol=-1,this.ghostRow=-1,this.ghostValid=!1}startDrag(e,t,n,r,a){this.dragUid=e,this.dragStartCol=t,this.dragStartRow=n,this.dragOffsetCol=r,this.dragOffsetRow=a,this.isDragMoving=!1}clearDrag(){this.dragUid=null,this.isDragMoving=!1}reset(){this.activeTool=d.VF.SELECT,this.selectedFurnitureUid=null,this.ghostCol=-1,this.ghostRow=-1,this.ghostValid=!1,this.isDragging=!1,this.wallDragAdding=null,this.undoStack=[],this.redoStack=[],this.isDirty=!1,this.dragUid=null,this.isDragMoving=!1}constructor(){this.isEditMode=!1,this.activeTool=d.VF.SELECT,this.selectedTileType=d.nb.FLOOR_1,this.selectedFurnitureType="desk",this.floorColor={...u.Pk},this.wallColor={...u.fS},this.wallDragAdding=null,this.pickedFurnitureColor=null,this.ghostCol=-1,this.ghostRow=-1,this.ghostValid=!1,this.selectedFurnitureUid=null,this.isDragging=!1,this.undoStack=[],this.redoStack=[],this.isDirty=!1,this.dragUid=null,this.dragStartCol=0,this.dragStartRow=0,this.dragOffsetCol=0,this.dragOffsetRow=0,this.isDragMoving=!1}}var g=n(1204),f=n(9892);let m=null;function h(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"sine",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:.15,l=e.createOscillator(),s=e.createGain();l.type=a,l.frequency.setValueAtTime(t,n),s.gain.setValueAtTime(0,n),s.gain.linearRampToValueAtTime(o,n+.02),s.gain.exponentialRampToValueAtTime(.001,n+r),l.connect(s).connect(e.destination),l.start(n),l.stop(n+r)}let b={taskStart:function(e){let t=e.currentTime;[523.25,659.25,783.99].forEach((n,r)=>h(e,n,t+.08*r,.18,"triangle",.12))},taskDone:function(e){let t=e.currentTime;[523.25,659.25,783.99,1046.5].forEach((n,r)=>h(e,n,t+.06*r,.35,"sine",.1)),h(e,1318.5,t+.28,.25,"sine",.06)},taskFailed:function(e){let t=e.currentTime;[440,370,311].forEach((n,r)=>h(e,n,t+.12*r,.25,"sawtooth",.08))},approval:function(e){let t=e.currentTime;h(e,880,t,.15,"sine",.12),h(e,1108.73,t+.18,.2,"sine",.1)},notification:function(e){let t=e.currentTime;h(e,1046.5,t,.12,"sine",.13),h(e,1318.5,t+.1,.18,"sine",.09)},delegation:function(e){let t=e.currentTime;h(e,698.46,t,.08,"square",.07),h(e,880,t+.07,.1,"square",.06)}};function y(e){try{let t=(m&&"closed"!==m.state||(m=new AudioContext),"suspended"===m.state&&m.resume().catch(()=>{}),m);b[e](t)}catch(e){}}var k=n(4932);let x={external:k.KE,team:k.O2,normal:k.Y0};function v(e){if(e.isExternal){var t;return{label:"".concat(null!=(t=e.pid)?t:"?"),color:x.external}}return{label:e.name.split(/[\s(]/)[0],color:e.teamId?x.team:x.normal}}function w(e){return e.pendingApproval?"permission":"working"===e.status?"working":"done"===e.status||"error"===e.status?"waiting":null}var T=n(7821),S=n(7877),E=n(786),I=n(1310),C=n(370);function A(e){let{message:t,onConfirm:n,onCancel:a}=e;return(0,r.jsx)(I.A,{open:!0,onClose:a,maxWidth:380,title:"Confirm",footer:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(C.A,{variant:"dim",onClick:a,children:"No"}),(0,r.jsx)(C.A,{variant:"danger",onClick:n,children:"Yes"})]}),children:(0,r.jsx)("div",{style:{textAlign:"center",lineHeight:1.6},children:t})})}var D=n(7580),j=n(5282);let R=(0,j.default)(()=>n.e(368).then(n.bind(n,368)),{loadableGenerated:{webpack:()=>[368]},ssr:!1}),M=(0,j.default)(()=>n.e(810).then(n.bind(n,9810)),{loadableGenerated:{webpack:()=>[9810]},ssr:!1});(0,j.default)(()=>Promise.all([n.e(767),n.e(290)]).then(n.bind(n,9290)),{loadableGenerated:{webpack:()=>[9290]},ssr:!1});let O=(0,j.default)(()=>n.e(29).then(n.bind(n,6029)),{loadableGenerated:{webpack:()=>[6029]},ssr:!1}),L=(0,j.default)(()=>Promise.all([n.e(767),n.e(757)]).then(n.bind(n,3757)),{loadableGenerated:{webpack:()=>[3757]},ssr:!1}),P=(0,j.default)(()=>n.e(336).then(n.bind(n,336)),{loadableGenerated:{webpack:()=>[336]},ssr:!1}),_=(0,j.default)(()=>Promise.all([n.e(712),n.e(27)]).then(n.bind(n,3027)),{loadableGenerated:{webpack:()=>[3027]},ssr:!1}),W=(0,j.default)(()=>n.e(73).then(n.bind(n,73)),{loadableGenerated:{webpack:()=>[73]},ssr:!1}),Y=(0,j.default)(()=>n.e(849).then(n.bind(n,849)),{loadableGenerated:{webpack:()=>[849]},ssr:!1}),F=(0,j.default)(()=>n.e(913).then(n.bind(n,6913)),{loadableGenerated:{webpack:()=>[6913]},ssr:!1}),N=(0,j.default)(()=>n.e(606).then(n.bind(n,606)),{loadableGenerated:{webpack:()=>[606]},ssr:!1}),H=(0,j.default)(()=>n.e(606).then(n.bind(n,606)).then(e=>({default:e.ConfettiOverlay})),{loadableGenerated:{webpack:()=>[606]},ssr:!1}),U=(0,j.default)(()=>Promise.resolve().then(n.bind(n,7580)),{loadableGenerated:{webpack:()=>[7580]},ssr:!1}),B=(0,j.default)(()=>n.e(883).then(n.bind(n,883)),{loadableGenerated:{webpack:()=>[883]},ssr:!1}),G=(0,j.default)(()=>n.e(794).then(n.bind(n,8794)),{loadableGenerated:{webpack:()=>[8794]},ssr:!1}),z=(0,j.default)(()=>n.e(297).then(n.bind(n,3297)),{loadableGenerated:{webpack:()=>[3297]},ssr:!1}),K=(0,j.default)(()=>n.e(895).then(n.bind(n,5895)),{loadableGenerated:{webpack:()=>[5895]},ssr:!1}),V=(0,j.default)(()=>n.e(262).then(n.bind(n,262)),{loadableGenerated:{webpack:()=>[262]},ssr:!1}),X=(0,j.default)(()=>n.e(999).then(n.bind(n,7999)),{loadableGenerated:{webpack:()=>[7999]},ssr:!1}),J=(0,j.default)(()=>Promise.all([n.e(767),n.e(853)]).then(n.bind(n,6853)),{loadableGenerated:{webpack:()=>[6853]},ssr:!1}),$=(0,j.default)(()=>n.e(337).then(n.bind(n,3337)),{loadableGenerated:{webpack:()=>[3337]},ssr:!1}),Z=(0,j.default)(()=>n.e(729).then(n.bind(n,9729)),{loadableGenerated:{webpack:()=>[9729]},ssr:!1}),q=(0,j.default)(()=>n.e(611).then(n.bind(n,3611)),{loadableGenerated:{webpack:()=>[3611]},ssr:!1});function Q(e){let{onLoadMore:t}=e,n=(0,a.useRef)(null),o=(0,a.useRef)(t);return o.current=t,(0,a.useEffect)(()=>{let e=n.current;if(!e)return;let t=new IntersectionObserver(e=>{let[t]=e;t.isIntersecting&&o.current()},{threshold:0,rootMargin:"100px 0px 0px 0px"});return t.observe(e),()=>t.disconnect()},[]),(0,r.jsx)("div",{ref:n,style:{height:1,flexShrink:0}})}let ee=new Set,et=new Map;function en(){var e;let t=(0,o.useRouter)(),m=(0,l.hK)(e=>e.agents),h=(0,l.hK)(e=>e.connected),b=(0,l.hK)(e=>e.teamMessages),x=(0,l.hK)(e=>e.teamPhases),I=(0,l.hK)(e=>e.agentDefs),C=(0,l.hK)(e=>e.role),j=(0,l.hK)(e=>e.suggestions),en=(0,l.hK)(e=>e.detectedBackends),er=(0,l.hK)(e=>e.agentLogLines);(0,l.hK)(e=>e.visibleMessageCount);let{addUserMessage:ea,clearTeamMessages:eo,setRole:el,getVisibleMessages:es,loadMoreMessages:ei}=l.hK.getState(),[ec,ed]=(0,a.useState)(null),[eu,ep]=(0,a.useState)(null),[eg,ef]=(0,a.useState)({}),[em,eh]=(0,a.useState)(!1),[eb,ey]=(0,a.useState)(null),[ek,ex]=(0,a.useState)(!1),{confirm:ev,modal:ew}=function(){let[e,t]=(0,a.useState)(null),n=(0,a.useCallback)(e=>new Promise(n=>{t({message:e,resolve:n})}),[]),o=(0,a.useCallback)(()=>{null==e||e.resolve(!0),t(null)},[e]),l=(0,a.useCallback)(()=>{null==e||e.resolve(!1),t(null)},[e]);return{confirm:n,modal:e?(0,r.jsx)(A,{message:e.message,onConfirm:o,onCancel:l}):null}}(),[eT,eS]=(0,a.useState)(!1),[eE,eI]=(0,a.useState)(!1),[eC,eA]=(0,a.useState)(!1),[eD,ej]=(0,a.useState)(null),[eR,eM]=(0,a.useState)(!1),[eO,eL]=(0,a.useState)(!1),[eP,e_]=(0,a.useState)("agents"),[eW,eY]=(0,a.useState)(""),[eF,eN]=(0,a.useState)([]),eH=(0,a.useRef)(new Map),eU=(0,a.useRef)(0),eB=(0,a.useRef)(null),[eG,ez]=(0,a.useState)(!1),[eK,eV]=(0,a.useState)(!1),[eX,eJ]=(0,a.useState)(!1),[e$,eZ]=(0,a.useState)(!1),[eq,eQ]=(0,a.useState)(!1),[e0,e1]=(0,a.useState)(null),[e2,e8]=(0,a.useState)(!1),[e3,e6]=(0,a.useState)(!1),[e4,e5]=(0,a.useState)(!1),[e9,e7]=(0,a.useState)(!1),te=new URLSearchParams(window.location.search).has("test");(0,a.useEffect)(()=>{e7(new URLSearchParams(window.location.search).has("demo"))},[]);let[tt,tn]=(0,a.useState)(1),[tr,ta]=(0,a.useState)(!0),[to,tl]=(0,a.useState)(3),[ts,ti]=(0,a.useState)(1),[,tc]=(0,a.useState)(0),td=(0,a.useRef)(new p),tu=(0,a.useRef)(null),[tp,tg]=(0,a.useState)(null),tf=(0,a.useRef)(1),tm=(0,a.useRef)({x:0,y:0}),[th,tb]=(0,a.useState)(!1),[ty,tk]=(0,a.useState)("amber-noir");(0,k.c8)(ty),(0,a.useEffect)(()=>{let e=localStorage.getItem("open-office-theme");e&&k.aD[e]&&tk(e)},[]),(0,a.useEffect)(()=>{(0,k.c8)(ty),localStorage.setItem("open-office-theme",ty)},[ty]),(0,a.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key&&(e.preventDefault(),eQ(e=>!e))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]);let tx=(0,a.useRef)(new Set),tv=(0,a.useRef)(new Map),tw=(0,a.useRef)(new Map),tT=(0,a.useRef)(0);(0,a.useEffect)(()=>{if(!tp)return;let e=l.hK.getState();for(let[r,a]of e.agents){var t,n;let{label:o,color:l}=v(a);tp.addAgent(r,{name:a.name,label:o,labelColor:l,isExternal:!!a.isExternal,palette:a.palette}),tp.updateAgent(r,a.status,w(a),!!a.teamId),tx.current.add(r),tv.current.set(r,a.messages.length),tw.current.set(r,null!=(n=null!=(t=e.agentLogLines.get(r))?t:a.lastLogLine)?n:null)}return tT.current=e.teamMessages.length,()=>{tx.current.clear(),tv.current.clear(),tw.current.clear(),tT.current=0}},[tp]),(0,a.useEffect)(()=>{if(tp)return l.hK.subscribe(e=>{let t=new Set(e.agents.keys());for(let[t,a]of e.agents){var n,r;if(!tx.current.has(t)){let{label:e,color:n}=v(a);tp.addAgent(t,{name:a.name,label:e,labelColor:n,isExternal:!!a.isExternal,palette:a.palette}),tx.current.add(t)}tp.updateAgent(t,a.status,w(a),!!a.teamId);let o=null!=(n=tv.current.get(t))?n:0,l=a.messages.length;if(l>o){let e=a.messages[l-1];e&&"user"!==e.role&&tp.showSpeechBubble(t,e.text)}tv.current.set(t,l);let s=tw.current.get(t),i=null!=(r=e.agentLogLines.get(t))?r:a.lastLogLine;i&&i!==s&&tp.showSpeechBubble(t,i),tw.current.set(t,i)}let a=tT.current;if(e.teamMessages.length>a)for(let t=a;t<e.teamMessages.length;t++){let n=e.teamMessages[t],r=n.toAgentName,a=r?"".concat(r,": ").concat(n.message):n.message;tp.showSpeechBubble(n.fromAgentId,a)}for(let n of(tT.current=e.teamMessages.length,tx.current))t.has(n)||(tp.removeAgent(n),tx.current.delete(n),tv.current.delete(n),tw.current.delete(n))})},[tp]),(0,a.useEffect)(()=>{null==tp||tp.selectAgent(ec)},[tp,ec]);let tS=(0,l.hK)(e=>e.pendingPreviewUrl);(0,a.useEffect)(()=>{tS&&eu&&(ep(tS),l.hK.getState().consumePreviewUrl())},[tS,eu]),(0,a.useEffect)(()=>{try{let e=localStorage.getItem("office-sound-enabled");null!==e&&ta(JSON.parse(e))}catch(e){}try{let e=localStorage.getItem("office-console-cols"),t=localStorage.getItem("office-console-rows");null!==e&&tl(Math.max(1,Math.min(6,JSON.parse(e)))),null!==t&&ti(Math.max(1,Math.min(4,JSON.parse(t))))}catch(e){}},[]);let tE=(0,a.useRef)(new Map),tI=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(tr)return l.hK.subscribe(e=>{let t=tE.current,n=new Map;for(let[r,a]of e.agents){let e=a.status;n.set(r,e);let o=t.get(r);if(o!==e&&void 0!==o)switch(e){case"working":"working"!==o&&y("taskStart");break;case"done":y("taskDone");break;case"error":"done"!==o&&y("taskFailed");break;case"waiting_approval":y("approval")}}let r=e.teamMessages;if(r.length>0){let e=r[r.length-1];"delegation"===e.messageType&&e.id!==tI.current&&Date.now()-e.timestamp<2e3&&(tI.current=e.id,y("delegation"))}tE.current=n})},[tr]),(0,a.useEffect)(()=>{let e;if(!window.__TAURI_INTERNALS__)return;let t=/\.(png|jpe?g|gif|webp|svg|bmp|ico)$/i;return Promise.all([n.e(955).then(n.bind(n,7955)),n.e(293).then(n.bind(n,5293))]).then(n=>{let[{getCurrentWebview:r},{convertFileSrc:a}]=n;r().onDragDropEvent(e=>{var n;if("drop"!==e.payload.type||!(null==(n=e.payload.paths)?void 0:n.length))return;let r=e.payload.paths,o=r.filter(e=>t.test(e)),l=r.filter(e=>!t.test(e));for(let e of o)fetch(a(e)).then(e=>e.blob()).then(t=>{let n=e.split("/").pop()||"image.png",r=new File([t],n,{type:t.type||"image/png"}),a=new FileReader;a.onload=()=>{let e=a.result,t=e.split(",")[1],r=n.split(".").pop()||"png",o="image-".concat(Date.now(),".").concat(r);eN(n=>[...n,{name:o,dataUrl:e,base64:t}])},a.readAsDataURL(r)}).catch(()=>{});l.length>0&&eY(e=>{let t=l.join(" ");return e?e+" "+t:t})}).then(t=>{e=t})}).catch(()=>{}),()=>{null==e||e()}},[]);let tC=(0,l.hK)(e=>e.hydrated),tA=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(tC){if(null===tA.current){let e=new Set;for(let[,t]of m)for(let n of t.messages)(n.result||n.isFinalResult)&&e.add(n.id);tA.current=e;return}for(let[,e]of m){let t=e.messages;if(0===t.length)continue;let n=t[t.length-1];if(!n.result||tA.current.has(n.id))continue;tA.current.add(n.id);let r=n.result;if(0===r.changedFiles.length&&"unknown"===r.testResult&&!r.previewUrl&&!r.previewCmd&&!r.previewPath||e.teamId&&!e.isTeamLead||e.isTeamLead&&!n.isFinalResult)continue;let a={previewUrl:r.previewUrl,previewPath:r.previewPath,previewCmd:r.previewCmd,previewPort:r.previewPort,projectDir:r.projectDir,entryFile:r.entryFile},o=(0,S.P9)({previewUrl:r.previewUrl,previewCmd:r.previewCmd,previewPort:r.previewPort,previewPath:r.previewPath,entryFile:r.entryFile}),l=!o&&(0,S.iv)({previewPath:r.previewPath,previewCmd:r.previewCmd,previewPort:r.previewPort,projectDir:r.projectDir,entryFile:r.entryFile});(o||l)&&(ey(a),ef({}),eh(!1)),ex(!0),setTimeout(()=>ex(!1),3e3)}}},[tC,m]);let{handleTileClick:tD,handleRightClick:tj,handleDeleteSelected:tR,handleRotateSelected:tM,handleDragStart:tO,handleDragMove:tL,handleDragEnd:tP,updateGhost:t_,handleUndo:tW,handleRedo:tY,handleImportLayout:tF,handleSelectedFurnitureColorChange:tN}=function(e,t,n){let r=(0,a.useRef)(null),o=(0,a.useCallback)(()=>{var e,n;return null!=(n=null==(e=t.current)?void 0:e.layout)?n:null},[t]),l=(0,a.useCallback)(a=>{let o=t.current;o&&(o.setLayout(a),e.current.isDirty=!0,n(),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{try{localStorage.setItem("office-layout",JSON.stringify(a))}catch(e){}},u.e7))},[t,e,n]),s=(0,a.useCallback)((t,r)=>{var a,s,i,u;let p=e.current,m=o();if(!m)return;let h=p.activeTool;if(t<0||t>=m.cols||r<0||r>=m.rows){let e=null;if(r<0?e="up":r>=m.rows?e="down":t<0?e="left":t>=m.cols&&(e="right"),e){p.pushUndo(m),p.clearRedo();let t=(0,g.vk)(m,e);t&&l(t.layout)}return}switch(h){case d.VF.TILE_PAINT:p.pushUndo(m),p.clearRedo(),l((0,g.FH)(m,t,r,p.selectedTileType,p.floorColor));break;case d.VF.WALL_PAINT:{p.pushUndo(m),p.clearRedo();let e=r*m.cols+t;m.tiles[e]===d.nb.WALL?l((0,g.FH)(m,t,r,d.nb.FLOOR_1,p.floorColor)):l((0,g.FH)(m,t,r,d.nb.WALL,p.wallColor));break}case d.VF.ERASE:{p.pushUndo(m),p.clearRedo();let e=(0,g.iH)(m,t,r),n=m;e&&(n=(0,g.PT)(n,e.uid)),l(n=(0,g.FH)(n,t,r,d.nb.VOID));break}case d.VF.FURNITURE_PLACE:if(p.selectedFurnitureType){let e=(0,f.Um)(p.selectedFurnitureType);if(e){let n=e.canPlaceOnWalls?(0,g.si)(p.selectedFurnitureType,r):r;if((0,g.Ii)(m,p.selectedFurnitureType,t,n)){p.pushUndo(m),p.clearRedo();let e={uid:"f-".concat((0,c.Ak)(6)),type:p.selectedFurnitureType,col:t,row:n,...p.pickedFurnitureColor?{color:p.pickedFurnitureColor}:{}};l((0,g.qZ)(m,e))}}}break;case d.VF.SELECT:{let e=(0,g.iH)(m,t,r);p.selectedFurnitureUid=null!=(a=null==e?void 0:e.uid)?a:null,n();break}case d.VF.EYEDROPPER:{let e=r*m.cols+t,a=m.tiles[e];if(void 0!==a&&a!==d.nb.WALL&&a!==d.nb.VOID){p.selectedTileType=a;let t=null==(s=m.tileColors)?void 0:s[e];t&&(p.floorColor={...t}),p.activeTool=d.VF.TILE_PAINT}else if(a===d.nb.WALL){let t=null==(i=m.tileColors)?void 0:i[e];t&&(p.wallColor={...t}),p.activeTool=d.VF.WALL_PAINT}n();break}case d.VF.FURNITURE_PICK:{let e=(0,g.iH)(m,t,r);e&&(p.selectedFurnitureType=e.type,p.pickedFurnitureColor=null!=(u=e.color)?u:null,p.activeTool=d.VF.FURNITURE_PLACE,n())}}},[e,o,l,n]),i=(0,a.useCallback)((t,n)=>{let r=o();if(!r||t<0||t>=r.cols||n<0||n>=r.rows)return;let a=e.current;a.pushUndo(r),a.clearRedo();let s=(0,g.iH)(r,t,n),i=r;s&&(i=(0,g.PT)(i,s.uid)),l(i=(0,g.FH)(i,t,n,d.nb.VOID))},[e,o,l]),p=(0,a.useCallback)(()=>{let t=e.current,r=o();r&&t.selectedFurnitureUid&&(t.pushUndo(r),t.clearRedo(),l((0,g.PT)(r,t.selectedFurnitureUid)),t.selectedFurnitureUid=null,n())},[e,o,l,n]),m=(0,a.useCallback)(()=>{let t=e.current,n=o();if(!n||!t.selectedFurnitureUid)return;let r=n.furniture.find(e=>e.uid===t.selectedFurnitureUid);r&&(0,f.ZZ)(r.type)&&(t.pushUndo(n),t.clearRedo(),l((0,g.WC)(n,t.selectedFurnitureUid)))},[e,o,l]),h=(0,a.useCallback)((t,n)=>{let r=e.current,a=o();if(!a)return;let l=(0,g.iH)(a,t,n);l&&(r.selectedFurnitureUid=l.uid,r.startDrag(l.uid,t,n,t-l.col,n-l.row),r.pushUndo(a),r.clearRedo())},[e,o]),b=(0,a.useCallback)((t,n)=>{let r=e.current;if(!r.dragUid)return;r.isDragMoving=!0;let a=o();if(!a)return;let l=t-r.dragOffsetCol,s=n-r.dragOffsetRow,i=a.furniture.find(e=>e.uid===r.dragUid);i&&((0,f.Um)(i.type),r.ghostCol=l,r.ghostRow=s,r.ghostValid=(0,g.Ii)(a,i.type,l,s,r.dragUid))},[e,o]),y=(0,a.useCallback)((t,n)=>{let r=e.current;if(!r.dragUid)return;let a=r.dragUid,s=r.isDragMoving;if(r.clearDrag(),r.clearGhost(),!s)return;let i=o();if(!i)return;let c=t-r.dragOffsetCol,d=n-r.dragOffsetRow;l((0,g.iZ)(i,a,c,d))},[e,o,l]),k=(0,a.useCallback)((t,n)=>{let r=e.current;if(!r.dragUid)if(r.activeTool===d.VF.FURNITURE_PLACE&&r.selectedFurnitureType){let e=o();if(!e)return;let a=(0,f.Um)(r.selectedFurnitureType);if(!a)return;let l=a.canPlaceOnWalls?(0,g.si)(r.selectedFurnitureType,n):n;r.ghostCol=t,r.ghostRow=l,r.ghostValid=(0,g.Ii)(e,r.selectedFurnitureType,t,l)}else r.ghostCol=t,r.ghostRow=n,r.ghostValid=!1},[e,o]),x=(0,a.useCallback)(()=>{let t=e.current,n=o();if(!n)return;let r=t.popUndo();r&&(t.pushRedo(n),l(r))},[e,o,l]),v=(0,a.useCallback)(()=>{let t=e.current,n=o();if(!n)return;let r=t.popRedo();r&&(t.pushUndo(n),l(r))},[e,o,l]);return{handleTileClick:s,handleRightClick:i,handleDeleteSelected:p,handleRotateSelected:m,handleDragStart:h,handleDragMove:b,handleDragEnd:y,updateGhost:k,handleUndo:x,handleRedo:v,handleImportLayout:(0,a.useCallback)(t=>{let n=e.current,r=o();r&&(n.pushUndo(r),n.clearRedo()),l(t)},[e,o,l]),handleSelectedFurnitureColorChange:(0,a.useCallback)(t=>{let n=e.current,r=o();if(!r||!n.selectedFurnitureUid)return;n.pushUndo(r),n.clearRedo();let a=r.furniture.map(e=>e.uid===n.selectedFurnitureUid?{...e,color:null!=t?t:void 0}:e);l({...r,furniture:a})},[e,o,l])}}(td,tu,(0,a.useCallback)(()=>{tc(e=>e+1)},[])),tH=(0,a.useCallback)(e=>{let t=document.querySelector("canvas");if(!(null==t?void 0:t.parentElement))return;let n=t.parentElement.clientWidth,r=t.parentElement.clientHeight,a=e.cols*u.dn,o=e.rows*u.dn;tf.current=Math.max(u.DH,Math.min(n/a,r/o,u.ZV)),tm.current={x:0,y:0}},[tf,tm]),tU=(0,a.useCallback)((e,t)=>{let n=tu.current;n&&(n.setBackgroundImage(t),tF(e),tn(e.cols/e.rows),requestAnimationFrame(()=>requestAnimationFrame(()=>tH(e))))},[tu,tF,tH]),tB=(0,a.useCallback)(()=>{ez(e=>{let t=!e;return t||td.current.reset(),t})},[]);!function(e){let{editMode:t,editorRef:n,onUndo:r,onRedo:o,onDeleteSelected:l,onRotateSelected:s,onExitEditMode:i}=e;(0,a.useEffect)(()=>{if(!t)return;let e=e=>{let t=e.ctrlKey||e.metaKey;if(t&&"z"===e.key&&!e.shiftKey){e.preventDefault(),r();return}if(t&&"y"===e.key||t&&"z"===e.key&&e.shiftKey){e.preventDefault(),o();return}if("Delete"===e.key||"Backspace"===e.key){n.current.selectedFurnitureUid&&(e.preventDefault(),l());return}if("r"===e.key||"R"===e.key){n.current.selectedFurnitureUid&&(e.preventDefault(),s());return}if("Escape"===e.key)return void(n.current.selectedFurnitureUid?n.current.selectedFurnitureUid=null:i());let a={1:d.VF.SELECT,2:d.VF.TILE_PAINT,3:d.VF.WALL_PAINT,4:d.VF.ERASE,5:d.VF.FURNITURE_PLACE,6:d.VF.EYEDROPPER};if(a[e.key]){n.current.activeTool=a[e.key],n.current.selectedFurnitureUid=null;return}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,n,r,o,l,s,i])}({editMode:eG,editorRef:td,onUndo:tW,onRedo:tY,onDeleteSelected:tR,onRotateSelected:tM,onExitEditMode:tB});let tG=(0,a.useCallback)(async()=>{let e=tu.current;if(e)try{let{loadDefaultOffice:t}=await Promise.all([n.e(712),n.e(27)]).then(n.bind(n,3027)),r=await t();r&&(e.setBackgroundImage(r.backgroundImage),tF(r.layout),e1(r.officeId),tn(r.layout.cols/r.layout.rows),requestAnimationFrame(()=>requestAnimationFrame(()=>tH(r.layout))))}catch(e){console.warn("[OfficePage] Failed to load default office zip:",e)}tb(!0)},[]),tz=(0,a.useCallback)(e=>{tg(e)},[]);(0,a.useEffect)(()=>{let e,r=(0,i.getConnection)();if(!r||!r.sessionToken){if(r&&!r.sessionToken){let{clearConnection:e}=n(5149);e()}t.push("/pair");return}return(async()=>{var e;if(el(null!=(e=r.role)?e:"owner"),l.hK.getState().hydrate(),"ably"===r.mode)return(0,s.Ng)(r);let t=!!window.__TAURI_INTERNALS__,a="3000"===window.location.port||"3002"===window.location.port;if(t&&!a&&r.wsUrl)return(0,s.Ng)(r);if(!a)try{let e=await fetch("".concat(window.location.origin,"/connect"),{signal:AbortSignal.timeout(500)});if(e.ok){let t=await e.json(),a={...r,wsUrl:window.location.origin.replace(/^http/,"ws"),sessionToken:t.sessionToken},{saveConnection:o}=await Promise.resolve().then(n.bind(n,5149));return o(a),(0,s.Ng)(a)}}catch(e){}for(let e of a?[9099,9090,9091]:[9090,9091,9099])try{let t=await fetch("http://localhost:".concat(e,"/connect"),{signal:AbortSignal.timeout(1e3)});if(!t.ok)continue;let a=await t.json();if(r.gatewayId&&a.gatewayId&&a.gatewayId!==r.gatewayId)continue;let o={...r,wsUrl:"ws://localhost:".concat(e),sessionToken:a.sessionToken,gatewayId:a.gatewayId},{saveConnection:l}=await Promise.resolve().then(n.bind(n,5149));return l(o),(0,s.Ng)(o)}catch(e){}return(0,s.Ng)(r)})().then(t=>{e=t}),()=>{null==e||e()}},[t,el]);let tK=ec?m.get(ec):null;(null==tK?void 0:tK.status)==="working"||null==tK||tK.status;let tV=null!=(e=null==tK?void 0:tK.messages.length)?e:0,tX=(0,a.useRef)(!0),tJ=(0,a.useRef)(!1),t$=(0,a.useRef)(eW);(0,a.useEffect)(()=>{t$.current&&!eW&&(tX.current=!0),t$.current=eW},[eW]),(0,a.useEffect)(()=>{let e=eB.current;if(!e)return;let t=e.parentElement;if(!t)return;let n=()=>{tJ.current||(tX.current=t.scrollHeight-t.scrollTop-t.clientHeight<=80)};return t.addEventListener("scroll",n,{passive:!0}),()=>t.removeEventListener("scroll",n)},[ec]),(0,a.useEffect)(()=>{let e=eB.current;if(!e)return;let t=e.parentElement;if(!t)return;let n=new ResizeObserver(()=>{tJ.current=!0,tX.current&&(t.scrollTop=t.scrollHeight),requestAnimationFrame(()=>{tJ.current=!1})});return n.observe(t),()=>n.disconnect()},[ec]),(0,a.useLayoutEffect)(()=>{let e=eB.current,t=null==e?void 0:e.parentElement;t&&tX.current&&(t.scrollTop=t.scrollHeight)},[ec,tV]),(0,a.useEffect)(()=>{let e=eB.current;if(!e)return;let t=e.parentElement;if(!t)return;let n=0,r=new MutationObserver(()=>{n||(n=requestAnimationFrame(()=>{n=0,tX.current&&(t.scrollTop=t.scrollHeight)}))});return r.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>r.disconnect()},[ec]),(0,a.useEffect)(()=>{if(ec)return;let e=Array.from(m.values()).find(e=>e.isTeamLead);e&&(ed(e.agentId),eM(!0))},[m,ec]);let tZ=(0,a.useCallback)(e=>{ed(e),eM(!0);let t=m.get(e);t&&(t.isExternal?e_("external"):t.teamId?e_("team"):e_("agents"))},[m]),tq=(0,a.useCallback)((e,t,n,r)=>{let a=(null==r?void 0:r.trim())||(()=>{let t=Array.from(m.values()).filter(t=>t.name===e.name||t.name.match(new RegExp("^".concat(e.name," \\d+$"))));return 0===t.length?e.name:"".concat(e.name," ").concat(t.length+1)})(),o="agent-".concat((0,c.Ak)(6));(0,s.S8)({type:"CREATE_AGENT",agentId:o,name:a,role:e.skills?"".concat(e.role," — ").concat(e.skills):e.role,palette:e.palette,personality:e.personality,backend:t,workDir:n,skillFiles:e.skillFiles}),n&&et.set(o,n),ed(o),eM(!0),e_("agents"),eS(!1)},[m]),tQ=(0,a.useCallback)((e,t,n,r)=>{(0,s.S8)({type:"CREATE_TEAM",leadId:e,memberIds:t,backends:n,workDir:r}),eI(!1),e_("team"),ed(null),eM(!1),eL(!0)},[]),t0=(0,a.useCallback)(e=>{(0,s.S8)({type:"SAVE_AGENT_DEF",agent:e}),eA(!1),ej(null),eS(!0)},[]),t1=(0,a.useCallback)(e=>{(0,s.S8)({type:"DELETE_AGENT_DEF",agentDefId:e})},[]),t2=(0,a.useCallback)(async e=>{let t=m.get(e);if(null==t?void 0:t.isExternal){if(!await ev("Kill external process ".concat(t.name,"? (PID ").concat(t.pid,")")))return;(0,s.S8)({type:"KILL_EXTERNAL",agentId:e})}else{var n;if(!await ev("Fire ".concat(null!=(n=null==t?void 0:t.name)?n:e,"?")))return;(0,s.S8)({type:"FIRE_AGENT",agentId:e})}ec===e&&(ed(null),eM(!1))},[ec,m,ev]),t8=(0,a.useMemo)(()=>{for(let e of m.values())if(e.teamId)return!0;return!1},[m]),t3=Array.from(m.values()).some(e=>!!e.teamId&&("working"===e.status||"waiting_approval"===e.status)),t6=(0,a.useCallback)(()=>{for(let e of((0,s.S8)({type:"STOP_TEAM"}),Array.from(m.values()).filter(e=>!!e.teamId)))(0,s.S8)({type:"CANCEL_TASK",agentId:e.agentId,taskId:""})},[m]),t4=(0,a.useCallback)(async()=>{let e=Array.from(m.values()).filter(e=>!!e.teamId);if(0===e.length)return;let t="Fire the entire team (".concat(e.length," agents)?");if(await ev(t)){for(let t of((0,s.S8)({type:"FIRE_TEAM"}),e))(0,s.S8)({type:"FIRE_AGENT",agentId:t.agentId});eo(),ed(null),eM(!1),eL(!1)}},[m,eo,ev]),t5=(0,a.useCallback)((e,t)=>{if(!e.type.startsWith("image/"))return;let n=new FileReader;n.onload=()=>{let r=n.result,a=r.split(",")[1],o=e.name.split(".").pop()||"png",l={name:"image-".concat((0,c.Ak)(6),".").concat(o),dataUrl:r,base64:a};t?nF(e=>{let n=new Map(e);return n.set(t,[...n.get(t)||[],l]),n}):eN(e=>[...e,l])},n.readAsDataURL(e)},[]),t9=(0,a.useCallback)(e=>{var t;let n=null==(t=e.clipboardData)?void 0:t.items;if(n){for(let t of n)if(t.type.startsWith("image/")){e.preventDefault();let n=t.getAsFile();n&&t5(n);return}}},[t5]),t7=(0,a.useCallback)((e,t)=>{var n;let r=null==(n=t.clipboardData)?void 0:n.items;if(r){for(let n of r)if(n.type.startsWith("image/")){t.preventDefault();let r=n.getAsFile();r&&t5(r,e);return}}},[t5]),ne=(0,a.useCallback)(e=>{var t,n;let r=null==(t=e.clipboardData)?void 0:t.getData("text/plain");if(r){let t=r.split("\n");if(t.length>3||r.length>200){e.preventDefault(),eU.current++;let a=t.length>1?"+".concat(t.length," lines"):"".concat(r.length," chars"),o="[Pasted text #".concat(eU.current," ").concat(a,"]");eH.current.set(o,r);let l=null!=(n=e.currentTarget.selectionStart)?n:eW.length;eY(e=>e.slice(0,l)+o+e.slice(l))}}},[eW]),[nt,nn]=(0,a.useState)(new Map),nr=(0,a.useCallback)((e,t)=>{var n,r;let a=null==(n=t.clipboardData)?void 0:n.getData("text/plain");if(a){let n=a.split("\n");if(n.length>3||a.length>200){t.preventDefault(),eU.current++;let o=n.length>1?"+".concat(n.length," lines"):"".concat(a.length," chars"),l="[Pasted text #".concat(eU.current," ").concat(o,"]");eH.current.set(l,a);let s=t.currentTarget,i=nt.get(e)||"",c=null!=(r=s.selectionStart)?r:i.length;nn(t=>{let n=new Map(t);return n.set(e,i.slice(0,c)+l+i.slice(c)),n})}}},[nt]),na=(0,a.useCallback)(e=>{var t;let n=null==(t=e.dataTransfer)?void 0:t.files;if(n)for(let t of n)t.type.startsWith("image/")&&(e.preventDefault(),t5(t))},[t5]),no=(0,a.useCallback)((e,t)=>{var n;let r=null==(n=t.dataTransfer)?void 0:n.files;if(r)for(let n of r)n.type.startsWith("image/")&&(t.preventDefault(),t5(n,e))},[t5]),nl=(0,a.useCallback)(async e=>{if(0===e.length)return[];let t=e.map(e=>new Promise(t=>{let n=(0,c.Ak)(6);l.Pp.set(n,t),(0,s.S8)({type:"UPLOAD_IMAGE",requestId:n,data:e.base64,filename:e.name}),setTimeout(()=>{l.Pp.delete(n),t("")},5e3)}));return(await Promise.all(t)).filter(e=>!!e)},[]),ns=(0,a.useCallback)(async()=>{if(!ec||!eW.trim()&&0===eF.length)return;let e=m.get(ec);if(null==e?void 0:e.isExternal)return;let t=await nl(eF),n=eW.trim();for(let[e,t]of eH.current)n=n.replace(e,t);t.length>0&&(n+=(n?"\n\n":"")+t.map(e=>"[Attached image: ".concat(e,"]")).join("\n")),n=n.trim();let r=(0,c.Ak)();ea(ec,r,n);let a=et.get(ec);(0,s.S8)({type:"RUN_TASK",agentId:ec,taskId:r,prompt:n,repoPath:a,name:null==e?void 0:e.name,role:null==e?void 0:e.role,personality:null==e?void 0:e.personality}),eY(""),eN([]),eH.current.clear()},[ec,eW,eF,ea,m,nl]),ni=(0,a.useCallback)(()=>{ec&&(0,s.S8)({type:"CANCEL_TASK",agentId:ec,taskId:""})},[ec]),nc=(0,a.useCallback)(e=>{for(let[,t]of x)if(t.leadAgentId===e)return t.phase;return null},[x]);ec&&nc(ec);let nd=(0,a.useCallback)(()=>{ec&&(0,s.S8)({type:"APPROVE_PLAN",agentId:ec})},[ec]),nu=(0,a.useCallback)(()=>{if(!ec)return;let e=m.get(ec);(0,s.S8)({type:"END_PROJECT",agentId:ec,name:null==e?void 0:e.name,role:null==e?void 0:e.role,personality:null==e?void 0:e.personality,backend:null==e?void 0:e.backend}),eo()},[ec,m,eo]),np=(0,a.useCallback)((e,t)=>{(0,s.S8)({type:"APPROVAL_DECISION",approvalId:e,decision:t})},[]);(0,a.useCallback)(e=>{tf.current=Math.max(u.DH,Math.min(u.ZV,e)),tc(e=>e+1)},[]);let ng=Array.from(m.values()),nf=ng.filter(e=>!!e.teamId),nm=ng.filter(e=>!e.teamId&&!e.isExternal&&!e.agentId.startsWith("reviewer-")),nh=ng.filter(e=>!!e.isExternal),nb=td.current,[ny,nk]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=window.matchMedia("(max-width: 768px)");nk(e.matches);let t=e=>nk(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);let nx="owner"===C,nv="collaborator"===C,nw="spectator"===C,[nT,nS]=(0,a.useState)(""),[nE,nI]=(0,a.useState)(null),nC=(0,a.useCallback)(()=>{nT.trim()&&((0,s.S8)({type:"SUGGEST",text:nT.trim()}),nS(""))},[nT]),[nA,nD]=(0,a.useState)(!1),[nj,nR]=(0,a.useState)(!1),[nM,nO]=(0,a.useState)(!1),[nL,nP]=(0,a.useState)([]),[n_,nW]=(0,a.useState)(0),[nY,nF]=(0,a.useState)(new Map),[nN,nH]=(0,a.useState)(!0),[nU,nB]=(0,a.useState)(null),nG=(0,a.useRef)(!1),[nz,nK]=(0,a.useState)(null),nV=("agents"===eP?nm:"team"===eP?nf:nh).map(e=>e.agentId).filter(e=>!ee.has(e)).join(",");(0,a.useEffect)(()=>{nj&&nP(nV?nV.split(","):[])},[nj,nV]),(0,a.useEffect)(()=>{nj&&nW(0)},[nj,eP]);let nX=(0,a.useCallback)((e,t,n)=>{var r;if(nG.current||nU)return;nG.current=!0;let a=m.get(e),o="reviewer-".concat((0,c.Ak)(6));ee.add(o),nB({reviewerAgentId:o,sourceAgentId:e}),(0,s.S8)({type:"REQUEST_REVIEW",reviewerAgentId:o,sourceAgentId:e,changedFiles:t.changedFiles,projectDir:t.projectDir,entryFile:t.entryFile,summary:t.summary,backend:null!=(r=null!=n?n:null==a?void 0:a.backend)?r:"claude"})},[m,nU]);(0,a.useEffect)(()=>{if(!nU||null!==nz)return;let{reviewerAgentId:e}=nU,t=m.get(e);if(!t||"done"!==t.status&&"idle"!==t.status&&"error"!==t.status)return;let n=t.messages.filter(e=>"agent"===e.role&&e.text);"error"===t.status&&0===n.length?nK(t.messages.filter(e=>"system"===e.role&&e.text).map(e=>e.text).join("\n")||"(Review failed — reviewer encountered an error)"):n.length>0&&nK(n[n.length-1].text||"(No issues found)")},[m,nU,nz]);let nJ=(0,a.useCallback)(e=>{var t,n;if(!nU)return;let{reviewerAgentId:r,sourceAgentId:a}=nU,o=m.get(r),l=null!=nz?nz:(null==o?void 0:o.messages.filter(e=>"agent"===e.role&&e.text).map(e=>e.text).join("\n\n"))||null;if(!l)return;let i=m.get(a),d=null!=(n=null!=(t=null==i?void 0:i.cwd)?t:null==i?void 0:i.workDir)?n:"",u="fix-".concat((0,c.Ak)(6)),p=(e=>{let t=e.match(/\*{0,2}VERDICT[\s:].*/i);if(t){let n=e.indexOf(t[0]);return e.slice(n).trim()}let n=e.match(/\*{0,2}ISSUES[\s:].*/i);if(n){let t=e.indexOf(n[0]);return e.slice(t).trim()}return e.length>1e3?e.slice(-1e3).trim():e})(l),g=["A code review found issues. Fix ONLY CRITICAL items (bugs, crashes, security).","IGNORE SUGGESTION items. Make minimum changes — do NOT rewrite or restructure."];e&&g.push("","User instructions: ".concat(e)),g.push("","Review findings:",p);let f=g.join("\n");ea(a,u,e?"[Review] ".concat(e):"[Review] Apply critical fixes"),(0,s.S8)({type:"RUN_TASK",agentId:a,taskId:u,prompt:f,repoPath:d||void 0}),(0,s.S8)({type:"FIRE_AGENT",agentId:r}),ee.delete(r),nB(null),nK(null),nG.current=!1},[nU,nz,m,ea]),n$=(0,a.useCallback)(()=>{if(!nU)return;let{reviewerAgentId:e}=nU;(0,s.S8)({type:"FIRE_AGENT",agentId:e}),ee.delete(e),nB(null),nK(null),nG.current=!1},[nU]);(0,a.useEffect)(()=>{if(0!==ee.size)for(let e of ee){if((null==nU?void 0:nU.reviewerAgentId)===e)continue;let t=m.get(e);if(t&&("done"===t.status||"idle"===t.status||"error"===t.status)&&t.messages.length>1){let t=setTimeout(()=>{(0,s.S8)({type:"FIRE_AGENT",agentId:e}),ee.delete(e)},12e4);return()=>clearTimeout(t)}}},[m,nU]);let nZ=(0,a.useCallback)(e=>{var t,n,r,a,o;let l=m.get(e);if(!l)return null;let s=es(e);return{agentId:e,name:l.name,role:l.role,backend:l.backend,status:l.status,messages:l.messages,visibleMessages:s,hasMoreMessages:s.length<l.messages.length,tokenUsage:l.tokenUsage,lastLogLine:null!=(a=null!=(r=er.get(l.agentId))?r:l.lastLogLine)?a:null,busy:null===nz,reviewDone:null!==nz,reviewResultText:null!=nz?nz:void 0,verdict:nz?null!=(o=null==(n=nz.match(/\*{0,2}VERDICT:?\*{0,2}\s*(PASS|FAIL)/i))||null==(t=n[1])?void 0:t.toUpperCase())?o:"UNKNOWN":void 0}},[m,es,nz]),nq=(0,a.useRef)(nj);(0,a.useEffect)(()=>{if(nq.current===nj)return;nq.current=nj,nj&&nW(0);let e=setTimeout(()=>{var e;null==(e=eB.current)||e.scrollIntoView({block:"end",behavior:"instant"}),tX.current=!0},350);return()=>clearTimeout(e)},[nj]);let nQ=(0,a.useCallback)(async e=>{try{var t,r;let{getGatewayHttpUrl:a}=await Promise.resolve().then(n.bind(n,5149)),o=a(),l=window.prompt("Enter your pair code to create a share link:");if(!l)return;let s=await fetch("".concat(o,"/share/create"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:l.trim(),role:e})});if(s.ok){let e=await s.json(),n="".concat(window.location.origin,"/join?token=").concat(e.token,"&gateway=").concat(encodeURIComponent(o));nI(n),null==(t=navigator.clipboard)||t.writeText(n).catch(()=>{})}else{let e=await s.json().catch(()=>({}));alert(null!=(r=e.error)?r:"Failed to create share link")}}catch(e){console.error("[Share] Failed to create share link:",e)}nD(!1)},[]),n0=eR&&null!==ec;return(0,r.jsxs)("div",{style:{height:"100vh",width:"100vw",position:"relative",overflow:"hidden",display:"flex",backgroundColor:k.lr},children:[(0,r.jsx)(q,{}),nN&&!nj&&(0,r.jsxs)("div",{style:{flex:1,position:"relative",minWidth:0,display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",marginRight:"calc(min(40vw, 800px) + 30px)"},children:[(0,r.jsx)("div",{style:{position:"absolute",inset:0,zIndex:5,backgroundColor:k.lr,animation:"scene-overlay-fadeout 2s ease-out 0.1s forwards",pointerEvents:"none"}}),(0,r.jsxs)("div",{style:{width:"min(100%, calc(100vh * ".concat(tt,"))"),height:"min(100%, calc(100vw / ".concat(tt,"))"),aspectRatio:"".concat(tt),position:"relative",maxHeight:"100vh"},children:[(0,r.jsx)(R,{onAdapterReady:tz,onAgentClick:tZ,editMode:eG,editorRef:td,officeStateRef:tu,zoomRef:tf,panRef:tm,onTileClick:tD,onTileRightClick:tj,onGhostMove:t_,onDragStart:tO,onDragMove:tL,onDragEnd:tP,onDeleteBtnClick:tR,onRotateBtnClick:tM,onAssetsLoaded:tG}),(0,r.jsx)(Y,{visible:!th}),(0,r.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,zIndex:10,padding:"10px 16px",display:"flex",alignItems:"center",gap:12,background:"linear-gradient(to bottom, var(--term-bg) 0%, transparent 100%)",pointerEvents:"none"},children:(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,pointerEvents:"auto"},children:[(0,r.jsx)("h1",{className:"px-font",style:{fontSize:12,margin:0,color:"#e8b040",textShadow:"2px 2px 0px rgba(0,0,0,0.8), 0 0 12px rgba(200,155,48,0.3)",letterSpacing:"0.05em"},children:"Open Office"}),(0,r.jsxs)("span",{title:E.Z?"Web UI v".concat(E.h,"\nBuild ").concat(E.Z):"Web UI v".concat(E.h),style:{fontSize:9,color:"rgba(232, 220, 184, 0.4)",fontFamily:"monospace",letterSpacing:"0.04em",userSelect:"text"},children:["v",E.h]}),(0,r.jsx)("span",{style:{fontSize:10,padding:"3px 7px",border:"1px solid ".concat(h?"".concat(k.$C,"40"):"".concat(k.v_,"40")),backgroundColor:h?"".concat(k.$C,"15"):"".concat(k.v_,"15"),color:h?k.$C:k.v_,fontFamily:"monospace",letterSpacing:"0.05em"},children:h?"● ONLINE":"● OFFLINE"}),eG&&(0,r.jsx)("span",{style:{fontSize:10,padding:"3px 7px",border:"1px solid #5a3a10",backgroundColor:"#1a0e00",color:"#e8b040",fontFamily:"monospace"},children:"EDIT MODE"}),nw&&(0,r.jsx)("span",{style:{fontSize:10,padding:"3px 7px",border:"1px solid #3b82f6",backgroundColor:"#1a2744",color:"#7ab8f5",fontFamily:"monospace",letterSpacing:"0.05em"},children:"WATCHING"}),nv&&(0,r.jsx)("span",{style:{fontSize:10,padding:"3px 7px",border:"1px solid #a855f7",backgroundColor:"#2d1a44",color:"#c084fc",fontFamily:"monospace",letterSpacing:"0.05em"},children:"COLLABORATOR"}),nx&&(0,r.jsxs)("div",{style:{position:"relative"},children:[(0,r.jsx)("span",{onClick:()=>nD(!nA),style:{fontSize:10,padding:"3px 7px",cursor:"pointer",border:"1px solid #a855f760",backgroundColor:nA?"#a855f720":"transparent",color:"#c084fc",fontFamily:"monospace",letterSpacing:"0.05em"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#a855f720"},onMouseLeave:e=>{nA||(e.currentTarget.style.backgroundColor="transparent")},children:"SHARE"}),nA&&(0,r.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,marginTop:4,zIndex:50,backgroundColor:k.gc,border:"1px solid ".concat(k.KD),display:"flex",flexDirection:"column",minWidth:160},children:[(0,r.jsx)("button",{onClick:()=>nQ("collaborator"),style:{padding:"8px 12px",border:"none",backgroundColor:"transparent",color:"#c084fc",fontSize:12,cursor:"pointer",textAlign:"left",fontFamily:"monospace"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#a855f720"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent"},children:"Collaborator link"}),(0,r.jsx)("button",{onClick:()=>nQ("spectator"),style:{padding:"8px 12px",border:"none",backgroundColor:"transparent",color:"#7ab8f5",fontSize:12,cursor:"pointer",textAlign:"left",fontFamily:"monospace"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#3b82f620"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent"},children:"Spectator link"})]})]})]})}),eG&&(0,r.jsx)(M,{activeTool:nb.activeTool,selectedTileType:nb.selectedTileType,selectedFurnitureType:nb.selectedFurnitureType,selectedFurnitureUid:nb.selectedFurnitureUid,selectedFurnitureColor:(()=>{var e;if(!nb.selectedFurnitureUid||!tu.current)return null;let t=tu.current.layout.furniture.find(e=>e.uid===nb.selectedFurnitureUid);return null!=(e=null==t?void 0:t.color)?e:null})(),floorColor:nb.floorColor,wallColor:nb.wallColor,onToolChange:e=>{nb.activeTool=e,nb.clearSelection(),tc(e=>e+1)},onTileTypeChange:e=>{nb.selectedTileType=e,tc(e=>e+1)},onFloorColorChange:e=>{nb.floorColor=e,tc(e=>e+1)},onWallColorChange:e=>{nb.wallColor=e,tc(e=>e+1)},onSelectedFurnitureColorChange:tN,onFurnitureTypeChange:e=>{nb.selectedFurnitureType=e,nb.activeTool=d.VF.FURNITURE_PLACE,tc(e=>e+1)}}),!ny&&(0,r.jsx)(L,{editMode:eG,onToggleEditMode:tB,onOpenSettings:()=>eV(!0),onOpenHistory:()=>eJ(!0),onOpenOfficeSwitcher:()=>eZ(!0),showEditorControls:e2,testActive:e3,onToggleTest:te?()=>{let e=tu.current;e&&(e.hasTestCharacters()?(e.clearTestCharacters(),e6(!1)):(e.spawnTestCharacters(),e6(!0)))}:void 0}),b.length>0&&(0,r.jsx)(G,{messages:b,agents:m,assetsReady:th})]})]}),!ny&&(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:"term-dotgrid".concat(nM?" console-transitioning":""),style:{position:"fixed",right:0,top:0,width:nj?"100vw":"min(40vw, 800px)",minWidth:260,height:"100vh",backgroundColor:k.gc,border:"none",borderLeft:"none",boxShadow:nj?"none":"-4px 0 12px -2px rgba(0,0,0,0.5), -1px 0 0 rgba(0,0,0,0.5), inset 1px 0 0 rgba(255,255,255,0.04)",display:"flex",flexDirection:"row",overflow:"visible",transition:"width 0.3s ease",willChange:"width",zIndex:10},children:[(0,r.jsxs)("div",{style:{position:"absolute",left:nj?0:void 0,right:nj?void 0:"100%",top:"50%",transform:"translateY(-50%)",zIndex:30,display:"flex",flexDirection:"column",alignItems:nj?"flex-start":"flex-end",gap:2,transition:"opacity 0.15s ease",opacity:nj||nN?1:0,pointerEvents:nj||nN?"auto":"none"},children:[[{key:"agents",label:"Agents"},{key:"team",label:"Team"},{key:"external",label:"Ext"}].map(e=>{let t=eP===e.key,n=k.DM;return(0,r.jsx)("button",{onClick:()=>{e_(e.key);let t="agents"===e.key?nm:"team"===e.key?nf:nh;t.length>0&&(ed(t[0].agentId),eM(!0))},style:{writingMode:"vertical-lr",textOrientation:"mixed",padding:"0 5px",height:72,border:"none",cursor:"pointer",background:t?n+"20":k.gc+"80",borderRadius:nj?"0 6px 6px 0":"6px 0 0 6px",borderTop:"1px solid ".concat(t?n+"60":k.JH),borderBottom:"1px solid ".concat(t?n+"60":k.JH),borderLeft:nj?"none":"1px solid ".concat(t?n+"60":k.JH),borderRight:nj?"1px solid ".concat(t?n+"60":k.JH):"none",color:t?n:k.Y0,fontSize:13,fontFamily:k.Rw,fontWeight:600,letterSpacing:"0.1em",boxShadow:t?"0 2px 8px ".concat(n,"15, inset 0 -4px 8px ").concat(n,"08"):"2px 0 8px rgba(0,0,0,0.4)",transition:"all 0.15s"},onMouseEnter:e=>{t||(e.currentTarget.style.color=n)},onMouseLeave:e=>{t||(e.currentTarget.style.color=k.Y0)},children:e.label},e.key)}),(0,r.jsx)("button",{onClick:()=>{nO(!0),nj?(nR(!1),setTimeout(()=>{nH(!0),nO(!1)},350)):(nH(!1),requestAnimationFrame(()=>nR(!0)),setTimeout(()=>nO(!1),350))},style:{width:28,height:40,border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",padding:0,marginTop:4,background:k.gc+"80",borderRadius:nj?"0 10px 10px 0":"10px 0 0 10px",borderTop:"1px solid ".concat(k.DM,"40"),borderBottom:"1px solid ".concat(k.DM,"40"),borderLeft:nj?"none":"1px solid ".concat(k.DM,"40"),borderRight:nj?"1px solid ".concat(k.DM,"40"):"none",boxShadow:"-2px 0 8px rgba(0,0,0,0.3)",color:k.DM,fontSize:14},onMouseEnter:e=>{e.currentTarget.style.background=k.nY,e.currentTarget.style.color=k.DM},onMouseLeave:e=>{e.currentTarget.style.background=k.gc+"80",e.currentTarget.style.color=k.DM},title:nj?"Back to Office":"Console Mode",children:(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",style:{transform:nj?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.3s ease"},children:(0,r.jsx)("path",{d:"M9 2L4 7L9 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3,marginTop:8,alignItems:"center",marginLeft:6*!!nj},children:Object.entries(k.aD).filter(e=>{let[t]=e;return!["gruvbox","nord","dracula","slate","black-metal","owl","vague","iceberg-dark","office","catppuccin","everforest"].includes(t)}).map(e=>{let[t,n]=e;return(0,r.jsx)("button",{onClick:()=>tk(t),title:n.name,style:{width:10,height:10,borderRadius:"50%",padding:0,border:ty===t?"2px solid ".concat(n.accent):"1px solid #444",backgroundColor:n.accent,cursor:"pointer",opacity:ty===t?1:.4,transition:"all 0.15s",boxShadow:ty===t?"0 0 6px ".concat(n.accent,"60"):"none"},onMouseEnter:e=>{e.currentTarget.style.opacity="1"},onMouseLeave:e=>{ty!==t&&(e.currentTarget.style.opacity="0.4")}},t)})})]}),(0,r.jsx)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",minWidth:0,paddingLeft:nj?36:void 0},children:(()=>{let e=("agents"===eP?nm:"team"===eP?nf:nh).filter(e=>!ee.has(e.agentId)),t=e.some(e=>e.agentId===ec);return(0,r.jsxs)(r.Fragment,{children:[!nj&&(0,r.jsxs)("div",{onWheel:e=>{Math.abs(e.deltaY)>Math.abs(e.deltaX)&&(e.currentTarget.scrollLeft+=e.deltaY)},onMouseDown:e=>{if(e.target.closest("button"))return;let t=e.currentTarget,n=e.clientX,r=t.scrollLeft;t.style.cursor="grabbing",t.style.userSelect="none";let a=e=>{t.scrollLeft=r-(e.clientX-n)},o=()=>{t.style.cursor="",t.style.userSelect="",document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",o)};document.addEventListener("mousemove",a),document.addEventListener("mouseup",o)},style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",minHeight:64,borderBottom:"1px solid ".concat(k.JH),background:k.gc,overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none",cursor:"grab"},children:[0===e.length&&"external"===eP&&(0,r.jsx)("div",{style:{padding:"12px 10px",color:k.Y0,fontSize:k.Z8,fontFamily:k.Rw},children:"No external agents detected"}),e.map((e,t)=>{var n,a,o,l,s,i;let c=ec===e.agentId,d=m.get(e.agentId),u=null!=(o=null!=(a=null==d?void 0:d.status)?a:e.status)?o:"idle",p=null!=(l=(0,T.DY)()[u])?l:(0,T.DY)().idle,g="working"===u,f="waiting_approval"===u,h=!!(null==d?void 0:d.isTeamLead),b=g?k.DM:f?k.O2:"error"===u?k.v_:"done"===u?k.$C:k.KD;return(0,r.jsxs)("button",{onClick:()=>{ed(e.agentId),eM(!0)},title:"".concat(e.name," - ").concat(p.label),style:{display:"flex",flexDirection:"row",alignItems:"center",padding:"6px 12px 6px 6px",gap:10,border:"1px solid ".concat(c?k.DM:k.JH),cursor:"pointer",backgroundColor:c?"".concat(k.DM,"12"):"transparent",borderRadius:6,flexShrink:0,position:"relative",transition:"all 0.2s ease",outline:"none"},onMouseEnter:e=>{c||(e.currentTarget.style.backgroundColor="".concat(k.DM,"0a"),e.currentTarget.style.borderColor=k.KD)},onMouseLeave:e=>{c||(e.currentTarget.style.backgroundColor="transparent",e.currentTarget.style.borderColor=k.JH)},children:[(0,r.jsxs)("div",{style:{position:"relative",width:34,height:40,overflow:"hidden",borderRadius:4,flexShrink:0,border:"2px solid ".concat(b),boxShadow:g?"0 0 6px ".concat(k.DM,"30"):f?"0 0 6px ".concat(k.O2,"25"):"none",transition:"border-color 0.3s ease, box-shadow 0.3s ease"},children:[(0,r.jsx)("div",{style:{marginTop:-1,marginLeft:1},children:(0,r.jsx)(W,{palette:null!=(s=e.palette)?s:0,zoom:2,ready:th})}),g&&(0,r.jsx)("span",{style:{position:"absolute",top:2,right:2,width:6,height:6,borderRadius:"50%",backgroundColor:k.DM,boxShadow:"0 0 4px ".concat(k.DM),animation:"px-pulse-gold 1.5s ease infinite"}})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,r.jsx)("span",{style:{fontSize:11,fontWeight:600,color:c?k.oj:k.lR,fontFamily:k.Rw,maxWidth:80,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",letterSpacing:"-0.01em"},children:e.name}),h&&(0,r.jsx)("span",{style:{fontSize:8,fontFamily:k.Rw,color:k.O2,fontWeight:700,padding:"0 3px",lineHeight:"14px",border:"1px solid ".concat(k.O2,"40"),borderRadius:3,flexShrink:0},children:"LEAD"})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[((null==d?void 0:d.backend)||e.backend)&&(0,r.jsx)("span",{style:{fontSize:9,color:k.Y0,fontFamily:k.Rw,maxWidth:70,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:null!=(i=null==(n=T.GN.find(t=>t.id===((null==d?void 0:d.backend)||e.backend)))?void 0:n.name)?i:(null==d?void 0:d.backend)||e.backend}),(0,r.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",backgroundColor:p.color,flexShrink:0,boxShadow:g?"0 0 4px ".concat(p.color,"80"):"none"}})]})]})]},e.agentId)}),nx&&"agents"===eP&&(0,r.jsx)("button",{onClick:()=>eS(!0),title:"Hire Agent",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",width:52,minHeight:52,flexShrink:0,border:"1px solid ".concat(k.JH),cursor:"pointer",backgroundColor:"transparent",color:"".concat(k.DM,"cc"),fontSize:22,fontFamily:k.Rw,fontWeight:300,borderRadius:6,transition:"all 0.2s ease",outline:"none",lineHeight:1},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="".concat(k.DM,"0a"),e.currentTarget.style.borderColor=k.KD,e.currentTarget.style.color=k.DM},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent",e.currentTarget.style.borderColor=k.JH,e.currentTarget.style.color="".concat(k.DM,"cc")},children:"+"}),nx&&"team"===eP&&!t8&&(0,r.jsxs)("button",{onClick:()=>eI(!0),title:"Hire Team",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:5,padding:"6px 16px",height:52,flexShrink:0,border:"1px solid ".concat(k.DM,"50"),cursor:"pointer",backgroundColor:"".concat(k.DM,"12"),color:"".concat(k.DM,"cc"),fontSize:11,fontFamily:k.Rw,fontWeight:500,borderRadius:6,transition:"all 0.2s ease"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="".concat(k.DM,"25"),e.currentTarget.style.borderColor="".concat(k.DM,"90"),e.currentTarget.style.color=k.DM},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="".concat(k.DM,"12"),e.currentTarget.style.borderColor="".concat(k.DM,"50"),e.currentTarget.style.color="".concat(k.DM,"cc")},children:[(0,r.jsx)("span",{style:{fontSize:15,lineHeight:1},children:"+"})," hire team"]}),nx&&"team"===eP&&t8&&t3&&(0,r.jsx)("button",{onClick:t6,title:"Stop Team Work",style:{display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,padding:"6px 14px",height:52,border:"1px solid ".concat(k.O2,"60"),cursor:"pointer",backgroundColor:"".concat(k.O2,"10"),color:k.O2,fontSize:10,fontFamily:k.Rw,borderRadius:6,transition:"all 0.2s ease"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="".concat(k.O2,"20")},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="".concat(k.O2,"10")},children:"stop"}),nx&&"team"===eP&&t8&&(0,r.jsx)("button",{onClick:t4,title:"Fire Team",style:{display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,padding:"6px 14px",height:52,border:"1px solid ".concat(k.v_,"30"),cursor:"pointer",backgroundColor:"transparent",color:k.v_,fontSize:10,fontFamily:k.Rw,borderRadius:6,transition:"all 0.2s ease",opacity:.7},onMouseEnter:e=>{e.currentTarget.style.opacity="1",e.currentTarget.style.backgroundColor="".concat(k.v_,"12")},onMouseLeave:e=>{e.currentTarget.style.opacity="0.7",e.currentTarget.style.backgroundColor="transparent"},children:"fire"})]}),!nj&&!t&&e.length>0&&(()=>{let t=e[0];return setTimeout(()=>{ed(t.agentId),eM(!0)},0),null})(),nj?(0,r.jsx)($,{openPanes:nL.filter(t=>e.some(e=>e.agentId===t)),getAgentData:e=>{var t,n,r;let a=m.get(e);if(!a)return null;let o=es(e);return{agentId:e,name:a.name,role:a.role,backend:a.backend,status:a.status,cwd:a.cwd,workDir:a.workDir,messages:a.messages,visibleMessages:o,hasMoreMessages:o.length<a.messages.length,tokenUsage:a.tokenUsage,isTeamLead:a.isTeamLead,isTeamMember:!!a.teamId&&!a.isTeamLead,isExternal:!!a.isExternal,teamId:a.teamId,teamPhase:a.isTeamLead?nc(e):null,pendingApproval:null!=(t=a.pendingApproval)?t:null,awaitingApproval:a.awaitingApproval,lastLogLine:null!=(r=null!=(n=er.get(a.agentId))?n:a.lastLogLine)?r:null,busy:"working"===a.status||"waiting_approval"===a.status,pid:a.pid,autoMerge:a.autoMerge,pendingMerge:a.pendingMerge,lastMergeCommit:a.lastMergeCommit,lastMergeMessage:a.lastMergeMessage,undoCount:a.undoCount}},paneOffset:n_,onPaneOffsetChange:nW,panePrompts:nt,onPanePromptChange:(e,t)=>nn(n=>{let r=new Map(n);return r.set(e,t),r}),isOwner:nx,isCollaborator:nv,isSpectator:nw,panePendingImages:nY,onPanePendingImagesChange:(e,t)=>nF(n=>{let r=new Map(n);return r.set(e,t),r}),suggestions:j,suggestText:nT,onSuggestTextChange:nS,onSubmit:async e=>{var t;let n=(null==(t=nt.get(e))?void 0:t.trim())||"",r=nY.get(e)||[];if(!n&&0===r.length)return;let a=m.get(e);if(!a||a.isExternal)return;let o=await nl(r),l=n;for(let[e,t]of eH.current)l=l.replace(e,t);if(o.length>0&&(l+=(l?"\n\n":"")+o.map(e=>"[Attached image: ".concat(e,"]")).join("\n")),!(l=l.trim()))return;let i="task-"+Date.now().toString(36);ea(e,i,l),(0,s.S8)({type:"RUN_TASK",agentId:e,taskId:i,prompt:l,repoPath:et.get(e)}),nn(t=>{let n=new Map(t);return n.set(e,""),n}),nF(t=>{let n=new Map(t);return n.delete(e),n}),eH.current.clear()},onCancel:e=>(0,s.S8)({type:"CANCEL_TASK",agentId:e,taskId:""}),onFire:t2,onApproval:np,onApprovePlan:e=>(0,s.S8)({type:"APPROVE_PLAN",agentId:e}),onQuickApprove:e=>{if(!m.get(e))return;let t="task-"+Date.now().toString(36);ea(e,t,"yes"),(0,s.S8)({type:"RUN_TASK",agentId:e,taskId:t,prompt:"yes",repoPath:et.get(e)})},onEndProject:e=>{let t=m.get(e);(0,s.S8)({type:"END_PROJECT",agentId:e,name:null==t?void 0:t.name,role:null==t?void 0:t.role,personality:null==t?void 0:t.personality,backend:null==t?void 0:t.backend}),eo()},onSuggest:nC,onPreview:ep,onReview:(e,t,n)=>nX(e,t,n),detectedBackends:en,onLoadMore:e=>ei(e),onPasteImage:t7,onPasteText:nr,onDropImage:no,reviewOverlay:nU,getReviewerData:nZ,onReviewerLoadMore:e=>ei(e),onApplyReviewFixes:nJ,onDismissReview:n$,onMerge:e=>(0,s.S8)({type:"MERGE_WORKTREE",agentId:e}),onRevert:e=>(0,s.S8)({type:"REVERT_WORKTREE",agentId:e}),onUndoMerge:async e=>{var t,n;let r=m.get(e),a=null!=(n=null==r||null==(t=r.lastMergeCommit)?void 0:t.slice(0,7))?n:"???",o=(null==r?void 0:r.lastMergeMessage)||"merge commit";await ev("Undo merge ".concat(a,'?\n"').concat(o,'"\n\nThis will remove the merge commit from main.'))&&(0,s.S8)({type:"UNDO_MERGE",agentId:e})},scrollFrozen:nM,agentMeta:e.map(e=>{var t,n;return{agentId:e.agentId,name:e.name,palette:null!=(n=e.palette)?n:0,isTeamLead:!!(null==(t=m.get(e.agentId))?void 0:t.isTeamLead)}}),assetsReady:th,showHireButton:nx&&("agents"===eP||"team"===eP&&!t8),hireLabel:"team"===eP?"hire team":"hire",onHire:()=>"team"===eP?eI(!0):eS(!0),showTeamControls:nx&&"team"===eP&&t8,teamBusy:t3,onStopTeam:t6,onFireTeam:t4,cols:"team"===eP?3:to,rows:"team"===eP?1:ts}):ec&&t?(()=>{var e,t,n;let a=m.get(ec);if(!a)return null;let o=es(ec),l=!!a.teamId&&!a.isTeamLead,i="working"===a.status||"waiting_approval"===a.status;return(0,r.jsx)(J,{agentId:ec,name:a.name,role:a.role,backend:a.backend,status:a.status,cwd:a.cwd,workDir:a.workDir,messages:a.messages,visibleMessages:o,hasMoreMessages:o.length<a.messages.length,tokenUsage:a.tokenUsage,isTeamLead:a.isTeamLead,isTeamMember:l,isExternal:!!a.isExternal,teamId:a.teamId,teamPhase:a.isTeamLead?nc(ec):null,pendingApproval:null!=(e=a.pendingApproval)?e:null,awaitingApproval:a.awaitingApproval,lastLogLine:null!=(n=null!=(t=er.get(a.agentId))?t:a.lastLogLine)?n:null,busy:i,pid:a.pid,isOwner:nx,isCollaborator:nv,isSpectator:nw,prompt:eW,onPromptChange:eY,pendingImages:eF,onPendingImagesChange:eN,suggestions:j,suggestText:nT,onSuggestTextChange:nS,onSubmit:ns,onCancel:ni,onFire:t2,onApproval:np,onApprovePlan:nd,onQuickApprove:()=>{if(!ec)return;let e="task-"+Date.now().toString(36);ea(ec,e,"yes"),(0,s.S8)({type:"RUN_TASK",agentId:ec,taskId:e,prompt:"yes",repoPath:et.get(ec)})},onEndProject:nu,onSuggest:nC,onPreview:ep,autoMerge:a.autoMerge,pendingMerge:a.pendingMerge,lastMergeCommit:a.lastMergeCommit,lastMergeMessage:a.lastMergeMessage,undoCount:a.undoCount,onMerge:()=>(0,s.S8)({type:"MERGE_WORKTREE",agentId:ec}),onRevert:()=>(0,s.S8)({type:"REVERT_WORKTREE",agentId:ec}),onUndoMerge:async()=>{var e,t;let n=m.get(ec),r=null!=(t=null==n||null==(e=n.lastMergeCommit)?void 0:e.slice(0,7))?t:"???",a=(null==n?void 0:n.lastMergeMessage)||"merge commit";await ev("Undo merge ".concat(r,'?\n"').concat(a,'"\n\nThis will remove the merge commit from main.'))&&(0,s.S8)({type:"UNDO_MERGE",agentId:ec})},onReview:(e,t)=>nX(ec,e,t),detectedBackends:en,onLoadMore:()=>ei(ec),onPasteImage:t9,onPasteText:ne,onDropImage:na,reviewerOverlay:(null==nU?void 0:nU.sourceAgentId)===ec?nZ(nU.reviewerAgentId):null,onReviewerLoadMore:(null==nU?void 0:nU.sourceAgentId)===ec?()=>ei(nU.reviewerAgentId):void 0,onApplyReviewFixes:(null==nU?void 0:nU.sourceAgentId)===ec?nJ:void 0,onDismissReview:(null==nU?void 0:nU.sourceAgentId)===ec?n$:void 0,scrollFrozen:nM},ec)})():(0,r.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:"#3a3a3a",fontFamily:k.Rw,fontSize:k.Z8},children:e.length>0?"Select an agent":""}),"team"===eP&&b.length>0&&(0,r.jsx)(z,{messages:b,agents:m,assetsReady:th,onClear:eo})]})})()})]})}),ny&&ng.length>0&&!n0&&!eO&&(0,r.jsxs)("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:20,padding:"8px 12px",display:"flex",alignItems:"center",gap:8,background:"linear-gradient(to top, var(--term-bg) 0%, color-mix(in srgb, var(--term-bg) 70%, transparent) 80%, transparent 100%)",overflowX:"auto"},children:[nx&&(0,r.jsx)("button",{onClick:()=>eS(!0),style:{width:44,height:44,flexShrink:0,border:"1px solid ".concat(k.DM,"60"),backgroundColor:"".concat(k.DM,"1e"),color:k.DM,fontSize:22,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"},children:"+"}),(0,r.jsx)("button",{onClick:()=>eL(!0),style:{width:44,height:44,flexShrink:0,border:"1px solid ".concat(k.O2,"70"),backgroundColor:"".concat(k.O2,"20"),color:k.O2,fontSize:11,fontWeight:700,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"monospace"},children:"Team"}),ng.map(e=>{var t,n;let a=null!=(t=(0,T.DY)()[e.status])?t:(0,T.DY)().idle;return(0,r.jsxs)("button",{onClick:()=>{ed(e.agentId),eM(!0)},style:{position:"relative",flexShrink:0,width:44,height:44,border:ec===e.agentId?"1px solid ".concat(k.O2):"1px solid ".concat(k.JH),backgroundColor:k.gc,cursor:"pointer",padding:0,display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},children:[(0,r.jsx)(W,{palette:null!=(n=e.palette)?n:0,zoom:1,ready:th}),(0,r.jsx)("span",{style:{position:"absolute",bottom:2,right:2,width:6,height:6,backgroundColor:a.color,border:"1px solid ".concat(k.gc)}})]},e.agentId)})]}),ny&&n0&&(()=>{var e,t;let n=ec?m.get(ec):null;if(!n)return null;let a=null!=(e=(0,T.DY)()[n.status])?e:(0,T.DY)().idle,o="working"===n.status||"waiting_approval"===n.status,l=!!n.teamId&&!n.isTeamLead;return(0,r.jsxs)("div",{style:{position:"absolute",inset:0,zIndex:30,backgroundColor:k.lr,display:"flex",flexDirection:"column"},children:[(0,r.jsxs)("div",{onClick:()=>eM(!1),style:{padding:"12px 14px",borderBottom:"1px solid ".concat(k.JH),display:"flex",alignItems:"center",gap:10,flexShrink:0,backgroundColor:k.gc,cursor:"pointer"},children:[(0,r.jsx)("span",{style:{fontSize:15,color:k.Y0,marginRight:4},children:"←"}),(0,r.jsx)(W,{palette:null!=(t=n.palette)?t:0,zoom:2,ready:th}),(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsxs)("div",{style:{fontSize:13,fontWeight:700,color:k.oj,display:"flex",alignItems:"center",gap:4},children:[n.name,n.isTeamLead&&(0,r.jsx)("span",{style:{fontSize:9,padding:"1px 4px",backgroundColor:"".concat(k.O2,"28"),color:k.O2,border:"1px solid ".concat(k.O2,"60"),fontFamily:"monospace"},children:"LEAD"}),l&&(0,r.jsx)("span",{style:{fontSize:9,padding:"1px 4px",backgroundColor:"".concat(k.O2,"20"),color:k.O2,border:"1px solid ".concat(k.O2,"50"),fontFamily:"monospace"},children:"TEAM"}),n.tokenUsage.inputTokens>0&&(0,r.jsx)(D.TokenBadge,{inputTokens:n.tokenUsage.inputTokens,outputTokens:n.tokenUsage.outputTokens})]}),(0,r.jsx)("div",{style:{fontSize:11,color:k.Y0},children:n.role})]}),(0,r.jsx)("span",{style:{fontSize:10,padding:"2px 6px",backgroundColor:a.color+"18",color:a.color,border:"1px solid ".concat(a.color,"40"),flexShrink:0,fontFamily:"monospace"},children:a.label})]}),(0,r.jsxs)("div",{"data-scrollbar":!0,style:{flex:1,overflowY:"auto",padding:"8px 10px",display:"flex",flexDirection:"column"},children:[n.isTeamLead&&(()=>{let e=nc(n.agentId);if(!e)return null;let t={create:{color:k.KE,icon:"\uD83D\uDCAC",hint:"Define the project"},design:{color:k.O2,icon:"\uD83D\uDCCB",hint:"Review the plan"},execute:{color:k.O2,icon:"⚡",hint:"Team is building"},complete:{color:k.$C,icon:"✓",hint:"Review results"}}[e];return t?(0,r.jsxs)("div",{style:{padding:"5px 8px",marginBottom:8,backgroundColor:t.color+"10",backdropFilter:"blur(6px)",WebkitBackdropFilter:"blur(6px)",border:"1px solid ".concat(t.color,"30"),display:"flex",alignItems:"center",gap:6,fontSize:11,fontFamily:"monospace"},children:[(0,r.jsx)("span",{children:t.icon}),(0,r.jsx)("span",{style:{color:t.color,fontWeight:700,textTransform:"uppercase",fontSize:9,letterSpacing:"0.05em"},children:e}),(0,r.jsx)("span",{style:{color:k.Y0},children:t.hint})]}):null})(),0===n.messages.length&&(0,r.jsx)("div",{style:{textAlign:"center",color:k.Y0,padding:20,fontSize:13,fontFamily:"monospace"},children:l?"This agent is managed by the Team Lead":"Send a message to get started"}),(()=>{let e=es(n.agentId),t=e.length<n.messages.length;return(0,r.jsxs)(r.Fragment,{children:[t&&(0,r.jsx)(Q,{onLoadMore:()=>ei(n.agentId)}),e.map(e=>(0,r.jsx)(U,{msg:e,agentName:n.name,onPreview:ep,isTeamLead:n.isTeamLead,isTeamMember:l,teamPhase:n.isTeamLead?nc(n.agentId):null},e.id))]})})(),n.pendingApproval&&(0,r.jsxs)("div",{style:{marginBottom:8,padding:12,backgroundColor:k.nY,border:"1px solid ".concat(k.O2)},children:[(0,r.jsxs)("div",{style:{fontSize:12,fontWeight:"bold",color:k.O2,marginBottom:6,fontFamily:"monospace"},children:["▲ ",n.pendingApproval.title]}),(0,r.jsx)("div",{style:{fontSize:13,color:k.lR,marginBottom:10,lineHeight:1.5},children:n.pendingApproval.summary}),(0,r.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,r.jsx)("button",{onClick:()=>np(n.pendingApproval.approvalId,"yes"),style:{flex:1,padding:"8px",border:"1px solid ".concat(k.$C),backgroundColor:k.gc,color:k.$C,cursor:"pointer",fontWeight:"bold",fontSize:12,fontFamily:"monospace"},children:"▶ Approve"}),(0,r.jsx)("button",{onClick:()=>np(n.pendingApproval.approvalId,"no"),style:{flex:1,padding:"8px",border:"1px solid ".concat(k.v_),backgroundColor:k.gc,color:k.v_,cursor:"pointer",fontWeight:"bold",fontSize:12,fontFamily:"monospace"},children:"✕ Reject"})]})]}),(0,r.jsx)("div",{ref:eB})]}),!nw&&j.length>0&&(0,r.jsxs)("div",{"data-scrollbar":!0,style:{padding:"6px 10px",borderTop:"1px solid #152515",backgroundColor:k.lr,maxHeight:80,overflowY:"auto"},children:[(0,r.jsx)("div",{style:{fontSize:10,color:"#a855f7",fontFamily:"monospace",marginBottom:4,letterSpacing:"0.05em"},children:"SUGGESTIONS"}),j.slice(-5).map((e,t)=>(0,r.jsxs)("div",{style:{fontSize:11,color:"#c084fc",marginBottom:2,lineHeight:1.3},children:[(0,r.jsxs)("span",{style:{color:"#7c3aed",fontWeight:600},children:[e.author,":"]})," ",e.text]},t))]}),(()=>{let e=n.isTeamLead?nc(n.agentId):null;return nw?(0,r.jsx)("div",{style:{padding:"8px 10px",borderTop:"1px solid #152515",backgroundColor:"#182844",flexShrink:0,fontSize:12,color:"#7ab8f5",fontFamily:"monospace",textAlign:"center"},children:"Watching — read-only mode"}):nv?(0,r.jsx)("div",{style:{padding:"8px 10px",borderTop:"1px solid #152515",backgroundColor:k.nY,flexShrink:0},children:(0,r.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,r.jsx)("input",{value:nT,onChange:e=>nS(e.target.value),onKeyDown:e=>(0,S.$$)(e)&&nC(),placeholder:"Share an idea...",maxLength:500,style:{flex:1,padding:"9px 12px",border:"1px solid #7c3aed40",backgroundColor:k.lr,color:"#c084fc",fontSize:14,outline:"none"}}),(0,r.jsx)("button",{onClick:nC,disabled:!nT.trim(),style:{padding:"9px 14px",border:"none",backgroundColor:nT.trim()?"#a855f7":k.gc,color:nT.trim()?"#fff":"#5a4838",fontSize:13,cursor:nT.trim()?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Suggest"})]})}):(0,r.jsx)("div",{style:{padding:"8px 10px",borderTop:"1px solid #152515",backgroundColor:k.nY,flexShrink:0},children:l?(0,r.jsx)("div",{style:{textAlign:"center",color:"#5a4838",fontSize:12,padding:"8px 0",fontFamily:"monospace"},children:"Tasks are assigned by the Team Lead"}):"execute"===e&&o?(0,r.jsx)("button",{onClick:async()=>{await ev("Cancel current work?")&&ni()},style:{width:"100%",padding:"9px 16px",border:"1px solid ".concat(k.v_),backgroundColor:k.gc,color:k.v_,fontSize:13,cursor:"pointer",fontFamily:"monospace"},children:"✕ Cancel current work"}):"execute"!==e||o?"design"!==e||o?"complete"!==e||o?o?(0,r.jsx)("button",{onClick:async()=>{await ev("Cancel current work?")&&ni()},style:{width:"100%",padding:"9px 16px",border:"1px solid ".concat(k.v_),backgroundColor:k.gc,color:k.v_,fontSize:13,cursor:"pointer",fontFamily:"monospace"},children:"✕ Cancel current work"}):(0,r.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,r.jsx)("input",{value:eW,onPaste:ne,onChange:e=>eY(e.target.value),onKeyDown:e=>(0,S.$$)(e)&&ns(),placeholder:"Send a message...",style:{flex:1,padding:"9px 12px",border:"1px solid ".concat(k.KD),backgroundColor:k.lr,color:"#eddcb8",fontSize:14,outline:"none"},autoFocus:!0}),(0,r.jsx)("button",{onClick:ns,disabled:!eW.trim()&&0===eF.length,style:{padding:"9px 14px",border:"none",backgroundColor:eW.trim()||eF.length>0?k.DM:k.gc,color:eW.trim()||eF.length>0?k.lr:k.Y0,fontSize:13,cursor:eW.trim()||eF.length>0?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Send"})]}):(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,r.jsx)("input",{value:eW,onPaste:ne,onChange:e=>eY(e.target.value),onKeyDown:e=>(0,S.$$)(e)&&ns(),placeholder:"Request changes...",style:{flex:1,padding:"9px 12px",border:"1px solid ".concat(k.KD),backgroundColor:k.lr,color:"#eddcb8",fontSize:14,outline:"none"}}),(0,r.jsx)("button",{onClick:ns,disabled:!eW.trim()&&0===eF.length,style:{padding:"9px 14px",border:"none",backgroundColor:eW.trim()||eF.length>0?k.O2:k.nY,color:eW.trim()||eF.length>0?k.lr:k.Y0,fontSize:13,cursor:eW.trim()||eF.length>0?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Send"})]}),(0,r.jsx)("button",{onClick:async()=>{await ev("End this project and start a new one?")&&nu()},style:{width:"100%",padding:"9px 16px",border:"1px solid ".concat(k.O2),backgroundColor:k.gc,color:k.O2,fontSize:13,cursor:"pointer",fontWeight:700,fontFamily:"monospace"},children:"Close Project"})]}):(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsx)("button",{onClick:nd,style:{width:"100%",padding:"9px 16px",border:"1px solid ".concat(k.$C),backgroundColor:k.gc,color:k.$C,fontSize:13,cursor:"pointer",fontWeight:700,fontFamily:"monospace"},children:"▶ Approve Plan"}),(0,r.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,r.jsx)("input",{value:eW,onPaste:ne,onChange:e=>eY(e.target.value),onKeyDown:e=>(0,S.$$)(e)&&ns(),placeholder:"Or give feedback...",style:{flex:1,padding:"9px 12px",border:"1px solid ".concat(k.KD),backgroundColor:k.lr,color:"#eddcb8",fontSize:14,outline:"none"}}),(0,r.jsx)("button",{onClick:ns,disabled:!eW.trim()&&0===eF.length,style:{padding:"9px 14px",border:"none",backgroundColor:eW.trim()||eF.length>0?k.DM:k.gc,color:eW.trim()||eF.length>0?k.lr:k.Y0,fontSize:13,cursor:eW.trim()||eF.length>0?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Send"})]})]}):(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,r.jsx)("input",{value:eW,onPaste:ne,onChange:e=>eY(e.target.value),onKeyDown:e=>(0,S.$$)(e)&&ns(),placeholder:"Send a message...",style:{flex:1,padding:"9px 12px",border:"1px solid ".concat(k.JH),backgroundColor:k.lr,color:k.oj,fontSize:14,outline:"none"}}),(0,r.jsx)("button",{onClick:ns,disabled:!eW.trim()&&0===eF.length,style:{padding:"9px 14px",border:"none",backgroundColor:eW.trim()||eF.length>0?k.O2:k.nY,color:eW.trim()||eF.length>0?k.lr:k.Y0,fontSize:13,cursor:eW.trim()||eF.length>0?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Send"})]}),(0,r.jsx)("button",{onClick:async()=>{await ev("End this project and start a new one?")&&nu()},style:{width:"100%",padding:"9px 16px",border:"1px solid ".concat(k.O2),backgroundColor:k.gc,color:k.O2,fontSize:13,cursor:"pointer",fontWeight:700,fontFamily:"monospace"},children:"Close Project"})]})})})()]})})(),ny&&eO&&(0,r.jsxs)("div",{style:{position:"absolute",inset:0,zIndex:30,backgroundColor:k.lr,display:"flex",flexDirection:"column"},children:[(0,r.jsxs)("div",{onClick:()=>eL(!1),style:{padding:"12px 14px",borderBottom:"1px solid #152515",display:"flex",alignItems:"center",gap:10,flexShrink:0,backgroundColor:k.gc,cursor:"pointer"},children:[(0,r.jsx)("span",{style:{fontSize:15,color:k.Y0,marginRight:4},children:"←"}),(0,r.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#eddcb8"},children:"Team Chat"}),(0,r.jsxs)("span",{style:{fontSize:11,color:k.Y0,fontFamily:"monospace"},children:[b.length," messages"]})]}),(0,r.jsx)(B,{messages:b,agents:m,assetsReady:th})]}),eT&&(0,r.jsx)(V,{agentDefs:I,onHire:tq,onCreate:()=>{eS(!1),ej(null),eA(!0)},onEdit:e=>{eS(!1),ej(e),eA(!0)},onDelete:t1,onClose:()=>eS(!1),assetsReady:th,detectedBackends:en}),eE&&(0,r.jsx)(X,{agentDefs:I,onCreateTeam:tQ,onClose:()=>eI(!1),assetsReady:th,detectedBackends:en}),eC&&(0,r.jsx)(K,{onSave:t0,onClose:()=>{eA(!1),ej(null)},assetsReady:th,editAgent:eD,sendCommand:s.S8}),tu.current&&(0,r.jsx)(O,{isOpen:eK,onClose:()=>eV(!1),layout:tu.current.layout,onImportLayout:tF,onImportRoomZip:tU,soundEnabled:tr,onSoundEnabledChange:ta,consoleCols:to,consoleRows:ts,onConsoleColsChange:e=>{tl(e),localStorage.setItem("office-console-cols",JSON.stringify(e))},onConsoleRowsChange:e=>{ti(e),localStorage.setItem("office-console-rows",JSON.stringify(e))}}),(0,r.jsx)(_,{isOpen:e$,onClose:()=>eZ(!1),onSelect:(e,t)=>{tb(!1),tU(e,t);try{let e=localStorage.getItem("office-selected-id");e&&e1(e)}catch(e){}setTimeout(()=>tb(!0),800)},currentOfficeId:e0}),(0,r.jsx)(P,{isOpen:eX,onClose:()=>eJ(!1),onPreview:(e,t)=>{let n=(0,S.vG)(e);n&&ep(n),t&&Object.keys(t).length>0&&(ef(t),eh(!0))}}),eu&&(0,r.jsx)(F,{url:eu,savedRatings:eg,submitted:em,onRate:e=>{ef(e),eh(!0),(0,s.S8)({type:"RATE_PROJECT",ratings:e})},onClose:()=>ep(null)}),ek&&(0,r.jsx)(H,{}),eb&&(0,r.jsx)(N,{previewUrl:eb.previewUrl,previewPath:eb.previewPath,previewCmd:eb.previewCmd,previewPort:eb.previewPort,projectDir:eb.projectDir,entryFile:eb.entryFile,onPreview:e=>{ep(e),ey(null),ex(!1)},onDismiss:()=>{ey(null),ex(!1)}}),nE&&(0,r.jsx)("div",{style:{position:"fixed",inset:0,zIndex:100,backgroundColor:"rgba(0,0,0,0.6)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>nI(null),children:(0,r.jsxs)("div",{style:{backgroundColor:k.gc,border:"1px solid ".concat(k.KD),padding:24,maxWidth:420,width:"90%"},onClick:e=>e.stopPropagation(),children:[(0,r.jsx)("div",{style:{fontSize:15,fontWeight:700,color:"#eddcb8",marginBottom:12},children:"Share Link Created"}),(0,r.jsx)("div",{style:{fontSize:12,color:k.Y0,marginBottom:8},children:"Link copied to clipboard!"}),(0,r.jsx)("input",{readOnly:!0,value:nE,style:{width:"100%",padding:"8px 10px",border:"1px solid ".concat(k.KD),backgroundColor:k.lr,color:"#eddcb8",fontSize:12,fontFamily:"monospace",outline:"none"},onFocus:e=>e.target.select()}),(0,r.jsx)("button",{onClick:()=>nI(null),style:{marginTop:12,padding:"8px 20px",border:"none",backgroundColor:k.DM,color:k.lr,fontSize:13,cursor:"pointer",fontWeight:700,fontFamily:"monospace"},children:"OK"})]})}),ew,(0,r.jsx)(Z,{open:eq,onClose:()=>eQ(!1),currentTheme:ty,onThemeChange:e=>tk(e),onOpenSettings:()=>eV(!0),onOpenHistory:()=>eJ(!0),onHire:()=>eS(!0)}),e9&&!e4&&(0,r.jsx)("button",{onClick:()=>{e5(!0),function(e){let t=l.hK,n=e=>t.getState().handleEvent(e),r=[],a=(e,t)=>r.push(setTimeout(t,e)),o="demo-leader",s="demo-dev",i="demo-reviewer",c="demo-team",d=Date.now(),u=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"status",a=arguments.length>3?arguments[3]:void 0;return n({type:"TEAM_CHAT",fromAgentId:e,toAgentId:a,message:t,messageType:r,timestamp:d++})},p=(e,t)=>n({type:"LOG_APPEND",agentId:e,taskId:"demo-task",stream:"stdout",chunk:t});n({type:"AGENT_CREATED",agentId:o,name:"Ash (Leader)",role:"Team Leader",teamId:c,isTeamLead:!0,palette:0,isExternal:!1}),n({type:"AGENT_CREATED",agentId:s,name:"Leo",role:"Developer",teamId:c,palette:1,isExternal:!1}),n({type:"AGENT_CREATED",agentId:i,name:"Mae",role:"Code Reviewer",teamId:c,palette:2,isExternal:!1}),a(500,()=>{n({type:"AGENT_STATUS",agentId:o,status:"working"}),n({type:"AGENT_STATUS",agentId:s,status:"working"}),n({type:"AGENT_STATUS",agentId:i,status:"working"})}),a(2e3,()=>u(o,"Alright team! Let's build a space shooter game with PixiJS.")),a(5e3,()=>u(o,"Build the complete game — player controls, enemies, scoring, and sound effects.","delegation",s)),a(8e3,()=>u(o,"Stand by to review Leo's code when he's done.","delegation",i)),a(11e3,()=>p(s,"Setting up project structure")),a(14e3,()=>p(s,"Building player ship and controls")),a(17e3,()=>p(s,"Adding enemy waves and collision")),a(2e4,()=>p(s,"Implementing score system and UI")),a(23e3,()=>{p(s,"Build passed. All files verified."),u(s,"Space shooter complete — 5 enemy types, power-ups, and high score system.","result")}),a(26e3,()=>p(i,"Checking file structure")),a(29e3,()=>p(i,"Reading game logic and collision detection")),a(32e3,()=>u(i,"VERDICT: PASS — Clean code, smooth gameplay loop, all features working.","result")),a(35e3,()=>u(o,"Great work everyone! The space shooter is ready to ship.","result")),a(39e3,()=>{n({type:"AGENT_FIRED",agentId:o}),n({type:"AGENT_FIRED",agentId:s}),n({type:"AGENT_FIRED",agentId:i}),t.setState({teamMessages:[]}),e()})}(()=>e5(!1))},style:{position:"fixed",bottom:16,left:16,zIndex:50,background:"".concat(k.DM,"26"),border:"1px solid ".concat(k.DM,"66"),color:k.DM,padding:"6px 14px",cursor:"pointer",fontSize:11,fontFamily:"monospace",fontWeight:600},children:"Run Demo"})]})}},786:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a,h:()=>r});let r="0.1.100",a="2026-03-26T05:19:43.573Z"},1204:(e,t,n)=>{"use strict";n.d(t,{FH:()=>s,Ii:()=>g,PT:()=>c,WC:()=>u,iH:()=>m,iZ:()=>d,qZ:()=>i,si:()=>p,vk:()=>f});var r=n(5195),a=n(2243),o=n(9892),l=n(9631);function s(e,t,n,o,l){let s=n*e.cols+t;if(s<0||s>=e.tiles.length)return e;let i=e.tileColors||Array(e.tiles.length).fill(null),c=null!=l?l:o===r.nb.WALL||o===r.nb.VOID?null:{...a.ql};if(e.tiles[s]===o){let t=i[s];if(null===c&&null===t||c&&t&&c.h===t.h&&c.s===t.s&&c.b===t.b&&c.c===t.c&&!!c.colorize==!!t.colorize)return e}let d=[...e.tiles];d[s]=o;let u=[...i];return u[s]=c,{...e,tiles:d,tileColors:u}}function i(e,t){return g(e,t.type,t.col,t.row)?{...e,furniture:[...e.furniture,t]}:e}function c(e,t){let n=e.furniture.filter(e=>e.uid!==t);return n.length===e.furniture.length?e:{...e,furniture:n}}function d(e,t,n,r){let a=e.furniture.find(e=>e.uid===t);return a&&g(e,a.type,n,r,t)?{...e,furniture:e.furniture.map(e=>e.uid===t?{...e,col:n,row:r}:e)}:e}function u(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"cw",r=e.furniture.find(e=>e.uid===t);if(!r)return e;let a=(0,o.UV)(r.type,n);return a?{...e,furniture:e.furniture.map(e=>e.uid===t?{...e,type:a}:e)}:e}function p(e,t){let n=(0,o.Um)(e);return(null==n?void 0:n.canPlaceOnWalls)?t-(n.footprintH-1):t}function g(e,t,n,a,s){let i=(0,o.Um)(t);if(!i)return!1;if(i.canPlaceOnWalls){let t=a+i.footprintH-1;if(n<0||n+i.footprintW>e.cols||t<0||t>=e.rows)return!1}else if(n<0||a<0||n+i.footprintW>e.cols||a+i.footprintH>e.rows)return!1;let c=i.backgroundTiles||0;for(let t=0;t<i.footprintH;t++)if(!(t<c)&&!(a+t<0)&&(!i.canPlaceOnWalls||!(t<i.footprintH-1)))for(let o=0;o<i.footprintW;o++){let l=(a+t)*e.cols+(n+o),s=e.tiles[l];if(i.canPlaceOnWalls){if(s!==r.nb.WALL)return!1}else if(s===r.nb.VOID||s===r.nb.WALL)return!1}let d=(0,l.Pg)(e.furniture,s),u=null;if(i.canPlaceOnSurfaces)for(let t of(u=new Set,e.furniture)){if(t.uid===s)continue;let e=(0,o.Um)(t.type);if(e&&e.isDesk)for(let n=0;n<e.footprintH;n++)for(let r=0;r<e.footprintW;r++)u.add("".concat(t.col+r,",").concat(t.row+n))}let p=i.backgroundTiles||0;for(let e=0;e<i.footprintH;e++)if(!(e<p)&&!(a+e<0))for(let t=0;t<i.footprintW;t++){let r="".concat(n+t,",").concat(a+e);if(d.has(r)&&!(null==u?void 0:u.has(r)))return!1}return!0}function f(e,t){let{cols:n,rows:a,tiles:o,furniture:l,tileColors:s}=e,i=s||Array(o.length).fill(null),c=n,d=a,u=0,p=0;if("right"===t?c=n+1:"left"===t?(c=n+1,u=1):"down"===t?d=a+1:"up"===t&&(d=a+1,p=1),c>r.Tj||d>r.pX)return null;let g=Array(c*d).fill(r.nb.VOID),f=Array(c*d).fill(null);for(let e=0;e<a;e++)for(let t=0;t<n;t++){let r=e*n+t,a=(e+p)*c+(t+u);g[a]=o[r],f[a]=i[r]}let m=l.map(e=>({...e,col:e.col+u,row:e.row+p}));return{layout:{...e,cols:c,rows:d,tiles:g,tileColors:f,furniture:m},shift:{col:u,row:p}}}function m(e,t,n){for(let r of e.furniture){let e=(0,o.Um)(r.type);if(e){for(let a=0;a<e.footprintH;a++)for(let o=0;o<e.footprintW;o++)if(r.col+o===t&&r.row+a===n)return r}}return null}},1310:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(206),a=n(1406),o=n(8568),l=n(9385);let s=o.bL;o.l9;let i=o.ZL;o.bm;let c=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)(o.hJ,{ref:t,className:(0,l.cn)("fixed inset-0 z-[10000] bg-black/65","data-[state=open]:animate-in data-[state=open]:fade-in-0","data-[state=closed]:animate-out data-[state=closed]:fade-out-0",n),...a})});c.displayName=o.hJ.displayName;let d=a.forwardRef((e,t)=>{let{className:n,children:a,maxWidth:s,zIndex:d,style:u,...p}=e,g=null!=d?d:1e4;return(0,r.jsxs)(i,{children:[(0,r.jsx)(c,{style:{zIndex:g}}),(0,r.jsx)(o.UC,{ref:t,className:(0,l.cn)("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2","w-[90%] max-w-[520px] max-h-[90vh]","bg-term-panel border border-[rgba(212,168,96,0.18)]","flex flex-col overflow-hidden","font-mono text-term text-foreground","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-[0.97] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-[0.97]",n),style:{zIndex:g+1,...s?{maxWidth:s}:{},...u,boxShadow:"inset 0 1px 0 rgba(212,168,96,0.06), 0 0 20px rgba(212,168,96,0.05), 0 0 40px rgba(212,168,96,0.02), 0 8px 32px rgba(0,0,0,0.55), 0 20px 60px rgba(0,0,0,0.4)"},...p,children:a})]})});d.displayName=o.UC.displayName;let u=e=>{let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,l.cn)("px-4 py-3 flex items-center justify-between shrink-0","font-mono text-term text-term-text-bright","shadow-[0_3px_6px_-2px_rgba(0,0,0,0.4),inset_0_-1px_0_var(--separator-groove-dark),var(--highlight-top)]",t),...n})};u.displayName="DialogHeader";let p=e=>{let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,l.cn)("p-4 overflow-y-auto flex-1 min-h-0","font-mono text-term text-foreground leading-[1.7]",t),...n})};p.displayName="DialogBody";let g=e=>{let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,l.cn)("px-4 py-3 flex items-center justify-center gap-2 shrink-0","shadow-[0_-3px_6px_-2px_rgba(0,0,0,0.35),inset_0_1px_0_var(--separator-groove-light)]",t),...n})};g.displayName="DialogFooter";let f=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)(o.hE,{ref:t,className:(0,l.cn)("font-mono text-term text-term-text-bright",n),...a})});f.displayName=o.hE.displayName;let m=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)(o.VY,{ref:t,className:(0,l.cn)("text-term text-muted-foreground",n),...a})});function h(e){let{open:t,onClose:n,maxWidth:o,zIndex:i,title:c,children:h,footer:b,className:y}=e,k=(0,a.useCallback)(e=>{e||n()},[n]);return(0,r.jsx)(s,{open:t,onOpenChange:k,children:(0,r.jsxs)(d,{maxWidth:o,className:(0,l.cn)(y),zIndex:null!=i?i:void 0,children:[c?(0,r.jsxs)(u,{children:[(0,r.jsx)(f,{children:c}),(0,r.jsx)("button",{className:"px-2 py-0.5 border border-border bg-transparent text-muted-foreground font-mono text-term cursor-pointer leading-none transition-colors duration-fast hover:text-foreground hover:border-term-text-bright",onClick:n,"aria-label":"Close",children:"\xd7"})]}):(0,r.jsx)(f,{className:"sr-only",children:"Dialog"}),(0,r.jsx)(m,{className:"sr-only",children:c?"".concat(c," dialog"):"Dialog"}),(0,r.jsx)(p,{children:h}),b&&(0,r.jsx)(g,{children:b})]})})}m.displayName=o.VY.displayName},1661:(e,t,n)=>{"use strict";n.d(t,{LN:()=>a,Zg:()=>o,fu:()=>i});let r=new Map;function a(e,t,n){let a=r.get(e);if(a)return a;let o=n.colorize?function(e,t){let{h:n,s:r,b:a,c:o}=t,s=[];for(let t of e){let e=[];for(let s of t){if(""===s){e.push("");continue}let t=parseInt(s.slice(1,3),16),i=(.299*t+.587*parseInt(s.slice(3,5),16)+.114*parseInt(s.slice(5,7),16))/255;0!==o&&(i=.5+(100+o)/100*(i-.5)),0!==a&&(i+=a/200);let c=l(n,r/100,i=Math.max(0,Math.min(1,i)));e.push(c)}s.push(e)}return s}(t,n):i(t,n);return r.set(e,o),o}function o(){r.clear()}function l(e,t,n){let r=(1-Math.abs(2*n-1))*t,a=e/60,o=r*(1-Math.abs(a%2-1)),l=0,i=0,c=0;a<1?(l=r,i=o,c=0):a<2?(l=o,i=r,c=0):a<3?(l=0,i=r,c=o):a<4?(l=0,i=o,c=r):a<5?(l=o,i=0,c=r):(l=r,i=0,c=o);let d=n-r/2,u=Math.round((l+d)*255),p=Math.round((i+d)*255),g=Math.round((c+d)*255);return"#".concat(s(u).toString(16).padStart(2,"0")).concat(s(p).toString(16).padStart(2,"0")).concat(s(g).toString(16).padStart(2,"0")).toUpperCase()}function s(e){return Math.max(0,Math.min(255,e))}function i(e,t){let{h:n,s:r,b:a,c:o}=t,s=[];for(let t of e){let e=[];for(let s of t){if(""===s){e.push("");continue}let t=parseInt(s.slice(1,3),16),[i,c,d]=function(e,t,n){let r=e/255,a=t/255,o=n/255,l=Math.max(r,a,o),s=Math.min(r,a,o),i=(l+s)/2;if(l===s)return[0,0,i];let c=l-s;return[l===r?((a-o)/c+6*(a<o))*60:l===a?((o-r)/c+2)*60:((r-a)/c+4)*60,i>.5?c/(2-l-s):c/(l+s),i]}(t,parseInt(s.slice(3,5),16),parseInt(s.slice(5,7),16)),u=((i+n)%360+360)%360,p=Math.max(0,Math.min(1,c+r/100)),g=d;0!==o&&(g=.5+(100+o)/100*(g-.5)),0!==a&&(g+=a/200);let f=l(u,p,g=Math.max(0,Math.min(1,g)));e.push(f)}s.push(e)}return s}},2243:(e,t,n)=>{"use strict";n.d(t,{$L:()=>G,AL:()=>K,BD:()=>en,BZ:()=>b,DH:()=>ea,F2:()=>R,Ii:()=>ee,Jk:()=>ec,M1:()=>y,M_:()=>ei,Mo:()=>J,Nd:()=>E,Ns:()=>eb,O1:()=>M,O9:()=>el,Ot:()=>m,PA:()=>B,Pk:()=>ev,R_:()=>F,Rb:()=>g,S3:()=>d,SS:()=>N,Sg:()=>j,TE:()=>q,Tj:()=>l,W3:()=>k,W7:()=>P,WJ:()=>A,WK:()=>es,Wn:()=>C,Ww:()=>h,XE:()=>i,Xo:()=>em,YK:()=>o,YX:()=>Y,ZV:()=>eo,Zz:()=>et,dn:()=>r,e7:()=>ex,eR:()=>er,fJ:()=>V,fS:()=>ew,gB:()=>w,gD:()=>Z,gi:()=>I,hI:()=>T,he:()=>f,i:()=>X,iE:()=>D,ic:()=>ep,k2:()=>ek,k8:()=>p,l0:()=>W,lO:()=>eu,lY:()=>c,n6:()=>_,nW:()=>ed,o3:()=>ey,oj:()=>Q,ou:()=>eh,p7:()=>ef,pX:()=>s,pr:()=>$,q3:()=>z,qD:()=>L,ql:()=>eT,qt:()=>eg,v3:()=>U,vU:()=>v,wN:()=>x,wh:()=>a,wj:()=>u,y9:()=>O,zY:()=>H,zw:()=>S});let r=16,a=21,o=21,l=64,s=64,i=48,c=.15,d=.3,u=2,p=20,g=3,f=6,m=120,h=240,b=.3,y=6,k=16,x=24,v=30,w=180,T=.3,S="#ccffcc",E=.6,I=.5,C=.33,A=.66,D=6,j=.5,R=.001,M=1,O=.5,L=.5,P=.25,_=[4,3],W=6,Y=3,F=.45,N=1.5,H=.5,U=.5,B=10,G=28,z="#808080",K="rgba(255,255,255,0.12)",V="rgba(255,255,255,0.08)",X=[2,2],J="rgba(60, 130, 220, 0.25)",$="rgba(60, 130, 220, 0.5)",Z="rgba(255, 255, 255, 0.06)",q="#00ff00",Q="#ff0000",ee="#007fd4",et="rgba(200, 50, 50, 0.85)",en="rgba(50, 120, 200, 0.85)",er=!1,ea=.25,eo=10,el=.1,es=2,ei=.3,ec=8,ed=.5,eu=30,ep=6,eg=45,ef=271,em=3,eh=2,eb=8,ey=24,ek=50,ex=500,ev={h:35,s:30,b:15,c:0},ew={h:240,s:25,b:0,c:0},eT={h:0,s:0,b:0,c:0}},2988:(e,t,n)=>{"use strict";n.d(t,{$D:()=>g,Cr:()=>J,Ih:()=>$,L$:()=>i,SJ:()=>c,US:()=>o,VQ:()=>m,WN:()=>l,Zc:()=>p,bn:()=>K,iK:()=>s,j9:()=>f,mY:()=>u,mr:()=>d});var r=n(5195),a=n(1661);let o=(()=>{let e="#8B6914",t="#A07828",n="#B8922E",r="#6B4E0A",a=[];a.push(Array(32).fill("")),a.push(["",...Array(30).fill(e),""]);for(let r=0;r<4;r++)a.push(["",e,...Array(28).fill(r<1?t:n),e,""]);a.push(["",r,...Array(28).fill(e),r,""]);for(let t=0;t<6;t++)a.push(["",e,...Array(28).fill(n),e,""]);a.push(["",e,...Array(28).fill(t),e,""]);for(let t=0;t<6;t++)a.push(["",e,...Array(28).fill(n),e,""]);a.push(["",r,...Array(28).fill(e),r,""]);for(let r=0;r<4;r++)a.push(["",e,...Array(28).fill(r>2?t:n),e,""]);a.push(["",...Array(30).fill(e),""]);for(let e=0;e<4;e++){let e=Array(32).fill("");e[1]=r,e[2]=r,e[29]=r,e[30]=r,a.push(e)}return a.push(Array(32).fill("")),a.push(Array(32).fill("")),a})(),l=(()=>{let e="#3D8B37",t="#2D6B27",n="#6B4E0A",r="#B85C3A",a="#8B4422";return[["","","","","","",e,e,"","","","","","","",""],["","","","","",e,e,e,e,"","","","","","",""],["","","","",e,e,t,e,e,e,"","","","","",""],["","","",e,e,t,e,e,t,e,e,"","","","",""],["","",e,e,e,e,e,e,e,e,e,e,"","","",""],["",e,e,t,e,e,e,e,e,e,t,e,e,"","",""],["",e,e,e,e,t,e,e,t,e,e,e,e,"","",""],["","",e,e,e,e,e,e,e,e,e,e,"","","",""],["","","",e,e,e,t,e,e,e,e,"","","","",""],["","","","",e,e,e,e,e,e,"","","","","",""],["","","","","",e,e,e,e,"","","","","","",""],["","","","","","",n,n,"","","","","","","",""],["","","","","","",n,n,"","","","","","","",""],["","","","","","",n,n,"","","","","","","",""],["","","","","",a,a,a,a,a,"","","","","",""],["","","","",a,r,r,r,r,r,a,"","","","",""],["","","","",a,r,r,r,r,r,a,"","","","",""],["","","","",a,r,r,r,r,r,a,"","","","",""],["","","","",a,r,r,r,r,r,a,"","","","",""],["","","","",a,r,r,r,r,r,a,"","","","",""],["","","","",a,r,r,r,r,r,a,"","","","",""],["","","","","",a,r,r,r,a,"","","","","",""],["","","","","","",a,a,a,"","","","","","",""],["","","","","","","","","","","","","","","",""]]})(),s=(()=>{let e="#8B6914",t="#6B4E0A",n="#CC4444",r="#4477AA",a="#44AA66",o="#CCAA33",l="#9955AA";return[["",e,e,e,e,e,e,e,e,e,e,e,e,e,e,""],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,n,n,r,r,a,a,o,o,n,n,r,r,t,e],[e,t,n,n,r,r,a,a,o,o,n,n,r,r,t,e],[e,t,n,n,r,r,a,a,o,o,n,n,r,r,t,e],[e,t,n,n,r,r,a,a,o,o,n,n,r,r,t,e],[e,t,n,n,r,r,a,a,o,o,n,n,r,r,t,e],[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,l,l,o,o,r,r,a,a,l,l,n,n,t,e],[e,t,l,l,o,o,r,r,a,a,l,l,n,n,t,e],[e,t,l,l,o,o,r,r,a,a,l,l,n,n,t,e],[e,t,l,l,o,o,r,r,a,a,l,l,n,n,t,e],[e,t,l,l,o,o,r,r,a,a,l,l,n,n,t,e],[e,t,l,l,o,o,r,r,a,a,l,l,n,n,t,e],[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,a,a,n,n,l,l,r,r,o,o,a,a,t,e],[e,t,a,a,n,n,l,l,r,r,o,o,a,a,t,e],[e,t,a,a,n,n,l,l,r,r,o,o,a,a,t,e],[e,t,a,a,n,n,l,l,r,r,o,o,a,a,t,e],[e,t,a,a,n,n,l,l,r,r,o,o,a,a,t,e],[e,t,a,a,n,n,l,l,r,r,o,o,a,a,t,e],[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],["",e,e,e,e,e,e,e,e,e,e,e,e,e,e,""]]})(),i=(()=>{let e="#CCDDEE",t="#88BBDD",n="#999999",r="#666666";return[["","","","","","","","","","","","","","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","",n,t,t,t,t,t,t,n,"","","",""],["","","","",n,t,t,t,t,t,t,n,"","","",""],["","","","",n,t,t,t,t,t,t,n,"","","",""],["","","","",n,t,t,t,t,t,t,n,"","","",""],["","","","",n,t,t,t,t,t,t,n,"","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","","",n,e,e,e,e,n,"","","","",""],["","","","","",n,e,e,e,e,n,"","","","",""],["","","","","",n,e,e,e,e,n,"","","","",""],["","","","","",n,e,e,e,e,n,"","","","",""],["","","","","",n,e,e,e,e,n,"","","","",""],["","","","",n,n,e,e,e,e,n,n,"","","",""],["","","","",n,e,e,e,e,e,e,n,"","","",""],["","","","",n,e,e,e,e,e,e,n,"","","",""],["","","","",n,n,n,n,n,n,n,n,"","","",""],["","","","","",n,r,r,r,r,n,"","","","",""],["","","","","",n,r,r,r,r,n,"","","","",""],["","","","","",n,r,r,r,r,n,"","","","",""],["","","","",n,n,r,r,r,r,n,n,"","","",""],["","","","",n,r,r,r,r,r,r,n,"","","",""],["","","","",n,n,n,n,n,n,n,n,"","","",""],["","","","","","","","","","","","","","","",""]]})(),c=(()=>{let e="#AAAAAA",t="#EEEEFF",n="#CC4444",r="#4477AA";return[["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],["",e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,t,t,n,n,n,t,t,t,t,t,r,r,r,r,t,t,t,t,t,t,t,n,t,t,t,t,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,r,r,t,t,n,t,t,t,t,t,t,e,""],["",e,t,t,t,t,n,n,n,n,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,r,r,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,r,r,r,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,n,n,n,t,t,t,t,t,t,t,e,""],["",e,t,n,n,t,t,t,t,t,t,t,t,t,t,t,r,r,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,t,t,t,t,t,t,r,r,r,t,t,t,t,t,t,t,t,t,t,t,t,t,n,n,n,n,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,""],["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""]]})(),d=(()=>{let e="#8B6914",t="#6B4E0A",n="#5C3D0A",r="#A07828";return[["","","","","",t,t,t,t,t,t,"","","","",""],["","","","",t,n,n,n,n,n,n,t,"","","",""],["","","","",t,n,r,r,r,r,n,t,"","","",""],["","","","",t,n,r,r,r,r,n,t,"","","",""],["","","","",t,n,r,r,r,r,n,t,"","","",""],["","","","",t,n,r,r,r,r,n,t,"","","",""],["","","","",t,n,r,r,r,r,n,t,"","","",""],["","","","",t,n,r,r,r,r,n,t,"","","",""],["","","","",t,n,r,r,r,r,n,t,"","","",""],["","","","",t,n,n,n,n,n,n,t,"","","",""],["","","","","",t,t,t,t,t,t,"","","","",""],["","","","","","",t,e,e,t,"","","","","",""],["","","","","","",t,e,e,t,"","","","","",""],["","","","","",t,t,t,t,t,t,"","","","",""],["","","","","",t,"","","","",t,"","","","",""],["","","","","",t,"","","","",t,"","","","",""]]})(),u=(()=>{let e="#555555",t="#3A3A5C",n="#6688CC",r="#444444";return[["","","",e,e,e,e,e,e,e,e,e,e,"","",""],["","","",e,t,t,t,t,t,t,t,t,e,"","",""],["","","",e,t,n,n,n,n,n,n,t,e,"","",""],["","","",e,t,n,n,n,n,n,n,t,e,"","",""],["","","",e,t,n,n,n,n,n,n,t,e,"","",""],["","","",e,t,n,n,n,n,n,n,t,e,"","",""],["","","",e,t,n,n,n,n,n,n,t,e,"","",""],["","","",e,t,n,n,n,n,n,n,t,e,"","",""],["","","",e,t,t,t,t,t,t,t,t,e,"","",""],["","","",e,e,e,e,e,e,e,e,e,e,"","",""],["","","","","","","",r,r,"","","","","","",""],["","","","","","","",r,r,"","","","","","",""],["","","","","","",r,r,r,r,"","","","","",""],["","","","","",r,r,r,r,r,r,"","","","",""],["","","","","",r,r,r,r,r,r,"","","","",""],["","","","","","","","","","","","","","","",""]]})(),p=(()=>{let e="#FFDD55",t="#FFEE88",n="#888888",r="#555555",a="#FFFFCC";return[["","","","","","","","","","","","","","","",""],["","","","","","",a,a,a,a,"","","","","",""],["","","","","",a,e,e,e,e,a,"","","","",""],["","","","",a,e,e,t,t,e,e,a,"","","",""],["","","","",e,e,t,t,t,t,e,e,"","","",""],["","","","",e,e,t,t,t,t,e,e,"","","",""],["","","","","",e,e,e,e,e,e,"","","","",""],["","","","","","",n,n,n,n,"","","","","",""],["","","","","","","",n,n,"","","","","","",""],["","","","","","","",n,n,"","","","","","",""],["","","","","","","",n,n,"","","","","","",""],["","","","","","","",n,n,"","","","","","",""],["","","","","","",n,n,n,n,"","","","","",""],["","","","","",r,r,r,r,r,r,"","","","",""],["","","","","",r,r,r,r,r,r,"","","","",""],["","","","","","","","","","","","","","","",""]]})(),g=(()=>{let e="#555566",t="#EEEEFF",n="#CCA700";return[["","","",e,e,e,e,e,"","",""],["","",e,t,t,t,t,t,e,"",""],["",e,t,t,t,t,t,t,t,e,""],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,n,t,n,t,n,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],["",e,t,t,t,t,t,t,t,e,""],["","",e,e,e,e,e,e,e,"",""],["","","","",e,e,e,"","","",""],["","","","","",e,"","","","",""],["","","","","","","","","","",""]]})(),f=(()=>{let e="#555566",t="#EEEEFF",n="#D4A017",r="#F5C842";return[["","","",e,e,e,e,e,"","",""],["","",e,t,t,t,r,t,e,"",""],["",e,t,t,t,r,r,t,t,e,""],[e,t,t,t,r,r,t,t,t,t,e],[e,t,t,r,r,r,r,r,t,t,e],[e,t,t,t,t,n,n,t,t,t,e],[e,t,t,t,n,n,t,t,t,t,e],[e,t,t,n,n,t,t,t,t,t,e],["",e,t,t,n,t,t,t,t,e,""],["","",e,e,e,e,e,e,e,"",""],["","","","",e,e,e,"","","",""],["","","","","",e,"","","","",""],["","","","","","","","","","",""]]})(),m=(()=>{let e="#555566",t="#EEEEFF",n="#44BB66";return[["","","",e,e,e,e,e,"","",""],["","",e,t,t,t,t,t,e,"",""],["",e,t,t,t,t,t,t,t,e,""],[e,t,t,t,t,t,t,t,n,t,e],[e,t,t,t,t,t,t,n,t,t,e],[e,t,t,n,t,t,n,t,t,t,e],[e,t,t,t,n,n,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],["",e,t,t,t,t,t,t,t,e,""],["","",e,e,e,e,e,e,e,"",""],["","","","",e,e,e,"","","",""],["","","","","",e,"","","","",""],["","","","","","","","","","",""]]})(),h=[{skin:"#FFCC99",shirt:"#4488CC",pants:"#334466",hair:"#553322",shoes:"#222222"},{skin:"#FFCC99",shirt:"#CC4444",pants:"#333333",hair:"#FFD700",shoes:"#222222"},{skin:"#DEB887",shirt:"#44AA66",pants:"#334444",hair:"#222222",shoes:"#333333"},{skin:"#FFCC99",shirt:"#AA55CC",pants:"#443355",hair:"#AA4422",shoes:"#222222"},{skin:"#DEB887",shirt:"#CCAA33",pants:"#444433",hair:"#553322",shoes:"#333333"},{skin:"#FFCC99",shirt:"#FF8844",pants:"#443322",hair:"#111111",shoes:"#222222"}],b="hair",y="skin",k="shirt",x="pants",v="shoes",w="#FFFFFF";function T(e,t){return e.map(e=>e.map(e=>""===e?"":e===w?w:e===b?t.hair:e===y?t.skin:e===k?t.shirt:e===x?t.pants:e===v?t.shoes:e))}let S=[["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,w,y,y,w,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","",x,x,"","","","",x,x,"","","",""],["","","","",x,x,"","","","",x,x,"","","",""],["","","","",v,v,"","","","","",v,v,"","",""],["","","","",v,v,"","","","","",v,v,"","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],E=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,w,y,y,w,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],I=[["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,w,y,y,w,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","",v,v,"","","","","","",x,x,"","",""],["","","",v,v,"","","","","","",x,x,"","",""],["","","","","","","","","","",v,v,"","","",""],["","","","","","","","","","",v,v,"","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],C=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,w,y,y,w,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","",y,y,k,k,k,k,k,k,y,y,"","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],A=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,w,y,y,w,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,y,"","",""],["","","","",y,k,k,k,k,k,k,"",y,"","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],D=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,w,y,y,w,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],j=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,w,y,y,w,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],R=[["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","",x,x,"","","","",x,x,"","","",""],["","","","",x,x,"","","","",x,x,"","","",""],["","","",v,v,"","","","","","",v,v,"","",""],["","","",v,v,"","","","","","",v,v,"","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],M=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],O=[["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","",v,v,"","","","","","",x,x,"","",""],["","","",v,v,"","","","","","",x,x,"","",""],["","","","","","","","","","",v,v,"","","",""],["","","","","","","","","","",v,v,"","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],L=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","",y,y,k,k,k,k,k,k,y,y,"","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],P=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,y,"","",""],["","","","",y,k,k,k,k,k,k,"",y,"","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],_=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],W=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",y,k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,"","",x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],Y=[["","","","","","","","","","","","","","","",""],["","","","","","","",b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,w,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",y,k,k,k,k,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",x,x,"","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,"","","",x,x,"","","",""],["","","","","",x,x,"","","",x,x,"","","",""],["","","","","",v,v,"","","","",v,v,"","",""],["","","","","",v,v,"","","","",v,v,"","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],F=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,w,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",y,k,k,k,k,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",x,x,"","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,"",x,x,"","","","",""],["","","","","","",x,x,"",x,x,"","","","",""],["","","","","","",x,x,"",x,x,"","","","",""],["","","","","","",v,v,"",v,v,"","","","",""],["","","","","","",v,v,"",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],N=[["","","","","","","","","","","","","","","",""],["","","","","","","",b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,w,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",y,k,k,k,k,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",x,x,"","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","","","",x,x,x,"","","","",""],["","","","","","","","",x,x,x,"","","","",""],["","","","","",v,v,"","",v,v,"","","","",""],["","","","","",v,v,"","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],H=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,w,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,y,"","","",""],["","","","","",k,k,k,k,k,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",x,x,"","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,"",x,x,"","","","",""],["","","","","","",v,v,"",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],U=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,w,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"",y,"","",""],["","","","","",k,k,k,k,k,"","",y,"","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",x,x,"","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,"",x,x,"","","","",""],["","","","","","",v,v,"",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],B=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,w,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",y,k,k,k,k,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",x,x,"","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,"",x,x,"","","","",""],["","","","","","",v,v,"",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],G=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,w,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",y,k,k,k,k,y,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",x,x,"","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","","",x,x,"",x,x,"","","","",""],["","","","","","",v,v,"",v,v,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],z=null;function K(e){z=e,X.clear()}function V(e){return e.map(e=>[...e].reverse())}let X=new Map;function J(e){var t,n;if(!z||0===z.length)return null;let r=z[e%z.length];return null!=(n=null==r||null==(t=r.down)?void 0:t[1])?n:null}function $(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o="".concat(e,":").concat(n),l=X.get(o);if(l)return l;if(z&&z.length>0){let n=z[e%z.length];if(!n)return null;let a=n.down,o=n.up,l=n.right;t={walk:{[r.OP.DOWN]:[a[0],a[1],a[2],a[1]],[r.OP.UP]:[o[0],o[1],o[2],o[1]],[r.OP.RIGHT]:[l[0],l[1],l[2],l[1]],[r.OP.LEFT]:[V(l[0]),V(l[1]),V(l[2]),V(l[1])]},typing:{[r.OP.DOWN]:[a[3],a[4]],[r.OP.UP]:[o[3],o[4]],[r.OP.RIGHT]:[l[3],l[4]],[r.OP.LEFT]:[V(l[3]),V(l[4])]},reading:{[r.OP.DOWN]:[a[5],a[6]],[r.OP.UP]:[o[5],o[6]],[r.OP.RIGHT]:[l[5],l[6]],[r.OP.LEFT]:[V(l[5]),V(l[6])]}}}else{let n=h[e%h.length],a=e=>T(e,n),o=e=>T(e.map(e=>[...e].reverse()),n);t={walk:{[r.OP.DOWN]:[a(S),a(E),a(I),a(E)],[r.OP.UP]:[a(R),a(M),a(O),a(M)],[r.OP.RIGHT]:[a(Y),a(F),a(N),a(F)],[r.OP.LEFT]:[o(Y),o(F),o(N),o(F)]},typing:{[r.OP.DOWN]:[a(C),a(A)],[r.OP.UP]:[a(L),a(P)],[r.OP.RIGHT]:[a(H),a(U)],[r.OP.LEFT]:[o(H),o(U)]},reading:{[r.OP.DOWN]:[a(D),a(j)],[r.OP.UP]:[a(_),a(W)],[r.OP.RIGHT]:[a(B),a(G)],[r.OP.LEFT]:[o(B),o(G)]}}}return 0!==n&&(t=function(e,t){let n={h:t,s:0,b:0,c:0},o=e=>(0,a.fu)(e,n),l=e=>[o(e[0]),o(e[1]),o(e[2]),o(e[3])],s=e=>[o(e[0]),o(e[1])];return{walk:{[r.OP.DOWN]:l(e.walk[r.OP.DOWN]),[r.OP.UP]:l(e.walk[r.OP.UP]),[r.OP.RIGHT]:l(e.walk[r.OP.RIGHT]),[r.OP.LEFT]:l(e.walk[r.OP.LEFT])},typing:{[r.OP.DOWN]:s(e.typing[r.OP.DOWN]),[r.OP.UP]:s(e.typing[r.OP.UP]),[r.OP.RIGHT]:s(e.typing[r.OP.RIGHT]),[r.OP.LEFT]:s(e.typing[r.OP.LEFT])},reading:{[r.OP.DOWN]:s(e.reading[r.OP.DOWN]),[r.OP.UP]:s(e.reading[r.OP.UP]),[r.OP.RIGHT]:s(e.reading[r.OP.RIGHT]),[r.OP.LEFT]:s(e.reading[r.OP.LEFT])}}}(t,n)),X.set(o,t),t}},3423:(e,t,n)=>{Promise.resolve().then(n.bind(n,693))},4296:(e,t,n)=>{"use strict";n.d(t,{F:()=>m,Q:()=>u});var r=n(2988),a=n(4777),o=n(5055);let l=["down","up","right"];function s(e){return new Promise((t,n)=>{let r=new Image;r.crossOrigin="anonymous",r.onload=()=>t(r),r.onerror=t=>n(Error("Failed to load image: ".concat(e," — ").concat(t))),r.src=e})}function i(e,t,n,r,a){let o=document.createElement("canvas");o.width=r,o.height=a;let l=o.getContext("2d"),s=e.naturalWidth,i=e.naturalHeight,c=Math.max(0,t),d=Math.max(0,n),u=Math.min(t+r,s)-c,p=Math.min(n+a,i)-d;u>0&&p>0&&l.drawImage(e,c,d,u,p,c-t,d-n,u,p);let{data:g}=l.getImageData(0,0,r,a),f=[];for(let e=0;e<a;e++){let t=[];for(let n=0;n<r;n++){let a=(e*r+n)*4,o=g[a],l=g[a+1],s=g[a+2];g[a+3]<128?t.push(""):t.push("#".concat(o.toString(16).padStart(2,"0")).concat(l.toString(16).padStart(2,"0")).concat(s.toString(16).padStart(2,"0")).toUpperCase())}f.push(t)}return f}async function c(){let e=[];for(let t=0;t<6;t++){let n=await s("/assets/characters/char_".concat(t,".png")),r={down:[],up:[],right:[]};for(let e=0;e<l.length;e++){let t=l[e],a=32*e,o=[];for(let e=0;e<7;e++){let t=16*e;o.push(i(n,t,a,16,32))}r[t]=o}e.push(r)}return e}async function d(){let e=await s("/assets/walls.png"),t=[];for(let n=0;n<16;n++){let r=n%4*16,a=32*Math.floor(n/4);t.push(i(e,r,a,16,32))}return t}let u=[{id:"ASSET_4",label:"Wooden Counter",srcX:128,srcY:0,srcW:48,srcH:32,footprintW:3,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_7",label:"White Counter",srcX:80,srcY:23,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_15",label:"Plastic Counter",srcX:128,srcY:64,srcW:48,srcH:32,footprintW:3,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_NEW_106",label:"Wooden Table",srcX:16,srcY:-9,srcW:48,srcH:32,footprintW:3,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_27_A",label:"Large Table",srcX:0,srcY:544,srcW:32,srcH:64,footprintW:2,footprintH:4,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_46",label:"Vertical Table",srcX:16,srcY:288,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!0,category:"desks"},{id:"ASSET_NEW_112",label:"Coffee Table",srcX:96,srcY:512,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_50_0_0",label:"Wood Coffee Table",srcX:64,srcY:299,srcW:32,srcH:16,footprintW:2,footprintH:1,isDesk:!0,category:"desks"},{id:"ASSET_17",label:"Wooden Bookshelf",srcX:128,srcY:512,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_18",label:"Full Bookshelf",srcX:160,srcY:512,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_27_B_A_A",label:"Bookshelf Tall",srcX:128,srcY:183,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_27_B_A_B_A",label:"Full Bookshelf Tall",srcX:144,srcY:183,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_27_B_A_B_B_A",label:"Cabinet Tall",srcX:160,srcY:183,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_28",label:"White Bookshelf",srcX:192,srcY:184,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_41_0_1",label:"Fridge",srcX:208,srcY:264,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_139",label:"Crates",srcX:224,srcY:447,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_32",label:"Chair Front",srcX:0,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_38",label:"Chair Back",srcX:16,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_33",label:"Chair Right",srcX:32,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_34",label:"Chair Left",srcX:48,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_35",label:"Office Chair Front",srcX:64,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_39",label:"Office Chair Back",srcX:80,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_36",label:"Office Chair Right",srcX:96,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_37",label:"Office Chair Left",srcX:112,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_49",label:"Stool",srcX:0,srcY:290,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_NEW_110",label:"Large Chair Right",srcX:192,srcY:512,srcW:16,srcH:48,footprintW:1,footprintH:3,isDesk:!1,category:"chairs"},{id:"ASSET_NEW_111",label:"Large Chair Left",srcX:208,srcY:512,srcW:16,srcH:48,footprintW:1,footprintH:3,isDesk:!1,category:"chairs"},{id:"ASSET_90",label:"Computer + Coffee",srcX:192,srcY:358,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_74",label:"CRT Monitor Off",srcX:128,srcY:360,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0},{id:"ASSET_76",label:"CRT Monitor On",srcX:160,srcY:360,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0},{id:"ASSET_78",label:"Monitor Off",srcX:192,srcY:359,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0},{id:"ASSET_79",label:"Monitor On",srcX:224,srcY:359,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0},{id:"ASSET_107",label:"Laptop Off",srcX:128,srcY:384,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_108",label:"Laptop On",srcX:144,srcY:384,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_99",label:"Laptop Left",srcX:177,srcY:386,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_109",label:"Laptop Back",srcX:192,srcY:386,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_61",label:"Telephone",srcX:192,srcY:304,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_123",label:"Server",srcX:131,srcY:417,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_126",label:"Printer",srcX:216,srcY:423,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_63",label:"Wood Window",srcX:32,srcY:319,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_64",label:"White Window",srcX:64,srcY:319,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_80",label:"Small Window Wood",srcX:80,srcY:351,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_81",label:"Small Window White",srcX:96,srcY:351,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_83",label:"Clock White",srcX:0,srcY:360,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_84",label:"Clock Color",srcX:15,srcY:352,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_101",label:"Painting",srcX:0,srcY:384,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_102",label:"Painting 2",srcX:32,srcY:384,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_103",label:"Small Painting",srcX:64,srcY:384,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_118",label:"Chart 1",srcX:32,srcY:415,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_122",label:"Chalkboard",srcX:0,srcY:415,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_134",label:"Chart 2",srcX:0,srcY:448,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_140",label:"White Plant",srcX:32,srcY:448,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",backgroundTiles:1},{id:"ASSET_141",label:"White Plant 2",srcX:32,srcY:448,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",backgroundTiles:1},{id:"ASSET_142",label:"Plant",srcX:32,srcY:448,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",backgroundTiles:1},{id:"ASSET_143",label:"Plant 2",srcX:32,srcY:448,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",backgroundTiles:1},{id:"ASSET_72",label:"Red Book",srcX:163,srcY:336,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"decor",canPlaceOnSurfaces:!0},{id:"ASSET_100",label:"Paper",srcX:240,srcY:384,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_40",label:"Vending Machine",srcX:224,srcY:264,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"misc",backgroundTiles:1},{id:"ASSET_42",label:"Water Cooler",srcX:142,srcY:264,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"misc",backgroundTiles:1},{id:"ASSET_44",label:"Bin",srcX:128,srcY:278,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"misc"},{id:"ASSET_51",label:"Coffee Mug",srcX:225,srcY:299,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"misc",canPlaceOnSurfaces:!0},{id:"ASSET_55",label:"Coffee Machine",srcX:161,srcY:309,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"misc",canPlaceOnSurfaces:!0,backgroundTiles:1}],p={ASSET_17:{fill:"#8B6914",edge:"#5B4910"},ASSET_18:{fill:"#7B5910",edge:"#4B3908"},ASSET_27_A:{fill:"#D4C090",edge:"#B8A070"},ASSET_NEW_106:{fill:"#C8B480",edge:"#A89460"},ASSET_NEW_110:{fill:"#9B5050",edge:"#6B3030"},ASSET_NEW_111:{fill:"#9B5050",edge:"#6B3030"},ASSET_NEW_112:{fill:"#D4C090",edge:"#B8A070"}};async function g(){let e=new Map,t=null;try{t=await s("/Office%20Tileset/Office%20Tileset%20All%2016x16.png?v=".concat(Date.now())),console.log("[tileset] loaded ".concat(t.naturalWidth,"\xd7").concat(t.naturalHeight))}catch(e){console.warn("[tileset] tileset image not found, using fallback sprites only")}for(let n of u){if(t){let r=i(t,n.srcX,n.srcY,n.srcW,n.srcH);if(!function(e){for(let t of e)for(let e of t)if(""!==e)return!1;return!0}(r)){e.set(n.id,r);continue}console.warn("[tileset] empty sprite: ".concat(n.id," at (").concat(n.srcX,",").concat(n.srcY,") ").concat(n.srcW,"\xd7").concat(n.srcH))}let r=p[n.id];r&&e.set(n.id,function(e,t,n,r){let a=[];for(let o=0;o<t;o++){let l=[];for(let a=0;a<e;a++)0===a||a===e-1||0===o||o===t-1?l.push(r):l.push(n);a.push(l)}return a}(n.srcW,n.srcH,r.fill,r.edge))}return{sprites:e}}async function f(){try{let e=await fetch("/pixel-agents-layout.json");if(!e.ok)return null;let t=await e.json();if(t&&1===t.version&&Array.isArray(t.tiles))return t;return null}catch(e){return null}}async function m(){let[e,t,n,l]=await Promise.all([c(),d(),g(),f()]),s=function(){let e=[],t=[{base:"#C8B896",accent:"#B8A886"},{base:"#D4C4A0",accent:"#C4B490"},{base:"#B0A888",accent:"#A09878"},{base:"#A89078",accent:"#988068"},{base:"#C0B898",accent:"#B0A888"},{base:"#B8A890",accent:"#A89880"},{base:"#D0C0A0",accent:"#C0B090"}];for(let n=0;n<7;n++){let{base:r,accent:a}=t[n],o=[];for(let e=0;e<16;e++){let t=[];for(let n=0;n<16;n++){let o=(n+e)%4==0||(3*n+7*e)%11==0;t.push(o?a:r)}o.push(t)}e.push(o)}return e}();return(0,r.bn)(e),(0,o.ZZ)(t),(0,a.Di)(s),{characters:e,walls:t,floors:s,tilesetSprites:n.sprites,layout:l}}},4777:(e,t,n)=>{"use strict";n.d(t,{$0:()=>c,Di:()=>i,QQ:()=>d,To:()=>u,ty:()=>s});var r=n(1661),a=n(2243);let o=Array.from({length:a.dn},()=>Array(a.dn).fill(a.q3)),l=[],s="#3A3A5C";function i(e){l=e,(0,r.Zg)()}function c(){return!0}function d(){return l.length>0?l.length:1}function u(e,t){let n="floor-".concat(e,"-").concat(t.h,"-").concat(t.s,"-").concat(t.b,"-").concat(t.c),a=function(e){let t=e-1;return t<0?null:t<l.length?l[t]:0===l.length&&e>=1?o:null}(e);return a?(0,r.LN)(n,a,{...t,colorize:!0}):Array.from({length:16},()=>Array(16).fill("#FF00FF"))}},4932:(e,t,n)=>{"use strict";n.d(t,{$C:()=>f,DM:()=>a,Ec:()=>i,JH:()=>g,KD:()=>p,KE:()=>b,O2:()=>m,Rw:()=>k,Y0:()=>o,Z8:()=>x,aD:()=>r,c8:()=>y,gc:()=>d,lR:()=>l,lr:()=>c,nY:()=>u,oj:()=>s,v_:()=>h});let r={"amber-noir":{name:"Amber Noir",accent:"#e8b040",accentRgb:"232,176,64",dim:"#6a5c40",text:"#c4b894",textBright:"#e0d8c4",bg:"#0c0a08",panel:"#100e0a",surface:"#181410",hover:"#201c16",border:"#2c2618",borderDim:"#1c1810",codeBg:"#0a0908",codeText:"#a08848",scrollThumb:"#302818",clean:!0,green:"#8aac5a",yellow:"#e8b040",red:"#c85a4a",blue:"#6498b8",purple:"#a07cc0",cyan:"#5aaa98"},kanagawa:{name:"Kanagawa",accent:"#C0A36E",accentRgb:"192,163,110",dim:"#625e5a",text:"#c8c093",textBright:"#DCD7BA",bg:"#12120f",panel:"#161613",surface:"#1D1C19",hover:"#282727",border:"#393836",borderDim:"#282727",codeBg:"#0d0c0c",codeText:"#87a987",scrollThumb:"#393836",clean:!0,green:"#87a987",yellow:"#c4b28a",red:"#c4746e",blue:"#8ba4b0",purple:"#a292a3",cyan:"#8ea4a2"},monokai:{name:"Monokai",accent:"#a6e22e",accentRgb:"166,226,46",dim:"#7a8a48",text:"#c8d888",textBright:"#e8f0c8",bg:"#1a1c14",panel:"#22241a",surface:"#282a20",hover:"#343828",border:"#3e4430",borderDim:"#343828",codeBg:"#181a12",codeText:"#7a9040",scrollThumb:"#3e4430",clean:!0,green:"#a6e22e",yellow:"#e6db74",red:"#f92672",blue:"#66d9ef",purple:"#ae81ff",cyan:"#66d9ef"},"green-hacker":{name:"Green Hacker",accent:"#18ff62",accentRgb:"24,255,98",dim:"#5a7a5a",text:"#9aba9a",textBright:"#c8e0c0",bg:"#050808",panel:"#0c1210",surface:"#0a0e0a",hover:"#0e1a0e",border:"#1a2a1a",borderDim:"#152515",codeBg:"#060810",codeText:"#6a8a6a",scrollThumb:"#1a3a1a",green:"#18ff62",yellow:"#e8c840",red:"#ff6b6b",blue:"#5aacff",purple:"#c084fc",cyan:"#40e8d0"},"atom-one-dark":{name:"Atom One Dark",accent:"#61afef",accentRgb:"97,175,239",dim:"#5c6370",text:"#abb2bf",textBright:"#d7dae0",bg:"#21252b",panel:"#1e2227",surface:"#282c34",hover:"#323844",border:"#3e4451",borderDim:"#282c34",codeBg:"#1e2227",codeText:"#98c379",scrollThumb:"#3e4451",clean:!0,green:"#98c379",yellow:"#e5c07b",red:"#e06c75",blue:"#61afef",purple:"#c678dd",cyan:"#56b6c2"},"tokyo-night":{name:"Tokyo Night",accent:"#7aa2f7",accentRgb:"122,162,247",dim:"#565f89",text:"#a9b1d6",textBright:"#c0caf5",bg:"#0f111a",panel:"#0b0d14",surface:"#16161e",hover:"#1a1b26",border:"#2a2f3a",borderDim:"#1a1b26",codeBg:"#0b0d14",codeText:"#9aa5ce",scrollThumb:"#2a2f3a",clean:!0,green:"#9ece6a",yellow:"#e0af68",red:"#f7768e",blue:"#7aa2f7",purple:"#bb9af7",cyan:"#7dcfff"},catppuccin:{name:"Catppuccin",accent:"#89b4fa",accentRgb:"137,180,250",dim:"#6c7086",text:"#bac2de",textBright:"#cdd6f4",bg:"#1e1e2e",panel:"#181825",surface:"#313244",hover:"#45475a",border:"#45475a",borderDim:"#313244",codeBg:"#181825",codeText:"#a6adc8",scrollThumb:"#45475a",clean:!0,green:"#a6e3a1",yellow:"#f9e2af",red:"#f38ba8",blue:"#89b4fa",purple:"#cba6f7",cyan:"#94e2d5"},gruvbox:{name:"Gruvbox",accent:"#fabd2f",accentRgb:"250,189,47",dim:"#a89984",text:"#d5c4a1",textBright:"#ebdbb2",bg:"#282828",panel:"#1f1f1f",surface:"#3c3836",hover:"#504945",border:"#504945",borderDim:"#3c3836",codeBg:"#1f1f1f",codeText:"#a89984",scrollThumb:"#504945",clean:!0,green:"#b8bb26",yellow:"#fabd2f",red:"#fb4934",blue:"#83a598",purple:"#d3869b",cyan:"#83a598"},nord:{name:"Nord",accent:"#88c0d0",accentRgb:"136,192,208",dim:"#616e88",text:"#d8dee9",textBright:"#eceff4",bg:"#2e3440",panel:"#272c36",surface:"#3b4252",hover:"#434c5e",border:"#4c566a",borderDim:"#3b4252",codeBg:"#272c36",codeText:"#81a1c1",scrollThumb:"#4c566a",clean:!0,green:"#a3be8c",yellow:"#ebcb8b",red:"#bf616a",blue:"#5e81ac",purple:"#b48ead",cyan:"#88c0d0"},dracula:{name:"Dracula",accent:"#bd93f9",accentRgb:"189,147,249",dim:"#7a84b0",text:"#c0c8e8",textBright:"#f8f8f2",bg:"#282a36",panel:"#232530",surface:"#44475a",hover:"#4d5066",border:"#6272a4",borderDim:"#44475a",codeBg:"#232530",codeText:"#6272a4",scrollThumb:"#6272a4",clean:!0,green:"#50fa7b",yellow:"#f1fa8c",red:"#ff5555",blue:"#8be9fd",purple:"#bd93f9",cyan:"#8be9fd"},everforest:{name:"Everforest",accent:"#a7c080",accentRgb:"167,192,128",dim:"#7a8478",text:"#d3c6aa",textBright:"#e5dfc9",bg:"#272e34",panel:"#232a30",surface:"#2d353b",hover:"#343f44",border:"#3d484d",borderDim:"#343f44",codeBg:"#232a30",codeText:"#7fbbb3",scrollThumb:"#3d484d",clean:!0,green:"#a7c080",yellow:"#dbbc7f",red:"#e67e80",blue:"#7fbbb3",purple:"#d699b6",cyan:"#83c092"},office:{name:"Office",accent:"#c8a464",accentRgb:"200,164,100",dim:"#6e6050",text:"#b8ae9e",textBright:"#dcd4c6",bg:"#111010",panel:"#171514",surface:"#1e1b18",hover:"#262220",border:"#302b26",borderDim:"#231f1a",codeBg:"#13110e",codeText:"#907850",scrollThumb:"#342e26",clean:!0,green:"#7ab87a",yellow:"#d4a850",red:"#c06050",blue:"#6a9ec0",purple:"#a888b8",cyan:"#70b0a8"},"black-metal":{name:"Black Metal",accent:"#dd9999",accentRgb:"221,153,153",dim:"#486e6f",text:"#c1c1c1",textBright:"#e0e0e0",bg:"#000000",panel:"#0a0a0a",surface:"#141414",hover:"#1c1c1c",border:"#2a2a2a",borderDim:"#1a1a1a",codeBg:"#080808",codeText:"#a06666",scrollThumb:"#2a2a2a",clean:!0,green:"#486e6f",yellow:"#a06666",red:"#dd9999",blue:"#888888",purple:"#999999",cyan:"#aaaaaa"},owl:{name:"Owl",accent:"#da5b2c",accentRgb:"218,91,44",dim:"#5d595b",text:"#dedede",textBright:"#ffffff",bg:"#2f2b2c",panel:"#292526",surface:"#383434",hover:"#433e3f",border:"#4a4546",borderDim:"#383434",codeBg:"#292526",codeText:"#b1b1b1",scrollThumb:"#4a4546",clean:!0,green:"#989898",yellow:"#cacaca",red:"#da5b2c",blue:"#656565",purple:"#b1b1b1",cyan:"#7f7f7f"},vague:{name:"Vague",accent:"#aeaed1",accentRgb:"174,174,209",dim:"#606079",text:"#cdcdcd",textBright:"#d7d7d7",bg:"#141415",panel:"#111112",surface:"#1e1e24",hover:"#252530",border:"#2e2e3a",borderDim:"#1e1e24",codeBg:"#111112",codeText:"#8ba9c1",scrollThumb:"#2e2e3a",clean:!0,green:"#7fa563",yellow:"#f3be7c",red:"#d8647e",blue:"#6e94b2",purple:"#bb9dbd",cyan:"#aeaed1"},"iceberg-dark":{name:"Iceberg Dark",accent:"#84a0c6",accentRgb:"132,160,198",dim:"#6b7089",text:"#c6c8d1",textBright:"#d2d4de",bg:"#161821",panel:"#12141b",surface:"#1e2132",hover:"#272b3d",border:"#333648",borderDim:"#1e2132",codeBg:"#12141b",codeText:"#89b8c2",scrollThumb:"#333648",clean:!0,green:"#b4be82",yellow:"#e2a478",red:"#e27878",blue:"#84a0c6",purple:"#a093c7",cyan:"#89b8c2"},slate:{name:"Slate",accent:"#6aaddf",accentRgb:"106,173,223",dim:"#606878",text:"#c0c8d4",textBright:"#d8dce4",bg:"#1e2228",panel:"#232830",surface:"#282e36",hover:"#303840",border:"#384048",borderDim:"#303840",codeBg:"#1c2026",codeText:"#70a0c8",scrollThumb:"#384450",clean:!0,green:"#48cc6a",yellow:"#e8b040",red:"#e04848",blue:"#6aaddf",purple:"#a78bfa",cyan:"#5ec4d0"}},a="#e8b040",o="#6a5c40",l="#c4b894",s="#e0d8c4",i="#c85a4a",c="#0c0a08",d="#100e0a",u="#181410",p="#2c2618",g="#1c1810",f="#8aac5a",m="#e8b040",h="#c85a4a",b="#6498b8";function y(e){var t;let n=null!=(t=r[e])?t:r["amber-noir"];if(a=n.accent,o=n.dim,l=n.text,s=n.textBright,i=n.red,c=n.bg,d=n.panel,u=n.surface,n.hover,p=n.border,g=n.borderDim,n.clean||n.accentRgb,n.clean||"0 0 6px ".concat(n.accent,"15, inset 0 0 6px ").concat(n.accent,"08"),n.clean||"0 0 12px ".concat(n.accent,"30, 0 0 4px ").concat(n.accent,"20"),f=n.green,m=n.yellow,h=n.red,b=n.blue,n.purple,n.cyan,"undefined"!=typeof document){let e=document.documentElement.style;e.setProperty("--term-bg",n.bg),e.setProperty("--term-panel",n.panel),e.setProperty("--term-surface",n.surface),e.setProperty("--term-hover",n.hover),e.setProperty("--term-border",n.border),e.setProperty("--term-border-dim",n.borderDim),e.setProperty("--term-text",n.text),e.setProperty("--term-text-bright",n.textBright),e.setProperty("--term-dim",n.dim),e.setProperty("--term-accent",n.accent),e.setProperty("--term-accent-rgb",n.accentRgb),e.setProperty("--term-green",n.accent),e.setProperty("--term-yellow",n.yellow),e.setProperty("--term-red",n.red),e.setProperty("--term-blue",n.blue),e.setProperty("--term-purple",n.purple),e.setProperty("--term-cyan",n.cyan),e.setProperty("--term-sem-green",n.green),e.setProperty("--term-sem-yellow",n.yellow),e.setProperty("--term-sem-red",n.red),e.setProperty("--term-sem-blue",n.blue),e.setProperty("--term-sem-purple",n.purple),e.setProperty("--term-sem-cyan",n.cyan),e.setProperty("--term-code-bg",n.codeBg),e.setProperty("--term-code-text",n.codeText),e.setProperty("--term-scroll-thumb",n.scrollThumb)}}let k='"Berkeley Mono", "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Code", "Menlo", monospace',x=13},5055:(e,t,n)=>{"use strict";n.d(t,{BN:()=>s,ZZ:()=>l,og:()=>c,vb:()=>i});var r=n(5195),a=n(1661);let o=null;function l(e){o=e}function s(){return null!==o}function i(e,t,n){if(!o)return[];let l=e.length,s=l>0?e[0].length:0,i=null!=n?n:s,c=[];for(let n=0;n<l;n++)for(let l=0;l<s;l++){if(e[n][l]!==r.nb.WALL)continue;let s=n*i+l,d=null==t?void 0:t[s],u=d?function(e,t,n,l){if(!o)return null;let s=n.length,i=s>0?n[0].length:0,c=0;t>0&&n[t-1][e]===r.nb.WALL&&(c|=1),e<i-1&&n[t][e+1]===r.nb.WALL&&(c|=2),t<s-1&&n[t+1][e]===r.nb.WALL&&(c|=4),e>0&&n[t][e-1]===r.nb.WALL&&(c|=8);let d=o[c];if(!d)return null;let u="wall-".concat(c,"-").concat(l.h,"-").concat(l.s,"-").concat(l.b,"-").concat(l.c);return{sprite:(0,a.LN)(u,d,{...l,colorize:!0}),offsetY:r.dn-d.length}}(l,n,e,d):function(e,t,n){if(!o)return null;let a=n.length,l=a>0?n[0].length:0,s=0;t>0&&n[t-1][e]===r.nb.WALL&&(s|=1),e<l-1&&n[t][e+1]===r.nb.WALL&&(s|=2),t<a-1&&n[t+1][e]===r.nb.WALL&&(s|=4),e>0&&n[t][e-1]===r.nb.WALL&&(s|=8);let i=o[s];return i?{sprite:i,offsetY:r.dn-i.length}:null}(l,n,e);u&&c.push({sprite:u.sprite,x:l*r.dn,y:n*r.dn+u.offsetY,zY:(n+1)*r.dn})}return c}function c(e){let{h:t,s:n,b:r,c:a}=e,o=.5;0!==a&&(o=.5+(100+a)/100*(o-.5)),0!==r&&(o+=r/200);let l=n/100*(1-Math.abs(2*(o=Math.max(0,Math.min(1,o)))-1)),s=t/60,i=l*(1-Math.abs(s%2-1)),c=0,d=0,u=0;s<1?(c=l,d=i,u=0):s<2?(c=i,d=l,u=0):s<3?(c=0,d=l,u=i):s<4?(c=0,d=i,u=l):s<5?(c=i,d=0,u=l):(c=l,d=0,u=i);let p=o-l/2,g=e=>Math.max(0,Math.min(255,Math.round((e+p)*255)));return"#".concat(g(c).toString(16).padStart(2,"0")).concat(g(d).toString(16).padStart(2,"0")).concat(g(u).toString(16).padStart(2,"0"))}},5149:(e,t,n)=>{"use strict";n.r(t),n.d(t,{clearConnection:()=>l,getConnection:()=>o,getGatewayHttpUrl:()=>s,saveConnection:()=>a});let r="office_connection";function a(e){sessionStorage.setItem(r,JSON.stringify(e)),"owner"!==e.role&&e.role||localStorage.setItem(r,JSON.stringify(e))}function o(){var e;let t=null!=(e=sessionStorage.getItem(r))?e:localStorage.getItem(r);if(!t)return null;try{return JSON.parse(t)}catch(e){return null}}function l(){sessionStorage.removeItem(r),localStorage.removeItem(r)}function s(){let e=o();return(null==e?void 0:e.wsUrl)?e.wsUrl.replace(/^ws(s?):\/\//,"http$1://"):window.location.origin}},5192:(e,t,n)=>{"use strict";n.d(t,{Ng:()=>h,J0:()=>g,S8:()=>b});var r=n(7334),a=n(138);let o=null,l=null,s=null,i=null,c=2e3;function d(){l&&(clearTimeout(l),l=null),o&&(o.onopen=null,o.onmessage=null,o.onclose=null,o.onerror=null,o.close(),o=null)}function u(e){if(!o||o.readyState!==WebSocket.OPEN)return void console.warn("[WS] Not connected, dropping command:",e.type);console.log("[WS] Sending command:",e.type,e),o.send(JSON.stringify(e))}let p=null;function g(e){p=e}let f=null,m=0;function h(e){y();let t=++m;if("ws"===e.mode&&e.wsUrl){var u,g;f="ws",u=e.wsUrl,g=e.sessionToken,d(),s=u,i=null!=g?g:null,c=2e3,function e(){if(!s)return;let t=new WebSocket(s);t.onopen=()=>{console.log("[WS] Connected"),c=2e3,t.readyState===WebSocket.OPEN&&i&&t.send(JSON.stringify({type:"AUTH",sessionToken:i})),a.hK.getState().setConnected(!0),t.readyState===WebSocket.OPEN&&(t.send(JSON.stringify({type:"PING"})),t.send(JSON.stringify({type:"LOAD_CHAT_HISTORY"})))},t.onmessage=e=>{try{let t=JSON.parse(e.data);if("AUTH_FAILED"===t.type){console.log("[WS] AUTH_FAILED — clearing connection and redirecting to /pair"),d(),s=null;let{clearConnection:e}=n(5149);e(),window.location.href="/pair";return}let o=r.Cq.parse(t);a.hK.getState().handleEvent(o)}catch(e){console.error("[WS] Invalid event:",e)}},t.onclose=()=>{console.log("[WS] Disconnected"),a.hK.getState().setConnected(!1),o===t&&s&&(o=null,console.log("[WS] Reconnecting in ".concat(c,"ms...")),l=setTimeout(e,c),c=Math.min(1.5*c,3e4))},t.onerror=()=>{},o=t}()}else"ably"===e.mode&&(f="ably",p?p.connect(e.machineId,e.sessionToken).catch(console.error):console.error("[Connection] Ably transport not registered"));return()=>{m===t&&y()}}function b(e){"ws"===f?u(e):"ably"===f?null==p||p.send(e):(console.warn("[Connection] No active transport, attempting WS fallback"),u(e))}function y(){"ws"===f?(s=null,d()):"ably"===f&&(null==p||p.disconnect()),f=null}},5195:(e,t,n)=>{"use strict";n.d(t,{JM:()=>s,Lp:()=>o,OP:()=>l,Pz:()=>r.BZ,Tj:()=>r.Tj,VF:()=>i,YK:()=>r.YK,dn:()=>r.dn,nb:()=>a,pX:()=>r.pX,wh:()=>r.wh});var r=n(2243);let a={WALL:0,FLOOR_1:1,FLOOR_2:2,FLOOR_3:3,FLOOR_4:4,FLOOR_5:5,FLOOR_6:6,FLOOR_7:7,VOID:8},o={IDLE:"idle",WALK:"walk",TYPE:"type"},l={DOWN:0,LEFT:1,RIGHT:2,UP:3},s={DESK:"desk",BOOKSHELF:"bookshelf",PLANT:"plant",COOLER:"cooler",WHITEBOARD:"whiteboard",CHAIR:"chair",PC:"pc",LAMP:"lamp",TS_DESK_WOOD:"ts-desk-wood",TS_DESK_GRAY:"ts-desk-gray",TS_TABLE_LONG:"ts-table-long",TS_BOOKSHELF:"ts-bookshelf",TS_CABINET:"ts-cabinet",TS_BOOKSHELF_COLOR:"ts-bookshelf-color",TS_COUCH_RED:"ts-couch-red",TS_COUCH_BLUE:"ts-couch-blue",TS_CHAIR_GREEN:"ts-chair-green",TS_CHAIR_OFFICE:"ts-chair-office",TS_COMPUTER:"ts-computer",TS_LAPTOP:"ts-laptop",TS_MONITOR:"ts-monitor",TS_PHONE:"ts-phone",TS_PLANT:"ts-plant",TS_PLANT_TALL:"ts-plant-tall",TS_PAINTING:"ts-painting",TS_FRAME_SMALL:"ts-frame-small",TS_CLOCK:"ts-clock",TS_COOLER:"ts-cooler",TS_BOXES:"ts-boxes",TS_WHITEBOARD:"ts-whiteboard"},i={SELECT:"select",TILE_PAINT:"tile_paint",WALL_PAINT:"wall_paint",ERASE:"erase",FURNITURE_PLACE:"furniture_place",FURNITURE_PICK:"furniture_pick",EYEDROPPER:"eyedropper"}},7334:(e,t,n)=>{"use strict";n.d(t,{Cq:()=>eT});var r=n(6353);let a=r.k5(["idle","working","waiting_approval","done","error"]),o=r.k5(["low","med","high"]),l=r.k5(["yes","no"]),s=r.k5(["create","design","execute","complete"]);r.k5(["owner","collaborator","spectator"]);let i=r.Ik({type:r.eu("RUN_TASK"),agentId:r.Yj(),taskId:r.Yj(),prompt:r.Yj(),repoPath:r.Yj().optional(),name:r.Yj().optional(),role:r.Yj().optional(),personality:r.Yj().optional(),backend:r.Yj().optional(),teamId:r.Yj().optional()}),c=r.Ik({type:r.eu("APPROVAL_DECISION"),approvalId:r.Yj(),decision:l}),d=r.Ik({type:r.eu("CANCEL_TASK"),agentId:r.Yj(),taskId:r.Yj()}),u=r.Ik({type:r.eu("PING")}),p=r.Ik({type:r.eu("CREATE_AGENT"),agentId:r.Yj(),name:r.Yj(),role:r.Yj(),palette:r.ai().optional(),personality:r.Yj().optional(),backend:r.Yj().optional(),model:r.Yj().optional(),teamId:r.Yj().optional(),workDir:r.Yj().optional(),skillFiles:r.YO(r.Yj()).optional()}),g=r.Ik({type:r.eu("FIRE_AGENT"),agentId:r.Yj()}),f=r.Ik({type:r.eu("OPEN_FILE"),path:r.Yj()}),m=r.Ik({type:r.eu("CREATE_TEAM"),leadId:r.Yj(),memberIds:r.YO(r.Yj()),backends:r.g1(r.Yj(),r.Yj()).optional(),workDir:r.Yj().optional()}),h=r.Ik({type:r.eu("SERVE_PREVIEW"),filePath:r.Yj().optional(),previewCmd:r.Yj().optional(),previewPort:r.ai().optional(),cwd:r.Yj().optional()}),b=r.Ik({type:r.eu("STOP_TEAM")}),y=r.Ik({type:r.eu("FIRE_TEAM")}),k=r.Ik({type:r.eu("KILL_EXTERNAL"),agentId:r.Yj()}),x=r.Ik({type:r.eu("APPROVE_PLAN"),agentId:r.Yj()}),v=r.Ik({type:r.eu("END_PROJECT"),agentId:r.Yj(),name:r.Yj().optional(),role:r.Yj().optional(),personality:r.Yj().optional(),backend:r.Yj().optional()}),w=r.Ik({type:r.eu("SAVE_AGENT_DEF"),agent:r.Ik({id:r.Yj(),name:r.Yj(),role:r.Yj(),skills:r.Yj(),personality:r.Yj(),palette:r.ai(),isBuiltin:r.zM(),teamRole:r.k5(["dev","reviewer","leader"]),skillFiles:r.YO(r.Yj()).optional()})}),T=r.Ik({type:r.eu("LIST_SKILLS")}),S=r.Ik({type:r.eu("SAVE_SKILL"),name:r.Yj(),content:r.Yj()}),E=r.Ik({type:r.eu("DELETE_SKILL"),name:r.Yj()}),I=r.Ik({type:r.eu("DELETE_AGENT_DEF"),agentDefId:r.Yj()}),C=r.Ik({type:r.eu("PICK_FOLDER"),requestId:r.Yj()}),A=r.Ik({type:r.eu("UPLOAD_IMAGE"),requestId:r.Yj(),data:r.Yj(),filename:r.Yj()}),D=r.Ik({type:r.eu("SUGGEST"),text:r.Yj().max(500),author:r.Yj().max(30).optional()}),j=r.Ik({type:r.eu("RATE_PROJECT"),projectId:r.Yj().optional(),ratings:r.g1(r.Yj(),r.ai().min(1).max(5))}),R=r.Ik({type:r.eu("LIST_PROJECTS")}),M=r.Ik({type:r.eu("LOAD_PROJECT"),projectId:r.Yj()}),O=r.Ik({type:r.eu("GET_CONFIG")}),L=r.Ik({type:r.eu("SAVE_CONFIG"),telegramBotToken:r.Yj().optional(),telegramAllowedUsers:r.YO(r.Yj()).optional(),worktreeEnabled:r.zM().optional(),autoMergeEnabled:r.zM().optional(),tunnelToken:r.Yj().optional(),tunnelBaseUrl:r.Yj().optional()}),P=r.Ik({type:r.eu("MERGE_WORKTREE"),agentId:r.Yj()}),_=r.Ik({type:r.eu("UNDO_MERGE"),agentId:r.Yj()}),W=r.Ik({type:r.eu("REVERT_WORKTREE"),agentId:r.Yj()}),Y=r.Ik({type:r.eu("TOGGLE_AUTO_MERGE"),agentId:r.Yj(),autoMerge:r.zM()}),F=r.Ik({type:r.eu("REQUEST_REVIEW"),reviewerAgentId:r.Yj(),sourceAgentId:r.Yj(),changedFiles:r.YO(r.Yj()),projectDir:r.Yj().optional(),entryFile:r.Yj().optional(),summary:r.Yj().optional(),backend:r.Yj().optional()}),N=r.Ik({type:r.eu("SYNC_CHAT_HISTORY"),data:r.Yj()}),H=r.Ik({type:r.eu("LOAD_CHAT_HISTORY")});r.gM("type",[i,c,d,u,p,g,f,m,h,b,y,k,x,v,w,I,C,A,D,j,R,M,F,P,_,W,Y,O,L,T,S,E,N,H]);let U=r.Ik({type:r.eu("AGENT_STATUS"),agentId:r.Yj(),status:a,details:r.Yj().optional()}),B=r.Ik({type:r.eu("TASK_STARTED"),agentId:r.Yj(),taskId:r.Yj(),prompt:r.Yj()}),G=r.Ik({type:r.eu("LOG_APPEND"),agentId:r.Yj(),taskId:r.Yj(),stream:r.k5(["stdout","stderr"]),chunk:r.Yj()}),z=r.Ik({type:r.eu("APPROVAL_NEEDED"),approvalId:r.Yj(),agentId:r.Yj(),taskId:r.Yj(),title:r.Yj(),summary:r.Yj(),riskLevel:o}),K=r.Ik({inputTokens:r.ai(),outputTokens:r.ai()}),V=r.Ik({summary:r.Yj(),fullOutput:r.Yj().optional(),changedFiles:r.YO(r.Yj()),diffStat:r.Yj(),testResult:r.k5(["passed","failed","unknown"]),nextSuggestion:r.Yj().optional(),previewUrl:r.Yj().optional(),previewPath:r.Yj().optional(),entryFile:r.Yj().optional(),projectDir:r.Yj().optional(),previewCmd:r.Yj().optional(),previewPort:r.ai().optional(),tokenUsage:K.optional()}),X=r.Ik({type:r.eu("TASK_DONE"),agentId:r.Yj(),taskId:r.Yj(),result:V,isFinalResult:r.zM().optional()}),J=r.Ik({type:r.eu("TASK_FAILED"),agentId:r.Yj(),taskId:r.Yj(),error:r.Yj()}),$=r.Ik({type:r.eu("TASK_DELEGATED"),fromAgentId:r.Yj(),toAgentId:r.Yj(),taskId:r.Yj(),prompt:r.Yj()}),Z=r.Ik({type:r.eu("AGENT_CREATED"),agentId:r.Yj(),name:r.Yj(),role:r.Yj(),palette:r.ai().optional(),personality:r.Yj().optional(),backend:r.Yj().optional(),isTeamLead:r.zM().optional(),teamId:r.Yj().optional(),isExternal:r.zM().optional(),pid:r.ai().optional(),cwd:r.Yj().optional(),workDir:r.Yj().optional(),startedAt:r.ai().optional(),autoMerge:r.zM().optional(),pendingMerge:r.zM().optional(),lastMergeCommit:r.Yj().nullable().optional(),lastMergeMessage:r.Yj().nullable().optional(),undoCount:r.ai().optional()}),q=r.Ik({type:r.eu("AGENT_FIRED"),agentId:r.Yj()}),Q=r.Ik({type:r.eu("TASK_RESULT_RETURNED"),fromAgentId:r.Yj(),toAgentId:r.Yj(),taskId:r.Yj(),summary:r.Yj(),success:r.zM()}),ee=r.Ik({type:r.eu("TEAM_CHAT"),fromAgentId:r.Yj(),toAgentId:r.Yj().optional(),message:r.Yj(),messageType:r.k5(["delegation","result","status","warning"]),taskId:r.Yj().optional(),timestamp:r.ai()}),et=r.Ik({type:r.eu("TASK_QUEUED"),agentId:r.Yj(),taskId:r.Yj(),prompt:r.Yj(),position:r.ai()}),en=r.Ik({type:r.eu("TOKEN_UPDATE"),agentId:r.Yj(),inputTokens:r.ai(),outputTokens:r.ai()}),er=r.Ik({type:r.eu("TOOL_ACTIVITY"),agentId:r.Yj(),text:r.Yj()}),ea=r.Ik({type:r.eu("TEAM_PHASE"),teamId:r.Yj(),phase:s,leadAgentId:r.Yj()}),eo=r.Ik({type:r.eu("SUGGESTION"),text:r.Yj(),author:r.Yj(),timestamp:r.ai()}),el=r.Ik({type:r.eu("AGENT_DEFS"),agents:r.YO(r.Ik({id:r.Yj(),name:r.Yj(),role:r.Yj(),skills:r.Yj(),personality:r.Yj(),palette:r.ai(),isBuiltin:r.zM(),teamRole:r.k5(["dev","reviewer","leader"]),skillFiles:r.YO(r.Yj()).optional()}))}),es=r.Ik({type:r.eu("SKILL_LIST"),skills:r.YO(r.Ik({name:r.Yj(),title:r.Yj(),isFolder:r.zM()}))}),ei=r.Ik({type:r.eu("AGENTS_SYNC"),agentIds:r.YO(r.Yj())}),ec=r.Ik({entryFile:r.Yj().optional(),projectDir:r.Yj().optional(),previewCmd:r.Yj().optional(),previewPort:r.ai().optional()}).optional(),ed=r.Ik({type:r.eu("PROJECT_LIST"),projects:r.YO(r.Ik({id:r.Yj(),name:r.Yj(),startedAt:r.ai(),endedAt:r.ai(),agentNames:r.YO(r.Yj()),eventCount:r.ai(),preview:ec,tokenUsage:r.Ik({inputTokens:r.ai(),outputTokens:r.ai()}).optional(),ratings:r.g1(r.Yj(),r.ai()).optional()}))}),eu=r.Ik({type:r.eu("PROJECT_DATA"),projectId:r.Yj(),name:r.Yj(),startedAt:r.ai(),endedAt:r.ai(),events:r.YO(r.bz())}),ep=r.Ik({type:r.eu("PREVIEW_READY"),url:r.Yj()}),eg=r.Ik({type:r.eu("FOLDER_PICKED"),requestId:r.Yj(),path:r.Yj()}),ef=r.Ik({type:r.eu("IMAGE_UPLOADED"),requestId:r.Yj(),path:r.Yj()}),em=r.Ik({type:r.eu("WORKTREE_READY"),agentId:r.Yj(),taskId:r.Yj(),branch:r.Yj()}),eh=r.Ik({type:r.eu("WORKTREE_MERGED"),agentId:r.Yj(),branch:r.Yj(),success:r.zM(),commitHash:r.Yj().optional(),commitMessage:r.Yj().optional(),undoCount:r.ai().optional()}),eb=r.Ik({type:r.eu("WORKTREE_REVERTED"),agentId:r.Yj(),success:r.zM(),commitId:r.Yj().optional(),commitsAhead:r.ai(),message:r.Yj().optional()}),ey=r.Ik({type:r.eu("AUTO_MERGE_UPDATED"),agentId:r.Yj(),autoMerge:r.zM(),lastMergeCommit:r.Yj().nullable().optional(),lastMergeMessage:r.Yj().nullable().optional(),undoCount:r.ai().optional()}),ek=r.Ik({type:r.eu("BACKENDS_AVAILABLE"),backends:r.YO(r.Yj())}),ex=r.Ik({type:r.eu("CONFIG_LOADED"),telegramBotToken:r.Yj().optional(),telegramAllowedUsers:r.YO(r.Yj()).optional(),telegramConnected:r.zM().optional(),worktreeEnabled:r.zM().optional(),autoMergeEnabled:r.zM().optional(),tunnelBaseUrl:r.Yj().optional(),tunnelToken:r.Yj().optional(),tunnelRunning:r.zM().optional()}),ev=r.Ik({type:r.eu("CONFIG_SAVED"),success:r.zM(),message:r.Yj(),telegramConnected:r.zM().optional(),tunnelRunning:r.zM().optional()}),ew=r.Ik({type:r.eu("CHAT_HISTORY_LOADED"),data:r.Yj()}),eT=r.gM("type",[ei,U,B,G,z,X,J,$,Z,q,Q,ee,et,en,er,ea,el,eo,ed,eu,ep,eg,ef,ek,ex,ev,em,eh,eb,ey,es,ew]);[{palette:3,name:"Rex",role:"Senior Developer",description:"General-purpose dev, any language/framework",personality:""},{palette:0,name:"Alex",role:"Frontend Developer",description:"UI, React/Vue/Next.js, CSS, accessibility",personality:""},{palette:1,name:"Mia",role:"Backend Architect",description:"APIs, databases, system design, cloud",personality:""},{palette:2,name:"Leo",role:"Rapid Prototyper",description:"MVP, proof-of-concept, fast iteration",personality:""},{palette:4,name:"Nova",role:"UI Designer",description:"Design systems, spacing, color, accessibility",personality:""},{palette:6,name:"Luna",role:"Product Manager",description:"PRD, prioritization, user stories, outcomes",personality:""},{palette:5,name:"Marcus",role:"Team Lead",description:"Creative direction, planning, delegation",personality:"",isLeader:!0},{palette:7,name:"Sophie",role:"Code Reviewer",description:"Code review, bugs, security, quality",personality:"",isReviewer:!0}].findIndex(e=>e.isLeader)},7580:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MdContent:()=>f,SysMsg:()=>m,TokenBadge:()=>u,default:()=>k});var r=n(206),a=n(1406),o=n(461),l=n(1852),s=n(5192),i=n(4932),c=n(7877),d=n(7821);function u(e){let{inputTokens:t,outputTokens:n}=e;return 0===t&&0===n?null:(0,r.jsxs)("span",{style:{fontSize:i.Z8,padding:"1px 4px",color:i.lR,fontFamily:i.Rw,whiteSpace:"nowrap",opacity:.55,fontVariantNumeric:"tabular-nums"},title:"Input: ".concat(t.toLocaleString()," / Output: ").concat(n.toLocaleString()),children:["↑",(0,c.ap)(t)," ","↓",(0,c.ap)(n)]})}function p(e){let{text:t}=e;return(0,r.jsx)(r.Fragment,{children:t.split("\n").map((e,t)=>{let n="inherit",a="transparent";return e.startsWith("+")?(n=i.$C,a="".concat(i.$C,"08")):e.startsWith("-")?(n=i.v_,a="".concat(i.v_,"08")):e.startsWith("@@")&&(n=i.Y0),(0,r.jsx)("span",{style:{display:"block",color:n,backgroundColor:a,padding:"0 6px",margin:"0 -6px",borderRadius:1},children:e},t)})})}let g={p(e){let{children:t}=e;return(0,r.jsx)("div",{style:{marginBottom:8},children:t})},pre(e){let{children:t}=e;return(0,r.jsx)("div",{style:{overflowX:"auto",margin:"8px 0",WebkitOverflowScrolling:"touch"},children:t})},code(e){var t,n;let{className:a,children:o,...l}=e,c=String(o).replace(/\n$/,""),d=null!=(t=null==a?void 0:a.replace("language-",""))?t:"",u=(null==a?void 0:a.includes("language-"))||c.includes("\n"),g="diff"===d,f=c.match(/^open\s+(\/\S+)/),m=f?null:c.match(/^(\/[\w./-]+\.\w+)$/),h=null!=(n=null==f?void 0:f[1])?n:null==m?void 0:m[1];return h?(0,r.jsx)("pre",{onClick:()=>(0,s.S8)({type:"OPEN_FILE",path:h}),style:{padding:"8px 10px",cursor:"pointer",display:"flex",alignItems:"center",gap:6,whiteSpace:"pre-wrap",wordBreak:"break-all"},title:"Click to open",children:(0,r.jsx)("code",{...l,children:c})}):u?(0,r.jsxs)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",position:"relative"},children:[d&&(0,r.jsx)("span",{style:{position:"absolute",top:-1,right:6,fontSize:i.Z8,color:i.Y0,fontFamily:"inherit",letterSpacing:"0.04em",userSelect:"none",pointerEvents:"none"},children:d}),(0,r.jsx)("code",{...l,children:g?(0,r.jsx)(p,{text:c}):o})]}):(0,r.jsx)("code",{...l,children:o})},table(e){let{children:t}=e;return(0,r.jsx)("div",{style:{overflowX:"auto",margin:"8px 0",WebkitOverflowScrolling:"touch"},children:(0,r.jsx)("table",{style:{borderCollapse:"collapse",width:"100%"},children:t})})},a(e){let{href:t,children:n}=e;return(0,r.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",style:{wordBreak:"break-all"},children:n})}},f=(0,a.memo)(function(e){let{text:t}=e;return(0,r.jsx)(o.oz,{urlTransform:e=>e,remarkPlugins:[l.A],components:g,children:t.replace(/(https?:\/\/[^\s)>\]]+)/g,"[$1]($1)")})});function m(e){let{ts:t,tag:n,text:o,firstLine:l,isLong:s,isError:c}=e,[d,u]=(0,a.useState)(!1),p=c?i.Ec:i.Y0;return(0,r.jsxs)("div",{className:"term-msg",style:{marginBottom:2,fontSize:i.Z8,fontFamily:i.Rw,lineHeight:1.7,color:i.Y0,padding:"1px 0"},children:[(0,r.jsx)("span",{className:"term-ts",style:{color:i.Y0,marginRight:6},children:t}),s&&(0,r.jsx)("span",{onClick:()=>u(!d),style:{color:c?i.Ec:i.Y0,cursor:"pointer",marginRight:4},children:d?"▾":"▸"}),(0,r.jsx)("span",{style:{color:c?i.Ec:i.Y0,marginRight:6},children:n}),(0,r.jsx)("span",{style:{color:p,wordBreak:"break-word"},className:"chat-markdown",children:s&&!d?(0,r.jsx)("span",{children:l}):(0,r.jsx)(f,{text:o})})]})}function h(e){let{result:t,onReview:n,detectedBackends:o}=e,[l,s]=(0,a.useState)(!1),c=(0,a.useRef)(null);return(0,a.useEffect)(()=>{if(!l)return;let e=e=>{c.current&&!c.current.contains(e.target)&&s(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[l]),(0,r.jsxs)("div",{ref:c,style:{position:"relative",display:"inline-block"},children:[(0,r.jsxs)("button",{className:"term-btn",onClick:()=>s(!l),style:y,children:["review ",l?"▴":"▾"]}),l&&(0,r.jsxs)("div",{style:{position:"absolute",bottom:"100%",left:0,marginBottom:4,zIndex:50,backgroundColor:i.gc,border:"1px solid ".concat(i.KD),minWidth:150,boxShadow:"0 4px 12px rgba(0,0,0,0.4)"},children:[(0,r.jsx)("div",{style:{padding:"4px 8px",color:i.Y0,fontFamily:i.Rw,fontSize:i.Z8,letterSpacing:"0.05em",borderBottom:"1px solid ".concat(i.KD)},children:"SELECT AI"}),d.GN.map(e=>{let a=0===o.length||o.includes(e.id);return(0,r.jsxs)("button",{disabled:!a,onClick:()=>{a&&(s(!1),n(t,e.id))},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"6px 10px",border:"none",cursor:a?"pointer":"not-allowed",backgroundColor:"transparent",textAlign:"left",fontFamily:i.Rw,fontSize:i.Z8,color:a?i.lR:i.Y0,opacity:a?1:.4},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=i.nY},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent"},children:[(0,r.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",backgroundColor:a?i.$C:i.Y0,flexShrink:0}}),(0,r.jsx)("span",{children:e.name})]},e.id)})]})]})}let b={color:"var(--term-accent)",border:"1px solid color-mix(in srgb, var(--term-accent) 55%, transparent)",padding:"3px 10px",fontSize:i.Z8,fontFamily:i.Rw,backgroundColor:"transparent",transition:"border-color 0.15s ease, color 0.15s ease",display:"inline-block",verticalAlign:"middle",letterSpacing:"0.02em",borderRadius:4,cursor:"pointer"},y={...b,color:"var(--term-text)",border:"1px solid color-mix(in srgb, var(--term-text) 40%, transparent)"},k=(0,a.memo)(function(e){var t,n,a,o,l,d,u,p,g,y,k;let{msg:x,agentName:v,onPreview:w,onReview:T,isTeamLead:S,isTeamMember:E,teamPhase:I,detectedBackends:C}=e,A=new Date(x.timestamp).toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",second:"2-digit"}),D={marginBottom:4,fontSize:i.Z8,fontFamily:i.Rw,lineHeight:1.7};if("user"===x.role)return x.text.startsWith("[From ")&&x.text.length>80?(0,r.jsx)(m,{ts:A,tag:"task",text:x.text,firstLine:x.text.slice(0,80)+"...",isLong:!0}):(0,r.jsxs)("div",{className:"term-msg",style:{...D,marginTop:12,marginBottom:8,borderLeft:"2px solid ".concat(i.KD),padding:"6px 12px"},children:[(0,r.jsx)("span",{className:"term-ts",style:{color:i.Y0,marginRight:6},children:A}),(0,r.jsx)("span",{style:{color:i.DM,opacity:.7},children:"> "}),(0,r.jsx)("span",{style:{color:i.lR,wordBreak:"break-word"},children:(0,c.cE)(x.text)})]});if("system"===x.role){let e=x.text.startsWith("Delegated to "),t=x.text.startsWith("Result from "),n=x.text.startsWith("Task queued "),a=/^(ERROR|error|Error)[:\s]|not found\b|failed\b|limit\b|denied\b/i.test(x.text)&&!e&&!t&&!n,o=x.text.length>80,l=o?x.text.slice(0,80)+"...":x.text;return(0,r.jsx)(m,{ts:A,tag:e?"delegate":t?"result":n?"queued":a?"error":"sys",text:x.text,firstLine:l,isLong:o,isError:a})}let j=x.id.endsWith("-stream"),R=!!((null==(t=x.result)?void 0:t.fullOutput)&&x.result.fullOutput!==x.text&&x.result.fullOutput.length>x.text.length+20),M=x.text.match(/\[PLAN\]([\s\S]*?)\[\/PLAN\]/i),O=null==M||null==(n=M[1])?void 0:n.trim(),L=O?x.text.replace(/\[PLAN\][\s\S]*?\[\/PLAN\]/i,"").trim():null,P=R&&null!=(o=null==(a=x.result)?void 0:a.fullOutput)?o:x.text;if(j)return x.text?(0,r.jsxs)("div",{style:{...D,padding:"2px 0"},children:[(0,r.jsx)("span",{className:"term-ts",style:{color:i.Y0,marginRight:6},children:A}),(0,r.jsx)("span",{style:{color:i.Y0},children:null!=v?v:"agent"}),(0,r.jsx)("div",{style:{marginTop:2,color:i.lR,wordBreak:"break-word"},className:"chat-markdown",children:(0,r.jsx)(f,{text:x.text})})]}):(0,r.jsxs)("div",{style:{...D,padding:"2px 0"},children:[(0,r.jsx)("span",{className:"term-ts",style:{color:i.Y0,marginRight:6},children:A}),(0,r.jsx)("span",{style:{color:i.Y0},children:null!=v?v:"agent"}),(0,r.jsx)("span",{style:{color:i.Y0,marginLeft:8},className:"working-dots",children:(0,r.jsx)("span",{className:"working-dots-mid"})})]});if(S&&x.isFinalResult&&x.result){let e=x.result,t=e.summary.replace(/ENTRY_FILE:\s*.+/gi,"").replace(/PROJECT_DIR:\s*.+/gi,"").replace(/SUMMARY:\s*/gi,"").trim(),n=null!=(g=e.entryFile)?g:null==(d=e.summary.match(/ENTRY_FILE:\s*(.+)/i))||null==(l=d[1])?void 0:l.trim(),a=null!=(y=e.projectDir)?y:null==(p=e.summary.match(/PROJECT_DIR:\s*(.+)/i))||null==(u=p[1])?void 0:u.trim(),o=null!=(k=e.changedFiles)?k:[];return(0,r.jsxs)("div",{className:"term-msg",style:{...D,marginTop:10,borderTop:"1px solid ".concat(i.JH),paddingTop:10},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,r.jsx)("span",{className:"term-ts",style:{color:i.Y0},children:A}),(0,r.jsx)("span",{style:{color:i.$C},children:"done"}),x.durationMs&&x.durationMs>1e3&&(0,r.jsx)("span",{style:{color:i.Y0,fontFamily:i.Rw},children:(0,c.a3)(x.durationMs)})]}),(0,r.jsx)("div",{style:{color:i.lR,wordBreak:"break-word"},className:"chat-markdown",children:(0,r.jsx)(f,{text:t||"completed."})}),(a||n)&&(0,r.jsxs)("div",{style:{color:i.Y0,marginTop:4,display:"flex",gap:8,alignItems:"center"},children:[a&&(0,r.jsx)("span",{className:"term-path-scroll",children:a}),n&&(0,r.jsx)("span",{onClick:()=>(0,s.S8)({type:"OPEN_FILE",path:n}),style:{cursor:"pointer",color:i.DM},children:n})]}),o.length>0&&(0,r.jsxs)("div",{style:{color:i.Y0,marginTop:2},children:[o.length," files changed"]}),(0,r.jsxs)("div",{style:{display:"flex",gap:4,marginTop:8},children:[(0,c.P9)(e)&&w&&(0,r.jsx)("button",{className:"term-btn",onClick:()=>{let t=(0,c.iv)(e);t&&(0,s.S8)(t);let n=(0,c.vG)(e);n&&w(n)},style:b,children:"preview"}),!(0,c.P9)(e)&&(0,c.iv)(e)&&(0,r.jsx)("button",{className:"term-btn",onClick:()=>{let t=(0,c.iv)(e);t&&(0,s.S8)(t)},style:b,children:"launch"})]})]})}return(0,r.jsxs)("div",{className:"term-msg",style:{...D,paddingTop:8,marginTop:6},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[(0,r.jsx)("span",{className:"term-ts",style:{color:i.Y0},children:A}),(0,r.jsx)("span",{style:{color:i.Y0},children:null!=v?v:"agent"})]}),(0,r.jsxs)("div",{style:{color:i.lR,wordBreak:"break-word"},className:"chat-markdown",children:[O?(0,r.jsxs)(r.Fragment,{children:[L&&(0,r.jsx)("div",{className:"chat-markdown",children:(0,r.jsx)(f,{text:L})}),(0,r.jsxs)("div",{style:{marginTop:6,paddingLeft:12,borderLeft:"2px solid ".concat(i.KD)},children:[(0,r.jsx)("div",{style:{color:i.Y0,marginBottom:4,letterSpacing:"0.04em"},children:"PLAN"}),(0,r.jsx)("div",{className:"chat-markdown",children:(0,r.jsx)(f,{text:O})})]})]}):(0,r.jsx)(f,{text:P}),x.result&&x.result.changedFiles.length>0&&!O&&(0,r.jsxs)("div",{style:{color:i.Y0,marginTop:4},children:[x.result.changedFiles.length," files: ",x.result.changedFiles.slice(0,3).join(", "),x.result.changedFiles.length>3?" +".concat(x.result.changedFiles.length-3):""]}),x.result&&!E&&!S&&((0,c.P9)(x.result)||T&&x.result.changedFiles.length>0)&&(0,r.jsxs)("div",{style:{display:"flex",gap:4,marginTop:8,alignItems:"center"},children:[(0,c.P9)(x.result)&&w&&(0,r.jsx)("button",{className:"term-btn",onClick:()=>{let e=x.result,t=(0,c.iv)(e);t&&(0,s.S8)(t);let n=(0,c.vG)(e);n&&w(n)},style:b,children:"preview"}),T&&x.result.changedFiles.length>0&&(0,r.jsx)(h,{result:x.result,onReview:T,detectedBackends:null!=C?C:[]})]}),x.durationMs&&x.durationMs>1e3&&(0,r.jsx)("div",{style:{color:i.Y0,marginTop:4,fontFamily:i.Rw},children:(0,c.a3)(x.durationMs)})]})]})})},7821:(e,t,n)=>{"use strict";n.d(t,{DY:()=>a,GN:()=>l,OG:()=>o,Qw:()=>c,XB:()=>i,eU:()=>s,os:()=>d});var r=n(4932);function a(){return{idle:{color:r.Y0,label:"Idle"},working:{color:r.KE,label:"Working..."},waiting_approval:{color:r.O2,label:"Needs Approval"},done:{color:r.$C,label:"Done"},error:{color:r.v_,label:"Error"}}}a();let o=[{key:"creativity",label:"Creativity",icon:"✦"},{key:"visual",label:"Visual",icon:"◈"},{key:"interaction",label:"Interaction",icon:"⚡"},{key:"completeness",label:"Completeness",icon:"●"},{key:"engagement",label:"Engagement",icon:"♥"}],l=[{id:"claude",name:"Claude",color:"#d97706"},{id:"codex",name:"Codex",color:"#a855f7"},{id:"gemini",name:"Gemini",color:"#3b82f6"},{id:"aider",name:"Aider",color:"#22c55e"},{id:"opencode",name:"OpenCode",color:"#06b6d4"}],s=[{label:"Friendly & Casual",value:"You speak in a friendly, casual, encouraging, and natural tone."},{label:"Professional & Concise",value:"You speak formally, professionally, in an organized and concise manner."},{label:"Aggressive & Fast",value:"You are aggressive, action-first, always pursuing speed and efficiency."}],i=[{category:"dev",label:"Development",agents:[{name:"Software Architect",desc:"System design, domain-driven design, architectural patterns"},{name:"UX Architect",desc:"UX foundations, CSS systems, layout, component architecture"}]},{category:"game",label:"Game Dev",agents:[{name:"Game Designer",desc:"Gameplay loops, economy balancing, GDD authorship"},{name:"Level Designer",desc:"Spatial storytelling, pacing, encounter design"},{name:"Narrative Designer",desc:"Branching dialogue, lore architecture, environmental storytelling"},{name:"Game Audio Engineer",desc:"FMOD/Wwise, adaptive music, spatial audio"},{name:"Unity Developer",desc:"Unity engine, C#, ScriptableObjects, ECS"},{name:"Godot Developer",desc:"Godot 4, GDScript, node-based architecture"},{name:"Three.js Developer",desc:"3D web graphics, WebGL, shaders, scene management"},{name:"PixiJS Developer",desc:"2D web graphics, sprites, particle systems, WebGL"}]},{category:"other",label:"Specialist",agents:[{name:"QA Engineer",desc:"Test strategy, test pyramid, edge case analysis"},{name:"SRE (Site Reliability Engineer)",desc:"SLOs, error budgets, observability, toil reduction"},{name:"Security Engineer",desc:"Threat modeling, OWASP, STRIDE, secure code review"},{name:"DevOps Engineer",desc:"CI/CD pipelines, deployment strategies, infrastructure as code"},{name:"Technical Writer",desc:"API docs, README structure, changelog format"},{name:"Data Engineer",desc:"Schema design, migrations, ETL pipelines, data quality"}]}],c=new Map;for(let e of i)for(let t of e.agents)c.set(t.name,t.desc);let d=i.flatMap(e=>e.agents.map(e=>e.name))},7877:(e,t,n)=>{"use strict";n.d(t,{$$:()=>s,$5:()=>u,P9:()=>g,SD:()=>x,a3:()=>y,ap:()=>h,cE:()=>function e(t){let n;if("string"!=typeof t)return Array.isArray(t)?t.map((t,n)=>"string"==typeof t?e(t):t):t;let o=[];for(i.lastIndex=0;null!==(n=i.exec(t));)o.push({start:n.index,end:n.index+n[0].length,url:n[0],type:"url"});for(c.lastIndex=0;null!==(n=c.exec(t));){let e=n[1],t=n.index+n[0].indexOf(e);o.some(e=>t>=e.start&&t<e.end)||o.push({start:t,end:t+e.length,url:e,type:"file"})}if(0===o.length)return t;o.sort((e,t)=>e.start-t.start);let s=[],d=0;for(let e of o)e.start>d&&s.push(t.slice(d,e.start)),"url"===e.type?s.push(r.createElement("a",{key:e.start,href:e.url,target:"_blank",rel:"noopener noreferrer",style:{color:l.lR}},e.url)):s.push(r.createElement("span",{key:e.start,onClick:()=>(0,a.S8)({type:"OPEN_FILE",path:e.url}),style:{color:l.lR,cursor:"pointer"},title:"Click to open"},e.url)),d=e.end;return d<t.length&&s.push(t.slice(d)),s},iv:()=>m,vG:()=>p});var r=n(1406),a=n(5192),o=n(5149),l=n(4932);function s(e){return"Enter"===e.key&&!e.shiftKey&&!e.ctrlKey&&!e.nativeEvent.isComposing&&229!==e.keyCode}let i=/https?:\/\/[^\s)>\]]+/g,c=/(?:^|\s)(\/[\w./-]+\.\w+)/g;function d(){return(0,o.getGatewayHttpUrl)().replace(/\/$/,"")}function u(e){let t=d();return/^https?:\/\/(?:localhost|127\.0\.0\.1):9198(?:\/|$|\?|#)/.test(e)?e.replace(/^https?:\/\/(?:localhost|127\.0\.0\.1):9198/,"".concat(t,"/preview-app")):/^https?:\/\/(?:localhost|127\.0\.0\.1):9199(?:\/|$|\?|#)/.test(e)?e.replace(/^https?:\/\/(?:localhost|127\.0\.0\.1):9199/,"".concat(t,"/preview-static")):e}function p(e){let t=d();return e.previewUrl?u(e.previewUrl):e.previewCmd&&e.previewPort?"".concat(t,"/preview-app"):e.previewPath?"".concat(t,"/preview-static/").concat(e.previewPath.split("/").pop()):e.entryFile&&/\.html?$/i.test(e.entryFile)?"".concat(t,"/preview-static/").concat(e.entryFile.split("/").pop()):void 0}function g(e){return!!(e.previewUrl||e.previewCmd&&e.previewPort||e.previewPath||e.entryFile&&/\.html?$/i.test(e.entryFile))}function f(e){if(e)return e.replace(/\*\*/g,"").replace(/`/g,"").replace(/^_+|_+$/g,"").trim()||void 0}function m(e){let t=f(e.previewCmd),n=f(e.entryFile),r=f(e.previewPath);return t&&e.previewPort?{type:"SERVE_PREVIEW",previewCmd:t,previewPort:e.previewPort,cwd:e.projectDir}:r?{type:"SERVE_PREVIEW",filePath:r}:n&&/\.html?$/i.test(n)&&e.projectDir?{type:"SERVE_PREVIEW",filePath:e.projectDir+"/"+n}:t?{type:"SERVE_PREVIEW",previewCmd:t,cwd:e.projectDir}:n&&!/\.html?$/i.test(n)?{type:"SERVE_PREVIEW",previewCmd:n,cwd:e.projectDir}:null}function h(e){return e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"k":String(e)}let b=["Brewed","Crafted","Forged","Compiled","Shipped","Deployed","Hacked","Rendered","Built","Cooked"];function y(e){let t=b[Math.floor(e/1e3)%b.length],n=Math.floor(e/1e3);if(n<60)return"".concat(t," in ").concat(n,"s");let r=Math.floor(n/60);return"".concat(t," for ").concat(r,"m ").concat(n%60,"s")}let k=["Alex","Sam","Max","Leo","Mia","Kai","Zoe","Eli","Ava","Jay","Rio","Ash","Sky","Kit","Noa","Rex","Ivy","Ace","Ren","Jax","Finn","Luna","Cleo","Sage","Wren","Iris","Otto","Hugo","Theo","Lux","Pip","Dot","Val","Mae","Emi","Yuki","Sora","Riku","Nami","Hana"];function x(){return k[Math.floor(Math.random()*k.length)]}},9385:(e,t,n)=>{"use strict";n.d(t,{cn:()=>o});var r=n(5230),a=n(2501);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},9631:(e,t,n)=>{"use strict";n.d(t,{AI:()=>i,CW:()=>d,Co:()=>s,MB:()=>l,Pg:()=>c,kr:()=>u});var r=n(5195),a=n(9892),o=n(1661);function l(e){let t=[];for(let n=0;n<e.rows;n++){let r=[];for(let t=0;t<e.cols;t++)r.push(e.tiles[n*e.cols+t]);t.push(r)}return t}function s(e){let t=new Map;for(let n of e){let e=(0,a.Um)(n.type);if(!e||!e.isDesk)continue;let o=n.row*r.dn+e.sprite.length;for(let r=0;r<e.footprintH;r++)for(let a=0;a<e.footprintW;a++){let e="".concat(n.col+a,",").concat(n.row+r),l=t.get(e);(void 0===l||o>l)&&t.set(e,o)}}let n=[];for(let l of e){let e=(0,a.Um)(l.type);if(!e||l.uid.startsWith("obj-"))continue;let s=l.col*r.dn,i=l.row*r.dn,c=i+e.sprite.length;if(e.backgroundTiles&&e.backgroundTiles>=e.footprintH?c=i:"chairs"===e.category&&(c="back"===e.orientation?(l.row+1)*r.dn+1:(l.row+e.footprintH)*r.dn),e.canPlaceOnSurfaces)for(let n=0;n<e.footprintH;n++)for(let r=0;r<e.footprintW;r++){let e=t.get("".concat(l.col+r,",").concat(l.row+n));void 0!==e&&e+.5>c&&(c=e+.5)}let d=e.sprite;if(l.color){let{h:t,s:n,b:r,c:a}=l.color;d=(0,o.LN)("furn-".concat(l.type,"-").concat(t,"-").concat(n,"-").concat(r,"-").concat(a,"-").concat(+!!l.color.colorize),e.sprite,l.color)}n.push({sprite:d,x:s,y:i,zY:c})}return n}function i(e,t){let n=new Set;for(let r of e){let e=(0,a.Um)(r.type);if(!e)continue;let o=e.backgroundTiles||0;for(let a=0;a<e.footprintH;a++)if(!(a<o))for(let o=0;o<e.footprintW;o++){let e="".concat(r.col+o,",").concat(r.row+a);t&&t.has(e)||n.add(e)}}return n}function c(e,t){return i(t?e.filter(e=>e.uid!==t):e)}function d(e){let t=new Map,n=new Map;for(let t of e){let e=(0,a.Um)(t.type);if(e&&e.isDesk)for(let r=0;r<e.footprintH;r++)for(let a=0;a<e.footprintW;a++)n.set("".concat(t.col+a,",").concat(t.row+r),t)}let o=new Map;for(let t of e){let e=(0,a.Um)(t.type);if(e&&"chairs"===e.category)for(let n=0;n<e.footprintH;n++)for(let a=0;a<e.footprintW;a++){let l="".concat(t.col+a,",").concat(t.row+n),s=e.orientation?function(e){switch(e){case"front":default:return r.OP.DOWN;case"back":return r.OP.UP;case"left":return r.OP.LEFT;case"right":return r.OP.RIGHT}}(e.orientation):r.OP.DOWN;o.set(l,{item:t,facing:s})}}let l=new Set,s=new Set;for(let[e,a]of n){if(s.has(a.uid))continue;let[n,i]=e.split(","),c=parseInt(n),d=parseInt(i),u=null;for(let e=1;e<=3&&!u;e++)for(let t of[{dc:0,dr:-e,facingDesk:r.OP.DOWN},{dc:0,dr:e,facingDesk:r.OP.UP},{dc:-e,dr:0,facingDesk:r.OP.RIGHT},{dc:e,dr:0,facingDesk:r.OP.LEFT}]){let n="".concat(c+t.dc,",").concat(d+t.dr),r=o.get(n);if(r&&!l.has(n)){u={key:n,item:r.item,facing:r.facing,facingDesk:t.facingDesk,dist:e};break}}u?(l.add(u.key),t.set(u.item.uid,{uid:u.item.uid,seatCol:u.item.col,seatRow:u.item.row,facingDir:u.facingDesk,assigned:!1})):t.set(a.uid,{uid:a.uid,seatCol:c,seatRow:d,facingDir:r.OP.DOWN,assigned:!1}),s.add(a.uid)}for(let[e,n]of o)l.has(e)||t.set(n.item.uid+":rest",{uid:n.item.uid+":rest",seatCol:n.item.col,seatRow:n.item.row,facingDir:n.facing,assigned:!1,isRest:!0});return t}function u(){let e=r.wh,t=r.YK,n=r.nb.WALL,a=r.nb.FLOOR_1;r.nb.VOID;let o=[],l=[],s={h:195,s:10,b:18,c:0};for(let r=0;r<t;r++)for(let i=0;i<e;i++){let c=0===r||r===t-1||0===i||i===e-1?n:a;o.push(c),l.push(c===a?s:null)}let i=[],c=0,d=[3,7,11,15];for(let e of[2,6,10,14])for(let t of d)c++,i.push({uid:"desk-".concat(c),type:r.JM.DESK,col:t,row:e}),i.push({uid:"ch-".concat(c),type:r.JM.CHAIR,col:t,row:e+2});return i.push({uid:"plant-1",type:r.JM.PLANT,col:1,row:1}),i.push({uid:"plant-2",type:r.JM.PLANT,col:19,row:1}),i.push({uid:"plant-3",type:r.JM.PLANT,col:1,row:19}),i.push({uid:"plant-4",type:r.JM.PLANT,col:19,row:19}),i.push({uid:"shelf-1",type:r.JM.BOOKSHELF,col:1,row:9}),i.push({uid:"shelf-2",type:r.JM.BOOKSHELF,col:19,row:9}),i.push({uid:"cooler-1",type:r.JM.COOLER,col:10,row:19}),i.push({uid:"wb-1",type:r.JM.WHITEBOARD,col:9,row:1}),{version:1,cols:e,rows:t,tiles:o,tileColors:l,furniture:i}}},9892:(e,t,n)=>{"use strict";n.d(t,{F$:()=>y,UV:()=>m,Um:()=>g,ZZ:()=>h,Ze:()=>k,Zl:()=>b,ar:()=>p,hS:()=>l,xr:()=>f});var r=n(5195),a=n(2988),o=n(4296);let l=[{type:r.JM.DESK,label:"Desk",footprintW:2,footprintH:2,sprite:a.US,isDesk:!0,category:"desks"},{type:r.JM.BOOKSHELF,label:"Bookshelf",footprintW:1,footprintH:2,sprite:a.iK,isDesk:!1,category:"storage"},{type:r.JM.PLANT,label:"Plant",footprintW:1,footprintH:1,sprite:a.WN,isDesk:!1,category:"decor"},{type:r.JM.COOLER,label:"Cooler",footprintW:1,footprintH:1,sprite:a.L$,isDesk:!1,category:"misc"},{type:r.JM.WHITEBOARD,label:"Whiteboard",footprintW:2,footprintH:1,sprite:a.SJ,isDesk:!1,category:"decor"},{type:r.JM.CHAIR,label:"Chair",footprintW:1,footprintH:1,sprite:a.mr,isDesk:!1,category:"chairs"},{type:r.JM.PC,label:"PC",footprintW:1,footprintH:1,sprite:a.mY,isDesk:!1,category:"electronics"},{type:r.JM.LAMP,label:"Lamp",footprintW:1,footprintH:1,sprite:a.Zc,isDesk:!1,category:"decor"}],s=[{id:"desks",label:"Desks"},{id:"chairs",label:"Chairs"},{id:"storage",label:"Storage"},{id:"electronics",label:"Tech"},{id:"decor",label:"Decor"},{id:"wall",label:"Wall"},{id:"misc",label:"Misc"}],i=new Map,c=new Map,d=new Map,u=new Map;function p(e){for(let r of o.Q){var t,n;let a=e.get(r.id);if(!a)continue;let o=l.findIndex(e=>e.type===r.id),s=(t=r,n=a,{type:t.id,label:t.label,footprintW:t.footprintW,footprintH:t.footprintH,sprite:n,isDesk:t.isDesk,category:t.category,canPlaceOnSurfaces:t.canPlaceOnSurfaces,backgroundTiles:t.backgroundTiles,canPlaceOnWalls:t.canPlaceOnWalls,...t.orientation?{orientation:t.orientation}:{}});o>=0?l[o]=s:l.push(s)}let r=new Map;for(let e of o.Q)if(e.groupId&&e.orientation){if(e.state&&"off"!==e.state)continue;let t=r.get(e.groupId);t||(t=new Map,r.set(e.groupId,t)),t.set(e.orientation,e.id)}let a=["front","right","back","left"];for(let e of r.values()){if(e.size<2)continue;let t=a.filter(t=>e.has(t));if(t.length<2)continue;let n={};for(let r of t)n[r]=e.get(r);let r={orientations:t,members:n};for(let e of Object.values(n))i.set(e,r)}let s=new Map;for(let e of o.Q)if(e.groupId&&e.state){let t="".concat(e.groupId,"|").concat(e.orientation||""),n=s.get(t);n||(n=new Map,s.set(t,n)),n.set(e.state,e.id)}for(let e of s.values()){let t=e.get("on"),n=e.get("off");t&&n&&(c.set(t,n),c.set(n,t),d.set(n,t),u.set(t,n))}for(let e of o.Q)if(e.groupId&&e.orientation&&"on"===e.state){let t=c.get(e.id);if(t){let e=i.get(t);if(e){let t={};for(let n of e.orientations){let r=e.members[n],a=c.get(r);t[n]=null!=a?a:r}let n={orientations:e.orientations,members:t};for(let e of Object.values(t))i.has(e)||i.set(e,n)}}}}function g(e){return l.find(t=>t.type===e)}function f(e){var t;return null!=(t=d.get(e))?t:e}function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cw",n=i.get(e);if(!n)return null;let r=n.orientations.map(e=>n.members[e]),a=r.indexOf(e);if(-1===a)return null;let o=(a+("cw"===t?1:-1)+r.length)%r.length;return r[o]}function h(e){return i.has(e)}function b(e){return l.filter(t=>t.category===e)}function y(e){for(let[n,r]of e){let e=l.findIndex(e=>e.type===n);var t=r.tag;let a=(null!=t?t:"").toLowerCase().trim();"desk"===a||"table"===a||"chair"===a||"seat"===a||a.includes("sofa")||a.includes("couch");let o={type:n,label:r.label,footprintW:r.footprintW,footprintH:r.footprintH,sprite:r.sprite,isDesk:!1,category:"decor"};e>=0?l[e]=o:l.push(o)}}function k(){let e=new Set;for(let t of l)t.category&&e.add(t.category);return s.filter(t=>e.has(t.id))}}},e=>{e.O(0,[276,689,235,388,358],()=>e(e.s=3423)),_N_E=e.O()}]);