@cecwxf/dsh-room 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/client.js +82 -30
- package/dist/index.js +129 -33
- package/dist/types/http.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -9
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/plugin.d.ts +7 -0
- package/dist/types/plugin.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
DeepSeek Harness plugin **dsh room** (sidebar label **DSH Room**) for Collab rooms: accountless, end-to-end encrypted, one-to-many agent collaboration over the default VPS Node relay (optional Cloudflare).
|
|
4
4
|
|
|
5
|
+
|
|
6
|
+
## Confirm / upgrade to 0.3.3
|
|
7
|
+
|
|
8
|
+
User hangs on **Creating…** for Local-only were caused by older builds (≤0.3.1) awaiting joins with no timeout, and by `bridge.start()` blocking every API call while rejoining rooms. **0.3.3** returns create immediately.
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
# in the dsh profile that has dsh-room (e.g. ~/.dsh/profiles/web)
|
|
12
|
+
pnpm add @cecwxf/dsh-room@0.3.3
|
|
13
|
+
# or: dsh plugin add @cecwxf/dsh-room@0.3.3
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Then **fully restart dsh** (not only live-reload), hard-refresh the web UI (Ctrl+Shift+R), and confirm:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# dump-config / logs should show dsh-room 0.3.3
|
|
20
|
+
curl -s http://127.0.0.1:<dsh-port>/api/collab/version
|
|
21
|
+
# → {"name":"@cecwxf/dsh-room","version":"0.3.3"}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The Create dialog subtitle also shows `dsh-room 0.3.3`. If it still says `?` or an older version, the UI is serving a cached client — hard refresh again after restart.
|
|
25
|
+
|
|
5
26
|
## Install (one-liner)
|
|
6
27
|
|
|
7
28
|
```sh
|
package/dist/client.js
CHANGED
|
@@ -42,14 +42,30 @@ var rooms_default = '/* Collab Rooms UI \u2014 original surface inside the dsh s
|
|
|
42
42
|
// src/client/store.js
|
|
43
43
|
var API = "/api/collab";
|
|
44
44
|
async function call(path, init) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
let res;
|
|
46
|
+
try {
|
|
47
|
+
res = await fetch(API + path, { credentials: "same-origin", ...init, headers: { ...init && init.body ? { "content-type": "application/json" } : {}, ...init && init.headers || {} } });
|
|
48
|
+
} catch (e) {
|
|
49
|
+
const msg = e && e.name === "AbortError" ? "Request timed out or was cancelled" : e && e.message || "network error";
|
|
50
|
+
throw new Error(msg);
|
|
51
|
+
}
|
|
52
|
+
const text = await res.text();
|
|
53
|
+
let body = {};
|
|
54
|
+
try {
|
|
55
|
+
body = text ? JSON.parse(text) : {};
|
|
56
|
+
} catch {
|
|
57
|
+
body = { error: text.slice(0, 300) || res.statusText };
|
|
58
|
+
}
|
|
59
|
+
if (!res.ok) {
|
|
60
|
+
const detail = body.error || body.message || (typeof body.raw === "string" ? body.raw : "") || `${res.status} ${res.statusText}`;
|
|
61
|
+
throw new Error(detail);
|
|
62
|
+
}
|
|
48
63
|
return body;
|
|
49
64
|
}
|
|
50
|
-
var post = (path, body) => call(path, { method: "POST", body: JSON.stringify(body || {}) });
|
|
65
|
+
var post = (path, body, init) => call(path, { method: "POST", body: JSON.stringify(body || {}), ...init || {} });
|
|
51
66
|
function createRoomsStore() {
|
|
52
67
|
let snap = {
|
|
68
|
+
version: null,
|
|
53
69
|
self: null,
|
|
54
70
|
relayUrl: "",
|
|
55
71
|
lanRelayPort: null,
|
|
@@ -152,15 +168,22 @@ function createRoomsStore() {
|
|
|
152
168
|
clearTimeout(searchTimer);
|
|
153
169
|
searchTimer = setTimeout(() => void runSearch(query), 300);
|
|
154
170
|
},
|
|
155
|
-
async create(form) {
|
|
156
|
-
const
|
|
171
|
+
async create(form, opts) {
|
|
172
|
+
const ac = opts && opts.signal ? null : new AbortController();
|
|
173
|
+
const signal = opts && opts.signal || ac.signal;
|
|
174
|
+
const timer = ac ? setTimeout(() => ac.abort(), opts && opts.timeoutMs || 12e3) : null;
|
|
157
175
|
try {
|
|
158
|
-
|
|
159
|
-
|
|
176
|
+
const r = await post("/rooms", { ...form, workspaceId: form.workspacePath ? void 0 : form.workspaceId || snap.activeWorkspaceId }, { signal });
|
|
177
|
+
try {
|
|
178
|
+
api.onRoomOpened && api.onRoomOpened();
|
|
179
|
+
} catch {
|
|
180
|
+
}
|
|
181
|
+
set({ selected: r.roomId, dialog: { kind: "invite", roomId: r.roomId, name: r.name, invite: r.invite, public: r.public, listed: r.listed } });
|
|
182
|
+
void loadMessages(r.roomId);
|
|
183
|
+
return r;
|
|
184
|
+
} finally {
|
|
185
|
+
if (timer) clearTimeout(timer);
|
|
160
186
|
}
|
|
161
|
-
set({ selected: r.roomId, dialog: { kind: "invite", roomId: r.roomId, name: r.name, invite: r.invite, public: r.public, listed: r.listed } });
|
|
162
|
-
void loadMessages(r.roomId);
|
|
163
|
-
return r;
|
|
164
187
|
},
|
|
165
188
|
async join(invite, info) {
|
|
166
189
|
const r = await post("/join", { invite, ...info && info.workspacePath ? {} : { workspaceId: snap.activeWorkspaceId }, ...info || {} });
|
|
@@ -1117,11 +1140,12 @@ function AgentDialog({ store, d }) {
|
|
|
1117
1140
|
if (existing) await a.updateAgent(d.roomId, existing.agentId, body);
|
|
1118
1141
|
else {
|
|
1119
1142
|
const r = await a.addAgent(d.roomId, f.preset ? { ...body, preset: f.preset } : body);
|
|
1120
|
-
a.toast(`${r.name}
|
|
1143
|
+
a.toast(`${r.name} added as @${r.agentId} (joining in background)`);
|
|
1121
1144
|
}
|
|
1122
1145
|
a.closeDialog();
|
|
1123
1146
|
} catch (e) {
|
|
1124
1147
|
setErr(e.message);
|
|
1148
|
+
} finally {
|
|
1125
1149
|
setBusy(false);
|
|
1126
1150
|
}
|
|
1127
1151
|
};
|
|
@@ -1521,9 +1545,11 @@ function CreateDialog({ store, d }) {
|
|
|
1521
1545
|
concurrency: f.concurrency,
|
|
1522
1546
|
isolation: f.isolation,
|
|
1523
1547
|
agents: f.agents.map((ag) => ag.key ? ag.key : { name: ag.name, persona: ag.persona, systemPrompt: ag.systemPrompt, scope: ag.scope, moderator: ag.moderator, reasoningEffort: ag.reasoningEffort, approvalRequired: ag.approvalRequired, model: ag.model || void 0 })
|
|
1524
|
-
});
|
|
1548
|
+
}, { timeoutMs: 12e3 });
|
|
1525
1549
|
} catch (e) {
|
|
1526
|
-
|
|
1550
|
+
const msg = e && e.message || "Create failed";
|
|
1551
|
+
setErr(/timed out|timeout|abort/i.test(msg) ? `${msg}. Check transport (try Local only), relay host, and network \u2014 agent joins continue in the background after a successful create.` : msg);
|
|
1552
|
+
} finally {
|
|
1527
1553
|
setBusy(false);
|
|
1528
1554
|
}
|
|
1529
1555
|
};
|
|
@@ -1549,7 +1575,7 @@ function CreateDialog({ store, d }) {
|
|
|
1549
1575
|
closeLabel: "Close",
|
|
1550
1576
|
className: "rm-modal-wide rm-modal-create rm-modal-scrollable",
|
|
1551
1577
|
contentClassName: "rm-modal-scroll",
|
|
1552
|
-
description: ws ? `Workspace \u201C${ws.title}\u201D \xB7 default VPS
|
|
1578
|
+
description: (ws ? `Workspace \u201C${ws.title}\u201D \xB7 ` : "") + `dsh-room ${s.version || "?"} \xB7 default VPS 62.234.113.56:80 \xB7 E2EE. Create returns immediately; agents join in the background.`,
|
|
1553
1579
|
footer: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
1554
1580
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.Button, { variant: "outline", onClick: a.closeDialog, children: "Cancel" }),
|
|
1555
1581
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.Button, { variant: "primary", disabled: !ok, onClick: submit, children: busy ? "Creating\u2026" : "Create" })
|
|
@@ -2197,14 +2223,30 @@ var rooms_default = '/* Collab Rooms UI \u2014 original surface inside the dsh s
|
|
|
2197
2223
|
// src/client/store.js
|
|
2198
2224
|
var API = "/api/collab";
|
|
2199
2225
|
async function call(path, init) {
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2226
|
+
let res;
|
|
2227
|
+
try {
|
|
2228
|
+
res = await fetch(API + path, { credentials: "same-origin", ...init, headers: { ...init && init.body ? { "content-type": "application/json" } : {}, ...init && init.headers || {} } });
|
|
2229
|
+
} catch (e) {
|
|
2230
|
+
const msg = e && e.name === "AbortError" ? "Request timed out or was cancelled" : e && e.message || "network error";
|
|
2231
|
+
throw new Error(msg);
|
|
2232
|
+
}
|
|
2233
|
+
const text = await res.text();
|
|
2234
|
+
let body = {};
|
|
2235
|
+
try {
|
|
2236
|
+
body = text ? JSON.parse(text) : {};
|
|
2237
|
+
} catch {
|
|
2238
|
+
body = { error: text.slice(0, 300) || res.statusText };
|
|
2239
|
+
}
|
|
2240
|
+
if (!res.ok) {
|
|
2241
|
+
const detail = body.error || body.message || (typeof body.raw === "string" ? body.raw : "") || `${res.status} ${res.statusText}`;
|
|
2242
|
+
throw new Error(detail);
|
|
2243
|
+
}
|
|
2203
2244
|
return body;
|
|
2204
2245
|
}
|
|
2205
|
-
var post = (path, body) => call(path, { method: "POST", body: JSON.stringify(body || {}) });
|
|
2246
|
+
var post = (path, body, init) => call(path, { method: "POST", body: JSON.stringify(body || {}), ...init || {} });
|
|
2206
2247
|
function createRoomsStore() {
|
|
2207
2248
|
let snap = {
|
|
2249
|
+
version: null,
|
|
2208
2250
|
self: null,
|
|
2209
2251
|
relayUrl: "",
|
|
2210
2252
|
lanRelayPort: null,
|
|
@@ -2307,15 +2349,22 @@ function createRoomsStore() {
|
|
|
2307
2349
|
clearTimeout(searchTimer);
|
|
2308
2350
|
searchTimer = setTimeout(() => void runSearch(query), 300);
|
|
2309
2351
|
},
|
|
2310
|
-
async create(form) {
|
|
2311
|
-
const
|
|
2352
|
+
async create(form, opts) {
|
|
2353
|
+
const ac = opts && opts.signal ? null : new AbortController();
|
|
2354
|
+
const signal = opts && opts.signal || ac.signal;
|
|
2355
|
+
const timer = ac ? setTimeout(() => ac.abort(), opts && opts.timeoutMs || 12e3) : null;
|
|
2312
2356
|
try {
|
|
2313
|
-
|
|
2314
|
-
|
|
2357
|
+
const r = await post("/rooms", { ...form, workspaceId: form.workspacePath ? void 0 : form.workspaceId || snap.activeWorkspaceId }, { signal });
|
|
2358
|
+
try {
|
|
2359
|
+
api.onRoomOpened && api.onRoomOpened();
|
|
2360
|
+
} catch {
|
|
2361
|
+
}
|
|
2362
|
+
set({ selected: r.roomId, dialog: { kind: "invite", roomId: r.roomId, name: r.name, invite: r.invite, public: r.public, listed: r.listed } });
|
|
2363
|
+
void loadMessages(r.roomId);
|
|
2364
|
+
return r;
|
|
2365
|
+
} finally {
|
|
2366
|
+
if (timer) clearTimeout(timer);
|
|
2315
2367
|
}
|
|
2316
|
-
set({ selected: r.roomId, dialog: { kind: "invite", roomId: r.roomId, name: r.name, invite: r.invite, public: r.public, listed: r.listed } });
|
|
2317
|
-
void loadMessages(r.roomId);
|
|
2318
|
-
return r;
|
|
2319
2368
|
},
|
|
2320
2369
|
async join(invite, info) {
|
|
2321
2370
|
const r = await post("/join", { invite, ...info && info.workspacePath ? {} : { workspaceId: snap.activeWorkspaceId }, ...info || {} });
|
|
@@ -3272,11 +3321,12 @@ function AgentDialog({ store, d }) {
|
|
|
3272
3321
|
if (existing) await a.updateAgent(d.roomId, existing.agentId, body);
|
|
3273
3322
|
else {
|
|
3274
3323
|
const r = await a.addAgent(d.roomId, f.preset ? { ...body, preset: f.preset } : body);
|
|
3275
|
-
a.toast(`${r.name}
|
|
3324
|
+
a.toast(`${r.name} added as @${r.agentId} (joining in background)`);
|
|
3276
3325
|
}
|
|
3277
3326
|
a.closeDialog();
|
|
3278
3327
|
} catch (e) {
|
|
3279
3328
|
setErr(e.message);
|
|
3329
|
+
} finally {
|
|
3280
3330
|
setBusy(false);
|
|
3281
3331
|
}
|
|
3282
3332
|
};
|
|
@@ -3676,9 +3726,11 @@ function CreateDialog({ store, d }) {
|
|
|
3676
3726
|
concurrency: f.concurrency,
|
|
3677
3727
|
isolation: f.isolation,
|
|
3678
3728
|
agents: f.agents.map((ag) => ag.key ? ag.key : { name: ag.name, persona: ag.persona, systemPrompt: ag.systemPrompt, scope: ag.scope, moderator: ag.moderator, reasoningEffort: ag.reasoningEffort, approvalRequired: ag.approvalRequired, model: ag.model || void 0 })
|
|
3679
|
-
});
|
|
3729
|
+
}, { timeoutMs: 12e3 });
|
|
3680
3730
|
} catch (e) {
|
|
3681
|
-
|
|
3731
|
+
const msg = e && e.message || "Create failed";
|
|
3732
|
+
setErr(/timed out|timeout|abort/i.test(msg) ? `${msg}. Check transport (try Local only), relay host, and network \u2014 agent joins continue in the background after a successful create.` : msg);
|
|
3733
|
+
} finally {
|
|
3682
3734
|
setBusy(false);
|
|
3683
3735
|
}
|
|
3684
3736
|
};
|
|
@@ -3704,7 +3756,7 @@ function CreateDialog({ store, d }) {
|
|
|
3704
3756
|
closeLabel: "Close",
|
|
3705
3757
|
className: "rm-modal-wide rm-modal-create rm-modal-scrollable",
|
|
3706
3758
|
contentClassName: "rm-modal-scroll",
|
|
3707
|
-
description: ws ? `Workspace \u201C${ws.title}\u201D \xB7 default VPS
|
|
3759
|
+
description: (ws ? `Workspace \u201C${ws.title}\u201D \xB7 ` : "") + `dsh-room ${s.version || "?"} \xB7 default VPS 62.234.113.56:80 \xB7 E2EE. Create returns immediately; agents join in the background.`,
|
|
3708
3760
|
footer: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
3709
3761
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.Button, { variant: "outline", onClick: a.closeDialog, children: "Cancel" }),
|
|
3710
3762
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.Button, { variant: "primary", disabled: !ok, onClick: submit, children: busy ? "Creating\u2026" : "Create" })
|
package/dist/index.js
CHANGED
|
@@ -1224,7 +1224,7 @@ var WsTransport = class {
|
|
|
1224
1224
|
get connected() {
|
|
1225
1225
|
return this._connected;
|
|
1226
1226
|
}
|
|
1227
|
-
async connect() {
|
|
1227
|
+
async connect(timeoutMs = 8e3) {
|
|
1228
1228
|
if (this._connected && this.ws?.readyState === WebSocket.OPEN)
|
|
1229
1229
|
return;
|
|
1230
1230
|
this.teardownSocket();
|
|
@@ -1232,6 +1232,28 @@ var WsTransport = class {
|
|
|
1232
1232
|
await new Promise((resolve3, reject) => {
|
|
1233
1233
|
const ws = new WebSocket(this.url);
|
|
1234
1234
|
this.ws = ws;
|
|
1235
|
+
let settled = false;
|
|
1236
|
+
const finish = (err) => {
|
|
1237
|
+
if (settled || gen !== this.generation)
|
|
1238
|
+
return;
|
|
1239
|
+
settled = true;
|
|
1240
|
+
clearTimeout(timer);
|
|
1241
|
+
if (err) {
|
|
1242
|
+
try {
|
|
1243
|
+
ws.close(1e3, "connect-failed");
|
|
1244
|
+
} catch {
|
|
1245
|
+
}
|
|
1246
|
+
if (this.ws === ws) {
|
|
1247
|
+
this.ws = null;
|
|
1248
|
+
this._connected = false;
|
|
1249
|
+
}
|
|
1250
|
+
reject(err);
|
|
1251
|
+
} else {
|
|
1252
|
+
this._connected = true;
|
|
1253
|
+
resolve3();
|
|
1254
|
+
}
|
|
1255
|
+
};
|
|
1256
|
+
const timer = setTimeout(() => finish(new Error(`WebSocket connect timeout (${timeoutMs}ms) to ${this.url}`)), timeoutMs);
|
|
1235
1257
|
ws.addEventListener("open", () => {
|
|
1236
1258
|
if (gen !== this.generation) {
|
|
1237
1259
|
try {
|
|
@@ -1240,14 +1262,13 @@ var WsTransport = class {
|
|
|
1240
1262
|
}
|
|
1241
1263
|
return;
|
|
1242
1264
|
}
|
|
1243
|
-
|
|
1244
|
-
resolve3();
|
|
1265
|
+
finish();
|
|
1245
1266
|
});
|
|
1246
1267
|
ws.addEventListener("error", () => {
|
|
1247
1268
|
if (gen !== this.generation)
|
|
1248
1269
|
return;
|
|
1249
1270
|
if (!this._connected)
|
|
1250
|
-
|
|
1271
|
+
finish(new Error(`WebSocket error connecting to ${this.url}`));
|
|
1251
1272
|
});
|
|
1252
1273
|
ws.addEventListener("message", (ev) => {
|
|
1253
1274
|
if (gen !== this.generation)
|
|
@@ -2747,11 +2768,30 @@ ${HELP}` };
|
|
|
2747
2768
|
}
|
|
2748
2769
|
|
|
2749
2770
|
// src/plugin.ts
|
|
2771
|
+
import { createRequire } from "node:module";
|
|
2772
|
+
var requirePkg = createRequire(import.meta.url);
|
|
2773
|
+
var PLUGIN_VERSION = (() => {
|
|
2774
|
+
try {
|
|
2775
|
+
return requirePkg("../package.json").version;
|
|
2776
|
+
} catch {
|
|
2777
|
+
return "0.3.3";
|
|
2778
|
+
}
|
|
2779
|
+
})();
|
|
2750
2780
|
var SUMMARY_MAX = 120;
|
|
2751
2781
|
var MESSAGES_MAX = 300;
|
|
2752
2782
|
var AGENT_SERVICES = ["agents", "agentDefaultModel", "agentPresets", "permissionPresets", "sessionTitle", "workspaceRegistry"];
|
|
2753
2783
|
var text = (s) => [{ type: "text", text: s }];
|
|
2754
2784
|
var jsonRender = (_args, value) => text(JSON.stringify(value));
|
|
2785
|
+
function withTimeout(p, ms, label) {
|
|
2786
|
+
let t;
|
|
2787
|
+
const timeout = new Promise((_, rej) => {
|
|
2788
|
+
t = setTimeout(() => rej(new Error(`${label} timed out after ${ms}ms`)), ms);
|
|
2789
|
+
t.unref?.();
|
|
2790
|
+
});
|
|
2791
|
+
return Promise.race([p, timeout]).finally(() => {
|
|
2792
|
+
if (t) clearTimeout(t);
|
|
2793
|
+
});
|
|
2794
|
+
}
|
|
2755
2795
|
async function loadIdentity(path, agentName) {
|
|
2756
2796
|
try {
|
|
2757
2797
|
const id2 = JSON.parse(await readFile5(path, "utf8"));
|
|
@@ -2924,8 +2964,15 @@ var CollabBridge = class {
|
|
|
2924
2964
|
metas.push({ roomId, invite: this.config.invite, name: roomId, description: "", tags: [], public: false, owner: false, joinedAt: Date.now(), workspaceId: wsId });
|
|
2925
2965
|
}
|
|
2926
2966
|
this.activeRoomId = st?.activeRoomId ?? metas[0]?.roomId ?? null;
|
|
2927
|
-
await Promise.all(metas.map((m) => this.open(m).catch((e) => this.log("error", `rejoin ${m.roomId} failed: ${e.message}`))));
|
|
2928
2967
|
await this.persist();
|
|
2968
|
+
this.emit({ type: "rooms" });
|
|
2969
|
+
void Promise.all(
|
|
2970
|
+
metas.map(
|
|
2971
|
+
(m) => withTimeout(this.open(m), 2e4, `rejoin ${m.roomId}`).catch(
|
|
2972
|
+
(e) => this.log("error", `rejoin ${m.roomId} failed: ${e.message}`)
|
|
2973
|
+
)
|
|
2974
|
+
)
|
|
2975
|
+
).then(() => this.emit({ type: "rooms" }));
|
|
2929
2976
|
})();
|
|
2930
2977
|
return this.ready;
|
|
2931
2978
|
}
|
|
@@ -2935,11 +2982,13 @@ var CollabBridge = class {
|
|
|
2935
2982
|
// ── room lifecycle ───────────────────────────────────────────────────────
|
|
2936
2983
|
async open(meta) {
|
|
2937
2984
|
const existing = this.rooms.get(meta.roomId);
|
|
2938
|
-
if (existing) return existing;
|
|
2939
|
-
const conn = new RoomConn(meta);
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2985
|
+
if (existing?.client?.isJoined()) return existing;
|
|
2986
|
+
const conn = existing ?? new RoomConn(meta);
|
|
2987
|
+
if (!existing) {
|
|
2988
|
+
conn.onAdd = () => this.scheduleHistorySave(conn);
|
|
2989
|
+
this.rooms.set(meta.roomId, conn);
|
|
2990
|
+
this.emit({ type: "rooms" });
|
|
2991
|
+
}
|
|
2943
2992
|
try {
|
|
2944
2993
|
await this.connect(conn);
|
|
2945
2994
|
} catch (e) {
|
|
@@ -3007,7 +3056,7 @@ var CollabBridge = class {
|
|
|
3007
3056
|
this.log("info", `room ${roomId} connection ${status}${detail ? ` (${detail})` : ""}`);
|
|
3008
3057
|
});
|
|
3009
3058
|
if (this.disposed) return;
|
|
3010
|
-
await client.join();
|
|
3059
|
+
await client.join(loopback ? 5e3 : 15e3);
|
|
3011
3060
|
if (this.disposed) {
|
|
3012
3061
|
await client.dispose().catch(() => {
|
|
3013
3062
|
});
|
|
@@ -3024,18 +3073,25 @@ var CollabBridge = class {
|
|
|
3024
3073
|
conn.presenceTimer.unref?.();
|
|
3025
3074
|
}
|
|
3026
3075
|
this.log("info", `joined room ${roomId} as ${identity.agentId} via ${loopback ? "in-process loopback" : wsUrl} (${loopback ? "local" : parsed.mode})`);
|
|
3027
|
-
if (loopback || conn.local.agents.length)
|
|
3076
|
+
if (loopback || conn.local.agents.length) {
|
|
3077
|
+
await withTimeout(this.loadLocalHistory(conn), 3e3, `local-history ${roomId}`).catch(
|
|
3078
|
+
(e) => this.log("warn", `local history ${roomId}: ${e.message}`)
|
|
3079
|
+
);
|
|
3080
|
+
}
|
|
3028
3081
|
try {
|
|
3029
|
-
|
|
3082
|
+
const hist = await withTimeout(client.history(0), 5e3, `history ${roomId}`);
|
|
3083
|
+
for (const p of hist) {
|
|
3030
3084
|
const m = toMessage(p, identity.agentId);
|
|
3031
3085
|
if (m) conn.add(m);
|
|
3032
3086
|
}
|
|
3033
3087
|
} catch (e) {
|
|
3034
3088
|
this.log("warn", `history for ${roomId} failed: ${e.message}`);
|
|
3035
3089
|
}
|
|
3036
|
-
await this.connectAgents(conn)
|
|
3090
|
+
await withTimeout(this.connectAgents(conn), loopback ? 8e3 : 2e4, `connectAgents ${roomId}`).catch(
|
|
3091
|
+
(e) => this.log("warn", `local agents for ${roomId} failed: ${e.message}`)
|
|
3092
|
+
);
|
|
3037
3093
|
try {
|
|
3038
|
-
await this.announceMemberConfig(conn);
|
|
3094
|
+
await withTimeout(this.announceMemberConfig(conn), 5e3, `announce ${roomId}`);
|
|
3039
3095
|
} catch (e) {
|
|
3040
3096
|
this.log("warn", `announce member.config failed: ${e.message}`);
|
|
3041
3097
|
}
|
|
@@ -3173,23 +3229,49 @@ var CollabBridge = class {
|
|
|
3173
3229
|
}
|
|
3174
3230
|
};
|
|
3175
3231
|
meta.local = normalizeLocalSettings(meta.local);
|
|
3176
|
-
|
|
3232
|
+
this.log("info", `createRoom begin name=${meta.name} localOnly=${!!opts.localOnly} agents=${(opts.agents ?? []).length}`);
|
|
3233
|
+
const conn = new RoomConn(meta);
|
|
3234
|
+
conn.onAdd = () => this.scheduleHistorySave(conn);
|
|
3235
|
+
this.rooms.set(meta.roomId, conn);
|
|
3236
|
+
conn.status = "connecting";
|
|
3237
|
+
this.activeRoomId = meta.roomId;
|
|
3238
|
+
this.emit({ type: "rooms" });
|
|
3177
3239
|
for (const entry of opts.agents ?? []) {
|
|
3178
3240
|
if (typeof entry === "string") {
|
|
3179
|
-
if (AGENT_PRESETS.some((p) => p.key === entry)) await this.addLocalAgent(meta.roomId, { preset: entry });
|
|
3241
|
+
if (AGENT_PRESETS.some((p) => p.key === entry)) await this.addLocalAgent(meta.roomId, { preset: entry }, { connect: false });
|
|
3180
3242
|
} else if (entry && typeof entry === "object") {
|
|
3181
|
-
await this.addLocalAgent(meta.roomId, entry);
|
|
3243
|
+
await this.addLocalAgent(meta.roomId, entry, { connect: false });
|
|
3182
3244
|
}
|
|
3183
3245
|
}
|
|
3184
|
-
this.activeRoomId = meta.roomId;
|
|
3185
3246
|
if (bindTo) this.bind(conn, bindTo);
|
|
3186
3247
|
await this.persist();
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
this.log("
|
|
3190
|
-
|
|
3191
|
-
}
|
|
3192
|
-
|
|
3248
|
+
this.log("info", `createRoom persisted ${meta.roomId} with ${conn.local.agents.length} agent(s); connecting in background`);
|
|
3249
|
+
void this.finishCreateConnect(conn, meta.public).catch(
|
|
3250
|
+
(e) => this.log("error", `createRoom background connect ${meta.roomId}: ${e.message}`)
|
|
3251
|
+
);
|
|
3252
|
+
return { ...this.view(conn), invite: meta.invite, listed: false };
|
|
3253
|
+
}
|
|
3254
|
+
/** Background: host join + local agent joins + optional directory publish. Never awaited by HTTP create. */
|
|
3255
|
+
async finishCreateConnect(conn, isPublic) {
|
|
3256
|
+
try {
|
|
3257
|
+
await withTimeout(this.connect(conn), conn.local.loopback ? 8e3 : 2e4, `connect ${conn.meta.roomId}`);
|
|
3258
|
+
if (conn.local.agents.length) {
|
|
3259
|
+
await withTimeout(this.connectAgents(conn), conn.local.loopback ? 8e3 : 25e3, `agents ${conn.meta.roomId}`).catch(
|
|
3260
|
+
(e) => this.log("warn", `local agents for ${conn.meta.roomId}: ${e.message}`)
|
|
3261
|
+
);
|
|
3262
|
+
}
|
|
3263
|
+
if (isPublic && conn.meta.owner) {
|
|
3264
|
+
this.startHeartbeat(conn);
|
|
3265
|
+
await this.publish(conn).catch((e) => this.log("warn", `directory publish failed: ${e.message}`));
|
|
3266
|
+
}
|
|
3267
|
+
this.log("info", `createRoom connected ${conn.meta.roomId} status=${conn.status}`);
|
|
3268
|
+
} catch (e) {
|
|
3269
|
+
conn.status = "offline";
|
|
3270
|
+
conn.error = e.message;
|
|
3271
|
+
this.emit({ type: "rooms" });
|
|
3272
|
+
throw e;
|
|
3273
|
+
}
|
|
3274
|
+
this.emit({ type: "rooms" });
|
|
3193
3275
|
}
|
|
3194
3276
|
/** Join by invite. `info` carries directory metadata when joining from search results. */
|
|
3195
3277
|
async joinInvite(invite, info = {}, bindTo) {
|
|
@@ -3342,7 +3424,7 @@ var CollabBridge = class {
|
|
|
3342
3424
|
error: conn.error,
|
|
3343
3425
|
members: (() => {
|
|
3344
3426
|
const localAgents = conn.local.agents;
|
|
3345
|
-
for (const a of localAgents)
|
|
3427
|
+
for (const a of localAgents) live.add(a.agentId);
|
|
3346
3428
|
const ids = [...live];
|
|
3347
3429
|
const cfgs = this.peerConfigs.get(conn.meta.roomId);
|
|
3348
3430
|
return ids.map((agentId) => {
|
|
@@ -3373,6 +3455,7 @@ var CollabBridge = class {
|
|
|
3373
3455
|
}
|
|
3374
3456
|
state() {
|
|
3375
3457
|
return {
|
|
3458
|
+
version: PLUGIN_VERSION,
|
|
3376
3459
|
self: this.identity?.agentId ?? null,
|
|
3377
3460
|
relayUrl: this.config.relayUrl,
|
|
3378
3461
|
lanRelayPort: this.lanRelay?.port ?? null,
|
|
@@ -3680,13 +3763,18 @@ Do what is asked using your tools. Answer in the room by calling collab_send wit
|
|
|
3680
3763
|
}
|
|
3681
3764
|
/** Join every configured local agent as its own room member (own keypair, same transport as the host). */
|
|
3682
3765
|
async connectAgents(conn) {
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3766
|
+
const pending = conn.local.agents.filter((a) => !conn.agents.get(a.agentId)?.isJoined());
|
|
3767
|
+
await Promise.all(
|
|
3768
|
+
pending.map(
|
|
3769
|
+
(a) => this.connectAgent(conn, a).catch((e) => this.log("warn", `local agent ${a.agentId} join failed: ${e.message}`))
|
|
3770
|
+
)
|
|
3771
|
+
);
|
|
3687
3772
|
this.emit({ type: "rooms" });
|
|
3688
3773
|
}
|
|
3689
3774
|
async connectAgent(conn, a) {
|
|
3775
|
+
await withTimeout(this.connectAgentInner(conn, a), conn.local.loopback ? 8e3 : 2e4, `agent ${a.agentId} join`);
|
|
3776
|
+
}
|
|
3777
|
+
async connectAgentInner(conn, a) {
|
|
3690
3778
|
const parsed = parseInviteUri(conn.meta.invite);
|
|
3691
3779
|
const identity = await loadIdentity(this.agentIdentityPath(a.agentId), a.agentId);
|
|
3692
3780
|
const client = new CollabClient({
|
|
@@ -3703,7 +3791,7 @@ Do what is asked using your tools. Answer in the room by calling collab_send wit
|
|
|
3703
3791
|
});
|
|
3704
3792
|
client.onPeers(() => this.emit({ type: "rooms" }));
|
|
3705
3793
|
if (this.disposed) return;
|
|
3706
|
-
await client.join();
|
|
3794
|
+
await client.join(conn.local.loopback ? 5e3 : 12e3);
|
|
3707
3795
|
if (this.disposed) {
|
|
3708
3796
|
await client.dispose().catch(() => {
|
|
3709
3797
|
});
|
|
@@ -3751,7 +3839,7 @@ Do what is asked using your tools. Answer in the room by calling collab_send wit
|
|
|
3751
3839
|
presets() {
|
|
3752
3840
|
return AGENT_PRESETS;
|
|
3753
3841
|
}
|
|
3754
|
-
async addLocalAgent(roomId, input) {
|
|
3842
|
+
async addLocalAgent(roomId, input, opts = {}) {
|
|
3755
3843
|
const conn = this.room(roomId);
|
|
3756
3844
|
const self = await this.self();
|
|
3757
3845
|
const preset = AGENT_PRESETS.find((p) => p.key === input.preset);
|
|
@@ -3776,8 +3864,14 @@ Do what is asked using your tools. Answer in the room by calling collab_send wit
|
|
|
3776
3864
|
if (cfg.moderator) for (const a of conn.local.agents) a.moderator = false;
|
|
3777
3865
|
conn.local.agents.push(cfg);
|
|
3778
3866
|
await this.persist();
|
|
3779
|
-
if (conn.client?.isJoined()) await this.connectAgent(conn, cfg);
|
|
3780
3867
|
this.emit({ type: "rooms" });
|
|
3868
|
+
const shouldConnect = opts.connect !== false && !!conn.client?.isJoined();
|
|
3869
|
+
if (shouldConnect) {
|
|
3870
|
+
void this.connectAgent(conn, cfg).then(
|
|
3871
|
+
() => this.emit({ type: "rooms" }),
|
|
3872
|
+
(e) => this.log("warn", `local agent ${cfg.agentId} join failed: ${e.message}`)
|
|
3873
|
+
);
|
|
3874
|
+
}
|
|
3781
3875
|
return cfg;
|
|
3782
3876
|
}
|
|
3783
3877
|
async updateLocalAgent(roomId, id, input) {
|
|
@@ -4759,6 +4853,7 @@ function createApiHandler(bridge, connection) {
|
|
|
4759
4853
|
await bridge.start();
|
|
4760
4854
|
if (method === "GET" && path === "/stream") return stream(bridge, req, res);
|
|
4761
4855
|
if (method === "GET" && path === "/state") return sendJson2(res, 200, bridge.state());
|
|
4856
|
+
if (method === "GET" && path === "/version") return sendJson2(res, 200, { name: "@cecwxf/dsh-room", version: bridge.state().version ?? "unknown" });
|
|
4762
4857
|
if (method === "GET" && path === "/directory") return sendJson2(res, 200, { rooms: await bridge.search(str(url.searchParams.get("q")), str(url.searchParams.get("tag"))) });
|
|
4763
4858
|
if (method === "POST" && path === "/rooms") {
|
|
4764
4859
|
const b = await readJson2(req);
|
|
@@ -4938,6 +5033,7 @@ export {
|
|
|
4938
5033
|
AGENT_PRESETS,
|
|
4939
5034
|
CollabBridge,
|
|
4940
5035
|
Config,
|
|
5036
|
+
PLUGIN_VERSION,
|
|
4941
5037
|
apply,
|
|
4942
5038
|
inject,
|
|
4943
5039
|
mockLocalRunner,
|
package/dist/types/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,GAAG,gBAAgB,CAAC;AAGjC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,MAAM,IAAI,CAAC;CACvJ;AACD,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5D;AAkCD,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,GAAG,SAAS,IACnF,KAAK,eAAe,EAAE,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,GAAG,gBAAgB,CAAC;AAGjC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,MAAM,IAAI,CAAC;CACvJ;AACD,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5D;AAkCD,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,GAAG,SAAS,IACnF,KAAK,eAAe,EAAE,KAAK,cAAc,mBA+IxD;AAyBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,IAAI,CAEvI"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* dsh room — DeepSeek Harness plugin for Collab rooms (sidebar: DSH Room).
|
|
3
|
-
* Host half: tools, the `/collab` command, the /api/collab routes the Rooms UI uses,
|
|
4
|
-
* and the room bridge. Browser half: ./client (Rooms panel, see src/client/).
|
|
5
|
-
*/
|
|
6
|
-
import { CollabBridge } from "./plugin.js";
|
|
7
1
|
import { Config, normalizeConfig } from "./config.js";
|
|
8
2
|
import type { DshCollabConfig, HostContext } from "./adapter.js";
|
|
9
3
|
export declare const name = "dsh-room";
|
|
10
4
|
/** Only the tool registry is required; commands/webServer/agent services are optional. */
|
|
11
5
|
export declare const inject: string[];
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
6
|
+
export { PLUGIN_VERSION, CollabBridge, mockLocalRunner } from "./plugin.js";
|
|
7
|
+
export { Config, normalizeConfig };
|
|
14
8
|
export { AGENT_PRESETS } from "./local-agents.js";
|
|
15
|
-
export type * from "./adapter.js";
|
|
16
9
|
export declare function apply(ctx: HostContext, config: DshCollabConfig): void;
|
|
17
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEjE,eAAO,MAAM,IAAI,aAAa,CAAC;AAC/B,0FAA0F;AAC1F,eAAO,MAAM,MAAM,UAAY,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,wBAAgB,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,QAmB9D"}
|
package/dist/types/plugin.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { ApprovalQueue } from "./approval-queue.js";
|
|
|
7
7
|
import { publicMemberConfig, type RoomMemberConfig } from "./member-config.js";
|
|
8
8
|
import type { AgentLike, DshCollabConfig, HostContext, ToolDefinition } from "./adapter.js";
|
|
9
9
|
import { type RoomMeta, type WorkspaceMeta } from "./state.js";
|
|
10
|
+
export declare const PLUGIN_VERSION: string;
|
|
10
11
|
export declare function describePayload(p: CollabPayload): string;
|
|
11
12
|
/** UI/transcript view of one decrypted room payload. */
|
|
12
13
|
export interface RoomMessage {
|
|
@@ -295,6 +296,8 @@ export declare class CollabBridge {
|
|
|
295
296
|
agentSessions?: Record<string, string> | undefined;
|
|
296
297
|
agentNoEffort?: string[] | undefined;
|
|
297
298
|
}>;
|
|
299
|
+
/** Background: host join + local agent joins + optional directory publish. Never awaited by HTTP create. */
|
|
300
|
+
private finishCreateConnect;
|
|
298
301
|
/** Join by invite. `info` carries directory metadata when joining from search results. */
|
|
299
302
|
joinInvite(invite: string, info?: Partial<Pick<RoomMeta, "name" | "description" | "tags" | "public" | "workspaceId">> & {
|
|
300
303
|
workspacePath?: string;
|
|
@@ -399,6 +402,7 @@ export declare class CollabBridge {
|
|
|
399
402
|
}[]>;
|
|
400
403
|
view(conn: RoomConn): RoomView;
|
|
401
404
|
state(): {
|
|
405
|
+
version: string;
|
|
402
406
|
self: string | null;
|
|
403
407
|
relayUrl: string;
|
|
404
408
|
lanRelayPort: number | null;
|
|
@@ -475,12 +479,15 @@ export declare class CollabBridge {
|
|
|
475
479
|
/** Join every configured local agent as its own room member (own keypair, same transport as the host). */
|
|
476
480
|
private connectAgents;
|
|
477
481
|
private connectAgent;
|
|
482
|
+
private connectAgentInner;
|
|
478
483
|
private announceAgentConfig;
|
|
479
484
|
private disconnectAgents;
|
|
480
485
|
private localAgent;
|
|
481
486
|
presets(): import("./local-agents.js").AgentPreset[];
|
|
482
487
|
addLocalAgent(roomId: string, input: Record<string, unknown> & {
|
|
483
488
|
preset?: string;
|
|
489
|
+
}, opts?: {
|
|
490
|
+
connect?: boolean;
|
|
484
491
|
}): Promise<LocalAgentConfig>;
|
|
485
492
|
updateLocalAgent(roomId: string, id: string, input: Record<string, unknown>): Promise<LocalAgentConfig>;
|
|
486
493
|
removeLocalAgent(roomId: string, id: string): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
|