@ycodium-ai/plugin-pixel-office 0.0.0-stage → 0.2.3576

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,19 @@
1
- # Temporary Holding Version
1
+ # Pixel Office
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ 团队页的第三种视角:把团队的每个会话画成办公室里的一个像素小人。团队层是一间房
4
+ (负责人桌、成员工位、前台柜台、咖啡角、沙发、饮水机、门口队),项目层是每个团队一座岛。
5
+ 小人的姿势来自会话状态(在跑 / 等你处理 / 出错 / 空闲 / 盯着 / 已停 / 排队等名额),
6
+ 状态变化才换姿势;换场(工位 ↔ 咖啡角 ↔ 柜台)走有限步补间,补间期间 rAF ≤ 8 fps,走完即停。
7
+ 视角被切走(`active: false`)时停掉全部动画与订阅;静止时零重绘。
8
+
9
+ - 视角:`ui.teamViews` 的 `office`,`scopes: ["team", "project"]`,座位 `team.view`。
10
+ - 数据全部经公开插件接口:`work.lines.*`、`work.items.list`、`threads.list/get`、
11
+ `threads.execution.summary`,刷新靠本插件自己的 `watch` 门铃流(work 事件 + 会话目录流,
12
+ 250 ms 合并)。
13
+ - 素材全部自绘:字符画像素小人编译成 box-shadow,房间是纯 CSS 盒,不引外部图片。
14
+ - 名册成员 ↔ 成员会话没有公开映射,所以小人以**会话**为单位(负责人会话 + `person` 子会话),
15
+ 还没有会话的成员不进房间。
16
+
17
+ 构建:`node build.mjs`(宿主共享 React 与 plugin-api,只打包自身)。
18
+ 测试:`vp test run plugins/pixel-office`。
19
+ 真实浏览器验收:`node scripts/ui-probe/pixel-office.ts --home <新目录>`。
@@ -0,0 +1,14 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" shape-rendering="crispEdges" role="img" aria-label="Pixel Office">
2
+ <rect width="16" height="16" fill="#0f172a"/>
3
+ <rect x="3" y="2" width="10" height="12" fill="#334155"/>
4
+ <rect x="4" y="3" width="2" height="2" fill="#fde68a"/>
5
+ <rect x="7" y="3" width="2" height="2" fill="#fde68a"/>
6
+ <rect x="10" y="3" width="2" height="2" fill="#38bdf8"/>
7
+ <rect x="4" y="6" width="2" height="2" fill="#38bdf8"/>
8
+ <rect x="7" y="6" width="2" height="2" fill="#fde68a"/>
9
+ <rect x="10" y="6" width="2" height="2" fill="#fde68a"/>
10
+ <rect x="4" y="9" width="2" height="2" fill="#fde68a"/>
11
+ <rect x="7" y="9" width="2" height="2" fill="#38bdf8"/>
12
+ <rect x="10" y="9" width="2" height="2" fill="#fde68a"/>
13
+ <rect x="6" y="12" width="4" height="2" fill="#0ea5e9"/>
14
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" shape-rendering="crispEdges" role="img" aria-label="Office view">
2
+ <rect x="2" y="3" width="12" height="2" fill="#64748b"/>
3
+ <rect x="3" y="5" width="2" height="8" fill="#94a3b8"/>
4
+ <rect x="11" y="5" width="2" height="8" fill="#94a3b8"/>
5
+ <rect x="6" y="6" width="4" height="5" fill="#38bdf8"/>
6
+ <rect x="7" y="9" width="2" height="2" fill="#0ea5e9"/>
7
+ <rect x="6" y="12" width="5" height="1" fill="#f59e0b"/>
8
+ </svg>
package/assets/ui.js ADDED
@@ -0,0 +1,494 @@
1
+ var J=window.__ycodiumPluginHost.modules?.["@ycodium-ai/plugin-api/ui"];if(!J)throw new Error("This plugin needs a newer Ycodium app. Update the app.");var{HOST_TEAM_VIEW_PREFIX:ht,PLUGIN_UI_BRIDGE_VERSION:wt,PLUGIN_UI_FLOATING_VIEW_PROP:gt,PLUGIN_UI_GLOBAL_KEY:yt,PLUGIN_UI_HOST_CAPABILITIES:bt,PLUGIN_UI_HOST_COMMAND_PALETTE_UNAVAILABLE_MESSAGE:xt,PLUGIN_UI_HOST_UPGRADE_MESSAGE:vt,TEAM_VIEW_KEY_PATTERN:kt,communicationRecordStage:It,defineTeamView:Z,isTeamViewKey:Pt,pluginUiHostHasCapability:Ot}=J;var ee=`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
+ @layer properties, theme, base, components, utilities;
3
+ @layer properties;
4
+ :root, :host {
5
+ --color-ring: var(--ring);
6
+ }
7
+ @layer utilities {
8
+ @scope (.ycodium-pixel-office-ui) {
9
+ .absolute:where(:scope, *) {
10
+ position: absolute;
11
+ }
12
+ .relative:where(:scope, *) {
13
+ position: relative;
14
+ }
15
+ .top-0:where(:scope, *) {
16
+ top: calc(var(--spacing, 0.25rem) * 0);
17
+ }
18
+ .left-0:where(:scope, *) {
19
+ left: calc(var(--spacing, 0.25rem) * 0);
20
+ }
21
+ .container:where(:scope, *) {
22
+ width: 100%;
23
+ @media (width >= 40rem) {
24
+ max-width: 40rem;
25
+ }
26
+ @media (width >= 48rem) {
27
+ max-width: 48rem;
28
+ }
29
+ @media (width >= 64rem) {
30
+ max-width: 64rem;
31
+ }
32
+ @media (width >= 80rem) {
33
+ max-width: 80rem;
34
+ }
35
+ @media (width >= 96rem) {
36
+ max-width: 96rem;
37
+ }
38
+ }
39
+ .m-0:where(:scope, *) {
40
+ margin: calc(var(--spacing, 0.25rem) * 0);
41
+ }
42
+ .m-1:where(:scope, *) {
43
+ margin: calc(var(--spacing, 0.25rem) * 1);
44
+ }
45
+ .m-2:where(:scope, *) {
46
+ margin: calc(var(--spacing, 0.25rem) * 2);
47
+ }
48
+ .m-3:where(:scope, *) {
49
+ margin: calc(var(--spacing, 0.25rem) * 3);
50
+ }
51
+ .m-4:where(:scope, *) {
52
+ margin: calc(var(--spacing, 0.25rem) * 4);
53
+ }
54
+ .m-8:where(:scope, *) {
55
+ margin: calc(var(--spacing, 0.25rem) * 8);
56
+ }
57
+ .m-9:where(:scope, *) {
58
+ margin: calc(var(--spacing, 0.25rem) * 9);
59
+ }
60
+ .m-auto:where(:scope, *) {
61
+ margin: auto;
62
+ }
63
+ .block:where(:scope, *) {
64
+ display: block;
65
+ }
66
+ .flex:where(:scope, *) {
67
+ display: flex;
68
+ }
69
+ .min-h-0:where(:scope, *) {
70
+ min-height: calc(var(--spacing, 0.25rem) * 0);
71
+ }
72
+ .w-full:where(:scope, *) {
73
+ width: 100%;
74
+ }
75
+ .min-w-0:where(:scope, *) {
76
+ min-width: calc(var(--spacing, 0.25rem) * 0);
77
+ }
78
+ .flex-1:where(:scope, *) {
79
+ flex: 1;
80
+ }
81
+ .shrink-0:where(:scope, *) {
82
+ flex-shrink: 0;
83
+ }
84
+ .origin-top-left:where(:scope, *) {
85
+ transform-origin: 0 0;
86
+ }
87
+ .transform:where(:scope, *) {
88
+ transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
89
+ }
90
+ .flex-col:where(:scope, *) {
91
+ flex-direction: column;
92
+ }
93
+ .flex-wrap:where(:scope, *) {
94
+ flex-wrap: wrap;
95
+ }
96
+ .items-center:where(:scope, *) {
97
+ align-items: center;
98
+ }
99
+ .justify-center:where(:scope, *) {
100
+ justify-content: center;
101
+ }
102
+ .gap-1\\.5:where(:scope, *) {
103
+ gap: calc(var(--spacing, 0.25rem) * 1.5);
104
+ }
105
+ .gap-2:where(:scope, *) {
106
+ gap: calc(var(--spacing, 0.25rem) * 2);
107
+ }
108
+ .gap-x-4:where(:scope, *) {
109
+ column-gap: calc(var(--spacing, 0.25rem) * 4);
110
+ }
111
+ .gap-y-1:where(:scope, *) {
112
+ row-gap: calc(var(--spacing, 0.25rem) * 1);
113
+ }
114
+ .overflow-hidden:where(:scope, *) {
115
+ overflow: hidden;
116
+ }
117
+ .overflow-y-auto:where(:scope, *) {
118
+ overflow-y: auto;
119
+ }
120
+ .px-4:where(:scope, *) {
121
+ padding-inline: calc(var(--spacing, 0.25rem) * 4);
122
+ }
123
+ .py-1:where(:scope, *) {
124
+ padding-block: calc(var(--spacing, 0.25rem) * 1);
125
+ }
126
+ .py-2:where(:scope, *) {
127
+ padding-block: calc(var(--spacing, 0.25rem) * 2);
128
+ }
129
+ .pt-2:where(:scope, *) {
130
+ padding-top: calc(var(--spacing, 0.25rem) * 2);
131
+ }
132
+ .text-ui-sm:where(:scope, *) {
133
+ font-size: var(--ui-text-sm);
134
+ line-height: var(--tw-leading, var(--ui-leading-sm));
135
+ }
136
+ .text-ui-xs:where(:scope, *) {
137
+ font-size: var(--ui-text-xs);
138
+ line-height: var(--tw-leading, var(--ui-leading-xs));
139
+ }
140
+ .text-muted-foreground:where(:scope, *) {
141
+ color: var(--contrast-muted-foreground);
142
+ }
143
+ .text-warning-foreground:where(:scope, *) {
144
+ color: var(--warning-foreground);
145
+ }
146
+ .shadow:where(:scope, *) {
147
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
148
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
149
+ }
150
+ .ring:where(:scope, *) {
151
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
152
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
153
+ }
154
+ }
155
+ }
156
+ .po-stage {
157
+ --po-tile-a: #d8d3c8;
158
+ --po-tile-b: #cbc5b8;
159
+ --po-wall: #b9c6d5;
160
+ --po-furniture: #a97c50;
161
+ --po-furniture-dark: #8a6240;
162
+ --po-metal: #9aa7b8;
163
+ --po-ink: #3d4451;
164
+ position: relative;
165
+ background: var(--po-tile-b);
166
+ }
167
+ :is(.dark) .po-stage {
168
+ --po-tile-a: #2c333f;
169
+ --po-tile-b: #262c37;
170
+ --po-wall: #333c4b;
171
+ --po-furniture: #7c5b3c;
172
+ --po-furniture-dark: #5f4630;
173
+ --po-metal: #64748b;
174
+ --po-ink: #cbd5e1;
175
+ }
176
+ .po-floor {
177
+ position: absolute;
178
+ left: 0;
179
+ right: 0;
180
+ top: 118px;
181
+ bottom: 0;
182
+ background: conic-gradient( var(--po-tile-a) 25%, var(--po-tile-b) 0 50%, var(--po-tile-a) 0 75%, var(--po-tile-b) 0 );
183
+ background-size: 48px 48px;
184
+ }
185
+ .po-wall {
186
+ position: absolute;
187
+ left: 0;
188
+ right: 0;
189
+ top: 0;
190
+ height: 120px;
191
+ background: var(--po-wall);
192
+ border-bottom: 6px solid #8d99a8;
193
+ }
194
+ .dark .po-wall {
195
+ border-bottom-color: #475264;
196
+ }
197
+ .po-window {
198
+ position: absolute;
199
+ width: 96px;
200
+ height: 54px;
201
+ background: #bfe3f5;
202
+ border: 4px solid #8d99a8;
203
+ }
204
+ .dark .po-window {
205
+ background: #274257;
206
+ border-color: #475264;
207
+ }
208
+ .po-door {
209
+ position: absolute;
210
+ left: 846px;
211
+ top: 468px;
212
+ width: 66px;
213
+ height: 66px;
214
+ background: var(--po-furniture);
215
+ border: 4px solid var(--po-furniture-dark);
216
+ border-radius: 6px 6px 0 0;
217
+ }
218
+ .po-counter {
219
+ position: absolute;
220
+ left: 792px;
221
+ top: 258px;
222
+ width: 84px;
223
+ height: 70px;
224
+ background: var(--po-furniture);
225
+ border: 3px solid var(--po-furniture-dark);
226
+ }
227
+ .po-coffee {
228
+ position: absolute;
229
+ left: 56px;
230
+ top: 216px;
231
+ width: 44px;
232
+ height: 58px;
233
+ background: var(--po-metal);
234
+ border: 3px solid #6b7787;
235
+ }
236
+ .po-couch {
237
+ position: absolute;
238
+ left: 52px;
239
+ top: 424px;
240
+ width: 128px;
241
+ height: 46px;
242
+ background: #b0593b;
243
+ border: 4px solid #8a4630;
244
+ border-radius: 8px;
245
+ }
246
+ .dark .po-couch {
247
+ background: #7e4029;
248
+ border-color: #5e2f1e;
249
+ }
250
+ .po-cooler {
251
+ position: absolute;
252
+ left: 206px;
253
+ top: 150px;
254
+ width: 30px;
255
+ height: 56px;
256
+ background: #dbe7f0;
257
+ border: 3px solid #9aa7b8;
258
+ }
259
+ .dark .po-cooler {
260
+ background: #3d4a5c;
261
+ }
262
+ .po-plant {
263
+ position: absolute;
264
+ width: 26px;
265
+ height: 34px;
266
+ background: #3f7d4f;
267
+ border-radius: 50% 50% 6px 6px;
268
+ }
269
+ .dark .po-plant {
270
+ background: #2f5e3b;
271
+ }
272
+ .po-desk-top {
273
+ position: absolute;
274
+ background: var(--po-furniture);
275
+ border: 2px solid var(--po-furniture-dark);
276
+ }
277
+ .po-desk-dim {
278
+ opacity: 0.55;
279
+ }
280
+ .po-desk-leg {
281
+ position: absolute;
282
+ background: var(--po-furniture-dark);
283
+ }
284
+ .po-laptop {
285
+ position: absolute;
286
+ background: #3f4756;
287
+ border: 1px solid #262c37;
288
+ }
289
+ .dark .po-laptop {
290
+ background: #111722;
291
+ }
292
+ .po-board {
293
+ position: absolute;
294
+ left: 640px;
295
+ top: 14px;
296
+ width: 220px;
297
+ padding: 6px 10px;
298
+ background: #f2efe6;
299
+ border: 3px solid #8a6240;
300
+ border-radius: 4px;
301
+ color: var(--po-ink);
302
+ display: flex;
303
+ flex-direction: column;
304
+ gap: 2px;
305
+ }
306
+ .dark .po-board {
307
+ background: #1c222c;
308
+ }
309
+ .po-board-title {
310
+ font-weight: 600;
311
+ font-size: 12px;
312
+ margin-bottom: 2px;
313
+ overflow: hidden;
314
+ text-overflow: ellipsis;
315
+ white-space: nowrap;
316
+ }
317
+ .po-board-row {
318
+ display: flex;
319
+ align-items: center;
320
+ gap: 6px;
321
+ font-size: 11px;
322
+ line-height: 1.3;
323
+ }
324
+ .po-island {
325
+ position: absolute;
326
+ background: var(--po-tile-a);
327
+ border: 3px dashed #a99f8c;
328
+ border-radius: 10px;
329
+ }
330
+ .dark .po-island {
331
+ border-color: #4a5364;
332
+ }
333
+ .po-island-archived {
334
+ opacity: 0.55;
335
+ }
336
+ .po-island-sign {
337
+ position: absolute;
338
+ display: flex;
339
+ align-items: baseline;
340
+ gap: 8px;
341
+ max-width: 288px;
342
+ color: var(--po-ink);
343
+ font-size: 12px;
344
+ white-space: nowrap;
345
+ }
346
+ .po-island-sign-archived {
347
+ text-decoration: line-through;
348
+ }
349
+ .po-island-name {
350
+ font-weight: 600;
351
+ overflow: hidden;
352
+ text-overflow: ellipsis;
353
+ }
354
+ .po-island-badge {
355
+ font-size: 10px;
356
+ padding: 0 4px;
357
+ border-radius: 4px;
358
+ background: var(--po-ink);
359
+ @supports (color: color-mix(in lab, red, red)) {
360
+ background: color-mix(in srgb, var(--po-ink) 12%, transparent);
361
+ }
362
+ }
363
+ .po-island-count {
364
+ font-size: 10px;
365
+ opacity: 0.8;
366
+ }
367
+ .po-character {
368
+ position: absolute;
369
+ transform: translate(-50%, -100%);
370
+ display: flex;
371
+ flex-direction: column;
372
+ align-items: center;
373
+ padding: 0;
374
+ border: 0;
375
+ background: transparent;
376
+ cursor: pointer;
377
+ -webkit-tap-highlight-color: transparent;
378
+ }
379
+ .po-character:focus-visible {
380
+ outline: 2px solid var(--color-ring, #3b82f6);
381
+ outline-offset: 2px;
382
+ border-radius: 4px;
383
+ }
384
+ .po-sprite-frame {
385
+ display: block;
386
+ }
387
+ .po-sprite {
388
+ display: block;
389
+ }
390
+ .po-name {
391
+ display: block;
392
+ margin-top: 2px;
393
+ width: var(--po-name-w, 80px);
394
+ min-width: 0;
395
+ font-size: 11px;
396
+ line-height: 1.2;
397
+ color: var(--po-ink);
398
+ overflow: hidden;
399
+ text-overflow: ellipsis;
400
+ white-space: nowrap;
401
+ }
402
+ .po-bubble {
403
+ position: absolute;
404
+ top: -14px;
405
+ right: -6px;
406
+ min-width: 16px;
407
+ height: 16px;
408
+ padding: 0 3px;
409
+ display: flex;
410
+ align-items: center;
411
+ justify-content: center;
412
+ font-size: 11px;
413
+ font-weight: 700;
414
+ border-radius: 8px 8px 8px 2px;
415
+ }
416
+ .po-bubble-waiting {
417
+ background: #f5c518;
418
+ color: #4a3b00;
419
+ }
420
+ .po-bubble-failed {
421
+ background: #e5484d;
422
+ color: #fff;
423
+ }
424
+ .po-bubble-asleep {
425
+ background: #8b95a5;
426
+ color: #1c222c;
427
+ }
428
+ .po-bubble-queued {
429
+ background: #7c9cf5;
430
+ color: #101a33;
431
+ }
432
+ .po-dot {
433
+ display: inline-block;
434
+ width: 8px;
435
+ height: 8px;
436
+ border-radius: 2px;
437
+ flex: none;
438
+ }
439
+ .po-dot-working, .po-dot-started {
440
+ background: #3b82f6;
441
+ }
442
+ .po-dot-waiting {
443
+ background: #f5c518;
444
+ }
445
+ .po-dot-monitoring {
446
+ background: #14b8a6;
447
+ }
448
+ .po-dot-failed {
449
+ background: #e5484d;
450
+ }
451
+ .po-dot-idle {
452
+ background: #94a3b8;
453
+ }
454
+ .po-dot-asleep {
455
+ background: #64748b;
456
+ }
457
+ .po-dot-queued {
458
+ background: #7c9cf5;
459
+ }
460
+ .po-dot-todo {
461
+ background: #a8a29e;
462
+ }
463
+ .po-dot-completed {
464
+ background: #22c55e;
465
+ }
466
+ .po-dot-cancelled {
467
+ background: #78716c;
468
+ }
469
+ @layer properties {
470
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
471
+ *, ::before, ::after, ::backdrop {
472
+ --tw-rotate-x: initial;
473
+ --tw-rotate-y: initial;
474
+ --tw-rotate-z: initial;
475
+ --tw-skew-x: initial;
476
+ --tw-skew-y: initial;
477
+ --tw-shadow: 0 0 #0000;
478
+ --tw-shadow-color: initial;
479
+ --tw-shadow-alpha: 100%;
480
+ --tw-inset-shadow: 0 0 #0000;
481
+ --tw-inset-shadow-color: initial;
482
+ --tw-inset-shadow-alpha: 100%;
483
+ --tw-ring-color: initial;
484
+ --tw-ring-shadow: 0 0 #0000;
485
+ --tw-inset-ring-color: initial;
486
+ --tw-inset-ring-shadow: 0 0 #0000;
487
+ --tw-ring-inset: initial;
488
+ --tw-ring-offset-width: 0px;
489
+ --tw-ring-offset-color: #fff;
490
+ --tw-ring-offset-shadow: 0 0 #0000;
491
+ }
492
+ }
493
+ }
494
+ `;var Je=window.__ycodiumPluginHost.react;var{Activity:Rt,Children:Lt,Component:Et,Fragment:Ct,Profiler:Mt,PureComponent:Nt,StrictMode:_t,Suspense:At,__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE:Dt,__COMPILER_RUNTIME:Ht,act:Ut,cache:Wt,cacheSignal:Bt,captureOwnerStack:Ft,cloneElement:qt,createContext:te,createElement:A,createRef:jt,forwardRef:Vt,isValidElement:zt,lazy:$t,memo:oe,startTransition:Kt,unstable_useCacheRefresh:Gt,use:Xt,useActionState:Yt,useCallback:R,useContext:re,useDebugValue:Qt,useDeferredValue:Jt,useEffect:x,useEffectEvent:Zt,useId:eo,useImperativeHandle:to,useInsertionEffect:oo,useLayoutEffect:ne,useMemo:v,useOptimistic:ro,useReducer:no,useRef:g,useState:C,useSyncExternalStore:ao,useTransition:io,version:so}=Je;var ae=te(null),ie=ae.Provider;function k(){let e=re(ae);if(e===null)throw new Error("pixel-office-ui-not-registered");return e}function O(){let e=k().i18n.usePluginTranslation();return{t:(t,o)=>e(t,o)}}function se({environmentId:e,projectId:t,onBell:o,retryRef:r}){let n=k(),s=v(()=>({projectId:t}),[t]),c=v(()=>({environmentId:e}),[e]),l=n.commands.useSubscription("watch",s,c),a=l.data,d=a?.cursor??null,f=a?.threads,m=l.error!==null||l.isUnavailable,w=g(!1);return x(()=>{r.current=l.refresh}),x(()=>{if(!w.current){w.current=!0,o({cursor:d,failed:m,initial:!0});return}o({cursor:d,failed:m,...f===void 0?{}:{threads:f}})},[d,m,f]),null}var Ze={todo:0,started:0,completed:0,cancelled:0},et=e=>{let t={...Ze};for(let o of e)switch(o.state.group){case"started":t.started+=1;break;case"completed":t.completed+=1;break;case"cancelled":t.cancelled+=1;break;default:t.todo+=1;break}return t},ce=(e,t)=>({workLineId:e.workLineId,name:e.name,archived:e.archivedAt!==null,threadId:e.threadId,counts:et(t.filter(o=>o.workLineId===e.workLineId))}),tt=e=>[...e].sort((t,o)=>t.archived!==o.archived?t.archived?1:-1:t.workLineId.localeCompare(o.workLineId)),le=e=>[...e].sort((t,o)=>t.lineId!==o.lineId?t.lineId.localeCompare(o.lineId):t.role!==o.role?t.role==="lead"?-1:1:t.threadId.localeCompare(o.threadId)),de=(e,t,o,r,n,s)=>({threadId:o,title:r,role:t,status:n,queuePosition:s,lineId:e}),H=e=>{switch(e){case"needs-approval":case"needs-input":case"plan-ready":return"waiting";case"running":return"working";case"background":return"monitoring";case"failed":return"failed";case"stopped":return"asleep";default:return"idle"}},ue=e=>H(e.status??"idle"),U=e=>e.summary?.origin?.requestedBy==="person",j=e=>e==="idle",V=e=>{let t=new Map;for(let o of e){if(o===null||o.continuation!=="queued")continue;let r=o.queue.find(n=>n.status==="blocked"&&n.waitingForCapacity===!0);r!==void 0&&t.set(o.threadId,r.position)}return t},pe=(e,t)=>e==="idle"&&t!==null?"queued":e,fe=(e,t,o)=>me(e,"member",t,o),ot=(e,t,o)=>me(e,"lead",t,o),me=(e,t,o,r)=>de(e,t,o.threadId,o.title,pe(H(o.status),r),r),rt=(e,t,o)=>de(e,"lead",t.id,t.title,pe(ue(t),o),o),he=(e,t)=>[...e!==null&&j(ue(e))?[e.id]:[],...t.filter(o=>j(H(o.status))).map(o=>o.threadId)],we=(e,t)=>{let o=new Set(e.flatMap(r=>r.threadId===null?[]:[r.threadId]));return t.filter(r=>(o.has(r.threadId)||r.parentThreadId!==null&&o.has(r.parentThreadId)&&U(r))&&j(H(r.status))).map(r=>r.threadId)},z=e=>{let t=e.line.workLineId;return{lines:[ce(e.line,e.items)],characters:le([...e.lead===null?[]:[rt(t,e.lead,e.queue.get(e.lead.id)??null)],...e.members.map(o=>fe(t,o,e.queue.get(o.threadId)??null))])}},ge=e=>{let t=new Map(e.threads.map(n=>[n.threadId,n])),o=new Map;for(let n of e.threads){if(n.parentThreadId===null||!U(n))continue;let s=o.get(n.parentThreadId);s===void 0?o.set(n.parentThreadId,[n]):s.push(n)}let r=[];for(let n of e.lines){let s=n.workLineId;if(n.threadId!==null){let c=t.get(n.threadId);c!==void 0&&r.push(ot(s,c,e.queue.get(c.threadId)??null));for(let l of o.get(n.threadId)??[])r.push(fe(s,l,e.queue.get(l.threadId)??null))}}return{lines:tt(e.lines.map(n=>ce(n,e.items))),characters:le(r)}};var D=async e=>{let t=[],o=null;for(;;){let r=await e(o);if(t.push(...r.items),r.nextCursor===null)return t;o=r.nextCursor}},ye=async(e,t,o)=>{if(o.length===0)return V([]);let r=await Promise.all(o.map(n=>e.data.read("threads.execution.summary",{threadId:n},{environmentId:t}).catch(()=>null)));return V(r)};async function be(e,t){let{environmentId:o,projectId:r,workLineId:n}=t,{line:s}=await e.data.read("work.lines.get",{projectId:r,workLineId:n},{environmentId:o}),c=D(y=>e.data.read("work.items.list",{projectId:r,workLineIds:[n],cursor:y},{environmentId:o}));if(s.threadId===null)return z({line:s,lead:null,members:[],items:await c,queue:new Map});let l=s.threadId,[a,d,f]=await Promise.all([e.data.read("threads.get",{threadId:l},{environmentId:o}).catch(()=>null),D(y=>e.data.read("threads.list",{projectId:r,parentThreadId:l,include:["summary"],cursor:y},{environmentId:o})),c]),m=d.filter(U),w=await ye(e,o,he(a,m));return z({line:s,lead:a,members:m,items:f,queue:w})}async function xe(e,t){let{environmentId:o,projectId:r}=t,[n,s,c]=await Promise.all([D(a=>e.data.read("work.lines.list",{projectId:r,includeArchived:!0,cursor:a},{environmentId:o})),D(a=>e.data.read("threads.list",{projectId:r,include:["summary"],cursor:a},{environmentId:o})),D(a=>e.data.read("work.items.list",{projectId:r,cursor:a},{environmentId:o}))]),l=await ye(e,o,we(n,s));return ge({lines:n,threads:s,items:c,queue:l})}var nt=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function ve(e){let{environmentId:t,projectId:o,active:r}=e,n=e.scope==="team"?e.workLineId:null,s=k(),c=g(()=>{}),l=R(()=>c.current(),[]),a=v(()=>({scene:null}),[t,o,n]),d=v(()=>({active:!1,dirty:!1,running:null}),[t,o,n]),f=g(e);f.current=e;let[m,w]=C(null),[y,b]=C(!1),[I,M]=C(!1),P=R(()=>!d.active||!f.current.active?Promise.resolve():(d.dirty=!0,d.running!==null||(d.running=(async()=>{try{do{d.dirty=!1;try{let p=f.current.scope==="team"?await be(s,f.current):await xe(s,f.current);if(!d.active||!f.current.active)return;(a.scene===null||!nt(p,a.scene))&&(a.scene=p,w(p)),b(!1)}catch{if(!d.active||!f.current.active)return;b(!0)}}while(d.active&&d.dirty)}finally{d.running=null}})()),d.running),[s,a,d]);x(()=>(d.active=!0,a.scene=null,w(null),b(!1),P(),()=>{d.active=!1}),[d,P,a]);let N=g(null),q=R(p=>{if(M(_=>_===p.failed?_:p.failed),p.initial===!0){p.cursor!==null&&(N.current=p.cursor);return}let E=N.current;if(Object.is(E,p.cursor))return;if(N.current=p.cursor,E!==null&&p.cursor===E+1&&p.threads!==void 0){let _=f.current.scope==="team"?[f.current.threadId]:a.scene?.lines.map(T=>T.threadId)??[],Xe=new Set(_),Ye=new Set([..._,...a.scene?.characters.map(T=>T.threadId)??[]]);if(!p.threads.ids.some(T=>Ye.has(T))&&!p.threads.parentIds.some(T=>Xe.has(T)))return}P()},[a,P]),h=g(r);return x(()=>{r&&!h.current&&P(),h.current=r},[r,P]),{scene:m,loadFailed:y,reload:P,watchFailed:r&&I,retryWatch:l,subscription:r?A(se,{environmentId:t,projectId:o,onBell:q,retryRef:c}):null}}function $(e){return function(o){return A(k().ui[e],{...o})}}var K=$("Empty"),G=$("EmptyHeader"),X=$("EmptyTitle");function Y(e){return A(k().ui.Button,e)}var at={working:["...hhhh...","..hhhhhh..","..ssssss..","..sesses..","..ssssss..",".cccccccc.","cccccccccc","cccccccccc",".s.cccc.s.","...kkkk...","..pppppp..","..pp..pp..","..b....b..",".........."],waiting:["...hhhh.s.","..hhhhhh.s","..ssssss.s","..sesses.s","..ssssss.s",".ccccccccc","cccccccccc","cccccccccc",".s.cccc...","...pppp...","..pp..pp..","..pp..pp..","..b....b..",".........."],failed:["..........","..........","...hhhh...","..hhhhhh..","..ssssss..","..ssssss..",".cccccccc.","cccccccccc","sccccccccs","s........s","..pppppp..","..pp..pp..","..b....b..",".........."],idle:["...hhhh...","..hhhhhh..","..ssssss..","..sesses..","..ssssss..",".cccccccc.","cccccccccc","u.ccccccc.","u.scccc...","...pppp...","..pp..pp..","..pp..pp..","..b....b..",".........."],asleep:["..........","...hhhh...","..hhhhhh..","..ssssss..","..s.ss.s..",".cccccccc.","cccccccccc","cccccccccc",".cccccccc.","..pppppp..","..pppppp..","..........","..........",".........."],monitoring:["...hhhh...","..hhhhhh..","..ssssss..","..sesses..","..ssssss..",".cccccccc.","cccccccccc","cccccccccc",".ccccccc..","..pppppp..","..pp..pp..","..pp..pp..","..b....b..",".........."],queued:["...hhhh...","..hhhhhh..","..ssssss..","..sssssee.","..ssssss..",".cccccccc.","cccccccccc","cccccccccc",".s.cccccc.","..ppppppk.","..pppppp..","..pppppp..","...b..b...",".........."]},L=3,ke=10,it=14,W=1,Ie=new Map;function Re(e){let t=Ie.get(e);if(t!==void 0)return t;let o=at[e],r=[];for(let[s,c]of o.entries()){if(c.length!==ke)throw new Error(`pose-${e}-row-${s}-width`);for(let[l,a]of[...c].entries())a!=="."&&r.push(`${(l+W)*L}px ${(s+W)*L}px 0 var(--po-${a})`)}let n={boxShadow:r.join(", "),width:(ke+W)*L,height:(it+W)*L};return Ie.set(e,n),n}var Pe=["#f2c9a0","#dcae7c","#c28c5c","#9c6b44"],Oe=["#2f2a26","#5b4632","#8a6a3f","#b58a52","#d9c48f","#6e6e73","#40485c"],Se=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#64748b"],Te=["#334155","#1e293b","#4b5563"],st=e=>{let t=5381;for(let o of e)t=(t*33^o.charCodeAt(0))>>>0;return t};function Le(e){let t=st(e);return{"--po-h":Oe[(t>>>0)%Oe.length],"--po-s":Pe[(t>>>3)%Pe.length],"--po-e":"#26221e","--po-c":Se[(t>>>6)%Se.length],"--po-p":Te[(t>>>9)%Te.length],"--po-b":"#3b2f2a","--po-k":"#4b5563","--po-u":"#f4f1ea"}}var{jsx:i,jsxs:u,Fragment:S}=window.__ycodiumPluginHost.jsxRuntime;var ct=e=>{switch(e.status){case"waiting":return"?";case"failed":return"!";case"asleep":return"z";case"queued":return e.queuePosition===null?"\u2026":String(e.queuePosition);default:return null}},Ee=oe(function(t){let{character:o,slot:r}=t,{t:n}=O(),s=Re(o.status),c=ct(o),l=n(`office.status.${o.status}`),a=g(null),d=g(t.walker);d.current=t.walker;let f=g(r);return ne(()=>{let m=a.current,w=f.current;f.current=r,!(m===null||w.x===r.x&&w.y===r.y)&&d.current.move(o.threadId,m,w,r)},[r,o.threadId]),u("button",{ref:a,type:"button",className:"po-character","data-office-character":o.threadId,"data-office-status":o.status,style:{left:r.x,top:r.y,...Le(o.threadId)},"aria-label":`${n("office.characterLabel",{name:o.title,status:l})}${o.role==="lead"?` \xB7 ${n("office.leadBadge")}`:""}${o.queuePosition!==null?` \xB7 ${n("office.queuePosition",{position:o.queuePosition})}`:""}`,onClick:()=>t.onOpen(o),children:[i("span",{className:"po-sprite-frame",style:{width:s.width,height:s.height},children:i("span",{className:"po-sprite",style:{width:L,height:L,boxShadow:s.boxShadow}})}),c===null?null:i("span",{className:`po-bubble po-bubble-${o.status}`,children:c}),i("span",{className:"po-name",children:o.title})]})});function Q(e){let t=g(null),[o,r]=C(1),n=e.plan.width;x(()=>{let c=t.current;if(c===null||typeof ResizeObserver>"u")return;let l=new ResizeObserver(()=>{let a=Math.min(c.clientWidth/n,1.4);r(d=>Math.abs(d-a)<.001?d:a)});return l.observe(c),()=>l.disconnect()},[n]);let s={width:e.plan.width,height:e.plan.height,transform:`scale(${o})`};return i("div",{ref:t,className:"po-viewport relative flex w-full min-w-0 items-center justify-center overflow-hidden",style:{height:"100%",minHeight:e.plan.height*o,"--po-name-w":e.compact===!0?"64px":"120px"},children:i("div",{className:"relative shrink-0",style:{width:e.plan.width*o,height:e.plan.height*o},children:i("div",{className:"po-stage absolute left-0 top-0 origin-top-left","data-office-room":"",role:"group","aria-label":e.ariaLabel,style:s,children:e.children})})})}var B=(e,t,o,r,n,s)=>i("div",{className:n,style:{left:e,top:t,width:o,height:r}},s);function Ce(e){return u(S,{children:[B(e.x-34,e.y+4,68,10,`po-desk-top${e.dark?" po-desk-dim":""}`,"top"),B(e.x-30,e.y+14,4,18,"po-desk-leg","leg-l"),B(e.x+26,e.y+14,4,18,"po-desk-leg","leg-r"),e.laptop?B(e.x-10,e.y-2,20,7,"po-laptop","laptop"):null]})}function Me(){return u(S,{children:[i("div",{className:"po-floor"}),i("div",{className:"po-wall"}),i("div",{className:"po-window",style:{left:300,top:28}}),i("div",{className:"po-window",style:{left:430,top:28}}),i("div",{className:"po-door"}),i("div",{className:"po-counter"}),i("div",{className:"po-coffee"}),i("div",{className:"po-couch"}),i("div",{className:"po-cooler"}),i("div",{className:"po-plant",style:{left:900,top:130}})]})}function Ne(e){let{t}=O();return u("div",{className:"po-board","data-office-board":"",children:[i("div",{className:"po-board-title",children:e.name}),u("div",{className:"po-board-row",children:[i("span",{className:"po-dot po-dot-todo"}),t("office.counts.todo",{count:e.counts.todo})]}),u("div",{className:"po-board-row",children:[i("span",{className:"po-dot po-dot-started"}),t("office.counts.started",{count:e.counts.started})]}),u("div",{className:"po-board-row",children:[i("span",{className:"po-dot po-dot-completed"}),t("office.counts.completed",{count:e.counts.completed})]}),u("div",{className:"po-board-row",children:[i("span",{className:"po-dot po-dot-cancelled"}),t("office.counts.cancelled",{count:e.counts.cancelled})]})]})}function _e(e){let{t}=O();return u(S,{children:[i("div",{className:`po-island${e.archived?" po-island-archived":""}`,style:lt(e)}),u("div",{className:`po-island-sign${e.archived?" po-island-sign-archived":""}`,style:{left:e.x+8,top:e.y-26},children:[i("span",{className:"po-island-name",children:e.name}),e.archived?i("span",{className:"po-island-badge",children:t("office.archived")}):null,u("span",{className:"po-island-count",children:[t("office.counts.started",{count:e.counts.started})," \xB7"," ",t("office.counts.completed",{count:e.counts.completed})]})]})]})}var lt=e=>({left:e.x,top:e.y,width:e.width,height:e.height});function We(e){let t=new Map,o=new Map,r=["waiting","idle","asleep","monitoring","queued"],n=new Map(r.map(a=>[a,0])),s=e.characters.filter(a=>a.role==="member");for(let[a,d]of s.entries())o.set(d.threadId,{x:150+a%6*130,y:330+Math.floor(a/6)*120});for(let a of e.characters){let d=n.get(a.status);a.role==="lead"&&o.set(a.threadId,{x:470,y:220}),a.status==="working"||a.status==="failed"?t.set(a.threadId,o.get(a.threadId)):d!==void 0?(t.set(a.threadId,dt(a.status,d)),n.set(a.status,d+1)):t.set(a.threadId,o.get(a.threadId))}let c=[...t.values(),...o.values()],l=Math.max(0,...c.map(a=>a.y));return{width:960,height:Math.max(540,l+70),positions:t,homeDesks:o}}var dt=(e,t)=>{switch(e){case"waiting":return{x:830,y:250+t*62};case"idle":return{x:100,y:260+t*58};case"asleep":return{x:100,y:430+t*50};case"monitoring":return{x:215,y:185+t*58};default:return{x:872,y:468+t*52}}},Ae=3,De=296,He=240,Ue=316,ut=24;function Be(e){let t=new Map,o=new Map,r=[],n=new Map;for(let c of e.characters){let l=n.get(c.lineId);l===void 0?n.set(c.lineId,[c]):l.push(c)}let s=156;for(let c=0;c<e.lines.length;c+=Ae){let a=e.lines.slice(c,c+Ae).map(m=>{let w=n.get(m.workLineId)??[],y=new Map,b=new Map,I=[],M=0;for(let h of w){if(h.role==="lead"){let E={x:De/2,y:72};y.set(h.threadId,E),b.set(h.threadId,E);continue}let p={x:58+M%3*90,y:150+Math.floor(M/3)*78};M+=1,y.set(h.threadId,p),h.status==="working"||h.status==="failed"?b.set(h.threadId,p):I.push(h.threadId)}let P=Math.max(0,...[...y.values()].map(h=>h.y)),N=Math.max(He-12,P+80);I.forEach((h,p)=>{b.set(h,{x:40+p%4*72,y:N+Math.floor(p/4)*60})});let q=Math.max(0,...[...b.values()].map(h=>h.y));return{line:m,desks:y,localPositions:b,height:Math.max(He,P+70,q+70)}}),d=Math.max(...a.map(m=>m.height)),f=(960-a.length*Ue)/2;a.forEach((m,w)=>{let y=f+w*Ue+10;r.push({line:m.line,x:y,y:s,width:De,height:d});for(let[b,I]of m.desks)o.set(b,{x:y+I.x,y:s+I.y});for(let[b,I]of m.localPositions)t.set(b,{x:y+I.x,y:s+I.y})}),s+=d+ut}return{islands:r,plan:{width:960,height:s+16,positions:t,homeDesks:o}}}var F=class{walks=new Map;handle=null;requestFrame;cancelFrame;schedule;cancelSchedule;animated;constructor(t={}){let o=t.requestFrame!==void 0||typeof requestAnimationFrame=="function";this.requestFrame=t.requestFrame??(r=>requestAnimationFrame(r)),this.cancelFrame=t.cancelFrame??(r=>cancelAnimationFrame(r)),this.schedule=t.schedule??(r=>Number(setTimeout(r,125))),this.cancelSchedule=t.cancelSchedule??(r=>clearTimeout(r)),this.animated=o}move(t,o,r,n){let s=this.walks.get(t),c=(s===void 0?r.x:s.toX+s.dx)-n.x,l=(s===void 0?r.y:s.toY+s.dy)-n.y,a=Math.max(Math.abs(c),Math.abs(l))<24;if(!this.animated||a){s!==void 0?this.finish(t):this.paintAt(o,0,0);return}this.walks.set(t,{element:o,dx:c,dy:l,toX:n.x,toY:n.y}),o.setAttribute("data-office-walking",""),this.paint(t),this.ensureLoop("raf")}stopAll(){this.clearHandle();let t=[...this.walks.keys()];for(let o of t)this.finish(o);this.walks.clear()}get isWalking(){return this.walks.size>0}clearHandle(){let t=this.handle;this.handle=null,t!==null&&(t.kind==="raf"?this.cancelFrame:this.cancelSchedule)(t.id)}ensureLoop(t){this.handle===null&&(this.handle=t==="raf"?{kind:"raf",id:this.requestFrame(()=>this.step())}:{kind:"timer",id:this.schedule(()=>{this.handle=null,this.ensureLoop("raf")})})}step(){this.handle=null;let t=[...this.walks.keys()];for(let o of t){let r=this.walks.get(o);r!==void 0&&(r.dx=Fe(r.dx),r.dy=Fe(r.dy),r.dx===0&&r.dy===0?this.finish(o):this.paint(o))}this.walks.size>0&&this.ensureLoop("timer")}finish(t){let o=this.walks.get(t);o!==void 0&&(this.walks.delete(t),o.element.removeAttribute("data-office-walking"),this.paintAt(o.element,0,0))}paint(t){let o=this.walks.get(t);o!==void 0&&this.paintAt(o.element,o.dx,o.dy)}paintAt(t,o,r){t.style.transform=o===0&&r===0?"translate(-50%, -100%)":`translate(-50%, -100%) translate(${o}px, ${r}px)`}},Fe=e=>{if(e===0)return 0;let t=Math.min(Math.abs(e),8);return e>0?e-t:e+t};function qe(e){let t=g(null);return t.current===null&&(t.current=new F),x(()=>{e||t.current?.stopAll()},[e]),x(()=>()=>t.current?.stopAll(),[]),t.current}function je(e){let t=k();return R(o=>{t.openThread({environmentId:e,threadId:o.threadId})},[t,e])}function Ve(e){return u(S,{children:[e.characters.map(t=>{let o=e.homeDesks.get(t.threadId);return o===void 0?null:i(Ce,{x:o.x,y:o.y,laptop:t.status==="working"&&e.positions.get(t.threadId)?.x===o.x&&e.positions.get(t.threadId)?.y===o.y,dark:e.archivedLine?.(t)===!0},`desk-${t.threadId}`)}),e.characters.map(t=>{let o=e.positions.get(t.threadId);return o===void 0?null:i(Ee,{character:t,slot:o,walker:e.walker,onOpen:e.onOpen},t.threadId)})]})}function ze(e){let t=v(()=>We(e.scene),[e.scene]),o=je(e.environmentId),r=qe(e.active);return u(Q,{plan:t,ariaLabel:e.scene.lines[0]?.name??"",children:[i(Me,{}),e.scene.lines[0]!==void 0?i(Ne,{name:e.scene.lines[0].name,counts:e.scene.lines[0].counts}):null,i(Ve,{characters:e.scene.characters,positions:t.positions,homeDesks:t.homeDesks,walker:r,onOpen:o})]})}function $e(e){let{t}=O(),{plan:o,islands:r}=v(()=>Be(e.scene),[e.scene]),n=je(e.environmentId),s=qe(e.active),c=R(l=>r.find(a=>a.line.workLineId===l.lineId)?.line.archived===!0,[r]);return u(Q,{plan:o,ariaLabel:t("office.floorLabel",{count:r.length}),compact:!0,children:[i("div",{className:"po-floor"}),r.map(l=>i(_e,{x:l.x,y:l.y,width:l.width,height:l.height,name:l.line.name,archived:l.line.archived,counts:l.line.counts},l.line.workLineId)),i(Ve,{characters:e.scene.characters,positions:o.positions,homeDesks:o.homeDesks,walker:s,onOpen:n,archivedLine:c})]})}var Ke=["working","waiting","monitoring","failed","idle","asleep","queued"];function pt(e){let{t}=O();return i("ul",{className:"flex flex-wrap items-center justify-center gap-x-4 gap-y-1 px-4 py-2","data-office-legend":"",children:[...e.statuses].toSorted((o,r)=>Ke.indexOf(o[0])-Ke.indexOf(r[0])).map(([o,r])=>u("li",{className:"flex items-center gap-1.5 text-ui-sm text-muted-foreground",children:[i("span",{className:`po-dot po-dot-${o}`}),t(`office.status.${o}`)," \xD7 ",r]},o))})}function Ge(e){let{t}=O(),o=ve(e),r=v(()=>{let n=new Map;for(let s of o.scene?.characters??[]){let c=s.status;n.set(c,(n.get(c)??0)+1)}return n},[o.scene]);return u("section",{className:"ycodium-pixel-office-ui flex w-full min-w-0 flex-1 flex-col","data-office-scope":e.scope,"data-office-active":e.active,children:[o.subscription,o.watchFailed?u("p",{className:"flex items-center justify-center gap-2 px-4 py-1 text-ui-xs text-warning-foreground",children:[t("office.watchFailed"),i(Y,{size:"sm",onClick:()=>{o.retryWatch()},children:t("office.retryWatch")})]}):null,o.scene===null?o.loadFailed?u(K,{className:"m-auto",children:[i(G,{children:i(X,{children:t("office.loadFailed")})}),i(Y,{onClick:()=>{o.reload()},children:t("office.reload")})]}):i("p",{className:"m-auto",children:t("office.loading")}):o.scene.lines.length===0?i(K,{className:"m-auto",children:i(G,{children:i(X,{children:t("office.noTeams")})})}):u(S,{children:[e.scope==="team"&&e.threadId===null?i("p",{className:"px-4 pt-2 text-ui-xs text-muted-foreground",children:t("office.threadDeleted")}):null,o.scene.characters.length===0?i("p",{className:"px-4 pt-2 text-ui-xs text-muted-foreground",children:t("office.emptyRoom")}):null,i("div",{className:"min-h-0 flex-1 overflow-y-auto",children:e.scope==="team"?i(ze,{environmentId:e.environmentId,scene:o.scene,active:e.active}):i($e,{environmentId:e.environmentId,scene:o.scene,active:e.active})}),r.size>0?i(pt,{statuses:r}):null]})]})}function ft(e){return{slots:[Z({key:"office",component:function(o){return u(ie,{value:e,children:[i("style",{children:ee}),i(Ge,{...o})]})}})]}}export{ft as default};