ai_co_discuss 0.2.1 → 0.2.3

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/web/modern.js CHANGED
@@ -5938,7 +5938,7 @@ var mf = {
5938
5938
  }), gf = !1;
5939
5939
  function _f(e) {
5940
5940
  if (gf) return;
5941
- let t = JSON.parse("[{\"prefix\":\"lucide\",\"icons\":{\"archive\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"20\\\" height=\\\"5\\\" x=\\\"2\\\" y=\\\"3\\\" rx=\\\"1\\\"/><path d=\\\"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8m-10 4h4\\\"/></g>\"},\"archive-restore\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"20\\\" height=\\\"5\\\" x=\\\"2\\\" y=\\\"3\\\" rx=\\\"1\\\"/><path d=\\\"M4 8v11a2 2 0 0 0 2 2h2M20 8v11a2 2 0 0 1-2 2h-2m-7-6l3-3l3 3m-3-3v9\\\"/></g>\"},\"arrow-down\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 5v14m7-7l-7 7l-7-7\\\"/>\"},\"arrow-left\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m12 19l-7-7l7-7m7 7H5\\\"/>\"},\"arrow-left-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8 3L4 7l4 4M4 7h16m-4 14l4-4l-4-4m4 4H4\\\"/>\"},\"arrow-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14m-7-7l7 7l-7 7\\\"/>\"},\"arrow-up\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m5 12l7-7l7 7m-7 7V5\\\"/>\"},\"arrow-up-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M7 7h10v10M7 17L17 7\\\"/>\"},\"at-sign\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\"/><path d=\\\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8\\\"/></g>\"},\"check\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20 6L9 17l-5-5\\\"/>\"},\"check-check\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M18 6L7 17l-5-5m20-2l-7.5 7.5L13 16\\\"/>\"},\"chevron-down\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m6 9l6 6l6-6\\\"/>\"},\"chevron-left\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m15 18l-6-6l6-6\\\"/>\"},\"chevron-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m9 18l6-6l-6-6\\\"/>\"},\"chevron-up\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m18 15l-6-6l-6 6\\\"/>\"},\"chevrons-left\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m11 17l-5-5l5-5m7 10l-5-5l5-5\\\"/>\"},\"chevrons-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m6 17l5-5l-5-5m7 10l5-5l-5-5\\\"/>\"},\"chevrons-up-down\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m7 15l5 5l5-5M7 9l5-5l5 5\\\"/>\"},\"circle-alert\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"M12 8v4m0 4h.01\\\"/></g>\"},\"circle-check\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"m16 9l-5.5 5.5L8 12\\\"/></g>\"},\"circle-x\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"m15 9l-6 6m0-6l6 6\\\"/></g>\"},\"clock\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"M12 6v6l4 2\\\"/></g>\"},\"copy\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"14\\\" height=\\\"14\\\" x=\\\"8\\\" y=\\\"8\\\" rx=\\\"2\\\" ry=\\\"2\\\"/><path d=\\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\\"/></g>\"},\"copy-check\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m12 15l2 2l4-4\\\"/><rect width=\\\"14\\\" height=\\\"14\\\" x=\\\"8\\\" y=\\\"8\\\" rx=\\\"2\\\" ry=\\\"2\\\"/><path d=\\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\\"/></g>\"},\"corner-down-left\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M20 4v7a4 4 0 0 1-4 4H4\\\"/><path d=\\\"m9 10l-5 5l5 5\\\"/></g>\"},\"corner-up-left\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M20 20v-7a4 4 0 0 0-4-4H4\\\"/><path d=\\\"M9 14L4 9l5-5\\\"/></g>\"},\"crown\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294zM5 21h14\\\"/>\"},\"download\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M12 15V3m9 12v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\"/><path d=\\\"m7 10l5 5l5-5\\\"/></g>\"},\"ellipsis\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"/></g>\"},\"expand\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m15 15l6 6M15 9l6-6m0 13v5h-5m5-13V3h-5M3 16v5h5m-5 0l6-6M3 8V3h5m1 6L3 3\\\"/>\"},\"eye\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\"/></g>\"},\"eye-off\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242\\\"/><path d=\\\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20\\\"/></g>\"},\"file\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\"/><path d=\\\"M14 2v5a1 1 0 0 0 1 1h5\\\"/></g>\"},\"file-text\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\"/><path d=\\\"M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8\\\"/></g>\"},\"flag\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528\\\"/>\"},\"folder\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\\"/>\"},\"folder-input\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1m0-4h10\\\"/><path d=\\\"m9 16l3-3l-3-3\\\"/></g>\"},\"folder-minus\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 13h6m5 7a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\\"/>\"},\"folder-open\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\\\"/>\"},\"forward\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m15 17l5-5l-5-5\\\"/><path d=\\\"M4 18v-2a4 4 0 0 1 4-4h12\\\"/></g>\"},\"globe\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"M12 2a14.5 14.5 0 0 0 0 20a14.5 14.5 0 0 0 0-20M2 12h20\\\"/></g>\"},\"grip-vertical\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"9\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"9\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"9\\\" cy=\\\"19\\\" r=\\\"1\\\"/><circle cx=\\\"15\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"15\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"15\\\" cy=\\\"19\\\" r=\\\"1\\\"/></g>\"},\"hand\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2m0 4V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2m0 4.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8\\\"/><path d=\\\"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15\\\"/></g>\"},\"hash\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 9h16M4 15h16M10 3L8 21m8-18l-2 18\\\"/>\"},\"infinity\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8\\\"/>\"},\"info\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"M12 16v-4m0-4h.01\\\"/></g>\"},\"lightbulb\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4\\\"/>\"},\"link\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\\\"/><path d=\\\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\\\"/></g>\"},\"list-checks\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M13 5h8m-8 7h8m-8 7h8M3 17l2 2l4-4M3 7l2 2l4-4\\\"/>\"},\"list-filter\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M2 5h20M6 12h12m-9 7h6\\\"/>\"},\"loader-circle\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M21 12a9 9 0 1 1-6.219-8.56\\\"/>\"},\"log-in\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m10 17l5-5l-5-5m5 5H3m12-9h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\\\"/>\"},\"log-out\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m16 17l5-5l-5-5m5 5H9m0 9H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\\\"/>\"},\"menu\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 5h16M4 12h16M4 19h16\\\"/>\"},\"message-circle\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092a10 10 0 1 0-4.777-4.719\\\"/>\"},\"message-square\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z\\\"/>\"},\"message-square-plus\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2zM12 8v6m-3-3h6\\\"/>\"},\"messages-square\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2zm4-1a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1\\\"/>\"},\"mic\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M12 19v3m7-12v2a7 7 0 0 1-14 0v-2\\\"/><rect width=\\\"6\\\" height=\\\"13\\\" x=\\\"9\\\" y=\\\"2\\\" rx=\\\"3\\\"/></g>\"},\"minus\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14\\\"/>\"},\"monitor\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M8 21h8m-4-4v4\\\"/></g>\"},\"moon\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\\"/>\"},\"panel-left\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M9 3v18\\\"/></g>\"},\"panel-left-close\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M9 3v18m7-6l-3-3l3-3\\\"/></g>\"},\"panel-left-open\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M9 3v18m5-12l3 3l-3 3\\\"/></g>\"},\"panel-right\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M15 3v18\\\"/></g>\"},\"paperclip\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m16 6l-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\\\"/>\"},\"pause\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"5\\\" height=\\\"18\\\" x=\\\"14\\\" y=\\\"3\\\" rx=\\\"1\\\"/><rect width=\\\"5\\\" height=\\\"18\\\" x=\\\"5\\\" y=\\\"3\\\" rx=\\\"1\\\"/></g>\"},\"pencil\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\\\"/>\"},\"play\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z\\\"/>\"},\"plug\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 22v-5m3-9V2m2 6a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1zM9 8V2\\\"/>\"},\"plus\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14m-7-7v14\\\"/>\"},\"refresh-cw\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 0 1 9-9a9.75 9.75 0 0 1 6.74 2.74L21 8\\\"/><path d=\\\"M21 3v5h-5m5 4a9 9 0 0 1-9 9a9.75 9.75 0 0 1-6.74-2.74L3 16\\\"/><path d=\\\"M8 16H3v5\\\"/></g>\"},\"rotate-ccw\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 9-9a9.75 9.75 0 0 0-6.74 2.74L3 8\\\"/><path d=\\\"M3 3v5h5\\\"/></g>\"},\"search\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m21 21l-4.34-4.34\\\"/><circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\"/></g>\"},\"settings-2\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 17H5M19 7h-9\\\"/><circle cx=\\\"17\\\" cy=\\\"17\\\" r=\\\"3\\\"/><circle cx=\\\"7\\\" cy=\\\"7\\\" r=\\\"3\\\"/></g>\"},\"square\":{\"width\":24,\"height\":24,\"body\":\"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" rx=\\\"2\\\"/>\"},\"square-pen\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\\\"/><path d=\\\"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\\\"/></g>\"},\"star\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z\\\"/>\"},\"sun\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\"/><path d=\\\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\\\"/></g>\"},\"target\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"6\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"2\\\"/></g>\"},\"terminal\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 19h8M4 17l6-6l-6-6\\\"/>\"},\"trash-2\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M10 11v6m4-6v6m5-11v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\\"/>\"},\"triangle-alert\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\\\"/>\"},\"upload\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\"/>\"},\"user-plus\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\\\"/><circle cx=\\\"9\\\" cy=\\\"7\\\" r=\\\"4\\\"/><path d=\\\"M19 8v6m3-3h-6\\\"/></g>\"},\"x\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M18 6L6 18M6 6l12 12\\\"/>\"},\"zap\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M15.914 4a1.5 1.5 0 0 0-2.474-1.561l-9 9A1.5 1.5 0 0 0 5.5 14h4.002a.5.5 0 0 1 .471.666L8.086 20a1.5 1.5 0 0 0 2.475 1.56l9-9A1.5 1.5 0 0 0 18.5 10h-3.997a.5.5 0 0 1-.472-.667z\\\"/>\"}}}]");
5941
+ let t = JSON.parse("[{\"prefix\":\"lucide\",\"icons\":{\"archive\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"20\\\" height=\\\"5\\\" x=\\\"2\\\" y=\\\"3\\\" rx=\\\"1\\\"/><path d=\\\"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8m-10 4h4\\\"/></g>\"},\"archive-restore\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"20\\\" height=\\\"5\\\" x=\\\"2\\\" y=\\\"3\\\" rx=\\\"1\\\"/><path d=\\\"M4 8v11a2 2 0 0 0 2 2h2M20 8v11a2 2 0 0 1-2 2h-2m-7-6l3-3l3 3m-3-3v9\\\"/></g>\"},\"arrow-down\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 5v14m7-7l-7 7l-7-7\\\"/>\"},\"arrow-left\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m12 19l-7-7l7-7m7 7H5\\\"/>\"},\"arrow-left-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8 3L4 7l4 4M4 7h16m-4 14l4-4l-4-4m4 4H4\\\"/>\"},\"arrow-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14m-7-7l7 7l-7 7\\\"/>\"},\"arrow-up\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m5 12l7-7l7 7m-7 7V5\\\"/>\"},\"arrow-up-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M7 7h10v10M7 17L17 7\\\"/>\"},\"at-sign\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\"/><path d=\\\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8\\\"/></g>\"},\"check\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20 6L9 17l-5-5\\\"/>\"},\"check-check\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M18 6L7 17l-5-5m20-2l-7.5 7.5L13 16\\\"/>\"},\"chevron-down\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m6 9l6 6l6-6\\\"/>\"},\"chevron-left\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m15 18l-6-6l6-6\\\"/>\"},\"chevron-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m9 18l6-6l-6-6\\\"/>\"},\"chevron-up\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m18 15l-6-6l-6 6\\\"/>\"},\"chevrons-left\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m11 17l-5-5l5-5m7 10l-5-5l5-5\\\"/>\"},\"chevrons-right\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m6 17l5-5l-5-5m7 10l5-5l-5-5\\\"/>\"},\"chevrons-up-down\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m7 15l5 5l5-5M7 9l5-5l5 5\\\"/>\"},\"circle-alert\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"M12 8v4m0 4h.01\\\"/></g>\"},\"circle-check\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"m16 9l-5.5 5.5L8 12\\\"/></g>\"},\"circle-x\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"m15 9l-6 6m0-6l6 6\\\"/></g>\"},\"clock\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"M12 6v6l4 2\\\"/></g>\"},\"copy\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"14\\\" height=\\\"14\\\" x=\\\"8\\\" y=\\\"8\\\" rx=\\\"2\\\" ry=\\\"2\\\"/><path d=\\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\\"/></g>\"},\"copy-check\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m12 15l2 2l4-4\\\"/><rect width=\\\"14\\\" height=\\\"14\\\" x=\\\"8\\\" y=\\\"8\\\" rx=\\\"2\\\" ry=\\\"2\\\"/><path d=\\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\\"/></g>\"},\"corner-down-left\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M20 4v7a4 4 0 0 1-4 4H4\\\"/><path d=\\\"m9 10l-5 5l5 5\\\"/></g>\"},\"corner-up-left\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M20 20v-7a4 4 0 0 0-4-4H4\\\"/><path d=\\\"M9 14L4 9l5-5\\\"/></g>\"},\"crown\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294zM5 21h14\\\"/>\"},\"download\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M12 15V3m9 12v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\"/><path d=\\\"m7 10l5 5l5-5\\\"/></g>\"},\"ellipsis\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"/></g>\"},\"expand\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m15 15l6 6M15 9l6-6m0 13v5h-5m5-13V3h-5M3 16v5h5m-5 0l6-6M3 8V3h5m1 6L3 3\\\"/>\"},\"eye\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\"/></g>\"},\"eye-off\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242\\\"/><path d=\\\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20\\\"/></g>\"},\"file\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\"/><path d=\\\"M14 2v5a1 1 0 0 0 1 1h5\\\"/></g>\"},\"file-text\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\"/><path d=\\\"M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8\\\"/></g>\"},\"flag\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528\\\"/>\"},\"folder\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\\"/>\"},\"folder-input\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1m0-4h10\\\"/><path d=\\\"m9 16l3-3l-3-3\\\"/></g>\"},\"folder-minus\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 13h6m5 7a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\\"/>\"},\"folder-open\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\\\"/>\"},\"forward\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m15 17l5-5l-5-5\\\"/><path d=\\\"M4 18v-2a4 4 0 0 1 4-4h12\\\"/></g>\"},\"globe\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"M12 2a14.5 14.5 0 0 0 0 20a14.5 14.5 0 0 0 0-20M2 12h20\\\"/></g>\"},\"grip-vertical\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"9\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"9\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"9\\\" cy=\\\"19\\\" r=\\\"1\\\"/><circle cx=\\\"15\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"15\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"15\\\" cy=\\\"19\\\" r=\\\"1\\\"/></g>\"},\"hand\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2m0 4V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2m0 4.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8\\\"/><path d=\\\"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15\\\"/></g>\"},\"hash\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 9h16M4 15h16M10 3L8 21m8-18l-2 18\\\"/>\"},\"infinity\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8\\\"/>\"},\"info\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><path d=\\\"M12 16v-4m0-4h.01\\\"/></g>\"},\"lightbulb\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4\\\"/>\"},\"link\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\\\"/><path d=\\\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\\\"/></g>\"},\"list-checks\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M13 5h8m-8 7h8m-8 7h8M3 17l2 2l4-4M3 7l2 2l4-4\\\"/>\"},\"list-filter\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M2 5h20M6 12h12m-9 7h6\\\"/>\"},\"loader-circle\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M21 12a9 9 0 1 1-6.219-8.56\\\"/>\"},\"log-in\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m10 17l5-5l-5-5m5 5H3m12-9h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\\\"/>\"},\"log-out\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m16 17l5-5l-5-5m5 5H9m0 9H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\\\"/>\"},\"menu\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 5h16M4 12h16M4 19h16\\\"/>\"},\"message-circle\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092a10 10 0 1 0-4.777-4.719\\\"/>\"},\"message-square\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z\\\"/>\"},\"message-square-plus\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2zM12 8v6m-3-3h6\\\"/>\"},\"messages-square\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2zm4-1a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1\\\"/>\"},\"mic\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M12 19v3m7-12v2a7 7 0 0 1-14 0v-2\\\"/><rect width=\\\"6\\\" height=\\\"13\\\" x=\\\"9\\\" y=\\\"2\\\" rx=\\\"3\\\"/></g>\"},\"minus\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14\\\"/>\"},\"monitor\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M8 21h8m-4-4v4\\\"/></g>\"},\"moon\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\\"/>\"},\"panel-left\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M9 3v18\\\"/></g>\"},\"panel-left-close\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M9 3v18m7-6l-3-3l3-3\\\"/></g>\"},\"panel-left-open\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M9 3v18m5-12l3 3l-3 3\\\"/></g>\"},\"panel-right\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M15 3v18\\\"/></g>\"},\"paperclip\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m16 6l-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\\\"/>\"},\"pause\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><rect width=\\\"5\\\" height=\\\"18\\\" x=\\\"14\\\" y=\\\"3\\\" rx=\\\"1\\\"/><rect width=\\\"5\\\" height=\\\"18\\\" x=\\\"5\\\" y=\\\"3\\\" rx=\\\"1\\\"/></g>\"},\"pencil\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\\\"/>\"},\"play\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z\\\"/>\"},\"plug\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 22v-5m3-9V2m2 6a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1zM9 8V2\\\"/>\"},\"plus\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14m-7-7v14\\\"/>\"},\"refresh-cw\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 0 1 9-9a9.75 9.75 0 0 1 6.74 2.74L21 8\\\"/><path d=\\\"M21 3v5h-5m5 4a9 9 0 0 1-9 9a9.75 9.75 0 0 1-6.74-2.74L3 16\\\"/><path d=\\\"M8 16H3v5\\\"/></g>\"},\"rotate-ccw\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 9-9a9.75 9.75 0 0 0-6.74 2.74L3 8\\\"/><path d=\\\"M3 3v5h5\\\"/></g>\"},\"search\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m21 21l-4.34-4.34\\\"/><circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\"/></g>\"},\"settings-2\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 17H5M19 7h-9\\\"/><circle cx=\\\"17\\\" cy=\\\"17\\\" r=\\\"3\\\"/><circle cx=\\\"7\\\" cy=\\\"7\\\" r=\\\"3\\\"/></g>\"},\"square\":{\"width\":24,\"height\":24,\"body\":\"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" rx=\\\"2\\\"/>\"},\"square-pen\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\\\"/><path d=\\\"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\\\"/></g>\"},\"star\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z\\\"/>\"},\"sun\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\"/><path d=\\\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\\\"/></g>\"},\"target\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"6\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"2\\\"/></g>\"},\"trash-2\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M10 11v6m4-6v6m5-11v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\\"/>\"},\"triangle-alert\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\\\"/>\"},\"upload\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\"/>\"},\"user-plus\":{\"width\":24,\"height\":24,\"body\":\"<g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\\\"/><circle cx=\\\"9\\\" cy=\\\"7\\\" r=\\\"4\\\"/><path d=\\\"M19 8v6m3-3h-6\\\"/></g>\"},\"x\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M18 6L6 18M6 6l12 12\\\"/>\"},\"zap\":{\"width\":24,\"height\":24,\"body\":\"<path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M15.914 4a1.5 1.5 0 0 0-2.474-1.561l-9 9A1.5 1.5 0 0 0 5.5 14h4.002a.5.5 0 0 1 .471.666L8.086 20a1.5 1.5 0 0 0 2.475 1.56l9-9A1.5 1.5 0 0 0 18.5 10h-3.997a.5.5 0 0 1-.472-.667z\\\"/>\"}}}]");
5942
5942
  for (let n of t) for (let [t, r] of Object.entries(n.icons)) e(n.prefix ? n.prefix + ":" + t : t, r);
5943
5943
  gf = !0;
5944
5944
  }
@@ -40987,17 +40987,20 @@ var QV = {
40987
40987
  function Be(e) {
40988
40988
  return e == null ? "—" : e < 60 ? `${e}秒` : e < 3600 ? `${Math.floor(e / 60)}分${String(e % 60).padStart(2, "0")}秒` : `${Math.floor(e / 3600)}小时${Math.floor(e % 3600 / 60)}分${String(e % 60).padStart(2, "0")}秒`;
40989
40989
  }
40990
- let Ve = Z(() => Be(ze.value)), He = Z(() => Object.entries(s.identities).map(([e, t]) => ({
40991
- label: s.display_name(e),
40992
- value: e,
40993
- avatar: {
40994
- src: t.icon,
40995
- text: t.initials,
40996
- alt: s.display_name(e),
40997
- class: `channel-avatar ${t.style}`
40998
- },
40999
- description: e === "用户" ? "发起与协助" : Se.value?.experts?.[e] === "cli" ? "本地 CLI · 读写" : Se.value?.experts?.[e] === "online" ? "在线 AI · 只读" : "未配置参与方式"
41000
- }))), Ue = Z(() => He.value.find((e) => e.value === p.value)), We = [
40990
+ let Ve = Z(() => Be(ze.value)), He = Z(() => ["用户", ...Object.keys(Se.value?.experts || {}).filter((e) => Se.value.experts[e] === "online")].map((e) => {
40991
+ let t = s.identities[e];
40992
+ return {
40993
+ label: s.display_name(e),
40994
+ value: e,
40995
+ avatar: {
40996
+ src: t.icon,
40997
+ text: t.initials,
40998
+ alt: s.display_name(e),
40999
+ class: `channel-avatar ${t.style}`
41000
+ },
41001
+ description: e === "用户" ? "本人发言" : "代发在线成员原文"
41002
+ };
41003
+ })), Ue = Z(() => He.value.find((e) => e.value === p.value)), We = [
41001
41004
  {
41002
41005
  label: "运行回执",
41003
41006
  value: "receipt"
@@ -41013,7 +41016,7 @@ var QV = {
41013
41016
  icon: "i-lucide-list-checks"
41014
41017
  },
41015
41018
  {
41016
- label: "主持人代发",
41019
+ label: "代发在线观点",
41017
41020
  value: "forward",
41018
41021
  icon: "i-lucide-forward"
41019
41022
  }
@@ -41021,7 +41024,7 @@ var QV = {
41021
41024
  month: "long",
41022
41025
  day: "numeric",
41023
41026
  weekday: "long"
41024
- }), Ke = Z(() => m.value === "receipt" ? "运行回执,由用户录入" : m.value === "forward" ? `${s.display_name(Se.value.host)} 代发` : m.value === "moderation" ? "主持发言" : p.value === "用户" ? "本人发言" : `代发 ${p.value} 的观点`);
41027
+ }), Ke = Z(() => m.value === "receipt" ? "运行回执,由用户录入" : m.value === "forward" ? "由用户代发" : m.value === "moderation" ? "主持发言" : p.value === "用户" ? "本人发言" : `代发 ${p.value} 的观点`);
41025
41028
  function qe(e) {
41026
41029
  for (let t of e.querySelectorAll("pre code, tbody")) {
41027
41030
  let n = e.ownerDocument.createRange();
@@ -41915,7 +41918,7 @@ var QV = {
41915
41918
  items: He.value,
41916
41919
  "value-key": "value",
41917
41920
  avatar: Ue.value?.avatar,
41918
- disabled: I(m) === "moderation",
41921
+ disabled: ["moderation", "receipt"].includes(I(m)),
41919
41922
  "search-input": {
41920
41923
  placeholder: "搜索身份…",
41921
41924
  icon: "i-lucide-search"
@@ -41996,38 +41999,38 @@ var QV = {
41996
41999
  "modelValue",
41997
42000
  "disabled",
41998
42001
  "placeholder"
41999
- ]), K("div", TU, [Ee.value ? (U(), W("span", EU, [
42000
- J(P(ke.value.length > 1 ? "点名的成员会各自处理" : `消息会交给 ${ke.value.map((e) => I(s).display_name(e.name)).join("、") || "AI"} 处理`), 1),
42001
- t[38] ||= K("span", { class: "channel-note-divider" }, "·", -1),
42002
- t[39] ||= J("处理中可随时停止", -1)
42003
- ])) : (U(), W("span", DU, [
42002
+ ]), K("div", TU, [Ee.value ? (U(), W("span", EU, [...t[38] ||= [
42003
+ J("点名分配任务", -1),
42004
+ K("span", { class: "channel-note-divider" }, "·", -1),
42005
+ J("手动成员需在原会话触发", -1)
42006
+ ]])) : (U(), W("span", DU, [
42004
42007
  J(P(Ke.value), 1),
42005
- t[40] ||= K("span", { class: "channel-note-divider" }, "·", -1),
42006
- t[41] ||= J("在线 AI 的观点需代发", -1)
42008
+ t[39] ||= K("span", { class: "channel-note-divider" }, "·", -1),
42009
+ t[40] ||= J("在线 AI 的观点需代发", -1)
42007
42010
  ])), K("span", OU, [
42008
42011
  J(P(f.value) + " / " + P(I(s).max_message_length), 1),
42009
- t[42] ||= K("span", { class: "channel-note-divider" }, "·", -1),
42010
- t[43] ||= J("Enter 换行", -1)
42012
+ t[41] ||= K("span", { class: "channel-note-divider" }, "·", -1),
42013
+ t[42] ||= J("Enter 换行", -1)
42011
42014
  ])])], 32)])
42012
42015
  ], 2);
42013
42016
  };
42014
42017
  }
42015
- }, [["__scopeId", "data-v-02652cc4"]]), oW = {
42018
+ }, [["__scopeId", "data-v-2fc61e53"]]), oW = {
42016
42019
  class: "launch-settings",
42017
42020
  "aria-label": "启动配置"
42018
42021
  }, sW = { class: "launch-connect-command" }, cW = {
42019
42022
  key: 0,
42020
42023
  role: "alert",
42021
42024
  class: "fine-print"
42022
- }, lW = { class: "launch-effective" }, uW = { class: "launch-client-fields" }, dW = { class: "launch-client-fields" }, fW = { class: "form-two-columns" }, pW = {
42025
+ }, lW = { class: "launch-effective" }, uW = { class: "launch-client-fields" }, dW = ["onClick"], fW = { class: "launch-client-fields" }, pW = { class: "form-two-columns" }, mW = {
42023
42026
  key: 0,
42024
42027
  role: "alert",
42025
42028
  class: "fine-print"
42026
- }, mW = {
42029
+ }, hW = {
42027
42030
  key: 1,
42028
42031
  role: "status",
42029
42032
  class: "fine-print"
42030
- }, hW = /*#__PURE__*/ nH({
42033
+ }, gW = /*#__PURE__*/ nH({
42031
42034
  __name: "LaunchSettings",
42032
42035
  props: {
42033
42036
  participants: {
@@ -42053,14 +42056,20 @@ var QV = {
42053
42056
  }], u = [{
42054
42057
  label: "沿用本次设置",
42055
42058
  value: "inherit"
42056
- }, ...l], d = (e, t) => c(e, "project_access", t === "inherit" ? "" : t), f = r.launch_model_hints, p = (e) => [{
42059
+ }, ...l], d = (e, t) => c(e, "project_access", t === "inherit" ? "" : t), f = (e) => r.launch_model_state(e, n.value.launch), p = (e) => [{
42057
42060
  label: "CLI 默认",
42058
42061
  value: "default"
42059
- }, ...(r.launch_effort_levels[e] || []).map((e) => ({
42062
+ }, ...(f(e).efforts || []).map((e) => ({
42060
42063
  label: e,
42061
42064
  value: e
42062
42065
  }))];
42063
- return (e, m) => {
42066
+ return R(() => [
42067
+ t.modelSelection,
42068
+ n.value.launch.available,
42069
+ ...o.value.map((e) => `${e}:${s(e).adapter}`)
42070
+ ], ([e, t]) => {
42071
+ e && t && o.value.forEach((e) => r.load_launch_models(e));
42072
+ }, { immediate: !0 }), (e, m) => {
42064
42073
  let h = uA, g = pV, _ = MV, v = xV, y = FV;
42065
42074
  return U(), W("section", oW, [I(n).launch.available ? (U(), W(H, { key: 1 }, [
42066
42075
  m[10] ||= K("h3", null, "启动配置", -1),
@@ -42110,34 +42119,46 @@ var QV = {
42110
42119
  "model-value": s(e).executable || "",
42111
42120
  placeholder: "Windows 填写 .exe 的完整路径",
42112
42121
  class: "w-full",
42113
- "onUpdate:modelValue": (t) => c(e, "executable", t)
42114
- }, null, 8, ["model-value", "onUpdate:modelValue"])]),
42122
+ "onUpdate:modelValue": (t) => c(e, "executable", t),
42123
+ onBlur: (n) => t.modelSelection && I(r).load_launch_models(e)
42124
+ }, null, 8, [
42125
+ "model-value",
42126
+ "onUpdate:modelValue",
42127
+ "onBlur"
42128
+ ])]),
42115
42129
  _: 2
42116
42130
  }, 1024)),
42117
- t.modelSelection && I(f)[s(e).adapter] ? (U(), G(_, {
42131
+ t.modelSelection && f(e).supported ? (U(), G(_, {
42118
42132
  key: 2,
42119
- label: "模型(可选)",
42120
- help: I(f)[s(e).adapter].help
42133
+ label: "模型",
42134
+ help: f(e).loading ? "正在读取软件模型列表…" : f(e).error || f(e).source
42121
42135
  }, {
42122
- default: L(() => [q(v, {
42123
- "model-value": s(e).model || "",
42124
- placeholder: I(f)[s(e).adapter].example,
42136
+ default: L(() => [q(g, {
42137
+ "model-value": s(e).model || "__default__",
42138
+ items: f(e).items,
42139
+ loading: f(e).loading,
42125
42140
  class: "w-full",
42126
- "onUpdate:modelValue": (t) => c(e, "model", t)
42141
+ "onUpdate:modelValue": (t) => I(r).write_launch_model(e, t)
42127
42142
  }, null, 8, [
42128
42143
  "model-value",
42129
- "placeholder",
42144
+ "items",
42145
+ "loading",
42130
42146
  "onUpdate:modelValue"
42131
- ])]),
42147
+ ]), f(e).error && !f(e).loading ? (U(), W("button", {
42148
+ key: 0,
42149
+ type: "button",
42150
+ class: "model-retry",
42151
+ onClick: (t) => I(r).load_launch_models(e, !0)
42152
+ }, "重新读取模型列表", 8, dW)) : Y("", !0)]),
42132
42153
  _: 2
42133
42154
  }, 1032, ["help"])) : Y("", !0),
42134
- t.modelSelection && I(r).launch_effort_levels[s(e).adapter] ? (U(), G(_, {
42155
+ t.modelSelection && f(e).efforts?.length ? (U(), G(_, {
42135
42156
  key: 3,
42136
42157
  label: "思考档位(可选)"
42137
42158
  }, {
42138
42159
  default: L(() => [q(g, {
42139
42160
  "model-value": s(e).effort || "default",
42140
- items: p(s(e).adapter),
42161
+ items: p(e),
42141
42162
  class: "w-full",
42142
42163
  "onUpdate:modelValue": (t) => c(e, "effort", t === "default" ? "" : t)
42143
42164
  }, null, 8, [
@@ -42172,7 +42193,7 @@ var QV = {
42172
42193
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
42173
42194
  _: 2
42174
42195
  }, 1024)) : Y("", !0),
42175
- K("details", null, [m[9] ||= K("summary", null, "会话与目录覆盖(可选)", -1), K("div", dW, [
42196
+ K("details", null, [m[9] ||= K("summary", null, "会话与目录覆盖(可选)", -1), K("div", fW, [
42176
42197
  q(_, { label: "复用会话 ID(仅本次)" }, {
42177
42198
  default: L(() => [q(v, {
42178
42199
  "model-value": s(e).session_id || "",
@@ -42228,7 +42249,7 @@ var QV = {
42228
42249
  ])])
42229
42250
  ])
42230
42251
  ]))), 128)),
42231
- K("div", fW, [
42252
+ K("div", pW, [
42232
42253
  t.workspace ? (U(), G(_, {
42233
42254
  key: 0,
42234
42255
  label: "本次工作目录(可选)",
@@ -42272,7 +42293,7 @@ var QV = {
42272
42293
  loading: I(a) === "save_launch_defaults",
42273
42294
  onClick: m[5] ||= (e) => I(i)("save_launch_defaults")
42274
42295
  }, null, 8, ["loading"]),
42275
- I(n).launch.error ? (U(), W("p", pW, P(I(n).launch.error), 1)) : I(n).launch.notice ? (U(), W("p", mW, P(I(n).launch.notice), 1)) : Y("", !0)
42296
+ I(n).launch.error ? (U(), W("p", mW, P(I(n).launch.error), 1)) : I(n).launch.notice ? (U(), W("p", hW, P(I(n).launch.notice), 1)) : Y("", !0)
42276
42297
  ], 64)) : (U(), W(H, { key: 0 }, [
42277
42298
  m[6] ||= K("h3", null, "连接这台电脑", -1),
42278
42299
  m[7] ||= K("p", { class: "fine-print" }, "先安装并配置 codiscuss,在运行 AI 的这台电脑上执行以下命令,使用命令打开的网页完成连接。浏览器询问时允许访问本机网络。", -1),
@@ -42294,108 +42315,116 @@ var QV = {
42294
42315
  ], 64))]);
42295
42316
  };
42296
42317
  }
42297
- }, [["__scopeId", "data-v-99bdaada"]]), gW = { class: "page-heading" }, _W = { class: "topic-brief" }, vW = { class: "host-status" }, yW = {
42318
+ }, [["__scopeId", "data-v-76b2136b"]]), _W = { class: "page-heading" }, vW = { class: "topic-brief" }, yW = { class: "host-status" }, bW = {
42298
42319
  key: 0,
42299
42320
  class: "turn-panel"
42300
- }, bW = { class: "turn-header" }, xW = {
42321
+ }, xW = { class: "turn-header" }, SW = {
42301
42322
  key: 1,
42302
42323
  class: "turn-panel"
42303
- }, SW = { class: "turn-header" }, CW = { class: "button-row" }, wW = { class: "turn-panel host-turn" }, TW = { class: "turn-header" }, EW = { class: "turn-expert" }, DW = { class: "turn-question" }, OW = {
42324
+ }, CW = { class: "turn-header" }, wW = { class: "button-row" }, TW = { class: "turn-panel host-turn" }, EW = { class: "turn-header" }, DW = { class: "turn-expert" }, OW = { class: "turn-question" }, kW = {
42304
42325
  key: 0,
42305
42326
  class: "button-row turn-actions"
42306
- }, kW = {
42327
+ }, AW = {
42307
42328
  key: 1,
42308
42329
  class: "turn-empty"
42309
- }, AW = {
42330
+ }, jW = {
42310
42331
  key: 2,
42311
42332
  class: "fine-print"
42312
- }, jW = {
42333
+ }, MW = {
42313
42334
  key: 0,
42314
42335
  class: "info-section host-receipts"
42315
- }, MW = { class: "button-row" }, NW = {
42336
+ }, NW = { class: "button-row" }, PW = {
42316
42337
  key: 0,
42317
42338
  class: "fine-print"
42318
- }, PW = { class: "form-footer" }, FW = ["href"], IW = {
42339
+ }, FW = { class: "form-footer" }, IW = ["href"], LW = {
42319
42340
  key: 1,
42320
42341
  class: "fine-print host-schedule-hint"
42321
- }, LW = { class: "page-heading access-heading" }, RW = {
42342
+ }, RW = { class: "page-heading access-heading" }, zW = {
42322
42343
  class: "access-modes",
42323
- "aria-label": "讨论推进方式"
42324
- }, zW = ["aria-pressed", "disabled"], BW = ["aria-pressed", "disabled"], VW = {
42344
+ "aria-label": "接入方式"
42345
+ }, BW = ["aria-pressed", "disabled"], VW = ["aria-pressed", "disabled"], HW = {
42325
42346
  key: 0,
42326
42347
  class: "access-evidence",
42327
42348
  "aria-label": "实际执行进展",
42328
42349
  role: "status"
42329
- }, HW = {
42350
+ }, UW = {
42330
42351
  key: 0,
42331
42352
  class: "fine-print"
42332
- }, UW = {
42353
+ }, WW = {
42333
42354
  key: 1,
42334
42355
  class: "access-running"
42335
- }, WW = {
42356
+ }, GW = {
42336
42357
  key: 2,
42337
42358
  class: "access-setup",
42338
42359
  "aria-label": "网页启动入口"
42339
- }, GW = {
42360
+ }, KW = {
42340
42361
  key: 1,
42341
42362
  class: "access-repair"
42342
- }, KW = { class: "access-repair-heading" }, qW = {
42363
+ }, qW = { class: "access-repair-heading" }, JW = {
42343
42364
  key: 0,
42344
42365
  class: "access-repair-fields"
42345
- }, JW = {
42366
+ }, YW = {
42346
42367
  key: 0,
42347
42368
  role: "status",
42348
42369
  class: "fine-print"
42349
- }, YW = {
42370
+ }, XW = {
42350
42371
  key: 1,
42351
42372
  role: "alert",
42352
42373
  class: "fine-print"
42353
- }, XW = {
42374
+ }, ZW = {
42354
42375
  key: 2,
42355
42376
  class: "fine-print"
42356
- }, ZW = {
42377
+ }, QW = {
42357
42378
  key: 3,
42358
42379
  class: "fine-print"
42359
- }, QW = {
42380
+ }, $W = {
42360
42381
  key: 4,
42361
42382
  class: "fine-print"
42362
- }, $W = {
42383
+ }, eG = {
42363
42384
  key: 3,
42364
42385
  class: "access-setup",
42365
42386
  "aria-label": "全自动接入步骤"
42366
- }, eG = { class: "access-section-title" }, tG = {
42387
+ }, tG = { class: "access-section-title" }, nG = {
42367
42388
  href: "https://github.com/huyan1458/ai_co_discuss/blob/main/docs/runner.md#常驻讨论服务",
42368
42389
  target: "_blank",
42369
42390
  rel: "noopener",
42370
42391
  class: "subtle-link"
42371
- }, nG = { class: "access-steps" }, rG = { class: "access-command" }, iG = { class: "access-command" }, aG = {
42392
+ }, rG = { class: "access-steps" }, iG = { class: "access-command" }, aG = { class: "access-command" }, oG = {
42372
42393
  key: 4,
42373
42394
  class: "access-disclosure access-workspace"
42374
- }, oG = { class: "access-disclosure-body" }, sG = { class: "form-two-columns" }, cG = ["open"], lG = { class: "access-disclosure-body" }, uG = {
42395
+ }, sG = { class: "access-disclosure-body" }, cG = { class: "form-two-columns" }, lG = ["open"], uG = { class: "access-disclosure-body" }, dG = {
42396
+ class: "access-member-list",
42397
+ "aria-label": "成员接入"
42398
+ }, fG = { class: "access-member-copy" }, pG = { key: 0 }, mG = { class: "button-row" }, hG = {
42375
42399
  key: 0,
42376
- class: "access-running"
42377
- }, dG = { class: "access-section" }, fG = { class: "access-icon" }, pG = { class: "button-row" }, mG = { class: "access-reading" }, hG = { class: "access-address" }, gG = ["href"], _G = { class: "access-section" }, vG = { class: "access-icon" }, yG = { class: "button-row" }, bG = { class: "access-reading" }, xG = { class: "access-address" }, SG = { class: "fine-print" }, CG = {
42400
+ role: "alert",
42401
+ class: "access-member-error"
42402
+ }, gG = {
42378
42403
  key: 1,
42404
+ role: "status",
42405
+ class: "fine-print"
42406
+ }, _G = { class: "access-reading" }, vG = { class: "access-address" }, yG = {
42407
+ key: 2,
42379
42408
  class: "fine-print"
42380
- }, wG = {
42409
+ }, bG = {
42381
42410
  key: 5,
42382
42411
  class: "access-disclosure access-limits"
42383
- }, TG = { class: "access-limit-summary" }, EG = { class: "access-disclosure-body" }, DG = { class: "button-row" }, OG = /*#__PURE__*/ nH({
42412
+ }, xG = { class: "access-limit-summary" }, SG = { class: "access-disclosure-body" }, CG = { class: "button-row" }, wG = /*#__PURE__*/ nH({
42384
42413
  __name: "TopicPanel",
42385
42414
  emits: ["open", "detail"],
42386
42415
  setup(e) {
42387
- let { view: t, bridge: n, act: r, pending: i } = xr("discussion"), a = iV(), o = Z(() => t.value.room), s = Z(() => o.value?.current_turn), c = Z(() => s.value && ["pending", "notified"].includes(s.value.status)), l = Z(() => ["paused", "concluded"].includes(o.value?.phase)), u = Z(() => !c.value && !l.value && !o.value?.limits?.reached && o.value?.floor?.holder === o.value?.host && Object.keys(o.value?.experts || {}).length > 0), d = Z(() => `${location.origin}/r/${o.value?.id}`), f = Z(() => o.value?.runtime?.mode === "automatic"), p = Z(() => o.value?.runtime?.latest_execution), m = Z(() => t.value.launch.repair?.room_id === o.value?.id ? t.value.launch.repair : null), h = Z(() => o.value?.runtime?.expired ? "已到截止时间" : {
42416
+ let { view: t, bridge: n, act: r, pending: i } = xr("discussion"), a = iV(), o = Z(() => t.value.room), s = Z(() => o.value?.current_turn), c = Z(() => s.value && ["pending", "notified"].includes(s.value.status)), l = Z(() => ["paused", "concluded"].includes(o.value?.phase)), u = Z(() => !c.value && !l.value && !o.value?.limits?.reached && o.value?.floor?.holder === o.value?.host && Object.keys(o.value?.experts || {}).length > 0), d = Z(() => `${location.origin}/r/${o.value?.id}`), f = Z(() => o.value?.runtime?.mode === "automatic"), p = Z(() => t.value.access || {}), m = Z(() => o.value?.runtime?.latest_execution), h = Z(() => t.value.launch.repair?.room_id === o.value?.id ? t.value.launch.repair : null), g = Z(() => o.value?.runtime?.expired ? "已到截止时间" : {
42388
42417
  ready: "尚未启动",
42389
42418
  running: "自动推进已启用",
42390
42419
  paused: "已暂停",
42391
42420
  stopped: "已停止",
42392
42421
  concluded: "已收束"
42393
- }[o.value?.runtime?.status] || "尚未启动"), g = Z(() => `codiscuss add --config "discussion-${o.value?.id}.json"`), _ = Z(() => {
42422
+ }[o.value?.runtime?.status] || "尚未启动"), _ = Z(() => `codiscuss add --config "discussion-${o.value?.id}.json"`), v = Z(() => {
42394
42423
  let e = o.value?.limits || {};
42395
42424
  return `${e.max_rounds ? `${e.completed_rounds || 0} / ${e.max_rounds} 轮` : `${e.completed_rounds || 0} 轮`} · 已用 ${Math.floor((e.elapsed_seconds || 0) / 60)} 分钟`;
42396
42425
  });
42397
- return (e, v) => {
42398
- let y = uA, b = LV, x = Gk, S = zk, C = pV, w = MV, T = xV;
42426
+ return (e, y) => {
42427
+ let b = uA, x = LV, S = Gk, C = zk, w = pV, T = MV, E = xV;
42399
42428
  return U(), G(I(QB).section, {
42400
42429
  class: M(["content-page", {
42401
42430
  "access-page": I(t).tab === "access",
@@ -42414,21 +42443,21 @@ var QV = {
42414
42443
  transition: { duration: .16 }
42415
42444
  }, {
42416
42445
  default: L(() => [I(t).tab === "topic" ? (U(), W(H, { key: 0 }, [
42417
- K("div", gW, [K("div", null, [
42418
- v[29] ||= K("span", { class: "eyebrow" }, "讨论进程", -1),
42419
- v[30] ||= K("h2", null, "主持与安排", -1),
42446
+ K("div", _W, [K("div", null, [
42447
+ y[24] ||= K("span", { class: "eyebrow" }, "讨论进程", -1),
42448
+ y[25] ||= K("h2", null, "主持与安排", -1),
42420
42449
  K("p", null, "当前由 " + P(I(n).display_name(o.value.host)) + " 主持,围绕具体问题组织下一轮发言。", 1)
42421
- ]), q(y, {
42450
+ ]), q(b, {
42422
42451
  icon: "i-lucide-pencil",
42423
42452
  label: "编辑议题",
42424
42453
  variant: "outline",
42425
42454
  color: "neutral",
42426
42455
  class: "channel-surface-button",
42427
- onClick: v[0] ||= (t) => e.$emit("open", "edit")
42456
+ onClick: y[0] ||= (t) => e.$emit("open", "edit")
42428
42457
  })]),
42429
- K("div", _W, [K("div", null, [v[31] ||= K("h3", null, "讨论目标", -1), K("p", null, P(o.value.goal || "待主持人根据用户原文补全"), 1)]), K("div", null, [v[32] ||= K("h3", null, "当前焦点", -1), K("p", null, P(o.value.focus || "尚未设置当前焦点"), 1)])]),
42430
- K("div", vW, [o.value.limits ? (U(), W("section", yW, [
42431
- K("div", bW, [v[33] ||= K("h3", null, "讨论上限与进度", -1), q(b, {
42458
+ K("div", vW, [K("div", null, [y[26] ||= K("h3", null, "讨论目标", -1), K("p", null, P(o.value.goal || "待主持人根据用户原文补全"), 1)]), K("div", null, [y[27] ||= K("h3", null, "当前焦点", -1), K("p", null, P(o.value.focus || "尚未设置当前焦点"), 1)])]),
42459
+ K("div", yW, [o.value.limits ? (U(), W("section", bW, [
42460
+ K("div", xW, [y[28] ||= K("h3", null, "讨论上限与进度", -1), q(x, {
42432
42461
  color: o.value.limits.reached && o.value.phase !== "concluded" ? "warning" : "neutral",
42433
42462
  variant: "subtle"
42434
42463
  }, {
@@ -42436,42 +42465,42 @@ var QV = {
42436
42465
  _: 1
42437
42466
  }, 8, ["color"])]),
42438
42467
  K("p", null, P(I(n).limits_label(o.value.limits)), 1),
42439
- o.value.limits.reached && !l.value ? (U(), G(y, {
42468
+ o.value.limits.reached && !l.value ? (U(), G(b, {
42440
42469
  key: 0,
42441
42470
  label: "检查并执行到限处理",
42442
42471
  variant: "outline",
42443
42472
  color: "neutral",
42444
42473
  loading: I(i) === "check_limits",
42445
- onClick: v[1] ||= (e) => I(r)("check_limits")
42474
+ onClick: y[1] ||= (e) => I(r)("check_limits")
42446
42475
  }, null, 8, ["loading"])) : Y("", !0),
42447
- v[34] ||= K("p", { class: "fine-print" }, "在“编辑议题”中调整参数。自动模式由接入程序检查;手动模式由主持人或此按钮执行到限处理。", -1)
42448
- ])) : Y("", !0), o.value.floor ? (U(), W("section", xW, [
42449
- K("div", SW, [v[35] ||= K("h3", null, "发言权", -1), q(b, {
42476
+ y[29] ||= K("p", { class: "fine-print" }, "在“编辑议题”中调整参数。自动模式由接入程序检查;手动模式由主持人或此按钮执行到限处理。", -1)
42477
+ ])) : Y("", !0), o.value.floor ? (U(), W("section", SW, [
42478
+ K("div", CW, [y[30] ||= K("h3", null, "发言权", -1), q(x, {
42450
42479
  color: "neutral",
42451
42480
  variant: "subtle"
42452
42481
  }, {
42453
42482
  default: L(() => [J(P(I(n).floor_status(o.value)), 1)]),
42454
42483
  _: 1
42455
42484
  })]),
42456
- K("div", CW, [o.value.floor.holder ? (U(), G(y, {
42485
+ K("div", wW, [o.value.floor.holder ? (U(), G(b, {
42457
42486
  key: 1,
42458
42487
  label: "归还发言权",
42459
42488
  loading: I(i) === "return_floor",
42460
42489
  variant: "outline",
42461
42490
  color: "neutral",
42462
42491
  class: "channel-surface-button",
42463
- onClick: v[3] ||= (e) => I(r)("return_floor")
42464
- }, null, 8, ["loading"])) : (U(), G(y, {
42492
+ onClick: y[3] ||= (e) => I(r)("return_floor")
42493
+ }, null, 8, ["loading"])) : (U(), G(b, {
42465
42494
  key: 0,
42466
42495
  label: `为 ${I(n).display_name(o.value.floor.next_speaker)} 领取`,
42467
42496
  loading: I(i) === "take_floor",
42468
42497
  class: "channel-primary-button",
42469
- onClick: v[2] ||= (e) => I(r)("take_floor")
42498
+ onClick: y[2] ||= (e) => I(r)("take_floor")
42470
42499
  }, null, 8, ["label", "loading"]))]),
42471
- v[36] ||= K("p", { class: "fine-print" }, "发言或安排保存后自动归还;用户本人可随时留言。", -1)
42500
+ y[31] ||= K("p", { class: "fine-print" }, "发言或安排保存后自动归还;用户本人可随时留言。", -1)
42472
42501
  ])) : Y("", !0)]),
42473
- K("section", wW, [
42474
- K("div", TW, [v[37] ||= K("h3", null, "当前发言安排", -1), q(b, {
42502
+ K("section", TW, [
42503
+ K("div", EW, [y[32] ||= K("h3", null, "当前发言安排", -1), q(x, {
42475
42504
  color: c.value ? "primary" : "neutral",
42476
42505
  variant: "subtle"
42477
42506
  }, {
@@ -42479,7 +42508,7 @@ var QV = {
42479
42508
  _: 1
42480
42509
  }, 8, ["color"])]),
42481
42510
  s.value ? (U(), W(H, { key: 0 }, [
42482
- K("div", EW, [q(x, {
42511
+ K("div", DW, [q(S, {
42483
42512
  src: I(n).identities[s.value.expert]?.icon,
42484
42513
  text: I(n).identities[s.value.expert]?.initials,
42485
42514
  alt: s.value.expert,
@@ -42490,18 +42519,18 @@ var QV = {
42490
42519
  "alt",
42491
42520
  "class"
42492
42521
  ]), K("div", null, [K("strong", null, P(s.value.expert), 1), K("small", null, "发言安排 #" + P(s.value.id), 1)])]),
42493
- K("p", DW, P(s.value.question), 1),
42494
- c.value ? (U(), W("div", OW, [
42495
- q(y, {
42522
+ K("p", OW, P(s.value.question), 1),
42523
+ c.value ? (U(), W("div", kW, [
42524
+ q(b, {
42496
42525
  icon: "i-lucide-copy",
42497
42526
  label: "复制通知",
42498
42527
  disabled: l.value,
42499
42528
  color: "neutral",
42500
42529
  variant: "outline",
42501
42530
  class: "channel-surface-button",
42502
- onClick: v[4] ||= (e) => I(r)("copy_turn")
42531
+ onClick: y[4] ||= (e) => I(r)("copy_turn")
42503
42532
  }, null, 8, ["disabled"]),
42504
- q(y, {
42533
+ q(b, {
42505
42534
  icon: "i-lucide-check-check",
42506
42535
  label: "确认已通知",
42507
42536
  color: "neutral",
@@ -42509,142 +42538,143 @@ var QV = {
42509
42538
  class: "channel-surface-button",
42510
42539
  disabled: l.value || s.value.status !== "pending",
42511
42540
  loading: I(i) === "notify",
42512
- onClick: v[5] ||= (e) => I(r)("notify")
42541
+ onClick: y[5] ||= (e) => I(r)("notify")
42513
42542
  }, null, 8, ["disabled", "loading"]),
42514
- q(y, {
42543
+ o.value.experts[s.value.expert] === "online" ? (U(), G(b, {
42544
+ key: 0,
42515
42545
  icon: "i-lucide-message-square-plus",
42516
- label: "录入专家回答",
42546
+ label: "录入在线回答",
42517
42547
  disabled: l.value,
42518
42548
  class: "channel-primary-button",
42519
- onClick: v[6] ||= (e) => I(r)("prepare_answer")
42520
- }, null, 8, ["disabled"]),
42521
- q(y, {
42549
+ onClick: y[6] ||= (e) => I(r)("prepare_answer")
42550
+ }, null, 8, ["disabled"])) : Y("", !0),
42551
+ q(b, {
42522
42552
  label: "取消安排",
42523
42553
  color: "neutral",
42524
42554
  variant: "ghost",
42525
- onClick: v[7] ||= (e) => I(r)("cancel_turn")
42555
+ onClick: y[7] ||= (e) => I(r)("cancel_turn")
42526
42556
  })
42527
42557
  ])) : Y("", !0),
42528
- s.value.answer_id ? (U(), G(y, {
42558
+ s.value.answer_id ? (U(), G(b, {
42529
42559
  key: 1,
42530
42560
  icon: "i-lucide-arrow-up-right",
42531
42561
  label: "查看回答原文",
42532
42562
  variant: "outline",
42533
42563
  color: "neutral",
42534
42564
  class: "channel-surface-button",
42535
- onClick: v[8] ||= (t) => e.$emit("detail", s.value.answer_id)
42565
+ onClick: y[8] ||= (t) => e.$emit("detail", s.value.answer_id)
42536
42566
  })) : Y("", !0)
42537
- ], 64)) : (U(), W("p", kW, "把下一轮需要回答的问题,交给一位参与者。")),
42538
- c.value ? (U(), W("p", AW, P(I(n).turn_guidance(s.value, o.value)), 1)) : Y("", !0)
42567
+ ], 64)) : (U(), W("p", AW, "把下一轮需要回答的问题,交给一位参与者。")),
42568
+ c.value ? (U(), W("p", jW, P(I(n).turn_guidance(s.value, o.value)), 1)) : Y("", !0)
42539
42569
  ]),
42540
- Array.isArray(o.value.latest_receipts) ? (U(), W("section", jW, [
42541
- v[38] ||= K("h3", null, "最新运行回执", -1),
42542
- v[39] ||= K("p", { class: "fine-print" }, "每位参与者最近一条;实际运行结果请查看原文。晚于摘要的回执可能尚未整理。", -1),
42543
- K("div", MW, [(U(!0), W(H, null, B(o.value.latest_receipts, (t) => (U(), G(y, {
42570
+ Array.isArray(o.value.latest_receipts) ? (U(), W("section", MW, [
42571
+ y[33] ||= K("h3", null, "最新运行回执", -1),
42572
+ y[34] ||= K("p", { class: "fine-print" }, "每位参与者最近一条;实际运行结果请查看原文。晚于摘要的回执可能尚未整理。", -1),
42573
+ K("div", NW, [(U(!0), W(H, null, B(o.value.latest_receipts, (t) => (U(), G(b, {
42544
42574
  key: t.id,
42545
42575
  label: `${I(n).display_name(t.author)} #${t.id} · ${new Date(t.created_at).toLocaleString("zh-CN")}${t.id > o.value.state_until ? " · 晚于摘要" : ""}`,
42546
42576
  variant: "link",
42547
42577
  color: "neutral",
42548
42578
  onClick: (n) => e.$emit("detail", t.id)
42549
- }, null, 8, ["label", "onClick"]))), 128)), o.value.latest_receipts.length ? Y("", !0) : (U(), W("span", NW, "尚无运行回执。"))])
42579
+ }, null, 8, ["label", "onClick"]))), 128)), o.value.latest_receipts.length ? Y("", !0) : (U(), W("span", PW, "尚无运行回执。"))])
42550
42580
  ])) : Y("", !0),
42551
- K("div", PW, [K("a", {
42581
+ K("div", FW, [K("a", {
42552
42582
  href: `${d.value}/turns`,
42553
42583
  target: "_blank",
42554
42584
  rel: "noopener",
42555
42585
  class: "subtle-link"
42556
- }, [v[40] ||= J("发言安排历史 ", -1), q(S, { name: "i-lucide-arrow-up-right" })], 8, FW), q(y, {
42586
+ }, [y[35] ||= J("发言安排历史 ", -1), q(C, { name: "i-lucide-arrow-up-right" })], 8, IW), q(b, {
42557
42587
  icon: "i-lucide-plus",
42558
42588
  label: "安排下一位专家",
42559
42589
  class: "channel-primary-button",
42560
42590
  disabled: !u.value,
42561
- onClick: v[9] ||= (t) => e.$emit("open", "schedule")
42591
+ onClick: y[9] ||= (t) => e.$emit("open", "schedule")
42562
42592
  }, null, 8, ["disabled"])]),
42563
- u.value ? Y("", !0) : (U(), W("p", IW, P(l.value ? "话题已暂停或收束,修改阶段后可以继续安排。" : c.value ? "先完成或取消当前安排,再安排下一位。" : o.value.limits?.reached ? "已达到讨论上限,请检查到限处理;需要继续时先暂停并调整参数。" : o.value.floor?.holder === o.value.host ? "请先在议题资料中配置参与专家。" : "主持人领取发言权后可安排下一位。"), 1))
42593
+ u.value ? Y("", !0) : (U(), W("p", LW, P(l.value ? "话题已暂停或收束,修改阶段后可以继续安排。" : c.value ? "先完成或取消当前安排,再安排下一位。" : o.value.limits?.reached ? "已达到讨论上限,请检查到限处理;需要继续时先暂停并调整参数。" : o.value.floor?.holder === o.value.host ? "请先在议题资料中配置参与专家。" : "主持人领取发言权后可安排下一位。"), 1))
42564
42594
  ], 64)) : (U(), W(H, { key: 1 }, [
42565
- K("div", LW, [v[41] ||= K("div", null, [K("h2", null, "接入 AI"), K("p", null, "选择推进方式,再按步骤完成接入。")], -1), f.value ? (U(), G(b, {
42595
+ K("div", RW, [y[36] ||= K("div", null, [K("h2", null, "接入 AI"), K("p", null, "选择任务交付方式,再将对应身份的参与说明交给 AI。")], -1), f.value ? (U(), G(x, {
42566
42596
  key: 0,
42567
42597
  color: o.value.runtime?.status === "running" ? "primary" : "neutral",
42568
42598
  variant: "subtle"
42569
42599
  }, {
42570
- default: L(() => [J(P(h.value), 1)]),
42600
+ default: L(() => [J(P(g.value), 1)]),
42571
42601
  _: 1
42572
42602
  }, 8, ["color"])) : Y("", !0)]),
42573
- K("div", RW, [K("button", {
42603
+ K("div", zW, [K("button", {
42574
42604
  type: "button",
42575
42605
  class: M(["access-mode", { "is-selected": f.value }]),
42576
42606
  "aria-pressed": f.value,
42577
42607
  disabled: !!I(i),
42578
- onClick: v[10] ||= (e) => I(r)("choose_runtime", "automatic")
42608
+ onClick: y[10] ||= (e) => I(r)("choose_runtime", "automatic")
42579
42609
  }, [
42580
- q(S, {
42610
+ q(C, {
42581
42611
  name: "i-lucide-zap",
42582
42612
  class: "mode-icon"
42583
42613
  }),
42584
- v[42] ||= K("span", null, [K("strong", null, "全自动讨论"), K("small", null, "本机服务按安排唤醒 AI,接续讨论。")], -1),
42585
- f.value ? (U(), G(S, {
42614
+ y[37] ||= K("span", null, [K("strong", null, "程序唤醒"), K("small", null, "本机服务按安排唤醒 AI,接续讨论。")], -1),
42615
+ f.value ? (U(), G(C, {
42586
42616
  key: 0,
42587
42617
  name: "i-lucide-check",
42588
42618
  class: "mode-check"
42589
42619
  })) : Y("", !0)
42590
- ], 10, zW), K("button", {
42620
+ ], 10, BW), K("button", {
42591
42621
  type: "button",
42592
42622
  class: M(["access-mode", { "is-selected": !f.value }]),
42593
42623
  "aria-pressed": !f.value,
42594
42624
  disabled: !!I(i),
42595
- onClick: v[11] ||= (e) => I(r)("choose_runtime", "manual")
42625
+ onClick: y[11] ||= (e) => I(r)("choose_runtime", "manual")
42596
42626
  }, [
42597
- q(S, {
42627
+ q(C, {
42598
42628
  name: "i-lucide-copy",
42599
42629
  class: "mode-icon"
42600
42630
  }),
42601
- v[43] ||= K("span", null, [K("strong", null, "手动复制冷启动"), K("small", null, "复制参与指令,由你或软件定时触发。")], -1),
42602
- f.value ? Y("", !0) : (U(), G(S, {
42631
+ y[38] ||= K("span", null, [K("strong", null, "手动接入"), K("small", null, "首次复制指令,之后人工或软件定时触发。")], -1),
42632
+ f.value ? Y("", !0) : (U(), G(C, {
42603
42633
  key: 0,
42604
42634
  name: "i-lucide-check",
42605
42635
  class: "mode-check"
42606
42636
  }))
42607
- ], 10, BW)]),
42608
- f.value ? (U(), W("section", VW, [
42609
- v[44] ||= K("strong", null, "实际执行进展", -1),
42610
- K("p", null, P(I(n).execution_label(p.value)), 1),
42611
- o.value.runtime?.status === "running" && (!p.value || ["pending", "dispatched"].includes(p.value.status)) ? (U(), W("p", HW, "尚无 AI 进入记录。请核对本机服务及对应软件的登录和工具权限。")) : Y("", !0)
42637
+ ], 10, VW)]),
42638
+ f.value ? (U(), W("section", HW, [
42639
+ y[39] ||= K("strong", null, "实际执行进展", -1),
42640
+ K("p", null, P(I(n).execution_label(m.value)), 1),
42641
+ o.value.runtime?.status === "running" && (!m.value || ["pending", "dispatched"].includes(m.value.status)) ? (U(), W("p", UW, "尚无 AI 进入记录。请核对本机服务及对应软件的登录和工具权限。")) : Y("", !0)
42612
42642
  ])) : Y("", !0),
42613
- o.value.runtime?.status === "running" ? (U(), W("div", UW, [v[45] ||= K("span", null, "切换方式前,先暂停讨论并核对原会话。", -1), q(y, {
42643
+ o.value.runtime?.status === "running" ? (U(), W("div", WW, [y[40] ||= K("span", null, "切换方式前,先暂停讨论并核对原会话。", -1), q(b, {
42614
42644
  label: "暂停讨论",
42615
42645
  variant: "outline",
42616
42646
  color: "neutral",
42617
42647
  class: "channel-surface-button",
42618
42648
  loading: I(i) === "pause_runtime",
42619
- onClick: v[12] ||= (e) => I(r)("pause_runtime")
42649
+ onClick: y[12] ||= (e) => I(r)("pause_runtime")
42620
42650
  }, null, 8, ["loading"])])) : Y("", !0),
42621
- f.value && I(t).launch.available ? (U(), W("section", WW, [
42622
- v[48] ||= K("div", { class: "access-section-title" }, [K("h3", null, "从网页启动"), K("span", { class: "fine-print" }, "本机执行")], -1),
42623
- o.value.runtime?.status === "ready" ? (U(), W(H, { key: 0 }, [q(hW, { participants: [o.value.host, ...Object.keys(o.value.experts || {})] }, null, 8, ["participants"]), q(y, {
42651
+ f.value && I(t).launch.available ? (U(), W("section", GW, [
42652
+ y[43] ||= K("div", { class: "access-section-title" }, [K("h3", null, "从网页启动"), K("span", { class: "fine-print" }, "本机执行")], -1),
42653
+ o.value.runtime?.status === "ready" ? (U(), W(H, { key: 0 }, [q(gW, { participants: [o.value.host, ...Object.keys(o.value.experts || {})] }, null, 8, ["participants"]), q(b, {
42624
42654
  label: "启动讨论",
42625
42655
  icon: "i-lucide-play",
42626
42656
  class: "channel-primary-button",
42627
42657
  loading: I(i) === "launch_current_room",
42628
- onClick: v[13] ||= (e) => I(r)("launch_current_room")
42629
- }, null, 8, ["loading"])], 64)) : o.value.runtime?.status === "paused" && !o.value.archived && !I(t).launch.remote ? (U(), W("div", GW, [
42630
- K("div", KW, [v[46] ||= K("h3", null, "修正本场软件连接", -1), q(y, {
42658
+ onClick: y[13] ||= (e) => I(r)("launch_current_room")
42659
+ }, null, 8, ["loading"])], 64)) : o.value.runtime?.status === "paused" && !o.value.archived && !I(t).launch.remote ? (U(), W("div", KW, [
42660
+ K("div", qW, [y[41] ||= K("h3", null, "修正本场软件连接", -1), q(b, {
42631
42661
  label: "读取本场配置",
42632
42662
  variant: "outline",
42633
42663
  color: "neutral",
42634
42664
  class: "channel-surface-button",
42635
42665
  loading: I(i) === "load_room_configuration",
42636
- onClick: v[14] ||= (e) => I(r)("load_room_configuration")
42666
+ onClick: y[14] ||= (e) => I(r)("load_room_configuration")
42637
42667
  }, null, 8, ["loading"])]),
42638
- v[47] ||= K("div", { class: "access-repair-description" }, [K("p", null, "修正软件路径,或切换 Codex 的 App / CLI 接入。保留原房间、发言进度和会话,保存后到进度看板重启。"), K("p", { class: "fine-print" }, "App 需保持运行,模型与文件权限在 App 内设置。切回 CLI 前须让 App 释放原聊天;未释放时执行仍会暂停。")], -1),
42639
- m.value ? (U(), W("div", qW, [
42640
- (U(!0), W(H, null, B(m.value.participants, (e, t) => (U(), W("div", {
42668
+ y[42] ||= K("div", { class: "access-repair-description" }, [K("p", null, "修正软件路径,或切换 Codex 的 App / CLI 接入。保留原房间、发言进度和会话,保存后到进度看板重启。"), K("p", { class: "fine-print" }, "App 需保持运行,模型与文件权限在 App 内设置。切回 CLI 前须让 App 释放原聊天;未释放时执行仍会暂停。")], -1),
42669
+ h.value ? (U(), W("div", JW, [
42670
+ (U(!0), W(H, null, B(h.value.participants, (e, t) => (U(), W("div", {
42641
42671
  key: t,
42642
42672
  class: "form-two-columns"
42643
- }, [["codex", "codex_cli"].includes(e.adapter) ? (U(), G(w, {
42673
+ }, [["codex", "codex_cli"].includes(e.adapter) ? (U(), G(T, {
42644
42674
  key: 0,
42645
42675
  label: `${t} · 接入方式`
42646
42676
  }, {
42647
- default: L(() => [q(C, {
42677
+ default: L(() => [q(w, {
42648
42678
  "model-value": e.adapter,
42649
42679
  items: [{
42650
42680
  label: "Codex App",
@@ -42657,200 +42687,177 @@ var QV = {
42657
42687
  "onUpdate:modelValue": (e) => I(n).write_room_adapter(t, e)
42658
42688
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
42659
42689
  _: 2
42660
- }, 1032, ["label"])) : Y("", !0), q(w, { label: `${t} · ${e.adapter === "antigravity" ? "Sidecar 目录" : "软件路径"}` }, {
42661
- default: L(() => [q(T, {
42690
+ }, 1032, ["label"])) : Y("", !0), q(T, { label: `${t} · ${e.adapter === "antigravity" ? "Sidecar 目录" : "软件路径"}` }, {
42691
+ default: L(() => [q(E, {
42662
42692
  "model-value": e[e.adapter === "antigravity" ? "ipc_directory" : "executable"] || "",
42663
42693
  class: "w-full",
42664
42694
  "onUpdate:modelValue": (e) => I(n).write_room_connection(t, e)
42665
42695
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
42666
42696
  _: 2
42667
42697
  }, 1032, ["label"])]))), 128)),
42668
- q(y, {
42698
+ q(b, {
42669
42699
  label: "保存本场接入设置",
42670
42700
  class: "channel-primary-button",
42671
42701
  loading: I(i) === "save_room_configuration",
42672
- onClick: v[15] ||= (e) => I(r)("save_room_configuration")
42702
+ onClick: y[15] ||= (e) => I(r)("save_room_configuration")
42673
42703
  }, null, 8, ["loading"]),
42674
- m.value.notice ? (U(), W("p", JW, P(m.value.notice), 1)) : Y("", !0)
42704
+ h.value.notice ? (U(), W("p", YW, P(h.value.notice), 1)) : Y("", !0)
42675
42705
  ])) : Y("", !0),
42676
- I(t).launch.repair_error ? (U(), W("p", YW, P(I(t).launch.repair_error), 1)) : Y("", !0)
42677
- ])) : o.value.runtime?.status === "paused" && I(t).launch.remote ? (U(), W("p", XW, "讨论已暂停,可在进度看板重启。线上连接暂不提供已登记房间的软件路径修正。")) : o.value.runtime?.status === "running" ? (U(), W("p", ZW, "讨论正在运行。")) : (U(), W("p", QW, "本场讨论已停止或结束,已有记录保留。")),
42678
- v[49] ||= K("p", { class: "access-host-entry" }, [
42706
+ I(t).launch.repair_error ? (U(), W("p", XW, P(I(t).launch.repair_error), 1)) : Y("", !0)
42707
+ ])) : o.value.runtime?.status === "paused" && I(t).launch.remote ? (U(), W("p", ZW, "讨论已暂停,可在进度看板重启。线上连接暂不提供已登记房间的软件路径修正。")) : o.value.runtime?.status === "running" ? (U(), W("p", QW, "讨论正在运行。")) : (U(), W("p", $W, "本场讨论已停止或结束,已有记录保留。")),
42708
+ y[44] ||= K("p", { class: "access-host-entry" }, [
42679
42709
  J("另一种入口:在 AI 工具对话中调用 "),
42680
42710
  K("code", null, "discuss-host"),
42681
42711
  J(",由当前会话主持。")
42682
42712
  ], -1)
42683
- ])) : f.value ? (U(), W("section", $W, [q(hW, { participants: [o.value.host, ...Object.keys(o.value.experts || {})] }, null, 8, ["participants"]), K("details", null, [
42684
- v[61] ||= K("summary", null, "手动下载与登记配置", -1),
42685
- K("div", eG, [v[51] ||= K("h3", null, "首次接入", -1), K("a", tG, [v[50] ||= J("配置说明 ", -1), q(S, { name: "i-lucide-arrow-up-right" })])]),
42686
- K("ol", nG, [
42713
+ ])) : f.value ? (U(), W("section", eG, [q(gW, { participants: [o.value.host, ...Object.keys(o.value.experts || {})] }, null, 8, ["participants"]), K("details", null, [
42714
+ y[56] ||= K("summary", null, "手动下载与登记配置", -1),
42715
+ K("div", tG, [y[46] ||= K("h3", null, "首次接入", -1), K("a", nG, [y[45] ||= J("配置说明 ", -1), q(C, { name: "i-lucide-arrow-up-right" })])]),
42716
+ K("ol", rG, [
42687
42717
  K("li", null, [
42688
- v[52] ||= K("span", { class: "access-step-number" }, "1", -1),
42689
- v[53] ||= K("div", null, [K("h4", null, "下载接入配置"), K("p", null, "包含当前房间信息。下载后,补齐本机软件路径与会话配置。")], -1),
42690
- o.value.runtime?.protected ? (U(), G(y, {
42718
+ y[47] ||= K("span", { class: "access-step-number" }, "1", -1),
42719
+ y[48] ||= K("div", null, [K("h4", null, "下载接入配置"), K("p", null, "包含当前房间信息。下载后,补齐本机软件路径与会话配置。")], -1),
42720
+ o.value.runtime?.protected ? (U(), G(b, {
42691
42721
  key: 0,
42692
42722
  icon: "i-lucide-download",
42693
42723
  label: "下载接入配置",
42694
42724
  class: "channel-primary-button",
42695
42725
  loading: I(i) === "export_runtime",
42696
- onClick: v[16] ||= (e) => I(r)("export_runtime")
42726
+ onClick: y[16] ||= (e) => I(r)("export_runtime")
42697
42727
  }, null, 8, ["loading"])) : Y("", !0)
42698
42728
  ]),
42699
- K("li", null, [v[56] ||= K("span", { class: "access-step-number" }, "2", -1), K("div", null, [
42700
- v[54] ||= K("h4", null, "登记到本机服务", -1),
42701
- v[55] ||= K("p", null, "在下载文件所在目录执行;也可以将文件名换成完整路径。", -1),
42702
- K("div", rG, [K("code", null, P(g.value), 1), q(y, {
42729
+ K("li", null, [y[51] ||= K("span", { class: "access-step-number" }, "2", -1), K("div", null, [
42730
+ y[49] ||= K("h4", null, "登记到本机服务", -1),
42731
+ y[50] ||= K("p", null, "在下载文件所在目录执行;也可以将文件名换成完整路径。", -1),
42732
+ K("div", iG, [K("code", null, P(_.value), 1), q(b, {
42703
42733
  icon: "i-lucide-copy",
42704
42734
  color: "neutral",
42705
42735
  variant: "ghost",
42706
42736
  "aria-label": "复制房间登记命令",
42707
- onClick: v[17] ||= (e) => I(r)("copy", g.value)
42737
+ onClick: y[17] ||= (e) => I(r)("copy", _.value)
42708
42738
  })])
42709
42739
  ])]),
42710
- K("li", null, [v[60] ||= K("span", { class: "access-step-number" }, "3", -1), K("div", null, [
42711
- v[58] ||= K("h4", null, "启动服务,保持终端打开", -1),
42712
- v[59] ||= K("p", null, "启动服务不会自动开始讨论。已暂停的讨论可在进度看板点“重启”。", -1),
42713
- K("div", iG, [v[57] ||= K("code", null, "codiscuss", -1), q(y, {
42740
+ K("li", null, [y[55] ||= K("span", { class: "access-step-number" }, "3", -1), K("div", null, [
42741
+ y[53] ||= K("h4", null, "启动服务,保持终端打开", -1),
42742
+ y[54] ||= K("p", null, "启动服务不会自动开始讨论。已暂停的讨论可在进度看板点“重启”。", -1),
42743
+ K("div", aG, [y[52] ||= K("code", null, "codiscuss", -1), q(b, {
42714
42744
  icon: "i-lucide-copy",
42715
42745
  color: "neutral",
42716
42746
  variant: "ghost",
42717
42747
  "aria-label": "复制服务启动命令",
42718
- onClick: v[18] ||= (e) => I(r)("copy", "codiscuss")
42748
+ onClick: y[18] ||= (e) => I(r)("copy", "codiscuss")
42719
42749
  })])
42720
42750
  ])])
42721
42751
  ])
42722
42752
  ])])) : Y("", !0),
42723
- !f.value || !I(t).launch.available ? (U(), W("details", aG, [K("summary", null, [v[62] ||= K("span", null, [J("项目与工作目录 "), K("small", null, "可选")], -1), q(S, {
42753
+ !f.value || !I(t).launch.available ? (U(), W("details", oG, [K("summary", null, [y[57] ||= K("span", null, [J("项目与工作目录 "), K("small", null, "可选")], -1), q(C, {
42724
42754
  name: "i-lucide-chevron-down",
42725
42755
  class: "disclosure-icon"
42726
- })]), K("div", oG, [v[63] ||= K("p", null, "指定 AI 使用的本机项目和目录,留空使用默认位置。仅保存在本机配置中。", -1), K("div", sG, [q(w, { label: "AI 软件中的项目" }, {
42727
- default: L(() => [q(T, {
42756
+ })]), K("div", sG, [y[58] ||= K("p", null, "指定 AI 使用的本机项目和目录,留空使用默认位置。仅保存在本机配置中。", -1), K("div", cG, [q(T, { label: "AI 软件中的项目" }, {
42757
+ default: L(() => [q(E, {
42728
42758
  "model-value": I(t).fields["runtime-project"],
42729
42759
  placeholder: "项目名称",
42730
42760
  class: "w-full",
42731
- "onUpdate:modelValue": v[19] ||= (e) => I(n).write_field("runtime-project", e)
42761
+ "onUpdate:modelValue": y[19] ||= (e) => I(n).write_field("runtime-project", e)
42732
42762
  }, null, 8, ["model-value"])]),
42733
42763
  _: 1
42734
- }), q(w, { label: "工作目录" }, {
42735
- default: L(() => [q(T, {
42764
+ }), q(T, { label: "工作目录" }, {
42765
+ default: L(() => [q(E, {
42736
42766
  "model-value": I(t).fields["runtime-cwd"],
42737
42767
  placeholder: "已有本机目录的完整路径",
42738
42768
  class: "w-full",
42739
- "onUpdate:modelValue": v[20] ||= (e) => I(n).write_field("runtime-cwd", e)
42769
+ "onUpdate:modelValue": y[20] ||= (e) => I(n).write_field("runtime-cwd", e)
42740
42770
  }, null, 8, ["model-value"])]),
42741
42771
  _: 1
42742
42772
  })])])])) : Y("", !0),
42743
42773
  K("details", {
42744
42774
  class: "access-disclosure access-instructions",
42745
42775
  open: !f.value
42746
- }, [K("summary", null, [K("span", null, P(f.value ? "手动参与指令与阅读地址" : "复制指令,交给对应的 AI"), 1), q(S, {
42776
+ }, [K("summary", null, [K("span", null, P(f.value ? "成员参与说明与阅读地址" : "复制指令,交给对应的 AI"), 1), q(C, {
42747
42777
  name: "i-lucide-chevron-down",
42748
42778
  class: "disclosure-icon"
42749
- })]), K("div", lG, [
42750
- !f.value && o.value.runtime?.protected ? (U(), W("div", uG, [v[64] ||= K("span", null, "本房间已启用写入保护,请将接入配置的本机路径交给参与的本地 AI。", -1), q(y, {
42751
- icon: "i-lucide-download",
42752
- label: "下载接入配置",
42753
- variant: "outline",
42754
- color: "neutral",
42755
- class: "channel-surface-button",
42756
- onClick: v[21] ||= (e) => I(r)("export_runtime")
42757
- })])) : Y("", !0),
42758
- K("section", dG, [K("span", fG, [q(S, { name: "i-lucide-terminal" })]), K("div", null, [
42759
- K("h3", null, [v[66] ||= J("本地 AI 软件 ", -1), q(b, {
42760
- color: "primary",
42761
- variant: "subtle"
42762
- }, {
42763
- default: L(() => [...v[65] ||= [J("可提交回答", -1)]]),
42764
- _: 1
42765
- })]),
42766
- v[69] ||= K("p", null, "在 Codex、Claude Code 等本地会话中发送参与指令。AI 可自行读取讨论、提交回答。", -1),
42767
- K("div", pG, [q(y, {
42768
- icon: "i-lucide-copy",
42769
- label: "复制本地参与指令",
42779
+ })]), K("div", uG, [
42780
+ y[60] ||= K("p", { class: "fine-print" }, "手动接入的本地 AI 使用自己的私有配置;程序唤醒的成员等待本机任务,使用本次执行凭据。在线 AI 只读,真实回答由你或授权主持人代发。", -1),
42781
+ K("ul", dG, [(U(!0), W(H, null, B(p.value.members || [], (e) => (U(), W("li", { key: e.name }, [
42782
+ q(S, {
42783
+ src: I(n).identities[e.name]?.icon,
42784
+ text: I(n).identities[e.name]?.initials,
42785
+ alt: e.name,
42786
+ size: "sm",
42787
+ class: M(["channel-avatar", I(n).identities[e.name]?.style])
42788
+ }, null, 8, [
42789
+ "src",
42790
+ "text",
42791
+ "alt",
42792
+ "class"
42793
+ ]),
42794
+ K("div", fG, [
42795
+ K("strong", null, P(e.name), 1),
42796
+ K("span", null, P(e.access === "online" ? "在线只读 · 由人代发" : e.access === "runner" ? "程序唤醒 · 本地读写" : "手动接入 · 自行提交"), 1),
42797
+ e.access !== "online" && !e.available ? (U(), W("small", pG, "当前浏览器没有此成员的私有配置")) : Y("", !0)
42798
+ ]),
42799
+ K("div", mG, [e.access === "online" ? Y("", !0) : (U(), G(b, {
42800
+ key: 0,
42801
+ icon: "i-lucide-download",
42802
+ label: "私有配置",
42803
+ "aria-label": `下载 ${e.name} 私有配置`,
42804
+ disabled: !p.value.can_manage || !e.available,
42770
42805
  variant: "outline",
42771
42806
  color: "neutral",
42772
- class: "channel-surface-button",
42773
- onClick: v[22] ||= (e) => I(r)("copy_cli")
42774
- }), q(y, {
42775
- label: "复制后台首启指令",
42776
- variant: "ghost",
42777
- color: "neutral",
42778
- onClick: v[23] ||= (e) => I(r)("copy_background")
42779
- })]),
42780
- K("details", mG, [
42781
- v[68] ||= K("summary", null, "查看阅读地址", -1),
42782
- K("div", hG, [K("code", null, P(d.value) + "?mode=cli", 1), q(y, {
42783
- icon: "i-lucide-copy",
42784
- color: "neutral",
42785
- variant: "ghost",
42786
- "aria-label": "复制 CLI 阅读地址",
42787
- onClick: v[24] ||= (e) => I(r)("copy", `${d.value}?mode=cli`)
42788
- })]),
42789
- K("a", {
42790
- href: `${d.value}?mode=cli`,
42791
- target: "_blank",
42792
- rel: "noopener",
42793
- class: "subtle-link"
42794
- }, [v[67] ||= J("打开接入说明 ", -1), q(S, { name: "i-lucide-arrow-up-right" })], 8, gG)
42795
- ])
42796
- ])]),
42797
- K("section", _G, [K("span", vG, [q(S, { name: "i-lucide-globe" })]), K("div", null, [
42798
- K("h3", null, [v[71] ||= J("在线聊天 AI ", -1), q(b, {
42799
- color: "neutral",
42800
- variant: "subtle"
42801
- }, {
42802
- default: L(() => [...v[70] ||= [J("由用户或主持人代发", -1)]]),
42803
- _: 1
42804
- })]),
42805
- v[73] ||= K("p", null, "在网页聊天中发送参与指令。AI 在原聊天回答,再由用户或主持人复制到本讨论。", -1),
42806
- K("div", yG, [q(y, {
42807
+ size: "sm",
42808
+ onClick: (t) => I(r)("download_member_access", e.name)
42809
+ }, null, 8, [
42810
+ "aria-label",
42811
+ "disabled",
42812
+ "onClick"
42813
+ ])), q(b, {
42807
42814
  icon: "i-lucide-copy",
42808
- label: "复制在线参与指令",
42815
+ label: "参与说明",
42816
+ "aria-label": `复制 ${e.name} 参与说明`,
42809
42817
  variant: "outline",
42810
42818
  color: "neutral",
42811
- class: "channel-surface-button",
42812
- onClick: v[25] ||= (e) => I(r)("copy_online")
42813
- }), q(y, {
42814
- to: d.value,
42815
- target: "_blank",
42816
- label: "打开阅读页",
42817
- "trailing-icon": "i-lucide-arrow-up-right",
42818
- variant: "ghost",
42819
- color: "neutral"
42820
- }, null, 8, ["to"])]),
42821
- K("details", bG, [v[72] ||= K("summary", null, "查看阅读地址", -1), K("div", xG, [K("code", null, P(d.value), 1), q(y, {
42822
- icon: "i-lucide-copy",
42823
- color: "neutral",
42824
- variant: "ghost",
42825
- "aria-label": "复制在线阅读地址",
42826
- onClick: v[26] ||= (e) => I(r)("copy_reading")
42827
- })])])
42828
- ])]),
42829
- K("p", SG, "当前参与身份:" + P(I(n).display_name(I(t).fields["author-select"] || "用户")) + "。复制前,请在消息页选择实际参与的 AI 身份。", 1),
42830
- d.value.includes("127.0.0.1") || d.value.includes("localhost") ? (U(), W("p", CG, "本机地址仅本机可访问。在线 AI 需要公网阅读地址,或由用户提供材料。")) : Y("", !0)
42831
- ])], 8, cG),
42832
- o.value.limits ? (U(), W("details", wG, [K("summary", null, [
42833
- v[74] ||= K("span", null, "讨论上限与进度", -1),
42834
- K("span", TG, P(_.value), 1),
42835
- q(S, {
42819
+ size: "sm",
42820
+ disabled: !p.value.can_manage,
42821
+ onClick: (t) => I(r)("copy_member_join", e.name)
42822
+ }, null, 8, [
42823
+ "aria-label",
42824
+ "disabled",
42825
+ "onClick"
42826
+ ])])
42827
+ ]))), 128))]),
42828
+ p.value.error ? (U(), W("p", hG, P(p.value.error), 1)) : p.value.notice ? (U(), W("p", gG, P(p.value.notice), 1)) : Y("", !0),
42829
+ y[61] ||= K("p", { class: "fine-print" }, "复制说明或下载配置不代表 AI 已接入,请以实际回答和运行记录为准。", -1),
42830
+ K("details", _G, [y[59] ||= K("summary", null, "查看房间阅读地址", -1), K("div", vG, [K("code", null, P(d.value), 1), q(b, {
42831
+ icon: "i-lucide-copy",
42832
+ color: "neutral",
42833
+ variant: "ghost",
42834
+ "aria-label": "复制阅读地址",
42835
+ onClick: y[21] ||= (e) => I(r)("copy", d.value)
42836
+ })])]),
42837
+ d.value.includes("127.0.0.1") || d.value.includes("localhost") ? (U(), W("p", yG, "本机地址仅本机可访问。在线 AI 需要公网阅读地址,或由用户提供材料。")) : Y("", !0)
42838
+ ])], 8, lG),
42839
+ o.value.limits ? (U(), W("details", bG, [K("summary", null, [
42840
+ y[62] ||= K("span", null, "讨论上限与进度", -1),
42841
+ K("span", xG, P(v.value), 1),
42842
+ q(C, {
42836
42843
  name: "i-lucide-chevron-down",
42837
42844
  class: "disclosure-icon"
42838
42845
  })
42839
- ]), K("div", EG, [K("p", null, P(I(n).limits_label(o.value.limits)), 1), K("div", DG, [q(y, {
42846
+ ]), K("div", SG, [K("p", null, P(I(n).limits_label(o.value.limits)), 1), K("div", CG, [q(b, {
42840
42847
  icon: "i-lucide-pencil",
42841
42848
  label: "编辑讨论上限",
42842
42849
  variant: "outline",
42843
42850
  color: "neutral",
42844
42851
  class: "channel-surface-button",
42845
- onClick: v[27] ||= (t) => e.$emit("open", "edit")
42846
- }), o.value.limits.reached && !l.value ? (U(), G(y, {
42852
+ onClick: y[22] ||= (t) => e.$emit("open", "edit")
42853
+ }), o.value.limits.reached && !l.value ? (U(), G(b, {
42847
42854
  key: 0,
42848
42855
  label: "检查并执行到限处理",
42849
42856
  variant: "outline",
42850
42857
  color: "neutral",
42851
42858
  class: "channel-surface-button",
42852
42859
  loading: I(i) === "check_limits",
42853
- onClick: v[28] ||= (e) => I(r)("check_limits")
42860
+ onClick: y[23] ||= (e) => I(r)("check_limits")
42854
42861
  }, null, 8, ["loading"])) : Y("", !0)])])])) : Y("", !0)
42855
42862
  ], 64))]),
42856
42863
  _: 1
@@ -42861,7 +42868,7 @@ var QV = {
42861
42868
  ]);
42862
42869
  };
42863
42870
  }
42864
- }, [["__scopeId", "data-v-9d198cff"]]), kG = {
42871
+ }, [["__scopeId", "data-v-2ab351ea"]]), TG = {
42865
42872
  slots: {
42866
42873
  overlay: "fixed inset-0",
42867
42874
  content: "bg-default divide-y divide-default flex flex-col focus:outline-none",
@@ -42903,7 +42910,7 @@ var QV = {
42903
42910
  fullscreen: !1,
42904
42911
  class: { content: "top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] overflow-hidden" }
42905
42912
  }]
42906
- }, AG = {
42913
+ }, EG = {
42907
42914
  __name: "Modal",
42908
42915
  props: {
42909
42916
  title: {
@@ -42994,7 +43001,7 @@ var QV = {
42994
43001
  let n = e, r = t, i = Aa(), a = cE("modal", n), { t: o } = eh(), s = Sm(), c = lE(am(a, "open", "defaultOpen", "modal", "unmountOnHide"), r), l = eE(/* @__PURE__ */ Sn(() => a.portal)), u = /* @__PURE__ */ Sn(() => a.content), d = Z(() => a.dismissible ? { pointerDownOutside: (e) => lV(e, { scrollable: a.scrollable }) } : ["interactOutside", "escapeKeyDown"].reduce((e, t) => (e[t] = (e) => {
42995
43002
  e.preventDefault(), r("close:prevent");
42996
43003
  }, e), {})), [f, p] = gm(), m = Z(() => Rk({
42997
- extend: kG,
43004
+ extend: TG,
42998
43005
  ...s.ui?.modal || {}
42999
43006
  })({
43000
43007
  transition: a.transition,
@@ -43119,10 +43126,10 @@ var QV = {
43119
43126
  _: 3
43120
43127
  }, 16));
43121
43128
  }
43122
- }, jG = { slots: {
43129
+ }, DG = { slots: {
43123
43130
  root: "",
43124
43131
  content: "data-[state=open]:animate-[collapsible-down_200ms_var(--ease-out)] data-[state=closed]:animate-[collapsible-up_200ms_var(--ease-out)] data-[state=closed]:overflow-hidden"
43125
- } }, MG = {
43132
+ } }, OG = {
43126
43133
  __name: "Collapsible",
43127
43134
  props: {
43128
43135
  as: {
@@ -43158,7 +43165,7 @@ var QV = {
43158
43165
  emits: ["update:open"],
43159
43166
  setup(e, { emit: t }) {
43160
43167
  let n = e, r = t, i = Aa(), a = cE("collapsible", n), o = Sm(), s = lE(am(a, "as", "defaultOpen", "open", "disabled", "unmountOnHide"), r), c = Z(() => Rk({
43161
- extend: jG,
43168
+ extend: DG,
43162
43169
  ...o.ui?.collapsible || {}
43163
43170
  })());
43164
43171
  return (e, t) => (U(), G(I(Rg), X(I(s), {
@@ -43181,7 +43188,7 @@ var QV = {
43181
43188
  _: 3
43182
43189
  }, 16, ["class"]));
43183
43190
  }
43184
- }, NG = {
43191
+ }, kG = {
43185
43192
  slots: {
43186
43193
  root: "relative flex items-start",
43187
43194
  container: "flex items-center",
@@ -43569,7 +43576,7 @@ var QV = {
43569
43576
  variant: "list",
43570
43577
  indicator: "start"
43571
43578
  }
43572
- }, PG = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
43579
+ }, AG = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
43573
43580
  __name: "Checkbox",
43574
43581
  props: {
43575
43582
  as: {
@@ -43663,7 +43670,7 @@ var QV = {
43663
43670
  let { "data-state": e, ...t } = C;
43664
43671
  return t;
43665
43672
  }), T = Z(() => Rk({
43666
- extend: NG,
43673
+ extend: kG,
43667
43674
  ...o.ui?.checkbox || {}
43668
43675
  })({
43669
43676
  size: b.value,
@@ -43754,22 +43761,22 @@ var QV = {
43754
43761
  "class"
43755
43762
  ]));
43756
43763
  }
43757
- }), FG = {
43764
+ }), jG = {
43758
43765
  class: "limit-picker",
43759
43766
  role: "group",
43760
43767
  "aria-label": "讨论轮次和时长"
43761
- }, IG = { class: "limit-field-heading" }, LG = ["for"], RG = [
43768
+ }, MG = { class: "limit-field-heading" }, NG = ["for"], PG = [
43762
43769
  "aria-pressed",
43763
43770
  "aria-label",
43764
43771
  "onClick"
43765
- ], zG = [
43772
+ ], FG = [
43766
43773
  "id",
43767
43774
  "disabled",
43768
43775
  "aria-label"
43769
- ], BG = { key: 0 }, VG = {
43776
+ ], IG = { key: 0 }, LG = {
43770
43777
  key: 1,
43771
43778
  class: "limit-trigger-value"
43772
- }, HG = { class: "limit-editor" }, UG = { class: "limit-editor-heading" }, WG = ["aria-label", "onClick"], GG = { class: "limit-columns" }, KG = [
43779
+ }, RG = { class: "limit-editor" }, zG = { class: "limit-editor-heading" }, BG = ["aria-label", "onClick"], VG = { class: "limit-columns" }, HG = [
43773
43780
  "onKeydown",
43774
43781
  "onWheel",
43775
43782
  "onPointerdown",
@@ -43777,16 +43784,16 @@ var QV = {
43777
43784
  "onPointerup",
43778
43785
  "onPointercancel",
43779
43786
  "onLostpointercapture"
43780
- ], qG = [
43787
+ ], UG = [
43781
43788
  "aria-label",
43782
43789
  "aria-valuemin",
43783
43790
  "aria-valuemax",
43784
43791
  "aria-valuenow",
43785
43792
  "aria-valuetext"
43786
- ], JG = {
43793
+ ], WG = {
43787
43794
  class: "limit-wheel-rows",
43788
43795
  "aria-hidden": "true"
43789
- }, YG = { class: "limit-exact-value" }, XG = [
43796
+ }, GG = { class: "limit-exact-value" }, KG = [
43790
43797
  "min",
43791
43798
  "max",
43792
43799
  "value",
@@ -43795,12 +43802,12 @@ var QV = {
43795
43802
  "onInput",
43796
43803
  "onBlur",
43797
43804
  "onKeydown"
43798
- ], ZG = { "aria-hidden": "true" };
43799
- function QG(e) {
43805
+ ], qG = { "aria-hidden": "true" };
43806
+ function JG(e) {
43800
43807
  let t = Math.floor(e / 60), n = e % 60;
43801
43808
  return [t && `${t} 小时`, n && `${n} 分钟`].filter(Boolean).join(" ") || "0 分钟";
43802
43809
  }
43803
- var $G = /*#__PURE__*/ nH({
43810
+ var YG = /*#__PURE__*/ nH({
43804
43811
  __name: "LimitPicker",
43805
43812
  props: {
43806
43813
  rounds: {
@@ -43864,7 +43871,7 @@ var $G = /*#__PURE__*/ nH({
43864
43871
  target: null,
43865
43872
  hand: null,
43866
43873
  pointer: null
43867
- }))), u = 0, d = 0, f = (e, t, n = 0) => Math.min(t, Math.max(n, e)), p = (e) => f(Math.round(e.x), e.max, e.min), m = (e) => l.filter((t) => t.field === e.key), h = (e) => c.find((t) => t.key === e.field), g = (e) => e.key === "rounds" ? `${e.selected} 轮` : QG(e.selected), _ = (e, t, n) => -((2 * Math.PI * n) ** 2) * e - 4 * Math.PI * n * t;
43874
+ }))), u = 0, d = 0, f = (e, t, n = 0) => Math.min(t, Math.max(n, e)), p = (e) => f(Math.round(e.x), e.max, e.min), m = (e) => l.filter((t) => t.field === e.key), h = (e) => c.find((t) => t.key === e.field), g = (e) => e.key === "rounds" ? `${e.selected} 轮` : JG(e.selected), _ = (e, t, n) => -((2 * Math.PI * n) ** 2) * e - 4 * Math.PI * n * t;
43868
43875
  function v(e, t) {
43869
43876
  D(e, t), e.selected = e.x, e.draft = String(e.selected);
43870
43877
  }
@@ -44001,10 +44008,10 @@ var $G = /*#__PURE__*/ nH({
44001
44008
  });
44002
44009
  }, { immediate: !0 }), ta(() => cancelAnimationFrame(u)), t({ settle: oe }), (e, t) => {
44003
44010
  let n = zk, r = UV;
44004
- return U(), W("div", FG, [(U(!0), W(H, null, B(c, (e) => (U(), W("div", {
44011
+ return U(), W("div", jG, [(U(!0), W(H, null, B(c, (e) => (U(), W("div", {
44005
44012
  key: e.key,
44006
44013
  class: "limit-field"
44007
- }, [K("div", IG, [K("label", { for: `limit-trigger-${e.key}` }, P(e.label), 9, LG), K("button", {
44014
+ }, [K("div", MG, [K("label", { for: `limit-trigger-${e.key}` }, P(e.label), 9, NG), K("button", {
44008
44015
  type: "button",
44009
44016
  class: "limit-unlimited",
44010
44017
  "aria-pressed": e.unlimited,
@@ -44013,7 +44020,7 @@ var $G = /*#__PURE__*/ nH({
44013
44020
  }, [q(n, {
44014
44021
  name: "i-lucide-infinity",
44015
44022
  "aria-hidden": "true"
44016
- }), t[0] ||= K("span", null, "不限", -1)], 8, RG)]), q(r, {
44023
+ }), t[0] ||= K("span", null, "不限", -1)], 8, PG)]), q(r, {
44017
44024
  open: e.open,
44018
44025
  content: {
44019
44026
  align: e.key === "rounds" ? "start" : "end",
@@ -44023,12 +44030,12 @@ var $G = /*#__PURE__*/ nH({
44023
44030
  ui: { content: `limit-popover-content ${e.key === "minutes" ? "limit-duration-content" : ""}` },
44024
44031
  "onUpdate:open": (t) => x(e, t)
44025
44032
  }, {
44026
- content: L(() => [K("div", HG, [K("div", UG, [K("span", null, P(e.label), 1), K("button", {
44033
+ content: L(() => [K("div", RG, [K("div", zG, [K("span", null, P(e.label), 1), K("button", {
44027
44034
  type: "button",
44028
44035
  class: "limit-close",
44029
44036
  "aria-label": `关闭${e.label}选择`,
44030
44037
  onClick: (t) => x(e, !1)
44031
- }, [q(n, { name: "i-lucide-x" })], 8, WG)]), K("div", GG, [(U(!0), W(H, null, B(m(e), (n) => (U(), W("div", {
44038
+ }, [q(n, { name: "i-lucide-x" })], 8, BG)]), K("div", VG, [(U(!0), W(H, null, B(m(e), (n) => (U(), W("div", {
44032
44039
  key: n.key,
44033
44040
  class: M(["limit-track", { "is-editing": n.editing }]),
44034
44041
  onKeydown: (e) => k(n, e),
@@ -44050,11 +44057,11 @@ var $G = /*#__PURE__*/ nH({
44050
44057
  }, [t[1] ||= K("div", {
44051
44058
  class: "limit-selection",
44052
44059
  "aria-hidden": "true"
44053
- }, null, -1), K("div", JG, [(U(!0), W(H, null, B(A(n), (e) => (U(), W("span", {
44060
+ }, null, -1), K("div", WG, [(U(!0), W(H, null, B(A(n), (e) => (U(), W("span", {
44054
44061
  key: e.index,
44055
44062
  class: M(["limit-wheel-row", { "is-current": e.index === p(n) }]),
44056
44063
  style: fe(e.style)
44057
- }, P(e.text), 7))), 128))])], 8, qG), K("div", YG, [K("input", {
44064
+ }, P(e.text), 7))), 128))])], 8, UG), K("div", GG, [K("input", {
44058
44065
  type: "number",
44059
44066
  inputmode: "numeric",
44060
44067
  min: n.min,
@@ -44068,14 +44075,14 @@ var $G = /*#__PURE__*/ nH({
44068
44075
  onKeydown: fu(uu((t) => {
44069
44076
  C(n), x(e, !1);
44070
44077
  }, ["stop", "prevent"]), ["enter"])
44071
- }, null, 40, XG), K("span", ZG, P(n.unit), 1)])], 42, KG))), 128))])])]),
44078
+ }, null, 40, KG), K("span", qG, P(n.unit), 1)])], 42, HG))), 128))])])]),
44072
44079
  default: L(() => [K("button", {
44073
44080
  id: `limit-trigger-${e.key}`,
44074
44081
  type: "button",
44075
44082
  class: "limit-trigger",
44076
44083
  disabled: e.unlimited,
44077
44084
  "aria-label": `${e.label}:${e.unlimited ? "不限" : g(e)}`
44078
- }, [e.unlimited ? (U(), W("span", BG, "不限" + P(e.key === "rounds" ? "轮次" : "时长"), 1)) : (U(), W("span", VG, [(U(!0), W(H, null, B(g(e).match(/\d+ \S+/g), (e) => (U(), W("span", { key: e }, P(e), 1))), 128))])), q(n, { name: "i-lucide-chevrons-up-down" })], 8, zG)]),
44085
+ }, [e.unlimited ? (U(), W("span", IG, "不限" + P(e.key === "rounds" ? "轮次" : "时长"), 1)) : (U(), W("span", LG, [(U(!0), W(H, null, B(g(e).match(/\d+ \S+/g), (e) => (U(), W("span", { key: e }, P(e), 1))), 128))])), q(n, { name: "i-lucide-chevrons-up-down" })], 8, FG)]),
44079
44086
  _: 2
44080
44087
  }, 1032, [
44081
44088
  "open",
@@ -44085,15 +44092,15 @@ var $G = /*#__PURE__*/ nH({
44085
44092
  ])]))), 128))]);
44086
44093
  };
44087
44094
  }
44088
- }, [["__scopeId", "data-v-3a5e83d6"]]), eK = [
44095
+ }, [["__scopeId", "data-v-859a6440"]]), XG = [
44089
44096
  "aria-label",
44090
44097
  "aria-valuemax",
44091
44098
  "aria-valuenow",
44092
44099
  "aria-valuetext"
44093
- ], tK = {
44100
+ ], ZG = {
44094
44101
  class: "effort-slider-track",
44095
44102
  "aria-hidden": "true"
44096
- }, nK = ["title"], rK = 4.5, iK = 6, aK = 8, oK = 1 / 240, sK = .001, cK = .01, lK = .05, uK = 10, dK = 4, fK = /*#__PURE__*/ nH({
44103
+ }, QG = ["title"], $G = 4.5, eK = 6, tK = 8, nK = 1 / 240, rK = .001, iK = .01, aK = .05, oK = 10, sK = 4, cK = /*#__PURE__*/ nH({
44097
44104
  __name: "EffortSlider",
44098
44105
  props: {
44099
44106
  items: {
@@ -44119,18 +44126,18 @@ var $G = /*#__PURE__*/ nH({
44119
44126
  pointer: null
44120
44127
  }), l = Z(() => `${Math.min(o.value, Math.max(0, c.x)) / o.value * 100}%`), u = 0, d = 0, f = 0, p = 0, m = !1, h = (e) => Math.min(o.value, Math.max(0, e)), g = (e, t, n) => -((2 * Math.PI * n) ** 2) * e - 4 * Math.PI * n * t;
44121
44128
  function _(e) {
44122
- let t = c.hand ?? c.target, n = c.hand === null ? rK : iK, r = (e, r) => g(e - t, r, n) + (e < 0 || e > o.value ? g(e - h(e), r, aK) : 0), i = c.x, a = c.v, s = r(i, a), l = a + s * e / 2, u = r(i + a * e / 2, l), d = a + u * e / 2, f = r(i + l * e / 2, d), p = a + f * e, m = r(i + d * e, p);
44129
+ let t = c.hand ?? c.target, n = c.hand === null ? $G : eK, r = (e, r) => g(e - t, r, n) + (e < 0 || e > o.value ? g(e - h(e), r, tK) : 0), i = c.x, a = c.v, s = r(i, a), l = a + s * e / 2, u = r(i + a * e / 2, l), d = a + u * e / 2, f = r(i + l * e / 2, d), p = a + f * e, m = r(i + d * e, p);
44123
44130
  c.x += e * (a + 2 * l + 2 * d + p) / 6, c.v += e * (s + 2 * u + 2 * f + m) / 6;
44124
44131
  }
44125
44132
  function v(e) {
44126
44133
  u = 0;
44127
- let t = Math.min(lK, (e - d) / 1e3);
44134
+ let t = Math.min(aK, (e - d) / 1e3);
44128
44135
  for (d = e; t > 0;) {
44129
- let e = Math.min(oK, t);
44136
+ let e = Math.min(nK, t);
44130
44137
  _(e), t -= e;
44131
44138
  }
44132
44139
  let n = c.hand ?? c.target;
44133
- Math.abs(c.x - n) < sK && Math.abs(c.v) < cK ? (c.x = n, c.v = 0) : u = requestAnimationFrame(v);
44140
+ Math.abs(c.x - n) < rK && Math.abs(c.v) < iK ? (c.x = n, c.v = 0) : u = requestAnimationFrame(v);
44134
44141
  }
44135
44142
  function y() {
44136
44143
  i.value ? (cancelAnimationFrame(u), u = 0, c.x = c.hand ?? c.target, c.v = 0) : u ||= (d = performance.now(), requestAnimationFrame(v));
@@ -44140,17 +44147,17 @@ var $G = /*#__PURE__*/ nH({
44140
44147
  }
44141
44148
  function x(e) {
44142
44149
  let t = a.value.getBoundingClientRect();
44143
- return h((e.clientX - t.left - uK) / Math.max(1, t.width - 20) * o.value);
44150
+ return h((e.clientX - t.left - oK) / Math.max(1, t.width - 20) * o.value);
44144
44151
  }
44145
44152
  function S(e) {
44146
44153
  e.isPrimary && e.button === 0 && c.pointer === null && (e.preventDefault(), a.value.focus(), a.value.setPointerCapture(e.pointerId), c.pointer = e.pointerId, f = e.clientX, m = !1, p = e.target.closest(".effort-slider-thumb") ? c.x - x(e) : 0, c.hand = h(x(e) + p), y());
44147
44154
  }
44148
44155
  function C(e) {
44149
- c.pointer === e.pointerId && (m ||= Math.abs(e.clientX - f) > dK, c.hand = h(x(e) + p), y());
44156
+ c.pointer === e.pointerId && (m ||= Math.abs(e.clientX - f) > sK, c.hand = h(x(e) + p), y());
44150
44157
  }
44151
44158
  function w(e) {
44152
44159
  if (c.pointer !== e.pointerId) return;
44153
- let t = m ? c.x + c.v / (4 * Math.PI * rK) : c.hand;
44160
+ let t = m ? c.x + c.v / (4 * Math.PI * $G) : c.hand;
44154
44161
  c.hand = null, c.pointer = null, b(t);
44155
44162
  }
44156
44163
  function T(e) {
@@ -44190,7 +44197,7 @@ var $G = /*#__PURE__*/ nH({
44190
44197
  onPointerup: w,
44191
44198
  onPointercancel: T,
44192
44199
  onLostpointercapture: T
44193
- }, [K("span", tK, [
44200
+ }, [K("span", ZG, [
44194
44201
  K("span", {
44195
44202
  class: "effort-slider-fill",
44196
44203
  style: fe({ width: l.value })
@@ -44203,19 +44210,40 @@ var $G = /*#__PURE__*/ nH({
44203
44210
  }]),
44204
44211
  style: fe({ left: `${t / o.value * 100}%` }),
44205
44212
  title: e.label
44206
- }, null, 14, nK))), 128)),
44213
+ }, null, 14, QG))), 128)),
44207
44214
  K("span", {
44208
44215
  class: "effort-slider-thumb",
44209
44216
  style: fe({ left: l.value })
44210
44217
  }, null, 4)
44211
- ])], 40, eK));
44218
+ ])], 40, XG));
44212
44219
  }
44213
- }, [["__scopeId", "data-v-8abd2c6e"]]), pK = ["data-identity", "data-face"], mK = ["inert", "aria-hidden"], hK = { class: "expert-card-identity" }, gK = ["title"], _K = {
44220
+ }, [["__scopeId", "data-v-3e99b484"]]), lK = ["data-identity", "data-face"], uK = ["inert", "aria-hidden"], dK = { class: "expert-card-identity" }, fK = {
44214
44221
  key: 0,
44215
- class: "expert-card-summary"
44216
- }, vK = ["title"], yK = { class: "expert-card-model" }, bK = { class: "expert-card-strength" }, xK = ["aria-label"], SK = ["aria-label"], CK = ["aria-checked", "onClick"], wK = ["inert", "aria-hidden"], TK = { class: "expert-card-heading" }, EK = { class: "expert-card-actions" }, DK = ["aria-label", "disabled"], OK = ["aria-label"], kK = { class: "expert-card-note" }, AK = ["aria-label"], jK = ["title"], MK = {
44222
+ class: "expert-card-badge"
44223
+ }, pK = { class: "expert-card-facts" }, mK = ["title"], hK = ["title"], gK = {
44224
+ key: 0,
44225
+ class: "expert-card-flip"
44226
+ }, _K = { class: "expert-card-tools" }, vK = [
44227
+ "aria-pressed",
44228
+ "aria-label",
44229
+ "title"
44230
+ ], yK = ["aria-label"], bK = ["inert", "aria-hidden"], xK = { class: "expert-card-heading" }, SK = ["aria-label"], CK = ["aria-label"], wK = [
44231
+ "aria-checked",
44232
+ "tabindex",
44233
+ "data-mode",
44234
+ "onClick"
44235
+ ], TK = {
44217
44236
  key: 1,
44218
- class: "expert-card-note expert-card-note-center"
44237
+ class: "expert-card-field"
44238
+ }, EK = { class: "expert-card-field" }, DK = { class: "expert-card-catalog" }, OK = {
44239
+ key: 0,
44240
+ class: "expert-card-effort"
44241
+ }, kK = {
44242
+ key: 1,
44243
+ class: "expert-card-note"
44244
+ }, AK = { class: "expert-card-defaults" }, jK = ["aria-label", "disabled"], MK = {
44245
+ key: 3,
44246
+ class: "expert-card-note"
44219
44247
  }, NK = 180, PK = /*#__PURE__*/ nH({
44220
44248
  __name: "ExpertCard",
44221
44249
  props: {
@@ -44231,16 +44259,22 @@ var $G = /*#__PURE__*/ nH({
44231
44259
  status: {
44232
44260
  type: Object,
44233
44261
  required: !0
44234
- }
44262
+ },
44263
+ host: Boolean,
44264
+ hostable: Boolean
44235
44265
  },
44236
- emits: ["remove", "mode"],
44266
+ emits: [
44267
+ "remove",
44268
+ "mode",
44269
+ "host"
44270
+ ],
44237
44271
  setup(e, { emit: t }) {
44238
44272
  let n = e, r = t, { view: i, bridge: a } = xr("discussion"), o = rV(0, {
44239
44273
  mass: 1,
44240
44274
  stiffness: 270.0323764138049,
44241
44275
  damping: 31.550710806760762
44242
- }), s = iV(), c = /* @__PURE__ */ F(null), l = /* @__PURE__ */ F(null), u = /* @__PURE__ */ F(null), d = /* @__PURE__ */ F(!1), f = /* @__PURE__ */ F(!1), p = /* @__PURE__ */ F(!1), m = /* @__PURE__ */ F(null), h = /* @__PURE__ */ F(null), g = Z(() => i.value.launch.profiles[n.name] || {}), _ = Z(() => a.launch_model_hints[g.value.adapter]), v = Z(() => !!(n.automatic && n.mode && _.value)), y = Z(() => {
44243
- let e = a.launch_effort_levels[g.value.adapter], t = {
44276
+ }), s = iV(), c = /* @__PURE__ */ F(null), l = /* @__PURE__ */ F(null), u = /* @__PURE__ */ F(null), d = /* @__PURE__ */ F(!1), f = /* @__PURE__ */ F(!1), p = Z(() => i.value.launch.profiles[n.name] || {}), m = Z(() => a.launch_clients[n.name] || []), h = Z(() => n.mode === "online" ? "网页" : n.automatic ? m.value.find((e) => e.value === p.value.adapter)?.label || "待选择 App / CLI" : "本地 App / CLI"), g = Z(() => m.value.length > 0), _ = Z(() => n.mode === "online" ? `设置 ${n.name} 的参与方式` : `配置 ${n.name} 的本地软件`), v = Z(() => a.launch_model_state(n.name, i.value.launch)), y = Z(() => !!(n.automatic && n.mode === "cli" && v.value.supported)), b = Z(() => n.mode === "online" ? "模型与思考强度在原网页聊天中选择。回答由你或授权主持人代发。" : n.automatic ? p.value.adapter ? "模型与思考强度在 App 原聊天中选择,本页不覆盖 App 设置。" : "先选择软件入口。支持启动参数的 CLI 可在这里设置模型与强度。" : "在已有 App 或 CLI 会话中选择模型与强度,再交给它参与指令。本地 AI 可自行提交回答。"), x = Z(() => {
44277
+ let e = v.value.efforts, t = {
44244
44278
  low: "Low",
44245
44279
  medium: "Medium",
44246
44280
  high: "High",
@@ -44248,58 +44282,84 @@ var $G = /*#__PURE__*/ nH({
44248
44282
  max: "Max",
44249
44283
  ultra: "Ultra"
44250
44284
  };
44251
- return e ? [{
44285
+ return e?.length ? [{
44252
44286
  label: "默认强度",
44253
44287
  value: ""
44254
44288
  }, ...e.map((e) => ({
44255
44289
  label: t[e] || e,
44256
44290
  value: e
44257
44291
  }))] : null;
44258
- }), b = Z(() => y.value?.find((e) => e.value === (g.value.effort || ""))?.label || (y.value ? g.value.effort : "强度随模型"));
44259
- function x() {
44292
+ }), S = Z(() => x.value?.find((e) => e.value === (p.value.effort || ""))?.label || (p.value.adapter === "antigravity_cli" ? "强度随模型" : p.value.effort || "默认强度")), C = Z(() => [
44293
+ {
44294
+ label: "软件",
44295
+ value: h.value
44296
+ },
44297
+ {
44298
+ label: "模型",
44299
+ value: y.value ? p.value.model || "默认模型" : n.mode === "online" ? "在原网页设置" : "在原软件设置"
44300
+ },
44301
+ ...y.value ? [{
44302
+ label: "强度",
44303
+ value: S.value
44304
+ }] : []
44305
+ ]);
44306
+ function w() {
44260
44307
  Qn(() => {
44261
44308
  document.activeElement === c.value && (f.value ? u : l).value?.focus({ preventScroll: !0 });
44262
44309
  });
44263
44310
  }
44264
- function S(e) {
44265
- let t = e >= NK / 2;
44266
- f.value !== t && (f.value = t, x());
44267
- }
44268
- let C = o.on("change", S), w = o.on("animationComplete", x);
44269
44311
  function T(e) {
44270
- c.value?.focus({ preventScroll: !0 }), p.value = !1, d.value = e;
44312
+ let t = e >= NK / 2;
44313
+ f.value !== t && (f.value = t, w());
44271
44314
  }
44272
- function E() {
44273
- p.value ? p.value = !1 : T(!1);
44315
+ let E = o.on("change", T), D = o.on("animationComplete", w);
44316
+ function O(e) {
44317
+ (!e || g.value) && (c.value?.focus({ preventScroll: !0 }), d.value = e);
44274
44318
  }
44275
- function D() {
44276
- a.write_launch(n.name, "model", ""), y.value && a.write_launch(n.name, "effort", "");
44319
+ function ee() {
44320
+ a.write_launch(n.name, "model", ""), a.write_launch(n.name, "effort", "");
44277
44321
  }
44278
- function O(e) {
44279
- d.value && (e.stopPropagation(), e.preventDefault(), E());
44322
+ function te(e) {
44323
+ if (![
44324
+ "ArrowLeft",
44325
+ "ArrowRight",
44326
+ "ArrowUp",
44327
+ "ArrowDown",
44328
+ "Home",
44329
+ "End"
44330
+ ].includes(e.key)) return;
44331
+ e.preventDefault();
44332
+ let t = e.key === "Home" ? "cli" : e.key === "End" || n.mode === "cli" ? "online" : "cli";
44333
+ r("mode", t), e.currentTarget.querySelector(`[data-mode="${t}"]`)?.focus();
44280
44334
  }
44281
- return R([
44282
- d,
44283
- v,
44284
- s
44285
- ], ([e, t, n]) => {
44286
- t || (d.value = !1);
44287
- let r = e && t ? NK : 0;
44288
- n || !t ? (o.jump(r), x()) : o.set(r);
44289
- }), R(p, () => Qn(() => {
44290
- d.value && f.value && (p.value ? h.value?.querySelector("input") : m.value)?.focus({ preventScroll: !0 });
44291
- })), ta(() => {
44292
- C(), w(), o.stop();
44335
+ function k(e) {
44336
+ d.value && (e.stopPropagation(), e.preventDefault(), O(!1));
44337
+ }
44338
+ return R([d, s], ([e, t]) => {
44339
+ let n = e ? NK : 0;
44340
+ t ? (o.jump(n), w()) : o.set(n);
44341
+ }), R(() => [
44342
+ d.value,
44343
+ y.value,
44344
+ i.value.launch.available,
44345
+ p.value.adapter
44346
+ ], ([e, t, r]) => {
44347
+ e && t && r && a.load_launch_models(n.name);
44348
+ }), ta(() => {
44349
+ E(), D(), o.stop();
44293
44350
  }), (t, n) => {
44294
- let i = Gk, s = zk, d = xV, x = MV;
44351
+ let s = Gk, d = zk, h = pV;
44295
44352
  return U(), W("div", {
44296
44353
  ref_key: "card",
44297
44354
  ref: c,
44298
- class: M(["expert-card", { "is-configurable": v.value }]),
44355
+ class: M(["expert-card", {
44356
+ "is-configurable": y.value,
44357
+ "is-host": e.host
44358
+ }]),
44299
44359
  "data-identity": I(a).identities[e.name]?.style,
44300
44360
  "data-face": f.value ? "back" : "front",
44301
44361
  tabindex: "-1",
44302
- onKeydown: fu(O, ["esc"])
44362
+ onKeydown: fu(k, ["esc"])
44303
44363
  }, [q(I(QB).div, {
44304
44364
  class: "expert-card-turn",
44305
44365
  style: fe({ rotateY: I(o) })
@@ -44308,20 +44368,18 @@ var $G = /*#__PURE__*/ nH({
44308
44368
  class: "expert-card-face expert-card-front",
44309
44369
  inert: f.value,
44310
44370
  "aria-hidden": f.value
44311
- }, [
44312
- (U(), G(da(v.value ? "button" : "div"), {
44313
- key: "front-open",
44314
- ref_key: "front_button",
44315
- ref: l,
44316
- type: v.value ? "button" : void 0,
44317
- class: "expert-card-open",
44318
- tabindex: v.value ? void 0 : -1,
44319
- "aria-label": v.value ? `配置 ${e.name} 的模型与思考强度` : void 0,
44320
- title: v.value ? "点击卡片配置模型与思考强度" : void 0,
44321
- onClick: n[0] ||= (e) => v.value && T(!0)
44322
- }, {
44323
- default: L(() => [
44324
- K("span", hK, [q(i, {
44371
+ }, [(U(), G(da(g.value ? "button" : "div"), {
44372
+ ref_key: "front_button",
44373
+ ref: l,
44374
+ type: g.value ? "button" : void 0,
44375
+ class: M(["expert-card-open", { "is-static": !g.value }]),
44376
+ "aria-label": g.value ? _.value : void 0,
44377
+ title: g.value ? "点击翻面设置" : void 0,
44378
+ onClick: n[0] ||= (e) => O(!0)
44379
+ }, {
44380
+ default: L(() => [
44381
+ K("span", dK, [
44382
+ q(s, {
44325
44383
  src: I(a).identities[e.name]?.icon,
44326
44384
  text: I(a).identities[e.name]?.initials,
44327
44385
  alt: e.name,
@@ -44332,39 +44390,55 @@ var $G = /*#__PURE__*/ nH({
44332
44390
  "text",
44333
44391
  "alt",
44334
44392
  "class"
44335
- ]), K("strong", null, P(e.name), 1)]),
44336
- K("span", {
44337
- class: M(["expert-card-status", `is-${e.status.tone}`]),
44338
- title: e.status.text
44339
- }, [n[6] ||= K("i", { "aria-hidden": "true" }, null, -1), K("span", null, P(e.status.text), 1)], 10, gK),
44340
- v.value ? (U(), W("span", _K, [K("span", { title: `模型:${g.value.model || "CLI 默认模型"} · 思考强度:${b.value}` }, [
44341
- K("span", yK, P(g.value.model || "默认模型"), 1),
44342
- K("span", bK, P(b.value), 1),
44343
- q(s, {
44344
- name: "i-lucide-chevron-down",
44345
- class: "expert-card-chevron"
44346
- })
44347
- ], 8, vK)])) : Y("", !0)
44393
+ ]),
44394
+ K("strong", null, P(e.name), 1),
44395
+ e.host ? (U(), W("span", fK, "主持")) : Y("", !0)
44348
44396
  ]),
44349
- _: 1
44350
- }, 8, [
44351
- "type",
44352
- "tabindex",
44353
- "aria-label",
44354
- "title"
44355
- ])),
44356
- K("button", {
44357
- key: "remove",
44397
+ K("dl", pK, [K("div", null, [n[9] ||= K("dt", null, "状态", -1), K("dd", {
44398
+ class: M(["expert-card-status", `is-${e.status.tone}`]),
44399
+ title: e.status.text
44400
+ }, [n[8] ||= K("i", { "aria-hidden": "true" }, null, -1), J(P(e.status.text), 1)], 10, mK)]), (U(!0), W(H, null, B(C.value, (e) => (U(), W("div", { key: e.label }, [K("dt", null, P(e.label), 1), K("dd", { title: e.value }, P(e.value), 9, hK)]))), 128))]),
44401
+ g.value ? (U(), W("span", gK, [q(d, { name: "i-lucide-settings-2" }), n[10] ||= J("设置", -1)])) : Y("", !0)
44402
+ ]),
44403
+ _: 1
44404
+ }, 8, [
44405
+ "type",
44406
+ "class",
44407
+ "aria-label",
44408
+ "title"
44409
+ ])), K("span", _K, [e.hostable ? (U(), W("button", {
44410
+ key: 0,
44411
+ type: "button",
44412
+ class: "expert-card-host",
44413
+ "aria-pressed": e.host,
44414
+ "aria-label": e.host ? `${e.name} 是主持人` : `设 ${e.name} 为主持人`,
44415
+ title: e.host ? "主持人" : "设为主持人",
44416
+ onClick: n[1] ||= (e) => r("host")
44417
+ }, [q(d, { name: "i-lucide-crown" })], 8, vK)) : Y("", !0), K("button", {
44418
+ type: "button",
44419
+ "aria-label": `移出 ${e.name}`,
44420
+ title: "移出",
44421
+ onClick: n[2] ||= (e) => r("remove")
44422
+ }, [q(d, { name: "i-lucide-x" })], 8, yK)])], 8, uK), g.value ? (U(), W("div", {
44423
+ key: 0,
44424
+ class: "expert-card-face expert-card-back",
44425
+ inert: !f.value,
44426
+ "aria-hidden": !f.value
44427
+ }, [
44428
+ K("div", xK, [K("strong", null, [J(P(e.name), 1), n[11] ||= K("span", null, "设置", -1)]), K("button", {
44429
+ ref_key: "back_button",
44430
+ ref: u,
44358
44431
  type: "button",
44359
- class: "expert-card-remove",
44360
- "aria-label": `将 ${e.name} 移出讨论`,
44361
- onClick: n[1] ||= (e) => r("remove")
44362
- }, "移出", 8, xK),
44363
- e.mode && !e.automatic ? (U(), W("div", {
44432
+ class: "expert-card-return",
44433
+ "aria-label": `返回 ${e.name} 角色卡片`,
44434
+ onClick: n[3] ||= (e) => O(!1)
44435
+ }, [q(d, { name: "i-lucide-check" }), n[12] ||= J("完成", -1)], 8, SK)]),
44436
+ e.automatic ? Y("", !0) : (U(), W("div", {
44364
44437
  key: 0,
44365
44438
  class: "expert-card-modes",
44366
44439
  role: "radiogroup",
44367
- "aria-label": `${e.name} 参与方式`
44440
+ "aria-label": `${e.name} 参与能力`,
44441
+ onKeydown: te
44368
44442
  }, [(U(), W(H, null, B([{
44369
44443
  value: "cli",
44370
44444
  label: "本地读写"
@@ -44376,138 +44450,115 @@ var $G = /*#__PURE__*/ nH({
44376
44450
  type: "button",
44377
44451
  role: "radio",
44378
44452
  "aria-checked": e.mode === t.value,
44453
+ tabindex: e.mode === t.value ? 0 : -1,
44454
+ "data-mode": t.value,
44379
44455
  onClick: (e) => r("mode", t.value)
44380
- }, P(t.label), 9, CK)), 64))], 8, SK)) : Y("", !0)
44381
- ], 8, mK), v.value ? (U(), W("div", {
44382
- key: 0,
44383
- class: "expert-card-face expert-card-back",
44384
- inert: !f.value,
44385
- "aria-hidden": !f.value
44386
- }, [K("div", TK, [K("strong", null, [q(s, { name: "i-lucide-zap" }), J(P(e.name), 1)]), K("span", EK, [p.value ? Y("", !0) : (U(), W("button", {
44387
- key: 0,
44388
- type: "button",
44389
- class: "expert-card-reset",
44390
- "aria-label": `恢复 ${e.name} 的默认模型与强度`,
44391
- title: "恢复默认",
44392
- disabled: !g.value.model && !g.value.effort,
44393
- onClick: D
44394
- }, [q(s, { name: "i-lucide-rotate-ccw" })], 8, DK)), K("button", {
44395
- ref_key: "back_button",
44396
- ref: u,
44397
- type: "button",
44398
- class: "expert-card-return",
44399
- "aria-label": p.value ? `返回 ${e.name} 强度设置` : `返回 ${e.name} 角色卡片`,
44400
- onClick: E
44401
- }, "返回", 8, OK)])]), p.value ? (U(), W(H, { key: 0 }, [
44402
- K("div", {
44403
- ref_key: "model_editor",
44404
- ref: h
44405
- }, [q(x, { label: "模型 ID" }, {
44406
- default: L(() => [q(d, {
44407
- "model-value": g.value.model || "",
44408
- placeholder: _.value.example,
44409
- title: _.value.help,
44456
+ }, P(t.label), 9, wK)), 64))], 40, CK)),
44457
+ e.automatic && e.mode === "cli" && m.value.length ? (U(), W("div", TK, [n[13] ||= K("span", null, "软件", -1), q(h, {
44458
+ "model-value": p.value.adapter || "",
44459
+ items: m.value,
44460
+ placeholder: "选择 App / CLI",
44461
+ "aria-label": `${e.name} 软件入口`,
44462
+ size: "xs",
44463
+ class: "w-full",
44464
+ "onUpdate:modelValue": n[4] ||= (t) => I(a).write_launch(e.name, "adapter", t)
44465
+ }, null, 8, [
44466
+ "model-value",
44467
+ "items",
44468
+ "aria-label"
44469
+ ])])) : Y("", !0),
44470
+ y.value ? (U(), W(H, { key: 2 }, [
44471
+ K("div", EK, [n[14] ||= K("span", null, "模型", -1), q(h, {
44472
+ "model-value": p.value.model || "__default__",
44473
+ items: v.value.items,
44474
+ loading: v.value.loading,
44410
44475
  "aria-label": `${e.name} 使用的模型`,
44411
- size: "sm",
44476
+ size: "xs",
44412
44477
  class: "w-full",
44413
- "onUpdate:modelValue": n[2] ||= (t) => I(a).write_launch(e.name, "model", t)
44478
+ "onUpdate:modelValue": n[5] ||= (t) => I(a).write_launch_model(e.name, t)
44414
44479
  }, null, 8, [
44415
44480
  "model-value",
44416
- "placeholder",
44417
- "title",
44481
+ "items",
44482
+ "loading",
44418
44483
  "aria-label"
44419
44484
  ])]),
44420
- _: 1
44421
- })], 512),
44422
- K("button", {
44423
- type: "button",
44424
- class: "expert-card-default",
44425
- onClick: n[3] ||= (t) => I(a).write_launch(e.name, "model", "")
44426
- }, [n[7] ||= J("使用 CLI 默认模型", -1), g.value.model ? Y("", !0) : (U(), G(s, {
44427
- key: 0,
44428
- name: "i-lucide-check"
44429
- }))]),
44430
- K("p", kK, P(y.value ? "填写当前客户端支持的模型 ID" : "思考强度包含在模型 ID 中"), 1)
44431
- ], 64)) : (U(), W(H, { key: 1 }, [K("button", {
44432
- ref_key: "model_button",
44433
- ref: m,
44434
- type: "button",
44435
- class: "expert-card-selector",
44436
- "aria-label": `选择 ${e.name} 的模型,当前${g.value.model || "默认模型"}`,
44437
- onClick: n[4] ||= (e) => p.value = !0
44438
- }, [K("strong", null, P(b.value), 1), K("span", null, [K("span", { title: g.value.model || "CLI 默认模型" }, P(g.value.model || "默认模型"), 9, jK), q(s, { name: "i-lucide-chevron-right" })])], 8, AK), y.value ? (U(), G(fK, {
44439
- key: 0,
44440
- items: y.value,
44441
- "model-value": g.value.effort || "",
44442
- label: `${e.name} 的思考强度`,
44443
- "onUpdate:modelValue": n[5] ||= (t) => I(a).write_launch(e.name, "effort", t)
44444
- }, null, 8, [
44445
- "items",
44446
- "model-value",
44447
- "label"
44448
- ])) : (U(), W("p", MK, "思考强度包含在模型 ID 中"))], 64))], 8, wK)) : Y("", !0)]),
44485
+ K("div", DK, [K("span", null, P(v.value.loading ? "正在读取软件模型列表…" : v.value.error || v.value.source), 1), !v.value.loading && v.value.error && I(i).launch.available ? (U(), W("button", {
44486
+ key: 0,
44487
+ type: "button",
44488
+ onClick: n[6] ||= (t) => I(a).load_launch_models(e.name, !0)
44489
+ }, "重试")) : Y("", !0)]),
44490
+ x.value ? (U(), W("div", OK, [K("div", null, [n[15] ||= K("span", null, "强度", -1), K("strong", null, P(S.value), 1)]), q(cK, {
44491
+ items: x.value,
44492
+ "model-value": p.value.effort || "",
44493
+ label: `${e.name} 的思考强度`,
44494
+ "onUpdate:modelValue": n[7] ||= (t) => I(a).write_launch(e.name, "effort", t)
44495
+ }, null, 8, [
44496
+ "items",
44497
+ "model-value",
44498
+ "label"
44499
+ ])])) : (U(), W("p", kK, P(v.value.effort_note), 1)),
44500
+ K("div", AK, [n[16] ||= K("span", null, "默认值由 CLI 决定", -1), K("button", {
44501
+ type: "button",
44502
+ "aria-label": `恢复 ${e.name} 的默认模型与强度`,
44503
+ disabled: !p.value.model && !p.value.effort,
44504
+ onClick: ee
44505
+ }, "恢复默认", 8, jK)])
44506
+ ], 64)) : (U(), W("p", MK, [q(d, { name: e.mode === "online" ? "i-lucide-globe" : "i-lucide-monitor" }, null, 8, ["name"]), J(P(b.value), 1)]))
44507
+ ], 8, bK)) : Y("", !0)]),
44449
44508
  _: 1
44450
- }, 8, ["style"])], 42, pK);
44509
+ }, 8, ["style"])], 42, lK);
44451
44510
  };
44452
44511
  }
44453
- }, [["__scopeId", "data-v-e5b69b21"]]), FK = { class: "create-discussion" }, IK = {
44512
+ }, [["__scopeId", "data-v-d9776371"]]), FK = { class: "create-discussion" }, IK = {
44454
44513
  key: 0,
44455
44514
  class: "channel-create-location"
44456
- }, LK = { class: "create-section" }, RK = { class: "create-section" }, zK = { class: "create-choice-group" }, BK = {
44457
- class: "create-modes",
44458
- role: "radiogroup",
44459
- "aria-label": "讨论推进方式"
44460
- }, VK = ["aria-checked", "onClick"], HK = { class: "create-mode-copy" }, UK = { class: "create-choice-group" }, WK = { class: "create-expert-heading" }, GK = { class: "create-role-library" }, KK = { class: "create-library-heading" }, qK = { class: "create-library-description" }, JK = [
44461
- "disabled",
44462
- "aria-label",
44515
+ }, LK = { class: "create-section" }, RK = [
44516
+ "aria-checked",
44517
+ "tabindex",
44463
44518
  "onClick"
44464
- ], YK = {
44519
+ ], zK = { class: "create-mode-copy" }, BK = { class: "create-section" }, VK = { class: "create-section-heading" }, HK = [
44520
+ "title",
44521
+ "aria-checked",
44522
+ "tabindex",
44523
+ "onClick"
44524
+ ], UK = { class: "fine-print create-hint" }, WK = {
44465
44525
  key: 0,
44466
44526
  class: "create-experts",
44467
44527
  role: "group",
44468
44528
  "aria-label": "参与的 AI"
44469
- }, XK = {
44529
+ }, GK = {
44470
44530
  key: 1,
44471
44531
  class: "create-experts-empty"
44472
- }, ZK = {
44473
- key: 2,
44474
- class: "fine-print create-hint"
44475
- }, QK = {
44476
- key: 3,
44477
- class: "create-host-setting"
44478
- }, $K = { class: "create-host" }, eq = {
44479
- key: 0,
44480
- class: "fine-print create-host-empty"
44481
- }, tq = {
44482
- key: 1,
44483
- class: "create-host-choices",
44484
- role: "radiogroup",
44485
- "aria-label": "主持人"
44486
- }, nq = ["aria-checked", "onClick"], rq = { class: "fine-print create-hint" }, iq = {
44532
+ }, KK = [
44533
+ "disabled",
44534
+ "title",
44535
+ "aria-label",
44536
+ "onClick"
44537
+ ], qK = { class: "fine-print create-hint create-host-hint" }, JK = ["aria-pressed"], YK = {
44487
44538
  key: 1,
44488
44539
  class: "create-section"
44489
- }, aq = {
44540
+ }, XK = {
44490
44541
  key: 0,
44491
44542
  class: "form-two-columns"
44492
- }, oq = { class: "create-host" }, sq = {
44543
+ }, ZK = { class: "create-host" }, QK = {
44493
44544
  class: "create-chips",
44494
44545
  role: "radiogroup",
44495
44546
  "aria-label": "达到上限后"
44496
- }, cq = ["aria-checked", "onClick"], lq = {
44547
+ }, $K = ["aria-checked", "onClick"], eq = {
44497
44548
  class: "create-limit-rule",
44498
44549
  "aria-live": "polite"
44499
- }, uq = {
44550
+ }, tq = {
44500
44551
  key: 2,
44501
44552
  class: "create-section"
44502
- }, dq = {
44553
+ }, nq = {
44503
44554
  key: 0,
44504
44555
  role: "alert",
44505
44556
  class: "fine-print create-hint"
44506
- }, fq = { class: "form-two-columns" }, pq = { class: "create-launch-list" }, mq = { class: "create-footer" }, hq = {
44557
+ }, rq = { class: "form-two-columns" }, iq = { class: "create-launch-list" }, aq = { class: "create-footer" }, oq = {
44507
44558
  key: 0,
44508
44559
  role: "alert",
44509
44560
  class: "create-error"
44510
- }, gq = { class: "create-footer-row" }, _q = ["title"], vq = "new-expert-modes", yq = /*#__PURE__*/ nH({
44561
+ }, sq = { class: "create-footer-row" }, cq = ["title"], lq = "new-expert-modes", uq = /*#__PURE__*/ nH({
44511
44562
  __name: "CreateDiscussion",
44512
44563
  props: { targetFolder: {
44513
44564
  type: Object,
@@ -44521,133 +44572,160 @@ var $G = /*#__PURE__*/ nH({
44521
44572
  }, {
44522
44573
  label: "可写",
44523
44574
  value: "write"
44524
- }], s = Object.keys(i.identities).filter((e) => e !== "用户"), c = (e) => `new-room-${e}`, l = (e) => r.value.fields[c(e)] ?? "", u = (e, t) => i.write_field(c(e), t), d = Z(() => l("mode") === "automatic"), f = Z(() => l("mode") === "free"), p = Z(() => d.value || f.value), m = [
44525
- {
44526
- value: "automatic",
44527
- icon: "i-lucide-zap",
44528
- title: "全自动讨论",
44529
- text: "本机服务按安排唤醒本地 AI"
44530
- },
44531
- {
44532
- value: "manual",
44533
- icon: "i-lucide-copy",
44534
- title: "手动复制冷启动",
44535
- text: "支持在线 AI,由你或定时任务触发"
44536
- },
44537
- {
44538
- value: "free",
44539
- icon: "i-lucide-message-circle",
44540
- title: "自由协作",
44541
- text: "在网页遥控一个本地 AI 干活"
44542
- }
44543
- ], h = Z(() => f.value ? "free" : d.value ? "automatic" : "manual"), g = Z(() => r.value.experts[vq] || {}), _ = Z(() => Object.keys(g.value).filter((e) => g.value[e]).sort((e, t) => s.indexOf(i.platform_of(e)) - s.indexOf(i.platform_of(t)) || e.localeCompare(t, "en", { numeric: !0 }))), v = (e) => _.value.filter((t) => i.platform_of(t) === e).length, y = /* @__PURE__ */ F(!1), b = /* @__PURE__ */ F(null), x = Z(() => l("host")), S = Z(() => _.value.filter((e) => g.value[e] === "cli")), C = /* @__PURE__ */ F(null), w = Z(() => [.../* @__PURE__ */ new Set([x.value, ...Object.keys(g.value)])].filter((e) => i.launch_clients[e])), T = (e) => {
44575
+ }], s = Object.keys(i.identities).filter((e) => e !== "用户"), c = (e) => `new-room-${e}`, l = (e) => r.value.fields[c(e)] ?? "", u = (e, t) => i.write_field(c(e), t), d = Z(() => l("mode") === "automatic"), f = Z(() => l("kind") === "free"), p = [{
44576
+ value: "brainstorm",
44577
+ icon: "i-lucide-messages-square",
44578
+ title: "讨论",
44579
+ text: "围绕议题轮流发言,形成结论"
44580
+ }, {
44581
+ value: "free",
44582
+ icon: "i-lucide-message-circle",
44583
+ title: "自由协作",
44584
+ text: "按需点名 AI,在各自会话中工作"
44585
+ }], m = [{
44586
+ value: "automatic",
44587
+ icon: "i-lucide-zap",
44588
+ title: "程序唤醒",
44589
+ text: "本机服务交付任务,自动接续会话"
44590
+ }, {
44591
+ value: "manual",
44592
+ icon: "i-lucide-copy",
44593
+ title: "手动接入",
44594
+ text: "首次复制指令,之后人工或定时触发"
44595
+ }], h = Z(() => r.value.experts[lq] || {}), g = Z(() => Object.keys(h.value).filter((e) => h.value[e]).sort((e, t) => s.indexOf(i.platform_of(e)) - s.indexOf(i.platform_of(t)) || e.localeCompare(t, "en", { numeric: !0 }))), _ = (e) => g.value.filter((t) => i.platform_of(t) === e).length, v = /* @__PURE__ */ F(null), y = Z(() => l("host")), b = Z(() => [...f.value ? ["用户"] : [], ...g.value.filter((e) => h.value[e] === "cli")]), x = /* @__PURE__ */ F(null), S = Z(() => [.../* @__PURE__ */ new Set([y.value, ...Object.keys(h.value)])].filter((e) => i.launch_clients[e])), C = (e) => {
44544
44596
  let t = r.value.launch.profiles[e] || {};
44545
44597
  return !!(t.adapter && (t.adapter === "antigravity" ? t.ipc_directory : t.executable));
44546
- }, E = Z(() => f.value ? r.value.launch.available : d.value && r.value.launch.available && r.value.launch.create), D = Z(() => _.value.length > 0 && _.value.every(T) && r.value.launch.available), O = /* @__PURE__ */ F(!1);
44598
+ }, w = Z(() => d.value && r.value.launch.available && (f.value || r.value.launch.create)), T = Z(() => g.value.length > 0 && (!d.value || g.value.every(C) && r.value.launch.available)), E = /* @__PURE__ */ F(!1);
44547
44599
  R(() => [
44548
- E.value,
44549
- w.value.every(T),
44600
+ w.value,
44601
+ S.value.every(C),
44550
44602
  r.value.launch.error
44551
44603
  ], ([e, t, n]) => {
44552
- e && (!t || n) && (O.value = !0);
44604
+ e && (!t || n) && (E.value = !0);
44553
44605
  }, { immediate: !0 });
44554
- function ee() {
44555
- S.value.includes(x.value) || u("host", S.value[0] || "");
44606
+ function D() {
44607
+ b.value.includes(y.value) || u("host", b.value[0] || "");
44608
+ }
44609
+ Qi(D);
44610
+ function O(e) {
44611
+ u("kind", e), D();
44612
+ }
44613
+ function ee(e) {
44614
+ u("mode", e), D();
44556
44615
  }
44557
- Qi(ee);
44558
44616
  function te(e) {
44559
- u("mode", e), ee();
44617
+ let t = [...e.currentTarget.querySelectorAll("[role=\"radio\"]")], n = t.indexOf(e.target), r = {
44618
+ ArrowRight: (n + 1) % t.length,
44619
+ ArrowDown: (n + 1) % t.length,
44620
+ ArrowLeft: (n + t.length - 1) % t.length,
44621
+ ArrowUp: (n + t.length - 1) % t.length,
44622
+ Home: 0,
44623
+ End: t.length - 1
44624
+ };
44625
+ if (!(e.key in r)) return;
44626
+ e.preventDefault();
44627
+ let i = t[r[e.key]];
44628
+ i.focus(), i.click();
44560
44629
  }
44561
44630
  function k(e, t) {
44562
- i.write_expert(vq, e, t), ee();
44631
+ i.write_expert(lq, e, t), D();
44563
44632
  }
44564
44633
  function ne(e) {
44565
- let t = g.value[e];
44566
- if (p.value && !i.launch_clients[e]) return {
44567
- text: "仅在线只读",
44568
- tone: "muted"
44569
- };
44570
- if (p.value && r.value.launch.available) {
44571
- let t = i.launch_clients[e]?.find((t) => t.value === r.value.launch.profiles[e]?.adapter);
44572
- return T(e) ? {
44573
- text: `本机 ${t?.label || "AI"}`,
44574
- tone: "ready"
44575
- } : {
44576
- text: "尚未配置本机软件",
44577
- tone: "warn"
44578
- };
44579
- }
44580
- return t ? {
44581
- text: t === "cli" ? "本地读写,可担任主持" : "只读,回答由你代发",
44634
+ return h.value[e] === "online" ? {
44635
+ text: "在线只读,回答由人代发",
44582
44636
  tone: "muted"
44637
+ } : d.value ? C(e) ? {
44638
+ text: "已配置本机软件",
44639
+ tone: "ready"
44640
+ } : {
44641
+ text: "待补齐软件连接",
44642
+ tone: "warn"
44583
44643
  } : {
44584
- text: i.launch_clients[e] ? "可本地读写" : "在线只读",
44644
+ text: "本地读写,可自行提交",
44585
44645
  tone: "muted"
44586
44646
  };
44587
44647
  }
44588
44648
  function re(e) {
44589
- if (p.value && !i.launch_clients[e]) return;
44590
- let t = p.value || i.launch_clients[e] ? "cli" : "online";
44591
- v(e) ? i.add_instance(vq, e, t) : k(e, t), ee(), y.value = !1;
44649
+ return _(e) ? `已加入 ${_(e)} 位 · 可继续添加` : i.launch_clients[e] ? "本地 App / CLI" : "网页 AI · 手动接入";
44592
44650
  }
44593
44651
  function ie(e) {
44594
- k(e, ""), Qn(() => b.value?.focus({ preventScroll: !0 }));
44652
+ if (d.value && !i.launch_clients[e]) return;
44653
+ let t = i.launch_clients[e] ? "cli" : "online";
44654
+ _(e) ? i.add_instance(lq, e, t) : k(e, t), D();
44595
44655
  }
44596
- function ae() {
44597
- C.value?.settle(), n("submit");
44656
+ function ae(e) {
44657
+ k(e, ""), Qn(() => v.value?.querySelector("button:not(:disabled)")?.focus({ preventScroll: !0 }));
44598
44658
  }
44599
- let A = Z(() => {
44600
- let e = Number(l("limit-max_rounds")), t = Number(l("limit-max_minutes")), n = [e && `${e} 轮`, t && QG(t)].filter(Boolean);
44659
+ function A() {
44660
+ x.value?.settle(), n("submit");
44661
+ }
44662
+ let oe = Z(() => {
44663
+ let e = Number(l("limit-max_rounds")), t = Number(l("limit-max_minutes")), n = [e && `${e} 轮`, t && JG(t)].filter(Boolean);
44601
44664
  if (!n.length) return "不设轮次和时长上限。";
44602
44665
  let r = l("limit-on_limit") === "summarize" ? "由主持人总结" : "暂停";
44603
44666
  return `最多 ${n.join(" 或 ")},${n.length === 2 ? "先到则" : "到限后"}${r}。`;
44604
- }), oe = Z(() => {
44605
- let e = Object.keys(g.value);
44667
+ }), se = Z(() => {
44668
+ let e = Object.keys(h.value);
44606
44669
  if (f.value) return [
44607
- e.length ? `遥控 ${e.join("、")}` : "尚未选择 AI",
44608
44670
  "自由协作",
44609
- "无主持人与轮次"
44671
+ `${e.length} 位 AI`,
44672
+ y.value === "用户" ? "你来主持" : `${y.value} 协助主持`,
44673
+ d.value ? "程序唤醒" : "手动接入"
44610
44674
  ].join(" · ");
44611
- let t = l("limit-max_rounds"), n = l("limit-max_minutes"), r = [t && Number(t) ? `${t} 轮` : "不限轮次", n && Number(n) ? QG(Number(n)) : "不限时长"].join(" / ");
44675
+ let t = l("limit-max_rounds"), n = l("limit-max_minutes"), r = [t && Number(t) ? `${t} 轮` : "不限轮次", n && Number(n) ? JG(Number(n)) : "不限时长"].join(" / ");
44612
44676
  return [
44613
- x.value ? `${i.display_name(x.value)} 主持` : "尚未选择主持人",
44677
+ y.value ? `${i.display_name(y.value)} 主持` : "尚未选择主持人",
44614
44678
  e.length ? `${e.join("、")} 参与` : "尚未选择专家",
44615
- d.value ? "全自动" : "手动推进",
44679
+ d.value ? "程序唤醒" : "手动接入",
44616
44680
  r
44617
44681
  ].join(" · ");
44618
44682
  });
44619
44683
  return (t, c) => {
44620
- let v = zk, ee = xV, se = MV, ce = FV, le = Gk, ue = UV, de = PG, j = pV, fe = uA, pe = MG;
44684
+ let _ = zk, D = xV, ce = MV, le = FV, ue = Gk, de = AG, j = pV, fe = uA, pe = OG;
44621
44685
  return U(), W("div", FK, [K("form", {
44622
44686
  id: "create-discussion-form",
44623
44687
  class: "create-scroll dialog-form",
44624
- onSubmit: uu(ae, ["prevent"])
44688
+ onSubmit: uu(A, ["prevent"])
44625
44689
  }, [
44626
- e.targetFolder?.id ? (U(), W("p", IK, [q(v, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
44690
+ e.targetFolder?.id ? (U(), W("p", IK, [q(_, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
44627
44691
  K("section", LK, [
44628
- c[13] ||= K("h3", null, [K("span", null, "1"), J("讨论什么")], -1),
44629
- q(se, {
44692
+ c[12] ||= K("h3", null, [K("span", null, "1"), J("这次做什么")], -1),
44693
+ K("div", {
44694
+ class: "create-modes",
44695
+ role: "radiogroup",
44696
+ "aria-label": "房间用法",
44697
+ onKeydown: te
44698
+ }, [(U(), W(H, null, B(p, (e) => K("button", {
44699
+ key: e.value,
44700
+ type: "button",
44701
+ role: "radio",
44702
+ class: M(["create-mode", { "is-selected": (l("kind") || "brainstorm") === e.value }]),
44703
+ "aria-checked": (l("kind") || "brainstorm") === e.value,
44704
+ tabindex: (l("kind") || "brainstorm") === e.value ? 0 : -1,
44705
+ onClick: (t) => O(e.value)
44706
+ }, [q(_, { name: e.icon }, null, 8, ["name"]), K("span", zK, [K("strong", null, P(e.title), 1), K("small", null, P(e.text), 1)])], 10, RK)), 64))], 32),
44707
+ q(ce, {
44630
44708
  label: "话题名称",
44631
44709
  required: ""
44632
44710
  }, {
44633
- default: L(() => [q(ee, {
44711
+ default: L(() => [q(D, {
44634
44712
  "model-value": l("title"),
44635
44713
  maxlength: 80,
44636
44714
  required: "",
44637
44715
  autofocus: "",
44638
44716
  size: "lg",
44639
- placeholder: "这次想讨论什么?",
44717
+ placeholder: f.value ? "这次要一起做什么?" : "这次想讨论什么?",
44640
44718
  class: "w-full",
44641
44719
  "onUpdate:modelValue": c[0] ||= (e) => u("title", e)
44642
- }, null, 8, ["model-value"])]),
44720
+ }, null, 8, ["model-value", "placeholder"])]),
44643
44721
  _: 1
44644
44722
  }),
44645
- q(se, {
44723
+ q(ce, {
44646
44724
  label: "用户原文",
44647
44725
  required: "",
44648
- description: "把你的问题、背景和顾虑原样写下来。讨论目标、背景与边界由 AI 主持人据此补全,之后可在「主持 → 编辑议题」修改。"
44726
+ description: f.value ? "写下任务、背景和协作范围,成员按需阅读。" : "写下问题、背景和顾虑,AI 主持人据此补全讨论资料。"
44649
44727
  }, {
44650
- default: L(() => [q(ce, {
44728
+ default: L(() => [q(le, {
44651
44729
  "model-value": l("user_request"),
44652
44730
  maxlength: 4e3,
44653
44731
  rows: 5,
@@ -44659,103 +44737,102 @@ var $G = /*#__PURE__*/ nH({
44659
44737
  "onUpdate:modelValue": c[1] ||= (e) => u("user_request", e)
44660
44738
  }, null, 8, ["model-value"])]),
44661
44739
  _: 1
44662
- })
44740
+ }, 8, ["description"])
44663
44741
  ]),
44664
- K("section", RK, [
44665
- c[19] ||= K("h3", null, [K("span", null, "2"), J("谁来参与")], -1),
44666
- K("div", zK, [c[14] ||= K("h4", null, "推进方式", -1), K("div", BK, [(U(), W(H, null, B(m, (e) => K("button", {
44742
+ K("section", BK, [
44743
+ K("div", VK, [c[13] ||= K("h3", null, [K("span", null, "2"), J("谁来参与")], -1), K("div", {
44744
+ class: "create-segments",
44745
+ role: "radiogroup",
44746
+ "aria-label": "接入方式",
44747
+ onKeydown: te
44748
+ }, [(U(), W(H, null, B(m, (e) => K("button", {
44667
44749
  key: e.value,
44668
44750
  type: "button",
44669
44751
  role: "radio",
44670
- class: M(["create-mode", { "is-selected": h.value === e.value }]),
44671
- "aria-checked": h.value === e.value,
44672
- onClick: (t) => te(e.value)
44673
- }, [q(v, { name: e.icon }, null, 8, ["name"]), K("span", HK, [K("strong", null, P(e.title), 1), K("small", null, P(e.text), 1)])], 10, VK)), 64))])]),
44674
- K("div", UK, [
44675
- K("div", WK, [K("h4", null, [J(P(f.value ? "要遥控的 AI" : "参与的 AI") + " ", 1), K("span", null, P(_.value.length), 1)]), q(ue, {
44676
- open: y.value,
44677
- "onUpdate:open": c[3] ||= (e) => y.value = e,
44678
- content: {
44679
- align: "end",
44680
- sideOffset: 8,
44681
- collisionPadding: 12
44682
- },
44683
- ui: { content: "create-role-library-popover" }
44684
- }, {
44685
- content: L(() => [K("div", GK, [K("div", KK, [c[16] ||= K("strong", null, "选择参与的 AI", -1), K("button", {
44686
- type: "button",
44687
- "aria-label": "关闭 AI 选择",
44688
- onClick: c[2] ||= (e) => y.value = !1
44689
- }, [q(v, { name: "i-lucide-x" })])]), K("ul", null, [(U(!0), W(H, null, B(I(s), (e) => (U(), W("li", { key: e }, [
44690
- q(le, {
44691
- src: I(i).identities[e]?.icon,
44692
- text: I(i).identities[e]?.initials,
44693
- alt: e,
44694
- size: "sm",
44695
- class: M(["channel-avatar", I(i).identities[e]?.style])
44696
- }, null, 8, [
44697
- "src",
44698
- "text",
44699
- "alt",
44700
- "class"
44701
- ]),
44702
- K("span", qK, [K("strong", null, P(e), 1), K("small", null, P(ne(e).text), 1)]),
44703
- K("button", {
44704
- type: "button",
44705
- disabled: p.value && !I(i).launch_clients[e],
44706
- "aria-label": `将 ${e} 加入`,
44707
- onClick: (t) => re(e)
44708
- }, P(p.value && !I(i).launch_clients[e] ? "仅手动接入" : f.value ? "选择" : "加入讨论"), 9, JK)
44709
- ]))), 128))])])]),
44710
- default: L(() => [K("button", {
44711
- ref_key: "library_trigger",
44712
- ref: b,
44713
- type: "button",
44714
- class: "create-library-trigger"
44715
- }, [q(v, { name: "i-lucide-plus" }), c[15] ||= J("邀请 AI", -1)], 512)]),
44716
- _: 1
44717
- }, 8, ["open"])]),
44718
- _.value.length ? (U(), W("div", YK, [(U(!0), W(H, null, B(_.value, (e) => (U(), G(PK, {
44719
- key: e,
44720
- name: e,
44721
- mode: g.value[e],
44722
- automatic: p.value,
44723
- status: ne(e),
44724
- onRemove: (t) => ie(e),
44725
- onMode: (t) => k(e, t)
44752
+ title: e.text,
44753
+ "aria-checked": l("mode") === e.value,
44754
+ tabindex: l("mode") === e.value ? 0 : -1,
44755
+ onClick: (t) => ee(e.value)
44756
+ }, [q(_, { name: e.icon }, null, 8, ["name"]), J(P(e.title), 1)], 8, HK)), 64))], 32)]),
44757
+ K("p", UK, P(d.value ? "本机服务交付任务并自动接续会话;仅支持已适配的本地软件,网页 AI 请用手动接入。" : "首次复制指令,之后人工或定时触发;本地 AI 可自行提交,网页 AI 由你或授权主持人代发。"), 1),
44758
+ g.value.length ? (U(), W("div", WK, [(U(!0), W(H, null, B(g.value, (e) => (U(), G(PK, {
44759
+ key: e,
44760
+ name: e,
44761
+ mode: h.value[e],
44762
+ automatic: d.value,
44763
+ status: ne(e),
44764
+ host: y.value === e,
44765
+ hostable: b.value.includes(e),
44766
+ onHost: (t) => u("host", e),
44767
+ onRemove: (t) => ae(e),
44768
+ onMode: (t) => k(e, t)
44769
+ }, null, 8, [
44770
+ "name",
44771
+ "mode",
44772
+ "automatic",
44773
+ "status",
44774
+ "host",
44775
+ "hostable",
44776
+ "onHost",
44777
+ "onRemove",
44778
+ "onMode"
44779
+ ]))), 128))])) : (U(), W("p", GK, "从下方添加 AI;同一平台可添加多位,各自独立会话。")),
44780
+ K("div", {
44781
+ ref_key: "library",
44782
+ ref: v,
44783
+ class: "create-roster-add",
44784
+ role: "group",
44785
+ "aria-label": "添加 AI"
44786
+ }, [c[14] ||= K("span", { class: "create-label" }, "添加", -1), (U(!0), W(H, null, B(I(s), (e) => (U(), W("button", {
44787
+ key: e,
44788
+ type: "button",
44789
+ disabled: d.value && !I(i).launch_clients[e],
44790
+ title: re(e),
44791
+ "aria-label": `添加 ${e} 实例`,
44792
+ onClick: (t) => ie(e)
44793
+ }, [
44794
+ q(ue, {
44795
+ src: I(i).identities[e]?.icon,
44796
+ text: I(i).identities[e]?.initials,
44797
+ alt: e,
44798
+ size: "3xs",
44799
+ class: M(["channel-avatar", I(i).identities[e]?.style])
44726
44800
  }, null, 8, [
44727
- "name",
44728
- "mode",
44729
- "automatic",
44730
- "status",
44731
- "onRemove",
44732
- "onMode"
44733
- ]))), 128))])) : (U(), W("p", XK, P(f.value ? "点击“邀请 AI”,选择要遥控的本地 AI;之后也可随时邀请或请离" : "点击“邀请 AI”,选择本场讨论的参与者"), 1)),
44734
- f.value ? (U(), W("p", ZK, "无需主持人:只有一位 AI 时每条消息都交给它;多位时由你点名或在正文中 @,被点名的 AI 各自在自己的会话里工作并回到频道回复,随时可以停止。")) : (U(), W("div", QK, [K("div", $K, [c[18] ||= K("span", { class: "create-label" }, "AI 主持人", -1), S.value.length ? (U(), W("div", tq, [(U(!0), W(H, null, B(S.value, (e) => (U(), W("button", {
44735
- key: e,
44736
- type: "button",
44737
- role: "radio",
44738
- "aria-checked": x.value === e,
44739
- onClick: (t) => u("host", e)
44740
- }, [c[17] ||= K("span", { "aria-hidden": "true" }, null, -1), J(P(I(i).display_name(e)), 1)], 8, nq))), 128))])) : (U(), W("span", eq, "先选择一位本地读写的专家"))]), K("p", rq, P(d.value ? "全自动要求主持人与专家都是本机 AI;在线 AI 请改用手动推进。" : "主持人须为本地读写的专家;") + "主持人会先补全议题资料,也可同时作为专家发言。", 1)]))
44741
- ])
44801
+ "src",
44802
+ "text",
44803
+ "alt",
44804
+ "class"
44805
+ ]),
44806
+ J(P(e), 1),
44807
+ q(_, { name: "i-lucide-plus" })
44808
+ ], 8, KK))), 128))], 512),
44809
+ K("div", qK, [f.value ? (U(), W("button", {
44810
+ key: 0,
44811
+ type: "button",
44812
+ class: "create-host-self",
44813
+ "aria-pressed": y.value === "用户",
44814
+ onClick: c[2] ||= (e) => u("host", "用户")
44815
+ }, [q(_, { name: "i-lucide-crown" }), c[15] ||= J("我来主持", -1)], 8, JK)) : (U(), G(_, {
44816
+ key: 1,
44817
+ name: "i-lucide-crown"
44818
+ })), K("span", null, P(f.value ? "默认由你点名和分配任务;也可点卡片上的皇冠,由一位本地 AI 协助主持。" : b.value.length ? "点卡片上的皇冠指定主持人:须为本地读写 AI,负责补全议题、安排发言与收束,也可同时作为专家。" : "先添加一位本地读写的 AI 担任主持人。"), 1)])
44742
44819
  ]),
44743
- f.value ? Y("", !0) : (U(), W("section", iq, [
44744
- c[22] ||= K("h3", null, [K("span", null, "3"), J("讨论多久")], -1),
44745
- q($G, {
44820
+ f.value ? Y("", !0) : (U(), W("section", YK, [
44821
+ c[18] ||= K("h3", null, [K("span", null, "3"), J("讨论多久")], -1),
44822
+ q(YG, {
44746
44823
  ref_key: "limit_picker",
44747
- ref: C,
44824
+ ref: x,
44748
44825
  rounds: Number(l("limit-max_rounds")),
44749
44826
  minutes: Number(l("limit-max_minutes")),
44750
- "onUpdate:rounds": c[4] ||= (e) => u("limit-max_rounds", String(e)),
44751
- "onUpdate:minutes": c[5] ||= (e) => u("limit-max_minutes", String(e))
44827
+ "onUpdate:rounds": c[3] ||= (e) => u("limit-max_rounds", String(e)),
44828
+ "onUpdate:minutes": c[4] ||= (e) => u("limit-max_minutes", String(e))
44752
44829
  }, null, 8, ["rounds", "minutes"]),
44753
- c[23] ||= K("p", { class: "fine-print create-hint" }, "一轮指每位专家各完成一次观点;首次进入讨论或创建安排后计时,暂停期间不计时。", -1),
44754
- d.value ? (U(), W("div", aq, [q(se, {
44830
+ c[19] ||= K("p", { class: "fine-print create-hint" }, "一轮指每位专家各完成一次观点;首次进入讨论或创建安排后计时,暂停期间不计时。", -1),
44831
+ d.value ? (U(), W("div", XK, [q(ce, {
44755
44832
  label: "单次 AI 执行(分钟)",
44756
44833
  description: "留空或 0 表示不限"
44757
44834
  }, {
44758
- default: L(() => [q(ee, {
44835
+ default: L(() => [q(D, {
44759
44836
  "model-value": Number(l("limit-execution_minutes")) ? l("limit-execution_minutes") : "",
44760
44837
  type: "number",
44761
44838
  min: 0,
@@ -44763,13 +44840,13 @@ var $G = /*#__PURE__*/ nH({
44763
44840
  step: 1,
44764
44841
  placeholder: "不限时长",
44765
44842
  class: "w-full",
44766
- "onUpdate:modelValue": c[6] ||= (e) => u("limit-execution_minutes", e)
44843
+ "onUpdate:modelValue": c[5] ||= (e) => u("limit-execution_minutes", e)
44767
44844
  }, null, 8, ["model-value"])]),
44768
44845
  _: 1
44769
44846
  })])) : Y("", !0),
44770
- K("div", oq, [
44771
- c[21] ||= K("span", { class: "create-label" }, "达到任一上限后", -1),
44772
- K("div", sq, [(U(), W(H, null, B([{
44847
+ K("div", ZK, [
44848
+ c[17] ||= K("span", { class: "create-label" }, "达到任一上限后", -1),
44849
+ K("div", QK, [(U(), W(H, null, B([{
44773
44850
  value: "pause",
44774
44851
  label: "暂停保留现场"
44775
44852
  }, {
@@ -44782,8 +44859,8 @@ var $G = /*#__PURE__*/ nH({
44782
44859
  "aria-checked": (l("limit-on_limit") || "pause") === e.value,
44783
44860
  class: M({ "is-selected": (l("limit-on_limit") || "pause") === e.value }),
44784
44861
  onClick: (t) => u("limit-on_limit", e.value)
44785
- }, P(e.label), 11, cq)), 64))]),
44786
- l("limit-on_limit") === "summarize" ? (U(), G(ee, {
44862
+ }, P(e.label), 11, $K)), 64))]),
44863
+ l("limit-on_limit") === "summarize" ? (U(), G(D, {
44787
44864
  key: 0,
44788
44865
  "model-value": l("limit-summary_minutes"),
44789
44866
  type: "number",
@@ -44792,36 +44869,36 @@ var $G = /*#__PURE__*/ nH({
44792
44869
  step: 1,
44793
44870
  "aria-label": "收束预留(分钟)",
44794
44871
  class: "create-summary-minutes",
44795
- "onUpdate:modelValue": c[7] ||= (e) => u("limit-summary_minutes", e)
44872
+ "onUpdate:modelValue": c[6] ||= (e) => u("limit-summary_minutes", e)
44796
44873
  }, {
44797
- trailing: L(() => [...c[20] ||= [K("span", { class: "fine-print" }, "分钟收束", -1)]]),
44874
+ trailing: L(() => [...c[16] ||= [K("span", { class: "fine-print" }, "分钟收束", -1)]]),
44798
44875
  _: 1
44799
44876
  }, 8, ["model-value"])) : Y("", !0)
44800
44877
  ]),
44801
- K("p", lq, [q(v, { name: "i-lucide-flag" }), J(P(A.value), 1)])
44878
+ K("p", eq, [q(_, { name: "i-lucide-flag" }), J(P(oe.value), 1)])
44802
44879
  ])),
44803
- p.value ? (U(), W("section", uq, [
44804
- K("h3", null, [K("span", null, P(f.value ? 3 : 4), 1), J(P(f.value ? "连接本机" : "启动"), 1)]),
44805
- f.value && !I(r).launch.available ? (U(), W("p", dq, "自由协作需要本机服务:请在运行 AI 的电脑打开本机网站,或先运行连接命令。")) : Y("", !0),
44880
+ d.value ? (U(), W("section", tq, [
44881
+ K("h3", null, [K("span", null, P(f.value ? 3 : 4), 1), c[20] ||= J("启动本机软件", -1)]),
44882
+ f.value && !I(r).launch.available ? (U(), W("p", nq, "程序唤醒需要本机服务:请在运行 AI 的电脑打开本机网站,或先运行连接命令。")) : Y("", !0),
44806
44883
  I(r).launch.available ? (U(), W(H, { key: 1 }, [f.value ? Y("", !0) : (U(), G(de, {
44807
44884
  key: 0,
44808
44885
  "model-value": I(r).launch.create,
44809
44886
  label: "创建后立即启动 AI",
44810
44887
  description: "由本机服务创建会话并交付首个主持任务;不勾选则只建房,稍后在「接入」页启动。",
44811
- "onUpdate:modelValue": c[8] ||= (e) => I(i).write_launch("create", "", e)
44888
+ "onUpdate:modelValue": c[7] ||= (e) => I(i).write_launch("create", "", e)
44812
44889
  }, null, 8, ["model-value"])), f.value || I(r).launch.create ? (U(), W(H, { key: 1 }, [
44813
- K("div", fq, [q(se, {
44890
+ K("div", rq, [q(ce, {
44814
44891
  label: "项目目录(可选)",
44815
44892
  help: "要一起查看的项目;留空时 AI 只在讨论私有目录工作"
44816
44893
  }, {
44817
- default: L(() => [q(ee, {
44894
+ default: L(() => [q(D, {
44818
44895
  "model-value": I(r).launch.workspace.cwd || "",
44819
44896
  placeholder: "已有目录的完整路径",
44820
44897
  class: "w-full",
44821
- "onUpdate:modelValue": c[9] ||= (e) => I(i).write_launch("workspace", "cwd", e)
44898
+ "onUpdate:modelValue": c[8] ||= (e) => I(i).write_launch("workspace", "cwd", e)
44822
44899
  }, null, 8, ["model-value"])]),
44823
44900
  _: 1
44824
- }), q(se, {
44901
+ }), q(ce, {
44825
44902
  label: "项目文件",
44826
44903
  help: f.value ? "默认只读;要让 AI 改代码请选可写,仅本房间有效" : "默认只读;可写允许 CLI 专家按议题修改项目文件,仅本次有效"
44827
44904
  }, {
@@ -44829,29 +44906,29 @@ var $G = /*#__PURE__*/ nH({
44829
44906
  "model-value": I(r).launch.workspace.project_access || "read",
44830
44907
  items: o,
44831
44908
  class: "w-full",
44832
- "onUpdate:modelValue": c[10] ||= (e) => I(i).write_launch("workspace", "project_access", e)
44909
+ "onUpdate:modelValue": c[9] ||= (e) => I(i).write_launch("workspace", "project_access", e)
44833
44910
  }, null, 8, ["model-value"])]),
44834
44911
  _: 1
44835
44912
  }, 8, ["help"])]),
44836
- K("ul", pq, [(U(!0), W(H, null, B(w.value, (e) => (U(), W("li", { key: e }, [
44837
- q(v, {
44838
- name: T(e) ? "i-lucide-circle-check" : "i-lucide-circle-alert",
44839
- class: M(T(e) ? "is-ready" : "is-warn")
44913
+ K("ul", iq, [(U(!0), W(H, null, B(S.value, (e) => (U(), W("li", { key: e }, [
44914
+ q(_, {
44915
+ name: C(e) ? "i-lucide-circle-check" : "i-lucide-circle-alert",
44916
+ class: M(C(e) ? "is-ready" : "is-warn")
44840
44917
  }, null, 8, ["name", "class"]),
44841
44918
  K("strong", null, P(e), 1),
44842
44919
  K("span", null, P(I(i).launch_summary(e).client) + " · " + P(I(i).launch_summary(e).session) + " · " + P(I(i).launch_summary(e).access) + " · " + P(I(i).launch_summary(e).cwd), 1)
44843
44920
  ]))), 128))]),
44844
44921
  q(pe, {
44845
- open: O.value,
44846
- "onUpdate:open": c[11] ||= (e) => O.value = e
44922
+ open: E.value,
44923
+ "onUpdate:open": c[10] ||= (e) => E.value = e
44847
44924
  }, {
44848
- content: L(() => [q(hW, {
44849
- participants: w.value,
44925
+ content: L(() => [q(gW, {
44926
+ participants: S.value,
44850
44927
  workspace: !1,
44851
44928
  "model-selection": !1
44852
44929
  }, null, 8, ["participants"])]),
44853
44930
  default: L(() => [q(fe, {
44854
- icon: O.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right",
44931
+ icon: E.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right",
44855
44932
  label: "调整启动配置",
44856
44933
  color: "neutral",
44857
44934
  variant: "link",
@@ -44860,31 +44937,31 @@ var $G = /*#__PURE__*/ nH({
44860
44937
  }, null, 8, ["icon"])]),
44861
44938
  _: 1
44862
44939
  }, 8, ["open"])
44863
- ], 64)) : Y("", !0)], 64)) : f.value ? Y("", !0) : (U(), G(hW, {
44940
+ ], 64)) : Y("", !0)], 64)) : (U(), G(gW, {
44864
44941
  key: 2,
44865
- participants: w.value,
44942
+ participants: S.value,
44866
44943
  workspace: !1,
44867
44944
  "model-selection": !1
44868
44945
  }, null, 8, ["participants"]))
44869
44946
  ])) : Y("", !0)
44870
- ], 32), K("footer", mq, [E.value && I(r).launch.error ? (U(), W("p", hq, P(I(r).launch.error), 1)) : Y("", !0), K("div", gq, [
44947
+ ], 32), K("footer", aq, [w.value && I(r).launch.error ? (U(), W("p", oq, P(I(r).launch.error), 1)) : Y("", !0), K("div", sq, [
44871
44948
  K("span", {
44872
44949
  class: "create-summary",
44873
- title: oe.value
44874
- }, P(oe.value), 9, _q),
44950
+ title: se.value
44951
+ }, P(se.value), 9, cq),
44875
44952
  q(fe, {
44876
44953
  label: "取消",
44877
44954
  color: "neutral",
44878
44955
  variant: "ghost",
44879
- onClick: c[12] ||= (e) => n("cancel")
44956
+ onClick: c[11] ||= (e) => n("cancel")
44880
44957
  }),
44881
44958
  q(fe, {
44882
44959
  type: "submit",
44883
44960
  form: "create-discussion-form",
44884
44961
  class: "channel-primary-button",
44885
- icon: E.value ? "i-lucide-play" : "i-lucide-plus",
44886
- label: f.value ? "创建并连接" : E.value ? "创建并启动讨论" : "创建讨论",
44887
- disabled: f.value ? !D.value : !x.value,
44962
+ icon: w.value ? "i-lucide-play" : "i-lucide-plus",
44963
+ label: f.value ? d.value ? "创建并连接" : "创建协作房间" : w.value ? "创建并启动讨论" : "创建讨论",
44964
+ disabled: f.value ? !T.value : !y.value,
44888
44965
  loading: I(a) === "create"
44889
44966
  }, null, 8, [
44890
44967
  "icon",
@@ -44895,61 +44972,61 @@ var $G = /*#__PURE__*/ nH({
44895
44972
  ])])]);
44896
44973
  };
44897
44974
  }
44898
- }, [["__scopeId", "data-v-44c43618"]]), bq = {
44975
+ }, [["__scopeId", "data-v-44ac648e"]]), dq = {
44899
44976
  key: 0,
44900
44977
  class: "channel-archive-manager"
44901
- }, xq = { class: "channel-archive-toolbar" }, Sq = {
44978
+ }, fq = { class: "channel-archive-toolbar" }, pq = {
44902
44979
  key: 0,
44903
44980
  class: "channel-archive-confirm channel-archive-bulk",
44904
44981
  role: "alert"
44905
- }, Cq = {
44982
+ }, mq = {
44906
44983
  key: 1,
44907
44984
  role: "alert",
44908
44985
  class: "channel-directory-error"
44909
- }, wq = { class: "channel-archive-results" }, Tq = {
44986
+ }, hq = { class: "channel-archive-results" }, gq = {
44910
44987
  key: 0,
44911
44988
  class: "channel-archive-list",
44912
44989
  "aria-label": "已存档频道列表"
44913
- }, Eq = { class: "channel-archive-row" }, Dq = { class: "channel-archive-info" }, Oq = [
44990
+ }, _q = { class: "channel-archive-row" }, vq = { class: "channel-archive-info" }, yq = [
44914
44991
  "title",
44915
44992
  "disabled",
44916
44993
  "onClick"
44917
- ], kq = { key: 0 }, Aq = ["datetime"], jq = { class: "channel-archive-actions" }, Mq = {
44994
+ ], bq = { key: 0 }, xq = ["datetime"], Sq = { class: "channel-archive-actions" }, Cq = {
44918
44995
  key: 0,
44919
44996
  class: "channel-archive-confirm channel-archive-bulk",
44920
44997
  role: "alert"
44921
- }, Nq = {
44998
+ }, wq = {
44922
44999
  key: 1,
44923
45000
  class: "channel-archive-empty"
44924
- }, Pq = { class: "fine-print" }, Fq = { class: "dialog-actions" }, Iq = { class: "dialog-actions" }, Lq = { class: "channel-management-target" }, Rq = {
45001
+ }, Tq = { class: "fine-print" }, Eq = { class: "dialog-actions" }, Dq = { class: "dialog-actions" }, Oq = { class: "channel-management-target" }, kq = {
44925
45002
  key: 0,
44926
45003
  class: "fine-print"
44927
- }, zq = {
45004
+ }, Aq = {
44928
45005
  key: 1,
44929
45006
  class: "fine-print"
44930
- }, Bq = {
45007
+ }, jq = {
44931
45008
  key: 2,
44932
45009
  class: "fine-print"
44933
- }, Vq = { class: "dialog-actions" }, Hq = { key: 4 }, Uq = { class: "theme-choices" }, Wq = ["aria-pressed", "onClick"], Gq = { class: "theme-check" }, Kq = { class: "channel-reading-setting" }, qq = {
45010
+ }, Mq = { class: "dialog-actions" }, Nq = { key: 4 }, Pq = { class: "theme-choices" }, Fq = ["aria-pressed", "onClick"], Iq = { class: "theme-check" }, Lq = { class: "channel-reading-setting" }, Rq = {
44934
45011
  class: "channel-reading-options",
44935
45012
  role: "group",
44936
45013
  "aria-labelledby": "channel-reading-label"
44937
- }, Jq = { class: "form-two-columns" }, Yq = { class: "advanced-content" }, Xq = { class: "form-two-columns" }, Zq = {
45014
+ }, zq = { class: "form-two-columns" }, Bq = { class: "advanced-content" }, Vq = { class: "form-two-columns" }, Hq = {
44938
45015
  key: 0,
44939
45016
  class: "fine-print"
44940
- }, Qq = { class: "advanced-content" }, $q = { class: "expert-fields" }, eJ = { class: "dialog-actions" }, tJ = { class: "dialog-actions" }, nJ = {
45017
+ }, Uq = { class: "advanced-content" }, Wq = { class: "expert-fields" }, Gq = { class: "dialog-actions" }, Kq = { class: "dialog-actions" }, qq = {
44941
45018
  key: 8,
44942
45019
  class: "original-message"
44943
- }, rJ = {
45020
+ }, Jq = {
44944
45021
  key: 0,
44945
45022
  role: "alert"
44946
- }, iJ = { class: "original-meta" }, aJ = { class: "fine-print" }, oJ = {
45023
+ }, Yq = { class: "original-meta" }, Xq = { class: "fine-print" }, Zq = {
44947
45024
  key: 0,
44948
45025
  class: "channel-answer-summary"
44949
- }, sJ = { class: "message-prose" }, cJ = { class: "message-prose" }, lJ = ["innerHTML"], uJ = {
45026
+ }, Qq = { class: "message-prose" }, $q = { class: "message-prose" }, eJ = ["innerHTML"], tJ = {
44950
45027
  key: 2,
44951
45028
  class: "fine-print"
44952
- }, dJ = "topic-expert-modes", fJ = {
45029
+ }, nJ = "topic-expert-modes", rJ = {
44953
45030
  __name: "WorkspaceDialogs",
44954
45031
  props: /*@__PURE__*/ Fa({
44955
45032
  detailId: {
@@ -44993,7 +45070,7 @@ var $G = /*#__PURE__*/ nH({
44993
45070
  }
44994
45071
  }), d = {
44995
45072
  settings: "外观设置",
44996
- create: "新建讨论",
45073
+ create: "新建房间",
44997
45074
  folder: "新建文件夹",
44998
45075
  "rename-folder": "重命名文件夹",
44999
45076
  "delete-folder": "移除文件夹",
@@ -45009,7 +45086,7 @@ var $G = /*#__PURE__*/ nH({
45009
45086
  });
45010
45087
  let f = {
45011
45088
  settings: "选择适合你的讨论界面。",
45012
- create: "说清要讨论什么,选好参与的 AI,就可以开始。",
45089
+ create: "组织一场讨论,或邀请 AI 一起完成任务。",
45013
45090
  edit: "维护目标、参与身份与当前进度。",
45014
45091
  schedule: "只填写本轮问题,专家按需阅读讨论资料。",
45015
45092
  message: "保留作者、来源、提交人和引用关系。"
@@ -45203,7 +45280,7 @@ var $G = /*#__PURE__*/ nH({
45203
45280
  }
45204
45281
  }
45205
45282
  return (t, s) => {
45206
- let b = xV, x = pV, ce = uA, ue = MV, de = zk, ve = FV, Se = MG, Ce = LV, we = AG;
45283
+ let b = xV, x = pV, ce = uA, ue = MV, de = zk, ve = FV, Se = OG, Ce = LV, we = EG;
45207
45284
  return U(), G(we, {
45208
45285
  open: u.value,
45209
45286
  "onUpdate:open": s[24] ||= (e) => u.value = e,
@@ -45220,8 +45297,8 @@ var $G = /*#__PURE__*/ nH({
45220
45297
  },
45221
45298
  "onAfter:leave": be
45222
45299
  }, {
45223
- body: L(() => [i.value === "archives" ? (U(), W("section", bq, [
45224
- K("div", xq, [
45300
+ body: L(() => [i.value === "archives" ? (U(), W("section", dq, [
45301
+ K("div", fq, [
45225
45302
  q(b, {
45226
45303
  modelValue: m.value,
45227
45304
  "onUpdate:modelValue": s[0] ||= (e) => m.value = e,
@@ -45250,7 +45327,7 @@ var $G = /*#__PURE__*/ nH({
45250
45327
  }
45251
45328
  }, null, 8, ["label", "disabled"])
45252
45329
  ]),
45253
- y.value && _.value.length ? (U(), W("div", Sq, [
45330
+ y.value && _.value.length ? (U(), W("div", pq, [
45254
45331
  K("span", null, "将永久删除当前列表中的 " + P(_.value.length) + " 个频道及其全部记录,无法撤销。", 1),
45255
45332
  q(ce, {
45256
45333
  label: "取消",
@@ -45266,20 +45343,20 @@ var $G = /*#__PURE__*/ nH({
45266
45343
  onClick: E
45267
45344
  })
45268
45345
  ])) : Y("", !0),
45269
- I(a).directory_error ? (U(), W("p", Cq, P(I(a).directory_error), 1)) : Y("", !0),
45270
- K("div", wq, [_.value.length ? (U(), W("ul", Tq, [(U(!0), W(H, null, B(_.value, (e) => (U(), W("li", {
45346
+ I(a).directory_error ? (U(), W("p", mq, P(I(a).directory_error), 1)) : Y("", !0),
45347
+ K("div", hq, [_.value.length ? (U(), W("ul", gq, [(U(!0), W(H, null, B(_.value, (e) => (U(), W("li", {
45271
45348
  key: e.id,
45272
45349
  class: "channel-archive-item"
45273
- }, [K("div", Eq, [K("div", Dq, [K("button", {
45350
+ }, [K("div", _q, [K("div", vq, [K("button", {
45274
45351
  class: "channel-archive-title",
45275
45352
  title: e.title,
45276
45353
  disabled: !!I(l),
45277
45354
  onClick: (t) => w(e)
45278
- }, P(e.title), 9, Oq), K("small", null, [e.created_at ? (U(), W("span", kq, [
45355
+ }, P(e.title), 9, yq), K("small", null, [e.created_at ? (U(), W("span", bq, [
45279
45356
  s[25] ||= J("创建于 ", -1),
45280
- K("time", { datetime: e.created_at }, P(S(e.created_at)), 9, Aq),
45357
+ K("time", { datetime: e.created_at }, P(S(e.created_at)), 9, xq),
45281
45358
  s[26] ||= J(" · ", -1)
45282
- ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", jq, [q(ce, {
45359
+ ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", Sq, [q(ce, {
45283
45360
  "aria-label": `彻底删除 ${e.title}`,
45284
45361
  title: "彻底删除",
45285
45362
  icon: "i-lucide-trash-2",
@@ -45311,7 +45388,7 @@ var $G = /*#__PURE__*/ nH({
45311
45388
  "aria-label",
45312
45389
  "disabled",
45313
45390
  "onClick"
45314
- ])])]), v.value === e.id ? (U(), W("div", Mq, [
45391
+ ])])]), v.value === e.id ? (U(), W("div", Cq, [
45315
45392
  K("span", null, "永久删除「" + P(e.title) + "」及其全部记录,无法撤销。", 1),
45316
45393
  q(ce, {
45317
45394
  label: "取消",
@@ -45327,12 +45404,12 @@ var $G = /*#__PURE__*/ nH({
45327
45404
  disabled: C(e),
45328
45405
  onClick: T
45329
45406
  }, null, 8, ["disabled"])
45330
- ])) : Y("", !0)]))), 128))])) : (U(), W("p", Nq, P(p.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45407
+ ])) : Y("", !0)]))), 128))])) : (U(), W("p", wq, P(p.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45331
45408
  ])) : i.value === "delete-folder" ? (U(), W("form", {
45332
45409
  key: 1,
45333
45410
  class: "dialog-form",
45334
45411
  onSubmit: uu(ne, ["prevent"])
45335
- }, [K("p", Pq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Fq, [q(ce, {
45412
+ }, [K("p", Tq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Eq, [q(ce, {
45336
45413
  label: "取消",
45337
45414
  color: "neutral",
45338
45415
  variant: "ghost",
@@ -45363,7 +45440,7 @@ var $G = /*#__PURE__*/ nH({
45363
45440
  "modelValue",
45364
45441
  "aria-label",
45365
45442
  "readonly"
45366
- ]), K("div", Iq, [q(ce, {
45443
+ ]), K("div", Dq, [q(ce, {
45367
45444
  label: "取消",
45368
45445
  color: "neutral",
45369
45446
  variant: "ghost",
@@ -45388,10 +45465,10 @@ var $G = /*#__PURE__*/ nH({
45388
45465
  class: "dialog-form",
45389
45466
  onSubmit: uu(te, ["prevent"])
45390
45467
  }, [
45391
- K("p", Lq, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
45392
- i.value === "archive" ? (U(), W("p", Rq, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
45393
- i.value === "restore" ? (U(), W("p", zq, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
45394
- i.value === "delete" ? (U(), W("p", Bq, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
45468
+ K("p", Oq, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
45469
+ i.value === "archive" ? (U(), W("p", kq, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
45470
+ i.value === "restore" ? (U(), W("p", Aq, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
45471
+ i.value === "delete" ? (U(), W("p", jq, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
45395
45472
  i.value === "rename" ? (U(), G(ue, {
45396
45473
  key: 3,
45397
45474
  label: "频道名称",
@@ -45408,7 +45485,7 @@ var $G = /*#__PURE__*/ nH({
45408
45485
  }, null, 8, ["modelValue"])]),
45409
45486
  _: 1
45410
45487
  })) : Y("", !0),
45411
- K("div", Vq, [q(ce, {
45488
+ K("div", Mq, [q(ce, {
45412
45489
  label: "取消",
45413
45490
  color: "neutral",
45414
45491
  variant: "ghost",
@@ -45425,7 +45502,7 @@ var $G = /*#__PURE__*/ nH({
45425
45502
  "loading",
45426
45503
  "disabled"
45427
45504
  ])])
45428
- ], 32)) : i.value === "settings" ? (U(), W("div", Hq, [K("div", Uq, [(U(), W(H, null, B(he, (e) => K("button", {
45505
+ ], 32)) : i.value === "settings" ? (U(), W("div", Nq, [K("div", Pq, [(U(), W(H, null, B(he, (e) => K("button", {
45429
45506
  key: e.value,
45430
45507
  class: M({ chosen: I(a).theme === e.value }),
45431
45508
  "aria-pressed": I(a).theme === e.value,
@@ -45440,11 +45517,11 @@ var $G = /*#__PURE__*/ nH({
45440
45517
  K("b")
45441
45518
  ], -1)]], 2),
45442
45519
  K("span", null, [K("strong", null, P(e.title), 1), K("small", null, P(e.description), 1)]),
45443
- K("span", Gq, [I(a).theme === e.value ? (U(), G(de, {
45520
+ K("span", Iq, [I(a).theme === e.value ? (U(), G(de, {
45444
45521
  key: 0,
45445
45522
  name: "i-lucide-check"
45446
45523
  })) : Y("", !0)])
45447
- ], 10, Wq)), 64))]), K("section", Kq, [s[28] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", qq, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(ce, {
45524
+ ], 10, Fq)), 64))]), K("section", Lq, [s[28] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", Rq, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(ce, {
45448
45525
  key: e.value,
45449
45526
  label: e.label,
45450
45527
  color: "neutral",
@@ -45457,7 +45534,7 @@ var $G = /*#__PURE__*/ nH({
45457
45534
  "class",
45458
45535
  "aria-pressed",
45459
45536
  "onClick"
45460
- ]))), 128))])])])) : i.value === "create" ? (U(), G(yq, {
45537
+ ]))), 128))])])])) : i.value === "create" ? (U(), G(uq, {
45461
45538
  key: 5,
45462
45539
  "target-folder": e.targetFolder,
45463
45540
  onSubmit: N,
@@ -45492,7 +45569,7 @@ var $G = /*#__PURE__*/ nH({
45492
45569
  }, null, 8, ["model-value"])]),
45493
45570
  _: 1
45494
45571
  }),
45495
- K("div", Jq, [q(ue, { label: "主持人" }, {
45572
+ K("div", zq, [q(ue, { label: "主持人" }, {
45496
45573
  default: L(() => [q(x, {
45497
45574
  "model-value": I(a).fields[ge("host")],
45498
45575
  items: I(ie),
@@ -45526,9 +45603,9 @@ var $G = /*#__PURE__*/ nH({
45526
45603
  }, null, 8, ["model-value"])]),
45527
45604
  _: 1
45528
45605
  })) : Y("", !0),
45529
- K("section", Yq, [
45606
+ K("section", Bq, [
45530
45607
  s[29] ||= K("h3", null, "讨论上限", -1),
45531
- K("div", Xq, [
45608
+ K("div", Vq, [
45532
45609
  (U(!0), W(H, null, B(le.value, (e) => (U(), G(ue, {
45533
45610
  key: e.key,
45534
45611
  label: e.label
@@ -45589,14 +45666,14 @@ var $G = /*#__PURE__*/ nH({
45589
45666
  })) : Y("", !0)
45590
45667
  ]),
45591
45668
  s[30] ||= K("p", { class: "fine-print" }, "轮次、总时长、单次执行留空或 0 表示不限。一轮指每位专家各完成一次观点;首次进入讨论阶段或创建安排后计时,暂停期间不计时。收束预留计入总时长。", -1),
45592
- se.value ? (U(), W("p", Zq, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
45669
+ se.value ? (U(), W("p", Hq, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
45593
45670
  ]),
45594
45671
  q(Se, {
45595
45672
  open: oe.value,
45596
45673
  "onUpdate:open": s[19] ||= (e) => oe.value = e,
45597
45674
  class: "advanced-fields"
45598
45675
  }, {
45599
- content: L(() => [K("div", Qq, [
45676
+ content: L(() => [K("div", Uq, [
45600
45677
  (U(), W(H, null, B([
45601
45678
  {
45602
45679
  key: "user_request",
@@ -45623,11 +45700,11 @@ var $G = /*#__PURE__*/ nH({
45623
45700
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
45624
45701
  _: 2
45625
45702
  }, 1032, ["label"])), 64)),
45626
- K("div", $q, [(U(!0), W(H, null, B(I(re), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(x, {
45627
- "model-value": I(a).experts[dJ]?.[e] || "none",
45703
+ K("div", Wq, [(U(!0), W(H, null, B(I(re), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(x, {
45704
+ "model-value": I(a).experts[nJ]?.[e] || "none",
45628
45705
  items: A,
45629
45706
  "aria-label": `${e} 参与方式`,
45630
- "onUpdate:modelValue": (t) => I(o).write_expert(dJ, e, t === "none" ? "" : t)
45707
+ "onUpdate:modelValue": (t) => I(o).write_expert(nJ, e, t === "none" ? "" : t)
45631
45708
  }, null, 8, [
45632
45709
  "model-value",
45633
45710
  "aria-label",
@@ -45645,7 +45722,7 @@ var $G = /*#__PURE__*/ nH({
45645
45722
  }, null, 8, ["trailing-icon"])]),
45646
45723
  _: 1
45647
45724
  }, 8, ["open"]),
45648
- K("div", eJ, [q(ce, {
45725
+ K("div", Gq, [q(ce, {
45649
45726
  label: "取消",
45650
45727
  color: "neutral",
45651
45728
  variant: "ghost",
@@ -45689,7 +45766,7 @@ var $G = /*#__PURE__*/ nH({
45689
45766
  _: 1
45690
45767
  }),
45691
45768
  s[32] ||= K("p", { class: "fine-print" }, "创建后为待通知状态;由主持人实际联系专家。", -1),
45692
- K("div", tJ, [q(ce, {
45769
+ K("div", Kq, [q(ce, {
45693
45770
  label: "取消",
45694
45771
  variant: "ghost",
45695
45772
  color: "neutral",
@@ -45700,8 +45777,8 @@ var $G = /*#__PURE__*/ nH({
45700
45777
  label: "创建发言安排",
45701
45778
  loading: I(l) === "schedule"
45702
45779
  }, null, 8, ["loading"])])
45703
- ], 32)) : i.value === "message" ? (U(), W("div", nJ, [fe.value ? (U(), W("p", rJ, P(fe.value), 1)) : j.value ? (U(), W(H, { key: 1 }, [
45704
- K("div", iJ, [
45780
+ ], 32)) : i.value === "message" ? (U(), W("div", qq, [fe.value ? (U(), W("p", Jq, P(fe.value), 1)) : j.value ? (U(), W(H, { key: 1 }, [
45781
+ K("div", Yq, [
45705
45782
  K("strong", null, P(I(o).display_name(j.value.author)), 1),
45706
45783
  K("span", null, "#" + P(j.value.id), 1),
45707
45784
  q(Ce, {
@@ -45712,14 +45789,14 @@ var $G = /*#__PURE__*/ nH({
45712
45789
  _: 1
45713
45790
  })
45714
45791
  ]),
45715
- K("p", aJ, P(I(o).provenance(j.value)) + " · " + P(new Date(j.value.created_at).toLocaleString("zh-CN")), 1),
45716
- j.value.summary ? (U(), W("section", oJ, [K("small", null, "回答摘要 · " + P(I(o).display_name(j.value.summary_by)), 1), K("p", sJ, P(j.value.summary), 1)])) : Y("", !0),
45717
- K("p", cJ, P(j.value.text), 1),
45792
+ K("p", Xq, P(I(o).provenance(j.value)) + " · " + P(new Date(j.value.created_at).toLocaleString("zh-CN")), 1),
45793
+ j.value.summary ? (U(), W("section", Zq, [K("small", null, "回答摘要 · " + P(I(o).display_name(j.value.summary_by)), 1), K("p", Qq, P(j.value.summary), 1)])) : Y("", !0),
45794
+ K("p", $q, P(j.value.text), 1),
45718
45795
  j.value.attachments?.length ? (U(), W("div", {
45719
45796
  key: 1,
45720
45797
  onClick: ye,
45721
45798
  innerHTML: I(o).attachment_markup(j.value.attachments)
45722
- }, null, 8, lJ)) : Y("", !0),
45799
+ }, null, 8, eJ)) : Y("", !0),
45723
45800
  j.value.reply_to ? (U(), G(ce, {
45724
45801
  key: 2,
45725
45802
  label: `查看被回复的原文 #${j.value.reply_to}`,
@@ -45729,7 +45806,7 @@ var $G = /*#__PURE__*/ nH({
45729
45806
  class: "channel-surface-button",
45730
45807
  onClick: xe
45731
45808
  }, null, 8, ["label"])) : Y("", !0)
45732
- ], 64)) : (U(), W("p", uJ, "正在读取原文…"))])) : Y("", !0)]),
45809
+ ], 64)) : (U(), W("p", tJ, "正在读取原文…"))])) : Y("", !0)]),
45733
45810
  _: 1
45734
45811
  }, 8, [
45735
45812
  "open",
@@ -45739,7 +45816,7 @@ var $G = /*#__PURE__*/ nH({
45739
45816
  ]);
45740
45817
  };
45741
45818
  }
45742
- }, pJ = {
45819
+ }, iJ = {
45743
45820
  __name: "ContextMenuContent",
45744
45821
  props: {
45745
45822
  items: {
@@ -46034,7 +46111,7 @@ var $G = /*#__PURE__*/ nH({
46034
46111
  "disabled",
46035
46112
  "text-value",
46036
46113
  "class"
46037
- ]), q(pJ, X({
46114
+ ]), q(iJ, X({
46038
46115
  sub: "",
46039
46116
  class: r.ui?.content,
46040
46117
  ui: e.ui,
@@ -46145,7 +46222,7 @@ var $G = /*#__PURE__*/ nH({
46145
46222
  _: 3
46146
46223
  }, 16)], 64));
46147
46224
  }
46148
- }, mJ = {
46225
+ }, aJ = {
46149
46226
  slots: {
46150
46227
  content: "min-w-32 max-h-(--reka-context-menu-content-available-height) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_var(--ease-out)] data-[state=closed]:animate-[scale-out_100ms_var(--ease-out)] origin-(--reka-context-menu-content-transform-origin) flex flex-col",
46151
46228
  viewport: "relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",
@@ -46333,7 +46410,7 @@ var $G = /*#__PURE__*/ nH({
46333
46410
  }
46334
46411
  ],
46335
46412
  defaultVariants: { size: "md" }
46336
- }, hJ = {
46413
+ }, oJ = {
46337
46414
  __name: "ContextMenu",
46338
46415
  props: {
46339
46416
  size: {
@@ -46403,7 +46480,7 @@ var $G = /*#__PURE__*/ nH({
46403
46480
  emits: ["update:open"],
46404
46481
  setup(e, { emit: t }) {
46405
46482
  let n = e, r = t, i = Aa(), a = cE("contextMenu", n), o = Sm(), s = lE(am(a, "modal"), r), c = /* @__PURE__ */ Sn(() => a.content), l = () => Bm(i, ["default"]), u = Z(() => Rk({
46406
- extend: mJ,
46483
+ extend: aJ,
46407
46484
  ...o.ui?.contextMenu || {}
46408
46485
  })({ size: a.size }));
46409
46486
  return (e, t) => (U(), G(I(GS), N(Ss(I(s))), {
@@ -46415,7 +46492,7 @@ var $G = /*#__PURE__*/ nH({
46415
46492
  }, {
46416
46493
  default: L(() => [V(e.$slots, "default")]),
46417
46494
  _: 3
46418
- }, 8, ["disabled", "class"])) : Y("", !0), q(pJ, X({
46495
+ }, 8, ["disabled", "class"])) : Y("", !0), q(iJ, X({
46419
46496
  class: u.value.content({ class: [!i.default && I(a).class, I(a).ui?.content] }),
46420
46497
  ui: u.value,
46421
46498
  "ui-override": I(a).ui
@@ -46445,43 +46522,43 @@ var $G = /*#__PURE__*/ nH({
46445
46522
  _: 3
46446
46523
  }, 16));
46447
46524
  }
46448
- }, gJ = { class: "channel-directory-manager" }, _J = { class: "channel-directory-heading" }, vJ = ["aria-expanded"], yJ = { class: "channel-directory-actions" }, bJ = {
46525
+ }, sJ = { class: "channel-directory-manager" }, cJ = { class: "channel-directory-heading" }, lJ = ["aria-expanded"], uJ = { class: "channel-directory-actions" }, dJ = {
46449
46526
  "aria-label": "讨论频道列表",
46450
46527
  class: "channel-room-list",
46451
46528
  "data-room-directory": ""
46452
- }, xJ = ["data-room-folder", "data-drag-folder"], SJ = {
46529
+ }, fJ = ["data-room-folder", "data-drag-folder"], pJ = {
46453
46530
  key: 0,
46454
46531
  class: "channel-folder-row"
46455
- }, CJ = [
46532
+ }, mJ = [
46456
46533
  "disabled",
46457
46534
  "aria-label",
46458
46535
  "aria-expanded",
46459
46536
  "onKeydown",
46460
46537
  "onClick"
46461
- ], wJ = { class: "channel-folder-name" }, TJ = { class: "channel-folder-actions" }, EJ = {
46538
+ ], hJ = { class: "channel-folder-name" }, gJ = { class: "channel-folder-actions" }, _J = {
46462
46539
  class: "channel-directory-count",
46463
46540
  "aria-hidden": "true"
46464
- }, DJ = ["data-drop-folder"], OJ = {
46541
+ }, vJ = ["data-drop-folder"], yJ = {
46465
46542
  key: 0,
46466
46543
  class: "channel-directory-empty",
46467
46544
  role: "status"
46468
- }, kJ = ["data-drag-room"], AJ = [
46545
+ }, bJ = ["data-drag-room"], xJ = [
46469
46546
  "aria-label",
46470
46547
  "disabled",
46471
46548
  "onKeydown"
46472
- ], jJ = [
46549
+ ], SJ = [
46473
46550
  "title",
46474
46551
  "aria-label",
46475
46552
  "aria-current",
46476
46553
  "onClick"
46477
- ], MJ = { class: "channel-room-actions" }, NJ = {
46554
+ ], CJ = { class: "channel-room-actions" }, wJ = {
46478
46555
  key: 0,
46479
46556
  class: "channel-directory-empty"
46480
- }, PJ = {
46557
+ }, TJ = {
46481
46558
  key: 0,
46482
46559
  role: "alert",
46483
46560
  class: "channel-directory-error"
46484
- }, FJ = {
46561
+ }, EJ = {
46485
46562
  __name: "ChannelDirectory",
46486
46563
  emits: [
46487
46564
  "select",
@@ -46658,8 +46735,8 @@ var $G = /*#__PURE__*/ nH({
46658
46735
  ];
46659
46736
  }
46660
46737
  return (e, t) => {
46661
- let u = uA, h = zk, v = EV, y = VV, b = hJ;
46662
- return U(), W("div", gJ, [
46738
+ let u = uA, h = zk, v = EV, y = VV, b = oJ;
46739
+ return U(), W("div", sJ, [
46663
46740
  q(u, {
46664
46741
  label: "新建对话",
46665
46742
  icon: "i-lucide-square-pen",
@@ -46669,12 +46746,12 @@ var $G = /*#__PURE__*/ nH({
46669
46746
  disabled: I(r).directory_pending.includes("create-room"),
46670
46747
  onClick: t[0] ||= (e) => n("create", null)
46671
46748
  }, null, 8, ["disabled"]),
46672
- K("div", _J, [K("button", {
46749
+ K("div", cJ, [K("button", {
46673
46750
  type: "button",
46674
46751
  class: "channel-section-toggle",
46675
46752
  "aria-expanded": f.value,
46676
46753
  onClick: t[1] ||= (e) => f.value = !f.value
46677
- }, [q(h, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("讨论频道", -1)], 8, vJ), K("div", yJ, [q(v, {
46754
+ }, [q(h, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("讨论频道", -1)], 8, lJ), K("div", uJ, [q(v, {
46678
46755
  items: d.value,
46679
46756
  content: {
46680
46757
  align: "end",
@@ -46703,12 +46780,12 @@ var $G = /*#__PURE__*/ nH({
46703
46780
  }, null, 8, ["disabled"])]),
46704
46781
  _: 1
46705
46782
  })])]),
46706
- vr(K("nav", bJ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
46783
+ vr(K("nav", dJ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
46707
46784
  key: e.order_id,
46708
46785
  class: "channel-folder-section",
46709
46786
  "data-room-folder": e.id,
46710
46787
  "data-drag-folder": e.order_id
46711
- }, [e.id ? (U(), W("div", SJ, [
46788
+ }, [e.id ? (U(), W("div", pJ, [
46712
46789
  K("button", {
46713
46790
  class: "channel-folder-heading",
46714
46791
  "data-drop-folder": "",
@@ -46730,9 +46807,9 @@ var $G = /*#__PURE__*/ nH({
46730
46807
  }, [
46731
46808
  q(h, { name: p.value.has(e.id) ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
46732
46809
  q(h, { name: "i-lucide-folder" }),
46733
- K("span", wJ, P(e.name), 1)
46734
- ], 40, CJ),
46735
- K("div", TJ, [q(v, {
46810
+ K("span", hJ, P(e.name), 1)
46811
+ ], 40, mJ),
46812
+ K("div", gJ, [q(v, {
46736
46813
  items: m(e, s),
46737
46814
  content: {
46738
46815
  align: "start",
@@ -46766,12 +46843,12 @@ var $G = /*#__PURE__*/ nH({
46766
46843
  ])]),
46767
46844
  _: 2
46768
46845
  }, 1032, ["text"])]),
46769
- K("small", EJ, P(e.pending ? "保存中" : e.rooms.length), 1)
46846
+ K("small", _J, P(e.pending ? "保存中" : e.rooms.length), 1)
46770
46847
  ])) : Y("", !0), !e.id || !p.value.has(e.id) ? (U(), W("div", {
46771
46848
  key: 1,
46772
46849
  class: M(e.id ? "channel-folder-rooms" : "channel-root-rooms"),
46773
46850
  "data-drop-folder": e.id ? void 0 : ""
46774
- }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", OJ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(b, {
46851
+ }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", yJ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(b, {
46775
46852
  key: s.id,
46776
46853
  items: _(s, c, s.folder_id || null, e.rooms.length),
46777
46854
  ui: { content: "channel-menu channel-topic-menu" }
@@ -46796,7 +46873,7 @@ var $G = /*#__PURE__*/ nH({
46796
46873
  direction: 1,
46797
46874
  folder_id: s.folder_id || null
46798
46875
  }), ["prevent"]), ["down"])]
46799
- }, [q(h, { name: "i-lucide-grip-vertical" })], 40, AJ),
46876
+ }, [q(h, { name: "i-lucide-grip-vertical" })], 40, xJ),
46800
46877
  K("button", {
46801
46878
  class: "channel-room-select",
46802
46879
  "data-drag-title": "",
@@ -46805,8 +46882,8 @@ var $G = /*#__PURE__*/ nH({
46805
46882
  "aria-current": s.id === I(r).room?.id ? "page" : void 0,
46806
46883
  onPointerdown: t[5] ||= (e) => !I(o) && I(i).start_drag(e),
46807
46884
  onClick: (e) => n("select", s.id)
46808
- }, [K("span", null, P(s.title), 1)], 40, jJ),
46809
- K("div", MJ, [q(y, {
46885
+ }, [K("span", null, P(s.title), 1)], 40, SJ),
46886
+ K("div", CJ, [q(y, {
46810
46887
  text: s.archived ? "恢复频道" : "存档频道",
46811
46888
  ui: { content: "channel-topic-tooltip" }
46812
46889
  }, {
@@ -46847,9 +46924,9 @@ var $G = /*#__PURE__*/ nH({
46847
46924
  }, null, 8, ["aria-label"])]),
46848
46925
  _: 2
46849
46926
  }, 1032, ["items"])])
46850
- ], 10, kJ)]),
46927
+ ], 10, bJ)]),
46851
46928
  _: 2
46852
- }, 1032, ["items"]))), 128))], 10, DJ)) : Y("", !0)], 8, xJ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", NJ, "暂无讨论频道"))], 512), [[Vc, f.value]]),
46929
+ }, 1032, ["items"]))), 128))], 10, vJ)) : Y("", !0)], 8, fJ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", wJ, "暂无讨论频道"))], 512), [[Vc, f.value]]),
46853
46930
  vr(q(u, {
46854
46931
  icon: "i-lucide-archive",
46855
46932
  label: `已存档 · ${c.value}`,
@@ -46860,61 +46937,61 @@ var $G = /*#__PURE__*/ nH({
46860
46937
  "aria-haspopup": "dialog",
46861
46938
  onClick: t[6] ||= (e) => n("archives")
46862
46939
  }, null, 8, ["label"]), [[Vc, f.value]]),
46863
- I(r).directory_error ? (U(), W("p", PJ, P(I(r).directory_error), 1)) : Y("", !0)
46940
+ I(r).directory_error ? (U(), W("p", TJ, P(I(r).directory_error), 1)) : Y("", !0)
46864
46941
  ]);
46865
46942
  };
46866
46943
  }
46867
- }, IJ = {
46944
+ }, DJ = {
46868
46945
  key: 0,
46869
46946
  class: "pb-header"
46870
- }, LJ = { class: "pb-mode" }, RJ = { class: "pb-status-line" }, zJ = { role: "status" }, BJ = {
46947
+ }, OJ = { class: "pb-mode" }, kJ = { class: "pb-status-line" }, AJ = { role: "status" }, jJ = {
46871
46948
  key: 0,
46872
46949
  class: "pb-mode"
46873
- }, VJ = {
46950
+ }, MJ = {
46874
46951
  key: 0,
46875
46952
  class: "pb-status-detail"
46876
- }, HJ = {
46953
+ }, NJ = {
46877
46954
  key: 1,
46878
46955
  class: "pb-status-detail"
46879
- }, UJ = { class: "pb-error-detail" }, WJ = {
46956
+ }, PJ = { class: "pb-error-detail" }, FJ = {
46880
46957
  key: 2,
46881
46958
  class: "pb-meters"
46882
- }, GJ = { class: "pb-meter-label" }, KJ = {
46959
+ }, IJ = { class: "pb-meter-label" }, LJ = {
46883
46960
  key: 0,
46884
46961
  class: "pb-bar"
46885
- }, qJ = {
46962
+ }, RJ = {
46886
46963
  key: 1,
46887
46964
  class: "pb-section",
46888
46965
  "aria-label": "当前焦点"
46889
- }, JJ = {
46966
+ }, zJ = {
46890
46967
  class: "pb-section",
46891
46968
  "aria-label": "参与者"
46892
- }, YJ = {
46969
+ }, BJ = {
46893
46970
  key: 0,
46894
46971
  class: "pb-status-detail pb-held"
46895
- }, XJ = { class: "pb-members" }, ZJ = { class: "pb-member-body" }, QJ = { class: "pb-member-name" }, $J = {
46972
+ }, VJ = { class: "pb-members" }, HJ = { class: "pb-member-body" }, UJ = { class: "pb-member-name" }, WJ = {
46896
46973
  class: "pb-member-model",
46897
46974
  title: "本场启动配置;默认模型与默认强度由对应软件决定"
46898
- }, eY = { key: 0 }, tY = {
46975
+ }, GJ = { key: 0 }, KJ = {
46899
46976
  key: 2,
46900
46977
  class: "pb-actions",
46901
46978
  "aria-label": "操作"
46902
- }, nY = {
46979
+ }, qJ = {
46903
46980
  key: 3,
46904
46981
  class: "pb-section",
46905
46982
  "aria-label": "阶段耗时"
46906
- }, rY = { class: "pb-timing-heading" }, iY = ["aria-label"], aY = { class: "pb-timing-totals" }, oY = ["title"], sY = { class: "pb-timings" }, cY = { class: "pb-timing-who" }, lY = { class: "pb-timing-stages" }, uY = ["title"], dY = {
46983
+ }, JJ = { class: "pb-timing-heading" }, YJ = ["aria-label"], XJ = { class: "pb-timing-totals" }, ZJ = ["title"], QJ = { class: "pb-timings" }, $J = { class: "pb-timing-who" }, eY = { class: "pb-timing-stages" }, tY = ["title"], nY = {
46907
46984
  key: 0,
46908
46985
  class: "pb-note"
46909
- }, fY = { class: "pb-connection" }, pY = { class: "fine-print" }, mY = {
46986
+ }, rY = { class: "pb-connection" }, iY = { class: "fine-print" }, aY = {
46910
46987
  key: 0,
46911
46988
  role: "status",
46912
46989
  class: "fine-print"
46913
- }, hY = {
46990
+ }, oY = {
46914
46991
  key: 2,
46915
46992
  role: "alert",
46916
46993
  class: "fine-print"
46917
- }, gY = { key: 2 }, _Y = { class: "progress-ending" }, vY = ["disabled"], yY = { key: 0 }, bY = ["disabled"], xY = 90, SY = 100, CY = /*#__PURE__*/ nH({
46994
+ }, sY = { key: 2 }, cY = { class: "progress-ending" }, lY = ["disabled"], uY = { key: 0 }, dY = ["disabled"], fY = 90, pY = 100, mY = /*#__PURE__*/ nH({
46918
46995
  __name: "ProgressBoard",
46919
46996
  props: { docked: {
46920
46997
  type: Boolean,
@@ -46951,7 +47028,7 @@ var $G = /*#__PURE__*/ nH({
46951
47028
  "initial",
46952
47029
  "discussing",
46953
47030
  "reviewing"
46954
- ].includes(m.value.phase) && !m.value.archived), w = Z(() => (C.value || m.value.phase === "paused") && !m.value.archived), T = Z(() => C.value || S.value || w.value), E = Z(() => !y.value && m.value.phase !== "preparing" && !m.value.archived && !h.value.closing), D = Z(() => [m.value.host, ...Object.keys(m.value.experts || {}).filter((e) => e !== m.value.host)].filter((e) => e && e !== "用户").map(A)), O = Z(() => D.value.find((e) => e.result)), ee = Z(() => v.value?.question || m.value.focus || m.value.goal || ""), te = Z(() => ee.value.length > xY), k = Z(() => g.value.timings || {
47031
+ ].includes(m.value.phase) && !m.value.archived), w = Z(() => (C.value || m.value.phase === "paused") && !m.value.archived), T = Z(() => C.value || S.value || w.value), E = Z(() => !y.value && m.value.phase !== "preparing" && !m.value.archived && !h.value.closing), D = Z(() => [m.value.host, ...Object.keys(m.value.experts || {}).filter((e) => e !== m.value.host)].filter((e) => e && e !== "用户").map(A)), O = Z(() => D.value.find((e) => e.result)), ee = Z(() => v.value?.question || m.value.focus || m.value.goal || ""), te = Z(() => ee.value.length > fY), k = Z(() => g.value.timings || {
46955
47032
  items: [],
46956
47033
  totals: {},
46957
47034
  count: 0
@@ -46985,7 +47062,7 @@ var $G = /*#__PURE__*/ nH({
46985
47062
  if (e.phase === "paused") {
46986
47063
  let e = O.value;
46987
47064
  if (e) {
46988
- let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > SY ? `${n.slice(0, SY)}…` : n;
47065
+ let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > pY ? `${n.slice(0, pY)}…` : n;
46989
47066
  return {
46990
47067
  tone: "error",
46991
47068
  title: "已暂停",
@@ -47077,26 +47154,26 @@ var $G = /*#__PURE__*/ nH({
47077
47154
  await i(e) && (o.value = !1);
47078
47155
  }
47079
47156
  return (e, l) => {
47080
- let u = Gk, d = zk, O = uA, A = EV, se = pV, j = MV, pe = AG;
47157
+ let u = Gk, d = zk, O = uA, A = EV, se = pV, j = MV, pe = EG;
47081
47158
  return U(), W("div", { class: M(["progress-board", { "is-docked": t.docked }]) }, [
47082
- t.docked ? (U(), W("header", IJ, [l[11] ||= K("strong", null, "讨论进度", -1), K("span", LJ, P(_.value ? "全自动" : "手动"), 1)])) : Y("", !0),
47159
+ t.docked ? (U(), W("header", DJ, [l[11] ||= K("strong", null, "讨论进度", -1), K("span", OJ, P(_.value ? "全自动" : "手动"), 1)])) : Y("", !0),
47083
47160
  K("section", {
47084
47161
  class: M(["pb-status", `is-${ie.value.tone}`]),
47085
47162
  "aria-label": "讨论状态"
47086
47163
  }, [
47087
- K("div", RJ, [
47164
+ K("div", kJ, [
47088
47165
  l[12] ||= K("span", { class: "pb-dot" }, null, -1),
47089
- K("strong", zJ, P(ie.value.title), 1),
47090
- t.docked ? Y("", !0) : (U(), W("span", BJ, P(_.value ? "全自动" : "手动"), 1))
47166
+ K("strong", AJ, P(ie.value.title), 1),
47167
+ t.docked ? Y("", !0) : (U(), W("span", jJ, P(_.value ? "全自动" : "手动"), 1))
47091
47168
  ]),
47092
- ie.value.detail ? (U(), W("p", VJ, P(ie.value.detail), 1)) : Y("", !0),
47093
- ie.value.full_detail ? (U(), W("details", HJ, [l[13] ||= K("summary", null, "查看错误详情", -1), K("pre", UJ, P(ie.value.full_detail), 1)])) : Y("", !0),
47094
- ae.value.length ? (U(), W("div", WJ, [(U(!0), W(H, null, B(ae.value, (e) => (U(), W("div", {
47169
+ ie.value.detail ? (U(), W("p", MJ, P(ie.value.detail), 1)) : Y("", !0),
47170
+ ie.value.full_detail ? (U(), W("details", NJ, [l[13] ||= K("summary", null, "查看错误详情", -1), K("pre", PJ, P(ie.value.full_detail), 1)])) : Y("", !0),
47171
+ ae.value.length ? (U(), W("div", FJ, [(U(!0), W(H, null, B(ae.value, (e) => (U(), W("div", {
47095
47172
  key: e.label,
47096
47173
  class: "pb-meter"
47097
- }, [K("div", GJ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", KJ, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
47174
+ }, [K("div", IJ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", LJ, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
47098
47175
  ], 2),
47099
- ee.value ? (U(), W("section", qJ, [
47176
+ ee.value ? (U(), W("section", RJ, [
47100
47177
  l[14] ||= K("h4", null, "当前焦点", -1),
47101
47178
  K("p", { class: M(["pb-focus", { "is-expanded": s.value }]) }, P(ee.value), 3),
47102
47179
  te.value ? (U(), W("button", {
@@ -47106,10 +47183,10 @@ var $G = /*#__PURE__*/ nH({
47106
47183
  onClick: l[0] ||= (e) => s.value = !s.value
47107
47184
  }, P(s.value ? "收起" : "展开"), 1)) : Y("", !0)
47108
47185
  ])) : Y("", !0),
47109
- K("section", JJ, [
47186
+ K("section", zJ, [
47110
47187
  l[16] ||= K("h4", null, "参与者", -1),
47111
- m.value.held_since && v.value && !y.value ? (U(), W("p", YJ, "用户有新操作," + P(I(r).display_name(v.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
47112
- K("ul", XJ, [(U(!0), W(H, null, B(D.value, (e) => (U(), W("li", {
47188
+ m.value.held_since && v.value && !y.value ? (U(), W("p", BJ, "用户有新操作," + P(I(r).display_name(v.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
47189
+ K("ul", VJ, [(U(!0), W(H, null, B(D.value, (e) => (U(), W("li", {
47113
47190
  key: e.name,
47114
47191
  class: "pb-member"
47115
47192
  }, [
@@ -47125,8 +47202,8 @@ var $G = /*#__PURE__*/ nH({
47125
47202
  "alt",
47126
47203
  "class"
47127
47204
  ]),
47128
- K("div", ZJ, [
47129
- K("div", QJ, [
47205
+ K("div", HJ, [
47206
+ K("div", UJ, [
47130
47207
  J(P(I(r).display_name(e.name)), 1),
47131
47208
  e.is_host ? (U(), G(d, {
47132
47209
  key: 0,
@@ -47135,14 +47212,14 @@ var $G = /*#__PURE__*/ nH({
47135
47212
  })) : Y("", !0),
47136
47213
  K("small", null, P(e.is_host ? `主持 · ${e.mode}` : e.mode), 1)
47137
47214
  ]),
47138
- K("div", $J, P(e.model), 1),
47215
+ K("div", WJ, P(e.model), 1),
47139
47216
  x.value ? Y("", !0) : (U(), W("div", {
47140
47217
  key: 0,
47141
47218
  class: M(["pb-member-status", `is-${e.tone}`])
47142
47219
  }, [
47143
47220
  l[15] ||= K("span", { class: "pb-dot" }, null, -1),
47144
47221
  J(P(e.text), 1),
47145
- e.failures ? (U(), W("small", eY, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47222
+ e.failures ? (U(), W("small", GJ, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47146
47223
  ], 2))
47147
47224
  ]),
47148
47225
  e.session ? (U(), G(A, {
@@ -47163,7 +47240,7 @@ var $G = /*#__PURE__*/ nH({
47163
47240
  }, 1032, ["items"])) : Y("", !0)
47164
47241
  ]))), 128))])
47165
47242
  ]),
47166
- T.value ? (U(), W("section", tY, [
47243
+ T.value ? (U(), W("section", KJ, [
47167
47244
  S.value ? (U(), G(O, {
47168
47245
  key: 0,
47169
47246
  icon: "i-lucide-rotate-ccw",
@@ -47212,8 +47289,8 @@ var $G = /*#__PURE__*/ nH({
47212
47289
  onClick: l[4] ||= (e) => o.value = !0
47213
47290
  })) : Y("", !0)
47214
47291
  ])) : Y("", !0),
47215
- _.value && k.value.count ? (U(), W("section", nY, [
47216
- K("div", rY, [l[17] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(k.value.count) + " 次执行", 1)]),
47292
+ _.value && k.value.count ? (U(), W("section", qJ, [
47293
+ K("div", JJ, [l[17] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(k.value.count) + " 次执行", 1)]),
47217
47294
  K("div", {
47218
47295
  class: "pb-timing-bar",
47219
47296
  role: "img",
@@ -47222,18 +47299,18 @@ var $G = /*#__PURE__*/ nH({
47222
47299
  key: e.key,
47223
47300
  class: M(`is-${e.key}`),
47224
47301
  style: fe({ width: `${e.percent}%` })
47225
- }, null, 6))), 128))], 8, iY),
47226
- K("dl", aY, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", {
47302
+ }, null, 6))), 128))], 8, YJ),
47303
+ K("dl", XJ, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", {
47227
47304
  key: e.key,
47228
47305
  title: e.hint
47229
- }, [K("dt", null, [K("span", { class: M(`pb-timing-dot is-${e.key}`) }, null, 2), J(P(e.label), 1)]), K("dd", null, [J(P(ue(e.seconds)), 1), K("small", null, P(e.percent) + "%", 1)])], 8, oY))), 128))]),
47230
- K("details", sY, [
47306
+ }, [K("dt", null, [K("span", { class: M(`pb-timing-dot is-${e.key}`) }, null, 2), J(P(e.label), 1)]), K("dd", null, [J(P(ue(e.seconds)), 1), K("small", null, P(e.percent) + "%", 1)])], 8, ZJ))), 128))]),
47307
+ K("details", QJ, [
47231
47308
  l[18] ||= K("summary", null, "查看每次执行", -1),
47232
- K("ol", null, [(U(!0), W(H, null, B(k.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", cY, [J("#" + P(e.id) + " " + P(I(r).display_name(e.participant)), 1), K("small", null, P(e.role === "host" ? "主持" : "专家") + " · " + P(p[e.status] || e.status), 1)]), K("span", lY, [(U(), W(H, null, B(f, (t) => K("span", {
47309
+ K("ol", null, [(U(!0), W(H, null, B(k.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", $J, [J("#" + P(e.id) + " " + P(I(r).display_name(e.participant)), 1), K("small", null, P(e.role === "host" ? "主持" : "专家") + " · " + P(p[e.status] || e.status), 1)]), K("span", eY, [(U(), W(H, null, B(f, (t) => K("span", {
47233
47310
  key: t.key,
47234
47311
  title: t.hint
47235
- }, P(t.label) + " " + P(ue(e[t.key])), 9, uY)), 64))])]))), 128))]),
47236
- k.value.count > k.value.items.length ? (U(), W("p", dY, "只列出最近 " + P(k.value.items.length) + " 次,共 " + P(k.value.count) + " 次执行。", 1)) : Y("", !0)
47312
+ }, P(t.label) + " " + P(ue(e[t.key])), 9, tY)), 64))])]))), 128))]),
47313
+ k.value.count > k.value.items.length ? (U(), W("p", nY, "只列出最近 " + P(k.value.items.length) + " 次,共 " + P(k.value.count) + " 次执行。", 1)) : Y("", !0)
47237
47314
  ])
47238
47315
  ])) : Y("", !0),
47239
47316
  q(pe, {
@@ -47246,7 +47323,7 @@ var $G = /*#__PURE__*/ nH({
47246
47323
  body: "dialog-body"
47247
47324
  }
47248
47325
  }, {
47249
- body: L(() => [K("div", fY, [g.value.status === "running" ? (U(), W(H, { key: 0 }, [l[19] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(O, {
47326
+ body: L(() => [K("div", rY, [g.value.status === "running" ? (U(), W(H, { key: 0 }, [l[19] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(O, {
47250
47327
  label: "暂停并读取配置",
47251
47328
  icon: "i-lucide-pause",
47252
47329
  class: "channel-primary-button",
@@ -47269,7 +47346,7 @@ var $G = /*#__PURE__*/ nH({
47269
47346
  }, null, 8, ["model-value", "disabled"])]),
47270
47347
  _: 1
47271
47348
  }),
47272
- K("p", pY, P(re.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47349
+ K("p", iY, P(re.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47273
47350
  q(O, {
47274
47351
  label: "保存接入方式",
47275
47352
  class: "channel-primary-button",
@@ -47277,7 +47354,7 @@ var $G = /*#__PURE__*/ nH({
47277
47354
  disabled: !!I(a),
47278
47355
  onClick: l[6] ||= (e) => I(i)("save_room_configuration")
47279
47356
  }, null, 8, ["loading", "disabled"]),
47280
- I(n).launch.repair?.notice ? (U(), W("p", mY, P(I(n).launch.repair.notice), 1)) : Y("", !0)
47357
+ I(n).launch.repair?.notice ? (U(), W("p", aY, P(I(n).launch.repair.notice), 1)) : Y("", !0)
47281
47358
  ], 64)) : (U(), G(O, {
47282
47359
  key: 1,
47283
47360
  label: "读取本场配置",
@@ -47285,7 +47362,7 @@ var $G = /*#__PURE__*/ nH({
47285
47362
  color: "neutral",
47286
47363
  loading: !!I(a),
47287
47364
  onClick: ce
47288
- }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", hY, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", gY, "本场状态已变化,请关闭后重新核对。"))])]),
47365
+ }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", oY, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", sY, "本场状态已变化,请关闭后重新核对。"))])]),
47289
47366
  _: 1
47290
47367
  }, 8, ["open"]),
47291
47368
  q(pe, {
@@ -47298,7 +47375,7 @@ var $G = /*#__PURE__*/ nH({
47298
47375
  body: "dialog-body"
47299
47376
  }
47300
47377
  }, {
47301
- body: L(() => [K("div", _Y, [K("button", {
47378
+ body: L(() => [K("div", cY, [K("button", {
47302
47379
  type: "button",
47303
47380
  class: "progress-ending-option",
47304
47381
  disabled: !E.value || !!I(a),
@@ -47306,19 +47383,19 @@ var $G = /*#__PURE__*/ nH({
47306
47383
  }, [
47307
47384
  l[20] ||= K("strong", null, "请主持人收尾", -1),
47308
47385
  K("span", null, "立即进入收束,由 " + P(I(r).display_name(m.value.host)) + " 在 " + P(h.value.summary_minutes || 5) + " 分钟收束预留内根据已有材料总结。", 1),
47309
- E.value ? Y("", !0) : (U(), W("small", yY, P(h.value.closing ? "已在收尾中。" : "仅进行中的讨论可以收尾;暂停后可先重启再收尾,或直接结束并保留记录。"), 1))
47310
- ], 8, vY), K("button", {
47386
+ E.value ? Y("", !0) : (U(), W("small", uY, P(h.value.closing ? "已在收尾中。" : "仅进行中的讨论可以收尾;暂停后可先重启再收尾,或直接结束并保留记录。"), 1))
47387
+ ], 8, lY), K("button", {
47311
47388
  type: "button",
47312
47389
  class: "progress-ending-option",
47313
47390
  disabled: b.value || !!I(a),
47314
47391
  onClick: l[9] ||= (e) => de("conclude_discussion")
47315
- }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, bY)])]),
47392
+ }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, dY)])]),
47316
47393
  _: 1
47317
47394
  }, 8, ["open"])
47318
47395
  ], 2);
47319
47396
  };
47320
47397
  }
47321
- }, [["__scopeId", "data-v-9928cf63"]]), wY = { class: "progress-panel-anchor" }, TY = ["aria-expanded", "aria-label"], EY = { class: "progress-chip-text" }, DY = { class: "progress-chip-rounds" }, OY = {
47398
+ }, [["__scopeId", "data-v-9928cf63"]]), hY = { class: "progress-panel-anchor" }, gY = ["aria-expanded", "aria-label"], _Y = { class: "progress-chip-text" }, vY = { class: "progress-chip-rounds" }, yY = {
47322
47399
  __name: "ProgressPanel",
47323
47400
  setup(e) {
47324
47401
  let { view: t, bridge: n } = xr("discussion"), r = /* @__PURE__ */ F(!1), i = Z(() => t.value.room), a = Z(() => i.value.limits || {}), o = Z(() => {
@@ -47348,7 +47425,7 @@ var $G = /*#__PURE__*/ nH({
47348
47425
  }), s = Z(() => a.value.max_rounds ? `${a.value.completed_rounds || 0}/${a.value.max_rounds} 轮` : n.progress_round(i.value)), c = Z(() => `${o.value.title} · ${s.value}`);
47349
47426
  return (e, t) => {
47350
47427
  let n = VV, a = dV;
47351
- return U(), W("div", wY, [q(n, { text: "查看讨论进度" }, {
47428
+ return U(), W("div", hY, [q(n, { text: "查看讨论进度" }, {
47352
47429
  default: L(() => [K("button", {
47353
47430
  type: "button",
47354
47431
  class: M(["progress-chip", `is-${o.value.tone}`]),
@@ -47356,7 +47433,7 @@ var $G = /*#__PURE__*/ nH({
47356
47433
  "aria-expanded": r.value,
47357
47434
  "aria-label": `查看讨论进度:${c.value}`,
47358
47435
  onClick: t[0] ||= (e) => r.value = !0
47359
- }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", EY, [J(P(o.value.title), 1), K("span", DY, " · " + P(s.value), 1)])], 10, TY)]),
47436
+ }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", _Y, [J(P(o.value.title), 1), K("span", vY, " · " + P(s.value), 1)])], 10, gY)]),
47360
47437
  _: 1
47361
47438
  }), q(a, {
47362
47439
  open: r.value,
@@ -47369,90 +47446,98 @@ var $G = /*#__PURE__*/ nH({
47369
47446
  body: "progress-drawer-body"
47370
47447
  }
47371
47448
  }, {
47372
- body: L(() => [q(CY)]),
47449
+ body: L(() => [q(mY)]),
47373
47450
  _: 1
47374
47451
  }, 8, ["open", "description"])]);
47375
47452
  };
47376
47453
  }
47377
- }, kY = {
47454
+ }, bY = {
47378
47455
  id: "channel-sidebar",
47379
47456
  class: "channel-sidebar",
47380
47457
  "aria-label": "频道导航"
47381
- }, AY = { class: "channel-workspace-heading" }, jY = { class: "channel-brand-icon" }, MY = { class: "channel-sidebar-content" }, NY = { class: "channel-directory-heading channel-tools-heading" }, PY = ["aria-expanded"], FY = { class: "channel-sidebar-footer" }, IY = { class: "channel-self" }, LY = { class: "channel-connection" }, RY = [
47458
+ }, xY = { class: "channel-workspace-heading" }, SY = { class: "channel-brand-icon" }, CY = { class: "channel-sidebar-content" }, wY = { class: "channel-directory-heading channel-tools-heading" }, TY = ["aria-expanded"], EY = { class: "channel-sidebar-footer" }, DY = { class: "channel-self" }, OY = { class: "channel-connection" }, kY = [
47382
47459
  "aria-valuemax",
47383
47460
  "aria-valuenow",
47384
47461
  "aria-valuetext"
47385
- ], zY = { class: "channel-main" }, BY = { class: "channel-header" }, VY = { class: "channel-title-icon" }, HY = { class: "channel-title" }, UY = { class: "channel-title-copy" }, WY = ["title"], GY = ["title"], KY = {
47462
+ ], AY = { class: "channel-main" }, jY = { class: "channel-header" }, MY = { class: "channel-title-icon" }, NY = { class: "channel-title" }, PY = { class: "channel-title-copy" }, FY = ["title"], IY = ["title"], LY = {
47386
47463
  key: 0,
47387
47464
  class: "channel-header-context"
47388
- }, qY = { class: "channel-header-actions" }, JY = {
47465
+ }, RY = { class: "channel-header-actions" }, zY = {
47389
47466
  key: 0,
47390
47467
  class: "channel-launch-recovery",
47391
- "aria-label": "未完成的启动请求"
47392
- }, YY = { role: "status" }, XY = { class: "button-row" }, ZY = {
47468
+ "aria-label": "未完成的创建或启动请求"
47469
+ }, BY = { role: "status" }, VY = { class: "button-row" }, HY = {
47393
47470
  key: 1,
47394
47471
  class: "channel-tabbar"
47395
- }, QY = { class: "channel-brief-inner" }, $Y = { class: "channel-brief-heading" }, eX = ["aria-label", "aria-expanded"], tX = {
47472
+ }, UY = { class: "channel-brief-inner" }, WY = { class: "channel-brief-heading" }, GY = ["aria-label", "aria-expanded"], KY = {
47396
47473
  key: 0,
47397
47474
  class: "channel-brief-preview"
47398
- }, nX = {
47475
+ }, qY = {
47399
47476
  id: "channel-brief-content",
47400
47477
  class: "channel-brief-content"
47401
- }, rX = ["innerHTML"], iX = { class: "channel-brief-footer" }, aX = { class: "channel-brief-status" }, oX = { class: "channel-content" }, sX = {
47478
+ }, JY = ["innerHTML"], YY = { class: "channel-brief-footer" }, XY = { class: "channel-brief-status" }, ZY = { class: "channel-content" }, QY = {
47402
47479
  key: 0,
47403
47480
  class: "content-page channel-summary",
47404
47481
  role: "tabpanel",
47405
47482
  "aria-label": "共识"
47406
- }, cX = { class: "page-heading" }, lX = {
47483
+ }, $Y = { class: "page-heading" }, eX = {
47407
47484
  key: 0,
47408
47485
  class: "info-section"
47409
- }, uX = { class: "button-row" }, dX = { class: "form-footer" }, fX = {
47486
+ }, tX = { class: "button-row" }, nX = { class: "form-footer" }, rX = {
47410
47487
  key: 4,
47411
47488
  class: "channel-empty"
47412
- }, pX = ["aria-valuenow", "aria-valuetext"], mX = {
47489
+ }, iX = ["aria-valuenow", "aria-valuetext"], aX = {
47413
47490
  key: 2,
47414
47491
  id: "channel-member-rail",
47415
47492
  class: "channel-member-rail",
47416
47493
  "aria-label": "当前焦点与讨论进度"
47417
- }, hX = { class: "channel-rail-board" }, gX = {
47494
+ }, oX = { class: "channel-rail-board" }, sX = {
47418
47495
  key: 0,
47419
47496
  class: "progress-board is-docked"
47420
- }, _X = { class: "pb-header" }, vX = { class: "pb-mode" }, yX = {
47497
+ }, cX = { class: "pb-header" }, lX = { class: "pb-mode" }, uX = {
47421
47498
  class: "pb-section",
47422
47499
  "aria-label": "成员"
47423
- }, bX = { class: "pb-members" }, xX = { class: "pb-member-body" }, SX = { class: "pb-member-name" }, CX = {
47500
+ }, dX = { class: "pb-members" }, fX = { class: "pb-member-body" }, pX = { class: "pb-member-name" }, mX = {
47424
47501
  key: 0,
47425
47502
  class: "pb-member-model",
47426
47503
  title: "它工作时请不要在原窗口继续操作"
47427
- }, wX = {
47504
+ }, hX = {
47428
47505
  key: 0,
47429
47506
  class: "pb-section",
47430
47507
  "aria-label": "提示"
47431
- }, TX = {
47508
+ }, gX = {
47432
47509
  key: 0,
47433
47510
  role: "alert",
47434
47511
  class: "pb-free-note is-error"
47435
- }, EX = {
47512
+ }, _X = {
47436
47513
  key: 1,
47437
47514
  role: "status",
47438
47515
  class: "pb-free-note"
47439
- }, DX = {
47516
+ }, vX = {
47517
+ key: 2,
47518
+ role: "alert",
47519
+ class: "pb-free-note is-error"
47520
+ }, yX = {
47521
+ key: 3,
47522
+ role: "status",
47523
+ class: "pb-free-note"
47524
+ }, bX = {
47440
47525
  class: "pb-section",
47441
47526
  "aria-label": "邀请"
47442
- }, OX = {
47527
+ }, xX = {
47443
47528
  key: 0,
47444
47529
  class: "pb-free-note"
47445
- }, kX = {
47530
+ }, SX = {
47446
47531
  key: 1,
47447
47532
  class: "pb-section",
47448
47533
  "aria-label": "头脑风暴"
47449
- }, AX = ["onClick"], jX = {
47534
+ }, CX = ["onClick"], wX = {
47450
47535
  class: "pb-actions",
47451
47536
  "aria-label": "操作"
47452
- }, MX = {
47537
+ }, TX = {
47453
47538
  key: 2,
47454
47539
  class: "progress-board is-docked"
47455
- }, NX = { class: "channel-detail-title" }, PX = { class: "info-section" }, FX = "ai-codiscuss-channel-layout", IX = 220, LX = 440, RX = 280, zX = 16, BX = 180, VX = 400, HX = 248, UX = 16, WX = 480, GX = 1200, KX = 6, qX = {
47540
+ }, EX = { class: "channel-detail-title" }, DX = { class: "info-section" }, OX = "ai-codiscuss-channel-layout", kX = 220, AX = 440, jX = 280, MX = 16, NX = 180, PX = 400, FX = 248, IX = 16, LX = 480, RX = 1200, zX = 6, BX = {
47456
47541
  __name: "ChannelWorkspace",
47457
47542
  setup(e) {
47458
47543
  let { view: t, bridge: n, field: r, act: i, pending: a } = xr("discussion"), o = Z(() => t.value.room), s = /* @__PURE__ */ F(""), c = /* @__PURE__ */ F(null), l = /* @__PURE__ */ F(null), u = /* @__PURE__ */ F(null), d = /* @__PURE__ */ F(!1), f = /* @__PURE__ */ F(!0), p = /* @__PURE__ */ F(!1), m = r("state-input"), h = r("brief-input"), g = r("search-input"), _ = r("author-select"), v = {
@@ -47468,13 +47553,13 @@ var $G = /*#__PURE__*/ nH({
47468
47553
  label: "宽",
47469
47554
  width: 1240
47470
47555
  }
47471
- }, y = Oe(), b = /* @__PURE__ */ F(y.reading), x = /* @__PURE__ */ F(y.rail), S = /* @__PURE__ */ F(y.nav), C = /* @__PURE__ */ F(typeof window > "u" ? 734 : window.innerWidth), w = /* @__PURE__ */ F(y.collapsed), T = /* @__PURE__ */ F(!0), E = /* @__PURE__ */ F(y.rail_collapsed), D = Z(() => C.value >= GX), O = Z(() => t.value.tab === "discussion" && !E.value), ee = Z(() => D.value && t.value.tab === "discussion" ? E.value ? "展开频道概览" : "收起频道概览" : "频道资料与参与者"), te = Z(() => {
47556
+ }, y = Oe(), b = /* @__PURE__ */ F(y.reading), x = /* @__PURE__ */ F(y.rail), S = /* @__PURE__ */ F(y.nav), C = /* @__PURE__ */ F(typeof window > "u" ? 734 : window.innerWidth), w = /* @__PURE__ */ F(y.collapsed), T = /* @__PURE__ */ F(!0), E = /* @__PURE__ */ F(y.rail_collapsed), D = Z(() => C.value >= RX), O = Z(() => t.value.tab === "discussion" && !E.value), ee = Z(() => D.value && t.value.tab === "discussion" ? E.value ? "展开频道概览" : "收起频道概览" : "频道资料与参与者"), te = Z(() => {
47472
47557
  let e = document.createElement("template");
47473
47558
  return e.innerHTML = o.value?.rendered_brief || "", e.content.textContent.replace(/\s+/g, " ").trim();
47474
- }), k = /* @__PURE__ */ F(null), ne = /* @__PURE__ */ F(null), re = Z(() => Math.min(VX, Math.max(BX, C.value - WX - KX))), ie = Z(() => Math.min(S.value, re.value)), ae = Z(() => ({
47559
+ }), k = /* @__PURE__ */ F(null), ne = /* @__PURE__ */ F(null), re = Z(() => Math.min(PX, Math.max(NX, C.value - LX - zX))), ie = Z(() => Math.min(S.value, re.value)), ae = Z(() => ({
47475
47560
  "--channel-reading-width": `${v[b.value].width}px`,
47476
47561
  "--channel-rail-width": `${x.value}px`,
47477
- "--channel-main-columns": w.value ? "minmax(0, 1fr)" : `${ie.value}px ${KX}px minmax(0, 1fr)`
47562
+ "--channel-main-columns": w.value ? "minmax(0, 1fr)" : `${ie.value}px ${zX}px minmax(0, 1fr)`
47478
47563
  })), A = Object.entries(v).map(([e, t]) => ({
47479
47564
  value: e,
47480
47565
  label: t.label
@@ -47505,6 +47590,9 @@ var $G = /*#__PURE__*/ nH({
47505
47590
  icon: "i-lucide-plug"
47506
47591
  }
47507
47592
  ], ce = Z(() => o.value?.mode === "free"), le = Z(() => ce.value ? se.slice(0, 1) : se), ue = /* @__PURE__ */ F(""), de = /* @__PURE__ */ F("runner");
47593
+ R(() => o.value?.id, () => {
47594
+ ue.value = "", de.value = (o.value?.free?.members || []).some((e) => e.access === "runner") ? "runner" : "manual";
47595
+ }, { immediate: !0 });
47508
47596
  async function j() {
47509
47597
  await i("prepare_brainstorm"), l.value = null, s.value = "create";
47510
47598
  }
@@ -47525,23 +47613,37 @@ var $G = /*#__PURE__*/ nH({
47525
47613
  action: r,
47526
47614
  ...a
47527
47615
  })
47528
- });
47529
- return [[
47530
- ...me(e) ? [n("停止", "i-lucide-square", "interrupt")] : [],
47531
- ...e.access === "online" && e.pending ? [{
47532
- label: "复制阅读通知",
47616
+ }), r = t.value.access, a = r?.members?.find((t) => t.name === e.name)?.available;
47617
+ return [
47618
+ [{
47619
+ label: "复制参与说明",
47533
47620
  icon: "i-lucide-copy",
47534
- onSelect: () => i("copy_online_notice", e.name)
47535
- }] : [],
47536
- ...e.status === "active" && e.access !== "online" ? [n(e.role === "host" ? "取消主持" : "设为主持人", "i-lucide-crown", "role", { role: e.role === "host" ? "member" : "host" })] : [],
47537
- e.status === "active" ? n("离开", "i-lucide-log-out", "away") : {
47538
- ...n("请回", "i-lucide-log-in", "rejoin"),
47539
- disabled: !t.value.launch.available
47540
- }
47541
- ], [{
47542
- ...n("移除", "i-lucide-trash-2", "remove"),
47543
- color: "error"
47544
- }]];
47621
+ disabled: !r?.can_manage,
47622
+ onSelect: () => i("copy_member_join", e.name)
47623
+ }, ...e.access === "online" ? [] : [{
47624
+ label: "下载私有配置",
47625
+ icon: "i-lucide-download",
47626
+ disabled: !r?.can_manage || !a,
47627
+ onSelect: () => i("download_member_access", e.name)
47628
+ }]],
47629
+ [
47630
+ ...me(e) ? [n("停止", "i-lucide-square", "interrupt")] : [],
47631
+ ...e.access === "online" && e.pending ? [{
47632
+ label: "复制阅读通知",
47633
+ icon: "i-lucide-copy",
47634
+ onSelect: () => i("copy_online_notice", e.name)
47635
+ }] : [],
47636
+ ...e.status === "active" && e.access !== "online" ? [n(e.role === "host" ? "取消主持" : "设为主持人", "i-lucide-crown", "role", { role: e.role === "host" ? "member" : "host" })] : [],
47637
+ e.status === "active" ? n("离开", "i-lucide-log-out", "away") : {
47638
+ ...n("请回", "i-lucide-log-in", "rejoin"),
47639
+ disabled: e.access === "runner" && !t.value.launch.available
47640
+ }
47641
+ ],
47642
+ [{
47643
+ ...n("移除", "i-lucide-trash-2", "remove"),
47644
+ color: "error"
47645
+ }]
47646
+ ];
47545
47647
  }
47546
47648
  function _e(e) {
47547
47649
  if (e.status === "away") return "已离开:不会被唤醒,可请回";
@@ -47591,11 +47693,11 @@ var $G = /*#__PURE__*/ nH({
47591
47693
  }
47592
47694
  function Oe() {
47593
47695
  try {
47594
- let e = JSON.parse(localStorage.getItem(FX)) || {};
47696
+ let e = JSON.parse(localStorage.getItem(OX)) || {};
47595
47697
  return {
47596
47698
  reading: Object.hasOwn(v, e.reading) ? e.reading : "default",
47597
- rail: Number.isFinite(e.rail) ? Math.min(LX, Math.max(IX, e.rail)) : RX,
47598
- nav: Number.isFinite(e.nav) ? Math.min(VX, Math.max(BX, e.nav)) : ke(),
47699
+ rail: Number.isFinite(e.rail) ? Math.min(AX, Math.max(kX, e.rail)) : jX,
47700
+ nav: Number.isFinite(e.nav) ? Math.min(PX, Math.max(NX, e.nav)) : ke(),
47599
47701
  collapsed: e.collapsed === !0,
47600
47702
  brief_collapsed: e.brief_collapsed === !0,
47601
47703
  rail_collapsed: e.rail_collapsed === !0
@@ -47603,7 +47705,7 @@ var $G = /*#__PURE__*/ nH({
47603
47705
  } catch {
47604
47706
  return {
47605
47707
  reading: "default",
47606
- rail: RX,
47708
+ rail: jX,
47607
47709
  nav: ke(),
47608
47710
  collapsed: !1,
47609
47711
  brief_collapsed: !1,
@@ -47612,11 +47714,11 @@ var $G = /*#__PURE__*/ nH({
47612
47714
  }
47613
47715
  }
47614
47716
  function ke() {
47615
- return typeof window > "u" ? HX : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : HX;
47717
+ return typeof window > "u" ? FX : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : FX;
47616
47718
  }
47617
47719
  function Ae() {
47618
47720
  try {
47619
- localStorage.setItem(FX, JSON.stringify({
47721
+ localStorage.setItem(OX, JSON.stringify({
47620
47722
  reading: b.value,
47621
47723
  rail: x.value,
47622
47724
  nav: S.value,
@@ -47646,19 +47748,19 @@ var $G = /*#__PURE__*/ nH({
47646
47748
  }, e.currentTarget.setPointerCapture(e.pointerId));
47647
47749
  }
47648
47750
  function Ie(e) {
47649
- k.value?.pointer === e.pointerId && (x.value = Math.round(Math.min(LX, Math.max(IX, k.value.width + k.value.x - e.clientX))));
47751
+ k.value?.pointer === e.pointerId && (x.value = Math.round(Math.min(AX, Math.max(kX, k.value.width + k.value.x - e.clientX))));
47650
47752
  }
47651
47753
  function Le(e) {
47652
47754
  k.value?.pointer === e.pointerId && (k.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ae());
47653
47755
  }
47654
47756
  function Re(e) {
47655
47757
  let t = {
47656
- ArrowLeft: x.value + zX,
47657
- ArrowRight: x.value - zX,
47658
- Home: IX,
47659
- End: LX
47758
+ ArrowLeft: x.value + MX,
47759
+ ArrowRight: x.value - MX,
47760
+ Home: kX,
47761
+ End: AX
47660
47762
  };
47661
- Object.hasOwn(t, e.key) && (e.preventDefault(), x.value = Math.min(LX, Math.max(IX, t[e.key])), Ae());
47763
+ Object.hasOwn(t, e.key) && (e.preventDefault(), x.value = Math.min(AX, Math.max(kX, t[e.key])), Ae());
47662
47764
  }
47663
47765
  function ze(e) {
47664
47766
  e.button === 0 && (e.preventDefault(), e.currentTarget.focus(), ne.value = {
@@ -47668,19 +47770,19 @@ var $G = /*#__PURE__*/ nH({
47668
47770
  }, e.currentTarget.setPointerCapture(e.pointerId));
47669
47771
  }
47670
47772
  function Be(e) {
47671
- ne.value?.pointer === e.pointerId && (S.value = Math.round(Math.min(re.value, Math.max(BX, ne.value.width + e.clientX - ne.value.x))));
47773
+ ne.value?.pointer === e.pointerId && (S.value = Math.round(Math.min(re.value, Math.max(NX, ne.value.width + e.clientX - ne.value.x))));
47672
47774
  }
47673
47775
  function Ve(e) {
47674
47776
  ne.value?.pointer === e.pointerId && (ne.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ae());
47675
47777
  }
47676
47778
  function He(e) {
47677
47779
  let t = {
47678
- ArrowLeft: ie.value - UX,
47679
- ArrowRight: ie.value + UX,
47680
- Home: BX,
47780
+ ArrowLeft: ie.value - IX,
47781
+ ArrowRight: ie.value + IX,
47782
+ Home: NX,
47681
47783
  End: re.value
47682
47784
  };
47683
- Object.hasOwn(t, e.key) && (e.preventDefault(), S.value = Math.min(re.value, Math.max(BX, t[e.key])), Ae());
47785
+ Object.hasOwn(t, e.key) && (e.preventDefault(), S.value = Math.min(re.value, Math.max(NX, t[e.key])), Ae());
47684
47786
  }
47685
47787
  return (e, r) => {
47686
47788
  let v = zk, y = GV, S = Gk, C = uA, E = VV, se = LV, me = xV, Oe = zV, ke = FV, Ae = MV, Me = EV, Pe = pV, Ue = dV, We = cV;
@@ -47692,14 +47794,14 @@ var $G = /*#__PURE__*/ nH({
47692
47794
  }]),
47693
47795
  style: fe(ae.value)
47694
47796
  }, [
47695
- K("aside", kY, [
47696
- K("header", AY, [
47697
- K("span", jY, [q(v, { name: "i-lucide-messages-square" })]),
47797
+ K("aside", bY, [
47798
+ K("header", xY, [
47799
+ K("span", SY, [q(v, { name: "i-lucide-messages-square" })]),
47698
47800
  r[26] ||= K("strong", null, "共议", -1),
47699
47801
  r[27] ||= K("span", null, "AI CoDiscuss", -1)
47700
47802
  ]),
47701
- K("div", MY, [
47702
- q(FJ, {
47803
+ K("div", CY, [
47804
+ q(EJ, {
47703
47805
  onSelect: Se,
47704
47806
  onManage: be,
47705
47807
  onCreate: we,
@@ -47708,12 +47810,12 @@ var $G = /*#__PURE__*/ nH({
47708
47810
  onDeleteFolder: De,
47709
47811
  onArchives: xe
47710
47812
  }),
47711
- K("div", NY, [K("button", {
47813
+ K("div", wY, [K("button", {
47712
47814
  type: "button",
47713
47815
  class: "channel-section-toggle",
47714
47816
  "aria-expanded": f.value,
47715
47817
  onClick: r[0] ||= (e) => f.value = !f.value
47716
- }, [q(v, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[28] ||= J("频道工具", -1)], 8, PY)]),
47818
+ }, [q(v, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[28] ||= J("频道工具", -1)], 8, TY)]),
47717
47819
  f.value ? (U(), G(y, {
47718
47820
  key: 0,
47719
47821
  items: ve.value,
@@ -47729,7 +47831,7 @@ var $G = /*#__PURE__*/ nH({
47729
47831
  }
47730
47832
  }, null, 8, ["items"])) : Y("", !0)
47731
47833
  ]),
47732
- K("footer", FY, [
47834
+ K("footer", EY, [
47733
47835
  q(S, {
47734
47836
  src: I(n).identities[I(_)]?.icon,
47735
47837
  text: I(n).identities[I(_)]?.initials,
@@ -47742,7 +47844,7 @@ var $G = /*#__PURE__*/ nH({
47742
47844
  "alt",
47743
47845
  "class"
47744
47846
  ]),
47745
- K("div", IY, [K("strong", null, P(I(n).display_name(I(_))), 1), K("div", LY, [K("span", { class: M({ connected: I(t).connected }) }, null, 2), J(P(I(t).connected ? "网站已连接" : "网站未连接"), 1)])]),
47847
+ K("div", DY, [K("strong", null, P(I(n).display_name(I(_))), 1), K("div", OY, [K("span", { class: M({ connected: I(t).connected }) }, null, 2), J(P(I(t).connected ? "网站已连接" : "网站未连接"), 1)])]),
47746
47848
  q(E, { text: "外观设置" }, {
47747
47849
  default: L(() => [q(C, {
47748
47850
  icon: "i-lucide-settings-2",
@@ -47765,7 +47867,7 @@ var $G = /*#__PURE__*/ nH({
47765
47867
  "aria-label": "调整频道栏宽度",
47766
47868
  "aria-orientation": "vertical",
47767
47869
  "aria-controls": "channel-sidebar",
47768
- "aria-valuemin": BX,
47870
+ "aria-valuemin": NX,
47769
47871
  "aria-valuemax": re.value,
47770
47872
  "aria-valuenow": ie.value,
47771
47873
  "aria-valuetext": `${ie.value} 像素`,
@@ -47776,9 +47878,9 @@ var $G = /*#__PURE__*/ nH({
47776
47878
  onPointercancel: Ve,
47777
47879
  onLostpointercapture: Ve,
47778
47880
  onKeydown: He
47779
- }, null, 40, RY)),
47780
- K("main", zY, [
47781
- K("header", BY, [
47881
+ }, null, 40, kY)),
47882
+ K("main", AY, [
47883
+ K("header", jY, [
47782
47884
  q(E, { text: w.value ? "展开频道栏" : "收起频道栏" }, {
47783
47885
  default: L(() => [q(C, {
47784
47886
  icon: "i-lucide-panel-left",
@@ -47803,13 +47905,13 @@ var $G = /*#__PURE__*/ nH({
47803
47905
  "aria-expanded": d.value,
47804
47906
  onClick: r[3] ||= (e) => d.value = !0
47805
47907
  }, null, 8, ["aria-expanded"]),
47806
- K("span", VY, [q(v, { name: "i-lucide-hash" })]),
47807
- K("div", HY, [K("div", UY, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, WY), o.value?.floor && !ce.value ? (U(), W("div", {
47908
+ K("span", MY, [q(v, { name: "i-lucide-hash" })]),
47909
+ K("div", NY, [K("div", PY, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, FY), o.value?.floor && !ce.value ? (U(), W("div", {
47808
47910
  key: 0,
47809
47911
  class: M(["channel-floor-status", { "is-held": o.value.floor.holder }]),
47810
47912
  role: "status",
47811
47913
  title: `发言权:${I(n).floor_status(o.value)}`
47812
- }, [q(v, { name: "i-lucide-mic" }), K("span", null, "发言权:" + P(I(n).floor_status(o.value)), 1)], 10, GY)) : Y("", !0)]), o.value?.archived ? (U(), G(se, {
47914
+ }, [q(v, { name: "i-lucide-mic" }), K("span", null, "发言权:" + P(I(n).floor_status(o.value)), 1)], 10, IY)) : Y("", !0)]), o.value?.archived ? (U(), G(se, {
47813
47915
  key: 0,
47814
47916
  color: "neutral",
47815
47917
  variant: "subtle",
@@ -47818,12 +47920,12 @@ var $G = /*#__PURE__*/ nH({
47818
47920
  default: L(() => [...r[29] ||= [J("已存档", -1)]]),
47819
47921
  _: 1
47820
47922
  })) : Y("", !0)]),
47821
- o.value ? (U(), W("span", KY, [
47923
+ o.value ? (U(), W("span", LY, [
47822
47924
  J(P(le.value.find((e) => e.value === I(t).tab)?.label), 1),
47823
47925
  r[30] ||= K("span", null, "·", -1),
47824
47926
  J(P(o.value.message_count) + " 条记录", 1)
47825
47927
  ])) : Y("", !0),
47826
- K("div", qY, [
47928
+ K("div", RY, [
47827
47929
  I(t).tab === "discussion" ? (U(), W("form", {
47828
47930
  key: 0,
47829
47931
  class: "channel-search",
@@ -47881,7 +47983,7 @@ var $G = /*#__PURE__*/ nH({
47881
47983
  ])]),
47882
47984
  _: 1
47883
47985
  })) : Y("", !0),
47884
- o.value && !(O.value && D.value) ? (U(), G(OY, { key: 2 })) : Y("", !0)
47986
+ o.value && !(O.value && D.value) ? (U(), G(yY, { key: 2 })) : Y("", !0)
47885
47987
  ]),
47886
47988
  q(E, { text: ee.value }, {
47887
47989
  default: L(() => [q(C, {
@@ -47902,19 +48004,20 @@ var $G = /*#__PURE__*/ nH({
47902
48004
  _: 1
47903
48005
  }, 8, ["text"])
47904
48006
  ]),
47905
- I(t).launch.available && I(t).launch.recoveries.length ? (U(), W("section", JY, [
47906
- r[31] ||= K("h2", null, "继续未完成的启动", -1),
48007
+ I(t).launch.recoveries.length ? (U(), W("section", zY, [
48008
+ r[31] ||= K("h2", null, "继续未完成的请求", -1),
47907
48009
  (U(!0), W(H, null, B(I(t).launch.recoveries, (e) => (U(), W("article", { key: e.id }, [
47908
48010
  K("strong", null, P(e.title), 1),
47909
- K("p", YY, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
47910
- K("div", XY, [
48011
+ K("p", BY, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
48012
+ K("div", VY, [
47911
48013
  q(C, {
47912
- label: "继续本次启动",
48014
+ label: e.direct ? "继续创建房间" : "继续本次启动",
47913
48015
  size: "sm",
47914
48016
  loading: I(a) === "resume_launch",
47915
48017
  disabled: !!I(a),
47916
48018
  onClick: (t) => I(i)("resume_launch", e.id)
47917
48019
  }, null, 8, [
48020
+ "label",
47918
48021
  "loading",
47919
48022
  "disabled",
47920
48023
  "onClick"
@@ -47939,7 +48042,7 @@ var $G = /*#__PURE__*/ nH({
47939
48042
  ]))), 128)),
47940
48043
  r[32] ||= K("small", null, "移除待办不会删除房间或停止讨论。", -1)
47941
48044
  ])) : Y("", !0),
47942
- o.value ? (U(), W("div", ZY, [q(Oe, {
48045
+ o.value ? (U(), W("div", HY, [q(Oe, {
47943
48046
  modelValue: oe.value,
47944
48047
  "onUpdate:modelValue": r[8] ||= (e) => oe.value = e,
47945
48048
  items: le.value,
@@ -47954,7 +48057,7 @@ var $G = /*#__PURE__*/ nH({
47954
48057
  key: 2,
47955
48058
  class: M(["channel-host-brief", { "is-collapsed": T.value }]),
47956
48059
  "aria-label": "主持简报"
47957
- }, [K("div", QY, [K("div", $Y, [K("button", {
48060
+ }, [K("div", UY, [K("div", WY, [K("button", {
47958
48061
  type: "button",
47959
48062
  class: "channel-brief-toggle",
47960
48063
  "aria-label": T.value ? "展开主持简报" : "收起主持简报",
@@ -47964,8 +48067,8 @@ var $G = /*#__PURE__*/ nH({
47964
48067
  }, [
47965
48068
  q(v, { name: T.value ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
47966
48069
  K("strong", null, "主持简报" + P(T.value ? ":" : ""), 1),
47967
- T.value ? (U(), W("span", tX, P(te.value), 1)) : Y("", !0)
47968
- ], 8, eX), T.value ? Y("", !0) : (U(), G(C, {
48070
+ T.value ? (U(), W("span", KY, P(te.value), 1)) : Y("", !0)
48071
+ ], 8, GY), T.value ? Y("", !0) : (U(), G(C, {
47969
48072
  key: 0,
47970
48073
  label: "更新简报",
47971
48074
  color: "neutral",
@@ -47973,30 +48076,30 @@ var $G = /*#__PURE__*/ nH({
47973
48076
  size: "xs",
47974
48077
  class: "channel-brief-update",
47975
48078
  onClick: r[9] ||= (e) => I(i)("tab", "context")
47976
- }))]), vr(K("div", nX, [K("div", {
48079
+ }))]), vr(K("div", qY, [K("div", {
47977
48080
  class: "channel-brief-text markdown-body",
47978
48081
  innerHTML: o.value.rendered_brief
47979
- }, null, 8, rX), K("div", iX, [K("span", aX, P(I(n).progress_speaker(o.value)), 1), K("small", null, P(I(n).brief_meta(o.value)), 1)])], 512), [[Vc, !T.value]])])], 2)) : Y("", !0),
48082
+ }, null, 8, JY), K("div", YY, [K("span", XY, P(I(n).progress_speaker(o.value)), 1), K("small", null, P(I(n).brief_meta(o.value)), 1)])], 512), [[Vc, !T.value]])])], 2)) : Y("", !0),
47980
48083
  o.value ? (U(), W("div", {
47981
48084
  key: 3,
47982
48085
  class: M(["channel-body", { "channel-body-discussion": I(t).tab === "discussion" }])
47983
- }, [K("div", oX, [
48086
+ }, [K("div", ZY, [
47984
48087
  vr(q(aW, {
47985
48088
  onDetail: Ce,
47986
48089
  onEdit: r[10] ||= (e) => s.value = "edit"
47987
48090
  }, null, 512), [[Vc, I(t).tab === "discussion"]]),
47988
- I(t).tab === "context" ? (U(), W("section", sX, [
47989
- K("div", cX, [r[33] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(se, {
48091
+ I(t).tab === "context" ? (U(), W("section", QY, [
48092
+ K("div", $Y, [r[33] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(se, {
47990
48093
  color: "neutral",
47991
48094
  variant: "outline"
47992
48095
  }, {
47993
48096
  default: L(() => [J("截止 #" + P(o.value.state_until), 1)]),
47994
48097
  _: 1
47995
48098
  })]),
47996
- Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", lX, [
48099
+ Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", eX, [
47997
48100
  r[34] ||= K("h3", null, "最新运行回执", -1),
47998
48101
  r[35] ||= K("p", { class: "fine-print" }, "以下回执独立于摘要更新;晚于摘要的回执可能尚未整理,实际运行结果请查看原文。", -1),
47999
- K("div", uX, [(U(!0), W(H, null, B(o.value.latest_receipts, (e) => (U(), G(C, {
48102
+ K("div", tX, [(U(!0), W(H, null, B(o.value.latest_receipts, (e) => (U(), G(C, {
48000
48103
  key: e.id,
48001
48104
  label: `${I(n).display_name(e.author)} #${e.id} · ${new Date(e.created_at).toLocaleString("zh-CN")}${e.id > o.value.state_until ? " · 晚于摘要" : ""}`,
48002
48105
  variant: "link",
@@ -48039,7 +48142,7 @@ var $G = /*#__PURE__*/ nH({
48039
48142
  }, null, 8, ["modelValue"])]),
48040
48143
  _: 1
48041
48144
  }),
48042
- K("div", dX, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(C, {
48145
+ K("div", nX, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(C, {
48043
48146
  type: "submit",
48044
48147
  color: "neutral",
48045
48148
  icon: "i-lucide-check",
@@ -48049,12 +48152,12 @@ var $G = /*#__PURE__*/ nH({
48049
48152
  }, null, 8, ["loading"])])
48050
48153
  ], 32)
48051
48154
  ])) : Y("", !0),
48052
- I(t).tab === "topic" || I(t).tab === "access" ? (U(), G(OG, {
48155
+ I(t).tab === "topic" || I(t).tab === "access" ? (U(), G(wG, {
48053
48156
  key: I(t).tab,
48054
48157
  onOpen: r[14] ||= (e) => s.value = e,
48055
48158
  onDetail: Ce
48056
48159
  })) : Y("", !0)
48057
- ])], 2)) : (U(), W("div", fX, [
48160
+ ])], 2)) : (U(), W("div", rX, [
48058
48161
  q(v, { name: "i-lucide-hash" }),
48059
48162
  r[36] ||= K("h2", null, "新建一个讨论频道", -1),
48060
48163
  r[37] ||= K("p", null, "每个频道围绕一个议题,保留所有人的观点。", -1),
@@ -48074,8 +48177,8 @@ var $G = /*#__PURE__*/ nH({
48074
48177
  "aria-label": "调整右侧栏宽度",
48075
48178
  "aria-orientation": "vertical",
48076
48179
  "aria-controls": "channel-member-rail",
48077
- "aria-valuemin": IX,
48078
- "aria-valuemax": LX,
48180
+ "aria-valuemin": kX,
48181
+ "aria-valuemax": AX,
48079
48182
  "aria-valuenow": x.value,
48080
48183
  "aria-valuetext": `${x.value} 像素`,
48081
48184
  title: "拖动调整右侧栏宽度,也可使用左右方向键",
@@ -48085,10 +48188,10 @@ var $G = /*#__PURE__*/ nH({
48085
48188
  onPointercancel: Le,
48086
48189
  onLostpointercapture: Le,
48087
48190
  onKeydown: Re
48088
- }, null, 40, pX)) : Y("", !0),
48089
- O.value ? (U(), W("aside", mX, [K("section", hX, [o.value && ce.value ? (U(), W("div", gX, [
48090
- K("header", _X, [r[38] ||= K("strong", null, "自由协作", -1), K("span", vX, P(he.value ? `主持人 ${I(n).display_name(he.value.name)}` : "无主持"), 1)]),
48091
- K("section", yX, [r[40] ||= K("h4", null, "成员", -1), K("ul", bX, [(U(!0), W(H, null, B(o.value.free?.members || [], (e) => (U(), W("li", {
48191
+ }, null, 40, iX)) : Y("", !0),
48192
+ O.value ? (U(), W("aside", aX, [K("section", oX, [o.value && ce.value ? (U(), W("div", sX, [
48193
+ K("header", cX, [r[38] ||= K("strong", null, "自由协作", -1), K("span", lX, P(he.value ? `${I(n).display_name(he.value.name)} 协助主持` : "你来主持"), 1)]),
48194
+ K("section", uX, [r[40] ||= K("h4", null, "成员", -1), K("ul", dX, [(U(!0), W(H, null, B(o.value.free?.members || [], (e) => (U(), W("li", {
48092
48195
  key: e.id,
48093
48196
  class: "pb-member"
48094
48197
  }, [
@@ -48104,8 +48207,8 @@ var $G = /*#__PURE__*/ nH({
48104
48207
  "alt",
48105
48208
  "class"
48106
48209
  ]),
48107
- K("div", xX, [
48108
- K("div", SX, [
48210
+ K("div", fX, [
48211
+ K("div", pX, [
48109
48212
  J(P(I(n).display_name(e.name)), 1),
48110
48213
  e.role === "host" ? (U(), G(v, {
48111
48214
  key: 0,
@@ -48118,7 +48221,7 @@ var $G = /*#__PURE__*/ nH({
48118
48221
  }[e.access] || "本机自动"), 1)
48119
48222
  ]),
48120
48223
  K("div", { class: M(["pb-member-status", `is-${ge(e)}`]) }, [r[39] ||= K("span", { class: "pb-dot" }, null, -1), J(P(_e(e)), 1)], 2),
48121
- e.session_mode === "borrowed" ? (U(), W("p", CX, "借用你正在使用的会话")) : Y("", !0)
48224
+ e.session_mode === "borrowed" ? (U(), W("p", mX, "借用你正在使用的会话")) : Y("", !0)
48122
48225
  ]),
48123
48226
  q(Me, {
48124
48227
  items: N(e),
@@ -48136,7 +48239,7 @@ var $G = /*#__PURE__*/ nH({
48136
48239
  _: 2
48137
48240
  }, 1032, ["items"])
48138
48241
  ]))), 128))])]),
48139
- o.value.free?.conflicts?.length || o.value.free?.halted_chains?.length || I(t).free_error || I(t).free_notice ? (U(), W("section", wX, [
48242
+ o.value.free?.conflicts?.length || o.value.free?.halted_chains?.length || I(t).free_error || I(t).free_notice || I(t).access?.error || I(t).access?.notice ? (U(), W("section", hX, [
48140
48243
  r[41] ||= K("h4", null, "提示", -1),
48141
48244
  (U(!0), W(H, null, B(o.value.free?.conflicts || [], (e) => (U(), W("p", {
48142
48245
  key: e.executions.join("-"),
@@ -48146,9 +48249,10 @@ var $G = /*#__PURE__*/ nH({
48146
48249
  key: e.chain_id,
48147
48250
  class: "pb-free-note"
48148
48251
  }, "#" + P(e.chain_id) + " 的任务链已停:" + P(e.reason === "budget" ? `达到 ${o.value.free.max_auto_hops} 次上限` : "派出的成员都失败了") + ";发新消息即重新开始", 1))), 128)),
48149
- I(t).free_error ? (U(), W("p", TX, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", EX, P(I(t).free_notice), 1)) : Y("", !0)
48252
+ I(t).free_error ? (U(), W("p", gX, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", _X, P(I(t).free_notice), 1)) : Y("", !0),
48253
+ I(t).access?.error ? (U(), W("p", vX, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", yX, P(I(t).access.notice), 1)) : Y("", !0)
48150
48254
  ])) : Y("", !0),
48151
- K("section", DX, [
48255
+ K("section", bX, [
48152
48256
  r[42] ||= K("h4", null, "邀请 AI", -1),
48153
48257
  K("form", {
48154
48258
  class: "pb-free-invite",
@@ -48183,22 +48287,22 @@ var $G = /*#__PURE__*/ nH({
48183
48287
  size: "sm",
48184
48288
  class: "w-26"
48185
48289
  }, null, 8, ["modelValue"])], 32),
48186
- de.value !== "online" && !I(t).launch.available ? (U(), W("p", OX, "需要本机服务:请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48290
+ de.value === "runner" && !I(t).launch.available ? (U(), W("p", xX, "程序唤醒需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48187
48291
  ]),
48188
- o.value.linked_rooms?.length ? (U(), W("section", kX, [r[43] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(o.value.linked_rooms, (e) => (U(), W("button", {
48292
+ o.value.linked_rooms?.length ? (U(), W("section", SX, [r[43] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(o.value.linked_rooms, (e) => (U(), W("button", {
48189
48293
  key: e.id,
48190
48294
  type: "button",
48191
48295
  class: "pb-link pb-free-linked",
48192
48296
  onClick: (t) => I(i)("room", e.id)
48193
- }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, AX))), 128))])) : Y("", !0),
48194
- K("section", jX, [q(C, {
48297
+ }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, CX))), 128))])) : Y("", !0),
48298
+ K("section", wX, [q(C, {
48195
48299
  icon: "i-lucide-user-plus",
48196
48300
  label: "邀请",
48197
48301
  size: "sm",
48198
48302
  color: "neutral",
48199
48303
  variant: "outline",
48200
48304
  class: "pb-action",
48201
- disabled: !ue.value || de.value !== "online" && !I(t).launch.available,
48305
+ disabled: !ue.value || de.value === "runner" && !I(t).launch.available,
48202
48306
  onClick: r[19] ||= (e) => I(i)("invite_member", {
48203
48307
  name: ue.value,
48204
48308
  access: de.value
@@ -48213,10 +48317,10 @@ var $G = /*#__PURE__*/ nH({
48213
48317
  title: "用当前成员新建一场讨论房间,收束后可把结论发回这里",
48214
48318
  onClick: j
48215
48319
  })])
48216
- ])) : o.value ? (U(), G(CY, {
48320
+ ])) : o.value ? (U(), G(mY, {
48217
48321
  key: 1,
48218
48322
  docked: ""
48219
- })) : (U(), W("div", MX, [...r[44] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无频道,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
48323
+ })) : (U(), W("div", TX, [...r[44] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无频道,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
48220
48324
  q(Ue, {
48221
48325
  open: d.value,
48222
48326
  "onUpdate:open": r[21] ||= (e) => d.value = e,
@@ -48228,7 +48332,7 @@ var $G = /*#__PURE__*/ nH({
48228
48332
  body: "channel-drawer-body"
48229
48333
  }
48230
48334
  }, {
48231
- body: L(() => [q(FJ, {
48335
+ body: L(() => [q(EJ, {
48232
48336
  onSelect: Se,
48233
48337
  onManage: be,
48234
48338
  onCreate: we,
@@ -48259,7 +48363,7 @@ var $G = /*#__PURE__*/ nH({
48259
48363
  }
48260
48364
  }, {
48261
48365
  body: L(() => [o.value ? (U(), W(H, { key: 0 }, [
48262
- K("div", NX, [q(v, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
48366
+ K("div", EX, [q(v, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
48263
48367
  (U(), W(H, null, B([
48264
48368
  {
48265
48369
  key: "goal",
@@ -48286,7 +48390,7 @@ var $G = /*#__PURE__*/ nH({
48286
48390
  class: "info-section"
48287
48391
  }, [K("h3", null, P(e.label), 1), K("p", null, P(o.value[e.key] || "尚未填写"), 1)])), 64)),
48288
48392
  q(We),
48289
- K("section", PX, [r[45] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(ye.value, (e) => (U(), W("div", {
48393
+ K("section", DX, [r[45] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(ye.value, (e) => (U(), W("div", {
48290
48394
  key: e.name,
48291
48395
  class: "expert-row"
48292
48396
  }, [
@@ -48319,7 +48423,7 @@ var $G = /*#__PURE__*/ nH({
48319
48423
  ], 64)) : Y("", !0)]),
48320
48424
  _: 1
48321
48425
  }, 8, ["open"]),
48322
- q(fJ, {
48426
+ q(rJ, {
48323
48427
  modelValue: s.value,
48324
48428
  "onUpdate:modelValue": r[24] ||= (e) => s.value = e,
48325
48429
  "reading-width": b.value,
@@ -48339,7 +48443,7 @@ var $G = /*#__PURE__*/ nH({
48339
48443
  ], 6);
48340
48444
  };
48341
48445
  }
48342
- }, JX = {
48446
+ }, VX = {
48343
48447
  __name: "App",
48344
48448
  setup(e) {
48345
48449
  return br("discussion", oV()), (e, t) => {
@@ -48350,7 +48454,7 @@ var $G = /*#__PURE__*/ nH({
48350
48454
  toaster: null
48351
48455
  }, {
48352
48456
  default: L(() => [q(I(Az), { "reduced-motion": "user" }, {
48353
- default: L(() => [q(qX)]),
48457
+ default: L(() => [q(BX)]),
48354
48458
  _: 1
48355
48459
  })]),
48356
48460
  _: 1
@@ -48360,8 +48464,8 @@ var $G = /*#__PURE__*/ nH({
48360
48464
  };
48361
48465
  //#endregion
48362
48466
  //#region frontend/main.js
48363
- function YX() {
48364
- bu(JX).use(fh).mount("#modern-root");
48467
+ function HX() {
48468
+ bu(VX).use(fh).mount("#modern-root");
48365
48469
  }
48366
- document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", YX) : YX();
48470
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", HX) : HX();
48367
48471
  //#endregion