bit-office 1.0.3 → 1.1.0

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 (73) hide show
  1. package/dist/index.js +1755 -193
  2. package/dist/index.js.map +1 -1
  3. package/dist/web/{out/out/404.html → 404.html} +2 -2
  4. package/dist/web/_next/static/chunks/368.cc1f599d57c41c84.js +1 -0
  5. package/dist/web/_next/static/chunks/app/office/page-3c20b887f5c4dc88.js +1 -0
  6. package/dist/web/{out/out/_next/static/chunks/webpack-2f6b11d148fba4ca.js → _next/static/chunks/webpack-24a71fb73bc694fc.js} +1 -1
  7. package/dist/web/{out/out/index.html → index.html} +2 -2
  8. package/dist/web/{out/out/index.txt → index.txt} +1 -1
  9. package/dist/web/{out/out/office.html → office.html} +3 -3
  10. package/dist/web/{out/out/office.txt → office.txt} +2 -2
  11. package/dist/web/{out/out/pair.html → pair.html} +2 -2
  12. package/dist/web/{out/out/pair.txt → pair.txt} +1 -1
  13. package/dist/web/{out/out/sw.js → sw.js} +1 -1
  14. package/package.json +2 -2
  15. package/dist/web/out/out/_next/static/chunks/904.70db0cb7d0ebff73.js +0 -1
  16. package/dist/web/out/out/_next/static/chunks/app/office/page-40e6628ffa58377f.js +0 -1
  17. /package/dist/web/{out/out/Office Tileset → Office Tileset}/LICENSE.txt +0 -0
  18. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Designs/Office Level 1.png +0 -0
  19. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Designs/Office Level 2.png +0 -0
  20. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Designs/Office Level 3.5.png +0 -0
  21. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Designs/Office Level 3.jpeg +0 -0
  22. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Designs/Office Level 3.png +0 -0
  23. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Designs/Office Level 4.png +0 -0
  24. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Palette/Office Palette Large.png +0 -0
  25. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Palette/Office Palette Medium.png +0 -0
  26. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Palette/Office Palette Small.png +0 -0
  27. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Tileset All 16x16 no shadow.png +0 -0
  28. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Tileset All 16x16.png +0 -0
  29. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Tileset All 32x32 no shadow.png +0 -0
  30. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Tileset All 32x32.png +0 -0
  31. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Tileset All 48x48 no shadow.png +0 -0
  32. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office Tileset All 48x48.png +0 -0
  33. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office VX Ace/A2 Office Floors.png +0 -0
  34. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office VX Ace/A4 Office Walls.png +0 -0
  35. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office VX Ace/A5 Office Floors & Walls.png +0 -0
  36. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office VX Ace/B-C-D-E Office 1 No Shadows.png +0 -0
  37. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office VX Ace/B-C-D-E Office 1.png +0 -0
  38. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office VX Ace/B-C-D-E Office 2 No Shadows.png +0 -0
  39. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office VX Ace/B-C-D-E Office 2.png +0 -0
  40. /package/dist/web/{out/out/Office Tileset → Office Tileset}/Office VX Ace/README.txt +0 -0
  41. /package/dist/web/{out/out/_next/static/0Dv8UrlW-3l4rmSUSmwsV → _next/static/2DlUdS8198vtEVFBCTvcr}/_buildManifest.js +0 -0
  42. /package/dist/web/{out/out/_next/static/0Dv8UrlW-3l4rmSUSmwsV → _next/static/2DlUdS8198vtEVFBCTvcr}/_ssgManifest.js +0 -0
  43. /package/dist/web/{out/out/_next → _next}/static/chunks/29.2a4210219e06b537.js +0 -0
  44. /package/dist/web/{out/out/_next → _next}/static/chunks/290.d0fe5fb72a5068b2.js +0 -0
  45. /package/dist/web/{out/out/_next → _next}/static/chunks/325ca9c7-f84e7e4973790fdf.js +0 -0
  46. /package/dist/web/{out/out/_next → _next}/static/chunks/388-5a04e93e2531cfb7.js +0 -0
  47. /package/dist/web/{out/out/_next → _next}/static/chunks/4d67e943-e6a0fd3b5c397505.js +0 -0
  48. /package/dist/web/{out/out/_next → _next}/static/chunks/757.6d61de28074ba8d4.js +0 -0
  49. /package/dist/web/{out/out/_next → _next}/static/chunks/810.44213c6355518b0b.js +0 -0
  50. /package/dist/web/{out/out/_next → _next}/static/chunks/880.614e72604eb723a3.js +0 -0
  51. /package/dist/web/{out/out/_next → _next}/static/chunks/989-4c2c2b3a6c2f8a4a.js +0 -0
  52. /package/dist/web/{out/out/_next → _next}/static/chunks/app/_not-found/page-182ed2c105839b2a.js +0 -0
  53. /package/dist/web/{out/out/_next → _next}/static/chunks/app/layout-72c65340fbaef4c0.js +0 -0
  54. /package/dist/web/{out/out/_next → _next}/static/chunks/app/page-9721074d4b94e149.js +0 -0
  55. /package/dist/web/{out/out/_next → _next}/static/chunks/app/pair/page-ffb2dcb5753f3161.js +0 -0
  56. /package/dist/web/{out/out/_next → _next}/static/chunks/framework-bec628f2b7cc8f6d.js +0 -0
  57. /package/dist/web/{out/out/_next → _next}/static/chunks/main-314e1c8a2c4316bd.js +0 -0
  58. /package/dist/web/{out/out/_next → _next}/static/chunks/main-app-baad86574bd560af.js +0 -0
  59. /package/dist/web/{out/out/_next → _next}/static/chunks/pages/_app-f4d560c9dbc22e4e.js +0 -0
  60. /package/dist/web/{out/out/_next → _next}/static/chunks/pages/_error-492bd157be5771d5.js +0 -0
  61. /package/dist/web/{out/out/_next → _next}/static/chunks/polyfills-42372ed130431b0a.js +0 -0
  62. /package/dist/web/{out/out/assets → assets}/characters/char_0.png +0 -0
  63. /package/dist/web/{out/out/assets → assets}/characters/char_1.png +0 -0
  64. /package/dist/web/{out/out/assets → assets}/characters/char_2.png +0 -0
  65. /package/dist/web/{out/out/assets → assets}/characters/char_3.png +0 -0
  66. /package/dist/web/{out/out/assets → assets}/characters/char_4.png +0 -0
  67. /package/dist/web/{out/out/assets → assets}/characters/char_5.png +0 -0
  68. /package/dist/web/{out/out/assets → assets}/walls.png +0 -0
  69. /package/dist/web/{out/out/icons → icons}/icon-192.png +0 -0
  70. /package/dist/web/{out/out/icons → icons}/icon-512.png +0 -0
  71. /package/dist/web/{out/out/manifest.json → manifest.json} +0 -0
  72. /package/dist/web/{out/out/pixel-agents-layout.json → pixel-agents-layout.json} +0 -0
  73. /package/dist/web/{out/out/workbox-5194662c.js → workbox-5194662c.js} +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[823],{1204:(e,t,o)=>{"use strict";o.d(t,{FH:()=>i,Ii:()=>g,PT:()=>c,WC:()=>p,iH:()=>h,iZ:()=>d,qZ:()=>s,si:()=>u,vk:()=>f});var n=o(5195),r=o(2243),l=o(9892),a=o(9631);function i(e,t,o,l,a){let i=o*e.cols+t;if(i<0||i>=e.tiles.length)return e;let s=e.tileColors||Array(e.tiles.length).fill(null),c=null!=a?a:l===n.nb.WALL||l===n.nb.VOID?null:{...r.ql};if(e.tiles[i]===l){let t=s[i];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[i]=l;let p=[...s];return p[i]=c,{...e,tiles:d,tileColors:p}}function s(e,t){return g(e,t.type,t.col,t.row)?{...e,furniture:[...e.furniture,t]}:e}function c(e,t){let o=e.furniture.filter(e=>e.uid!==t);return o.length===e.furniture.length?e:{...e,furniture:o}}function d(e,t,o,n){let r=e.furniture.find(e=>e.uid===t);return r&&g(e,r.type,o,n,t)?{...e,furniture:e.furniture.map(e=>e.uid===t?{...e,col:o,row:n}:e)}:e}function p(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"cw",n=e.furniture.find(e=>e.uid===t);if(!n)return e;let r=(0,l.UV)(n.type,o);return r?{...e,furniture:e.furniture.map(e=>e.uid===t?{...e,type:r}:e)}:e}function u(e,t){let o=(0,l.Um)(e);return(null==o?void 0:o.canPlaceOnWalls)?t-(o.footprintH-1):t}function g(e,t,o,r,i){let s=(0,l.Um)(t);if(!s)return!1;if(s.canPlaceOnWalls){let t=r+s.footprintH-1;if(o<0||o+s.footprintW>e.cols||t<0||t>=e.rows)return!1}else if(o<0||r<0||o+s.footprintW>e.cols||r+s.footprintH>e.rows)return!1;let c=s.backgroundTiles||0;for(let t=0;t<s.footprintH;t++)if(!(t<c)&&!(r+t<0)&&(!s.canPlaceOnWalls||!(t<s.footprintH-1)))for(let l=0;l<s.footprintW;l++){let a=(r+t)*e.cols+(o+l),i=e.tiles[a];if(s.canPlaceOnWalls){if(i!==n.nb.WALL)return!1}else if(i===n.nb.VOID||i===n.nb.WALL)return!1}let d=(0,a.Pg)(e.furniture,i),p=null;if(s.canPlaceOnSurfaces)for(let t of(p=new Set,e.furniture)){if(t.uid===i)continue;let e=(0,l.Um)(t.type);if(e&&e.isDesk)for(let o=0;o<e.footprintH;o++)for(let n=0;n<e.footprintW;n++)p.add("".concat(t.col+n,",").concat(t.row+o))}let u=s.backgroundTiles||0;for(let e=0;e<s.footprintH;e++)if(!(e<u)&&!(r+e<0))for(let t=0;t<s.footprintW;t++){let n="".concat(o+t,",").concat(r+e);if(d.has(n)&&!(null==p?void 0:p.has(n)))return!1}return!0}function f(e,t){let{cols:o,rows:r,tiles:l,furniture:a,tileColors:i}=e,s=i||Array(l.length).fill(null),c=o,d=r,p=0,u=0;if("right"===t?c=o+1:"left"===t?(c=o+1,p=1):"down"===t?d=r+1:"up"===t&&(d=r+1,u=1),c>n.Tj||d>n.pX)return null;let g=Array(c*d).fill(n.nb.VOID),f=Array(c*d).fill(null);for(let e=0;e<r;e++)for(let t=0;t<o;t++){let n=e*o+t,r=(e+u)*c+(t+p);g[r]=l[n],f[r]=s[n]}let h=a.map(e=>({...e,col:e.col+p,row:e.row+u}));return{layout:{...e,cols:c,rows:d,tiles:g,tileColors:f,furniture:h},shift:{col:p,row:u}}}function h(e,t,o){for(let n of e.furniture){let e=(0,l.Um)(n.type);if(e){for(let r=0;r<e.footprintH;r++)for(let l=0;l<e.footprintW;l++)if(n.col+l===t&&n.row+r===o)return n}}return null}},1661:(e,t,o)=>{"use strict";o.d(t,{LN:()=>r,Zg:()=>l,fu:()=>s});let n=new Map;function r(e,t,o){let r=n.get(e);if(r)return r;let l=o.colorize?function(e,t){let{h:o,s:n,b:r,c:l}=t,i=[];for(let t of e){let e=[];for(let i of t){if(""===i){e.push("");continue}let t=parseInt(i.slice(1,3),16),s=(.299*t+.587*parseInt(i.slice(3,5),16)+.114*parseInt(i.slice(5,7),16))/255;0!==l&&(s=.5+(100+l)/100*(s-.5)),0!==r&&(s+=r/200);let c=a(o,n/100,s=Math.max(0,Math.min(1,s)));e.push(c)}i.push(e)}return i}(t,o):s(t,o);return n.set(e,l),l}function l(){n.clear()}function a(e,t,o){let n=(1-Math.abs(2*o-1))*t,r=e/60,l=n*(1-Math.abs(r%2-1)),a=0,s=0,c=0;r<1?(a=n,s=l,c=0):r<2?(a=l,s=n,c=0):r<3?(a=0,s=n,c=l):r<4?(a=0,s=l,c=n):r<5?(a=l,s=0,c=n):(a=n,s=0,c=l);let d=o-n/2,p=Math.round((a+d)*255),u=Math.round((s+d)*255),g=Math.round((c+d)*255);return"#".concat(i(p).toString(16).padStart(2,"0")).concat(i(u).toString(16).padStart(2,"0")).concat(i(g).toString(16).padStart(2,"0")).toUpperCase()}function i(e){return Math.max(0,Math.min(255,e))}function s(e,t){let{h:o,s:n,b:r,c:l}=t,i=[];for(let t of e){let e=[];for(let i of t){if(""===i){e.push("");continue}let t=parseInt(i.slice(1,3),16),[s,c,d]=function(e,t,o){let n=e/255,r=t/255,l=o/255,a=Math.max(n,r,l),i=Math.min(n,r,l),s=(a+i)/2;if(a===i)return[0,0,s];let c=a-i;return[a===n?((r-l)/c+6*(r<l))*60:a===r?((l-n)/c+2)*60:((n-r)/c+4)*60,s>.5?c/(2-a-i):c/(a+i),s]}(t,parseInt(i.slice(3,5),16),parseInt(i.slice(5,7),16)),p=((s+o)%360+360)%360,u=Math.max(0,Math.min(1,c+n/100)),g=d;0!==l&&(g=.5+(100+l)/100*(g-.5)),0!==r&&(g+=r/200);let f=a(p,u,g=Math.max(0,Math.min(1,g)));e.push(f)}i.push(e)}return i}},2243:(e,t,o)=>{"use strict";o.d(t,{$L:()=>U,AL:()=>V,BD:()=>eo,BZ:()=>x,DH:()=>en,F2:()=>F,Ii:()=>ee,Jk:()=>es,M1:()=>y,M_:()=>ei,Mo:()=>J,Nd:()=>w,Ns:()=>em,O1:()=>D,O9:()=>el,Ot:()=>h,PA:()=>B,Pk:()=>ek,R_:()=>z,Rb:()=>g,S3:()=>d,SS:()=>Y,Sg:()=>W,TE:()=>Q,Tj:()=>a,W3:()=>b,W7:()=>O,WJ:()=>E,WK:()=>ea,Wn:()=>A,Ww:()=>m,XE:()=>s,Xo:()=>ef,YK:()=>l,YX:()=>H,ZV:()=>er,Zz:()=>et,dn:()=>n,e7:()=>eb,fJ:()=>G,fS:()=>eS,gB:()=>v,gD:()=>q,gi:()=>j,hI:()=>C,he:()=>f,i:()=>K,iE:()=>I,ic:()=>ep,k2:()=>ey,k8:()=>u,l0:()=>_,lO:()=>ed,lY:()=>c,n6:()=>R,nW:()=>ec,o3:()=>ex,oj:()=>$,ou:()=>eh,p7:()=>eg,pX:()=>i,pr:()=>Z,q3:()=>X,qD:()=>P,ql:()=>ev,qt:()=>eu,v3:()=>N,vU:()=>S,wN:()=>k,wh:()=>r,wj:()=>p,y9:()=>L,zY:()=>M,zw:()=>T});let n=16,r=21,l=21,a=64,i=64,s=48,c=.15,d=.3,p=2,u=20,g=3,f=6,h=120,m=240,x=.3,y=6,b=16,k=24,S=30,v=180,C=.3,T="#ccffcc",w=.6,j=.5,A=.33,E=.66,I=6,W=.5,F=.001,D=1,L=.5,P=.5,O=.25,R=[4,3],_=6,H=3,z=.45,Y=1.5,M=.5,N=.5,B=10,U=28,X="#808080",V="rgba(255,255,255,0.12)",G="rgba(255,255,255,0.08)",K=[2,2],J="rgba(60, 130, 220, 0.25)",Z="rgba(60, 130, 220, 0.5)",q="rgba(255, 255, 255, 0.06)",Q="#00ff00",$="#ff0000",ee="#007fd4",et="rgba(200, 50, 50, 0.85)",eo="rgba(50, 120, 200, 0.85)",en=1,er=10,el=.1,ea=2,ei=.3,es=5,ec=.5,ed=30,ep=6,eu=45,eg=271,ef=3,eh=2,em=8,ex=24,ey=50,eb=500,ek={h:35,s:30,b:15,c:0},eS={h:240,s:25,b:0,c:0},ev={h:0,s:0,b:0,c:0}},2988:(e,t,o)=>{"use strict";o.d(t,{$D:()=>g,Cr:()=>J,Ih:()=>Z,L$:()=>s,SJ:()=>c,US:()=>l,VQ:()=>h,WN:()=>a,Zc:()=>u,bn:()=>V,iK:()=>i,j9:()=>f,mY:()=>p,mr:()=>d});var n=o(5195),r=o(1661);let l=(()=>{let e="#8B6914",t="#A07828",o="#B8922E",n="#6B4E0A",r=[];r.push(Array(32).fill("")),r.push(["",...Array(30).fill(e),""]);for(let n=0;n<4;n++)r.push(["",e,...Array(28).fill(n<1?t:o),e,""]);r.push(["",n,...Array(28).fill(e),n,""]);for(let t=0;t<6;t++)r.push(["",e,...Array(28).fill(o),e,""]);r.push(["",e,...Array(28).fill(t),e,""]);for(let t=0;t<6;t++)r.push(["",e,...Array(28).fill(o),e,""]);r.push(["",n,...Array(28).fill(e),n,""]);for(let n=0;n<4;n++)r.push(["",e,...Array(28).fill(n>2?t:o),e,""]);r.push(["",...Array(30).fill(e),""]);for(let e=0;e<4;e++){let e=Array(32).fill("");e[1]=n,e[2]=n,e[29]=n,e[30]=n,r.push(e)}return r.push(Array(32).fill("")),r.push(Array(32).fill("")),r})(),a=(()=>{let e="#3D8B37",t="#2D6B27",o="#6B4E0A",n="#B85C3A",r="#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,"","","","","","",""],["","","","","","",o,o,"","","","","","","",""],["","","","","","",o,o,"","","","","","","",""],["","","","","","",o,o,"","","","","","","",""],["","","","","",r,r,r,r,r,"","","","","",""],["","","","",r,n,n,n,n,n,r,"","","","",""],["","","","",r,n,n,n,n,n,r,"","","","",""],["","","","",r,n,n,n,n,n,r,"","","","",""],["","","","",r,n,n,n,n,n,r,"","","","",""],["","","","",r,n,n,n,n,n,r,"","","","",""],["","","","",r,n,n,n,n,n,r,"","","","",""],["","","","","",r,n,n,n,r,"","","","","",""],["","","","","","",r,r,r,"","","","","","",""],["","","","","","","","","","","","","","","",""]]})(),i=(()=>{let e="#8B6914",t="#6B4E0A",o="#CC4444",n="#4477AA",r="#44AA66",l="#CCAA33",a="#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,o,o,n,n,r,r,l,l,o,o,n,n,t,e],[e,t,o,o,n,n,r,r,l,l,o,o,n,n,t,e],[e,t,o,o,n,n,r,r,l,l,o,o,n,n,t,e],[e,t,o,o,n,n,r,r,l,l,o,o,n,n,t,e],[e,t,o,o,n,n,r,r,l,l,o,o,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,l,l,n,n,r,r,a,a,o,o,t,e],[e,t,a,a,l,l,n,n,r,r,a,a,o,o,t,e],[e,t,a,a,l,l,n,n,r,r,a,a,o,o,t,e],[e,t,a,a,l,l,n,n,r,r,a,a,o,o,t,e],[e,t,a,a,l,l,n,n,r,r,a,a,o,o,t,e],[e,t,a,a,l,l,n,n,r,r,a,a,o,o,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,r,r,o,o,a,a,n,n,l,l,r,r,t,e],[e,t,r,r,o,o,a,a,n,n,l,l,r,r,t,e],[e,t,r,r,o,o,a,a,n,n,l,l,r,r,t,e],[e,t,r,r,o,o,a,a,n,n,l,l,r,r,t,e],[e,t,r,r,o,o,a,a,n,n,l,l,r,r,t,e],[e,t,r,r,o,o,a,a,n,n,l,l,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,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,""]]})(),s=(()=>{let e="#CCDDEE",t="#88BBDD",o="#999999",n="#666666";return[["","","","","","","","","","","","","","","",""],["","","","","",o,o,o,o,o,o,"","","","",""],["","","","",o,t,t,t,t,t,t,o,"","","",""],["","","","",o,t,t,t,t,t,t,o,"","","",""],["","","","",o,t,t,t,t,t,t,o,"","","",""],["","","","",o,t,t,t,t,t,t,o,"","","",""],["","","","",o,t,t,t,t,t,t,o,"","","",""],["","","","","",o,o,o,o,o,o,"","","","",""],["","","","","",o,e,e,e,e,o,"","","","",""],["","","","","",o,e,e,e,e,o,"","","","",""],["","","","","",o,e,e,e,e,o,"","","","",""],["","","","","",o,e,e,e,e,o,"","","","",""],["","","","","",o,e,e,e,e,o,"","","","",""],["","","","",o,o,e,e,e,e,o,o,"","","",""],["","","","",o,e,e,e,e,e,e,o,"","","",""],["","","","",o,e,e,e,e,e,e,o,"","","",""],["","","","",o,o,o,o,o,o,o,o,"","","",""],["","","","","",o,n,n,n,n,o,"","","","",""],["","","","","",o,n,n,n,n,o,"","","","",""],["","","","","",o,n,n,n,n,o,"","","","",""],["","","","",o,o,n,n,n,n,o,o,"","","",""],["","","","",o,n,n,n,n,n,n,o,"","","",""],["","","","",o,o,o,o,o,o,o,o,"","","",""],["","","","","","","","","","","","","","","",""]]})(),c=(()=>{let e="#AAAAAA",t="#EEEEFF",o="#CC4444",n="#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,o,o,o,t,t,t,t,t,n,n,n,n,t,t,t,t,t,t,t,o,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,n,n,t,t,o,t,t,t,t,t,t,e,""],["",e,t,t,t,t,o,o,o,o,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,n,n,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,n,n,n,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,o,o,o,t,t,t,t,t,t,t,e,""],["",e,t,o,o,t,t,t,t,t,t,t,t,t,t,t,n,n,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,t,t,t,t,t,t,n,n,n,t,t,t,t,t,t,t,t,t,t,t,t,t,o,o,o,o,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",o="#5C3D0A",n="#A07828";return[["","","","","",t,t,t,t,t,t,"","","","",""],["","","","",t,o,o,o,o,o,o,t,"","","",""],["","","","",t,o,n,n,n,n,o,t,"","","",""],["","","","",t,o,n,n,n,n,o,t,"","","",""],["","","","",t,o,n,n,n,n,o,t,"","","",""],["","","","",t,o,n,n,n,n,o,t,"","","",""],["","","","",t,o,n,n,n,n,o,t,"","","",""],["","","","",t,o,n,n,n,n,o,t,"","","",""],["","","","",t,o,n,n,n,n,o,t,"","","",""],["","","","",t,o,o,o,o,o,o,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,"","","","",""]]})(),p=(()=>{let e="#555555",t="#3A3A5C",o="#6688CC",n="#444444";return[["","","",e,e,e,e,e,e,e,e,e,e,"","",""],["","","",e,t,t,t,t,t,t,t,t,e,"","",""],["","","",e,t,o,o,o,o,o,o,t,e,"","",""],["","","",e,t,o,o,o,o,o,o,t,e,"","",""],["","","",e,t,o,o,o,o,o,o,t,e,"","",""],["","","",e,t,o,o,o,o,o,o,t,e,"","",""],["","","",e,t,o,o,o,o,o,o,t,e,"","",""],["","","",e,t,o,o,o,o,o,o,t,e,"","",""],["","","",e,t,t,t,t,t,t,t,t,e,"","",""],["","","",e,e,e,e,e,e,e,e,e,e,"","",""],["","","","","","","",n,n,"","","","","","",""],["","","","","","","",n,n,"","","","","","",""],["","","","","","",n,n,n,n,"","","","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","","","","","","","","","","","","",""]]})(),u=(()=>{let e="#FFDD55",t="#FFEE88",o="#888888",n="#555555",r="#FFFFCC";return[["","","","","","","","","","","","","","","",""],["","","","","","",r,r,r,r,"","","","","",""],["","","","","",r,e,e,e,e,r,"","","","",""],["","","","",r,e,e,t,t,e,e,r,"","","",""],["","","","",e,e,t,t,t,t,e,e,"","","",""],["","","","",e,e,t,t,t,t,e,e,"","","",""],["","","","","",e,e,e,e,e,e,"","","","",""],["","","","","","",o,o,o,o,"","","","","",""],["","","","","","","",o,o,"","","","","","",""],["","","","","","","",o,o,"","","","","","",""],["","","","","","","",o,o,"","","","","","",""],["","","","","","","",o,o,"","","","","","",""],["","","","","","",o,o,o,o,"","","","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","","","","","","","","","","","","",""]]})(),g=(()=>{let e="#555566",t="#EEEEFF",o="#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,o,t,o,t,o,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",o="#D4A017",n="#F5C842";return[["","","",e,e,e,e,e,"","",""],["","",e,t,t,t,n,t,e,"",""],["",e,t,t,t,n,n,t,t,e,""],[e,t,t,t,n,n,t,t,t,t,e],[e,t,t,n,n,n,n,n,t,t,e],[e,t,t,t,t,o,o,t,t,t,e],[e,t,t,t,o,o,t,t,t,t,e],[e,t,t,o,o,t,t,t,t,t,e],["",e,t,t,o,t,t,t,t,e,""],["","",e,e,e,e,e,e,e,"",""],["","","","",e,e,e,"","","",""],["","","","","",e,"","","","",""],["","","","","","","","","","",""]]})(),h=(()=>{let e="#555566",t="#EEEEFF",o="#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,o,t,e],[e,t,t,t,t,t,t,o,t,t,e],[e,t,t,o,t,t,o,t,t,t,e],[e,t,t,t,o,o,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,"","","","",""],["","","","","","","","","","",""]]})(),m=[{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"}],x="hair",y="skin",b="shirt",k="pants",S="shoes",v="#FFFFFF";function C(e,t){return e.map(e=>e.map(e=>""===e?"":e===v?v:e===x?t.hair:e===y?t.skin:e===b?t.shirt:e===k?t.pants:e===S?t.shoes:e))}let T=[["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,v,y,y,v,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,"","","","",k,k,"","","",""],["","","","",k,k,"","","","",k,k,"","","",""],["","","","",S,S,"","","","","",S,S,"","",""],["","","","",S,S,"","","","","",S,S,"","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],w=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,v,y,y,v,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],j=[["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,v,y,y,v,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","",S,S,"","","","","","",k,k,"","",""],["","","",S,S,"","","","","","",k,k,"","",""],["","","","","","","","","","",S,S,"","","",""],["","","","","","","","","","",S,S,"","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],A=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,v,y,y,v,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","",y,y,b,b,b,b,b,b,y,y,"","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],E=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,v,y,y,v,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,y,"","",""],["","","","",y,b,b,b,b,b,b,"",y,"","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],I=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,v,y,y,v,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],W=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,v,y,y,v,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],F=[["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,"","","","",k,k,"","","",""],["","","","",k,k,"","","","",k,k,"","","",""],["","","",S,S,"","","","","","",S,S,"","",""],["","","",S,S,"","","","","","",S,S,"","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],D=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],L=[["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","",S,S,"","","","","","",k,k,"","",""],["","","",S,S,"","","","","","",k,k,"","",""],["","","","","","","","","","",S,S,"","","",""],["","","","","","","","","","",S,S,"","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],P=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","",y,y,b,b,b,b,b,b,y,y,"","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],O=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,y,"","",""],["","","","",y,b,b,b,b,b,b,"",y,"","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],R=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],_=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",x,x,x,x,"","","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",x,x,x,x,x,x,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",b,b,b,b,b,b,b,b,"","","",""],["","","","",y,b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,"","",k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],H=[["","","","","","","","","","","","","","","",""],["","","","","","","",x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,v,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",b,b,b,"","","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,b,b,b,b,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,"","","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,"","","",k,k,"","","",""],["","","","","",k,k,"","","",k,k,"","","",""],["","","","","",S,S,"","","","",S,S,"","",""],["","","","","",S,S,"","","","",S,S,"","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],z=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,v,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",b,b,b,"","","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,b,b,b,b,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,"","","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,"",k,k,"","","","",""],["","","","","","",k,k,"",k,k,"","","","",""],["","","","","","",k,k,"",k,k,"","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],Y=[["","","","","","","","","","","","","","","",""],["","","","","","","",x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,v,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",b,b,b,"","","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,b,b,b,b,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,"","","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","","",k,k,k,"","","","",""],["","","","","","","","",k,k,k,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",S,S,"","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],M=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,v,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",b,b,b,"","","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,y,"","","",""],["","","","","",b,b,b,b,b,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,"","","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,"",k,k,"","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],N=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,v,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",b,b,b,"","","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"",y,"","",""],["","","","","",b,b,b,b,b,"","",y,"","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,"","","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,"",k,k,"","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],B=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,v,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",b,b,b,"","","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,b,b,b,b,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,"","","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,"",k,k,"","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],U=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",x,x,x,x,x,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,v,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","","","",b,b,b,"","","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",y,b,b,b,b,y,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,"","","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,"",k,k,"","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],X=null;function V(e){X=e,K.clear()}function G(e){return e.map(e=>[...e].reverse())}let K=new Map;function J(e){return X?X[e%X.length].down[1]:null}function Z(e){let t,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,l="".concat(e,":").concat(o),a=K.get(l);if(a)return a;if(X){let o=X[e%X.length],r=o.down,l=o.up,a=o.right;t={walk:{[n.OP.DOWN]:[r[0],r[1],r[2],r[1]],[n.OP.UP]:[l[0],l[1],l[2],l[1]],[n.OP.RIGHT]:[a[0],a[1],a[2],a[1]],[n.OP.LEFT]:[G(a[0]),G(a[1]),G(a[2]),G(a[1])]},typing:{[n.OP.DOWN]:[r[3],r[4]],[n.OP.UP]:[l[3],l[4]],[n.OP.RIGHT]:[a[3],a[4]],[n.OP.LEFT]:[G(a[3]),G(a[4])]},reading:{[n.OP.DOWN]:[r[5],r[6]],[n.OP.UP]:[l[5],l[6]],[n.OP.RIGHT]:[a[5],a[6]],[n.OP.LEFT]:[G(a[5]),G(a[6])]}}}else{let o=m[e%m.length],r=e=>C(e,o),l=e=>C(e.map(e=>[...e].reverse()),o);t={walk:{[n.OP.DOWN]:[r(T),r(w),r(j),r(w)],[n.OP.UP]:[r(F),r(D),r(L),r(D)],[n.OP.RIGHT]:[r(H),r(z),r(Y),r(z)],[n.OP.LEFT]:[l(H),l(z),l(Y),l(z)]},typing:{[n.OP.DOWN]:[r(A),r(E)],[n.OP.UP]:[r(P),r(O)],[n.OP.RIGHT]:[r(M),r(N)],[n.OP.LEFT]:[l(M),l(N)]},reading:{[n.OP.DOWN]:[r(I),r(W)],[n.OP.UP]:[r(R),r(_)],[n.OP.RIGHT]:[r(B),r(U)],[n.OP.LEFT]:[l(B),l(U)]}}}return 0!==o&&(t=function(e,t){let o={h:t,s:0,b:0,c:0},l=e=>(0,r.fu)(e,o),a=e=>[l(e[0]),l(e[1]),l(e[2]),l(e[3])],i=e=>[l(e[0]),l(e[1])];return{walk:{[n.OP.DOWN]:a(e.walk[n.OP.DOWN]),[n.OP.UP]:a(e.walk[n.OP.UP]),[n.OP.RIGHT]:a(e.walk[n.OP.RIGHT]),[n.OP.LEFT]:a(e.walk[n.OP.LEFT])},typing:{[n.OP.DOWN]:i(e.typing[n.OP.DOWN]),[n.OP.UP]:i(e.typing[n.OP.UP]),[n.OP.RIGHT]:i(e.typing[n.OP.RIGHT]),[n.OP.LEFT]:i(e.typing[n.OP.LEFT])},reading:{[n.OP.DOWN]:i(e.reading[n.OP.DOWN]),[n.OP.UP]:i(e.reading[n.OP.UP]),[n.OP.RIGHT]:i(e.reading[n.OP.RIGHT]),[n.OP.LEFT]:i(e.reading[n.OP.LEFT])}}}(t,o)),K.set(l,t),t}},3423:(e,t,o)=>{Promise.resolve().then(o.bind(o,8806))},4296:(e,t,o)=>{"use strict";o.d(t,{F:()=>h,Q:()=>p});var n=o(2988),r=o(4777),l=o(5055);let a=["down","up","right"];function i(e){return new Promise((t,o)=>{let n=new Image;n.crossOrigin="anonymous",n.onload=()=>t(n),n.onerror=t=>o(Error("Failed to load image: ".concat(e," — ").concat(t))),n.src=e})}function s(e,t,o,n,r){let l=document.createElement("canvas");l.width=n,l.height=r;let a=l.getContext("2d"),i=e.naturalWidth,s=e.naturalHeight,c=Math.max(0,t),d=Math.max(0,o),p=Math.min(t+n,i)-c,u=Math.min(o+r,s)-d;p>0&&u>0&&a.drawImage(e,c,d,p,u,c-t,d-o,p,u);let{data:g}=a.getImageData(0,0,n,r),f=[];for(let e=0;e<r;e++){let t=[];for(let o=0;o<n;o++){let r=(e*n+o)*4,l=g[r],a=g[r+1],i=g[r+2];g[r+3]<128?t.push(""):t.push("#".concat(l.toString(16).padStart(2,"0")).concat(a.toString(16).padStart(2,"0")).concat(i.toString(16).padStart(2,"0")).toUpperCase())}f.push(t)}return f}async function c(){let e=[];for(let t=0;t<6;t++){let o=await i("/assets/characters/char_".concat(t,".png")),n={down:[],up:[],right:[]};for(let e=0;e<a.length;e++){let t=a[e],r=32*e,l=[];for(let e=0;e<7;e++){let t=16*e;l.push(s(o,t,r,16,32))}n[t]=l}e.push(n)}return e}async function d(){let e=await i("/assets/walls.png"),t=[];for(let o=0;o<16;o++){let n=o%4*16,r=32*Math.floor(o/4);t.push(s(e,n,r,16,32))}return t}let p=[{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}],u={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 i("/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 o of p){if(t){let n=s(t,o.srcX,o.srcY,o.srcW,o.srcH);if(!function(e){for(let t of e)for(let e of t)if(""!==e)return!1;return!0}(n)){e.set(o.id,n);continue}console.warn("[tileset] empty sprite: ".concat(o.id," at (").concat(o.srcX,",").concat(o.srcY,") ").concat(o.srcW,"\xd7").concat(o.srcH))}let n=u[o.id];n&&e.set(o.id,function(e,t,o,n){let r=[];for(let l=0;l<t;l++){let a=[];for(let r=0;r<e;r++)0===r||r===e-1||0===l||l===t-1?a.push(n):a.push(o);r.push(a)}return r}(o.srcW,o.srcH,n.fill,n.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 h(){let[e,t,o,a]=await Promise.all([c(),d(),g(),f()]),i=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 o=0;o<7;o++){let{base:n,accent:r}=t[o],l=[];for(let e=0;e<16;e++){let t=[];for(let o=0;o<16;o++){let l=(o+e)%4==0||(3*o+7*e)%11==0;t.push(l?r:n)}l.push(t)}e.push(l)}return e}();return(0,n.bn)(e),(0,l.ZZ)(t),(0,r.Di)(i),{characters:e,walls:t,floors:i,tilesetSprites:o.sprites,layout:a}}},4777:(e,t,o)=>{"use strict";o.d(t,{$0:()=>c,Di:()=>s,QQ:()=>d,To:()=>p,ty:()=>i});var n=o(1661),r=o(2243);let l=Array.from({length:r.dn},()=>Array(r.dn).fill(r.q3)),a=[],i="#3A3A5C";function s(e){a=e,(0,n.Zg)()}function c(){return!0}function d(){return a.length>0?a.length:1}function p(e,t){let o="floor-".concat(e,"-").concat(t.h,"-").concat(t.s,"-").concat(t.b,"-").concat(t.c),r=function(e){let t=e-1;return t<0?null:t<a.length?a[t]:0===a.length&&e>=1?l:null}(e);return r?(0,n.LN)(o,r,{...t,colorize:!0}):Array.from({length:16},()=>Array(16).fill("#FF00FF"))}},5055:(e,t,o)=>{"use strict";o.d(t,{BN:()=>i,ZZ:()=>a,og:()=>c,vb:()=>s});var n=o(5195),r=o(1661);let l=null;function a(e){l=e}function i(){return null!==l}function s(e,t,o){if(!l)return[];let a=e.length,i=a>0?e[0].length:0,s=null!=o?o:i,c=[];for(let o=0;o<a;o++)for(let a=0;a<i;a++){if(e[o][a]!==n.nb.WALL)continue;let i=o*s+a,d=null==t?void 0:t[i],p=d?function(e,t,o,a){if(!l)return null;let i=o.length,s=i>0?o[0].length:0,c=0;t>0&&o[t-1][e]===n.nb.WALL&&(c|=1),e<s-1&&o[t][e+1]===n.nb.WALL&&(c|=2),t<i-1&&o[t+1][e]===n.nb.WALL&&(c|=4),e>0&&o[t][e-1]===n.nb.WALL&&(c|=8);let d=l[c];if(!d)return null;let p="wall-".concat(c,"-").concat(a.h,"-").concat(a.s,"-").concat(a.b,"-").concat(a.c);return{sprite:(0,r.LN)(p,d,{...a,colorize:!0}),offsetY:n.dn-d.length}}(a,o,e,d):function(e,t,o){if(!l)return null;let r=o.length,a=r>0?o[0].length:0,i=0;t>0&&o[t-1][e]===n.nb.WALL&&(i|=1),e<a-1&&o[t][e+1]===n.nb.WALL&&(i|=2),t<r-1&&o[t+1][e]===n.nb.WALL&&(i|=4),e>0&&o[t][e-1]===n.nb.WALL&&(i|=8);let s=l[i];return s?{sprite:s,offsetY:n.dn-s.length}:null}(a,o,e);p&&c.push({sprite:p.sprite,x:a*n.dn,y:o*n.dn+p.offsetY,zY:(o+1)*n.dn})}return c}function c(e){let{h:t,s:o,b:n,c:r}=e,l=.5;0!==r&&(l=.5+(100+r)/100*(l-.5)),0!==n&&(l+=n/200);let a=o/100*(1-Math.abs(2*(l=Math.max(0,Math.min(1,l)))-1)),i=t/60,s=a*(1-Math.abs(i%2-1)),c=0,d=0,p=0;i<1?(c=a,d=s,p=0):i<2?(c=s,d=a,p=0):i<3?(c=0,d=a,p=s):i<4?(c=0,d=s,p=a):i<5?(c=s,d=0,p=a):(c=a,d=0,p=s);let u=l-a/2,g=e=>Math.max(0,Math.min(255,Math.round((e+u)*255)));return"#".concat(g(c).toString(16).padStart(2,"0")).concat(g(d).toString(16).padStart(2,"0")).concat(g(p).toString(16).padStart(2,"0"))}},5149:(e,t,o)=>{"use strict";o.r(t),o.d(t,{clearConnection:()=>a,getConnection:()=>l,getGatewayHttpUrl:()=>i,saveConnection:()=>r});let n="office_connection";function r(e){localStorage.setItem(n,JSON.stringify(e))}function l(){let e=localStorage.getItem(n);if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function a(){localStorage.removeItem(n)}function i(){let e=l();return(null==e?void 0:e.wsUrl)?e.wsUrl.replace(/^ws(s?):\/\//,"http$1://"):window.location.origin}},5195:(e,t,o)=>{"use strict";o.d(t,{JM:()=>i,Lp:()=>l,OP:()=>a,Pz:()=>n.BZ,Tj:()=>n.Tj,VF:()=>s,YK:()=>n.YK,dn:()=>n.dn,nb:()=>r,pX:()=>n.pX,wh:()=>n.wh});var n=o(2243);let r={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},l={IDLE:"idle",WALK:"walk",TYPE:"type"},a={DOWN:0,LEFT:1,RIGHT:2,UP:3},i={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"},s={SELECT:"select",TILE_PAINT:"tile_paint",WALL_PAINT:"wall_paint",ERASE:"erase",FURNITURE_PLACE:"furniture_place",FURNITURE_PICK:"furniture_pick",EYEDROPPER:"eyedropper"}},8806:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>e8});var n=o(206),r=o(1406),l=o(4717),a=o(9576);let i="office-chat-history";function s(e){try{let t=[];for(let[,o]of e)!o.isExternal&&(o.messages.length>0||o.name!==o.agentId)&&t.push({agentId:o.agentId,name:o.name,role:o.role,palette:o.palette,personality:o.personality,backend:o.backend,isTeamLead:o.isTeamLead,teamId:o.teamId,messages:o.messages});localStorage.setItem(i,JSON.stringify(t))}catch(e){}}function c(){try{let e=localStorage.getItem(i);if(!e)return new Map;let t=JSON.parse(e),o=new Map;for(let e of t)o.set(e.agentId,e);return o}catch(e){return new Map}}function d(e){try{let t=localStorage.getItem(i);if(!t)return;let o=JSON.parse(t);localStorage.setItem(i,JSON.stringify(o.filter(t=>t.agentId!==e)))}catch(e){}}let p="office-team-messages";function u(e){try{let t=e.slice(-200);localStorage.setItem(p,JSON.stringify(t))}catch(e){}}let g="office-team-phase";function f(e){try{let t={};for(let[o,n]of e)t[o]=n;localStorage.setItem(g,JSON.stringify(t))}catch(e){}}function h(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return{agentId:e,name:t,role:o,status:"idle",currentTaskId:null,currentPrompt:null,pendingApproval:null,messages:[],lastLogLine:null,tokenUsage:{inputTokens:0,outputTokens:0}}}let m=(0,a.v)((e,t)=>({agents:new Map,agentDefs:[],teamMessages:[],teamPhases:new Map,connected:!1,hydrated:!1,setConnected:t=>e({connected:t}),hydrate:()=>{if(t().hydrated)return;let o=c(),n=function(){try{let e=localStorage.getItem(p);return e?JSON.parse(e):[]}catch(e){return[]}}(),r=function(){try{let e=localStorage.getItem(g);if(!e)return new Map;let t=JSON.parse(e);return new Map(Object.entries(t))}catch(e){return new Map}}();if(0===o.size&&0===n.length&&0===r.size)return void e({hydrated:!0,teamMessages:n,teamPhases:r});e(e=>{let t=new Map(e.agents);for(let[e,n]of o)t.has(e)||t.set(e,{...h(e,n.name,n.role),palette:n.palette,personality:n.personality,backend:n.backend,isTeamLead:n.isTeamLead,teamId:n.teamId,messages:n.messages});return{agents:t,teamMessages:n,teamPhases:r,hydrated:!0}})},getAgent:e=>{var o;return null!=(o=t().agents.get(e))?o:h(e)},removeAgent:t=>{e(e=>{let o=new Map(e.agents);return o.delete(t),d(t),{agents:o}})},clearTeamMessages:()=>{u([]),f(new Map),e({teamMessages:[],teamPhases:new Map})},addUserMessage:(t,o,n)=>{e(e=>{var r;let l=new Map(e.agents),a=null!=(r=l.get(t))?r:h(t);return l.set(t,{...a,messages:[...a.messages,{id:o,role:"user",text:n,timestamp:Date.now()}]}),s(l),{agents:l}})},handleEvent:t=>{e(e=>{var o,n,r,l,a,i,p,g,m,x,y,b,k,S,v,C,T,w,j,A,E,I,W,F,D,L,P,O,R,_;let H=new Map(e.agents);switch(t.type){case"AGENT_CREATED":{let e=H.get(t.agentId);if(e)H.set(t.agentId,{...e,name:t.name,role:t.role,palette:null!=(o=t.palette)?o:e.palette,personality:null!=(n=t.personality)?n:e.personality,backend:null!=(r=t.backend)?r:e.backend,isTeamLead:null!=(l=t.isTeamLead)?l:e.isTeamLead,teamId:null!=(a=t.teamId)?a:e.teamId,isExternal:null!=(i=t.isExternal)?i:e.isExternal,pid:null!=(p=t.pid)?p:e.pid,cwd:null!=(g=t.cwd)?g:e.cwd,startedAt:null!=(m=t.startedAt)?m:e.startedAt});else{let e=t.isExternal?void 0:c().get(t.agentId),o=h(t.agentId,t.name,t.role);o.palette=null!=(x=t.palette)?x:null==e?void 0:e.palette,o.personality=null!=(y=t.personality)?y:null==e?void 0:e.personality,o.backend=null!=(b=t.backend)?b:null==e?void 0:e.backend,o.isTeamLead=null!=(k=t.isTeamLead)?k:null==e?void 0:e.isTeamLead,o.teamId=null!=(S=t.teamId)?S:null==e?void 0:e.teamId,o.isExternal=t.isExternal,o.pid=t.pid,o.cwd=t.cwd,o.startedAt=t.startedAt,e&&(o.messages=e.messages),H.set(t.agentId,o)}if(!t.isExternal){let o=H.get(t.agentId);(null==e?void 0:e.isTeamLead)&&!(null==o?void 0:o.isTeamLead)&&(console.warn("[Store] isTeamLead LOST for ".concat(t.agentId,"! event.isTeamLead=").concat(t.isTeamLead,", existing=").concat(e.isTeamLead)),console.trace()),s(H)}break}case"AGENT_FIRED":{H.delete(t.agentId),d(t.agentId);let o=new Map(e.teamPhases);for(let[e,n]of o)n.leadAgentId===t.agentId&&o.delete(e);if(o.size!==e.teamPhases.size)return f(o),{agents:H,teamPhases:o};break}case"AGENT_STATUS":{let e=null!=(v=H.get(t.agentId))?v:h(t.agentId);if("idle"===t.status&&"idle"!==e.status&&!e.isExternal)break;H.set(t.agentId,{...e,status:t.status});break}case"TASK_STARTED":{let e=null!=(C=H.get(t.agentId))?C:h(t.agentId);H.set(t.agentId,{...e,status:"working",currentTaskId:t.taskId,currentPrompt:t.prompt,pendingApproval:null,lastLogLine:null});break}case"APPROVAL_NEEDED":{let e=null!=(T=H.get(t.agentId))?T:h(t.agentId);H.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 o=null!=(w=H.get(t.agentId))?w:h(t.agentId),n=t.taskId+"-reply";if(o.messages.some(e=>e.id===n))break;let r=!1;if(o.isTeamLead){for(let[,o]of e.teamPhases)if(o.leadAgentId===t.agentId){r=["create","design","complete"].includes(o.phase);break}}if(o.isTeamLead&&!t.isFinalResult&&!r){H.set(t.agentId,{...o,status:"working",currentTaskId:null,pendingApproval:null,lastLogLine:null!=(A=null==(j=t.result.summary)?void 0:j.slice(0,100))?A:"Coordinating team..."});break}let l=t.result.tokenUsage?{inputTokens:o.tokenUsage.inputTokens+t.result.tokenUsage.inputTokens,outputTokens:o.tokenUsage.outputTokens+t.result.tokenUsage.outputTokens}:o.tokenUsage,a=[...o.messages,{id:n,role:"agent",text:t.result.summary,timestamp:Date.now(),result:t.result,isFinalResult:t.isFinalResult}];H.set(t.agentId,{...o,status:"done",currentTaskId:null,pendingApproval:null,lastLogLine:null,messages:a,tokenUsage:l}),s(H);break}case"TASK_FAILED":{let e=null!=(E=H.get(t.agentId))?E:h(t.agentId),o=t.taskId+"-error";if(e.messages.some(e=>e.id===o))break;let n="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;H.set(t.agentId,{...e,status:"error",currentTaskId:null,pendingApproval:null,lastLogLine:null,messages:[...e.messages,{id:o,role:"system",text:n,timestamp:Date.now()}]}),s(H);break}case"TASK_DELEGATED":{let e=H.get(t.fromAgentId),o=H.get(t.toAgentId),n=t.taskId+"-delegate";e&&!e.messages.some(e=>e.id===n)&&H.set(t.fromAgentId,{...e,messages:[...e.messages,{id:n,role:"system",text:"Delegated to ".concat(null!=(I=null==o?void 0:o.name)?I:t.toAgentId,": ").concat(t.prompt),timestamp:Date.now()}]});let r=t.taskId+"-received",l=null!=(W=H.get(t.toAgentId))?W:h(t.toAgentId);l.messages.some(e=>e.id===r)||H.set(t.toAgentId,{...l,messages:[...l.messages,{id:r,role:"user",text:"[From ".concat(null!=(F=null==e?void 0:e.name)?F:t.fromAgentId,"] ").concat(t.prompt),timestamp:Date.now()}]}),s(H);break}case"LOG_APPEND":{let e=H.get(t.agentId);if(e&&(H.set(t.agentId,{...e,lastLogLine:t.chunk}),e.isExternal&&t.chunk)){let o=Date.now(),n=e.messages.length>0?e.messages[e.messages.length-1]:null;if(n&&"agent"===n.role&&o-n.timestamp<3e3){let r=[...e.messages];r[r.length-1]={...n,text:t.chunk,timestamp:o},H.set(t.agentId,{...H.get(t.agentId),messages:r})}else{let e="ext-log-".concat(o);H.set(t.agentId,{...H.get(t.agentId),messages:[...H.get(t.agentId).messages,{id:e,role:"agent",text:t.chunk,timestamp:o}]})}}break}case"TASK_RESULT_RETURNED":{let e=H.get(t.toAgentId);if(e){let o=H.get(t.fromAgentId),n=t.taskId+"-result-return";if(!e.messages.some(e=>e.id===n)){let r=t.success?"completed":"failed";H.set(t.toAgentId,{...e,messages:[...e.messages,{id:n,role:"system",text:"Result from ".concat(null!=(D=null==o?void 0:o.name)?D:t.fromAgentId," (").concat(r,"): ").concat(t.summary.slice(0,500)),timestamp:Date.now()}]})}}break}case"TEAM_CHAT":{let o=H.get(t.fromAgentId),n=t.toAgentId?H.get(t.toAgentId):void 0,r={id:"tc-".concat(t.timestamp,"-").concat(t.fromAgentId,"-").concat(t.messageType,"-").concat(null!=(L=t.toAgentId)?L:""),fromAgentId:t.fromAgentId,fromAgentName:null!=(P=null==o?void 0:o.name)?P:t.fromAgentId,toAgentId:t.toAgentId,toAgentName:null!=(O=null==n?void 0:n.name)?O:t.toAgentId,message:t.message,messageType:t.messageType,timestamp:t.timestamp};if(e.teamMessages.some(e=>e.id===r.id))break;let l=[...e.teamMessages,r];return u(l),{agents:H,teamMessages:l}}case"TASK_QUEUED":{let e=null!=(R=H.get(t.agentId))?R:h(t.agentId),o=t.taskId+"-queued";e.messages.some(e=>e.id===o)||H.set(t.agentId,{...e,messages:[...e.messages,{id:o,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!=(_=H.get(t.agentId))?_:h(t.agentId);H.set(t.agentId,{...e,tokenUsage:{inputTokens:t.inputTokens,outputTokens:t.outputTokens}});break}case"AGENT_DEFS":return{agents:H,agentDefs:t.agents};case"TEAM_PHASE":{let o=new Map(e.teamPhases);return o.set(t.teamId,{phase:t.phase,leadAgentId:t.leadAgentId}),f(o),{agents:H,teamPhases:o}}}return{agents:H}})}}));var x=o(9984),y=o(6353);let b=y.k5(["idle","working","waiting_approval","done","error"]),k=y.k5(["low","med","high"]),S=y.k5(["yes","no"]),v=y.k5(["create","design","execute","complete"]),C=y.Ik({type:y.eu("RUN_TASK"),agentId:y.Yj(),taskId:y.Yj(),prompt:y.Yj(),repoPath:y.Yj().optional(),name:y.Yj().optional(),role:y.Yj().optional(),personality:y.Yj().optional(),backend:y.Yj().optional()}),T=y.Ik({type:y.eu("APPROVAL_DECISION"),approvalId:y.Yj(),decision:S}),w=y.Ik({type:y.eu("CANCEL_TASK"),agentId:y.Yj(),taskId:y.Yj()}),j=y.Ik({type:y.eu("PING")}),A=y.Ik({type:y.eu("CREATE_AGENT"),agentId:y.Yj(),name:y.Yj(),role:y.Yj(),palette:y.ai().optional(),personality:y.Yj().optional(),backend:y.Yj().optional()}),E=y.Ik({type:y.eu("FIRE_AGENT"),agentId:y.Yj()}),I=y.Ik({type:y.eu("OPEN_FILE"),path:y.Yj()}),W=y.Ik({type:y.eu("CREATE_TEAM"),leadId:y.Yj(),memberIds:y.YO(y.Yj()),backends:y.g1(y.Yj(),y.Yj()).optional()}),F=y.Ik({type:y.eu("SERVE_PREVIEW"),filePath:y.Yj().optional(),previewCmd:y.Yj().optional(),previewPort:y.ai().optional(),cwd:y.Yj().optional()}),D=y.Ik({type:y.eu("STOP_TEAM")}),L=y.Ik({type:y.eu("FIRE_TEAM")}),P=y.Ik({type:y.eu("KILL_EXTERNAL"),agentId:y.Yj()}),O=y.Ik({type:y.eu("APPROVE_PLAN"),agentId:y.Yj()}),R=y.Ik({type:y.eu("END_PROJECT"),agentId:y.Yj()}),_=y.Ik({type:y.eu("SAVE_AGENT_DEF"),agent:y.Ik({id:y.Yj(),name:y.Yj(),role:y.Yj(),skills:y.Yj(),personality:y.Yj(),palette:y.ai(),isBuiltin:y.zM(),teamRole:y.k5(["dev","reviewer","leader"])})}),H=y.Ik({type:y.eu("DELETE_AGENT_DEF"),agentDefId:y.Yj()});y.gM("type",[C,T,w,j,A,E,I,W,F,D,L,P,O,R,_,H]);let z=y.Ik({type:y.eu("AGENT_STATUS"),agentId:y.Yj(),status:b,details:y.Yj().optional()}),Y=y.Ik({type:y.eu("TASK_STARTED"),agentId:y.Yj(),taskId:y.Yj(),prompt:y.Yj()}),M=y.Ik({type:y.eu("LOG_APPEND"),agentId:y.Yj(),taskId:y.Yj(),stream:y.k5(["stdout","stderr"]),chunk:y.Yj()}),N=y.Ik({type:y.eu("APPROVAL_NEEDED"),approvalId:y.Yj(),agentId:y.Yj(),taskId:y.Yj(),title:y.Yj(),summary:y.Yj(),riskLevel:k}),B=y.Ik({inputTokens:y.ai(),outputTokens:y.ai()}),U=y.Ik({summary:y.Yj(),fullOutput:y.Yj().optional(),changedFiles:y.YO(y.Yj()),diffStat:y.Yj(),testResult:y.k5(["passed","failed","unknown"]),nextSuggestion:y.Yj().optional(),previewUrl:y.Yj().optional(),previewPath:y.Yj().optional(),entryFile:y.Yj().optional(),projectDir:y.Yj().optional(),previewCmd:y.Yj().optional(),previewPort:y.ai().optional(),tokenUsage:B.optional()}),X=y.Ik({type:y.eu("TASK_DONE"),agentId:y.Yj(),taskId:y.Yj(),result:U,isFinalResult:y.zM().optional()}),V=y.Ik({type:y.eu("TASK_FAILED"),agentId:y.Yj(),taskId:y.Yj(),error:y.Yj()}),G=y.Ik({type:y.eu("TASK_DELEGATED"),fromAgentId:y.Yj(),toAgentId:y.Yj(),taskId:y.Yj(),prompt:y.Yj()}),K=y.Ik({type:y.eu("AGENT_CREATED"),agentId:y.Yj(),name:y.Yj(),role:y.Yj(),palette:y.ai().optional(),personality:y.Yj().optional(),backend:y.Yj().optional(),isTeamLead:y.zM().optional(),teamId:y.Yj().optional(),isExternal:y.zM().optional(),pid:y.ai().optional(),cwd:y.Yj().optional(),startedAt:y.ai().optional()}),J=y.Ik({type:y.eu("AGENT_FIRED"),agentId:y.Yj()}),Z=y.Ik({type:y.eu("TASK_RESULT_RETURNED"),fromAgentId:y.Yj(),toAgentId:y.Yj(),taskId:y.Yj(),summary:y.Yj(),success:y.zM()}),q=y.Ik({type:y.eu("TEAM_CHAT"),fromAgentId:y.Yj(),toAgentId:y.Yj().optional(),message:y.Yj(),messageType:y.k5(["delegation","result","status"]),taskId:y.Yj().optional(),timestamp:y.ai()}),Q=y.Ik({type:y.eu("TASK_QUEUED"),agentId:y.Yj(),taskId:y.Yj(),prompt:y.Yj(),position:y.ai()}),$=y.Ik({type:y.eu("TOKEN_UPDATE"),agentId:y.Yj(),inputTokens:y.ai(),outputTokens:y.ai()}),ee=y.Ik({type:y.eu("TEAM_PHASE"),teamId:y.Yj(),phase:v,leadAgentId:y.Yj()}),et=y.Ik({type:y.eu("AGENT_DEFS"),agents:y.YO(y.Ik({id:y.Yj(),name:y.Yj(),role:y.Yj(),skills:y.Yj(),personality:y.Yj(),palette:y.ai(),isBuiltin:y.zM(),teamRole:y.k5(["dev","reviewer","leader"])}))}),eo=y.gM("type",[z,Y,M,N,X,V,G,K,J,Z,q,Q,$,ee,et]);[{palette:0,name:"Alex",role:"Frontend Dev",description:"UI components, React/Next.js/CSS",personality:"You speak in a friendly, casual, encouraging, and natural tone."},{palette:1,name:"Mia",role:"Backend Dev",description:"APIs, database, server logic",personality:"You speak formally, professionally, in an organized and concise manner."},{palette:2,name:"Leo",role:"Fullstack Dev",description:"End-to-end, frontend + backend",personality:"You are aggressive, action-first, always pursuing speed and efficiency."},{palette:3,name:"Sophie",role:"Code Reviewer",description:"Review PRs, find bugs, quality",personality:"You teach patiently, explain the reasoning, and guide like a mentor."},{palette:4,name:"Kai",role:"Game Dev",description:"Web games, PixiJS/Three.js/Canvas",personality:"You are enthusiastic, creative, and obsessive about game feel. You care deeply about smooth animations, tight controls, and the little details that make a game satisfying to play."},{palette:5,name:"Marcus",role:"Team Lead",description:"Creative direction, planning, delegation",personality:"You have strong product intuition and communicate with clarity and vision. You focus on the big picture, make decisive creative calls, and keep the team aligned.",isLeader:!0}].findIndex(e=>e.isLeader);var en=o(5149);let er=null,el=null,ea=null,ei=null,es=null;function ec(){ei&&(clearTimeout(ei),ei=null),ea&&(ea.onopen=null,ea.onmessage=null,ea.onclose=null,ea.onerror=null,ea.close(),ea=null)}function ed(e){if(!ea||ea.readyState!==WebSocket.OPEN)return void console.warn("[WS] Not connected, dropping command:",e.type);console.log("[WS] Sending command:",e.type,e),ea.send(JSON.stringify(e))}let ep=null,eu=0;function eg(e){if("ws"===ep)ed(e);else if("ably"===ep){if(!el)throw Error("Not connected");console.log("[Web] Sending command:",e.type,e),el.publish(e.type,e).then(()=>console.log("[Web] Command published OK"),e=>console.error("[Web] Command publish failed:",e))}else console.warn("[Connection] No active transport, attempting WS fallback"),ed(e)}function ef(){"ws"===ep?(es=null,ec()):"ably"===ep&&function(){if(!er)return;let e=er.connection.state;"connected"===e||"disconnected"===e||"suspended"===e?er.close():("connecting"===e||"initialized"===e)&&(er.connection.once("connected",()=>null==er?void 0:er.close()),er.connection.once("failed",()=>{})),er=null,el=null}(),ep=null}var eh=o(2001),em=o(7441),ex=o(2988),ey=o(5195),eb=o(2243);class ek{pushUndo(e){this.undoStack.push(e),this.undoStack.length>eb.k2&&this.undoStack.shift()}popUndo(){return this.undoStack.pop()||null}pushRedo(e){this.redoStack.push(e),this.redoStack.length>eb.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,o,n,r){this.dragUid=e,this.dragStartCol=t,this.dragStartRow=o,this.dragOffsetCol=n,this.dragOffsetRow=r,this.isDragMoving=!1}clearDrag(){this.dragUid=null,this.isDragMoving=!1}reset(){this.activeTool=ey.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=ey.VF.SELECT,this.selectedTileType=ey.nb.FLOOR_1,this.selectedFurnitureType="desk",this.floorColor={...eb.Pk},this.wallColor={...eb.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 eS=o(1204),ev=o(9892);let eC="office-layout";var eT=o(9631);let ew={external:"#5aacff",team:"#d4a017",normal:"#8a7a6a"};function ej(e){if(e.isExternal){var t;return{label:"".concat(null!=(t=e.pid)?t:"?"),color:ew.external}}return{label:e.name.split(/[\s(]/)[0],color:e.teamId?ew.team:ew.normal}}function eA(e){return e.pendingApproval?"permission":"working"===e.status?"working":"done"===e.status||"error"===e.status?"waiting":null}var eE=o(5282);let eI=(0,eE.default)(()=>o.e(368).then(o.bind(o,368)),{loadableGenerated:{webpack:()=>[368]},ssr:!1}),eW=(0,eE.default)(()=>o.e(810).then(o.bind(o,9810)),{loadableGenerated:{webpack:()=>[9810]},ssr:!1});(0,eE.default)(()=>o.e(290).then(o.bind(o,9290)),{loadableGenerated:{webpack:()=>[9290]},ssr:!1});let eF=(0,eE.default)(()=>o.e(29).then(o.bind(o,6029)),{loadableGenerated:{webpack:()=>[6029]},ssr:!1}),eD=(0,eE.default)(()=>o.e(757).then(o.bind(o,3757)),{loadableGenerated:{webpack:()=>[3757]},ssr:!1}),eL={idle:{color:"#7a7060",label:"Idle"},working:{color:"#5aacff",label:"Working..."},waiting_approval:{color:"#e89030",label:"Needs Approval"},done:{color:"#48cc6a",label:"Done"},error:{color:"#e04848",label:"Error"}},eP=/\[?(https?:\/\/[^\s)>\]]+)\]?|((?:open\s+)?\/[\w./-]+\.\w+)/g;function eO(e){let{logLine:t}=e;return(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-start",marginBottom:8},children:(0,n.jsxs)("div",{style:{padding:"8px 12px",backgroundColor:"#1e1a30",color:"#7a8a6a",fontSize:11,fontFamily:"monospace",border:"1px solid #3d2e54",borderLeft:"2px solid #e8b04060",maxWidth:"100%",overflow:"hidden",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:[(0,n.jsx)("span",{style:{opacity:.5,marginRight:6},children:">"}),t||"Thinking..."]})})}function eR(e){let{url:t,onClose:o}=e,[l,a]=(0,r.useState)("loading");return(0,r.useEffect)(()=>{a("loading");let e=setTimeout(()=>a("ready"),3e3);return()=>clearTimeout(e)},[t]),(0,n.jsxs)("div",{style:{position:"fixed",inset:0,zIndex:9999,backgroundColor:"rgba(0,0,0,0.85)",display:"flex",flexDirection:"column"},children:[(0,n.jsxs)("div",{style:{height:40,display:"flex",alignItems:"center",padding:"0 12px",backgroundColor:"#1a1530",gap:8},children:[(0,n.jsx)("span",{style:{flex:1,color:"#888",fontSize:13,fontFamily:"monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t}),(0,n.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",style:{color:"#e8b040",fontSize:11,textDecoration:"none",padding:"2px 8px",border:"1px solid #3d2d10",fontFamily:"monospace"},children:"Open in tab"}),(0,n.jsx)("button",{onClick:o,style:{background:"none",border:"1px solid #444",color:"#aaa",fontSize:16,cursor:"pointer",borderRadius:6,width:28,height:28,display:"flex",alignItems:"center",justifyContent:"center"},children:"✕"})]}),"loading"===l&&(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:16},children:[(0,n.jsx)("div",{style:{width:32,height:32,border:"3px solid #333",borderTopColor:"#818cf8",borderRadius:"50%",animation:"preview-spin 0.8s linear infinite"}}),(0,n.jsx)("div",{style:{color:"#888",fontSize:14},children:"Starting server..."}),(0,n.jsx)("style",{children:"@keyframes preview-spin { to { transform: rotate(360deg); } }"})]}),"ready"===l&&(0,n.jsx)("iframe",{src:t,style:{flex:1,border:"none",width:"100%"}})]})}function e_(){let e=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let t,o=e.current;if(!o)return;let n=o.getContext("2d");if(!n)return;o.width=window.innerWidth,o.height=window.innerHeight;let r=["#ff6b6b","#feca57","#48dbfb","#ff9ff3","#54a0ff","#5f27cd","#01a3a4","#ff5e57","#0abde3","#10ac84"],l=[],a=o.width,i=o.height;for(let e=0;e<120;e++)l.push({x:Math.random()*a,y:-Math.random()*i*.8,vx:(Math.random()-.5)*2,vy:1.5+3*Math.random(),w:6+8*Math.random(),h:4+6*Math.random(),rot:Math.random()*Math.PI*2,rotSpeed:(Math.random()-.5)*.15,color:r[Math.floor(Math.random()*r.length)],alpha:1});let s=performance.now(),c=e=>{let o=e-s,r=o>2200?Math.max(0,1-(o-2200)/800):1;for(let t of(n.clearRect(0,0,a,i),l))t.x+=t.vx+.5*Math.sin(.002*e+t.rot),t.y+=t.vy,t.rot+=t.rotSpeed,t.x<-20&&(t.x=a+20),t.x>a+20&&(t.x=-20),t.y>i+20&&(t.y=-10,t.x=Math.random()*a),n.save(),n.translate(t.x,t.y),n.rotate(t.rot),n.globalAlpha=r,n.fillStyle=t.color,n.fillRect(-t.w/2,-t.h/2,t.w,t.h),n.restore();o<3e3&&(t=requestAnimationFrame(c))};return t=requestAnimationFrame(c),()=>cancelAnimationFrame(t)},[]),(0,n.jsx)("canvas",{ref:e,style:{position:"fixed",inset:0,zIndex:1e4,pointerEvents:"none"}})}function eH(e){return e.previewCmd&&e.previewPort?{type:"SERVE_PREVIEW",previewCmd:e.previewCmd,previewPort:e.previewPort,cwd:e.projectDir}:e.previewPath?{type:"SERVE_PREVIEW",filePath:e.previewPath}:e.previewCmd?{type:"SERVE_PREVIEW",previewCmd:e.previewCmd,cwd:e.projectDir}:e.entryFile&&!/\.html?$/i.test(e.entryFile)?{type:"SERVE_PREVIEW",previewCmd:e.entryFile,cwd:e.projectDir}:null}function ez(e){let{previewUrl:t,previewPath:o,onPreview:r,onDismiss:l,previewCmd:a,previewPort:i,projectDir:s,entryFile:c}=e,d=!t&&eH({previewPath:o,previewCmd:a,previewPort:i,projectDir:s,entryFile:c});return(0,n.jsx)("div",{style:{position:"fixed",inset:0,zIndex:9999,backgroundColor:"rgba(0,0,0,0.7)",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,n.jsxs)("div",{style:{backgroundColor:"#231e38",padding:"28px 24px",maxWidth:420,width:"90%",textAlign:"center",border:"2px solid #e8b040",boxShadow:"0 0 40px rgba(200,155,48,0.15), 4px 4px 0px rgba(0,0,0,0.5)"},children:[(0,n.jsx)("div",{style:{fontSize:32,marginBottom:10},children:"★"}),(0,n.jsx)("div",{className:"px-font",style:{color:"#e8b040",fontSize:13,marginBottom:10,letterSpacing:"0.05em"},children:"Mission Complete!"}),(0,n.jsx)("div",{style:{color:"#9a8a68",fontSize:13,marginBottom:20,lineHeight:1.7,fontFamily:"monospace"},children:"Your task has been completed successfully. Ready for the next mission whenever you are."}),(0,n.jsxs)("div",{style:{display:"flex",gap:10,justifyContent:"center"},children:[t&&(0,n.jsx)("button",{onClick:()=>{let e=eH({previewPath:o,previewCmd:a,previewPort:i,projectDir:s,entryFile:c});e&&eg(e),r(t)},style:{padding:"9px 20px",border:"1px solid #48cc6a",backgroundColor:"#143a14",color:"#48cc6a",fontSize:12,fontWeight:700,cursor:"pointer",fontFamily:"monospace"},children:"▶ Preview"}),d&&(0,n.jsx)("button",{onClick:()=>{let e=eH({previewPath:o,previewCmd:a,previewPort:i,projectDir:s,entryFile:c});e&&eg(e),l()},style:{padding:"9px 20px",border:"1px solid #5aacff",backgroundColor:"#0f1e3a",color:"#5aacff",fontSize:12,fontWeight:700,cursor:"pointer",fontFamily:"monospace"},children:"▶ Launch"}),(0,n.jsx)("button",{onClick:l,style:{padding:"9px 20px",border:"1px solid #3d2e54",backgroundColor:"#1e1a30",color:"#9a8a68",fontSize:12,cursor:"pointer",fontFamily:"monospace"},children:"OK"})]})]})})}function eY(e){let{message:t,onConfirm:o,onCancel:r}=e;return(0,n.jsx)("div",{style:{position:"fixed",inset:0,zIndex:1e4,backgroundColor:"rgba(0,0,0,0.65)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:r,children:(0,n.jsxs)("div",{style:{backgroundColor:"#1a1a2e",borderRadius:14,padding:"28px 24px",maxWidth:380,width:"90%",textAlign:"center",border:"1px solid #333",boxShadow:"0 16px 48px rgba(0,0,0,0.5)"},onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("div",{style:{color:"#eee",fontSize:16,lineHeight:1.6,marginBottom:24},children:t}),(0,n.jsxs)("div",{style:{display:"flex",gap:12,justifyContent:"center"},children:[(0,n.jsx)("button",{onClick:r,style:{padding:"9px 28px",borderRadius:8,border:"1px solid #444",backgroundColor:"#2a2a3e",color:"#aaa",fontSize:14,cursor:"pointer"},children:"No"}),(0,n.jsx)("button",{onClick:o,style:{padding:"9px 28px",borderRadius:8,border:"none",backgroundColor:"#dc2626",color:"#fff",fontSize:14,fontWeight:600,cursor:"pointer"},children:"Yes"})]})]})})}let eM={pre(e){let{children:t}=e;return(0,n.jsx)("div",{style:{overflowX:"auto",margin:"6px 0",WebkitOverflowScrolling:"touch"},children:t})},p(e){let{children:t}=e;return(0,n.jsx)("div",{style:{margin:"4px 0"},children:t})},code(e){var t;let{className:o,children:r,...l}=e,a=String(r).replace(/\n$/,""),i=(null==o?void 0:o.includes("language-"))||a.includes("\n"),s=a.match(/^open\s+(\/\S+)/),c=s?null:a.match(/^(\/[\w./-]+\.\w+)$/),d=null!=(t=null==s?void 0:s[1])?t:null==c?void 0:c[1];return d?(0,n.jsxs)("pre",{onClick:()=>eg({type:"OPEN_FILE",path:d}),style:{backgroundColor:"#1a1830",padding:"8px 10px",borderRadius:6,fontSize:12,cursor:"pointer",border:"1px solid #2a2a4a",display:"flex",alignItems:"center",gap:8,whiteSpace:"pre-wrap",wordBreak:"break-all"},title:"Click to open",children:[(0,n.jsx)("span",{style:{fontSize:14},children:"\uD83D\uDD17"}),(0,n.jsx)("code",{style:{fontFamily:"monospace",color:"#818cf8"},...l,children:a})]}):i?(0,n.jsx)("pre",{style:{backgroundColor:"#1a1830",padding:"8px 10px",borderRadius:6,fontSize:12,whiteSpace:"pre-wrap",wordBreak:"break-all"},children:(0,n.jsx)("code",{style:{fontFamily:"monospace",color:"#a5b4fc"},...l,children:r})}):(0,n.jsx)("code",{style:{backgroundColor:"#1a1830",padding:"1px 5px",borderRadius:4,fontFamily:"monospace",color:"#a5b4fc",fontSize:13},...l,children:r})},table(e){let{children:t}=e;return(0,n.jsx)("div",{style:{overflowX:"auto",margin:"6px 0",WebkitOverflowScrolling:"touch"},children:(0,n.jsx)("table",{style:{borderCollapse:"collapse",fontSize:13,whiteSpace:"nowrap"},children:t})})},th(e){let{children:t}=e;return(0,n.jsx)("th",{style:{padding:"4px 10px",borderBottom:"1px solid #444",textAlign:"left",color:"#e2e8f0"},children:t})},td(e){let{children:t}=e;return(0,n.jsx)("td",{style:{padding:"4px 10px",borderBottom:"1px solid #222"},children:t})},ul(e){let{children:t}=e;return(0,n.jsx)("ul",{style:{margin:"4px 0",paddingLeft:18},children:t})},ol(e){let{children:t}=e;return(0,n.jsx)("ol",{style:{margin:"4px 0",paddingLeft:18},children:t})},a(e){let{href:t,children:o}=e;return(0,n.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",style:{color:"#818cf8",textDecoration:"underline",wordBreak:"break-all"},children:o})},strong(e){let{children:t}=e;return(0,n.jsx)("strong",{style:{color:"#f0f0f0"},children:t})}};function eN(e){let{text:t}=e;return(0,n.jsx)(em.oz,{urlTransform:e=>e,components:eM,children:t.replace(/(https?:\/\/[^\s)>\]]+)/g,"[$1]($1)")})}function eB(e){var t,o,l,a,i,s,c,d,p,u,g;let{msg:f,onPreview:h,isTeamLead:m,isTeamMember:x,teamPhase:y}=e,[b,k]=(0,r.useState)(!1);if("user"===f.role)return(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:8},children:(0,n.jsx)("div",{style:{maxWidth:"80%",padding:"8px 12px",backgroundColor:"#382800",color:"#eddcb8",fontSize:13,wordBreak:"break-word",border:"1px solid #e8b04050",borderLeft:"2px solid #e8b040"},children:function e(t){if("string"==typeof t){let e,o=[],r=0;for(eP.lastIndex=0;null!==(e=eP.exec(t));){e.index>r&&o.push(t.slice(r,e.index));let l=e[1],a=e[2];if(l)o.push((0,n.jsx)("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:"#e8b040",textDecoration:"underline"},children:l},e.index));else if(a){let t=a.replace(/^open\s+/,"");o.push((0,n.jsx)("span",{onClick:()=>eg({type:"OPEN_FILE",path:t}),style:{color:"#e8b040",textDecoration:"underline",cursor:"pointer",fontFamily:"monospace",fontSize:13},title:"Click to open",children:a},e.index))}r=e.index+e[0].length}return 0===o.length?t:(r<t.length&&o.push(t.slice(r)),o)}return Array.isArray(t)?t.map((t,o)=>"string"==typeof t?e(t):t):t}(f.text)})});if("system"===f.role){let e=f.text.startsWith("Delegated to "),t=f.text.startsWith("Result from "),o=f.text.startsWith("Task queued "),r=e||t||o,l=e?"#5aacff44":t?"#48cc6a44":o?"#e8b04044":"#e0484844";return(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-start",marginBottom:8},children:(0,n.jsxs)("div",{style:{maxWidth:"80%",padding:"8px 12px",backgroundColor:e?"#182844":t?"#143822":o?"#282010":"#3e1818",border:"1px solid ".concat(l),color:e?"#7ab8f5":t?"#7ad89a":o?"#e8b040":"#c87070",fontSize:r?11:13,wordBreak:"break-word",fontFamily:"monospace"},className:"chat-markdown",children:[r&&(0,n.jsx)("span",{style:{fontSize:9,opacity:.6,marginRight:4},children:e?"[delegation]":t?"[result]":"[queued]"}),(0,n.jsx)(eN,{text:f.text})]})})}let S=!!((null==(t=f.result)?void 0:t.fullOutput)&&f.result.fullOutput!==f.text&&f.result.fullOutput.length>f.text.length+20),v=f.text.match(/\[PLAN\]([\s\S]*?)\[\/PLAN\]/i),C=null==v||null==(o=v[1])?void 0:o.trim(),T=C?f.text.replace(/\[PLAN\][\s\S]*?\[\/PLAN\]/i,"").trim():null;if(m&&f.isFinalResult&&f.result){let e=f.result,t=e.summary.replace(/ENTRY_FILE:\s*.+/gi,"").replace(/PROJECT_DIR:\s*.+/gi,"").replace(/SUMMARY:\s*/gi,"").trim(),o=null!=(p=e.entryFile)?p:null==(s=e.summary.match(/ENTRY_FILE:\s*(.+)/i))||null==(i=s[1])?void 0:i.trim(),r=null!=(u=e.projectDir)?u:null==(d=e.summary.match(/PROJECT_DIR:\s*(.+)/i))||null==(c=d[1])?void 0:c.trim(),l=null!=(g=e.changedFiles)?g:[];return(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-start",marginBottom:8},children:(0,n.jsxs)("div",{style:{maxWidth:"90%",width:"100%",border:"2px solid #48cc6a",backgroundColor:"#0a1f12",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{padding:"10px 14px",backgroundColor:"#143a14",borderBottom:"1px solid #48cc6a40",display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("span",{style:{fontSize:14},children:"✓"}),(0,n.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"#48cc6a",fontFamily:"monospace",letterSpacing:"0.08em"},children:"PROJECT DELIVERED"})]}),(0,n.jsx)("div",{style:{padding:"12px 14px"},className:"chat-markdown",children:(0,n.jsx)("div",{style:{color:"#d8c8a8",fontSize:13,lineHeight:1.6},children:(0,n.jsx)(eN,{text:t||"Project completed successfully."})})}),(r||o)&&(0,n.jsxs)("div",{style:{padding:"8px 14px",borderTop:"1px solid #48cc6a20",display:"flex",gap:16,flexWrap:"wrap"},children:[r&&(0,n.jsxs)("div",{style:{fontSize:11,fontFamily:"monospace"},children:[(0,n.jsx)("span",{style:{color:"#7a8a6a"},children:"Directory: "}),(0,n.jsx)("span",{style:{color:"#e8b040"},children:r})]}),o&&(0,n.jsxs)("div",{style:{fontSize:11,fontFamily:"monospace"},children:[(0,n.jsx)("span",{style:{color:"#7a8a6a"},children:"Entry: "}),(0,n.jsx)("span",{style:{color:"#e8b040",cursor:"pointer",textDecoration:"underline"},onClick:()=>eg({type:"OPEN_FILE",path:o}),children:o})]})]}),l.length>0&&(0,n.jsxs)("div",{style:{padding:"8px 14px",borderTop:"1px solid #48cc6a20"},children:[(0,n.jsxs)("div",{style:{fontSize:10,color:"#7a8a6a",marginBottom:4,fontFamily:"monospace"},children:[l.length," FILES"]}),l.slice(0,8).map((e,t)=>(0,n.jsx)("div",{style:{fontSize:11,fontFamily:"monospace",color:"#b8a878",padding:"1px 0"},children:e},t)),l.length>8&&(0,n.jsxs)("div",{style:{fontSize:10,color:"#5a4838",fontFamily:"monospace"},children:["...and ",l.length-8," more"]})]}),e.previewUrl&&h&&(0,n.jsx)("div",{style:{padding:"10px 14px",borderTop:"1px solid #48cc6a20"},children:(0,n.jsx)("button",{onClick:()=>{let t=eH(e);t&&eg(t),h(e.previewUrl)},style:{width:"100%",padding:"10px 16px",backgroundColor:"#143a14",color:"#48cc6a",border:"1px solid #48cc6a50",cursor:"pointer",fontSize:12,fontWeight:700,fontFamily:"monospace"},children:"▶ Preview Result"})}),!e.previewUrl&&eH(e)&&(0,n.jsx)("div",{style:{padding:"10px 14px",borderTop:"1px solid #48cc6a20"},children:(0,n.jsx)("button",{onClick:()=>{let t=eH(e);t&&eg(t)},style:{width:"100%",padding:"10px 16px",backgroundColor:"#0f1e3a",color:"#5aacff",border:"1px solid #5aacff50",cursor:"pointer",fontSize:12,fontWeight:700,fontFamily:"monospace"},children:"▶ Launch App"})}),(0,n.jsx)("div",{style:{padding:"8px 14px",borderTop:"1px solid #48cc6a20",fontSize:11,color:"#5a7a5a",fontFamily:"monospace"},children:"Send feedback to request changes, or End Project to start fresh."})]})})}return(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-start",marginBottom:8},children:(0,n.jsxs)("div",{style:{maxWidth:"85%",padding:"8px 12px",backgroundColor:"#231e38",color:"#d8c8a8",fontSize:13,wordBreak:"break-word",overflow:"hidden",minWidth:0,border:"1px solid #3d2e54",borderLeft:"2px solid #3d2e54"},className:"chat-markdown",children:[C?(0,n.jsxs)(n.Fragment,{children:[T&&(0,n.jsx)(eN,{text:T}),(0,n.jsxs)("div",{style:{marginTop:8*!!T,padding:"10px 12px",border:"2px solid #e8b040",backgroundColor:"#261a00",borderRadius:0},children:[(0,n.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"#e8b040",fontFamily:"monospace",letterSpacing:"0.1em",marginBottom:8},children:"PROJECT PLAN"}),(0,n.jsx)("div",{style:{color:"#eddcb8",fontSize:12},children:(0,n.jsx)(eN,{text:C})})]})]}):(0,n.jsx)(eN,{text:b&&(null==(l=f.result)?void 0:l.fullOutput)?f.result.fullOutput:f.text}),S&&!C&&(0,n.jsx)("button",{onClick:()=>k(!b),style:{marginTop:6,padding:"3px 8px",backgroundColor:"transparent",color:"#e8b040",border:"1px solid #e8b04040",cursor:"pointer",fontSize:10,fontFamily:"monospace"},children:b?"▲ Collapse":"▼ Full output"}),f.result&&f.result.changedFiles.length>0&&!C&&(0,n.jsxs)("div",{style:{marginTop:8,padding:"6px 8px",backgroundColor:"#1a1530",fontSize:11,border:"1px solid #3d2e54"},children:[(0,n.jsxs)("div",{style:{color:"#7a6858",marginBottom:4,fontFamily:"monospace"},children:["Changed ",f.result.changedFiles.length," files"]}),f.result.changedFiles.slice(0,5).map((e,t)=>(0,n.jsx)("div",{style:{fontFamily:"monospace",color:"#e8b040",opacity:.8},children:e},t)),f.result.changedFiles.length>5&&(0,n.jsxs)("div",{style:{color:"#7a6858",fontFamily:"monospace"},children:["...and ",f.result.changedFiles.length-5," more"]})]}),(null==(a=f.result)?void 0:a.previewUrl)&&h&&!x&&!m&&(0,n.jsx)("button",{onClick:()=>{let e=eH(f.result);e&&eg(e),h(f.result.previewUrl)},style:{marginTop:8,padding:"5px 12px",backgroundColor:"#143a14",color:"#48cc6a",border:"1px solid #48cc6a50",cursor:"pointer",fontSize:11,fontWeight:700,fontFamily:"monospace"},children:"▶ Preview"})]})})}function eU(e){let{palette:t,zoom:o=3,ready:l}=e,a=(0,r.useRef)(null);return(0,r.useEffect)(()=>{var e,n;let r=a.current;if(!r)return;let l=(0,ex.Cr)(t);if(!l)return;let i=l.length,s=null!=(n=null==(e=l[0])?void 0:e.length)?n:0;r.width=s*o,r.height=i*o;let c=r.getContext("2d");if(c){c.clearRect(0,0,r.width,r.height);for(let e=0;e<i;e++)for(let t=0;t<s;t++){let n=l[e][t];n&&(c.fillStyle=n,c.fillRect(t*o,e*o,o,o))}}},[t,o,l]),(0,n.jsx)("canvas",{ref:a,style:{width:16*o,height:32*o,imageRendering:"pixelated"}})}let eX=[{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"}],eV=[{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."},{label:"Patient Mentor",value:"You teach patiently, explain the reasoning, and guide like a mentor."}],eG=["Frontend Dev","Backend Dev","Fullstack Dev","Game Dev","Data Scientist","DevOps Engineer","Mobile Dev","UI/UX Designer","QA Engineer"],eK={"Frontend Dev":["React","Next.js","CSS","TypeScript","Vue","Tailwind","HTML","Webpack"],"Backend Dev":["Node.js","Python","APIs","Database","SQL","Redis","GraphQL","Docker"],"Fullstack Dev":["React","Node.js","TypeScript","APIs","Database","CSS","Next.js","Docker"],"Game Dev":["PixiJS","Three.js","Canvas","Pygame","WebGL","Unity","Godot","TypeScript","Physics"],"Data Scientist":["Python","Pandas","ML","TensorFlow","Data Viz","Jupyter","NumPy","SQL"],"DevOps Engineer":["Docker","K8s","CI/CD","AWS","Terraform","Linux","Monitoring","Bash"],"Mobile Dev":["React Native","Swift","Kotlin","Flutter","iOS","Android","TypeScript","Expo"],"UI/UX Designer":["Figma","CSS","Design Systems","Prototyping","Animation","Accessibility","Tailwind"],"QA Engineer":["Testing","Cypress","Jest","Playwright","Automation","CI/CD","Performance","A11y"]};function eJ(e){var t,o,l,a;let{onSave:i,onClose:s,assetsReady:c,editAgent:d}=e,[p,u]=(0,r.useState)(null!=(t=null==d?void 0:d.palette)?t:0),[g,f]=(0,r.useState)(null!=(o=null==d?void 0:d.name)?o:""),[h,m]=(0,r.useState)(()=>{if(!(null==d?void 0:d.role))return 0;let e=eG.indexOf(d.role);return e>=0?e:-1}),[x,y]=(0,r.useState)(()=>(null==d?void 0:d.role)?eG.indexOf(d.role)>=0?"":d.role:""),[b,k]=(0,r.useState)(()=>{var e,t;return new Set((null==d?void 0:d.skills)?d.skills.split(",").map(e=>e.trim()).filter(Boolean):null!=(t=null==(e=eK[eG[0]])?void 0:e.slice(0,4))?t:[])}),[S,v]=(0,r.useState)(""),C=h>=0?eG[h]:x.trim(),T=h>=0&&null!=(l=eK[eG[h]])?l:[],w=e=>{k(t=>{let o=new Set(t);return o.has(e)?o.delete(e):o.add(e),o})},j=()=>{let e=S.trim();e&&!b.has(e)&&(k(t=>new Set(t).add(e)),v(""))},[A,E]=(0,r.useState)(()=>{if(!d)return 0;let e=eV.findIndex(e=>e.value===d.personality);return e>=0?e:4}),[I,W]=(0,r.useState)(null!=(a=null==d?void 0:d.personality)?a:""),F=A<4?eV[A].value:I;return(0,n.jsx)("div",{onClick:s,style:{position:"fixed",inset:0,backgroundColor:"rgba(0,0,0,0.6)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:110},children:(0,n.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{backgroundColor:"#1e1a30",padding:"18px 18px 14px",width:"90%",maxWidth:400,border:"2px solid #3d2e54",boxShadow:"4px 4px 0px rgba(0,0,0,0.5)",maxHeight:"90vh",overflowY:"auto"},children:[(0,n.jsx)("h2",{className:"px-font",style:{fontSize:13,margin:"0 0 12px",textAlign:"center",color:"#e8b040",letterSpacing:"0.05em"},children:d?"Edit Agent":"Create Agent"}),(0,n.jsxs)("div",{style:{marginBottom:10},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginBottom:4,fontFamily:"monospace",letterSpacing:"0.05em"},children:"AVATAR"}),(0,n.jsx)("div",{style:{display:"flex",gap:4},children:[0,1,2,3,4,5].map(e=>(0,n.jsx)("button",{onClick:()=>u(e),style:{padding:3,border:p===e?"2px solid #e8b040":"2px solid #3d2e54",backgroundColor:p===e?"#382800":"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,n.jsx)(eU,{palette:e,zoom:2,ready:c})},e))})]}),(0,n.jsxs)("div",{style:{marginBottom:8},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginBottom:4,fontFamily:"monospace",letterSpacing:"0.05em"},children:"NAME"}),(0,n.jsx)("input",{value:g,onChange:e=>f(e.target.value),placeholder:"Agent name",style:{width:"100%",padding:"7px 10px",fontSize:13,fontFamily:"monospace",border:"1px solid #3d2e54",backgroundColor:"#14112a",color:"#eddcb8",boxSizing:"border-box"}})]}),(0,n.jsxs)("div",{style:{marginBottom:8},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginBottom:4,fontFamily:"monospace",letterSpacing:"0.05em"},children:"ROLE"}),(0,n.jsxs)("select",{value:h,onChange:e=>(e=>{if(m(e),e>=0){var t;let o=null!=(t=eK[eG[e]])?t:[];o.some(e=>b.has(e))||k(new Set(o.slice(0,4)))}})(Number(e.target.value)),style:{width:"100%",padding:"7px 10px",fontSize:13,fontFamily:"monospace",border:"1px solid #3d2e54",backgroundColor:"#14112a",color:"#eddcb8",boxSizing:"border-box",cursor:"pointer"},children:[eG.map((e,t)=>(0,n.jsx)("option",{value:t,children:e},e)),(0,n.jsx)("option",{value:-1,children:"Custom..."})]}),-1===h&&(0,n.jsx)("input",{value:x,onChange:e=>y(e.target.value),placeholder:"e.g. Python Expert",style:{width:"100%",padding:"7px 10px",fontSize:13,fontFamily:"monospace",border:"1px solid #3d2e54",backgroundColor:"#14112a",color:"#eddcb8",boxSizing:"border-box",marginTop:4}})]}),(0,n.jsxs)("div",{style:{marginBottom:8},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginBottom:4,fontFamily:"monospace",letterSpacing:"0.05em"},children:"SKILLS"}),T.length>0&&(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:5,marginBottom:8},children:T.map(e=>{let t=b.has(e);return(0,n.jsx)("button",{onClick:()=>w(e),style:{padding:"4px 10px",fontSize:12,fontFamily:"monospace",border:t?"1px solid #e8b04080":"1px solid #3d2e54",backgroundColor:t?"#382800":"transparent",color:t?"#e8b040":"#7a6858",cursor:"pointer"},children:e},e)})}),(()=>{let e=Array.from(b).filter(e=>!T.includes(e));return 0===e.length?null:(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:5,marginBottom:8},children:e.map(e=>(0,n.jsxs)("span",{style:{padding:"4px 10px",fontSize:12,fontFamily:"monospace",border:"1px solid #5aacff60",backgroundColor:"#182844",color:"#5aacff",display:"flex",alignItems:"center",gap:4},children:[e,(0,n.jsx)("span",{onClick:()=>w(e),style:{cursor:"pointer",fontSize:14,lineHeight:1,color:"#5aacff80"},children:"\xd7"})]},e))})})(),(0,n.jsxs)("div",{style:{display:"flex",gap:4},children:[(0,n.jsx)("input",{value:S,onChange:e=>v(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),j())},placeholder:"Add custom skill...",style:{flex:1,padding:"6px 10px",fontSize:12,fontFamily:"monospace",border:"1px solid #3d2e54",backgroundColor:"#14112a",color:"#eddcb8",boxSizing:"border-box"}}),(0,n.jsx)("button",{onClick:j,style:{padding:"5px 12px",fontSize:14,fontWeight:700,border:"1px solid #3d2e54",backgroundColor:"transparent",color:"#7a6858",cursor:"pointer",fontFamily:"monospace"},children:"+"})]})]}),(0,n.jsxs)("div",{style:{marginBottom:10},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginBottom:4,fontFamily:"monospace",letterSpacing:"0.05em"},children:"PERSONALITY"}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:[eV.map((e,t)=>(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 6px",cursor:"pointer",fontSize:12,color:A===t?"#eddcb8":"#7a6858",fontFamily:"monospace"},children:[(0,n.jsx)("input",{type:"radio",name:"personality",checked:A===t,onChange:()=>E(t),style:{accentColor:"#e8b040",cursor:"pointer"}}),e.label]},t)),(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 6px",cursor:"pointer",fontSize:12,color:4===A?"#eddcb8":"#7a6858",fontFamily:"monospace"},children:[(0,n.jsx)("input",{type:"radio",name:"personality",checked:4===A,onChange:()=>E(4),style:{accentColor:"#e8b040",cursor:"pointer"}}),"Custom"]}),4===A&&(0,n.jsx)("textarea",{value:I,onChange:e=>W(e.target.value),placeholder:"Describe the personality...",rows:2,style:{width:"100%",padding:"7px 10px",fontSize:12,fontFamily:"monospace",border:"1px solid #3d2e54",backgroundColor:"#14112a",color:"#eddcb8",resize:"vertical",boxSizing:"border-box",marginTop:2}})]})]}),(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("button",{onClick:()=>{var e,t;g.trim()&&i({id:d?d.id:(g.trim().toLowerCase().replace(/[^a-z0-9\u4e00-\u9fff]+/g,"-").replace(/^-|-$/g,"")||"agent")+"-".concat((0,eh.Ak)(4)),name:g.trim(),role:C,skills:Array.from(b).join(", "),personality:F,palette:p,isBuiltin:null!=(e=null==d?void 0:d.isBuiltin)&&e,teamRole:null!=(t=null==d?void 0:d.teamRole)?t:"dev"})},style:{flex:1,padding:"9px",border:"1px solid #e8b04060",backgroundColor:"#382800",color:"#e8b040",fontSize:13,fontWeight:700,cursor:"pointer",fontFamily:"monospace",opacity:g.trim()?1:.4},disabled:!g.trim(),children:d?"Save":"Create"}),(0,n.jsx)("button",{onClick:s,style:{padding:"9px 16px",border:"1px solid #3d2e54",backgroundColor:"transparent",color:"#6a5848",fontSize:13,cursor:"pointer",fontFamily:"monospace"},children:"Cancel"})]})]})})}function eZ(e){let{agentDefs:t,onHire:o,onCreate:l,onEdit:a,onDelete:i,onClose:s,assetsReady:c}=e,[d,p]=(0,r.useState)("claude"),[u,g]=(0,r.useState)(null),f=t.filter(e=>e.isBuiltin&&"leader"!==e.teamRole),h=t.filter(e=>!e.isBuiltin&&"leader"!==e.teamRole);return(0,n.jsx)("div",{onClick:s,style:{position:"fixed",inset:0,backgroundColor:"rgba(0,0,0,0.6)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:100},children:(0,n.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{backgroundColor:"#1e1a30",padding:"18px 18px 14px",width:"90%",maxWidth:420,border:"2px solid #3d2e54",boxShadow:"4px 4px 0px rgba(0,0,0,0.5)",maxHeight:"90vh",overflowY:"auto"},children:[(0,n.jsx)("h2",{className:"px-font",style:{fontSize:13,margin:"0 0 14px",textAlign:"center",color:"#e8b040",letterSpacing:"0.05em"},children:"Hire Agent"}),(0,n.jsxs)("div",{style:{marginBottom:12},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginBottom:5,fontFamily:"monospace",letterSpacing:"0.05em"},children:"AI BACKEND"}),(0,n.jsx)("div",{style:{display:"flex",gap:4},children:eX.map(e=>(0,n.jsx)("button",{onClick:()=>p(e.id),style:{flex:1,padding:"6px 4px",fontSize:12,fontWeight:600,border:d===e.id?"1px solid ".concat(e.color):"1px solid #3d2e54",backgroundColor:d===e.id?e.color+"20":"transparent",color:d===e.id?e.color:"#6a5848",cursor:"pointer",fontFamily:"monospace"},children:e.name},e.id))})]}),(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginBottom:5,fontFamily:"monospace",letterSpacing:"0.05em"},children:"BUILT-IN AGENTS"}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:5,marginBottom:10},children:f.map(e=>(0,n.jsxs)("button",{onClick:()=>o(e,d),onMouseEnter:t=>{g(e.id),t.currentTarget.style.borderColor="#e8b04040"},onMouseLeave:e=>{g(null),e.currentTarget.style.borderColor="#3d2e54"},title:e.skills?"Skills: ".concat(e.skills):void 0,style:{display:"flex",flexDirection:"column",alignItems:"center",padding:"12px 6px 10px",position:"relative",border:"1px solid #3d2e54",backgroundColor:"transparent",cursor:"pointer",textAlign:"center",transition:"border-color 0.15s"},children:[(0,n.jsx)(eU,{palette:e.palette,zoom:2,ready:c}),(0,n.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#eddcb8",marginTop:6,width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginTop:2,width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.role}),u===e.id&&(0,n.jsx)("span",{onClick:t=>{t.stopPropagation(),a(e)},style:{position:"absolute",top:4,right:4,fontSize:14,color:"#7a6858",cursor:"pointer",padding:"2px 4px"},title:"Edit",children:"✎"})]},e.id))}),h.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginBottom:5,fontFamily:"monospace",letterSpacing:"0.05em"},children:"MY AGENTS"}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:5,marginBottom:10},children:h.map(e=>(0,n.jsxs)("button",{onClick:()=>o(e,d),onMouseEnter:t=>{g(e.id),t.currentTarget.style.borderColor="#e8b04040"},onMouseLeave:e=>{g(null),e.currentTarget.style.borderColor="#3d2e54"},title:e.skills?"Skills: ".concat(e.skills):void 0,style:{display:"flex",flexDirection:"column",alignItems:"center",padding:"12px 6px 10px",position:"relative",border:"1px solid #3d2e54",backgroundColor:"transparent",cursor:"pointer",textAlign:"center",transition:"border-color 0.15s"},children:[(0,n.jsx)(eU,{palette:e.palette,zoom:2,ready:c}),(0,n.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#eddcb8",marginTop:6,width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginTop:2,width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.role}),u===e.id&&(0,n.jsxs)("span",{style:{position:"absolute",top:4,right:4,display:"flex",gap:2,alignItems:"center"},children:[(0,n.jsx)("span",{onClick:t=>{t.stopPropagation(),a(e)},style:{fontSize:14,color:"#7a6858",cursor:"pointer",padding:"2px 4px"},title:"Edit",children:"✎"}),(0,n.jsx)("span",{onClick:t=>{t.stopPropagation(),i(e.id)},style:{fontSize:15,color:"#e04848",cursor:"pointer",padding:"2px 4px",fontWeight:700},title:"Delete",children:"\xd7"})]})]},e.id))})]}),(0,n.jsx)("button",{onClick:l,style:{width:"100%",marginBottom:5,padding:"9px",border:"1px solid #e8b04060",backgroundColor:"transparent",color:"#e8b040",fontSize:13,fontWeight:700,cursor:"pointer",fontFamily:"monospace"},children:"+ Create Agent"}),(0,n.jsx)("button",{onClick:s,style:{width:"100%",padding:"9px",border:"1px solid #3d2e54",backgroundColor:"transparent",color:"#6a5848",fontSize:13,cursor:"pointer",fontFamily:"monospace"},children:"Cancel"})]})})}let eq={delegation:{bg:"#182844",border:"#5aacff",label:"Delegated"},result:{bg:"#143822",border:"#48cc6a",label:"Result"},status:{bg:"#261a00",border:"#e8b040",label:"Status"}};function eQ(e){let{messages:t,agents:o,assetsReady:l}=e,a=(0,r.useRef)(null);return((0,r.useEffect)(()=>{var e;null==(e=a.current)||e.scrollIntoView({behavior:"smooth"})},[t.length]),0===t.length)?(0,n.jsx)("div",{style:{textAlign:"center",color:"#5a4838",padding:30,fontSize:11,fontFamily:"monospace"},children:"No team activity yet. Hire a team and send a task to the Team Lead."}):(0,n.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"10px 12px",display:"flex",flexDirection:"column",gap:6},children:[t.map((e,t)=>{var r,a,i,s;if(!e||!e.fromAgentId)return null;let c=null!=(r=eq[e.messageType])?r:eq.status,d=o.get(e.fromAgentId),p=e.toAgentId?o.get(e.toAgentId):void 0,u=null!=(a=e.message)?a:"";return(0,n.jsxs)("div",{style:{padding:"8px 10px",backgroundColor:c.bg,borderLeft:"2px solid ".concat(c.border),border:"1px solid ".concat(c.border,"40")},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[(null==d?void 0:d.palette)!==void 0&&(0,n.jsx)(eU,{palette:d.palette,zoom:1,ready:l}),(0,n.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"#eddcb8"},children:null!=(i=e.fromAgentName)?i:e.fromAgentId}),e.toAgentName&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{fontSize:10,color:"#6a5848"},children:"→"}),(null==p?void 0:p.palette)!==void 0&&(0,n.jsx)(eU,{palette:p.palette,zoom:1,ready:l}),(0,n.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"#eddcb8"},children:e.toAgentName})]}),(0,n.jsx)("span",{style:{marginLeft:"auto",fontSize:8,padding:"1px 4px",backgroundColor:c.border+"20",color:c.border,border:"1px solid ".concat(c.border,"40"),fontFamily:"monospace"},children:c.label})]}),(0,n.jsxs)("div",{style:{fontSize:11,color:"#b09878",wordBreak:"break-word",maxHeight:120,overflow:"hidden",fontFamily:"monospace"},children:[u.slice(0,300),u.length>300?"...":""]}),(0,n.jsx)("div",{style:{fontSize:9,color:"#5a4838",marginTop:4,fontFamily:"monospace"},children:new Date(e.timestamp).toLocaleTimeString()})]},null!=(s=e.id)?s:"tc-".concat(t))}),(0,n.jsx)("div",{ref:a})]})}function e$(e){var t,o,r;let{msg:l,agents:a,assetsReady:i,maxChars:s=150,shadow:c}=e,d=null!=(t=eq[l.messageType])?t:eq.status,p=a.get(l.fromAgentId),u=l.toAgentId?a.get(l.toAgentId):void 0,g=null!=(o=l.message)?o:"";return(0,n.jsxs)("div",{style:{padding:"8px 10px",backgroundColor:d.bg,borderLeft:"2px solid ".concat(d.border),border:"1px solid ".concat(d.border,"40"),boxShadow:c?"0 2px 12px rgba(0,0,0,0.5)":void 0},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[(null==p?void 0:p.palette)!==void 0&&(0,n.jsx)(eU,{palette:p.palette,zoom:1,ready:i}),(0,n.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"#eddcb8"},children:null!=(r=l.fromAgentName)?r:l.fromAgentId}),l.toAgentName&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{fontSize:10,color:"#6a5848"},children:"→"}),(null==u?void 0:u.palette)!==void 0&&(0,n.jsx)(eU,{palette:u.palette,zoom:1,ready:i}),(0,n.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"#eddcb8"},children:l.toAgentName})]}),(0,n.jsx)("span",{style:{marginLeft:"auto",fontSize:8,padding:"1px 4px",backgroundColor:d.border+"20",color:d.border,border:"1px solid ".concat(d.border,"40"),fontFamily:"monospace"},children:d.label})]}),(0,n.jsxs)("div",{style:{fontSize:11,color:"#b09878",wordBreak:"break-word",maxHeight:80,overflow:"hidden",fontFamily:"monospace"},children:[g.slice(0,s),g.length>s?"...":""]})]})}function e0(e){let{messages:t,agents:o,assetsReady:l}=e,[a,i]=(0,r.useState)(null),[s,c]=(0,r.useState)(!1),d=(0,r.useRef)(t.length),p=(0,r.useRef)(null);return((0,r.useEffect)(()=>{if(t.length>d.current){let e=t[t.length-1];e&&e.fromAgentId&&(p.current&&clearTimeout(p.current),i(e),c(!0),p.current=setTimeout(()=>{c(!1),p.current=setTimeout(()=>i(null),400)},5e3))}d.current=t.length},[t.length,t]),(0,r.useEffect)(()=>()=>{p.current&&clearTimeout(p.current)},[]),a)?(0,n.jsx)("div",{style:{position:"absolute",top:0,right:0,zIndex:20,width:300,maxWidth:"40vw",transform:s?"translateX(0)":"translateX(calc(100% + 16px))",opacity:+!!s,transition:"transform 0.35s ease, opacity 0.35s ease",pointerEvents:"none"},children:(0,n.jsx)(e$,{msg:a,agents:o,assetsReady:l,maxChars:120,shadow:!0})}):null}function e1(e){let{messages:t,agents:o,assetsReady:l,onClear:a}=e,[i,s]=(0,r.useState)(!0),c=(0,r.useRef)(null);return(0,r.useEffect)(()=>{var e;i||null==(e=c.current)||e.scrollIntoView({behavior:"smooth"})},[t.length,i]),(0,n.jsxs)("div",{style:{borderTop:"1px solid #2e2448",padding:"6px 0"},children:[(0,n.jsxs)("div",{onClick:()=>s(!i),style:{padding:"4px 12px 6px",fontSize:9,color:"#6a5848",fontFamily:"monospace",letterSpacing:"0.05em",textTransform:"uppercase",cursor:"pointer",display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("span",{style:{width:10,textAlign:"center"},children:i?"▶":"▼"}),"Activity (",t.length,")",a&&(0,n.jsx)("span",{onClick:e=>{e.stopPropagation(),a()},style:{marginLeft:"auto",fontSize:8,padding:"1px 5px",color:"#7a6858",border:"1px solid #3d2e5480",cursor:"pointer"},onMouseEnter:e=>{e.currentTarget.style.color="#e04848",e.currentTarget.style.borderColor="#e0484880"},onMouseLeave:e=>{e.currentTarget.style.color="#7a6858",e.currentTarget.style.borderColor="#3d2e5480"},children:"CLEAR"})]}),!i&&(0,n.jsxs)("div",{style:{overflowY:"auto",padding:"0 8px",display:"flex",flexDirection:"column",gap:4},children:[t.map((e,t)=>{var r;return e&&e.fromAgentId?(0,n.jsx)(e$,{msg:e,agents:o,assetsReady:l},null!=(r=e.id)?r:"tc-".concat(t)):null}),(0,n.jsx)("div",{ref:c})]})]})}function e2(e){var t,o;let{agentDefs:l,onCreateTeam:a,onClose:i,assetsReady:s}=e,c=l.find(e=>"leader"===e.teamRole),d=l.find(e=>"reviewer"===e.teamRole),p=l.filter(e=>"dev"===e.teamRole),[u,g]=(0,r.useState)(null!=(o=null==(t=p[0])?void 0:t.id)?o:""),[f,h]=(0,r.useState)({}),m=[];return c&&m.push({def:c,label:"LEAD"}),d&&m.push({def:d,label:"REVIEWER"}),(0,n.jsx)("div",{onClick:i,style:{position:"fixed",inset:0,backgroundColor:"rgba(0,0,0,0.6)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:100},children:(0,n.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{backgroundColor:"#1e1a30",padding:"18px 18px 14px",width:"90%",maxWidth:440,border:"2px solid #3d2e54",boxShadow:"4px 4px 0px rgba(0,0,0,0.5)",maxHeight:"90vh",overflowY:"auto"},children:[(0,n.jsx)("h2",{className:"px-font",style:{fontSize:13,margin:"0 0 14px",textAlign:"center",color:"#e8b040",letterSpacing:"0.05em"},children:"Hire Team"}),(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginBottom:6,fontFamily:"monospace",letterSpacing:"0.05em"},children:"SELECT TEAM MEMBERS"}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,marginBottom:12},children:[m.map(e=>{var t;let{def:o,label:r}=e;return(0,n.jsxs)("div",{title:o.skills?"Skills: ".concat(o.skills):void 0,style:{display:"flex",alignItems:"center",gap:8,padding:"7px 10px",border:"1px solid #e8903070",backgroundColor:"#261a00",textAlign:"left"},children:[(0,n.jsx)(eU,{palette:o.palette,zoom:2,ready:s}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsxs)("div",{style:{fontSize:14,fontWeight:700,color:"#eddcb8"},children:[o.name," ",(0,n.jsx)("span",{style:{color:"#e89030",fontSize:10,fontFamily:"monospace"},children:r})]}),(0,n.jsx)("div",{style:{fontSize:12,color:"#7a6858"},children:o.role})]}),(0,n.jsx)("select",{value:null!=(t=f[o.id])?t:"claude",onClick:e=>e.stopPropagation(),onChange:e=>h(t=>({...t,[o.id]:e.target.value})),style:{padding:"3px 6px",border:"1px solid #3d2e54",backgroundColor:"#1a1530",color:"#9a8a68",fontSize:11,cursor:"pointer",fontFamily:"monospace"},children:eX.map(e=>(0,n.jsx)("option",{value:e.id,children:e.name},e.id))})]},o.id)}),(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginTop:4,marginBottom:4,fontFamily:"monospace",letterSpacing:"0.05em"},children:"DEV AGENT (pick 1)"}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:5},children:p.map(e=>{var t;let o=u===e.id;return(0,n.jsxs)("button",{onClick:()=>g(e.id),title:e.skills?"Skills: ".concat(e.skills):void 0,style:{display:"flex",flexDirection:"column",alignItems:"center",padding:"12px 6px 10px",border:o?"1px solid #e8b04060":"1px solid #3d2e54",backgroundColor:o?"#2a2200":"transparent",cursor:"pointer",textAlign:"center",opacity:o?1:.5,transition:"opacity 0.15s, border-color 0.15s, background-color 0.15s"},children:[(0,n.jsx)(eU,{palette:e.palette,zoom:2,ready:s}),(0,n.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#eddcb8",marginTop:6,width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,n.jsx)("div",{style:{fontSize:11,color:"#7a6858",marginTop:2,width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.role}),(0,n.jsx)("select",{value:null!=(t=f[e.id])?t:"claude",onClick:t=>{t.stopPropagation(),g(e.id)},onChange:t=>{g(e.id),h(o=>({...o,[e.id]:t.target.value}))},style:{marginTop:6,padding:"3px 6px",border:"1px solid #3d2e54",backgroundColor:"#1a1530",color:"#9a8a68",fontSize:11,cursor:"pointer",fontFamily:"monospace"},children:eX.map(e=>(0,n.jsx)("option",{value:e.id,children:e.name},e.id))})]},e.id)})})]}),(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("button",{onClick:()=>{if(!c)return;let e=[];u&&e.push(u),d&&e.push(d.id),a(c.id,e,f)},style:{flex:1,padding:"9px",border:"1px solid #e8b04060",backgroundColor:"#382800",color:"#e8b040",fontSize:13,fontWeight:700,cursor:"pointer",fontFamily:"monospace",opacity:c?1:.4},disabled:!c,children:"Create Team"}),(0,n.jsx)("button",{onClick:i,style:{padding:"9px 16px",border:"1px solid #3d2e54",backgroundColor:"transparent",color:"#6a5848",fontSize:13,cursor:"pointer",fontFamily:"monospace"},children:"Cancel"})]})]})})}function e8(){var e;let t=(0,l.useRouter)(),{agents:o,connected:a,addUserMessage:i,teamMessages:s,clearTeamMessages:c,teamPhases:d,agentDefs:p}=m(),[u,g]=(0,r.useState)(null),[f,h]=(0,r.useState)(null),[y,b]=(0,r.useState)(null),[k,S]=(0,r.useState)(!1),{confirm:v,modal:C}=function(){let[e,t]=(0,r.useState)(null),o=(0,r.useCallback)(e=>new Promise(o=>{t({message:e,resolve:o})}),[]),l=(0,r.useCallback)(()=>{null==e||e.resolve(!0),t(null)},[e]),a=(0,r.useCallback)(()=>{null==e||e.resolve(!1),t(null)},[e]);return{confirm:o,modal:e?(0,n.jsx)(eY,{message:e.message,onConfirm:l,onCancel:a}):null}}(),[T,w]=(0,r.useState)(!1),[j,A]=(0,r.useState)(!1),[E,I]=(0,r.useState)(!1),[W,F]=(0,r.useState)(null),[D,L]=(0,r.useState)(!1),[P,O]=(0,r.useState)(!1),[R,_]=(0,r.useState)("team"),[H,z]=(0,r.useState)(""),Y=(0,r.useRef)(null),[M,N]=(0,r.useState)(!1),[B,U]=(0,r.useState)(!1),[X,V]=(0,r.useState)(!0),[,G]=(0,r.useState)(0),K=(0,r.useRef)(new ek),J=(0,r.useRef)(null),[Z,q]=(0,r.useState)(null),Q=(0,r.useRef)(1),$=(0,r.useRef)({x:0,y:0}),[ee,et]=(0,r.useState)(!1),ed=(0,r.useRef)(new Set),em=(0,r.useRef)(new Map),ex=(0,r.useRef)(new Map),ew=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(!Z)return;let e=m.getState();for(let[o,n]of e.agents){var t;let{label:e,color:r}=ej(n);Z.addAgent(o,{name:n.name,label:e,labelColor:r,isExternal:!!n.isExternal,palette:n.palette}),Z.updateAgent(o,n.status,eA(n)),ed.current.add(o),em.current.set(o,n.messages.length),ex.current.set(o,null!=(t=n.lastLogLine)?t:null)}return ew.current=e.teamMessages.length,()=>{ed.current.clear(),em.current.clear(),ex.current.clear(),ew.current=0}},[Z]),(0,r.useEffect)(()=>{if(Z)return m.subscribe(e=>{let t=new Set(e.agents.keys());for(let[t,n]of e.agents){var o;if(!ed.current.has(t)){let{label:e,color:o}=ej(n);Z.addAgent(t,{name:n.name,label:e,labelColor:o,isExternal:!!n.isExternal,palette:n.palette}),ed.current.add(t)}Z.updateAgent(t,n.status,eA(n));let e=null!=(o=em.current.get(t))?o:0,r=n.messages.length;if(r>e){let e=n.messages[r-1];e&&"user"!==e.role&&Z.showSpeechBubble(t,e.text)}em.current.set(t,r);let l=ex.current.get(t);n.lastLogLine&&n.lastLogLine!==l&&Z.showSpeechBubble(t,n.lastLogLine),ex.current.set(t,n.lastLogLine)}let n=ew.current;if(e.teamMessages.length>n)for(let t=n;t<e.teamMessages.length;t++){let o=e.teamMessages[t],n=o.toAgentName,r=n?"".concat(n,": ").concat(o.message):o.message;Z.showSpeechBubble(o.fromAgentId,r)}for(let o of(ew.current=e.teamMessages.length,ed.current))t.has(o)||(Z.removeAgent(o),ed.current.delete(o),em.current.delete(o),ex.current.delete(o))})},[Z]),(0,r.useEffect)(()=>{null==Z||Z.selectAgent(u)},[Z,u]),(0,r.useEffect)(()=>{try{let e=localStorage.getItem("office-sound-enabled");null!==e&&V(JSON.parse(e))}catch(e){}},[]);let{hydrated:eE}=m(),eP=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(eE){if(null===eP.current){let e=new Set;for(let[,t]of o)for(let o of t.messages)(o.result||o.isFinalResult)&&e.add(o.id);eP.current=e;return}for(let[,e]of o)for(let t of e.messages){if(!t.result||eP.current.has(t.id))continue;eP.current.add(t.id);let o=t.result;(0!==o.changedFiles.length||"unknown"!==o.testResult||o.previewUrl)&&(!e.teamId||e.isTeamLead)&&(!e.isTeamLead||t.isFinalResult)&&(b({previewUrl:o.previewUrl,previewPath:o.previewPath,previewCmd:o.previewCmd,previewPort:o.previewPort,projectDir:o.projectDir,entryFile:o.entryFile}),S(!0),setTimeout(()=>S(!1),3e3))}}},[eE,o]);let{handleTileClick:eH,handleRightClick:eM,handleDeleteSelected:eN,handleRotateSelected:eV,handleDragStart:eG,handleDragMove:eK,handleDragEnd:eq,updateGhost:e$,handleUndo:e8,handleRedo:e4,handleImportLayout:e3,handleSelectedFurnitureColorChange:e5}=function(e,t,o){let n=(0,r.useRef)(null),l=(0,r.useCallback)(()=>{var e,o;return null!=(o=null==(e=t.current)?void 0:e.layout)?o:null},[t]),a=(0,r.useCallback)(r=>{let l=t.current;l&&(l.setLayout(r),e.current.isDirty=!0,o(),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{try{localStorage.setItem(eC,JSON.stringify(r))}catch(e){}},eb.e7))},[t,e,o]),i=(0,r.useCallback)((t,n)=>{var r,i,s,c;let d=e.current,p=l();if(!p)return;let u=d.activeTool;if(t<0||t>=p.cols||n<0||n>=p.rows){let e=null;if(n<0?e="up":n>=p.rows?e="down":t<0?e="left":t>=p.cols&&(e="right"),e){d.pushUndo(p),d.clearRedo();let t=(0,eS.vk)(p,e);t&&a(t.layout)}return}switch(u){case ey.VF.TILE_PAINT:d.pushUndo(p),d.clearRedo(),a((0,eS.FH)(p,t,n,d.selectedTileType,d.floorColor));break;case ey.VF.WALL_PAINT:{d.pushUndo(p),d.clearRedo();let e=n*p.cols+t;p.tiles[e]===ey.nb.WALL?a((0,eS.FH)(p,t,n,ey.nb.FLOOR_1,d.floorColor)):a((0,eS.FH)(p,t,n,ey.nb.WALL,d.wallColor));break}case ey.VF.ERASE:{d.pushUndo(p),d.clearRedo();let e=(0,eS.iH)(p,t,n),o=p;e&&(o=(0,eS.PT)(o,e.uid)),a(o=(0,eS.FH)(o,t,n,ey.nb.VOID));break}case ey.VF.FURNITURE_PLACE:if(d.selectedFurnitureType){let e=(0,ev.Um)(d.selectedFurnitureType);if(e){let o=e.canPlaceOnWalls?(0,eS.si)(d.selectedFurnitureType,n):n;if((0,eS.Ii)(p,d.selectedFurnitureType,t,o)){d.pushUndo(p),d.clearRedo();let e={uid:"f-".concat((0,eh.Ak)(6)),type:d.selectedFurnitureType,col:t,row:o,...d.pickedFurnitureColor?{color:d.pickedFurnitureColor}:{}};a((0,eS.qZ)(p,e))}}}break;case ey.VF.SELECT:{let e=(0,eS.iH)(p,t,n);d.selectedFurnitureUid=null!=(r=null==e?void 0:e.uid)?r:null,o();break}case ey.VF.EYEDROPPER:{let e=n*p.cols+t,r=p.tiles[e];if(void 0!==r&&r!==ey.nb.WALL&&r!==ey.nb.VOID){d.selectedTileType=r;let t=null==(i=p.tileColors)?void 0:i[e];t&&(d.floorColor={...t}),d.activeTool=ey.VF.TILE_PAINT}else if(r===ey.nb.WALL){let t=null==(s=p.tileColors)?void 0:s[e];t&&(d.wallColor={...t}),d.activeTool=ey.VF.WALL_PAINT}o();break}case ey.VF.FURNITURE_PICK:{let e=(0,eS.iH)(p,t,n);e&&(d.selectedFurnitureType=e.type,d.pickedFurnitureColor=null!=(c=e.color)?c:null,d.activeTool=ey.VF.FURNITURE_PLACE,o())}}},[e,l,a,o]),s=(0,r.useCallback)((t,o)=>{let n=l();if(!n||t<0||t>=n.cols||o<0||o>=n.rows)return;let r=e.current;r.pushUndo(n),r.clearRedo();let i=(0,eS.iH)(n,t,o),s=n;i&&(s=(0,eS.PT)(s,i.uid)),a(s=(0,eS.FH)(s,t,o,ey.nb.VOID))},[e,l,a]),c=(0,r.useCallback)(()=>{let t=e.current,n=l();n&&t.selectedFurnitureUid&&(t.pushUndo(n),t.clearRedo(),a((0,eS.PT)(n,t.selectedFurnitureUid)),t.selectedFurnitureUid=null,o())},[e,l,a,o]),d=(0,r.useCallback)(()=>{let t=e.current,o=l();if(!o||!t.selectedFurnitureUid)return;let n=o.furniture.find(e=>e.uid===t.selectedFurnitureUid);n&&(0,ev.ZZ)(n.type)&&(t.pushUndo(o),t.clearRedo(),a((0,eS.WC)(o,t.selectedFurnitureUid)))},[e,l,a]),p=(0,r.useCallback)((t,o)=>{let n=e.current,r=l();if(!r)return;let a=(0,eS.iH)(r,t,o);a&&(n.selectedFurnitureUid=a.uid,n.startDrag(a.uid,t,o,t-a.col,o-a.row),n.pushUndo(r),n.clearRedo())},[e,l]),u=(0,r.useCallback)((t,o)=>{let n=e.current;if(!n.dragUid)return;n.isDragMoving=!0;let r=l();if(!r)return;let a=t-n.dragOffsetCol,i=o-n.dragOffsetRow,s=r.furniture.find(e=>e.uid===n.dragUid);s&&((0,ev.Um)(s.type),n.ghostCol=a,n.ghostRow=i,n.ghostValid=(0,eS.Ii)(r,s.type,a,i,n.dragUid))},[e,l]),g=(0,r.useCallback)((t,o)=>{let n=e.current;if(!n.dragUid)return;let r=n.dragUid,i=n.isDragMoving;if(n.clearDrag(),n.clearGhost(),!i)return;let s=l();if(!s)return;let c=t-n.dragOffsetCol,d=o-n.dragOffsetRow;a((0,eS.iZ)(s,r,c,d))},[e,l,a]),f=(0,r.useCallback)((t,o)=>{let n=e.current;if(!n.dragUid)if(n.activeTool===ey.VF.FURNITURE_PLACE&&n.selectedFurnitureType){let e=l();if(!e)return;let r=(0,ev.Um)(n.selectedFurnitureType);if(!r)return;let a=r.canPlaceOnWalls?(0,eS.si)(n.selectedFurnitureType,o):o;n.ghostCol=t,n.ghostRow=a,n.ghostValid=(0,eS.Ii)(e,n.selectedFurnitureType,t,a)}else n.ghostCol=t,n.ghostRow=o,n.ghostValid=!1},[e,l]),h=(0,r.useCallback)(()=>{let t=e.current,o=l();if(!o)return;let n=t.popUndo();n&&(t.pushRedo(o),a(n))},[e,l,a]),m=(0,r.useCallback)(()=>{let t=e.current,o=l();if(!o)return;let n=t.popRedo();n&&(t.pushUndo(o),a(n))},[e,l,a]);return{handleTileClick:i,handleRightClick:s,handleDeleteSelected:c,handleRotateSelected:d,handleDragStart:p,handleDragMove:u,handleDragEnd:g,updateGhost:f,handleUndo:h,handleRedo:m,handleImportLayout:(0,r.useCallback)(t=>{let o=e.current,n=l();n&&(o.pushUndo(n),o.clearRedo()),a(t)},[e,l,a]),handleSelectedFurnitureColorChange:(0,r.useCallback)(t=>{let o=e.current,n=l();if(!n||!o.selectedFurnitureUid)return;o.pushUndo(n),o.clearRedo();let r=n.furniture.map(e=>e.uid===o.selectedFurnitureUid?{...e,color:null!=t?t:void 0}:e);a({...n,furniture:r})},[e,l,a])}}(K,J,(0,r.useCallback)(()=>{G(e=>e+1)},[])),e6=(0,r.useCallback)(()=>{N(e=>{let t=!e;return t||K.current.reset(),t})},[]);!function(e){let{editMode:t,editorRef:o,onUndo:n,onRedo:l,onDeleteSelected:a,onRotateSelected:i,onExitEditMode:s}=e;(0,r.useEffect)(()=>{if(!t)return;let e=e=>{let t=e.ctrlKey||e.metaKey;if(t&&"z"===e.key&&!e.shiftKey){e.preventDefault(),n();return}if(t&&"y"===e.key||t&&"z"===e.key&&e.shiftKey){e.preventDefault(),l();return}if("Delete"===e.key||"Backspace"===e.key){o.current.selectedFurnitureUid&&(e.preventDefault(),a());return}if("r"===e.key||"R"===e.key){o.current.selectedFurnitureUid&&(e.preventDefault(),i());return}if("Escape"===e.key)return void(o.current.selectedFurnitureUid?o.current.selectedFurnitureUid=null:s());let r={1:ey.VF.SELECT,2:ey.VF.TILE_PAINT,3:ey.VF.WALL_PAINT,4:ey.VF.ERASE,5:ey.VF.FURNITURE_PLACE,6:ey.VF.EYEDROPPER};if(r[e.key]){o.current.activeTool=r[e.key],o.current.selectedFurnitureUid=null;return}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,o,n,l,a,i,s])}({editMode:M,editorRef:K,onUndo:e8,onRedo:e4,onDeleteSelected:eN,onRotateSelected:eV,onExitEditMode:e6});let e9=(0,r.useCallback)(()=>{let e=function(){try{let e=localStorage.getItem(eC);if(!e)return null;let t=JSON.parse(e);if(t&&1===t.version)return t}catch(e){}return null}();if(e&&J.current){let t=(0,eT._m)(e);J.current.setLayout(t),G(e=>e+1)}et(!0)},[]),e7=(0,r.useCallback)(e=>{q(e)},[]);(0,r.useEffect)(()=>{let e=(0,en.getConnection)();return e?(m.getState().hydrate(),function(e){var t,o;ef();let n=++eu;return"ws"===e.mode&&e.wsUrl?(ep="ws",t=e.wsUrl,ec(),es=t,function e(){if(!es)return;let t=new WebSocket(es);t.onopen=()=>{console.log("[WS] Connected"),m.getState().setConnected(!0),t.readyState===WebSocket.OPEN&&t.send(JSON.stringify({type:"PING"}))},t.onmessage=e=>{try{let t=eo.parse(JSON.parse(e.data));m.getState().handleEvent(t)}catch(e){console.error("[WS] Invalid event:",e)}},t.onclose=()=>{console.log("[WS] Disconnected"),m.getState().setConnected(!1),ea===t&&es&&(ea=null,ei=setTimeout(e,2e3))},t.onerror=()=>{},ea=t}()):"ably"===e.mode&&(ep="ably",o=e.machineId,(er=new x.Realtime({authCallback:async(e,t)=>{try{let e=(0,en.getGatewayHttpUrl)(),n=await fetch("".concat(e,"/ably/token"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:o})});if(!n.ok)throw Error("Token request failed");let r=await n.json();t(null,r)}catch(e){t(e instanceof Error?e.message:String(e),null)}}})).connection.on("connected",()=>{m.getState().setConnected(!0),er.channels.get("machine:".concat(o,":commands")).publish("PING",{type:"PING"})}),er.connection.on("disconnected",()=>{m.getState().setConnected(!1)}),er.channels.get("machine:".concat(o,":events")).subscribe(e=>{try{let t=eo.parse(e.data);m.getState().handleEvent(t)}catch(e){console.error("[Web] Invalid event:",e)}}),el=er.channels.get("machine:".concat(o,":commands"))),()=>{eu===n&&ef()}}(e)):void t.push("/pair")},[t]);let te=u?o.get(u):null,tt=(null==te?void 0:te.status)==="working"||(null==te?void 0:te.status)==="waiting_approval";(0,r.useEffect)(()=>{let e=Y.current;if(!e)return;let t=e.parentElement;t&&(t.scrollTop=t.scrollHeight)},[null==te||null==(e=te.messages)?void 0:e.length,null==te?void 0:te.status]),(0,r.useEffect)(()=>{if(u)return;let e=Array.from(o.values()).find(e=>e.isTeamLead);e&&(g(e.agentId),L(!0))},[o,u]);let to=(0,r.useCallback)(e=>{g(e),L(!0)},[]),tn=(0,r.useCallback)((e,t)=>{let n=Array.from(o.values()).filter(t=>t.name===e.name||t.name.match(new RegExp("^".concat(e.name," \\d+$")))),r=0===n.length?e.name:"".concat(e.name," ").concat(n.length+1),l="agent-".concat((0,eh.Ak)(6));eg({type:"CREATE_AGENT",agentId:l,name:r,role:e.skills?"".concat(e.role," — ").concat(e.skills):e.role,palette:e.palette,personality:e.personality,backend:t}),g(l),L(!0),w(!1)},[o]),tr=(0,r.useCallback)((e,t,o)=>{eg({type:"CREATE_TEAM",leadId:e,memberIds:t,backends:o}),A(!1),_("team"),g(null),L(!1),O(!0)},[]),tl=(0,r.useCallback)(e=>{eg({type:"SAVE_AGENT_DEF",agent:e}),I(!1),F(null)},[]),ta=(0,r.useCallback)(e=>{eg({type:"DELETE_AGENT_DEF",agentDefId:e})},[]),ti=(0,r.useCallback)(async e=>{let t=o.get(e);if(null==t?void 0:t.isExternal){if(!await v("Kill external process ".concat(t.name,"? (PID ").concat(t.pid,")")))return;eg({type:"KILL_EXTERNAL",agentId:e})}else{var n;if(!await v("Fire ".concat(null!=(n=null==t?void 0:t.name)?n:e,"?")))return;eg({type:"FIRE_AGENT",agentId:e})}u===e&&(g(null),L(!1))},[u,o,v]),ts=Array.from(o.values()).some(e=>!!e.teamId),tc=Array.from(o.values()).some(e=>!!e.teamId&&("working"===e.status||"waiting_approval"===e.status)),td=(0,r.useCallback)(()=>{for(let e of(eg({type:"STOP_TEAM"}),Array.from(o.values()).filter(e=>!!e.teamId)))eg({type:"CANCEL_TASK",agentId:e.agentId,taskId:""})},[o]),tp=(0,r.useCallback)(async()=>{let e=Array.from(o.values()).filter(e=>!!e.teamId);if(0===e.length)return;let t="Fire the entire team (".concat(e.length," agents)?");if(await v(t)){for(let t of(eg({type:"FIRE_TEAM"}),e))eg({type:"FIRE_AGENT",agentId:t.agentId});c(),g(null),L(!1),O(!1)}},[o,c,v]),tu=(0,r.useCallback)(()=>{if(!u||!H.trim())return;let e=o.get(u);if(null==e?void 0:e.isExternal)return;let t=(0,eh.Ak)();i(u,t,H.trim()),eg({type:"RUN_TASK",agentId:u,taskId:t,prompt:H.trim(),name:null==e?void 0:e.name,role:null==e?void 0:e.role,personality:null==e?void 0:e.personality}),z("")},[u,H,i,o]),tg=(0,r.useCallback)(()=>{u&&eg({type:"CANCEL_TASK",agentId:u,taskId:""})},[u]),tf=(0,r.useCallback)(e=>{for(let[,t]of d)if(t.leadAgentId===e)return t.phase;return null},[d]);u&&tf(u);let th=(0,r.useCallback)(()=>{u&&eg({type:"APPROVE_PLAN",agentId:u})},[u]),tm=(0,r.useCallback)(()=>{u&&(eg({type:"END_PROJECT",agentId:u}),c())},[u,c]),tx=(0,r.useCallback)((e,t)=>{eg({type:"APPROVAL_DECISION",approvalId:e,decision:t})},[]);(0,r.useCallback)(e=>{Q.current=Math.max(eb.DH,Math.min(eb.ZV,e)),G(e=>e+1)},[]);let ty=Array.from(o.values()),tb=ty.filter(e=>!!e.teamId),tk=ty.filter(e=>!e.teamId&&!e.isExternal),tS=ty.filter(e=>!!e.isExternal),tv=K.current,[tC,tT]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=window.matchMedia("(max-width: 768px)");tT(e.matches);let t=e=>tT(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);let tw=D&&null!==u;return(0,n.jsxs)("div",{style:{height:"100vh",width:"100vw",position:"relative",overflow:"hidden",display:"flex"},children:[(0,n.jsxs)("div",{style:{flex:1,position:"relative",minWidth:0},children:[(0,n.jsx)(eI,{onAdapterReady:e7,onAgentClick:to,editMode:M,editorRef:K,officeStateRef:J,zoomRef:Q,panRef:$,onTileClick:eH,onTileRightClick:eM,onGhostMove:e$,onDragStart:eG,onDragMove:eK,onDragEnd:eq,onDeleteBtnClick:eN,onRotateBtnClick:eV,onAssetsLoaded:e9}),(0,n.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, rgba(22,18,42,0.90) 0%, rgba(22,18,42,0) 100%)",pointerEvents:"none"},children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,pointerEvents:"auto"},children:[(0,n.jsx)("h1",{className:"px-font",style:{fontSize:11,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:"Bit Office"}),(0,n.jsx)("span",{style:{fontSize:9,padding:"3px 7px",border:"1px solid ".concat(a?"#2a5c2a":"#5c1a1a"),backgroundColor:a?"#143a14":"#3e1818",color:a?"#48cc6a":"#e04848",fontFamily:"monospace",letterSpacing:"0.05em"},children:a?"● ONLINE":"● OFFLINE"}),M&&(0,n.jsx)("span",{style:{fontSize:9,padding:"3px 7px",border:"1px solid #5a3a10",backgroundColor:"#1a0e00",color:"#e8b040",fontFamily:"monospace"},children:"EDIT MODE"})]})}),M&&(0,n.jsx)(eW,{activeTool:tv.activeTool,selectedTileType:tv.selectedTileType,selectedFurnitureType:tv.selectedFurnitureType,selectedFurnitureUid:tv.selectedFurnitureUid,selectedFurnitureColor:(()=>{var e;if(!tv.selectedFurnitureUid||!J.current)return null;let t=J.current.layout.furniture.find(e=>e.uid===tv.selectedFurnitureUid);return null!=(e=null==t?void 0:t.color)?e:null})(),floorColor:tv.floorColor,wallColor:tv.wallColor,onToolChange:e=>{tv.activeTool=e,tv.clearSelection(),G(e=>e+1)},onTileTypeChange:e=>{tv.selectedTileType=e,G(e=>e+1)},onFloorColorChange:e=>{tv.floorColor=e,G(e=>e+1)},onWallColorChange:e=>{tv.wallColor=e,G(e=>e+1)},onSelectedFurnitureColorChange:e5,onFurnitureTypeChange:e=>{tv.selectedFurnitureType=e,tv.activeTool=ey.VF.FURNITURE_PLACE,G(e=>e+1)}}),!tC&&(0,n.jsx)(eD,{editMode:M,onToggleEditMode:e6,onOpenSettings:()=>U(!0)}),s.length>0&&(0,n.jsx)(e0,{messages:s,agents:o,assetsReady:ee})]}),!tC&&(0,n.jsx)("div",{style:{width:"33vw",minWidth:300,maxWidth:420,flexShrink:0,height:"100vh",backgroundColor:"#1e1a30",borderLeft:"2px solid #3d2e54",display:"flex",flexDirection:"column",overflow:"hidden"},children:(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"},children:(()=>{let e=e=>{var t,r,l,a,i,s,c,d,p,f,m,x,y,b;let k=null!=(i=eL[e.status])?i:eL.idle,S=D&&u===e.agentId,C=o.get(e.agentId),T=(null==C?void 0:C.status)==="working"||(null==C?void 0:C.status)==="waiting_approval",w=!!(null==C?void 0:C.teamId)&&!(null==C?void 0:C.isTeamLead),j=!!(null==C?void 0:C.isExternal);return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",margin:"3px 6px",border:S?"1px solid #e8b04040":"1px solid #2e2448",backgroundColor:S?"#1e1a34":"#1a1530",transition:"border-color 0.2s, background-color 0.2s"},children:[(0,n.jsxs)("button",{onClick:()=>{S?L(!1):(g(e.agentId),L(!0))},style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",background:S?"#272040":"transparent",border:"none",cursor:"pointer",textAlign:"left",width:"100%",transition:"background-color 0.1s",...S?{position:"sticky",top:0,zIndex:2,backgroundColor:"#272040"}:{}},onMouseEnter:e=>{S||(e.currentTarget.style.backgroundColor="#231e38")},onMouseLeave:e=>{S||(e.currentTarget.style.backgroundColor="transparent")},children:[(0,n.jsx)(eU,{palette:null!=(s=e.palette)?s:0,zoom:2,ready:ee}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsxs)("div",{style:{fontSize:12,fontWeight:700,color:"#eddcb8",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",display:"flex",alignItems:"center",gap:4},children:[e.name,e.isTeamLead&&(0,n.jsx)("span",{style:{fontSize:8,padding:"1px 4px",backgroundColor:"#e8903028",color:"#e89030",border:"1px solid #e8903060",fontFamily:"monospace",letterSpacing:"0.05em"},children:"LEAD"}),w&&(0,n.jsx)("span",{style:{fontSize:8,padding:"1px 4px",backgroundColor:"#e8b04020",color:"#e8b040",border:"1px solid #e8b04050",fontFamily:"monospace",letterSpacing:"0.05em"},children:"TEAM"}),e.backend&&(0,n.jsx)("span",{style:{fontSize:8,padding:"1px 4px",backgroundColor:(null!=(c=null==(t=eX.find(t=>t.id===e.backend))?void 0:t.color)?c:"#666")+"18",color:null!=(d=null==(r=eX.find(t=>t.id===e.backend))?void 0:r.color)?d:"#666",border:"1px solid ".concat(null!=(p=null==(l=eX.find(t=>t.id===e.backend))?void 0:l.color)?p:"#666","40")},children:null!=(f=null==(a=eX.find(t=>t.id===e.backend))?void 0:a.name)?f:e.backend})]}),(0,n.jsx)("div",{style:{fontSize:10,color:"#7a6858",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",display:"flex",alignItems:"center",gap:4,marginTop:2},title:j&&(null==C?void 0:C.cwd)?C.cwd:void 0,children:j&&(null==C?void 0:C.cwd)?C.cwd.split("/").pop():e.role})]}),(0,n.jsx)("span",{style:{fontSize:9,padding:"2px 5px",backgroundColor:(e.isTeamLead&&"done"===e.status?"#48cc6a":k.color)+"18",color:e.isTeamLead&&"done"===e.status?"#48cc6a":k.color,border:"1px solid ".concat(e.isTeamLead&&"done"===e.status?"#48cc6a":k.color,"40"),flexShrink:0,whiteSpace:"nowrap",fontFamily:"monospace"},children:e.isTeamLead&&"done"===e.status?"✓ Done":(0,n.jsxs)(n.Fragment,{children:["done"===e.status?"✓ ":"working"===e.status?"▶ ":"",k.label]})}),(null==C?void 0:C.isTeamLead)&&(()=>{var t,o,r;let l=tf(e.agentId);if(!l)return null;let a={create:"#5aacff",design:"#e8b040",execute:"#e89030",complete:"#48cc6a"};return(0,n.jsx)("span",{style:{fontSize:8,padding:"1px 4px",backgroundColor:(null!=(t=a[l])?t:"#888")+"18",color:null!=(o=a[l])?o:"#888",border:"1px solid ".concat(null!=(r=a[l])?r:"#888","40"),flexShrink:0,whiteSpace:"nowrap",fontFamily:"monospace",textTransform:"uppercase",letterSpacing:"0.05em"},children:l})})(),!(null==C?void 0:C.teamId)&&(0,n.jsx)("span",{onClick:t=>{t.stopPropagation(),ti(e.agentId)},style:{fontSize:10,color:"#c04040",cursor:"pointer",lineHeight:1,padding:"4px",flexShrink:0},onMouseEnter:e=>{e.currentTarget.style.color="#ff4040"},onMouseLeave:e=>{e.currentTarget.style.color="#c04040"},children:"✕"})]}),S&&C&&j&&(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",backgroundColor:"#1a1530",minHeight:0,height:"calc(100vh - 200px)",maxHeight:"calc(100vh - 160px)",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{padding:"10px 14px",borderBottom:"1px solid #272040",flexShrink:0},children:[(0,n.jsx)("div",{style:{fontSize:10,color:"#5aacff",marginBottom:6,fontFamily:"monospace",letterSpacing:"0.05em"},children:"EXTERNAL PROCESS"}),(0,n.jsxs)("div",{style:{display:"flex",gap:12,fontSize:10,color:"#7a6858",fontFamily:"monospace",flexWrap:"wrap"},children:[(0,n.jsx)("span",{children:null!=(m=C.backend)?m:"unknown"}),(0,n.jsxs)("span",{children:["PID ",null!=(x=C.pid)?x:"—"]}),(0,n.jsx)("span",{title:null!=(y=C.cwd)?y:void 0,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:160},children:null!=(b=C.cwd)?b:"—"})]})]}),(0,n.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"12px 14px",display:"flex",flexDirection:"column",minHeight:0},children:[0===C.messages.length&&(0,n.jsx)("div",{style:{textAlign:"center",color:"#5a4838",padding:20,fontSize:12},children:"Waiting for output..."}),C.messages.map(e=>(0,n.jsx)(eB,{msg:e},e.id))]}),(0,n.jsx)("div",{style:{padding:"8px 10px",backgroundColor:"#182844",border:"1px solid #3b82f640",fontSize:11,color:"#7ab8f5",fontFamily:"monospace",textAlign:"center",flexShrink:0},children:"Read-only — this process is running externally"})]}),S&&C&&!j&&(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",backgroundColor:"#1a1530",minHeight:0,height:"calc(100vh - 200px)",maxHeight:"calc(100vh - 160px)",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"12px 14px",display:"flex",flexDirection:"column",minHeight:0},children:[(null==C?void 0:C.isTeamLead)&&(()=>{let t=tf(e.agentId);if(!t)return null;let o={create:{color:"#5aacff",icon:"\uD83D\uDCAC",hint:"Chat with your team lead to define the project"},design:{color:"#e8b040",icon:"\uD83D\uDCCB",hint:"Review the plan — approve it or give feedback"},execute:{color:"#e89030",icon:"⚡",hint:"Team is building your project"},complete:{color:"#48cc6a",icon:"✓",hint:"Review results — give feedback or end project"}}[t];return o?(0,n.jsxs)("div",{style:{padding:"6px 10px",marginBottom:8,backgroundColor:o.color+"10",border:"1px solid ".concat(o.color,"30"),display:"flex",alignItems:"center",gap:6,fontSize:11,fontFamily:"monospace"},children:[(0,n.jsx)("span",{children:o.icon}),(0,n.jsx)("span",{style:{color:o.color,fontWeight:700,textTransform:"uppercase",fontSize:9,letterSpacing:"0.05em"},children:t}),(0,n.jsx)("span",{style:{color:"#7a6858"},children:o.hint})]}):null})(),0===C.messages.length&&(0,n.jsx)("div",{style:{textAlign:"center",color:"#5a4838",padding:20,fontSize:12},children:w?"This agent is managed by the Team Lead":"Send a message to get started"}),C.messages.map(t=>(0,n.jsx)(eB,{msg:t,onPreview:h,isTeamLead:null==C?void 0:C.isTeamLead,isTeamMember:w,teamPhase:(null==C?void 0:C.isTeamLead)?tf(e.agentId):null},t.id)),T&&!C.pendingApproval&&(0,n.jsx)(eO,{logLine:C.lastLogLine}),C.pendingApproval&&(0,n.jsxs)("div",{style:{marginBottom:8,padding:12,backgroundColor:"#261a00",border:"1px solid #e89030"},children:[(0,n.jsxs)("div",{style:{fontSize:11,fontWeight:"bold",color:"#e89030",marginBottom:6,fontFamily:"monospace"},children:["▲"," ",C.pendingApproval.title]}),(0,n.jsx)("div",{style:{fontSize:12,color:"#b89868",marginBottom:10,lineHeight:1.5},children:C.pendingApproval.summary}),(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsxs)("button",{onClick:()=>tx(C.pendingApproval.approvalId,"yes"),style:{flex:1,padding:"8px",border:"1px solid #48cc6a",backgroundColor:"#143a14",color:"#48cc6a",cursor:"pointer",fontWeight:"bold",fontSize:11,fontFamily:"monospace"},children:["▶"," Approve"]}),(0,n.jsxs)("button",{onClick:()=>tx(C.pendingApproval.approvalId,"no"),style:{flex:1,padding:"8px",border:"1px solid #e04848",backgroundColor:"#3e1818",color:"#e04848",cursor:"pointer",fontWeight:"bold",fontSize:11,fontFamily:"monospace"},children:["✕"," Reject"]})]})]}),(0,n.jsx)("div",{ref:Y})]}),(()=>{let t=(null==C?void 0:C.isTeamLead)?tf(e.agentId):null;return(0,n.jsx)("div",{style:{padding:"8px 10px",borderTop:"1px solid #2e2448",backgroundColor:"#1a1530",flexShrink:0},children:w?(0,n.jsx)("div",{style:{textAlign:"center",color:"#5a4838",fontSize:11,padding:"8px 0",fontFamily:"monospace"},children:"Tasks are assigned by the Team Lead"}):"execute"===t&&T?(0,n.jsxs)("button",{onClick:async()=>{await v("Cancel current work?")&&tg()},style:{width:"100%",padding:"9px 16px",border:"1px solid #e04848",backgroundColor:"#3e1818",color:"#e04848",fontSize:12,cursor:"pointer",fontFamily:"monospace"},children:["✕"," Cancel current work"]}):"design"!==t||T?"complete"!==t||T?tt?(0,n.jsxs)("button",{onClick:async()=>{await v("Cancel current work?")&&tg()},style:{width:"100%",padding:"9px 16px",border:"1px solid #e04848",backgroundColor:"#3e1818",color:"#e04848",fontSize:12,cursor:"pointer",fontFamily:"monospace"},children:["✕"," Cancel current work"]}):(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("input",{value:H,onChange:e=>z(e.target.value),onKeyDown:e=>"Enter"===e.key&&!e.nativeEvent.isComposing&&tu(),placeholder:"Send a message...",style:{flex:1,padding:"9px 12px",border:"1px solid #3d2e54",backgroundColor:"#16122a",color:"#eddcb8",fontSize:13,outline:"none"},autoFocus:!0}),(0,n.jsx)("button",{onClick:tu,disabled:!H.trim(),style:{padding:"9px 14px",border:"none",backgroundColor:H.trim()?"#e8b040":"#272040",color:H.trim()?"#16122a":"#5a4838",fontSize:12,cursor:H.trim()?"pointer":"default",fontWeight:700,fontFamily:"monospace",transition:"background-color 0.1s"},children:"Send"})]}):(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("input",{value:H,onChange:e=>z(e.target.value),onKeyDown:e=>"Enter"===e.key&&!e.nativeEvent.isComposing&&tu(),placeholder:"Request changes...",style:{flex:1,padding:"9px 12px",border:"1px solid #3d2e54",backgroundColor:"#16122a",color:"#eddcb8",fontSize:13,outline:"none"}}),(0,n.jsx)("button",{onClick:tu,disabled:!H.trim(),style:{padding:"9px 14px",border:"none",backgroundColor:H.trim()?"#e8b040":"#272040",color:H.trim()?"#16122a":"#5a4838",fontSize:12,cursor:H.trim()?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Send"})]}),(0,n.jsx)("button",{onClick:async()=>{await v("End this project and start a new one?")&&tm()},style:{width:"100%",padding:"9px 16px",border:"1px solid #e89030",backgroundColor:"#261a00",color:"#e89030",fontSize:12,cursor:"pointer",fontWeight:700,fontFamily:"monospace"},children:"End Project"})]}):(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,n.jsxs)("button",{onClick:th,style:{width:"100%",padding:"9px 16px",border:"1px solid #48cc6a",backgroundColor:"#143a14",color:"#48cc6a",fontSize:12,cursor:"pointer",fontWeight:700,fontFamily:"monospace"},children:["▶"," Approve Plan"]}),(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("input",{value:H,onChange:e=>z(e.target.value),onKeyDown:e=>"Enter"===e.key&&!e.nativeEvent.isComposing&&tu(),placeholder:"Or give feedback...",style:{flex:1,padding:"9px 12px",border:"1px solid #3d2e54",backgroundColor:"#16122a",color:"#eddcb8",fontSize:13,outline:"none"}}),(0,n.jsx)("button",{onClick:tu,disabled:!H.trim(),style:{padding:"9px 14px",border:"none",backgroundColor:H.trim()?"#e8b040":"#272040",color:H.trim()?"#16122a":"#5a4838",fontSize:12,cursor:H.trim()?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Send"})]})]})})})()]})]},e.agentId)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{display:"flex",background:"linear-gradient(to bottom, rgba(40,30,65,0.6), transparent)",padding:"0 4px"},children:[{key:"agents",label:"Agents",count:tk.length,color:"#e8b040"},{key:"team",label:"Team",count:tb.length,color:"#e89030"},{key:"external",label:"External",count:tS.length,color:"#5aacff"}].map(e=>{let t=R===e.key;return(0,n.jsxs)("button",{onClick:()=>_(e.key),style:{flex:1,padding:"10px 0 8px",cursor:"pointer",backgroundColor:t?e.color+"30":"rgba(255,255,255,0.05)",border:"none",borderBottom:t?"2px solid ".concat(e.color):"2px solid transparent",display:"flex",alignItems:"center",justifyContent:"center",gap:6,transition:"all 0.15s",borderRadius:"4px 4px 0 0"},onMouseEnter:e=>{t||(e.currentTarget.style.backgroundColor="rgba(255,255,255,0.03)")},onMouseLeave:e=>{t||(e.currentTarget.style.backgroundColor="transparent")},children:[(0,n.jsx)("span",{style:{fontSize:10,fontWeight:700,color:t?"#fff":"#7a6858",fontFamily:"'Press Start 2P', monospace",letterSpacing:"0.04em",textShadow:t?"0 0 8px ".concat(e.color,"60"):"none"},children:e.label}),e.count>0&&(0,n.jsx)("span",{style:{fontSize:9,padding:"1px 5px",backgroundColor:t?e.color+"20":"transparent",color:t?e.color:"#9a8868",border:"1px solid ".concat(t?e.color+"50":"#3e3458"),borderRadius:3,fontFamily:"monospace",fontWeight:600},children:e.count})]},e.key)})}),"agents"===R&&(0,n.jsx)("div",{style:{display:"flex",gap:8,padding:"8px 12px",borderBottom:"1px solid #2e2448",alignItems:"center"},children:(0,n.jsx)("span",{onClick:()=>w(!0),style:{fontSize:11,fontWeight:700,cursor:"pointer",padding:"5px 10px",borderRadius:3,backgroundColor:"transparent",color:"#e8b040",border:"1px solid #e8b04060",fontFamily:"monospace"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="rgba(200,155,48,0.15)"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent"},children:"+ Hire"})}),"team"===R&&(0,n.jsxs)("div",{style:{display:"flex",gap:8,padding:"8px 12px",borderBottom:"1px solid #2e2448",alignItems:"center"},children:[!ts&&(0,n.jsx)("span",{onClick:()=>A(!0),style:{fontSize:11,fontWeight:700,cursor:"pointer",padding:"5px 10px",borderRadius:3,backgroundColor:"transparent",color:"#e89030",border:"1px solid #e8903060",fontFamily:"monospace"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="rgba(224,133,48,0.15)"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent"},children:"+ Hire Team"}),ts&&tc&&(0,n.jsx)("span",{onClick:td,style:{fontSize:11,fontWeight:700,color:"#fff",cursor:"pointer",padding:"5px 10px",borderRadius:3,backgroundColor:"#e89030",fontFamily:"monospace",letterSpacing:"0.03em"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#d07820"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#e89030"},children:"STOP"}),ts&&(0,n.jsxs)("span",{onClick:tp,style:{fontSize:11,fontWeight:700,color:"#fff",cursor:"pointer",padding:"5px 10px",borderRadius:3,backgroundColor:"#d04040",fontFamily:"monospace",letterSpacing:"0.03em"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#b83030"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#d04040"},children:["✕"," Fire"]})]}),"external"===R&&(0,n.jsx)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0,overflowY:"auto"},children:0===tS.length?(0,n.jsx)("div",{style:{textAlign:"center",color:"#5a4838",padding:20,fontSize:11,fontFamily:"monospace"},children:"No external agents detected"}):tS.map(t=>e(t))}),"agents"===R&&(0,n.jsx)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0,overflowY:"auto"},children:0===tk.length?(0,n.jsxs)("div",{style:{textAlign:"center",color:"#5a4838",padding:20,fontSize:11,fontFamily:"monospace"},children:["No agents yet ","—"," click [+ Hire] to hire one"]}):tk.map(t=>e(t))}),"team"===R&&(0,n.jsx)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0,overflowY:"auto"},children:0===tb.length?(0,n.jsxs)("div",{style:{textAlign:"center",color:"#5a4838",padding:20,fontSize:11,fontFamily:"monospace"},children:["No team yet ","—"," click [+ Hire Team] to hire a team"]}):(0,n.jsxs)(n.Fragment,{children:[tb.map(t=>e(t)),s.length>0&&(0,n.jsx)(e1,{messages:s,agents:o,assetsReady:ee,onClear:c})]})})]})})()})}),tC&&ty.length>0&&!tw&&!P&&(0,n.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, rgba(22,18,42,0.95) 0%, rgba(22,18,42,0.7) 80%, transparent 100%)",overflowX:"auto"},children:[(0,n.jsx)("button",{onClick:()=>w(!0),style:{width:44,height:44,flexShrink:0,border:"1px solid #e8b04060",backgroundColor:"rgba(200,155,48,0.12)",color:"#e8b040",fontSize:20,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"},children:"+"}),(0,n.jsx)("button",{onClick:()=>O(!0),style:{width:44,height:44,flexShrink:0,border:"1px solid #e8903070",backgroundColor:"rgba(224,133,48,0.12)",color:"#e89030",fontSize:10,fontWeight:700,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"monospace"},children:"Team"}),ty.map(e=>{var t,o;let r=null!=(t=eL[e.status])?t:eL.idle;return(0,n.jsxs)("button",{onClick:()=>{g(e.agentId),L(!0)},style:{position:"relative",flexShrink:0,width:44,height:44,border:u===e.agentId?"1px solid #e8b040":"1px solid #3d2e54",backgroundColor:"#1e1a30",cursor:"pointer",padding:0,display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},children:[(0,n.jsx)(eU,{palette:null!=(o=e.palette)?o:0,zoom:1,ready:ee}),(0,n.jsx)("span",{style:{position:"absolute",bottom:2,right:2,width:6,height:6,backgroundColor:r.color,border:"1px solid #1e1a30"}})]},e.agentId)})]}),tC&&tw&&(()=>{var e,t;let r=u?o.get(u):null;if(!r)return null;let l=null!=(e=eL[r.status])?e:eL.idle,a="working"===r.status||"waiting_approval"===r.status,i=!!r.teamId&&!r.isTeamLead;return(0,n.jsxs)("div",{style:{position:"absolute",inset:0,zIndex:30,backgroundColor:"#1a1530",display:"flex",flexDirection:"column"},children:[(0,n.jsxs)("div",{onClick:()=>L(!1),style:{padding:"12px 14px",borderBottom:"1px solid #2e2448",display:"flex",alignItems:"center",gap:10,flexShrink:0,backgroundColor:"#1e1a30",cursor:"pointer"},children:[(0,n.jsx)("span",{style:{fontSize:14,color:"#7a6858",marginRight:4},children:"←"}),(0,n.jsx)(eU,{palette:null!=(t=r.palette)?t:0,zoom:2,ready:ee}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsxs)("div",{style:{fontSize:12,fontWeight:700,color:"#eddcb8",display:"flex",alignItems:"center",gap:4},children:[r.name,r.isTeamLead&&(0,n.jsx)("span",{style:{fontSize:8,padding:"1px 4px",backgroundColor:"#e8903028",color:"#e89030",border:"1px solid #e8903060",fontFamily:"monospace"},children:"LEAD"}),i&&(0,n.jsx)("span",{style:{fontSize:8,padding:"1px 4px",backgroundColor:"#e8b04020",color:"#e8b040",border:"1px solid #e8b04050",fontFamily:"monospace"},children:"TEAM"})]}),(0,n.jsx)("div",{style:{fontSize:10,color:"#7a6858"},children:r.role})]}),(0,n.jsx)("span",{style:{fontSize:9,padding:"2px 6px",backgroundColor:l.color+"18",color:l.color,border:"1px solid ".concat(l.color,"40"),flexShrink:0,fontFamily:"monospace"},children:l.label})]}),(0,n.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"12px 14px",display:"flex",flexDirection:"column"},children:[r.isTeamLead&&(()=>{let e=tf(r.agentId);if(!e)return null;let t={create:{color:"#5aacff",icon:"\uD83D\uDCAC",hint:"Define the project"},design:{color:"#e8b040",icon:"\uD83D\uDCCB",hint:"Review the plan"},execute:{color:"#e89030",icon:"⚡",hint:"Team is building"},complete:{color:"#48cc6a",icon:"✓",hint:"Review results"}}[e];return t?(0,n.jsxs)("div",{style:{padding:"5px 8px",marginBottom:8,backgroundColor:t.color+"10",border:"1px solid ".concat(t.color,"30"),display:"flex",alignItems:"center",gap:6,fontSize:10,fontFamily:"monospace"},children:[(0,n.jsx)("span",{children:t.icon}),(0,n.jsx)("span",{style:{color:t.color,fontWeight:700,textTransform:"uppercase",fontSize:8,letterSpacing:"0.05em"},children:e}),(0,n.jsx)("span",{style:{color:"#7a6858"},children:t.hint})]}):null})(),0===r.messages.length&&(0,n.jsx)("div",{style:{textAlign:"center",color:"#5a4838",padding:20,fontSize:12,fontFamily:"monospace"},children:i?"This agent is managed by the Team Lead":"Send a message to get started"}),r.messages.map(e=>(0,n.jsx)(eB,{msg:e,onPreview:h,isTeamLead:r.isTeamLead,isTeamMember:i,teamPhase:r.isTeamLead?tf(r.agentId):null},e.id)),a&&!r.pendingApproval&&(0,n.jsx)(eO,{logLine:r.lastLogLine}),r.pendingApproval&&(0,n.jsxs)("div",{style:{marginBottom:8,padding:12,backgroundColor:"#261a00",border:"1px solid #e89030"},children:[(0,n.jsxs)("div",{style:{fontSize:11,fontWeight:"bold",color:"#e89030",marginBottom:6,fontFamily:"monospace"},children:["▲ ",r.pendingApproval.title]}),(0,n.jsx)("div",{style:{fontSize:12,color:"#b89868",marginBottom:10,lineHeight:1.5},children:r.pendingApproval.summary}),(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("button",{onClick:()=>tx(r.pendingApproval.approvalId,"yes"),style:{flex:1,padding:"8px",border:"1px solid #48cc6a",backgroundColor:"#143a14",color:"#48cc6a",cursor:"pointer",fontWeight:"bold",fontSize:11,fontFamily:"monospace"},children:"▶ Approve"}),(0,n.jsx)("button",{onClick:()=>tx(r.pendingApproval.approvalId,"no"),style:{flex:1,padding:"8px",border:"1px solid #e04848",backgroundColor:"#3e1818",color:"#e04848",cursor:"pointer",fontWeight:"bold",fontSize:11,fontFamily:"monospace"},children:"✕ Reject"})]})]}),(0,n.jsx)("div",{ref:Y})]}),(()=>{let e=r.isTeamLead?tf(r.agentId):null;return(0,n.jsx)("div",{style:{padding:"8px 10px",borderTop:"1px solid #2e2448",backgroundColor:"#1a1530",flexShrink:0},children:i?(0,n.jsx)("div",{style:{textAlign:"center",color:"#5a4838",fontSize:11,padding:"8px 0",fontFamily:"monospace"},children:"Tasks are assigned by the Team Lead"}):"execute"===e&&a?(0,n.jsx)("button",{onClick:async()=>{await v("Cancel current work?")&&tg()},style:{width:"100%",padding:"9px 16px",border:"1px solid #e04848",backgroundColor:"#3e1818",color:"#e04848",fontSize:12,cursor:"pointer",fontFamily:"monospace"},children:"✕ Cancel current work"}):"design"!==e||a?"complete"!==e||a?a?(0,n.jsx)("button",{onClick:async()=>{await v("Cancel current work?")&&tg()},style:{width:"100%",padding:"9px 16px",border:"1px solid #e04848",backgroundColor:"#3e1818",color:"#e04848",fontSize:12,cursor:"pointer",fontFamily:"monospace"},children:"✕ Cancel current work"}):(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("input",{value:H,onChange:e=>z(e.target.value),onKeyDown:e=>"Enter"===e.key&&!e.nativeEvent.isComposing&&tu(),placeholder:"Send a message...",style:{flex:1,padding:"9px 12px",border:"1px solid #3d2e54",backgroundColor:"#16122a",color:"#eddcb8",fontSize:13,outline:"none"},autoFocus:!0}),(0,n.jsx)("button",{onClick:tu,disabled:!H.trim(),style:{padding:"9px 14px",border:"none",backgroundColor:H.trim()?"#e8b040":"#272040",color:H.trim()?"#16122a":"#5a4838",fontSize:12,cursor:H.trim()?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Send"})]}):(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("input",{value:H,onChange:e=>z(e.target.value),onKeyDown:e=>"Enter"===e.key&&!e.nativeEvent.isComposing&&tu(),placeholder:"Request changes...",style:{flex:1,padding:"9px 12px",border:"1px solid #3d2e54",backgroundColor:"#16122a",color:"#eddcb8",fontSize:13,outline:"none"}}),(0,n.jsx)("button",{onClick:tu,disabled:!H.trim(),style:{padding:"9px 14px",border:"none",backgroundColor:H.trim()?"#e8b040":"#272040",color:H.trim()?"#16122a":"#5a4838",fontSize:12,cursor:H.trim()?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Send"})]}),(0,n.jsx)("button",{onClick:async()=>{await v("End this project and start a new one?")&&tm()},style:{width:"100%",padding:"9px 16px",border:"1px solid #e89030",backgroundColor:"#261a00",color:"#e89030",fontSize:12,cursor:"pointer",fontWeight:700,fontFamily:"monospace"},children:"End Project"})]}):(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,n.jsx)("button",{onClick:th,style:{width:"100%",padding:"9px 16px",border:"1px solid #48cc6a",backgroundColor:"#143a14",color:"#48cc6a",fontSize:12,cursor:"pointer",fontWeight:700,fontFamily:"monospace"},children:"▶ Approve Plan"}),(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("input",{value:H,onChange:e=>z(e.target.value),onKeyDown:e=>"Enter"===e.key&&!e.nativeEvent.isComposing&&tu(),placeholder:"Or give feedback...",style:{flex:1,padding:"9px 12px",border:"1px solid #3d2e54",backgroundColor:"#16122a",color:"#eddcb8",fontSize:13,outline:"none"}}),(0,n.jsx)("button",{onClick:tu,disabled:!H.trim(),style:{padding:"9px 14px",border:"none",backgroundColor:H.trim()?"#e8b040":"#272040",color:H.trim()?"#16122a":"#5a4838",fontSize:12,cursor:H.trim()?"pointer":"default",fontWeight:700,fontFamily:"monospace"},children:"Send"})]})]})})})()]})})(),tC&&P&&(0,n.jsxs)("div",{style:{position:"absolute",inset:0,zIndex:30,backgroundColor:"#1a1530",display:"flex",flexDirection:"column"},children:[(0,n.jsxs)("div",{onClick:()=>O(!1),style:{padding:"12px 14px",borderBottom:"1px solid #2e2448",display:"flex",alignItems:"center",gap:10,flexShrink:0,backgroundColor:"#1e1a30",cursor:"pointer"},children:[(0,n.jsx)("span",{style:{fontSize:14,color:"#7a6858",marginRight:4},children:"←"}),(0,n.jsx)("div",{style:{fontSize:12,fontWeight:700,color:"#eddcb8"},children:"Team Chat"}),(0,n.jsxs)("span",{style:{fontSize:10,color:"#7a6858",fontFamily:"monospace"},children:[s.length," messages"]})]}),(0,n.jsx)(eQ,{messages:s,agents:o,assetsReady:ee})]}),T&&(0,n.jsx)(eZ,{agentDefs:p,onHire:tn,onCreate:()=>{w(!1),F(null),I(!0)},onEdit:e=>{w(!1),F(e),I(!0)},onDelete:ta,onClose:()=>w(!1),assetsReady:ee}),j&&(0,n.jsx)(e2,{agentDefs:p,onCreateTeam:tr,onClose:()=>A(!1),assetsReady:ee}),E&&(0,n.jsx)(eJ,{onSave:tl,onClose:()=>{I(!1),F(null)},assetsReady:ee,editAgent:W}),J.current&&(0,n.jsx)(eF,{isOpen:B,onClose:()=>U(!1),layout:J.current.layout,onImportLayout:e3,soundEnabled:X,onSoundEnabledChange:V}),f&&(0,n.jsx)(eR,{url:f,onClose:()=>h(null)}),k&&(0,n.jsx)(e_,{}),y&&(0,n.jsx)(ez,{previewUrl:y.previewUrl,previewPath:y.previewPath,previewCmd:y.previewCmd,previewPort:y.previewPort,projectDir:y.projectDir,entryFile:y.entryFile,onPreview:e=>{h(e),b(null),S(!1)},onDismiss:()=>{b(null),S(!1)}}),C]})}},9631:(e,t,o)=>{"use strict";o.d(t,{AI:()=>f,CW:()=>m,Co:()=>g,Kf:()=>b,MB:()=>u,Pg:()=>h,_m:()=>k,hF:()=>y,kr:()=>x});var n=o(5195),r=o(9892),l=o(1661);let a={h:210,s:20,b:22,c:0},i={h:35,s:30,b:15,c:0},s={h:150,s:15,b:20,c:0},c={h:30,s:40,b:25,c:0},d={h:195,s:10,b:18,c:0},p={h:270,s:15,b:20,c:0};function u(e){let t=[];for(let o=0;o<e.rows;o++){let n=[];for(let t=0;t<e.cols;t++)n.push(e.tiles[o*e.cols+t]);t.push(n)}return t}function g(e){let t=new Map;for(let o of e){let e=(0,r.Um)(o.type);if(!e||!e.isDesk)continue;let l=o.row*n.dn+e.sprite.length;for(let n=0;n<e.footprintH;n++)for(let r=0;r<e.footprintW;r++){let e="".concat(o.col+r,",").concat(o.row+n),a=t.get(e);(void 0===a||l>a)&&t.set(e,l)}}let o=[];for(let a of e){let e=(0,r.Um)(a.type);if(!e)continue;let i=a.col*n.dn,s=a.row*n.dn,c=s+e.sprite.length;if("chairs"===e.category&&(c="back"===e.orientation?(a.row+1)*n.dn+1:(a.row+1)*n.dn),e.canPlaceOnSurfaces)for(let o=0;o<e.footprintH;o++)for(let n=0;n<e.footprintW;n++){let e=t.get("".concat(a.col+n,",").concat(a.row+o));void 0!==e&&e+.5>c&&(c=e+.5)}let d=e.sprite;if(a.color){let{h:t,s:o,b:n,c:r}=a.color;d=(0,l.LN)("furn-".concat(a.type,"-").concat(t,"-").concat(o,"-").concat(n,"-").concat(r,"-").concat(+!!a.color.colorize),e.sprite,a.color)}o.push({sprite:d,x:i,y:s,zY:c})}return o}function f(e,t){let o=new Set;for(let n of e){let e=(0,r.Um)(n.type);if(!e)continue;let l=e.backgroundTiles||0;for(let r=0;r<e.footprintH;r++)if(!(r<l))for(let l=0;l<e.footprintW;l++){let e="".concat(n.col+l,",").concat(n.row+r);t&&t.has(e)||o.add(e)}}return o}function h(e,t){return f(t?e.filter(e=>e.uid!==t):e)}function m(e){let t=new Map,o=new Set;for(let t of e){let e=(0,r.Um)(t.type);if(e&&e.isDesk)for(let n=0;n<e.footprintH;n++)for(let r=0;r<e.footprintW;r++)o.add("".concat(t.col+r,",").concat(t.row+n))}let l=[{dc:0,dr:-1,facing:n.OP.UP},{dc:0,dr:1,facing:n.OP.DOWN},{dc:-1,dr:0,facing:n.OP.LEFT},{dc:1,dr:0,facing:n.OP.RIGHT}];for(let a of e){let e=(0,r.Um)(a.type);if(!e||"chairs"!==e.category)continue;let i=0;for(let r=0;r<e.footprintH;r++)for(let s=0;s<e.footprintW;s++){let c=a.col+s,d=a.row+r,p=n.OP.DOWN;if(e.orientation)p=function(e){switch(e){case"front":default:return n.OP.DOWN;case"back":return n.OP.UP;case"left":return n.OP.LEFT;case"right":return n.OP.RIGHT}}(e.orientation);else for(let e of l)if(o.has("".concat(c+e.dc,",").concat(d+e.dr))){p=e.facing;break}let u=0===i?a.uid:"".concat(a.uid,":").concat(i);t.set(u,{uid:u,seatCol:c,seatRow:d,facingDir:p,assigned:!1}),i++}}return t}function x(){let e=n.wh,t=n.YK,o=n.nb.WALL,r=n.nb.FLOOR_1;n.nb.VOID;let l=[],a=[],i={h:195,s:10,b:18,c:0};for(let n=0;n<t;n++)for(let s=0;s<e;s++){let c=0===n||n===t-1||0===s||s===e-1?o:r;l.push(c),a.push(c===r?i:null)}let s=[],c=0,d=[3,7,11,15];for(let e of[2,6,10,14])for(let t of d)c++,s.push({uid:"desk-".concat(c),type:n.JM.DESK,col:t,row:e}),s.push({uid:"ch-".concat(c),type:n.JM.CHAIR,col:t,row:e+2});return s.push({uid:"plant-1",type:n.JM.PLANT,col:1,row:1}),s.push({uid:"plant-2",type:n.JM.PLANT,col:19,row:1}),s.push({uid:"plant-3",type:n.JM.PLANT,col:1,row:19}),s.push({uid:"plant-4",type:n.JM.PLANT,col:19,row:19}),s.push({uid:"shelf-1",type:n.JM.BOOKSHELF,col:1,row:9}),s.push({uid:"shelf-2",type:n.JM.BOOKSHELF,col:19,row:9}),s.push({uid:"cooler-1",type:n.JM.COOLER,col:10,row:19}),s.push({uid:"wb-1",type:n.JM.WHITEBOARD,col:9,row:1}),{version:1,cols:e,rows:t,tiles:l,tileColors:a,furniture:s}}function y(e){return JSON.stringify(e)}function b(e){try{let t=JSON.parse(e);if(t&&1===t.version&&Array.isArray(t.tiles)&&Array.isArray(t.furniture))return S(t)}catch(e){}return null}function k(e){return S(e)}function S(e){if(e.tileColors&&e.tileColors.length===e.tiles.length)return e;let t=[];for(let o of e.tiles)switch(o){case 0:t.push(null);break;case 1:t.push(a);break;case 2:t.push(i);break;case 3:t.push(s);break;case 4:t.push(c);break;case 5:t.push(d);break;case 6:t.push(p);break;default:t.push(o>0?{h:0,s:0,b:0,c:0}:null)}return{...e,tileColors:t}}},9892:(e,t,o)=>{"use strict";o.d(t,{UV:()=>h,Um:()=>g,ZZ:()=>m,Ze:()=>y,Zl:()=>x,ar:()=>u,xr:()=>f});var n=o(5195),r=o(2988),l=o(4296);let a=[{type:n.JM.DESK,label:"Desk",footprintW:2,footprintH:2,sprite:r.US,isDesk:!0,category:"desks"},{type:n.JM.BOOKSHELF,label:"Bookshelf",footprintW:1,footprintH:2,sprite:r.iK,isDesk:!1,category:"storage"},{type:n.JM.PLANT,label:"Plant",footprintW:1,footprintH:1,sprite:r.WN,isDesk:!1,category:"decor"},{type:n.JM.COOLER,label:"Cooler",footprintW:1,footprintH:1,sprite:r.L$,isDesk:!1,category:"misc"},{type:n.JM.WHITEBOARD,label:"Whiteboard",footprintW:2,footprintH:1,sprite:r.SJ,isDesk:!1,category:"decor"},{type:n.JM.CHAIR,label:"Chair",footprintW:1,footprintH:1,sprite:r.mr,isDesk:!1,category:"chairs"},{type:n.JM.PC,label:"PC",footprintW:1,footprintH:1,sprite:r.mY,isDesk:!1,category:"electronics"},{type:n.JM.LAMP,label:"Lamp",footprintW:1,footprintH:1,sprite:r.Zc,isDesk:!1,category:"decor"}],i=[{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"}],s=new Map,c=new Map,d=new Map,p=new Map;function u(e){for(let n of l.Q){var t,o;let r=e.get(n.id);if(!r)continue;let l=a.findIndex(e=>e.type===n.id),i=(t=n,o=r,{type:t.id,label:t.label,footprintW:t.footprintW,footprintH:t.footprintH,sprite:o,isDesk:t.isDesk,category:t.category,canPlaceOnSurfaces:t.canPlaceOnSurfaces,backgroundTiles:t.backgroundTiles,canPlaceOnWalls:t.canPlaceOnWalls,...t.orientation?{orientation:t.orientation}:{}});l>=0?a[l]=i:a.push(i)}let n=new Map;for(let e of l.Q)if(e.groupId&&e.orientation){if(e.state&&"off"!==e.state)continue;let t=n.get(e.groupId);t||(t=new Map,n.set(e.groupId,t)),t.set(e.orientation,e.id)}let r=["front","right","back","left"];for(let e of n.values()){if(e.size<2)continue;let t=r.filter(t=>e.has(t));if(t.length<2)continue;let o={};for(let n of t)o[n]=e.get(n);let n={orientations:t,members:o};for(let e of Object.values(o))s.set(e,n)}let i=new Map;for(let e of l.Q)if(e.groupId&&e.state){let t="".concat(e.groupId,"|").concat(e.orientation||""),o=i.get(t);o||(o=new Map,i.set(t,o)),o.set(e.state,e.id)}for(let e of i.values()){let t=e.get("on"),o=e.get("off");t&&o&&(c.set(t,o),c.set(o,t),d.set(o,t),p.set(t,o))}for(let e of l.Q)if(e.groupId&&e.orientation&&"on"===e.state){let t=c.get(e.id);if(t){let e=s.get(t);if(e){let t={};for(let o of e.orientations){let n=e.members[o],r=c.get(n);t[o]=null!=r?r:n}let o={orientations:e.orientations,members:t};for(let e of Object.values(t))s.has(e)||s.set(e,o)}}}}function g(e){return a.find(t=>t.type===e)}function f(e){var t;return null!=(t=d.get(e))?t:e}function h(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cw",o=s.get(e);if(!o)return null;let n=o.orientations.map(e=>o.members[e]),r=n.indexOf(e);if(-1===r)return null;let l=(r+("cw"===t?1:-1)+n.length)%n.length;return n[l]}function m(e){return s.has(e)}function x(e){return a.filter(t=>t.category===e)}function y(){let e=new Set;for(let t of a)t.category&&e.add(t.category);return i.filter(t=>e.has(t.id))}}},e=>{e.O(0,[284,989,235,388,358],()=>e(e.s=3423)),_N_E=e.O()}]);