ai_co_discuss 0.2.0 → 0.2.2

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",
42379
42405
  class: "fine-print"
42380
- }, wG = {
42406
+ }, _G = { class: "access-reading" }, vG = { class: "access-address" }, yG = {
42407
+ key: 2,
42408
+ class: "fine-print"
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,20 +44210,34 @@ 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 = ["title"], pK = { class: "expert-card-entry" }, mK = { class: "expert-card-summary" }, hK = { class: "expert-card-model" }, gK = { class: "expert-card-strength" }, _K = ["aria-label"], vK = ["inert", "aria-hidden"], yK = { class: "expert-card-heading" }, bK = { class: "expert-card-actions" }, xK = ["aria-label"], SK = ["aria-label"], CK = [
44221
+ "aria-checked",
44222
+ "tabindex",
44223
+ "data-mode",
44224
+ "onClick"
44225
+ ], wK = {
44226
+ key: 1,
44227
+ class: "expert-card-software"
44228
+ }, TK = { class: "expert-card-catalog" }, EK = {
44214
44229
  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 = {
44230
+ class: "expert-card-effort"
44231
+ }, DK = {
44232
+ class: "expert-card-scale",
44233
+ "aria-hidden": "true"
44234
+ }, OK = {
44217
44235
  key: 1,
44218
- class: "expert-card-note expert-card-note-center"
44219
- }, NK = 180, PK = /*#__PURE__*/ nH({
44236
+ class: "expert-card-note"
44237
+ }, kK = { class: "expert-card-defaults" }, AK = ["aria-label", "disabled"], jK = {
44238
+ key: 3,
44239
+ class: "expert-card-boundary"
44240
+ }, MK = 180, NK = /*#__PURE__*/ nH({
44220
44241
  __name: "ExpertCard",
44221
44242
  props: {
44222
44243
  name: {
@@ -44239,8 +44260,8 @@ var $G = /*#__PURE__*/ nH({
44239
44260
  mass: 1,
44240
44261
  stiffness: 270.0323764138049,
44241
44262
  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 = {
44263
+ }), 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(() => {
44264
+ let e = v.value.efforts, t = {
44244
44265
  low: "Low",
44245
44266
  medium: "Medium",
44246
44267
  high: "High",
@@ -44248,58 +44269,68 @@ var $G = /*#__PURE__*/ nH({
44248
44269
  max: "Max",
44249
44270
  ultra: "Ultra"
44250
44271
  };
44251
- return e ? [{
44272
+ return e?.length ? [{
44252
44273
  label: "默认强度",
44253
44274
  value: ""
44254
44275
  }, ...e.map((e) => ({
44255
44276
  label: t[e] || e,
44256
44277
  value: e
44257
44278
  }))] : null;
44258
- }), b = Z(() => y.value?.find((e) => e.value === (g.value.effort || ""))?.label || (y.value ? g.value.effort : "强度随模型"));
44259
- function x() {
44279
+ }), S = Z(() => x.value?.find((e) => e.value === (p.value.effort || ""))?.label || (p.value.adapter === "antigravity_cli" ? "强度随模型" : p.value.effort || "默认强度"));
44280
+ function C() {
44260
44281
  Qn(() => {
44261
44282
  document.activeElement === c.value && (f.value ? u : l).value?.focus({ preventScroll: !0 });
44262
44283
  });
44263
44284
  }
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
- function T(e) {
44270
- c.value?.focus({ preventScroll: !0 }), p.value = !1, d.value = e;
44285
+ function w(e) {
44286
+ let t = e >= MK / 2;
44287
+ f.value !== t && (f.value = t, C());
44271
44288
  }
44272
- function E() {
44273
- p.value ? p.value = !1 : T(!1);
44289
+ let T = o.on("change", w), E = o.on("animationComplete", C);
44290
+ function D(e) {
44291
+ (!e || g.value) && (c.value?.focus({ preventScroll: !0 }), d.value = e);
44274
44292
  }
44275
- function D() {
44276
- a.write_launch(n.name, "model", ""), y.value && a.write_launch(n.name, "effort", "");
44293
+ function O() {
44294
+ a.write_launch(n.name, "model", ""), a.write_launch(n.name, "effort", "");
44277
44295
  }
44278
- function O(e) {
44279
- d.value && (e.stopPropagation(), e.preventDefault(), E());
44296
+ function ee(e) {
44297
+ if (![
44298
+ "ArrowLeft",
44299
+ "ArrowRight",
44300
+ "ArrowUp",
44301
+ "ArrowDown",
44302
+ "Home",
44303
+ "End"
44304
+ ].includes(e.key)) return;
44305
+ e.preventDefault();
44306
+ let t = e.key === "Home" ? "cli" : e.key === "End" || n.mode === "cli" ? "online" : "cli";
44307
+ r("mode", t), e.currentTarget.querySelector(`[data-mode="${t}"]`)?.focus();
44280
44308
  }
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();
44309
+ function te(e) {
44310
+ d.value && (e.stopPropagation(), e.preventDefault(), D(!1));
44311
+ }
44312
+ return R([d, s], ([e, t]) => {
44313
+ let n = e ? MK : 0;
44314
+ t ? (o.jump(n), C()) : o.set(n);
44315
+ }), R(() => [
44316
+ d.value,
44317
+ y.value,
44318
+ i.value.launch.available,
44319
+ p.value.adapter
44320
+ ], ([e, t, r]) => {
44321
+ e && t && r && a.load_launch_models(n.name);
44322
+ }), ta(() => {
44323
+ T(), E(), o.stop();
44293
44324
  }), (t, n) => {
44294
- let i = Gk, s = zk, d = xV, x = MV;
44325
+ let s = Gk, d = zk, C = pV, w = MV;
44295
44326
  return U(), W("div", {
44296
44327
  ref_key: "card",
44297
44328
  ref: c,
44298
- class: M(["expert-card", { "is-configurable": v.value }]),
44329
+ class: M(["expert-card", { "is-configurable": y.value }]),
44299
44330
  "data-identity": I(a).identities[e.name]?.style,
44300
44331
  "data-face": f.value ? "back" : "front",
44301
44332
  tabindex: "-1",
44302
- onKeydown: fu(O, ["esc"])
44333
+ onKeydown: fu(te, ["esc"])
44303
44334
  }, [q(I(QB).div, {
44304
44335
  class: "expert-card-turn",
44305
44336
  style: fe({ rotateY: I(o) })
@@ -44308,63 +44339,74 @@ var $G = /*#__PURE__*/ nH({
44308
44339
  class: "expert-card-face expert-card-front",
44309
44340
  inert: f.value,
44310
44341
  "aria-hidden": f.value
44342
+ }, [(U(), G(da(g.value ? "button" : "div"), {
44343
+ ref_key: "front_button",
44344
+ ref: l,
44345
+ type: g.value ? "button" : void 0,
44346
+ class: M(["expert-card-open", { "is-static": !g.value }]),
44347
+ "aria-label": g.value ? _.value : void 0,
44348
+ title: g.value ? "点击翻面查看配置" : void 0,
44349
+ onClick: n[0] ||= (e) => D(!0)
44350
+ }, {
44351
+ default: L(() => [
44352
+ K("span", dK, [q(s, {
44353
+ src: I(a).identities[e.name]?.icon,
44354
+ text: I(a).identities[e.name]?.initials,
44355
+ alt: e.name,
44356
+ size: "sm",
44357
+ class: M(["channel-avatar expert-card-avatar", I(a).identities[e.name]?.style])
44358
+ }, null, 8, [
44359
+ "src",
44360
+ "text",
44361
+ "alt",
44362
+ "class"
44363
+ ]), K("strong", null, P(e.name), 1)]),
44364
+ K("span", {
44365
+ class: M(["expert-card-status", `is-${e.status.tone}`]),
44366
+ title: e.status.text
44367
+ }, [n[7] ||= K("i", { "aria-hidden": "true" }, null, -1), K("span", null, P(e.status.text), 1)], 10, fK),
44368
+ K("span", pK, [J(P(h.value), 1), K("span", null, P(e.automatic ? "程序唤醒" : "手动接入"), 1)]),
44369
+ K("span", mK, [
44370
+ K("span", hK, P(y.value ? p.value.model || "默认模型" : e.mode === "online" ? "模型与强度在原网页设置" : "模型在原软件设置"), 1),
44371
+ K("span", gK, P(y.value ? S.value : e.mode === "online" ? "在线只读 · 由人代发" : "本地读写 · 自行提交"), 1),
44372
+ g.value ? (U(), G(d, {
44373
+ key: 0,
44374
+ name: "i-lucide-settings-2",
44375
+ class: "expert-card-chevron"
44376
+ })) : Y("", !0)
44377
+ ])
44378
+ ]),
44379
+ _: 1
44380
+ }, 8, [
44381
+ "type",
44382
+ "class",
44383
+ "aria-label",
44384
+ "title"
44385
+ ])), K("button", {
44386
+ type: "button",
44387
+ class: "expert-card-remove",
44388
+ "aria-label": `移出 ${e.name}`,
44389
+ onClick: n[1] ||= (e) => r("remove")
44390
+ }, [q(d, { name: "i-lucide-x" })], 8, _K)], 8, uK), g.value ? (U(), W("div", {
44391
+ key: 0,
44392
+ class: "expert-card-face expert-card-back",
44393
+ inert: !f.value,
44394
+ "aria-hidden": !f.value
44311
44395
  }, [
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, {
44325
- src: I(a).identities[e.name]?.icon,
44326
- text: I(a).identities[e.name]?.initials,
44327
- alt: e.name,
44328
- size: "sm",
44329
- class: M(["channel-avatar expert-card-avatar", I(a).identities[e.name]?.style])
44330
- }, null, 8, [
44331
- "src",
44332
- "text",
44333
- "alt",
44334
- "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)
44348
- ]),
44349
- _: 1
44350
- }, 8, [
44351
- "type",
44352
- "tabindex",
44353
- "aria-label",
44354
- "title"
44355
- ])),
44356
- K("button", {
44357
- key: "remove",
44396
+ K("div", yK, [K("strong", null, [J(P(e.name), 1), n[8] ||= K("span", null, "实例设置", -1)]), K("span", bK, [K("button", {
44397
+ ref_key: "back_button",
44398
+ ref: u,
44358
44399
  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", {
44400
+ class: "expert-card-return",
44401
+ "aria-label": `返回 ${e.name} 角色卡片`,
44402
+ onClick: n[2] ||= (e) => D(!1)
44403
+ }, [q(d, { name: "i-lucide-arrow-left" }), n[9] ||= J("返回", -1)], 8, xK)])]),
44404
+ e.automatic ? Y("", !0) : (U(), W("div", {
44364
44405
  key: 0,
44365
44406
  class: "expert-card-modes",
44366
44407
  role: "radiogroup",
44367
- "aria-label": `${e.name} 参与方式`
44408
+ "aria-label": `${e.name} 参与能力`,
44409
+ onKeydown: ee
44368
44410
  }, [(U(), W(H, null, B([{
44369
44411
  value: "cli",
44370
44412
  label: "本地读写"
@@ -44376,138 +44418,133 @@ var $G = /*#__PURE__*/ nH({
44376
44418
  type: "button",
44377
44419
  role: "radio",
44378
44420
  "aria-checked": e.mode === t.value,
44421
+ tabindex: e.mode === t.value ? 0 : -1,
44422
+ "data-mode": t.value,
44379
44423
  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,
44410
- "aria-label": `${e.name} 使用的模型`,
44411
- size: "sm",
44412
- class: "w-full",
44413
- "onUpdate:modelValue": n[2] ||= (t) => I(a).write_launch(e.name, "model", t)
44414
- }, null, 8, [
44415
- "model-value",
44416
- "placeholder",
44417
- "title",
44418
- "aria-label"
44419
- ])]),
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)]),
44424
+ }, P(t.label), 9, CK)), 64))], 40, SK)),
44425
+ e.automatic && e.mode === "cli" && m.value.length ? (U(), W("div", wK, [n[10] ||= K("span", null, "软件入口", -1), q(C, {
44426
+ "model-value": p.value.adapter || "",
44427
+ items: m.value,
44428
+ placeholder: "选择 App / CLI",
44429
+ "aria-label": `${e.name} 软件入口`,
44430
+ size: "xs",
44431
+ "onUpdate:modelValue": n[3] ||= (t) => I(a).write_launch(e.name, "adapter", t)
44432
+ }, null, 8, [
44433
+ "model-value",
44434
+ "items",
44435
+ "aria-label"
44436
+ ])])) : Y("", !0),
44437
+ y.value ? (U(), W(H, { key: 2 }, [
44438
+ q(w, {
44439
+ label: "模型",
44440
+ class: "expert-card-model-field"
44441
+ }, {
44442
+ default: L(() => [q(C, {
44443
+ "model-value": p.value.model || "__default__",
44444
+ items: v.value.items,
44445
+ loading: v.value.loading,
44446
+ "aria-label": `${e.name} 使用的模型`,
44447
+ size: "sm",
44448
+ class: "w-full",
44449
+ "onUpdate:modelValue": n[4] ||= (t) => I(a).write_launch_model(e.name, t)
44450
+ }, null, 8, [
44451
+ "model-value",
44452
+ "items",
44453
+ "loading",
44454
+ "aria-label"
44455
+ ])]),
44456
+ _: 1
44457
+ }),
44458
+ K("div", TK, [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", {
44459
+ key: 0,
44460
+ type: "button",
44461
+ onClick: n[5] ||= (t) => I(a).load_launch_models(e.name, !0)
44462
+ }, "重试")) : Y("", !0)]),
44463
+ x.value ? (U(), W("div", EK, [
44464
+ K("div", null, [n[11] ||= K("span", null, "思考强度", -1), K("strong", null, P(S.value), 1)]),
44465
+ q(cK, {
44466
+ items: x.value,
44467
+ "model-value": p.value.effort || "",
44468
+ label: `${e.name} 的思考强度`,
44469
+ "onUpdate:modelValue": n[6] ||= (t) => I(a).write_launch(e.name, "effort", t)
44470
+ }, null, 8, [
44471
+ "items",
44472
+ "model-value",
44473
+ "label"
44474
+ ]),
44475
+ K("div", DK, [n[12] ||= K("span", null, "默认", -1), K("span", null, P(x.value.at(-1).label), 1)])
44476
+ ])) : (U(), W("p", OK, P(v.value.effort_note), 1)),
44477
+ K("div", kK, [n[13] ||= K("span", null, "默认值由 CLI 决定", -1), K("button", {
44478
+ type: "button",
44479
+ "aria-label": `恢复 ${e.name} 的默认模型与强度`,
44480
+ disabled: !p.value.model && !p.value.effort,
44481
+ onClick: O
44482
+ }, "恢复默认", 8, AK)])
44483
+ ], 64)) : (U(), W("div", jK, [
44484
+ q(d, { name: e.mode === "online" ? "i-lucide-globe" : "i-lucide-monitor" }, null, 8, ["name"]),
44485
+ n[14] ||= K("strong", null, "在原软件选择模型", -1),
44486
+ K("p", null, P(b.value), 1)
44487
+ ]))
44488
+ ], 8, vK)) : Y("", !0)]),
44449
44489
  _: 1
44450
- }, 8, ["style"])], 42, pK);
44490
+ }, 8, ["style"])], 42, lK);
44451
44491
  };
44452
44492
  }
44453
- }, [["__scopeId", "data-v-e5b69b21"]]), FK = { class: "create-discussion" }, IK = {
44493
+ }, [["__scopeId", "data-v-6cf9a21c"]]), PK = { class: "create-discussion" }, FK = {
44454
44494
  key: 0,
44455
44495
  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 = [
44496
+ }, IK = { class: "create-section" }, LK = [
44497
+ "aria-checked",
44498
+ "tabindex",
44499
+ "onClick"
44500
+ ], RK = { class: "create-mode-copy" }, zK = { class: "create-section" }, BK = { class: "create-choice-group" }, VK = [
44501
+ "aria-checked",
44502
+ "tabindex",
44503
+ "onClick"
44504
+ ], HK = { class: "create-mode-copy" }, UK = { class: "create-choice-group" }, WK = [
44461
44505
  "disabled",
44462
44506
  "aria-label",
44463
44507
  "onClick"
44464
- ], YK = {
44508
+ ], GK = { class: "fine-print create-hint" }, KK = { class: "create-expert-heading create-joined-heading" }, qK = {
44465
44509
  key: 0,
44466
44510
  class: "create-experts",
44467
44511
  role: "group",
44468
44512
  "aria-label": "参与的 AI"
44469
- }, XK = {
44513
+ }, JK = {
44470
44514
  key: 1,
44471
44515
  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 = {
44516
+ }, YK = { class: "create-host-setting" }, XK = { class: "create-host" }, ZK = { class: "create-label" }, QK = {
44479
44517
  key: 0,
44480
44518
  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 = {
44519
+ }, $K = [
44520
+ "aria-checked",
44521
+ "tabindex",
44522
+ "onClick"
44523
+ ], eq = { class: "fine-print create-hint" }, tq = {
44487
44524
  key: 1,
44488
44525
  class: "create-section"
44489
- }, aq = {
44526
+ }, nq = {
44490
44527
  key: 0,
44491
44528
  class: "form-two-columns"
44492
- }, oq = { class: "create-host" }, sq = {
44529
+ }, rq = { class: "create-host" }, iq = {
44493
44530
  class: "create-chips",
44494
44531
  role: "radiogroup",
44495
44532
  "aria-label": "达到上限后"
44496
- }, cq = ["aria-checked", "onClick"], lq = {
44533
+ }, aq = ["aria-checked", "onClick"], oq = {
44497
44534
  class: "create-limit-rule",
44498
44535
  "aria-live": "polite"
44499
- }, uq = {
44536
+ }, sq = {
44500
44537
  key: 2,
44501
44538
  class: "create-section"
44502
- }, dq = {
44539
+ }, cq = {
44503
44540
  key: 0,
44504
44541
  role: "alert",
44505
44542
  class: "fine-print create-hint"
44506
- }, fq = { class: "form-two-columns" }, pq = { class: "create-launch-list" }, mq = { class: "create-footer" }, hq = {
44543
+ }, lq = { class: "form-two-columns" }, uq = { class: "create-launch-list" }, dq = { class: "create-footer" }, fq = {
44507
44544
  key: 0,
44508
44545
  role: "alert",
44509
44546
  class: "create-error"
44510
- }, gq = { class: "create-footer-row" }, _q = ["title"], vq = "new-expert-modes", yq = /*#__PURE__*/ nH({
44547
+ }, pq = { class: "create-footer-row" }, mq = ["title"], hq = "new-expert-modes", gq = /*#__PURE__*/ nH({
44511
44548
  __name: "CreateDiscussion",
44512
44549
  props: { targetFolder: {
44513
44550
  type: Object,
@@ -44521,133 +44558,160 @@ var $G = /*#__PURE__*/ nH({
44521
44558
  }, {
44522
44559
  label: "可写",
44523
44560
  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) => {
44561
+ }], 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 = [{
44562
+ value: "brainstorm",
44563
+ icon: "i-lucide-messages-square",
44564
+ title: "讨论",
44565
+ text: "围绕议题轮流发言,形成结论"
44566
+ }, {
44567
+ value: "free",
44568
+ icon: "i-lucide-message-circle",
44569
+ title: "自由协作",
44570
+ text: "按需点名 AI,在各自会话中工作"
44571
+ }], m = [{
44572
+ value: "automatic",
44573
+ icon: "i-lucide-zap",
44574
+ title: "程序唤醒",
44575
+ text: "本机服务交付任务,自动接续会话"
44576
+ }, {
44577
+ value: "manual",
44578
+ icon: "i-lucide-copy",
44579
+ title: "手动接入",
44580
+ text: "首次复制指令,之后人工或定时触发"
44581
+ }], h = Z(() => r.value.experts[hq] || {}), 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
44582
  let t = r.value.launch.profiles[e] || {};
44545
44583
  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);
44584
+ }, 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
44585
  R(() => [
44548
- E.value,
44549
- w.value.every(T),
44586
+ w.value,
44587
+ S.value.every(C),
44550
44588
  r.value.launch.error
44551
44589
  ], ([e, t, n]) => {
44552
- e && (!t || n) && (O.value = !0);
44590
+ e && (!t || n) && (E.value = !0);
44553
44591
  }, { immediate: !0 });
44554
- function ee() {
44555
- S.value.includes(x.value) || u("host", S.value[0] || "");
44592
+ function D() {
44593
+ b.value.includes(y.value) || u("host", b.value[0] || "");
44594
+ }
44595
+ Qi(D);
44596
+ function O(e) {
44597
+ u("kind", e), D();
44598
+ }
44599
+ function ee(e) {
44600
+ u("mode", e), D();
44556
44601
  }
44557
- Qi(ee);
44558
44602
  function te(e) {
44559
- u("mode", e), ee();
44603
+ let t = [...e.currentTarget.querySelectorAll("[role=\"radio\"]")], n = t.indexOf(e.target), r = {
44604
+ ArrowRight: (n + 1) % t.length,
44605
+ ArrowDown: (n + 1) % t.length,
44606
+ ArrowLeft: (n + t.length - 1) % t.length,
44607
+ ArrowUp: (n + t.length - 1) % t.length,
44608
+ Home: 0,
44609
+ End: t.length - 1
44610
+ };
44611
+ if (!(e.key in r)) return;
44612
+ e.preventDefault();
44613
+ let i = t[r[e.key]];
44614
+ i.focus(), i.click();
44560
44615
  }
44561
44616
  function k(e, t) {
44562
- i.write_expert(vq, e, t), ee();
44617
+ i.write_expert(hq, e, t), D();
44563
44618
  }
44564
44619
  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" ? "本地读写,可担任主持" : "只读,回答由你代发",
44620
+ return h.value[e] === "online" ? {
44621
+ text: "在线只读,回答由人代发",
44582
44622
  tone: "muted"
44623
+ } : d.value ? C(e) ? {
44624
+ text: "已配置本机软件",
44625
+ tone: "ready"
44583
44626
  } : {
44584
- text: i.launch_clients[e] ? "可本地读写" : "在线只读",
44627
+ text: "待补齐软件连接",
44628
+ tone: "warn"
44629
+ } : {
44630
+ text: "本地读写,可自行提交",
44585
44631
  tone: "muted"
44586
44632
  };
44587
44633
  }
44588
44634
  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;
44635
+ return _(e) ? `已加入 ${_(e)} 位 · 可继续添加` : i.launch_clients[e] ? "本地 App / CLI" : "网页 AI · 手动接入";
44592
44636
  }
44593
44637
  function ie(e) {
44594
- k(e, ""), Qn(() => b.value?.focus({ preventScroll: !0 }));
44638
+ if (d.value && !i.launch_clients[e]) return;
44639
+ let t = i.launch_clients[e] ? "cli" : "online";
44640
+ _(e) ? i.add_instance(hq, e, t) : k(e, t), D();
44595
44641
  }
44596
- function ae() {
44597
- C.value?.settle(), n("submit");
44642
+ function ae(e) {
44643
+ k(e, ""), Qn(() => v.value?.querySelector("button:not(:disabled)")?.focus({ preventScroll: !0 }));
44644
+ }
44645
+ function A() {
44646
+ x.value?.settle(), n("submit");
44598
44647
  }
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);
44648
+ let oe = Z(() => {
44649
+ let e = Number(l("limit-max_rounds")), t = Number(l("limit-max_minutes")), n = [e && `${e} 轮`, t && JG(t)].filter(Boolean);
44601
44650
  if (!n.length) return "不设轮次和时长上限。";
44602
44651
  let r = l("limit-on_limit") === "summarize" ? "由主持人总结" : "暂停";
44603
44652
  return `最多 ${n.join(" 或 ")},${n.length === 2 ? "先到则" : "到限后"}${r}。`;
44604
- }), oe = Z(() => {
44605
- let e = Object.keys(g.value);
44653
+ }), se = Z(() => {
44654
+ let e = Object.keys(h.value);
44606
44655
  if (f.value) return [
44607
- e.length ? `遥控 ${e.join("、")}` : "尚未选择 AI",
44608
44656
  "自由协作",
44609
- "无主持人与轮次"
44657
+ `${e.length} 位 AI`,
44658
+ y.value === "用户" ? "你来主持" : `${y.value} 协助主持`,
44659
+ d.value ? "程序唤醒" : "手动接入"
44610
44660
  ].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(" / ");
44661
+ let t = l("limit-max_rounds"), n = l("limit-max_minutes"), r = [t && Number(t) ? `${t} 轮` : "不限轮次", n && Number(n) ? JG(Number(n)) : "不限时长"].join(" / ");
44612
44662
  return [
44613
- x.value ? `${i.display_name(x.value)} 主持` : "尚未选择主持人",
44663
+ y.value ? `${i.display_name(y.value)} 主持` : "尚未选择主持人",
44614
44664
  e.length ? `${e.join("、")} 参与` : "尚未选择专家",
44615
- d.value ? "全自动" : "手动推进",
44665
+ d.value ? "程序唤醒" : "手动接入",
44616
44666
  r
44617
44667
  ].join(" · ");
44618
44668
  });
44619
44669
  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;
44621
- return U(), W("div", FK, [K("form", {
44670
+ let _ = zk, D = xV, ce = MV, le = FV, ue = Gk, de = AG, j = pV, fe = uA, pe = OG;
44671
+ return U(), W("div", PK, [K("form", {
44622
44672
  id: "create-discussion-form",
44623
44673
  class: "create-scroll dialog-form",
44624
- onSubmit: uu(ae, ["prevent"])
44674
+ onSubmit: uu(A, ["prevent"])
44625
44675
  }, [
44626
- e.targetFolder?.id ? (U(), W("p", IK, [q(v, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
44627
- K("section", LK, [
44628
- c[13] ||= K("h3", null, [K("span", null, "1"), J("讨论什么")], -1),
44629
- q(se, {
44676
+ e.targetFolder?.id ? (U(), W("p", FK, [q(_, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
44677
+ K("section", IK, [
44678
+ c[11] ||= K("h3", null, [K("span", null, "1"), J("这次做什么")], -1),
44679
+ K("div", {
44680
+ class: "create-modes",
44681
+ role: "radiogroup",
44682
+ "aria-label": "房间用法",
44683
+ onKeydown: te
44684
+ }, [(U(), W(H, null, B(p, (e) => K("button", {
44685
+ key: e.value,
44686
+ type: "button",
44687
+ role: "radio",
44688
+ class: M(["create-mode", { "is-selected": (l("kind") || "brainstorm") === e.value }]),
44689
+ "aria-checked": (l("kind") || "brainstorm") === e.value,
44690
+ tabindex: (l("kind") || "brainstorm") === e.value ? 0 : -1,
44691
+ onClick: (t) => O(e.value)
44692
+ }, [q(_, { name: e.icon }, null, 8, ["name"]), K("span", RK, [K("strong", null, P(e.title), 1), K("small", null, P(e.text), 1)])], 10, LK)), 64))], 32),
44693
+ q(ce, {
44630
44694
  label: "话题名称",
44631
44695
  required: ""
44632
44696
  }, {
44633
- default: L(() => [q(ee, {
44697
+ default: L(() => [q(D, {
44634
44698
  "model-value": l("title"),
44635
44699
  maxlength: 80,
44636
44700
  required: "",
44637
44701
  autofocus: "",
44638
44702
  size: "lg",
44639
- placeholder: "这次想讨论什么?",
44703
+ placeholder: f.value ? "这次要一起做什么?" : "这次想讨论什么?",
44640
44704
  class: "w-full",
44641
44705
  "onUpdate:modelValue": c[0] ||= (e) => u("title", e)
44642
- }, null, 8, ["model-value"])]),
44706
+ }, null, 8, ["model-value", "placeholder"])]),
44643
44707
  _: 1
44644
44708
  }),
44645
- q(se, {
44709
+ q(ce, {
44646
44710
  label: "用户原文",
44647
44711
  required: "",
44648
- description: "把你的问题、背景和顾虑原样写下来。讨论目标、背景与边界由 AI 主持人据此补全,之后可在「主持 → 编辑议题」修改。"
44712
+ description: f.value ? "写下任务、背景和协作范围,成员按需阅读。" : "写下问题、背景和顾虑,AI 主持人据此补全讨论资料。"
44649
44713
  }, {
44650
- default: L(() => [q(ce, {
44714
+ default: L(() => [q(le, {
44651
44715
  "model-value": l("user_request"),
44652
44716
  maxlength: 4e3,
44653
44717
  rows: 5,
@@ -44659,69 +44723,63 @@ var $G = /*#__PURE__*/ nH({
44659
44723
  "onUpdate:modelValue": c[1] ||= (e) => u("user_request", e)
44660
44724
  }, null, 8, ["model-value"])]),
44661
44725
  _: 1
44662
- })
44726
+ }, 8, ["description"])
44663
44727
  ]),
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", {
44728
+ K("section", zK, [
44729
+ c[17] ||= K("h3", null, [K("span", null, "2"), J("谁来参与")], -1),
44730
+ K("div", BK, [c[12] ||= K("h4", null, "接入方式", -1), K("div", {
44731
+ class: "create-modes",
44732
+ role: "radiogroup",
44733
+ "aria-label": "接入方式",
44734
+ onKeydown: te
44735
+ }, [(U(), W(H, null, B(m, (e) => K("button", {
44667
44736
  key: e.value,
44668
44737
  type: "button",
44669
44738
  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))])]),
44739
+ class: M(["create-mode", { "is-selected": l("mode") === e.value }]),
44740
+ "aria-checked": l("mode") === e.value,
44741
+ tabindex: l("mode") === e.value ? 0 : -1,
44742
+ onClick: (t) => ee(e.value)
44743
+ }, [q(_, { 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))], 32)]),
44674
44744
  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, {
44745
+ c[16] ||= K("div", { class: "create-expert-heading" }, [K("h4", null, "AI 角色库"), K("span", { class: "fine-print" }, "每次添加一个独立实例")], -1),
44746
+ K("div", {
44747
+ ref_key: "library",
44748
+ ref: v,
44749
+ class: "create-role-library",
44750
+ role: "group",
44751
+ "aria-label": "AI 角色库"
44752
+ }, [(U(!0), W(H, null, B(I(s), (e) => (U(), W("button", {
44753
+ key: e,
44754
+ type: "button",
44755
+ disabled: d.value && !I(i).launch_clients[e],
44756
+ "aria-label": `添加 ${e} 实例`,
44757
+ onClick: (t) => ie(e)
44758
+ }, [
44759
+ q(ue, {
44760
+ src: I(i).identities[e]?.icon,
44761
+ text: I(i).identities[e]?.initials,
44762
+ alt: e,
44763
+ size: "sm",
44764
+ class: M(["channel-avatar", I(i).identities[e]?.style])
44765
+ }, null, 8, [
44766
+ "src",
44767
+ "text",
44768
+ "alt",
44769
+ "class"
44770
+ ]),
44771
+ K("span", null, [K("strong", null, P(e), 1), K("small", null, P(re(e)), 1)]),
44772
+ q(_, { name: "i-lucide-plus" })
44773
+ ], 8, WK))), 128))], 512),
44774
+ K("p", GK, P(d.value ? "程序唤醒支持已适配的本地软件;网页 AI 请使用手动接入。" : "手动接入本地 AI 后,它可自行提交回答;网页 AI 只读,由你或授权主持人代发。"), 1),
44775
+ K("div", KK, [K("h4", null, [c[13] ||= J("已加入 ", -1), K("span", null, P(g.value.length), 1)]), c[14] ||= K("span", { class: "fine-print" }, "本地软件可翻面设置", -1)]),
44776
+ g.value.length ? (U(), W("div", qK, [(U(!0), W(H, null, B(g.value, (e) => (U(), G(NK, {
44719
44777
  key: e,
44720
44778
  name: e,
44721
- mode: g.value[e],
44722
- automatic: p.value,
44779
+ mode: h.value[e],
44780
+ automatic: d.value,
44723
44781
  status: ne(e),
44724
- onRemove: (t) => ie(e),
44782
+ onRemove: (t) => ae(e),
44725
44783
  onMode: (t) => k(e, t)
44726
44784
  }, null, 8, [
44727
44785
  "name",
@@ -44730,32 +44788,39 @@ var $G = /*#__PURE__*/ nH({
44730
44788
  "status",
44731
44789
  "onRemove",
44732
44790
  "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", {
44791
+ ]))), 128))])) : (U(), W("p", JK, "从上方角色库添加 AI;同一平台可以添加多位。")),
44792
+ K("div", YK, [K("div", XK, [K("span", ZK, P(f.value ? "谁来主持" : "AI 主持人"), 1), b.value.length ? (U(), W("div", {
44793
+ key: 1,
44794
+ class: "create-host-choices",
44795
+ role: "radiogroup",
44796
+ "aria-label": "主持人",
44797
+ onKeydown: te
44798
+ }, [(U(!0), W(H, null, B(b.value, (e) => (U(), W("button", {
44735
44799
  key: e,
44736
44800
  type: "button",
44737
44801
  role: "radio",
44738
- "aria-checked": x.value === e,
44802
+ "aria-checked": y.value === e,
44803
+ tabindex: y.value === e ? 0 : -1,
44739
44804
  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)]))
44805
+ }, [c[15] ||= K("span", { "aria-hidden": "true" }, null, -1), J(P(e === "用户" ? "我来主持" : I(i).display_name(e)), 1)], 8, $K))), 128))], 32)) : (U(), W("span", QK, "先添加一位本地读写的 AI"))]), K("p", eq, P(f.value ? "默认由你点名和分配任务,也可指定一位本地 AI 协助主持。" : "主持人须为本地读写 AI,负责补全议题、安排发言与收束,也可同时作为专家。"), 1)])
44741
44806
  ])
44742
44807
  ]),
44743
- f.value ? Y("", !0) : (U(), W("section", iq, [
44744
- c[22] ||= K("h3", null, [K("span", null, "3"), J("讨论多久")], -1),
44745
- q($G, {
44808
+ f.value ? Y("", !0) : (U(), W("section", tq, [
44809
+ c[20] ||= K("h3", null, [K("span", null, "3"), J("讨论多久")], -1),
44810
+ q(YG, {
44746
44811
  ref_key: "limit_picker",
44747
- ref: C,
44812
+ ref: x,
44748
44813
  rounds: Number(l("limit-max_rounds")),
44749
44814
  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))
44815
+ "onUpdate:rounds": c[2] ||= (e) => u("limit-max_rounds", String(e)),
44816
+ "onUpdate:minutes": c[3] ||= (e) => u("limit-max_minutes", String(e))
44752
44817
  }, null, 8, ["rounds", "minutes"]),
44753
- c[23] ||= K("p", { class: "fine-print create-hint" }, "一轮指每位专家各完成一次观点;首次进入讨论或创建安排后计时,暂停期间不计时。", -1),
44754
- d.value ? (U(), W("div", aq, [q(se, {
44818
+ c[21] ||= K("p", { class: "fine-print create-hint" }, "一轮指每位专家各完成一次观点;首次进入讨论或创建安排后计时,暂停期间不计时。", -1),
44819
+ d.value ? (U(), W("div", nq, [q(ce, {
44755
44820
  label: "单次 AI 执行(分钟)",
44756
44821
  description: "留空或 0 表示不限"
44757
44822
  }, {
44758
- default: L(() => [q(ee, {
44823
+ default: L(() => [q(D, {
44759
44824
  "model-value": Number(l("limit-execution_minutes")) ? l("limit-execution_minutes") : "",
44760
44825
  type: "number",
44761
44826
  min: 0,
@@ -44763,13 +44828,13 @@ var $G = /*#__PURE__*/ nH({
44763
44828
  step: 1,
44764
44829
  placeholder: "不限时长",
44765
44830
  class: "w-full",
44766
- "onUpdate:modelValue": c[6] ||= (e) => u("limit-execution_minutes", e)
44831
+ "onUpdate:modelValue": c[4] ||= (e) => u("limit-execution_minutes", e)
44767
44832
  }, null, 8, ["model-value"])]),
44768
44833
  _: 1
44769
44834
  })])) : Y("", !0),
44770
- K("div", oq, [
44771
- c[21] ||= K("span", { class: "create-label" }, "达到任一上限后", -1),
44772
- K("div", sq, [(U(), W(H, null, B([{
44835
+ K("div", rq, [
44836
+ c[19] ||= K("span", { class: "create-label" }, "达到任一上限后", -1),
44837
+ K("div", iq, [(U(), W(H, null, B([{
44773
44838
  value: "pause",
44774
44839
  label: "暂停保留现场"
44775
44840
  }, {
@@ -44782,8 +44847,8 @@ var $G = /*#__PURE__*/ nH({
44782
44847
  "aria-checked": (l("limit-on_limit") || "pause") === e.value,
44783
44848
  class: M({ "is-selected": (l("limit-on_limit") || "pause") === e.value }),
44784
44849
  onClick: (t) => u("limit-on_limit", e.value)
44785
- }, P(e.label), 11, cq)), 64))]),
44786
- l("limit-on_limit") === "summarize" ? (U(), G(ee, {
44850
+ }, P(e.label), 11, aq)), 64))]),
44851
+ l("limit-on_limit") === "summarize" ? (U(), G(D, {
44787
44852
  key: 0,
44788
44853
  "model-value": l("limit-summary_minutes"),
44789
44854
  type: "number",
@@ -44792,36 +44857,36 @@ var $G = /*#__PURE__*/ nH({
44792
44857
  step: 1,
44793
44858
  "aria-label": "收束预留(分钟)",
44794
44859
  class: "create-summary-minutes",
44795
- "onUpdate:modelValue": c[7] ||= (e) => u("limit-summary_minutes", e)
44860
+ "onUpdate:modelValue": c[5] ||= (e) => u("limit-summary_minutes", e)
44796
44861
  }, {
44797
- trailing: L(() => [...c[20] ||= [K("span", { class: "fine-print" }, "分钟收束", -1)]]),
44862
+ trailing: L(() => [...c[18] ||= [K("span", { class: "fine-print" }, "分钟收束", -1)]]),
44798
44863
  _: 1
44799
44864
  }, 8, ["model-value"])) : Y("", !0)
44800
44865
  ]),
44801
- K("p", lq, [q(v, { name: "i-lucide-flag" }), J(P(A.value), 1)])
44866
+ K("p", oq, [q(_, { name: "i-lucide-flag" }), J(P(oe.value), 1)])
44802
44867
  ])),
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),
44868
+ d.value ? (U(), W("section", sq, [
44869
+ K("h3", null, [K("span", null, P(f.value ? 3 : 4), 1), c[22] ||= J("启动本机软件", -1)]),
44870
+ f.value && !I(r).launch.available ? (U(), W("p", cq, "程序唤醒需要本机服务:请在运行 AI 的电脑打开本机网站,或先运行连接命令。")) : Y("", !0),
44806
44871
  I(r).launch.available ? (U(), W(H, { key: 1 }, [f.value ? Y("", !0) : (U(), G(de, {
44807
44872
  key: 0,
44808
44873
  "model-value": I(r).launch.create,
44809
44874
  label: "创建后立即启动 AI",
44810
44875
  description: "由本机服务创建会话并交付首个主持任务;不勾选则只建房,稍后在「接入」页启动。",
44811
- "onUpdate:modelValue": c[8] ||= (e) => I(i).write_launch("create", "", e)
44876
+ "onUpdate:modelValue": c[6] ||= (e) => I(i).write_launch("create", "", e)
44812
44877
  }, null, 8, ["model-value"])), f.value || I(r).launch.create ? (U(), W(H, { key: 1 }, [
44813
- K("div", fq, [q(se, {
44878
+ K("div", lq, [q(ce, {
44814
44879
  label: "项目目录(可选)",
44815
44880
  help: "要一起查看的项目;留空时 AI 只在讨论私有目录工作"
44816
44881
  }, {
44817
- default: L(() => [q(ee, {
44882
+ default: L(() => [q(D, {
44818
44883
  "model-value": I(r).launch.workspace.cwd || "",
44819
44884
  placeholder: "已有目录的完整路径",
44820
44885
  class: "w-full",
44821
- "onUpdate:modelValue": c[9] ||= (e) => I(i).write_launch("workspace", "cwd", e)
44886
+ "onUpdate:modelValue": c[7] ||= (e) => I(i).write_launch("workspace", "cwd", e)
44822
44887
  }, null, 8, ["model-value"])]),
44823
44888
  _: 1
44824
- }), q(se, {
44889
+ }), q(ce, {
44825
44890
  label: "项目文件",
44826
44891
  help: f.value ? "默认只读;要让 AI 改代码请选可写,仅本房间有效" : "默认只读;可写允许 CLI 专家按议题修改项目文件,仅本次有效"
44827
44892
  }, {
@@ -44829,29 +44894,29 @@ var $G = /*#__PURE__*/ nH({
44829
44894
  "model-value": I(r).launch.workspace.project_access || "read",
44830
44895
  items: o,
44831
44896
  class: "w-full",
44832
- "onUpdate:modelValue": c[10] ||= (e) => I(i).write_launch("workspace", "project_access", e)
44897
+ "onUpdate:modelValue": c[8] ||= (e) => I(i).write_launch("workspace", "project_access", e)
44833
44898
  }, null, 8, ["model-value"])]),
44834
44899
  _: 1
44835
44900
  }, 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")
44901
+ K("ul", uq, [(U(!0), W(H, null, B(S.value, (e) => (U(), W("li", { key: e }, [
44902
+ q(_, {
44903
+ name: C(e) ? "i-lucide-circle-check" : "i-lucide-circle-alert",
44904
+ class: M(C(e) ? "is-ready" : "is-warn")
44840
44905
  }, null, 8, ["name", "class"]),
44841
44906
  K("strong", null, P(e), 1),
44842
44907
  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
44908
  ]))), 128))]),
44844
44909
  q(pe, {
44845
- open: O.value,
44846
- "onUpdate:open": c[11] ||= (e) => O.value = e
44910
+ open: E.value,
44911
+ "onUpdate:open": c[9] ||= (e) => E.value = e
44847
44912
  }, {
44848
- content: L(() => [q(hW, {
44849
- participants: w.value,
44913
+ content: L(() => [q(gW, {
44914
+ participants: S.value,
44850
44915
  workspace: !1,
44851
44916
  "model-selection": !1
44852
44917
  }, null, 8, ["participants"])]),
44853
44918
  default: L(() => [q(fe, {
44854
- icon: O.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right",
44919
+ icon: E.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right",
44855
44920
  label: "调整启动配置",
44856
44921
  color: "neutral",
44857
44922
  variant: "link",
@@ -44860,31 +44925,31 @@ var $G = /*#__PURE__*/ nH({
44860
44925
  }, null, 8, ["icon"])]),
44861
44926
  _: 1
44862
44927
  }, 8, ["open"])
44863
- ], 64)) : Y("", !0)], 64)) : f.value ? Y("", !0) : (U(), G(hW, {
44928
+ ], 64)) : Y("", !0)], 64)) : (U(), G(gW, {
44864
44929
  key: 2,
44865
- participants: w.value,
44930
+ participants: S.value,
44866
44931
  workspace: !1,
44867
44932
  "model-selection": !1
44868
44933
  }, null, 8, ["participants"]))
44869
44934
  ])) : 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, [
44935
+ ], 32), K("footer", dq, [w.value && I(r).launch.error ? (U(), W("p", fq, P(I(r).launch.error), 1)) : Y("", !0), K("div", pq, [
44871
44936
  K("span", {
44872
44937
  class: "create-summary",
44873
- title: oe.value
44874
- }, P(oe.value), 9, _q),
44938
+ title: se.value
44939
+ }, P(se.value), 9, mq),
44875
44940
  q(fe, {
44876
44941
  label: "取消",
44877
44942
  color: "neutral",
44878
44943
  variant: "ghost",
44879
- onClick: c[12] ||= (e) => n("cancel")
44944
+ onClick: c[10] ||= (e) => n("cancel")
44880
44945
  }),
44881
44946
  q(fe, {
44882
44947
  type: "submit",
44883
44948
  form: "create-discussion-form",
44884
44949
  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,
44950
+ icon: w.value ? "i-lucide-play" : "i-lucide-plus",
44951
+ label: f.value ? d.value ? "创建并连接" : "创建协作房间" : w.value ? "创建并启动讨论" : "创建讨论",
44952
+ disabled: f.value ? !T.value : !y.value,
44888
44953
  loading: I(a) === "create"
44889
44954
  }, null, 8, [
44890
44955
  "icon",
@@ -44895,61 +44960,61 @@ var $G = /*#__PURE__*/ nH({
44895
44960
  ])])]);
44896
44961
  };
44897
44962
  }
44898
- }, [["__scopeId", "data-v-44c43618"]]), bq = {
44963
+ }, [["__scopeId", "data-v-62e36209"]]), _q = {
44899
44964
  key: 0,
44900
44965
  class: "channel-archive-manager"
44901
- }, xq = { class: "channel-archive-toolbar" }, Sq = {
44966
+ }, vq = { class: "channel-archive-toolbar" }, yq = {
44902
44967
  key: 0,
44903
44968
  class: "channel-archive-confirm channel-archive-bulk",
44904
44969
  role: "alert"
44905
- }, Cq = {
44970
+ }, bq = {
44906
44971
  key: 1,
44907
44972
  role: "alert",
44908
44973
  class: "channel-directory-error"
44909
- }, wq = { class: "channel-archive-results" }, Tq = {
44974
+ }, xq = { class: "channel-archive-results" }, Sq = {
44910
44975
  key: 0,
44911
44976
  class: "channel-archive-list",
44912
44977
  "aria-label": "已存档频道列表"
44913
- }, Eq = { class: "channel-archive-row" }, Dq = { class: "channel-archive-info" }, Oq = [
44978
+ }, Cq = { class: "channel-archive-row" }, wq = { class: "channel-archive-info" }, Tq = [
44914
44979
  "title",
44915
44980
  "disabled",
44916
44981
  "onClick"
44917
- ], kq = { key: 0 }, Aq = ["datetime"], jq = { class: "channel-archive-actions" }, Mq = {
44982
+ ], Eq = { key: 0 }, Dq = ["datetime"], Oq = { class: "channel-archive-actions" }, kq = {
44918
44983
  key: 0,
44919
44984
  class: "channel-archive-confirm channel-archive-bulk",
44920
44985
  role: "alert"
44921
- }, Nq = {
44986
+ }, Aq = {
44922
44987
  key: 1,
44923
44988
  class: "channel-archive-empty"
44924
- }, Pq = { class: "fine-print" }, Fq = { class: "dialog-actions" }, Iq = { class: "dialog-actions" }, Lq = { class: "channel-management-target" }, Rq = {
44989
+ }, jq = { class: "fine-print" }, Mq = { class: "dialog-actions" }, Nq = { class: "dialog-actions" }, Pq = { class: "channel-management-target" }, Fq = {
44925
44990
  key: 0,
44926
44991
  class: "fine-print"
44927
- }, zq = {
44992
+ }, Iq = {
44928
44993
  key: 1,
44929
44994
  class: "fine-print"
44930
- }, Bq = {
44995
+ }, Lq = {
44931
44996
  key: 2,
44932
44997
  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 = {
44998
+ }, Rq = { class: "dialog-actions" }, zq = { key: 4 }, Bq = { class: "theme-choices" }, Vq = ["aria-pressed", "onClick"], Hq = { class: "theme-check" }, Uq = { class: "channel-reading-setting" }, Wq = {
44934
44999
  class: "channel-reading-options",
44935
45000
  role: "group",
44936
45001
  "aria-labelledby": "channel-reading-label"
44937
- }, Jq = { class: "form-two-columns" }, Yq = { class: "advanced-content" }, Xq = { class: "form-two-columns" }, Zq = {
45002
+ }, Gq = { class: "form-two-columns" }, Kq = { class: "advanced-content" }, qq = { class: "form-two-columns" }, Jq = {
44938
45003
  key: 0,
44939
45004
  class: "fine-print"
44940
- }, Qq = { class: "advanced-content" }, $q = { class: "expert-fields" }, eJ = { class: "dialog-actions" }, tJ = { class: "dialog-actions" }, nJ = {
45005
+ }, Yq = { class: "advanced-content" }, Xq = { class: "expert-fields" }, Zq = { class: "dialog-actions" }, Qq = { class: "dialog-actions" }, $q = {
44941
45006
  key: 8,
44942
45007
  class: "original-message"
44943
- }, rJ = {
45008
+ }, eJ = {
44944
45009
  key: 0,
44945
45010
  role: "alert"
44946
- }, iJ = { class: "original-meta" }, aJ = { class: "fine-print" }, oJ = {
45011
+ }, tJ = { class: "original-meta" }, nJ = { class: "fine-print" }, rJ = {
44947
45012
  key: 0,
44948
45013
  class: "channel-answer-summary"
44949
- }, sJ = { class: "message-prose" }, cJ = { class: "message-prose" }, lJ = ["innerHTML"], uJ = {
45014
+ }, iJ = { class: "message-prose" }, aJ = { class: "message-prose" }, oJ = ["innerHTML"], sJ = {
44950
45015
  key: 2,
44951
45016
  class: "fine-print"
44952
- }, dJ = "topic-expert-modes", fJ = {
45017
+ }, cJ = "topic-expert-modes", lJ = {
44953
45018
  __name: "WorkspaceDialogs",
44954
45019
  props: /*@__PURE__*/ Fa({
44955
45020
  detailId: {
@@ -44993,7 +45058,7 @@ var $G = /*#__PURE__*/ nH({
44993
45058
  }
44994
45059
  }), d = {
44995
45060
  settings: "外观设置",
44996
- create: "新建讨论",
45061
+ create: "新建房间",
44997
45062
  folder: "新建文件夹",
44998
45063
  "rename-folder": "重命名文件夹",
44999
45064
  "delete-folder": "移除文件夹",
@@ -45009,7 +45074,7 @@ var $G = /*#__PURE__*/ nH({
45009
45074
  });
45010
45075
  let f = {
45011
45076
  settings: "选择适合你的讨论界面。",
45012
- create: "说清要讨论什么,选好参与的 AI,就可以开始。",
45077
+ create: "组织一场讨论,或邀请 AI 一起完成任务。",
45013
45078
  edit: "维护目标、参与身份与当前进度。",
45014
45079
  schedule: "只填写本轮问题,专家按需阅读讨论资料。",
45015
45080
  message: "保留作者、来源、提交人和引用关系。"
@@ -45203,7 +45268,7 @@ var $G = /*#__PURE__*/ nH({
45203
45268
  }
45204
45269
  }
45205
45270
  return (t, s) => {
45206
- let b = xV, x = pV, ce = uA, ue = MV, de = zk, ve = FV, Se = MG, Ce = LV, we = AG;
45271
+ let b = xV, x = pV, ce = uA, ue = MV, de = zk, ve = FV, Se = OG, Ce = LV, we = EG;
45207
45272
  return U(), G(we, {
45208
45273
  open: u.value,
45209
45274
  "onUpdate:open": s[24] ||= (e) => u.value = e,
@@ -45220,8 +45285,8 @@ var $G = /*#__PURE__*/ nH({
45220
45285
  },
45221
45286
  "onAfter:leave": be
45222
45287
  }, {
45223
- body: L(() => [i.value === "archives" ? (U(), W("section", bq, [
45224
- K("div", xq, [
45288
+ body: L(() => [i.value === "archives" ? (U(), W("section", _q, [
45289
+ K("div", vq, [
45225
45290
  q(b, {
45226
45291
  modelValue: m.value,
45227
45292
  "onUpdate:modelValue": s[0] ||= (e) => m.value = e,
@@ -45250,7 +45315,7 @@ var $G = /*#__PURE__*/ nH({
45250
45315
  }
45251
45316
  }, null, 8, ["label", "disabled"])
45252
45317
  ]),
45253
- y.value && _.value.length ? (U(), W("div", Sq, [
45318
+ y.value && _.value.length ? (U(), W("div", yq, [
45254
45319
  K("span", null, "将永久删除当前列表中的 " + P(_.value.length) + " 个频道及其全部记录,无法撤销。", 1),
45255
45320
  q(ce, {
45256
45321
  label: "取消",
@@ -45266,20 +45331,20 @@ var $G = /*#__PURE__*/ nH({
45266
45331
  onClick: E
45267
45332
  })
45268
45333
  ])) : 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", {
45334
+ I(a).directory_error ? (U(), W("p", bq, P(I(a).directory_error), 1)) : Y("", !0),
45335
+ K("div", xq, [_.value.length ? (U(), W("ul", Sq, [(U(!0), W(H, null, B(_.value, (e) => (U(), W("li", {
45271
45336
  key: e.id,
45272
45337
  class: "channel-archive-item"
45273
- }, [K("div", Eq, [K("div", Dq, [K("button", {
45338
+ }, [K("div", Cq, [K("div", wq, [K("button", {
45274
45339
  class: "channel-archive-title",
45275
45340
  title: e.title,
45276
45341
  disabled: !!I(l),
45277
45342
  onClick: (t) => w(e)
45278
- }, P(e.title), 9, Oq), K("small", null, [e.created_at ? (U(), W("span", kq, [
45343
+ }, P(e.title), 9, Tq), K("small", null, [e.created_at ? (U(), W("span", Eq, [
45279
45344
  s[25] ||= J("创建于 ", -1),
45280
- K("time", { datetime: e.created_at }, P(S(e.created_at)), 9, Aq),
45345
+ K("time", { datetime: e.created_at }, P(S(e.created_at)), 9, Dq),
45281
45346
  s[26] ||= J(" · ", -1)
45282
- ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", jq, [q(ce, {
45347
+ ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", Oq, [q(ce, {
45283
45348
  "aria-label": `彻底删除 ${e.title}`,
45284
45349
  title: "彻底删除",
45285
45350
  icon: "i-lucide-trash-2",
@@ -45311,7 +45376,7 @@ var $G = /*#__PURE__*/ nH({
45311
45376
  "aria-label",
45312
45377
  "disabled",
45313
45378
  "onClick"
45314
- ])])]), v.value === e.id ? (U(), W("div", Mq, [
45379
+ ])])]), v.value === e.id ? (U(), W("div", kq, [
45315
45380
  K("span", null, "永久删除「" + P(e.title) + "」及其全部记录,无法撤销。", 1),
45316
45381
  q(ce, {
45317
45382
  label: "取消",
@@ -45327,12 +45392,12 @@ var $G = /*#__PURE__*/ nH({
45327
45392
  disabled: C(e),
45328
45393
  onClick: T
45329
45394
  }, null, 8, ["disabled"])
45330
- ])) : Y("", !0)]))), 128))])) : (U(), W("p", Nq, P(p.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45395
+ ])) : Y("", !0)]))), 128))])) : (U(), W("p", Aq, P(p.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45331
45396
  ])) : i.value === "delete-folder" ? (U(), W("form", {
45332
45397
  key: 1,
45333
45398
  class: "dialog-form",
45334
45399
  onSubmit: uu(ne, ["prevent"])
45335
- }, [K("p", Pq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Fq, [q(ce, {
45400
+ }, [K("p", jq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Mq, [q(ce, {
45336
45401
  label: "取消",
45337
45402
  color: "neutral",
45338
45403
  variant: "ghost",
@@ -45363,7 +45428,7 @@ var $G = /*#__PURE__*/ nH({
45363
45428
  "modelValue",
45364
45429
  "aria-label",
45365
45430
  "readonly"
45366
- ]), K("div", Iq, [q(ce, {
45431
+ ]), K("div", Nq, [q(ce, {
45367
45432
  label: "取消",
45368
45433
  color: "neutral",
45369
45434
  variant: "ghost",
@@ -45388,10 +45453,10 @@ var $G = /*#__PURE__*/ nH({
45388
45453
  class: "dialog-form",
45389
45454
  onSubmit: uu(te, ["prevent"])
45390
45455
  }, [
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),
45456
+ K("p", Pq, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
45457
+ i.value === "archive" ? (U(), W("p", Fq, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
45458
+ i.value === "restore" ? (U(), W("p", Iq, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
45459
+ i.value === "delete" ? (U(), W("p", Lq, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
45395
45460
  i.value === "rename" ? (U(), G(ue, {
45396
45461
  key: 3,
45397
45462
  label: "频道名称",
@@ -45408,7 +45473,7 @@ var $G = /*#__PURE__*/ nH({
45408
45473
  }, null, 8, ["modelValue"])]),
45409
45474
  _: 1
45410
45475
  })) : Y("", !0),
45411
- K("div", Vq, [q(ce, {
45476
+ K("div", Rq, [q(ce, {
45412
45477
  label: "取消",
45413
45478
  color: "neutral",
45414
45479
  variant: "ghost",
@@ -45425,7 +45490,7 @@ var $G = /*#__PURE__*/ nH({
45425
45490
  "loading",
45426
45491
  "disabled"
45427
45492
  ])])
45428
- ], 32)) : i.value === "settings" ? (U(), W("div", Hq, [K("div", Uq, [(U(), W(H, null, B(he, (e) => K("button", {
45493
+ ], 32)) : i.value === "settings" ? (U(), W("div", zq, [K("div", Bq, [(U(), W(H, null, B(he, (e) => K("button", {
45429
45494
  key: e.value,
45430
45495
  class: M({ chosen: I(a).theme === e.value }),
45431
45496
  "aria-pressed": I(a).theme === e.value,
@@ -45440,11 +45505,11 @@ var $G = /*#__PURE__*/ nH({
45440
45505
  K("b")
45441
45506
  ], -1)]], 2),
45442
45507
  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, {
45508
+ K("span", Hq, [I(a).theme === e.value ? (U(), G(de, {
45444
45509
  key: 0,
45445
45510
  name: "i-lucide-check"
45446
45511
  })) : 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, {
45512
+ ], 10, Vq)), 64))]), K("section", Uq, [s[28] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", Wq, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(ce, {
45448
45513
  key: e.value,
45449
45514
  label: e.label,
45450
45515
  color: "neutral",
@@ -45457,7 +45522,7 @@ var $G = /*#__PURE__*/ nH({
45457
45522
  "class",
45458
45523
  "aria-pressed",
45459
45524
  "onClick"
45460
- ]))), 128))])])])) : i.value === "create" ? (U(), G(yq, {
45525
+ ]))), 128))])])])) : i.value === "create" ? (U(), G(gq, {
45461
45526
  key: 5,
45462
45527
  "target-folder": e.targetFolder,
45463
45528
  onSubmit: N,
@@ -45492,7 +45557,7 @@ var $G = /*#__PURE__*/ nH({
45492
45557
  }, null, 8, ["model-value"])]),
45493
45558
  _: 1
45494
45559
  }),
45495
- K("div", Jq, [q(ue, { label: "主持人" }, {
45560
+ K("div", Gq, [q(ue, { label: "主持人" }, {
45496
45561
  default: L(() => [q(x, {
45497
45562
  "model-value": I(a).fields[ge("host")],
45498
45563
  items: I(ie),
@@ -45526,9 +45591,9 @@ var $G = /*#__PURE__*/ nH({
45526
45591
  }, null, 8, ["model-value"])]),
45527
45592
  _: 1
45528
45593
  })) : Y("", !0),
45529
- K("section", Yq, [
45594
+ K("section", Kq, [
45530
45595
  s[29] ||= K("h3", null, "讨论上限", -1),
45531
- K("div", Xq, [
45596
+ K("div", qq, [
45532
45597
  (U(!0), W(H, null, B(le.value, (e) => (U(), G(ue, {
45533
45598
  key: e.key,
45534
45599
  label: e.label
@@ -45589,14 +45654,14 @@ var $G = /*#__PURE__*/ nH({
45589
45654
  })) : Y("", !0)
45590
45655
  ]),
45591
45656
  s[30] ||= K("p", { class: "fine-print" }, "轮次、总时长、单次执行留空或 0 表示不限。一轮指每位专家各完成一次观点;首次进入讨论阶段或创建安排后计时,暂停期间不计时。收束预留计入总时长。", -1),
45592
- se.value ? (U(), W("p", Zq, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
45657
+ se.value ? (U(), W("p", Jq, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
45593
45658
  ]),
45594
45659
  q(Se, {
45595
45660
  open: oe.value,
45596
45661
  "onUpdate:open": s[19] ||= (e) => oe.value = e,
45597
45662
  class: "advanced-fields"
45598
45663
  }, {
45599
- content: L(() => [K("div", Qq, [
45664
+ content: L(() => [K("div", Yq, [
45600
45665
  (U(), W(H, null, B([
45601
45666
  {
45602
45667
  key: "user_request",
@@ -45623,11 +45688,11 @@ var $G = /*#__PURE__*/ nH({
45623
45688
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
45624
45689
  _: 2
45625
45690
  }, 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",
45691
+ K("div", Xq, [(U(!0), W(H, null, B(I(re), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(x, {
45692
+ "model-value": I(a).experts[cJ]?.[e] || "none",
45628
45693
  items: A,
45629
45694
  "aria-label": `${e} 参与方式`,
45630
- "onUpdate:modelValue": (t) => I(o).write_expert(dJ, e, t === "none" ? "" : t)
45695
+ "onUpdate:modelValue": (t) => I(o).write_expert(cJ, e, t === "none" ? "" : t)
45631
45696
  }, null, 8, [
45632
45697
  "model-value",
45633
45698
  "aria-label",
@@ -45645,7 +45710,7 @@ var $G = /*#__PURE__*/ nH({
45645
45710
  }, null, 8, ["trailing-icon"])]),
45646
45711
  _: 1
45647
45712
  }, 8, ["open"]),
45648
- K("div", eJ, [q(ce, {
45713
+ K("div", Zq, [q(ce, {
45649
45714
  label: "取消",
45650
45715
  color: "neutral",
45651
45716
  variant: "ghost",
@@ -45689,7 +45754,7 @@ var $G = /*#__PURE__*/ nH({
45689
45754
  _: 1
45690
45755
  }),
45691
45756
  s[32] ||= K("p", { class: "fine-print" }, "创建后为待通知状态;由主持人实际联系专家。", -1),
45692
- K("div", tJ, [q(ce, {
45757
+ K("div", Qq, [q(ce, {
45693
45758
  label: "取消",
45694
45759
  variant: "ghost",
45695
45760
  color: "neutral",
@@ -45700,8 +45765,8 @@ var $G = /*#__PURE__*/ nH({
45700
45765
  label: "创建发言安排",
45701
45766
  loading: I(l) === "schedule"
45702
45767
  }, 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, [
45768
+ ], 32)) : i.value === "message" ? (U(), W("div", $q, [fe.value ? (U(), W("p", eJ, P(fe.value), 1)) : j.value ? (U(), W(H, { key: 1 }, [
45769
+ K("div", tJ, [
45705
45770
  K("strong", null, P(I(o).display_name(j.value.author)), 1),
45706
45771
  K("span", null, "#" + P(j.value.id), 1),
45707
45772
  q(Ce, {
@@ -45712,14 +45777,14 @@ var $G = /*#__PURE__*/ nH({
45712
45777
  _: 1
45713
45778
  })
45714
45779
  ]),
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),
45780
+ K("p", nJ, P(I(o).provenance(j.value)) + " · " + P(new Date(j.value.created_at).toLocaleString("zh-CN")), 1),
45781
+ j.value.summary ? (U(), W("section", rJ, [K("small", null, "回答摘要 · " + P(I(o).display_name(j.value.summary_by)), 1), K("p", iJ, P(j.value.summary), 1)])) : Y("", !0),
45782
+ K("p", aJ, P(j.value.text), 1),
45718
45783
  j.value.attachments?.length ? (U(), W("div", {
45719
45784
  key: 1,
45720
45785
  onClick: ye,
45721
45786
  innerHTML: I(o).attachment_markup(j.value.attachments)
45722
- }, null, 8, lJ)) : Y("", !0),
45787
+ }, null, 8, oJ)) : Y("", !0),
45723
45788
  j.value.reply_to ? (U(), G(ce, {
45724
45789
  key: 2,
45725
45790
  label: `查看被回复的原文 #${j.value.reply_to}`,
@@ -45729,7 +45794,7 @@ var $G = /*#__PURE__*/ nH({
45729
45794
  class: "channel-surface-button",
45730
45795
  onClick: xe
45731
45796
  }, null, 8, ["label"])) : Y("", !0)
45732
- ], 64)) : (U(), W("p", uJ, "正在读取原文…"))])) : Y("", !0)]),
45797
+ ], 64)) : (U(), W("p", sJ, "正在读取原文…"))])) : Y("", !0)]),
45733
45798
  _: 1
45734
45799
  }, 8, [
45735
45800
  "open",
@@ -45739,7 +45804,7 @@ var $G = /*#__PURE__*/ nH({
45739
45804
  ]);
45740
45805
  };
45741
45806
  }
45742
- }, pJ = {
45807
+ }, uJ = {
45743
45808
  __name: "ContextMenuContent",
45744
45809
  props: {
45745
45810
  items: {
@@ -46034,7 +46099,7 @@ var $G = /*#__PURE__*/ nH({
46034
46099
  "disabled",
46035
46100
  "text-value",
46036
46101
  "class"
46037
- ]), q(pJ, X({
46102
+ ]), q(uJ, X({
46038
46103
  sub: "",
46039
46104
  class: r.ui?.content,
46040
46105
  ui: e.ui,
@@ -46145,7 +46210,7 @@ var $G = /*#__PURE__*/ nH({
46145
46210
  _: 3
46146
46211
  }, 16)], 64));
46147
46212
  }
46148
- }, mJ = {
46213
+ }, dJ = {
46149
46214
  slots: {
46150
46215
  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
46216
  viewport: "relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",
@@ -46333,7 +46398,7 @@ var $G = /*#__PURE__*/ nH({
46333
46398
  }
46334
46399
  ],
46335
46400
  defaultVariants: { size: "md" }
46336
- }, hJ = {
46401
+ }, fJ = {
46337
46402
  __name: "ContextMenu",
46338
46403
  props: {
46339
46404
  size: {
@@ -46403,7 +46468,7 @@ var $G = /*#__PURE__*/ nH({
46403
46468
  emits: ["update:open"],
46404
46469
  setup(e, { emit: t }) {
46405
46470
  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,
46471
+ extend: dJ,
46407
46472
  ...o.ui?.contextMenu || {}
46408
46473
  })({ size: a.size }));
46409
46474
  return (e, t) => (U(), G(I(GS), N(Ss(I(s))), {
@@ -46415,7 +46480,7 @@ var $G = /*#__PURE__*/ nH({
46415
46480
  }, {
46416
46481
  default: L(() => [V(e.$slots, "default")]),
46417
46482
  _: 3
46418
- }, 8, ["disabled", "class"])) : Y("", !0), q(pJ, X({
46483
+ }, 8, ["disabled", "class"])) : Y("", !0), q(uJ, X({
46419
46484
  class: u.value.content({ class: [!i.default && I(a).class, I(a).ui?.content] }),
46420
46485
  ui: u.value,
46421
46486
  "ui-override": I(a).ui
@@ -46445,43 +46510,43 @@ var $G = /*#__PURE__*/ nH({
46445
46510
  _: 3
46446
46511
  }, 16));
46447
46512
  }
46448
- }, gJ = { class: "channel-directory-manager" }, _J = { class: "channel-directory-heading" }, vJ = ["aria-expanded"], yJ = { class: "channel-directory-actions" }, bJ = {
46513
+ }, pJ = { class: "channel-directory-manager" }, mJ = { class: "channel-directory-heading" }, hJ = ["aria-expanded"], gJ = { class: "channel-directory-actions" }, _J = {
46449
46514
  "aria-label": "讨论频道列表",
46450
46515
  class: "channel-room-list",
46451
46516
  "data-room-directory": ""
46452
- }, xJ = ["data-room-folder", "data-drag-folder"], SJ = {
46517
+ }, vJ = ["data-room-folder", "data-drag-folder"], yJ = {
46453
46518
  key: 0,
46454
46519
  class: "channel-folder-row"
46455
- }, CJ = [
46520
+ }, bJ = [
46456
46521
  "disabled",
46457
46522
  "aria-label",
46458
46523
  "aria-expanded",
46459
46524
  "onKeydown",
46460
46525
  "onClick"
46461
- ], wJ = { class: "channel-folder-name" }, TJ = { class: "channel-folder-actions" }, EJ = {
46526
+ ], xJ = { class: "channel-folder-name" }, SJ = { class: "channel-folder-actions" }, CJ = {
46462
46527
  class: "channel-directory-count",
46463
46528
  "aria-hidden": "true"
46464
- }, DJ = ["data-drop-folder"], OJ = {
46529
+ }, wJ = ["data-drop-folder"], TJ = {
46465
46530
  key: 0,
46466
46531
  class: "channel-directory-empty",
46467
46532
  role: "status"
46468
- }, kJ = ["data-drag-room"], AJ = [
46533
+ }, EJ = ["data-drag-room"], DJ = [
46469
46534
  "aria-label",
46470
46535
  "disabled",
46471
46536
  "onKeydown"
46472
- ], jJ = [
46537
+ ], OJ = [
46473
46538
  "title",
46474
46539
  "aria-label",
46475
46540
  "aria-current",
46476
46541
  "onClick"
46477
- ], MJ = { class: "channel-room-actions" }, NJ = {
46542
+ ], kJ = { class: "channel-room-actions" }, AJ = {
46478
46543
  key: 0,
46479
46544
  class: "channel-directory-empty"
46480
- }, PJ = {
46545
+ }, jJ = {
46481
46546
  key: 0,
46482
46547
  role: "alert",
46483
46548
  class: "channel-directory-error"
46484
- }, FJ = {
46549
+ }, MJ = {
46485
46550
  __name: "ChannelDirectory",
46486
46551
  emits: [
46487
46552
  "select",
@@ -46658,8 +46723,8 @@ var $G = /*#__PURE__*/ nH({
46658
46723
  ];
46659
46724
  }
46660
46725
  return (e, t) => {
46661
- let u = uA, h = zk, v = EV, y = VV, b = hJ;
46662
- return U(), W("div", gJ, [
46726
+ let u = uA, h = zk, v = EV, y = VV, b = fJ;
46727
+ return U(), W("div", pJ, [
46663
46728
  q(u, {
46664
46729
  label: "新建对话",
46665
46730
  icon: "i-lucide-square-pen",
@@ -46669,12 +46734,12 @@ var $G = /*#__PURE__*/ nH({
46669
46734
  disabled: I(r).directory_pending.includes("create-room"),
46670
46735
  onClick: t[0] ||= (e) => n("create", null)
46671
46736
  }, null, 8, ["disabled"]),
46672
- K("div", _J, [K("button", {
46737
+ K("div", mJ, [K("button", {
46673
46738
  type: "button",
46674
46739
  class: "channel-section-toggle",
46675
46740
  "aria-expanded": f.value,
46676
46741
  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, {
46742
+ }, [q(h, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("讨论频道", -1)], 8, hJ), K("div", gJ, [q(v, {
46678
46743
  items: d.value,
46679
46744
  content: {
46680
46745
  align: "end",
@@ -46703,12 +46768,12 @@ var $G = /*#__PURE__*/ nH({
46703
46768
  }, null, 8, ["disabled"])]),
46704
46769
  _: 1
46705
46770
  })])]),
46706
- vr(K("nav", bJ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
46771
+ vr(K("nav", _J, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
46707
46772
  key: e.order_id,
46708
46773
  class: "channel-folder-section",
46709
46774
  "data-room-folder": e.id,
46710
46775
  "data-drag-folder": e.order_id
46711
- }, [e.id ? (U(), W("div", SJ, [
46776
+ }, [e.id ? (U(), W("div", yJ, [
46712
46777
  K("button", {
46713
46778
  class: "channel-folder-heading",
46714
46779
  "data-drop-folder": "",
@@ -46730,9 +46795,9 @@ var $G = /*#__PURE__*/ nH({
46730
46795
  }, [
46731
46796
  q(h, { name: p.value.has(e.id) ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
46732
46797
  q(h, { name: "i-lucide-folder" }),
46733
- K("span", wJ, P(e.name), 1)
46734
- ], 40, CJ),
46735
- K("div", TJ, [q(v, {
46798
+ K("span", xJ, P(e.name), 1)
46799
+ ], 40, bJ),
46800
+ K("div", SJ, [q(v, {
46736
46801
  items: m(e, s),
46737
46802
  content: {
46738
46803
  align: "start",
@@ -46766,12 +46831,12 @@ var $G = /*#__PURE__*/ nH({
46766
46831
  ])]),
46767
46832
  _: 2
46768
46833
  }, 1032, ["text"])]),
46769
- K("small", EJ, P(e.pending ? "保存中" : e.rooms.length), 1)
46834
+ K("small", CJ, P(e.pending ? "保存中" : e.rooms.length), 1)
46770
46835
  ])) : Y("", !0), !e.id || !p.value.has(e.id) ? (U(), W("div", {
46771
46836
  key: 1,
46772
46837
  class: M(e.id ? "channel-folder-rooms" : "channel-root-rooms"),
46773
46838
  "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, {
46839
+ }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", TJ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(b, {
46775
46840
  key: s.id,
46776
46841
  items: _(s, c, s.folder_id || null, e.rooms.length),
46777
46842
  ui: { content: "channel-menu channel-topic-menu" }
@@ -46796,7 +46861,7 @@ var $G = /*#__PURE__*/ nH({
46796
46861
  direction: 1,
46797
46862
  folder_id: s.folder_id || null
46798
46863
  }), ["prevent"]), ["down"])]
46799
- }, [q(h, { name: "i-lucide-grip-vertical" })], 40, AJ),
46864
+ }, [q(h, { name: "i-lucide-grip-vertical" })], 40, DJ),
46800
46865
  K("button", {
46801
46866
  class: "channel-room-select",
46802
46867
  "data-drag-title": "",
@@ -46805,8 +46870,8 @@ var $G = /*#__PURE__*/ nH({
46805
46870
  "aria-current": s.id === I(r).room?.id ? "page" : void 0,
46806
46871
  onPointerdown: t[5] ||= (e) => !I(o) && I(i).start_drag(e),
46807
46872
  onClick: (e) => n("select", s.id)
46808
- }, [K("span", null, P(s.title), 1)], 40, jJ),
46809
- K("div", MJ, [q(y, {
46873
+ }, [K("span", null, P(s.title), 1)], 40, OJ),
46874
+ K("div", kJ, [q(y, {
46810
46875
  text: s.archived ? "恢复频道" : "存档频道",
46811
46876
  ui: { content: "channel-topic-tooltip" }
46812
46877
  }, {
@@ -46847,9 +46912,9 @@ var $G = /*#__PURE__*/ nH({
46847
46912
  }, null, 8, ["aria-label"])]),
46848
46913
  _: 2
46849
46914
  }, 1032, ["items"])])
46850
- ], 10, kJ)]),
46915
+ ], 10, EJ)]),
46851
46916
  _: 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]]),
46917
+ }, 1032, ["items"]))), 128))], 10, wJ)) : Y("", !0)], 8, vJ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", AJ, "暂无讨论频道"))], 512), [[Vc, f.value]]),
46853
46918
  vr(q(u, {
46854
46919
  icon: "i-lucide-archive",
46855
46920
  label: `已存档 · ${c.value}`,
@@ -46860,61 +46925,61 @@ var $G = /*#__PURE__*/ nH({
46860
46925
  "aria-haspopup": "dialog",
46861
46926
  onClick: t[6] ||= (e) => n("archives")
46862
46927
  }, null, 8, ["label"]), [[Vc, f.value]]),
46863
- I(r).directory_error ? (U(), W("p", PJ, P(I(r).directory_error), 1)) : Y("", !0)
46928
+ I(r).directory_error ? (U(), W("p", jJ, P(I(r).directory_error), 1)) : Y("", !0)
46864
46929
  ]);
46865
46930
  };
46866
46931
  }
46867
- }, IJ = {
46932
+ }, NJ = {
46868
46933
  key: 0,
46869
46934
  class: "pb-header"
46870
- }, LJ = { class: "pb-mode" }, RJ = { class: "pb-status-line" }, zJ = { role: "status" }, BJ = {
46935
+ }, PJ = { class: "pb-mode" }, FJ = { class: "pb-status-line" }, IJ = { role: "status" }, LJ = {
46871
46936
  key: 0,
46872
46937
  class: "pb-mode"
46873
- }, VJ = {
46938
+ }, RJ = {
46874
46939
  key: 0,
46875
46940
  class: "pb-status-detail"
46876
- }, HJ = {
46941
+ }, zJ = {
46877
46942
  key: 1,
46878
46943
  class: "pb-status-detail"
46879
- }, UJ = { class: "pb-error-detail" }, WJ = {
46944
+ }, BJ = { class: "pb-error-detail" }, VJ = {
46880
46945
  key: 2,
46881
46946
  class: "pb-meters"
46882
- }, GJ = { class: "pb-meter-label" }, KJ = {
46947
+ }, HJ = { class: "pb-meter-label" }, UJ = {
46883
46948
  key: 0,
46884
46949
  class: "pb-bar"
46885
- }, qJ = {
46950
+ }, WJ = {
46886
46951
  key: 1,
46887
46952
  class: "pb-section",
46888
46953
  "aria-label": "当前焦点"
46889
- }, JJ = {
46954
+ }, GJ = {
46890
46955
  class: "pb-section",
46891
46956
  "aria-label": "参与者"
46892
- }, YJ = {
46957
+ }, KJ = {
46893
46958
  key: 0,
46894
46959
  class: "pb-status-detail pb-held"
46895
- }, XJ = { class: "pb-members" }, ZJ = { class: "pb-member-body" }, QJ = { class: "pb-member-name" }, $J = {
46960
+ }, qJ = { class: "pb-members" }, JJ = { class: "pb-member-body" }, YJ = { class: "pb-member-name" }, XJ = {
46896
46961
  class: "pb-member-model",
46897
46962
  title: "本场启动配置;默认模型与默认强度由对应软件决定"
46898
- }, eY = { key: 0 }, tY = {
46963
+ }, ZJ = { key: 0 }, QJ = {
46899
46964
  key: 2,
46900
46965
  class: "pb-actions",
46901
46966
  "aria-label": "操作"
46902
- }, nY = {
46967
+ }, $J = {
46903
46968
  key: 3,
46904
46969
  class: "pb-section",
46905
46970
  "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 = {
46971
+ }, eY = { class: "pb-timing-heading" }, tY = ["aria-label"], nY = { class: "pb-timing-totals" }, rY = ["title"], iY = { class: "pb-timings" }, aY = { class: "pb-timing-who" }, oY = { class: "pb-timing-stages" }, sY = ["title"], cY = {
46907
46972
  key: 0,
46908
46973
  class: "pb-note"
46909
- }, fY = { class: "pb-connection" }, pY = { class: "fine-print" }, mY = {
46974
+ }, lY = { class: "pb-connection" }, uY = { class: "fine-print" }, dY = {
46910
46975
  key: 0,
46911
46976
  role: "status",
46912
46977
  class: "fine-print"
46913
- }, hY = {
46978
+ }, fY = {
46914
46979
  key: 2,
46915
46980
  role: "alert",
46916
46981
  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({
46982
+ }, pY = { key: 2 }, mY = { class: "progress-ending" }, hY = ["disabled"], gY = { key: 0 }, _Y = ["disabled"], vY = 90, yY = 100, bY = /*#__PURE__*/ nH({
46918
46983
  __name: "ProgressBoard",
46919
46984
  props: { docked: {
46920
46985
  type: Boolean,
@@ -46951,7 +47016,7 @@ var $G = /*#__PURE__*/ nH({
46951
47016
  "initial",
46952
47017
  "discussing",
46953
47018
  "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 || {
47019
+ ].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 > vY), k = Z(() => g.value.timings || {
46955
47020
  items: [],
46956
47021
  totals: {},
46957
47022
  count: 0
@@ -46985,7 +47050,7 @@ var $G = /*#__PURE__*/ nH({
46985
47050
  if (e.phase === "paused") {
46986
47051
  let e = O.value;
46987
47052
  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;
47053
+ let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > yY ? `${n.slice(0, yY)}…` : n;
46989
47054
  return {
46990
47055
  tone: "error",
46991
47056
  title: "已暂停",
@@ -47077,26 +47142,26 @@ var $G = /*#__PURE__*/ nH({
47077
47142
  await i(e) && (o.value = !1);
47078
47143
  }
47079
47144
  return (e, l) => {
47080
- let u = Gk, d = zk, O = uA, A = EV, se = pV, j = MV, pe = AG;
47145
+ let u = Gk, d = zk, O = uA, A = EV, se = pV, j = MV, pe = EG;
47081
47146
  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),
47147
+ t.docked ? (U(), W("header", NJ, [l[11] ||= K("strong", null, "讨论进度", -1), K("span", PJ, P(_.value ? "全自动" : "手动"), 1)])) : Y("", !0),
47083
47148
  K("section", {
47084
47149
  class: M(["pb-status", `is-${ie.value.tone}`]),
47085
47150
  "aria-label": "讨论状态"
47086
47151
  }, [
47087
- K("div", RJ, [
47152
+ K("div", FJ, [
47088
47153
  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))
47154
+ K("strong", IJ, P(ie.value.title), 1),
47155
+ t.docked ? Y("", !0) : (U(), W("span", LJ, P(_.value ? "全自动" : "手动"), 1))
47091
47156
  ]),
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", {
47157
+ ie.value.detail ? (U(), W("p", RJ, P(ie.value.detail), 1)) : Y("", !0),
47158
+ ie.value.full_detail ? (U(), W("details", zJ, [l[13] ||= K("summary", null, "查看错误详情", -1), K("pre", BJ, P(ie.value.full_detail), 1)])) : Y("", !0),
47159
+ ae.value.length ? (U(), W("div", VJ, [(U(!0), W(H, null, B(ae.value, (e) => (U(), W("div", {
47095
47160
  key: e.label,
47096
47161
  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)
47162
+ }, [K("div", HJ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", UJ, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
47098
47163
  ], 2),
47099
- ee.value ? (U(), W("section", qJ, [
47164
+ ee.value ? (U(), W("section", WJ, [
47100
47165
  l[14] ||= K("h4", null, "当前焦点", -1),
47101
47166
  K("p", { class: M(["pb-focus", { "is-expanded": s.value }]) }, P(ee.value), 3),
47102
47167
  te.value ? (U(), W("button", {
@@ -47106,10 +47171,10 @@ var $G = /*#__PURE__*/ nH({
47106
47171
  onClick: l[0] ||= (e) => s.value = !s.value
47107
47172
  }, P(s.value ? "收起" : "展开"), 1)) : Y("", !0)
47108
47173
  ])) : Y("", !0),
47109
- K("section", JJ, [
47174
+ K("section", GJ, [
47110
47175
  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", {
47176
+ m.value.held_since && v.value && !y.value ? (U(), W("p", KJ, "用户有新操作," + P(I(r).display_name(v.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
47177
+ K("ul", qJ, [(U(!0), W(H, null, B(D.value, (e) => (U(), W("li", {
47113
47178
  key: e.name,
47114
47179
  class: "pb-member"
47115
47180
  }, [
@@ -47125,8 +47190,8 @@ var $G = /*#__PURE__*/ nH({
47125
47190
  "alt",
47126
47191
  "class"
47127
47192
  ]),
47128
- K("div", ZJ, [
47129
- K("div", QJ, [
47193
+ K("div", JJ, [
47194
+ K("div", YJ, [
47130
47195
  J(P(I(r).display_name(e.name)), 1),
47131
47196
  e.is_host ? (U(), G(d, {
47132
47197
  key: 0,
@@ -47135,14 +47200,14 @@ var $G = /*#__PURE__*/ nH({
47135
47200
  })) : Y("", !0),
47136
47201
  K("small", null, P(e.is_host ? `主持 · ${e.mode}` : e.mode), 1)
47137
47202
  ]),
47138
- K("div", $J, P(e.model), 1),
47203
+ K("div", XJ, P(e.model), 1),
47139
47204
  x.value ? Y("", !0) : (U(), W("div", {
47140
47205
  key: 0,
47141
47206
  class: M(["pb-member-status", `is-${e.tone}`])
47142
47207
  }, [
47143
47208
  l[15] ||= K("span", { class: "pb-dot" }, null, -1),
47144
47209
  J(P(e.text), 1),
47145
- e.failures ? (U(), W("small", eY, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47210
+ e.failures ? (U(), W("small", ZJ, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47146
47211
  ], 2))
47147
47212
  ]),
47148
47213
  e.session ? (U(), G(A, {
@@ -47163,7 +47228,7 @@ var $G = /*#__PURE__*/ nH({
47163
47228
  }, 1032, ["items"])) : Y("", !0)
47164
47229
  ]))), 128))])
47165
47230
  ]),
47166
- T.value ? (U(), W("section", tY, [
47231
+ T.value ? (U(), W("section", QJ, [
47167
47232
  S.value ? (U(), G(O, {
47168
47233
  key: 0,
47169
47234
  icon: "i-lucide-rotate-ccw",
@@ -47212,8 +47277,8 @@ var $G = /*#__PURE__*/ nH({
47212
47277
  onClick: l[4] ||= (e) => o.value = !0
47213
47278
  })) : Y("", !0)
47214
47279
  ])) : 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)]),
47280
+ _.value && k.value.count ? (U(), W("section", $J, [
47281
+ K("div", eY, [l[17] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(k.value.count) + " 次执行", 1)]),
47217
47282
  K("div", {
47218
47283
  class: "pb-timing-bar",
47219
47284
  role: "img",
@@ -47222,18 +47287,18 @@ var $G = /*#__PURE__*/ nH({
47222
47287
  key: e.key,
47223
47288
  class: M(`is-${e.key}`),
47224
47289
  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", {
47290
+ }, null, 6))), 128))], 8, tY),
47291
+ K("dl", nY, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", {
47227
47292
  key: e.key,
47228
47293
  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, [
47294
+ }, [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, rY))), 128))]),
47295
+ K("details", iY, [
47231
47296
  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", {
47297
+ K("ol", null, [(U(!0), W(H, null, B(k.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", aY, [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", oY, [(U(), W(H, null, B(f, (t) => K("span", {
47233
47298
  key: t.key,
47234
47299
  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)
47300
+ }, P(t.label) + " " + P(ue(e[t.key])), 9, sY)), 64))])]))), 128))]),
47301
+ k.value.count > k.value.items.length ? (U(), W("p", cY, "只列出最近 " + P(k.value.items.length) + " 次,共 " + P(k.value.count) + " 次执行。", 1)) : Y("", !0)
47237
47302
  ])
47238
47303
  ])) : Y("", !0),
47239
47304
  q(pe, {
@@ -47246,7 +47311,7 @@ var $G = /*#__PURE__*/ nH({
47246
47311
  body: "dialog-body"
47247
47312
  }
47248
47313
  }, {
47249
- body: L(() => [K("div", fY, [g.value.status === "running" ? (U(), W(H, { key: 0 }, [l[19] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(O, {
47314
+ body: L(() => [K("div", lY, [g.value.status === "running" ? (U(), W(H, { key: 0 }, [l[19] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(O, {
47250
47315
  label: "暂停并读取配置",
47251
47316
  icon: "i-lucide-pause",
47252
47317
  class: "channel-primary-button",
@@ -47269,7 +47334,7 @@ var $G = /*#__PURE__*/ nH({
47269
47334
  }, null, 8, ["model-value", "disabled"])]),
47270
47335
  _: 1
47271
47336
  }),
47272
- K("p", pY, P(re.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47337
+ K("p", uY, P(re.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47273
47338
  q(O, {
47274
47339
  label: "保存接入方式",
47275
47340
  class: "channel-primary-button",
@@ -47277,7 +47342,7 @@ var $G = /*#__PURE__*/ nH({
47277
47342
  disabled: !!I(a),
47278
47343
  onClick: l[6] ||= (e) => I(i)("save_room_configuration")
47279
47344
  }, null, 8, ["loading", "disabled"]),
47280
- I(n).launch.repair?.notice ? (U(), W("p", mY, P(I(n).launch.repair.notice), 1)) : Y("", !0)
47345
+ I(n).launch.repair?.notice ? (U(), W("p", dY, P(I(n).launch.repair.notice), 1)) : Y("", !0)
47281
47346
  ], 64)) : (U(), G(O, {
47282
47347
  key: 1,
47283
47348
  label: "读取本场配置",
@@ -47285,7 +47350,7 @@ var $G = /*#__PURE__*/ nH({
47285
47350
  color: "neutral",
47286
47351
  loading: !!I(a),
47287
47352
  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, "本场状态已变化,请关闭后重新核对。"))])]),
47353
+ }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", fY, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", pY, "本场状态已变化,请关闭后重新核对。"))])]),
47289
47354
  _: 1
47290
47355
  }, 8, ["open"]),
47291
47356
  q(pe, {
@@ -47298,7 +47363,7 @@ var $G = /*#__PURE__*/ nH({
47298
47363
  body: "dialog-body"
47299
47364
  }
47300
47365
  }, {
47301
- body: L(() => [K("div", _Y, [K("button", {
47366
+ body: L(() => [K("div", mY, [K("button", {
47302
47367
  type: "button",
47303
47368
  class: "progress-ending-option",
47304
47369
  disabled: !E.value || !!I(a),
@@ -47306,19 +47371,19 @@ var $G = /*#__PURE__*/ nH({
47306
47371
  }, [
47307
47372
  l[20] ||= K("strong", null, "请主持人收尾", -1),
47308
47373
  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", {
47374
+ E.value ? Y("", !0) : (U(), W("small", gY, P(h.value.closing ? "已在收尾中。" : "仅进行中的讨论可以收尾;暂停后可先重启再收尾,或直接结束并保留记录。"), 1))
47375
+ ], 8, hY), K("button", {
47311
47376
  type: "button",
47312
47377
  class: "progress-ending-option",
47313
47378
  disabled: b.value || !!I(a),
47314
47379
  onClick: l[9] ||= (e) => de("conclude_discussion")
47315
- }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, bY)])]),
47380
+ }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, _Y)])]),
47316
47381
  _: 1
47317
47382
  }, 8, ["open"])
47318
47383
  ], 2);
47319
47384
  };
47320
47385
  }
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 = {
47386
+ }, [["__scopeId", "data-v-9928cf63"]]), xY = { class: "progress-panel-anchor" }, SY = ["aria-expanded", "aria-label"], CY = { class: "progress-chip-text" }, wY = { class: "progress-chip-rounds" }, TY = {
47322
47387
  __name: "ProgressPanel",
47323
47388
  setup(e) {
47324
47389
  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 +47413,7 @@ var $G = /*#__PURE__*/ nH({
47348
47413
  }), 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
47414
  return (e, t) => {
47350
47415
  let n = VV, a = dV;
47351
- return U(), W("div", wY, [q(n, { text: "查看讨论进度" }, {
47416
+ return U(), W("div", xY, [q(n, { text: "查看讨论进度" }, {
47352
47417
  default: L(() => [K("button", {
47353
47418
  type: "button",
47354
47419
  class: M(["progress-chip", `is-${o.value.tone}`]),
@@ -47356,7 +47421,7 @@ var $G = /*#__PURE__*/ nH({
47356
47421
  "aria-expanded": r.value,
47357
47422
  "aria-label": `查看讨论进度:${c.value}`,
47358
47423
  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)]),
47424
+ }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", CY, [J(P(o.value.title), 1), K("span", wY, " · " + P(s.value), 1)])], 10, SY)]),
47360
47425
  _: 1
47361
47426
  }), q(a, {
47362
47427
  open: r.value,
@@ -47369,90 +47434,98 @@ var $G = /*#__PURE__*/ nH({
47369
47434
  body: "progress-drawer-body"
47370
47435
  }
47371
47436
  }, {
47372
- body: L(() => [q(CY)]),
47437
+ body: L(() => [q(bY)]),
47373
47438
  _: 1
47374
47439
  }, 8, ["open", "description"])]);
47375
47440
  };
47376
47441
  }
47377
- }, kY = {
47442
+ }, EY = {
47378
47443
  id: "channel-sidebar",
47379
47444
  class: "channel-sidebar",
47380
47445
  "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 = [
47446
+ }, DY = { class: "channel-workspace-heading" }, OY = { class: "channel-brand-icon" }, kY = { class: "channel-sidebar-content" }, AY = { class: "channel-directory-heading channel-tools-heading" }, jY = ["aria-expanded"], MY = { class: "channel-sidebar-footer" }, NY = { class: "channel-self" }, PY = { class: "channel-connection" }, FY = [
47382
47447
  "aria-valuemax",
47383
47448
  "aria-valuenow",
47384
47449
  "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 = {
47450
+ ], IY = { class: "channel-main" }, LY = { class: "channel-header" }, RY = { class: "channel-title-icon" }, zY = { class: "channel-title" }, BY = { class: "channel-title-copy" }, VY = ["title"], HY = ["title"], UY = {
47386
47451
  key: 0,
47387
47452
  class: "channel-header-context"
47388
- }, qY = { class: "channel-header-actions" }, JY = {
47453
+ }, WY = { class: "channel-header-actions" }, GY = {
47389
47454
  key: 0,
47390
47455
  class: "channel-launch-recovery",
47391
- "aria-label": "未完成的启动请求"
47392
- }, YY = { role: "status" }, XY = { class: "button-row" }, ZY = {
47456
+ "aria-label": "未完成的创建或启动请求"
47457
+ }, KY = { role: "status" }, qY = { class: "button-row" }, JY = {
47393
47458
  key: 1,
47394
47459
  class: "channel-tabbar"
47395
- }, QY = { class: "channel-brief-inner" }, $Y = { class: "channel-brief-heading" }, eX = ["aria-label", "aria-expanded"], tX = {
47460
+ }, YY = { class: "channel-brief-inner" }, XY = { class: "channel-brief-heading" }, ZY = ["aria-label", "aria-expanded"], QY = {
47396
47461
  key: 0,
47397
47462
  class: "channel-brief-preview"
47398
- }, nX = {
47463
+ }, $Y = {
47399
47464
  id: "channel-brief-content",
47400
47465
  class: "channel-brief-content"
47401
- }, rX = ["innerHTML"], iX = { class: "channel-brief-footer" }, aX = { class: "channel-brief-status" }, oX = { class: "channel-content" }, sX = {
47466
+ }, eX = ["innerHTML"], tX = { class: "channel-brief-footer" }, nX = { class: "channel-brief-status" }, rX = { class: "channel-content" }, iX = {
47402
47467
  key: 0,
47403
47468
  class: "content-page channel-summary",
47404
47469
  role: "tabpanel",
47405
47470
  "aria-label": "共识"
47406
- }, cX = { class: "page-heading" }, lX = {
47471
+ }, aX = { class: "page-heading" }, oX = {
47407
47472
  key: 0,
47408
47473
  class: "info-section"
47409
- }, uX = { class: "button-row" }, dX = { class: "form-footer" }, fX = {
47474
+ }, sX = { class: "button-row" }, cX = { class: "form-footer" }, lX = {
47410
47475
  key: 4,
47411
47476
  class: "channel-empty"
47412
- }, pX = ["aria-valuenow", "aria-valuetext"], mX = {
47477
+ }, uX = ["aria-valuenow", "aria-valuetext"], dX = {
47413
47478
  key: 2,
47414
47479
  id: "channel-member-rail",
47415
47480
  class: "channel-member-rail",
47416
47481
  "aria-label": "当前焦点与讨论进度"
47417
- }, hX = { class: "channel-rail-board" }, gX = {
47482
+ }, fX = { class: "channel-rail-board" }, pX = {
47418
47483
  key: 0,
47419
47484
  class: "progress-board is-docked"
47420
- }, _X = { class: "pb-header" }, vX = { class: "pb-mode" }, yX = {
47485
+ }, mX = { class: "pb-header" }, hX = { class: "pb-mode" }, gX = {
47421
47486
  class: "pb-section",
47422
47487
  "aria-label": "成员"
47423
- }, bX = { class: "pb-members" }, xX = { class: "pb-member-body" }, SX = { class: "pb-member-name" }, CX = {
47488
+ }, _X = { class: "pb-members" }, vX = { class: "pb-member-body" }, yX = { class: "pb-member-name" }, bX = {
47424
47489
  key: 0,
47425
47490
  class: "pb-member-model",
47426
47491
  title: "它工作时请不要在原窗口继续操作"
47427
- }, wX = {
47492
+ }, xX = {
47428
47493
  key: 0,
47429
47494
  class: "pb-section",
47430
47495
  "aria-label": "提示"
47431
- }, TX = {
47496
+ }, SX = {
47432
47497
  key: 0,
47433
47498
  role: "alert",
47434
47499
  class: "pb-free-note is-error"
47435
- }, EX = {
47500
+ }, CX = {
47436
47501
  key: 1,
47437
47502
  role: "status",
47438
47503
  class: "pb-free-note"
47439
- }, DX = {
47504
+ }, wX = {
47505
+ key: 2,
47506
+ role: "alert",
47507
+ class: "pb-free-note is-error"
47508
+ }, TX = {
47509
+ key: 3,
47510
+ role: "status",
47511
+ class: "pb-free-note"
47512
+ }, EX = {
47440
47513
  class: "pb-section",
47441
47514
  "aria-label": "邀请"
47442
- }, OX = {
47515
+ }, DX = {
47443
47516
  key: 0,
47444
47517
  class: "pb-free-note"
47445
- }, kX = {
47518
+ }, OX = {
47446
47519
  key: 1,
47447
47520
  class: "pb-section",
47448
47521
  "aria-label": "头脑风暴"
47449
- }, AX = ["onClick"], jX = {
47522
+ }, kX = ["onClick"], AX = {
47450
47523
  class: "pb-actions",
47451
47524
  "aria-label": "操作"
47452
- }, MX = {
47525
+ }, jX = {
47453
47526
  key: 2,
47454
47527
  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 = {
47528
+ }, MX = { class: "channel-detail-title" }, NX = { class: "info-section" }, PX = "ai-codiscuss-channel-layout", FX = 220, IX = 440, LX = 280, RX = 16, zX = 180, BX = 400, VX = 248, HX = 16, UX = 480, WX = 1200, GX = 6, KX = {
47456
47529
  __name: "ChannelWorkspace",
47457
47530
  setup(e) {
47458
47531
  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 +47541,13 @@ var $G = /*#__PURE__*/ nH({
47468
47541
  label: "宽",
47469
47542
  width: 1240
47470
47543
  }
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(() => {
47544
+ }, 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 >= WX), O = Z(() => t.value.tab === "discussion" && !E.value), ee = Z(() => D.value && t.value.tab === "discussion" ? E.value ? "展开频道概览" : "收起频道概览" : "频道资料与参与者"), te = Z(() => {
47472
47545
  let e = document.createElement("template");
47473
47546
  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(() => ({
47547
+ }), k = /* @__PURE__ */ F(null), ne = /* @__PURE__ */ F(null), re = Z(() => Math.min(BX, Math.max(zX, C.value - UX - GX))), ie = Z(() => Math.min(S.value, re.value)), ae = Z(() => ({
47475
47548
  "--channel-reading-width": `${v[b.value].width}px`,
47476
47549
  "--channel-rail-width": `${x.value}px`,
47477
- "--channel-main-columns": w.value ? "minmax(0, 1fr)" : `${ie.value}px ${KX}px minmax(0, 1fr)`
47550
+ "--channel-main-columns": w.value ? "minmax(0, 1fr)" : `${ie.value}px ${GX}px minmax(0, 1fr)`
47478
47551
  })), A = Object.entries(v).map(([e, t]) => ({
47479
47552
  value: e,
47480
47553
  label: t.label
@@ -47505,6 +47578,9 @@ var $G = /*#__PURE__*/ nH({
47505
47578
  icon: "i-lucide-plug"
47506
47579
  }
47507
47580
  ], ce = Z(() => o.value?.mode === "free"), le = Z(() => ce.value ? se.slice(0, 1) : se), ue = /* @__PURE__ */ F(""), de = /* @__PURE__ */ F("runner");
47581
+ R(() => o.value?.id, () => {
47582
+ ue.value = "", de.value = (o.value?.free?.members || []).some((e) => e.access === "runner") ? "runner" : "manual";
47583
+ }, { immediate: !0 });
47508
47584
  async function j() {
47509
47585
  await i("prepare_brainstorm"), l.value = null, s.value = "create";
47510
47586
  }
@@ -47525,23 +47601,37 @@ var $G = /*#__PURE__*/ nH({
47525
47601
  action: r,
47526
47602
  ...a
47527
47603
  })
47528
- });
47529
- return [[
47530
- ...me(e) ? [n("停止", "i-lucide-square", "interrupt")] : [],
47531
- ...e.access === "online" && e.pending ? [{
47532
- label: "复制阅读通知",
47604
+ }), r = t.value.access, a = r?.members?.find((t) => t.name === e.name)?.available;
47605
+ return [
47606
+ [{
47607
+ label: "复制参与说明",
47533
47608
  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
- }]];
47609
+ disabled: !r?.can_manage,
47610
+ onSelect: () => i("copy_member_join", e.name)
47611
+ }, ...e.access === "online" ? [] : [{
47612
+ label: "下载私有配置",
47613
+ icon: "i-lucide-download",
47614
+ disabled: !r?.can_manage || !a,
47615
+ onSelect: () => i("download_member_access", e.name)
47616
+ }]],
47617
+ [
47618
+ ...me(e) ? [n("停止", "i-lucide-square", "interrupt")] : [],
47619
+ ...e.access === "online" && e.pending ? [{
47620
+ label: "复制阅读通知",
47621
+ icon: "i-lucide-copy",
47622
+ onSelect: () => i("copy_online_notice", e.name)
47623
+ }] : [],
47624
+ ...e.status === "active" && e.access !== "online" ? [n(e.role === "host" ? "取消主持" : "设为主持人", "i-lucide-crown", "role", { role: e.role === "host" ? "member" : "host" })] : [],
47625
+ e.status === "active" ? n("离开", "i-lucide-log-out", "away") : {
47626
+ ...n("请回", "i-lucide-log-in", "rejoin"),
47627
+ disabled: e.access === "runner" && !t.value.launch.available
47628
+ }
47629
+ ],
47630
+ [{
47631
+ ...n("移除", "i-lucide-trash-2", "remove"),
47632
+ color: "error"
47633
+ }]
47634
+ ];
47545
47635
  }
47546
47636
  function _e(e) {
47547
47637
  if (e.status === "away") return "已离开:不会被唤醒,可请回";
@@ -47591,11 +47681,11 @@ var $G = /*#__PURE__*/ nH({
47591
47681
  }
47592
47682
  function Oe() {
47593
47683
  try {
47594
- let e = JSON.parse(localStorage.getItem(FX)) || {};
47684
+ let e = JSON.parse(localStorage.getItem(PX)) || {};
47595
47685
  return {
47596
47686
  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(),
47687
+ rail: Number.isFinite(e.rail) ? Math.min(IX, Math.max(FX, e.rail)) : LX,
47688
+ nav: Number.isFinite(e.nav) ? Math.min(BX, Math.max(zX, e.nav)) : ke(),
47599
47689
  collapsed: e.collapsed === !0,
47600
47690
  brief_collapsed: e.brief_collapsed === !0,
47601
47691
  rail_collapsed: e.rail_collapsed === !0
@@ -47603,7 +47693,7 @@ var $G = /*#__PURE__*/ nH({
47603
47693
  } catch {
47604
47694
  return {
47605
47695
  reading: "default",
47606
- rail: RX,
47696
+ rail: LX,
47607
47697
  nav: ke(),
47608
47698
  collapsed: !1,
47609
47699
  brief_collapsed: !1,
@@ -47612,11 +47702,11 @@ var $G = /*#__PURE__*/ nH({
47612
47702
  }
47613
47703
  }
47614
47704
  function ke() {
47615
- return typeof window > "u" ? HX : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : HX;
47705
+ return typeof window > "u" ? VX : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : VX;
47616
47706
  }
47617
47707
  function Ae() {
47618
47708
  try {
47619
- localStorage.setItem(FX, JSON.stringify({
47709
+ localStorage.setItem(PX, JSON.stringify({
47620
47710
  reading: b.value,
47621
47711
  rail: x.value,
47622
47712
  nav: S.value,
@@ -47646,19 +47736,19 @@ var $G = /*#__PURE__*/ nH({
47646
47736
  }, e.currentTarget.setPointerCapture(e.pointerId));
47647
47737
  }
47648
47738
  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))));
47739
+ k.value?.pointer === e.pointerId && (x.value = Math.round(Math.min(IX, Math.max(FX, k.value.width + k.value.x - e.clientX))));
47650
47740
  }
47651
47741
  function Le(e) {
47652
47742
  k.value?.pointer === e.pointerId && (k.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ae());
47653
47743
  }
47654
47744
  function Re(e) {
47655
47745
  let t = {
47656
- ArrowLeft: x.value + zX,
47657
- ArrowRight: x.value - zX,
47658
- Home: IX,
47659
- End: LX
47746
+ ArrowLeft: x.value + RX,
47747
+ ArrowRight: x.value - RX,
47748
+ Home: FX,
47749
+ End: IX
47660
47750
  };
47661
- Object.hasOwn(t, e.key) && (e.preventDefault(), x.value = Math.min(LX, Math.max(IX, t[e.key])), Ae());
47751
+ Object.hasOwn(t, e.key) && (e.preventDefault(), x.value = Math.min(IX, Math.max(FX, t[e.key])), Ae());
47662
47752
  }
47663
47753
  function ze(e) {
47664
47754
  e.button === 0 && (e.preventDefault(), e.currentTarget.focus(), ne.value = {
@@ -47668,19 +47758,19 @@ var $G = /*#__PURE__*/ nH({
47668
47758
  }, e.currentTarget.setPointerCapture(e.pointerId));
47669
47759
  }
47670
47760
  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))));
47761
+ ne.value?.pointer === e.pointerId && (S.value = Math.round(Math.min(re.value, Math.max(zX, ne.value.width + e.clientX - ne.value.x))));
47672
47762
  }
47673
47763
  function Ve(e) {
47674
47764
  ne.value?.pointer === e.pointerId && (ne.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ae());
47675
47765
  }
47676
47766
  function He(e) {
47677
47767
  let t = {
47678
- ArrowLeft: ie.value - UX,
47679
- ArrowRight: ie.value + UX,
47680
- Home: BX,
47768
+ ArrowLeft: ie.value - HX,
47769
+ ArrowRight: ie.value + HX,
47770
+ Home: zX,
47681
47771
  End: re.value
47682
47772
  };
47683
- Object.hasOwn(t, e.key) && (e.preventDefault(), S.value = Math.min(re.value, Math.max(BX, t[e.key])), Ae());
47773
+ Object.hasOwn(t, e.key) && (e.preventDefault(), S.value = Math.min(re.value, Math.max(zX, t[e.key])), Ae());
47684
47774
  }
47685
47775
  return (e, r) => {
47686
47776
  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 +47782,14 @@ var $G = /*#__PURE__*/ nH({
47692
47782
  }]),
47693
47783
  style: fe(ae.value)
47694
47784
  }, [
47695
- K("aside", kY, [
47696
- K("header", AY, [
47697
- K("span", jY, [q(v, { name: "i-lucide-messages-square" })]),
47785
+ K("aside", EY, [
47786
+ K("header", DY, [
47787
+ K("span", OY, [q(v, { name: "i-lucide-messages-square" })]),
47698
47788
  r[26] ||= K("strong", null, "共议", -1),
47699
47789
  r[27] ||= K("span", null, "AI CoDiscuss", -1)
47700
47790
  ]),
47701
- K("div", MY, [
47702
- q(FJ, {
47791
+ K("div", kY, [
47792
+ q(MJ, {
47703
47793
  onSelect: Se,
47704
47794
  onManage: be,
47705
47795
  onCreate: we,
@@ -47708,12 +47798,12 @@ var $G = /*#__PURE__*/ nH({
47708
47798
  onDeleteFolder: De,
47709
47799
  onArchives: xe
47710
47800
  }),
47711
- K("div", NY, [K("button", {
47801
+ K("div", AY, [K("button", {
47712
47802
  type: "button",
47713
47803
  class: "channel-section-toggle",
47714
47804
  "aria-expanded": f.value,
47715
47805
  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)]),
47806
+ }, [q(v, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[28] ||= J("频道工具", -1)], 8, jY)]),
47717
47807
  f.value ? (U(), G(y, {
47718
47808
  key: 0,
47719
47809
  items: ve.value,
@@ -47729,7 +47819,7 @@ var $G = /*#__PURE__*/ nH({
47729
47819
  }
47730
47820
  }, null, 8, ["items"])) : Y("", !0)
47731
47821
  ]),
47732
- K("footer", FY, [
47822
+ K("footer", MY, [
47733
47823
  q(S, {
47734
47824
  src: I(n).identities[I(_)]?.icon,
47735
47825
  text: I(n).identities[I(_)]?.initials,
@@ -47742,7 +47832,7 @@ var $G = /*#__PURE__*/ nH({
47742
47832
  "alt",
47743
47833
  "class"
47744
47834
  ]),
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)])]),
47835
+ K("div", NY, [K("strong", null, P(I(n).display_name(I(_))), 1), K("div", PY, [K("span", { class: M({ connected: I(t).connected }) }, null, 2), J(P(I(t).connected ? "网站已连接" : "网站未连接"), 1)])]),
47746
47836
  q(E, { text: "外观设置" }, {
47747
47837
  default: L(() => [q(C, {
47748
47838
  icon: "i-lucide-settings-2",
@@ -47765,7 +47855,7 @@ var $G = /*#__PURE__*/ nH({
47765
47855
  "aria-label": "调整频道栏宽度",
47766
47856
  "aria-orientation": "vertical",
47767
47857
  "aria-controls": "channel-sidebar",
47768
- "aria-valuemin": BX,
47858
+ "aria-valuemin": zX,
47769
47859
  "aria-valuemax": re.value,
47770
47860
  "aria-valuenow": ie.value,
47771
47861
  "aria-valuetext": `${ie.value} 像素`,
@@ -47776,9 +47866,9 @@ var $G = /*#__PURE__*/ nH({
47776
47866
  onPointercancel: Ve,
47777
47867
  onLostpointercapture: Ve,
47778
47868
  onKeydown: He
47779
- }, null, 40, RY)),
47780
- K("main", zY, [
47781
- K("header", BY, [
47869
+ }, null, 40, FY)),
47870
+ K("main", IY, [
47871
+ K("header", LY, [
47782
47872
  q(E, { text: w.value ? "展开频道栏" : "收起频道栏" }, {
47783
47873
  default: L(() => [q(C, {
47784
47874
  icon: "i-lucide-panel-left",
@@ -47803,13 +47893,13 @@ var $G = /*#__PURE__*/ nH({
47803
47893
  "aria-expanded": d.value,
47804
47894
  onClick: r[3] ||= (e) => d.value = !0
47805
47895
  }, 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", {
47896
+ K("span", RY, [q(v, { name: "i-lucide-hash" })]),
47897
+ K("div", zY, [K("div", BY, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, VY), o.value?.floor && !ce.value ? (U(), W("div", {
47808
47898
  key: 0,
47809
47899
  class: M(["channel-floor-status", { "is-held": o.value.floor.holder }]),
47810
47900
  role: "status",
47811
47901
  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, {
47902
+ }, [q(v, { name: "i-lucide-mic" }), K("span", null, "发言权:" + P(I(n).floor_status(o.value)), 1)], 10, HY)) : Y("", !0)]), o.value?.archived ? (U(), G(se, {
47813
47903
  key: 0,
47814
47904
  color: "neutral",
47815
47905
  variant: "subtle",
@@ -47818,12 +47908,12 @@ var $G = /*#__PURE__*/ nH({
47818
47908
  default: L(() => [...r[29] ||= [J("已存档", -1)]]),
47819
47909
  _: 1
47820
47910
  })) : Y("", !0)]),
47821
- o.value ? (U(), W("span", KY, [
47911
+ o.value ? (U(), W("span", UY, [
47822
47912
  J(P(le.value.find((e) => e.value === I(t).tab)?.label), 1),
47823
47913
  r[30] ||= K("span", null, "·", -1),
47824
47914
  J(P(o.value.message_count) + " 条记录", 1)
47825
47915
  ])) : Y("", !0),
47826
- K("div", qY, [
47916
+ K("div", WY, [
47827
47917
  I(t).tab === "discussion" ? (U(), W("form", {
47828
47918
  key: 0,
47829
47919
  class: "channel-search",
@@ -47881,7 +47971,7 @@ var $G = /*#__PURE__*/ nH({
47881
47971
  ])]),
47882
47972
  _: 1
47883
47973
  })) : Y("", !0),
47884
- o.value && !(O.value && D.value) ? (U(), G(OY, { key: 2 })) : Y("", !0)
47974
+ o.value && !(O.value && D.value) ? (U(), G(TY, { key: 2 })) : Y("", !0)
47885
47975
  ]),
47886
47976
  q(E, { text: ee.value }, {
47887
47977
  default: L(() => [q(C, {
@@ -47902,19 +47992,20 @@ var $G = /*#__PURE__*/ nH({
47902
47992
  _: 1
47903
47993
  }, 8, ["text"])
47904
47994
  ]),
47905
- I(t).launch.available && I(t).launch.recoveries.length ? (U(), W("section", JY, [
47906
- r[31] ||= K("h2", null, "继续未完成的启动", -1),
47995
+ I(t).launch.recoveries.length ? (U(), W("section", GY, [
47996
+ r[31] ||= K("h2", null, "继续未完成的请求", -1),
47907
47997
  (U(!0), W(H, null, B(I(t).launch.recoveries, (e) => (U(), W("article", { key: e.id }, [
47908
47998
  K("strong", null, P(e.title), 1),
47909
- K("p", YY, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
47910
- K("div", XY, [
47999
+ K("p", KY, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
48000
+ K("div", qY, [
47911
48001
  q(C, {
47912
- label: "继续本次启动",
48002
+ label: e.direct ? "继续创建房间" : "继续本次启动",
47913
48003
  size: "sm",
47914
48004
  loading: I(a) === "resume_launch",
47915
48005
  disabled: !!I(a),
47916
48006
  onClick: (t) => I(i)("resume_launch", e.id)
47917
48007
  }, null, 8, [
48008
+ "label",
47918
48009
  "loading",
47919
48010
  "disabled",
47920
48011
  "onClick"
@@ -47939,7 +48030,7 @@ var $G = /*#__PURE__*/ nH({
47939
48030
  ]))), 128)),
47940
48031
  r[32] ||= K("small", null, "移除待办不会删除房间或停止讨论。", -1)
47941
48032
  ])) : Y("", !0),
47942
- o.value ? (U(), W("div", ZY, [q(Oe, {
48033
+ o.value ? (U(), W("div", JY, [q(Oe, {
47943
48034
  modelValue: oe.value,
47944
48035
  "onUpdate:modelValue": r[8] ||= (e) => oe.value = e,
47945
48036
  items: le.value,
@@ -47954,7 +48045,7 @@ var $G = /*#__PURE__*/ nH({
47954
48045
  key: 2,
47955
48046
  class: M(["channel-host-brief", { "is-collapsed": T.value }]),
47956
48047
  "aria-label": "主持简报"
47957
- }, [K("div", QY, [K("div", $Y, [K("button", {
48048
+ }, [K("div", YY, [K("div", XY, [K("button", {
47958
48049
  type: "button",
47959
48050
  class: "channel-brief-toggle",
47960
48051
  "aria-label": T.value ? "展开主持简报" : "收起主持简报",
@@ -47964,8 +48055,8 @@ var $G = /*#__PURE__*/ nH({
47964
48055
  }, [
47965
48056
  q(v, { name: T.value ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
47966
48057
  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, {
48058
+ T.value ? (U(), W("span", QY, P(te.value), 1)) : Y("", !0)
48059
+ ], 8, ZY), T.value ? Y("", !0) : (U(), G(C, {
47969
48060
  key: 0,
47970
48061
  label: "更新简报",
47971
48062
  color: "neutral",
@@ -47973,30 +48064,30 @@ var $G = /*#__PURE__*/ nH({
47973
48064
  size: "xs",
47974
48065
  class: "channel-brief-update",
47975
48066
  onClick: r[9] ||= (e) => I(i)("tab", "context")
47976
- }))]), vr(K("div", nX, [K("div", {
48067
+ }))]), vr(K("div", $Y, [K("div", {
47977
48068
  class: "channel-brief-text markdown-body",
47978
48069
  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),
48070
+ }, null, 8, eX), K("div", tX, [K("span", nX, 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
48071
  o.value ? (U(), W("div", {
47981
48072
  key: 3,
47982
48073
  class: M(["channel-body", { "channel-body-discussion": I(t).tab === "discussion" }])
47983
- }, [K("div", oX, [
48074
+ }, [K("div", rX, [
47984
48075
  vr(q(aW, {
47985
48076
  onDetail: Ce,
47986
48077
  onEdit: r[10] ||= (e) => s.value = "edit"
47987
48078
  }, 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, {
48079
+ I(t).tab === "context" ? (U(), W("section", iX, [
48080
+ K("div", aX, [r[33] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(se, {
47990
48081
  color: "neutral",
47991
48082
  variant: "outline"
47992
48083
  }, {
47993
48084
  default: L(() => [J("截止 #" + P(o.value.state_until), 1)]),
47994
48085
  _: 1
47995
48086
  })]),
47996
- Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", lX, [
48087
+ Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", oX, [
47997
48088
  r[34] ||= K("h3", null, "最新运行回执", -1),
47998
48089
  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, {
48090
+ K("div", sX, [(U(!0), W(H, null, B(o.value.latest_receipts, (e) => (U(), G(C, {
48000
48091
  key: e.id,
48001
48092
  label: `${I(n).display_name(e.author)} #${e.id} · ${new Date(e.created_at).toLocaleString("zh-CN")}${e.id > o.value.state_until ? " · 晚于摘要" : ""}`,
48002
48093
  variant: "link",
@@ -48039,7 +48130,7 @@ var $G = /*#__PURE__*/ nH({
48039
48130
  }, null, 8, ["modelValue"])]),
48040
48131
  _: 1
48041
48132
  }),
48042
- K("div", dX, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(C, {
48133
+ K("div", cX, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(C, {
48043
48134
  type: "submit",
48044
48135
  color: "neutral",
48045
48136
  icon: "i-lucide-check",
@@ -48049,12 +48140,12 @@ var $G = /*#__PURE__*/ nH({
48049
48140
  }, null, 8, ["loading"])])
48050
48141
  ], 32)
48051
48142
  ])) : Y("", !0),
48052
- I(t).tab === "topic" || I(t).tab === "access" ? (U(), G(OG, {
48143
+ I(t).tab === "topic" || I(t).tab === "access" ? (U(), G(wG, {
48053
48144
  key: I(t).tab,
48054
48145
  onOpen: r[14] ||= (e) => s.value = e,
48055
48146
  onDetail: Ce
48056
48147
  })) : Y("", !0)
48057
- ])], 2)) : (U(), W("div", fX, [
48148
+ ])], 2)) : (U(), W("div", lX, [
48058
48149
  q(v, { name: "i-lucide-hash" }),
48059
48150
  r[36] ||= K("h2", null, "新建一个讨论频道", -1),
48060
48151
  r[37] ||= K("p", null, "每个频道围绕一个议题,保留所有人的观点。", -1),
@@ -48074,8 +48165,8 @@ var $G = /*#__PURE__*/ nH({
48074
48165
  "aria-label": "调整右侧栏宽度",
48075
48166
  "aria-orientation": "vertical",
48076
48167
  "aria-controls": "channel-member-rail",
48077
- "aria-valuemin": IX,
48078
- "aria-valuemax": LX,
48168
+ "aria-valuemin": FX,
48169
+ "aria-valuemax": IX,
48079
48170
  "aria-valuenow": x.value,
48080
48171
  "aria-valuetext": `${x.value} 像素`,
48081
48172
  title: "拖动调整右侧栏宽度,也可使用左右方向键",
@@ -48085,10 +48176,10 @@ var $G = /*#__PURE__*/ nH({
48085
48176
  onPointercancel: Le,
48086
48177
  onLostpointercapture: Le,
48087
48178
  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", {
48179
+ }, null, 40, uX)) : Y("", !0),
48180
+ O.value ? (U(), W("aside", dX, [K("section", fX, [o.value && ce.value ? (U(), W("div", pX, [
48181
+ K("header", mX, [r[38] ||= K("strong", null, "自由协作", -1), K("span", hX, P(he.value ? `${I(n).display_name(he.value.name)} 协助主持` : "你来主持"), 1)]),
48182
+ K("section", gX, [r[40] ||= K("h4", null, "成员", -1), K("ul", _X, [(U(!0), W(H, null, B(o.value.free?.members || [], (e) => (U(), W("li", {
48092
48183
  key: e.id,
48093
48184
  class: "pb-member"
48094
48185
  }, [
@@ -48104,8 +48195,8 @@ var $G = /*#__PURE__*/ nH({
48104
48195
  "alt",
48105
48196
  "class"
48106
48197
  ]),
48107
- K("div", xX, [
48108
- K("div", SX, [
48198
+ K("div", vX, [
48199
+ K("div", yX, [
48109
48200
  J(P(I(n).display_name(e.name)), 1),
48110
48201
  e.role === "host" ? (U(), G(v, {
48111
48202
  key: 0,
@@ -48118,7 +48209,7 @@ var $G = /*#__PURE__*/ nH({
48118
48209
  }[e.access] || "本机自动"), 1)
48119
48210
  ]),
48120
48211
  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)
48212
+ e.session_mode === "borrowed" ? (U(), W("p", bX, "借用你正在使用的会话")) : Y("", !0)
48122
48213
  ]),
48123
48214
  q(Me, {
48124
48215
  items: N(e),
@@ -48136,7 +48227,7 @@ var $G = /*#__PURE__*/ nH({
48136
48227
  _: 2
48137
48228
  }, 1032, ["items"])
48138
48229
  ]))), 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, [
48230
+ 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", xX, [
48140
48231
  r[41] ||= K("h4", null, "提示", -1),
48141
48232
  (U(!0), W(H, null, B(o.value.free?.conflicts || [], (e) => (U(), W("p", {
48142
48233
  key: e.executions.join("-"),
@@ -48146,9 +48237,10 @@ var $G = /*#__PURE__*/ nH({
48146
48237
  key: e.chain_id,
48147
48238
  class: "pb-free-note"
48148
48239
  }, "#" + 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)
48240
+ I(t).free_error ? (U(), W("p", SX, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", CX, P(I(t).free_notice), 1)) : Y("", !0),
48241
+ I(t).access?.error ? (U(), W("p", wX, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", TX, P(I(t).access.notice), 1)) : Y("", !0)
48150
48242
  ])) : Y("", !0),
48151
- K("section", DX, [
48243
+ K("section", EX, [
48152
48244
  r[42] ||= K("h4", null, "邀请 AI", -1),
48153
48245
  K("form", {
48154
48246
  class: "pb-free-invite",
@@ -48183,22 +48275,22 @@ var $G = /*#__PURE__*/ nH({
48183
48275
  size: "sm",
48184
48276
  class: "w-26"
48185
48277
  }, null, 8, ["modelValue"])], 32),
48186
- de.value !== "online" && !I(t).launch.available ? (U(), W("p", OX, "需要本机服务:请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48278
+ de.value === "runner" && !I(t).launch.available ? (U(), W("p", DX, "程序唤醒需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48187
48279
  ]),
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", {
48280
+ o.value.linked_rooms?.length ? (U(), W("section", OX, [r[43] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(o.value.linked_rooms, (e) => (U(), W("button", {
48189
48281
  key: e.id,
48190
48282
  type: "button",
48191
48283
  class: "pb-link pb-free-linked",
48192
48284
  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, {
48285
+ }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, kX))), 128))])) : Y("", !0),
48286
+ K("section", AX, [q(C, {
48195
48287
  icon: "i-lucide-user-plus",
48196
48288
  label: "邀请",
48197
48289
  size: "sm",
48198
48290
  color: "neutral",
48199
48291
  variant: "outline",
48200
48292
  class: "pb-action",
48201
- disabled: !ue.value || de.value !== "online" && !I(t).launch.available,
48293
+ disabled: !ue.value || de.value === "runner" && !I(t).launch.available,
48202
48294
  onClick: r[19] ||= (e) => I(i)("invite_member", {
48203
48295
  name: ue.value,
48204
48296
  access: de.value
@@ -48213,10 +48305,10 @@ var $G = /*#__PURE__*/ nH({
48213
48305
  title: "用当前成员新建一场讨论房间,收束后可把结论发回这里",
48214
48306
  onClick: j
48215
48307
  })])
48216
- ])) : o.value ? (U(), G(CY, {
48308
+ ])) : o.value ? (U(), G(bY, {
48217
48309
  key: 1,
48218
48310
  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),
48311
+ })) : (U(), W("div", jX, [...r[44] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无频道,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
48220
48312
  q(Ue, {
48221
48313
  open: d.value,
48222
48314
  "onUpdate:open": r[21] ||= (e) => d.value = e,
@@ -48228,7 +48320,7 @@ var $G = /*#__PURE__*/ nH({
48228
48320
  body: "channel-drawer-body"
48229
48321
  }
48230
48322
  }, {
48231
- body: L(() => [q(FJ, {
48323
+ body: L(() => [q(MJ, {
48232
48324
  onSelect: Se,
48233
48325
  onManage: be,
48234
48326
  onCreate: we,
@@ -48259,7 +48351,7 @@ var $G = /*#__PURE__*/ nH({
48259
48351
  }
48260
48352
  }, {
48261
48353
  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)]),
48354
+ K("div", MX, [q(v, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
48263
48355
  (U(), W(H, null, B([
48264
48356
  {
48265
48357
  key: "goal",
@@ -48286,7 +48378,7 @@ var $G = /*#__PURE__*/ nH({
48286
48378
  class: "info-section"
48287
48379
  }, [K("h3", null, P(e.label), 1), K("p", null, P(o.value[e.key] || "尚未填写"), 1)])), 64)),
48288
48380
  q(We),
48289
- K("section", PX, [r[45] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(ye.value, (e) => (U(), W("div", {
48381
+ K("section", NX, [r[45] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(ye.value, (e) => (U(), W("div", {
48290
48382
  key: e.name,
48291
48383
  class: "expert-row"
48292
48384
  }, [
@@ -48319,7 +48411,7 @@ var $G = /*#__PURE__*/ nH({
48319
48411
  ], 64)) : Y("", !0)]),
48320
48412
  _: 1
48321
48413
  }, 8, ["open"]),
48322
- q(fJ, {
48414
+ q(lJ, {
48323
48415
  modelValue: s.value,
48324
48416
  "onUpdate:modelValue": r[24] ||= (e) => s.value = e,
48325
48417
  "reading-width": b.value,
@@ -48339,7 +48431,7 @@ var $G = /*#__PURE__*/ nH({
48339
48431
  ], 6);
48340
48432
  };
48341
48433
  }
48342
- }, JX = {
48434
+ }, qX = {
48343
48435
  __name: "App",
48344
48436
  setup(e) {
48345
48437
  return br("discussion", oV()), (e, t) => {
@@ -48350,7 +48442,7 @@ var $G = /*#__PURE__*/ nH({
48350
48442
  toaster: null
48351
48443
  }, {
48352
48444
  default: L(() => [q(I(Az), { "reduced-motion": "user" }, {
48353
- default: L(() => [q(qX)]),
48445
+ default: L(() => [q(KX)]),
48354
48446
  _: 1
48355
48447
  })]),
48356
48448
  _: 1
@@ -48360,8 +48452,8 @@ var $G = /*#__PURE__*/ nH({
48360
48452
  };
48361
48453
  //#endregion
48362
48454
  //#region frontend/main.js
48363
- function YX() {
48364
- bu(JX).use(fh).mount("#modern-root");
48455
+ function JX() {
48456
+ bu(qX).use(fh).mount("#modern-root");
48365
48457
  }
48366
- document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", YX) : YX();
48458
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", JX) : JX();
48367
48459
  //#endregion