agentworkshop 0.7.12 → 0.7.14

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 (100) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/CD1SlCoI.js +14 -0
  3. package/.output/public/_nuxt/CYBq3kS7.js +1 -0
  4. package/.output/public/_nuxt/Cr9DkD1d.js +1 -0
  5. package/.output/public/_nuxt/DGVAuScD.js +1 -0
  6. package/.output/public/_nuxt/DMdVWIGz.js +19 -0
  7. package/.output/public/_nuxt/DVoWWlUW.js +1 -0
  8. package/.output/public/_nuxt/agents.CB9Ck7VQ.css +1 -0
  9. package/.output/public/_nuxt/builds/latest.json +1 -1
  10. package/.output/public/_nuxt/builds/meta/23c30854-f9e1-4651-bc3a-b695ef5faca4.json +1 -0
  11. package/.output/public/_nuxt/channel-templates.C-M5nKcC.css +1 -0
  12. package/.output/public/_nuxt/{Ds8JbqGB.js → ed5qX-x5.js} +1 -1
  13. package/.output/public/_nuxt/{entry.Bv_GCmPP.css → entry.BNApuuEW.css} +1 -1
  14. package/.output/public/_nuxt/logs.BarkrvUp.css +1 -0
  15. package/.output/public/_nuxt/pages.CG8UJ2TK.css +1 -0
  16. package/.output/public/_nuxt/teams.DN0pAGGu.css +1 -0
  17. package/.output/public/_nuxt/tokens.BVXU1jOK.css +1 -0
  18. package/.output/server/chunks/_/nitro.mjs +849 -752
  19. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  20. package/.output/server/chunks/_/user.schema.mjs +1 -1
  21. package/.output/server/chunks/_/user.schema.mjs.map +1 -1
  22. package/.output/server/chunks/build/TownView-CunmEMzS.mjs +1 -1
  23. package/.output/server/chunks/build/_id_-CVnMdSeG.mjs +1 -1
  24. package/.output/server/chunks/build/_id_-D265Wh_k.mjs +1 -1
  25. package/.output/server/chunks/build/{agents-B10wmFri.mjs → agents--6bzGtES.mjs} +156 -80
  26. package/.output/server/chunks/build/agents--6bzGtES.mjs.map +1 -0
  27. package/.output/server/chunks/build/{channel-templates-CpWxVk5A.mjs → channel-templates-C1Bb-U75.mjs} +19 -20
  28. package/.output/server/chunks/build/channel-templates-C1Bb-U75.mjs.map +1 -0
  29. package/.output/server/chunks/build/daq-DxaXk_8N.mjs +1 -1
  30. package/.output/server/chunks/build/dcw-B0dtiHFG.mjs +1 -1
  31. package/.output/server/chunks/build/{logs-Crf6f1IC.mjs → logs-UWXeNKy_.mjs} +34 -34
  32. package/.output/server/chunks/build/{logs-Crf6f1IC.mjs.map → logs-UWXeNKy_.mjs.map} +1 -1
  33. package/.output/server/chunks/build/{pages-BmRUbGUi.mjs → pages-Aexs6LjD.mjs} +27 -15
  34. package/.output/server/chunks/build/pages-Aexs6LjD.mjs.map +1 -0
  35. package/.output/server/chunks/build/{teams-CNflUtPh.mjs → teams-DD8ZXTKL.mjs} +29 -32
  36. package/.output/server/chunks/build/teams-DD8ZXTKL.mjs.map +1 -0
  37. package/.output/server/chunks/build/{tokens-BKLzcdMg.mjs → tokens-Dxnuw96_.mjs} +14 -14
  38. package/.output/server/chunks/build/{tokens-BKLzcdMg.mjs.map → tokens-Dxnuw96_.mjs.map} +1 -1
  39. package/.output/server/chunks/build/useDaqStream-BkmyQT06.mjs +1 -1
  40. package/.output/server/chunks/build/useDcwStream-DWVoU96J.mjs +1 -1
  41. package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs.map +1 -1
  42. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  43. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +1 -1
  44. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  45. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +14 -2
  46. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -1
  47. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  48. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  49. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  50. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  51. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  52. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  53. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  54. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  55. package/.output/server/chunks/routes/renderer.mjs +2 -2
  56. package/.output/server/chunks/virtual/entry.mjs +25 -13
  57. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  58. package/.output/server/package.json +1 -1
  59. package/app/composables/workshop/useWorkshopApi.ts +11 -1
  60. package/app/pages/index.vue +72 -0
  61. package/app/pages/logs/index.vue +3 -1
  62. package/app/pages/tokens.vue +3 -1
  63. package/app/pages/workshop/agents.vue +71 -6
  64. package/app/pages/workshop/channel-templates.vue +2 -1
  65. package/app/pages/workshop/teams.vue +24 -2
  66. package/app/plugins/http.ts +4 -3
  67. package/i18n/locales/en.ts +8 -1
  68. package/i18n/locales/zh-CN.ts +8 -1
  69. package/package.json +148 -148
  70. package/scripts/_dbg-harness-e2e.mjs +92 -0
  71. package/scripts/_dbg-harness-ui-dbg.py +49 -0
  72. package/scripts/_dbg-harness-ui-e2e.py +87 -0
  73. package/scripts/_dbg-login-e2e.mjs +26 -0
  74. package/server/api/workshop/harnesses.get.ts +15 -2
  75. package/server/data/dcw-lines.json +14 -0
  76. package/server/data/dcw-rollback.json +6 -6
  77. package/server/data/dcws.json +198 -198
  78. package/server/repositories/user.repository.ts +4 -3
  79. package/server/schemas/user.schema.ts +2 -2
  80. package/server/services/workshop/agents/adapters/line-spawn.ts +3 -2
  81. package/server/services/workshop/agents/harness-availability.ts +127 -0
  82. package/server/services/workshop/agents/registry.ts +21 -0
  83. package/server/services/workshop/runtime/manager.ts +16 -1
  84. package/.output/public/_nuxt/CvYfzHYz.js +0 -1
  85. package/.output/public/_nuxt/D2JyEL28.js +0 -14
  86. package/.output/public/_nuxt/D8xY-Yjc.js +0 -19
  87. package/.output/public/_nuxt/QoCzfpo2.js +0 -1
  88. package/.output/public/_nuxt/agents.CEbox5-D.css +0 -1
  89. package/.output/public/_nuxt/builds/meta/54e22640-4fd0-4fee-9077-31d4d4bb7969.json +0 -1
  90. package/.output/public/_nuxt/channel-templates.De5ZvrGz.css +0 -1
  91. package/.output/public/_nuxt/eUGyJdiT.js +0 -1
  92. package/.output/public/_nuxt/hb_ceMJP.js +0 -1
  93. package/.output/public/_nuxt/logs.BS1sb41K.css +0 -1
  94. package/.output/public/_nuxt/pages.BkE-AfIb.css +0 -1
  95. package/.output/public/_nuxt/teams.CUMnbQGf.css +0 -1
  96. package/.output/public/_nuxt/tokens.rW1xHxRW.css +0 -1
  97. package/.output/server/chunks/build/agents-B10wmFri.mjs.map +0 -1
  98. package/.output/server/chunks/build/channel-templates-CpWxVk5A.mjs.map +0 -1
  99. package/.output/server/chunks/build/pages-BmRUbGUi.mjs.map +0 -1
  100. package/.output/server/chunks/build/teams-CNflUtPh.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ .page[data-v-53f2addc]{flex-direction:column;gap:12px;display:flex}.head[data-v-53f2addc]{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.h1[data-v-53f2addc]{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.sub[data-v-53f2addc]{color:var(--ink-faint);margin:4px 0 0;font-size:12.5px}.head-actions[data-v-53f2addc]{align-items:center;gap:10px;display:flex}.live-dot[data-v-53f2addc]{background:var(--tone-success-dot);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--tone-success-dot) 45%, transparent);border-radius:50%;animation:2s ease-out infinite livePulse-53f2addc}@keyframes livePulse-53f2addc{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.live-txt[data-v-53f2addc]{color:var(--ink-faint);font-size:11px}.filter-card[data-v-53f2addc]{background:var(--surface-glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(var(--aurora-blur)) saturate(1.15);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px 14px;display:flex}.flt[data-v-53f2addc]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.flt-grow[data-v-53f2addc]{flex:180px}.inp-sel[data-v-53f2addc]{min-width:0;color:var(--ink);background:var(--frost-bg);border:1px solid var(--glass-line);border-radius:7px;outline:none;padding:6px 9px;font-size:12.5px}.inp-sel[data-v-53f2addc]:focus{border-color:color-mix(in srgb, var(--tone-info-dot) 55%, transparent)}.mini-btn[data-v-53f2addc]{color:var(--ink-soft);background:var(--frost-bg);border:1px solid var(--glass-line);cursor:pointer;border-radius:7px;padding:6px 11px;font-size:12px}.mini-btn[data-v-53f2addc]:hover{border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.table-card[data-v-53f2addc]{background:var(--surface-glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(var(--aurora-blur)) saturate(1.15);border-radius:10px;overflow:hidden}.err[data-v-53f2addc]{color:var(--tone-danger-dot);margin:0;padding:8px 14px;font-size:12px}.log-table[data-v-53f2addc]{border-collapse:collapse;width:100%;font-size:12.5px}.log-table th[data-v-53f2addc]{z-index:1;text-align:left;color:var(--ink-soft);background:var(--frost-bg);border-bottom:1px solid var(--glass-line);padding:8px 10px;font-weight:600;position:sticky;top:0}.log-table td[data-v-53f2addc]{max-width:380px;color:var(--ink-soft);border-bottom:1px solid color-mix(in srgb, var(--glass-line) 55%, transparent);vertical-align:top;padding:7px 10px}.th-kind[data-v-53f2addc],.th-src[data-v-53f2addc],.th-time[data-v-53f2addc]{white-space:nowrap}.th-detail[data-v-53f2addc]{width:72px}.actor[data-v-53f2addc]{white-space:nowrap}.summary .action[data-v-53f2addc]{color:var(--ink-faint);font-size:10px;display:block}.scope[data-v-53f2addc]{flex-wrap:wrap;gap:4px;max-width:220px;display:flex}.scope-chip[data-v-53f2addc]{color:var(--ink-soft);background:var(--frost-bg);white-space:nowrap;border-radius:99px;padding:1px 7px;font-size:10.5px}.detail-cell[data-v-53f2addc]{white-space:nowrap}.empty[data-v-53f2addc]{color:var(--ink-faint);text-align:center;padding:22px 0!important}.detail-box[data-v-53f2addc]{max-height:260px;color:var(--ink-soft);background:var(--frost-bg);border-top:1px solid var(--glass-line);margin:0;padding:10px 14px;font-size:11.5px;overflow:auto}.src-badge[data-v-53f2addc]{border:1px solid var(--glass-line);color:var(--ink-faint);border-radius:99px;padding:1px 8px;font-size:10.5px;display:inline-block}.src-badge.agent[data-v-53f2addc]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.src-badge.user[data-v-53f2addc]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.kind-chip[data-v-53f2addc]{color:var(--ink-soft);background:var(--frost-bg);white-space:nowrap;border-radius:5px;padding:1px 7px;font-size:10.5px;display:inline-block}.kind-chip.alarm[data-v-53f2addc]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.kind-chip.write[data-v-53f2addc]{color:var(--tone-info-dot)}.kind-chip.rollback[data-v-53f2addc]{color:var(--tone-warning-dot)}.kind-chip.manual[data-v-53f2addc]{color:var(--tone-success-dot)}.m-title[data-v-53f2addc]{color:var(--ink);margin:0 0 10px;font-size:15px}.modal-mask[data-v-53f2addc]{z-index:60;background:color-mix(in srgb, var(--ink) 32%, transparent);-webkit-backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal[data-v-53f2addc]{background:var(--surface-glass);border:1px solid var(--glass-line);width:min(560px,94vw);-webkit-backdrop-filter:blur(calc(var(--aurora-blur)*1.4)) saturate(1.2);border-radius:12px;padding:16px 18px}.m-f[data-v-53f2addc]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.m-f .inp-sel[data-v-53f2addc],.m-f textarea[data-v-53f2addc]{color:var(--ink);background:var(--frost-bg);border:1px solid var(--glass-line);resize:vertical;border-radius:7px;outline:none;padding:7px 9px;font-family:inherit;font-size:12.5px}.m-f .inp-sel[data-v-53f2addc]:focus,.m-f textarea[data-v-53f2addc]:focus{border-color:color-mix(in srgb, var(--tone-info-dot) 55%, transparent)}.m-grid[data-v-53f2addc]{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.m-actions[data-v-53f2addc]{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.ghost-btn[data-v-53f2addc]{color:var(--ink-soft);border:1px solid var(--glass-line);cursor:pointer;background:0 0;border-radius:8px;padding:7px 14px;font-size:12.5px}
@@ -0,0 +1 @@
1
+ .home[data-v-716dcbd7]{padding:4px}.hero[data-v-716dcbd7]{background:var(--surface-glass);-webkit-backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;padding:30px 34px;display:flex;position:relative;overflow:hidden}.hero[data-v-716dcbd7]:after{content:"";background:linear-gradient(90deg,#0000,#35e0a073,#0000);height:1px;position:absolute;inset:0 0 auto}.hero-scale[data-v-716dcbd7]{pointer-events:none;background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink) 26%, transparent) 0 1px, transparent 1px 120px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink) 11%, transparent) 0 1px, transparent 1px 24px);opacity:.55;height:9px;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.hero-main[data-v-716dcbd7]{flex-direction:column;gap:10px;max-width:620px;display:flex}.hero-title[data-v-716dcbd7]{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:36px;font-weight:400;line-height:1.12}.hero-sub[data-v-716dcbd7]{max-width:54ch;color:var(--ink-faint);margin:0;font-size:13px;line-height:1.65}.hero-acts[data-v-716dcbd7]{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.hero-live[data-v-716dcbd7]{background:var(--frost-bg);border:1px solid var(--glass-line);border-radius:var(--radius-chip);flex-direction:column;gap:12px;min-width:210px;padding:16px 18px;display:flex}.live-badge[data-v-716dcbd7]{letter-spacing:.16em;width:fit-content;color:var(--tone-success-dot);border:1px solid color-mix(in srgb, var(--tone-success-dot) 45%, transparent);border-radius:var(--radius-pill);align-items:center;gap:7px;padding:2px 10px;font-size:10px;display:inline-flex}.live-dot[data-v-716dcbd7]{background:var(--tone-success-dot);border-radius:50%;width:6px;height:6px}@media (prefers-reduced-motion:no-preference){.live-dot[data-v-716dcbd7]{animation:1.6s ease-in-out infinite livePulse-716dcbd7}}@keyframes livePulse-716dcbd7{0%,to{box-shadow:0 0 3px var(--tone-success-dot)}50%{box-shadow:0 0 9px var(--tone-success-dot)}}.live-rows[data-v-716dcbd7]{color:var(--ink-faint);flex-direction:column;gap:7px;font-size:11.5px;display:flex}.live-rows b[data-v-716dcbd7]{color:var(--ink)}.live-alarms.on[data-v-716dcbd7],.live-alarms.on b[data-v-716dcbd7]{color:var(--tone-danger-dot)}.kpi-row[data-v-716dcbd7]{grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px;display:grid}@media (width<=1100px){.kpi-row[data-v-716dcbd7]{grid-template-columns:repeat(3,1fr)}}.kpi[data-v-716dcbd7]{background:var(--surface-glass);-webkit-backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge);transition:border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);padding:14px 18px;position:relative;overflow:hidden}.kpi[data-v-716dcbd7]:hover{border-color:color-mix(in srgb, var(--line-strong) 70%, var(--accent) 30%);box-shadow:var(--glass-edge), var(--shadow-float);transform:translateY(-1px)}.kpi-label[data-v-716dcbd7]{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-fainter);font-size:10px;font-weight:600;display:block}.kpi-value[data-v-716dcbd7]{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:5px;font-size:26px;line-height:1.1}.kpi-value small[data-v-716dcbd7]{color:var(--ink-faint);margin-left:2px;font-size:13px}.kpi.alarm .kpi-value[data-v-716dcbd7]{color:var(--tone-danger-dot)}.grid[data-v-716dcbd7]{grid-template-columns:repeat(12,1fr);gap:12px;margin-bottom:14px;display:grid}.span8[data-v-716dcbd7]{grid-column:span 8}.span4[data-v-716dcbd7]{grid-column:span 4}@media (width<=1100px){.span4[data-v-716dcbd7],.span8[data-v-716dcbd7]{grid-column:span 12}}.dpanel[data-v-716dcbd7]{background:var(--surface-glass);-webkit-backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge);padding:14px 16px 10px;position:relative;overflow:hidden}.dpanel[data-v-716dcbd7]:before{content:"";pointer-events:none;background:linear-gradient(90deg,#35e0a066,#41c8f42e 40%,#0000 75%);height:1px;position:absolute;inset:0 0 auto}.dp-hd[data-v-716dcbd7]{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.dp-hd h3[data-v-716dcbd7]{letter-spacing:.04em;color:var(--ink);margin:0;font-size:13px;font-weight:600}.dp-hd h3[data-v-716dcbd7]:before{content:"";background:var(--accent);border-radius:1px;width:3px;height:11px;margin-right:8px;display:inline-block}.dp-hd small[data-v-716dcbd7]{letter-spacing:.06em;color:var(--ink-fainter);font-size:10px}.chart[data-v-716dcbd7]{width:100%}.h280[data-v-716dcbd7]{height:280px}.h240[data-v-716dcbd7]{height:240px}.donut-wrap[data-v-716dcbd7]{position:relative}.donut-center[data-v-716dcbd7]{pointer-events:none;flex-direction:column;align-items:center;width:100%;display:flex;position:absolute;top:38%;left:0;transform:translateY(-50%)}.donut-center b[data-v-716dcbd7]{color:var(--ink);font-size:24px}.donut-center small[data-v-716dcbd7]{color:var(--ink-faint);font-size:11px}.fleet[data-v-716dcbd7]{padding-bottom:16px}.fleet-grid[data-v-716dcbd7]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.line-card[data-v-716dcbd7]{cursor:pointer;background:var(--frost-bg);border:1px solid var(--glass-line);border-radius:var(--radius-chip);padding:12px 14px;transition:border-color .15s,background .15s}.line-card[data-v-716dcbd7]:hover{border-color:var(--lc,var(--accent))}.line-card.on[data-v-716dcbd7]{background:color-mix(in srgb, var(--lc) 7%, var(--paper-deep));border-color:color-mix(in srgb, var(--lc) 45%, transparent)}.lc-head[data-v-716dcbd7]{align-items:center;gap:8px;display:flex}.lc-dot[data-v-716dcbd7]{border:1.5px solid var(--lc);border-radius:50%;flex:none;width:8px;height:8px}.line-card.on .lc-dot[data-v-716dcbd7]{background:var(--lc);box-shadow:0 0 7px color-mix(in srgb, var(--lc) 70%, transparent)}.lc-head b[data-v-716dcbd7]{color:var(--ink);font-size:13px}.lc-state[data-v-716dcbd7]{font-family:var(--font-mono);letter-spacing:.05em;color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:var(--radius-pill);margin-left:auto;padding:1px 8px;font-size:10px}.lc-state.on[data-v-716dcbd7]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.lc-run[data-v-716dcbd7]{color:color-mix(in srgb, var(--lc) 70%, var(--ink));flex-direction:column;gap:2px;margin-top:8px;font-size:11.5px;display:flex}.lc-run small[data-v-716dcbd7]{color:var(--ink-fainter);font-size:10px}.lc-meta[data-v-716dcbd7]{color:var(--ink-faint);border-top:1px solid var(--divider-hair);gap:14px;margin-top:9px;padding-top:8px;font-size:10.5px;display:flex}.fleet-total[data-v-716dcbd7]{color:var(--ink-faint);margin-left:auto;font-size:11px}.harness-row[data-v-716dcbd7]{flex-wrap:wrap;gap:8px;padding:4px 0 6px;display:flex}.h-item[data-v-716dcbd7]{cursor:default;background:color-mix(in srgb, var(--ink) 3%, transparent);border:1px solid var(--divider-hair);border-radius:var(--radius-pill);align-items:center;gap:7px;padding:5px 12px;font-size:11.5px;transition:border-color .15s,background .15s;display:flex}.h-item[data-v-716dcbd7]:hover{border-color:var(--line-strong)}.h-dot[data-v-716dcbd7]{background:var(--tone-success-dot,#4a6b57);border-radius:50%;flex:none;width:6px;height:6px}.h-item.off[data-v-716dcbd7]{opacity:.55}.h-item.off .h-dot[data-v-716dcbd7]{background:var(--tone-danger-dot,#c25a4e)}.h-name[data-v-716dcbd7]{color:var(--ink);font-weight:600}.h-item.off .h-name[data-v-716dcbd7]{color:var(--ink-soft)}.h-cmd[data-v-716dcbd7]{color:var(--ink-faint);font-size:10px}.fleet-all[data-v-716dcbd7]{min-height:86px;color:var(--ink-faint);background:0 0;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:border-color .15s,color .15s,background .15s;display:flex}.fleet-all[data-v-716dcbd7]:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.fa-n[data-v-716dcbd7]{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:22px;line-height:1}.fleet-all:hover .fa-n[data-v-716dcbd7]{color:var(--accent)}.fa-label[data-v-716dcbd7]{font-size:12px}.fa-arrow[data-v-716dcbd7]{font-size:15px;transition:transform .16s cubic-bezier(.22,1,.36,1)}.fleet-all:hover .fa-arrow[data-v-716dcbd7]{transform:translate(3px)}.fleet-empty[data-v-716dcbd7]{color:var(--ink-faint);text-align:center;padding:18px 0;font-size:12px}@media (width<=640px){.hero[data-v-716dcbd7]{padding:24px 20px}.hero-title[data-v-716dcbd7]{font-size:28px}}
@@ -0,0 +1 @@
1
+ .page[data-v-79de9b56]{padding:4px}.head[data-v-79de9b56]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}h2[data-v-79de9b56]{margin:0 0 4px}.sub[data-v-79de9b56]{opacity:.55;margin:0;font-size:12px}.toolbar[data-v-79de9b56]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-note[data-v-79de9b56]{color:var(--ink-faint);align-items:center;gap:5px;font-size:11px;display:inline-flex}.grid[data-v-79de9b56]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.card[data-v-79de9b56]{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);transition:border-color var(--transition-fast);flex-direction:column;gap:10px;padding:14px;display:flex}.card[data-v-79de9b56]:hover{border-color:var(--line-strong)}.card-head[data-v-79de9b56]{align-items:center;gap:8px;display:flex}.name[data-v-79de9b56]{flex:auto;font-size:15px;font-weight:600}.vis-tag[data-v-79de9b56]{margin-right:2px}.owner[data-v-79de9b56]{color:var(--ink-faint);font-size:11px}.op[data-v-79de9b56]{cursor:pointer;opacity:.4}.op[data-v-79de9b56]:hover{opacity:1}.members[data-v-79de9b56]{flex-direction:column;gap:4px;display:flex}.member[data-v-79de9b56]{align-items:center;gap:6px;font-size:12px;display:flex}.member-name[data-v-79de9b56]{font-weight:500}.member-harness[data-v-79de9b56]{font-family:var(--font-mono);opacity:.5;margin-left:auto;font-size:10.5px}.rm[data-v-79de9b56]{cursor:pointer;opacity:.35}.rm[data-v-79de9b56]:hover{opacity:1}.card.placeholder[data-v-79de9b56]{opacity:.55;cursor:pointer;border-style:dashed;justify-content:center;align-items:center;min-height:140px;font-size:13px}.big[data-v-79de9b56]{font-size:28px}
@@ -0,0 +1 @@
1
+ .page[data-v-80457d58]{padding:4px}.auth-gate[data-v-80457d58]{justify-content:center;padding-top:8vh;display:flex}.auth-card[data-v-80457d58]{width:460px;max-width:92vw}.auth-card h2[data-v-80457d58]{font-family:var(--font-display);margin:0 0 8px}.sub[data-v-80457d58]{opacity:.6;margin:0 0 12px;font-size:12px}.head[data-v-80457d58]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}h2[data-v-80457d58]{font-family:var(--font-display);margin:0 0 4px}.once-banner[data-v-80457d58]{color:var(--tone-warning-dot);background:var(--tone-warning-bg);border-radius:var(--radius-chip);align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.raw-row[data-v-80457d58]{align-items:stretch;gap:6px;display:flex}.raw[data-v-80457d58]{font-family:var(--font-mono);letter-spacing:.02em;word-break:break-all;-webkit-user-select:all;user-select:all;background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex:auto;padding:10px 12px;font-size:13px}.raw-op[data-v-80457d58]{width:42px;color:var(--ink-soft);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast);flex:none;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.raw-op[data-v-80457d58]:hover{color:var(--accent);border-color:var(--accent)}.raw-op.ok[data-v-80457d58]{color:var(--tone-success-dot);border-color:var(--tone-success-dot)}.once-meta[data-v-80457d58]{font-family:var(--font-mono);color:var(--ink-faint);justify-content:space-between;gap:14px;margin:10px 2px 14px;font-size:11px;display:flex}.tok-cell[data-v-80457d58]{align-items:center;gap:2px;min-width:0;display:flex}.tok-val[data-v-80457d58]{min-width:0;font-family:var(--font-mono);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex:auto;padding:3px 8px;font-size:12px;overflow:hidden}.tok-val.revealed[data-v-80457d58]{color:var(--accent);-webkit-user-select:all;user-select:all}.tok-op[data-v-80457d58]{color:var(--ink-faint);flex:none}.tok-op[data-v-80457d58]:hover{color:var(--accent)}.tok-op.ok[data-v-80457d58]{color:var(--tone-success-dot)}.legacy-tag[data-v-80457d58]{flex:none;margin-left:4px;font-size:10px;line-height:16px}.text-primary[data-v-80457d58]{color:var(--accent)}