agent-phonon 0.2.10 → 0.2.11
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/dist/cli.js +134 -60
- package/dist/cli.js.map +1 -1
- package/dist/daemon.js +60 -60
- package/dist/daemon.js.map +1 -1
- package/package.json +2 -2
package/dist/daemon.js
CHANGED
|
@@ -1724,12 +1724,12 @@ var init_rpc = __esm({
|
|
|
1724
1724
|
requestRaw(method, params, timeoutMs = 12e4) {
|
|
1725
1725
|
const id = this.nextId++;
|
|
1726
1726
|
const msg = { jsonrpc: "2.0", id, method, params };
|
|
1727
|
-
return new Promise((
|
|
1727
|
+
return new Promise((resolve6, reject) => {
|
|
1728
1728
|
const timer = timeoutMs > 0 ? setTimeout(() => {
|
|
1729
1729
|
this.pending.delete(id);
|
|
1730
1730
|
reject(new PhononError("errInternal", `RPC timeout: ${method}`));
|
|
1731
1731
|
}, timeoutMs) : void 0;
|
|
1732
|
-
this.pending.set(id, { resolve:
|
|
1732
|
+
this.pending.set(id, { resolve: resolve6, reject, timer });
|
|
1733
1733
|
this.transport.send(JSON.stringify(msg));
|
|
1734
1734
|
});
|
|
1735
1735
|
}
|
|
@@ -2185,8 +2185,8 @@ var SessionEngine = class {
|
|
|
2185
2185
|
this.interactionWaiters.delete(requestId);
|
|
2186
2186
|
}
|
|
2187
2187
|
}
|
|
2188
|
-
registerInteractionWaiter(requestId,
|
|
2189
|
-
this.interactionWaiters.set(requestId,
|
|
2188
|
+
registerInteractionWaiter(requestId, resolve6) {
|
|
2189
|
+
this.interactionWaiters.set(requestId, resolve6);
|
|
2190
2190
|
}
|
|
2191
2191
|
list(tenantId, filter) {
|
|
2192
2192
|
const all = [];
|
|
@@ -3761,7 +3761,7 @@ ${message}`;
|
|
|
3761
3761
|
return void 0;
|
|
3762
3762
|
}
|
|
3763
3763
|
run(args, signal, environment) {
|
|
3764
|
-
return new Promise((
|
|
3764
|
+
return new Promise((resolve6, reject) => {
|
|
3765
3765
|
const child = spawn2("openclaw", args, { cwd: this.cwd, env: { ...process.env, ...environment ?? {} } });
|
|
3766
3766
|
this.current = child;
|
|
3767
3767
|
let out = "";
|
|
@@ -3779,9 +3779,9 @@ ${message}`;
|
|
|
3779
3779
|
signal?.removeEventListener("abort", onAbort);
|
|
3780
3780
|
this.current = void 0;
|
|
3781
3781
|
if (killed)
|
|
3782
|
-
return
|
|
3782
|
+
return resolve6(null);
|
|
3783
3783
|
if (code === 0)
|
|
3784
|
-
|
|
3784
|
+
resolve6(out);
|
|
3785
3785
|
else
|
|
3786
3786
|
reject(new Error(`openclaw exited ${code}: ${err.slice(0, 500)}`));
|
|
3787
3787
|
});
|
|
@@ -3833,12 +3833,12 @@ var OpenClawAdapter = class {
|
|
|
3833
3833
|
return new OpenClawSession(params.sessionId, params.model, params.cwd, openclawAgent);
|
|
3834
3834
|
}
|
|
3835
3835
|
probeVersion() {
|
|
3836
|
-
return new Promise((
|
|
3836
|
+
return new Promise((resolve6) => {
|
|
3837
3837
|
const child = spawn2("openclaw", ["--version"]);
|
|
3838
3838
|
let out = "";
|
|
3839
3839
|
child.stdout.on("data", (d) => out += d.toString());
|
|
3840
|
-
child.on("error", () =>
|
|
3841
|
-
child.on("close", (code) =>
|
|
3840
|
+
child.on("error", () => resolve6(null));
|
|
3841
|
+
child.on("close", (code) => resolve6(code === 0 ? out.trim() : null));
|
|
3842
3842
|
});
|
|
3843
3843
|
}
|
|
3844
3844
|
};
|
|
@@ -3871,7 +3871,7 @@ var GatewayClient = class {
|
|
|
3871
3871
|
return this.connectPromise;
|
|
3872
3872
|
}
|
|
3873
3873
|
doConnect() {
|
|
3874
|
-
return new Promise((
|
|
3874
|
+
return new Promise((resolve6, reject) => {
|
|
3875
3875
|
const wsUrl = this.config.baseUrl.replace(/^http/, "ws");
|
|
3876
3876
|
const ws = new WebSocket(wsUrl);
|
|
3877
3877
|
this.ws = ws;
|
|
@@ -3902,7 +3902,7 @@ var GatewayClient = class {
|
|
|
3902
3902
|
} else if (frame.type === "res" && frame.ok && frame.payload?.type === "hello-ok") {
|
|
3903
3903
|
handshakeDone = true;
|
|
3904
3904
|
this.connected = true;
|
|
3905
|
-
|
|
3905
|
+
resolve6();
|
|
3906
3906
|
} else if (frame.type === "res" && !frame.ok) {
|
|
3907
3907
|
reject(new Error(`handshake failed: ${JSON.stringify(frame.error)}`));
|
|
3908
3908
|
}
|
|
@@ -3948,13 +3948,13 @@ var GatewayClient = class {
|
|
|
3948
3948
|
async rpc(method, params, timeoutMs = 12e4) {
|
|
3949
3949
|
if (!this.connected)
|
|
3950
3950
|
await this.connect();
|
|
3951
|
-
return new Promise((
|
|
3951
|
+
return new Promise((resolve6, reject) => {
|
|
3952
3952
|
const id = randomUUID();
|
|
3953
3953
|
const timer = setTimeout(() => {
|
|
3954
3954
|
this.pending.delete(id);
|
|
3955
3955
|
reject(new Error(`RPC timeout: ${method}`));
|
|
3956
3956
|
}, timeoutMs);
|
|
3957
|
-
this.pending.set(id, { resolve:
|
|
3957
|
+
this.pending.set(id, { resolve: resolve6, reject, timer });
|
|
3958
3958
|
this.ws.send(JSON.stringify({ type: "req", id, method, params }));
|
|
3959
3959
|
});
|
|
3960
3960
|
}
|
|
@@ -4081,14 +4081,14 @@ var GatewaySession = class {
|
|
|
4081
4081
|
|
|
4082
4082
|
${input}`;
|
|
4083
4083
|
}
|
|
4084
|
-
await new Promise((
|
|
4084
|
+
await new Promise((resolve6) => {
|
|
4085
4085
|
let settled = false;
|
|
4086
4086
|
const finish = () => {
|
|
4087
4087
|
if (settled)
|
|
4088
4088
|
return;
|
|
4089
4089
|
settled = true;
|
|
4090
4090
|
clearTimeout(guard);
|
|
4091
|
-
|
|
4091
|
+
resolve6();
|
|
4092
4092
|
};
|
|
4093
4093
|
this.activeTurn = { turnId, emit, verbosity: opts.verbosity, done: finish, acc: "" };
|
|
4094
4094
|
this.gw.rpc("chat.send", {
|
|
@@ -4349,7 +4349,7 @@ var PhononClient = class {
|
|
|
4349
4349
|
}
|
|
4350
4350
|
/** 连接并完成握手,resolve 后即可接收 server 的 session.* 下发。 */
|
|
4351
4351
|
connect() {
|
|
4352
|
-
return new Promise((
|
|
4352
|
+
return new Promise((resolve6, reject) => {
|
|
4353
4353
|
const ws = new WebSocket2(this.serverUrl);
|
|
4354
4354
|
this.ws = ws;
|
|
4355
4355
|
const transport = {
|
|
@@ -4391,7 +4391,7 @@ var PhononClient = class {
|
|
|
4391
4391
|
if (wAck && wAck.length > 0) {
|
|
4392
4392
|
conn.replayPending(wAck.map((a) => ({ sessionId: a.sessionId, fromSeq: a.lastSeq })));
|
|
4393
4393
|
}
|
|
4394
|
-
|
|
4394
|
+
resolve6({ tenantId: welcome.tenantId });
|
|
4395
4395
|
} catch (err) {
|
|
4396
4396
|
reject(err);
|
|
4397
4397
|
}
|
|
@@ -4461,12 +4461,12 @@ var HookBridge = class {
|
|
|
4461
4461
|
this.token = opts?.token;
|
|
4462
4462
|
}
|
|
4463
4463
|
listen(port = 4318, host = "127.0.0.1") {
|
|
4464
|
-
return new Promise((
|
|
4464
|
+
return new Promise((resolve6) => {
|
|
4465
4465
|
const server = createServer((req, res) => this.onRequest(req, res));
|
|
4466
4466
|
this.server = server;
|
|
4467
4467
|
server.listen(port, host, () => {
|
|
4468
4468
|
const addr = server.address();
|
|
4469
|
-
|
|
4469
|
+
resolve6(typeof addr === "object" && addr ? addr.port : port);
|
|
4470
4470
|
});
|
|
4471
4471
|
});
|
|
4472
4472
|
}
|
|
@@ -4519,10 +4519,10 @@ var HookBridge = class {
|
|
|
4519
4519
|
});
|
|
4520
4520
|
}
|
|
4521
4521
|
close() {
|
|
4522
|
-
return new Promise((
|
|
4522
|
+
return new Promise((resolve6) => {
|
|
4523
4523
|
if (!this.server)
|
|
4524
|
-
return
|
|
4525
|
-
this.server.close(() =>
|
|
4524
|
+
return resolve6();
|
|
4525
|
+
this.server.close(() => resolve6());
|
|
4526
4526
|
});
|
|
4527
4527
|
}
|
|
4528
4528
|
};
|
|
@@ -4707,7 +4707,7 @@ function normalizeOpenAiModels(data) {
|
|
|
4707
4707
|
return out;
|
|
4708
4708
|
}
|
|
4709
4709
|
function fetchJson(url, headers) {
|
|
4710
|
-
return new Promise((
|
|
4710
|
+
return new Promise((resolve6, reject) => {
|
|
4711
4711
|
const u = new URL(url);
|
|
4712
4712
|
const req = (u.protocol === "http:" ? import("node:http") : import("node:https")).then((mod) => mod.request(url, { method: "GET", headers, timeout: 5e3 }, (res) => {
|
|
4713
4713
|
let body = "";
|
|
@@ -4719,7 +4719,7 @@ function fetchJson(url, headers) {
|
|
|
4719
4719
|
return;
|
|
4720
4720
|
}
|
|
4721
4721
|
try {
|
|
4722
|
-
|
|
4722
|
+
resolve6(JSON.parse(body));
|
|
4723
4723
|
} catch (e) {
|
|
4724
4724
|
reject(e);
|
|
4725
4725
|
}
|
|
@@ -4781,7 +4781,7 @@ ${prompt}`;
|
|
|
4781
4781
|
await this.run(args, prompt, turnId, emit, opts);
|
|
4782
4782
|
}
|
|
4783
4783
|
run(args, stdin, turnId, emit, opts) {
|
|
4784
|
-
return new Promise((
|
|
4784
|
+
return new Promise((resolve6) => {
|
|
4785
4785
|
const child = spawn3(this.env.binPath ?? "codex", args, {
|
|
4786
4786
|
cwd: this.cwd,
|
|
4787
4787
|
shell: process.platform === "win32",
|
|
@@ -4802,7 +4802,7 @@ ${prompt}`;
|
|
|
4802
4802
|
} else {
|
|
4803
4803
|
emit({ type: "result", sessionId: this.sessionId, turnId, seq: 0, at: (/* @__PURE__ */ new Date()).toISOString(), text, status, final: true });
|
|
4804
4804
|
}
|
|
4805
|
-
|
|
4805
|
+
resolve6();
|
|
4806
4806
|
};
|
|
4807
4807
|
const guard = setTimeout(() => finish("timeout", acc), 18e5);
|
|
4808
4808
|
opts.signal?.addEventListener("abort", () => {
|
|
@@ -4934,12 +4934,12 @@ var CodexAdapter = class {
|
|
|
4934
4934
|
return base.length > 0 ? base : CODEX_FALLBACK_MODELS;
|
|
4935
4935
|
}
|
|
4936
4936
|
probeVersion() {
|
|
4937
|
-
return new Promise((
|
|
4937
|
+
return new Promise((resolve6) => {
|
|
4938
4938
|
const child = spawn3(this.env.binPath ?? "codex", ["--version"], { shell: process.platform === "win32" });
|
|
4939
4939
|
let out = "";
|
|
4940
4940
|
child.stdout.on("data", (d) => out += d.toString());
|
|
4941
|
-
child.on("error", () =>
|
|
4942
|
-
child.on("close", (code) =>
|
|
4941
|
+
child.on("error", () => resolve6(null));
|
|
4942
|
+
child.on("close", (code) => resolve6(code === 0 ? out.trim() : null));
|
|
4943
4943
|
});
|
|
4944
4944
|
}
|
|
4945
4945
|
};
|
|
@@ -5015,7 +5015,7 @@ ${message}`;
|
|
|
5015
5015
|
await this.run(args, turnId, emit, opts);
|
|
5016
5016
|
}
|
|
5017
5017
|
run(args, turnId, emit, opts) {
|
|
5018
|
-
return new Promise((
|
|
5018
|
+
return new Promise((resolve6) => {
|
|
5019
5019
|
const child = spawn4(this.bin, args, { cwd: this.cwd, stdio: ["ignore", "pipe", "pipe"], env: { ...process.env, ...opts.environment ?? {} } });
|
|
5020
5020
|
this.current = child;
|
|
5021
5021
|
let buf = "";
|
|
@@ -5032,7 +5032,7 @@ ${message}`;
|
|
|
5032
5032
|
} else {
|
|
5033
5033
|
emit({ type: "result", sessionId: this.sessionId, turnId, seq: 0, at: (/* @__PURE__ */ new Date()).toISOString(), text, status, final: true });
|
|
5034
5034
|
}
|
|
5035
|
-
|
|
5035
|
+
resolve6();
|
|
5036
5036
|
};
|
|
5037
5037
|
const guard = setTimeout(() => finish("timeout", acc), 18e5);
|
|
5038
5038
|
opts.signal?.addEventListener("abort", () => {
|
|
@@ -5163,12 +5163,12 @@ var OpenCodeAdapter = class {
|
|
|
5163
5163
|
return new OpenCodeSession(params.sessionId, model, params.cwd, this.bin);
|
|
5164
5164
|
}
|
|
5165
5165
|
probeVersion() {
|
|
5166
|
-
return new Promise((
|
|
5166
|
+
return new Promise((resolve6) => {
|
|
5167
5167
|
const child = spawn4(this.bin, ["--version"]);
|
|
5168
5168
|
let out = "";
|
|
5169
5169
|
child.stdout.on("data", (d) => out += d.toString());
|
|
5170
|
-
child.on("error", () =>
|
|
5171
|
-
child.on("close", (code) =>
|
|
5170
|
+
child.on("error", () => resolve6(null));
|
|
5171
|
+
child.on("close", (code) => resolve6(code === 0 ? out.trim() : null));
|
|
5172
5172
|
});
|
|
5173
5173
|
}
|
|
5174
5174
|
};
|
|
@@ -5233,7 +5233,7 @@ function parseHermesConfig(configPath = join9(homedir7(), ".hermes", "config.yam
|
|
|
5233
5233
|
return { defaultModel, provider, catalogUrl };
|
|
5234
5234
|
}
|
|
5235
5235
|
function fetchHermesCatalogModels(url, provider) {
|
|
5236
|
-
return new Promise((
|
|
5236
|
+
return new Promise((resolve6) => {
|
|
5237
5237
|
const u = new URL(url);
|
|
5238
5238
|
const reqMod = u.protocol === "http:" ? import("node:http") : import("node:https");
|
|
5239
5239
|
reqMod.then((mod) => {
|
|
@@ -5247,21 +5247,21 @@ function fetchHermesCatalogModels(url, provider) {
|
|
|
5247
5247
|
const providers = data.providers ?? {};
|
|
5248
5248
|
const rows = provider ? providers[provider]?.models ?? [] : Object.values(providers).flatMap((p) => p.models ?? []);
|
|
5249
5249
|
const seen = /* @__PURE__ */ new Set();
|
|
5250
|
-
|
|
5250
|
+
resolve6(rows.flatMap((m) => {
|
|
5251
5251
|
if (!m.id || seen.has(m.id))
|
|
5252
5252
|
return [];
|
|
5253
5253
|
seen.add(m.id);
|
|
5254
5254
|
return [{ id: m.id, ...m.description ? { displayName: m.description } : {}, available: true }];
|
|
5255
5255
|
}));
|
|
5256
5256
|
} catch {
|
|
5257
|
-
|
|
5257
|
+
resolve6([]);
|
|
5258
5258
|
}
|
|
5259
5259
|
});
|
|
5260
5260
|
});
|
|
5261
5261
|
req.on("timeout", () => req.destroy());
|
|
5262
|
-
req.on("error", () =>
|
|
5262
|
+
req.on("error", () => resolve6([]));
|
|
5263
5263
|
req.end();
|
|
5264
|
-
}, () =>
|
|
5264
|
+
}, () => resolve6([]));
|
|
5265
5265
|
});
|
|
5266
5266
|
}
|
|
5267
5267
|
var HermesSession = class {
|
|
@@ -5309,7 +5309,7 @@ ${prompt}`;
|
|
|
5309
5309
|
await this.run(args, turnId, emit, opts);
|
|
5310
5310
|
}
|
|
5311
5311
|
run(args, turnId, emit, opts) {
|
|
5312
|
-
return new Promise((
|
|
5312
|
+
return new Promise((resolve6) => {
|
|
5313
5313
|
const child = spawn5(this.env.binPath ?? "hermes", args, {
|
|
5314
5314
|
cwd: this.cwd,
|
|
5315
5315
|
shell: process.platform === "win32",
|
|
@@ -5332,7 +5332,7 @@ ${prompt}`;
|
|
|
5332
5332
|
emit({ type: "message", sessionId: this.sessionId, turnId, seq: 0, at: (/* @__PURE__ */ new Date()).toISOString(), role: "assistant", text, delta: false });
|
|
5333
5333
|
emit({ type: "result", sessionId: this.sessionId, turnId, seq: 0, at: (/* @__PURE__ */ new Date()).toISOString(), text, status, final: true });
|
|
5334
5334
|
}
|
|
5335
|
-
|
|
5335
|
+
resolve6();
|
|
5336
5336
|
};
|
|
5337
5337
|
const guard = setTimeout(() => finish("timeout", out), 18e5);
|
|
5338
5338
|
opts.signal?.addEventListener("abort", () => {
|
|
@@ -5492,11 +5492,11 @@ var HermesAdapter = class {
|
|
|
5492
5492
|
}
|
|
5493
5493
|
/** 枚举 Hermes profile(去 ANSI 色解析 profile list)。 */
|
|
5494
5494
|
listProfiles() {
|
|
5495
|
-
return new Promise((
|
|
5495
|
+
return new Promise((resolve6) => {
|
|
5496
5496
|
const child = spawn5(this.env.binPath ?? "hermes", ["profile", "list"], { shell: process.platform === "win32" });
|
|
5497
5497
|
let out = "";
|
|
5498
5498
|
child.stdout.on("data", (d) => out += d.toString());
|
|
5499
|
-
child.on("error", () =>
|
|
5499
|
+
child.on("error", () => resolve6([{ name: this.defaultProfile }]));
|
|
5500
5500
|
child.on("close", () => {
|
|
5501
5501
|
const clean = out.replace(/\u001b\[[0-9;]*m/g, "");
|
|
5502
5502
|
const names = [];
|
|
@@ -5507,17 +5507,17 @@ var HermesAdapter = class {
|
|
|
5507
5507
|
names.push({ name: m[1], model: rest[0] || void 0 });
|
|
5508
5508
|
}
|
|
5509
5509
|
}
|
|
5510
|
-
|
|
5510
|
+
resolve6(names.length > 0 ? names : [{ name: this.defaultProfile }]);
|
|
5511
5511
|
});
|
|
5512
5512
|
});
|
|
5513
5513
|
}
|
|
5514
5514
|
probeVersion() {
|
|
5515
|
-
return new Promise((
|
|
5515
|
+
return new Promise((resolve6) => {
|
|
5516
5516
|
const child = spawn5(this.env.binPath ?? "hermes", ["--version"], { shell: process.platform === "win32" });
|
|
5517
5517
|
let out = "";
|
|
5518
5518
|
child.stdout.on("data", (d) => out += d.toString());
|
|
5519
|
-
child.on("error", () =>
|
|
5520
|
-
child.on("close", (code) =>
|
|
5519
|
+
child.on("error", () => resolve6(null));
|
|
5520
|
+
child.on("close", (code) => resolve6(code === 0 ? out.trim().split("\n")[0] ?? "hermes" : null));
|
|
5521
5521
|
});
|
|
5522
5522
|
}
|
|
5523
5523
|
};
|
|
@@ -5740,7 +5740,7 @@ ${prompt}`;
|
|
|
5740
5740
|
await this.run(args, envelope, turnId, emit, opts);
|
|
5741
5741
|
}
|
|
5742
5742
|
run(args, stdin, turnId, emit, opts) {
|
|
5743
|
-
return new Promise((
|
|
5743
|
+
return new Promise((resolve6) => {
|
|
5744
5744
|
const childEnv = {};
|
|
5745
5745
|
for (const [k, v] of Object.entries(process.env)) {
|
|
5746
5746
|
if (k === "CLAUDECODE" || k.startsWith("CLAUDECODE_") || k.startsWith("CLAUDE_CODE_"))
|
|
@@ -5772,7 +5772,7 @@ ${prompt}`;
|
|
|
5772
5772
|
} else {
|
|
5773
5773
|
emit({ type: "result", sessionId: this.sessionId, turnId, seq: 0, at: (/* @__PURE__ */ new Date()).toISOString(), text, status, final: true });
|
|
5774
5774
|
}
|
|
5775
|
-
|
|
5775
|
+
resolve6();
|
|
5776
5776
|
};
|
|
5777
5777
|
const guard = setTimeout(() => finish("timeout", acc), 18e5);
|
|
5778
5778
|
opts.signal?.addEventListener("abort", () => {
|
|
@@ -5889,12 +5889,12 @@ var ClaudeCodeAdapter = class {
|
|
|
5889
5889
|
return new ClaudeCodeSession(params.sessionId, params.model, params.cwd, this.env);
|
|
5890
5890
|
}
|
|
5891
5891
|
probeVersion() {
|
|
5892
|
-
return new Promise((
|
|
5892
|
+
return new Promise((resolve6) => {
|
|
5893
5893
|
const child = spawn6(this.env.binPath ?? "claude", ["--version"], { shell: process.platform === "win32" });
|
|
5894
5894
|
let out = "";
|
|
5895
5895
|
child.stdout.on("data", (d) => out += d.toString());
|
|
5896
|
-
child.on("error", () =>
|
|
5897
|
-
child.on("close", (code) =>
|
|
5896
|
+
child.on("error", () => resolve6(null));
|
|
5897
|
+
child.on("close", (code) => resolve6(code === 0 ? out.trim() : null));
|
|
5898
5898
|
});
|
|
5899
5899
|
}
|
|
5900
5900
|
};
|
|
@@ -6249,9 +6249,9 @@ function readOpenClawGatewayToken() {
|
|
|
6249
6249
|
|
|
6250
6250
|
// src/commands.ts
|
|
6251
6251
|
import { spawnSync } from "node:child_process";
|
|
6252
|
-
import { existsSync as existsSync12, cpSync, mkdirSync as mkdirSync4, rmSync as rmSync3, writeFileSync as writeFileSync4, readFileSync as readFileSync7 } from "node:fs";
|
|
6252
|
+
import { existsSync as existsSync12, cpSync, mkdirSync as mkdirSync4, rmSync as rmSync3, writeFileSync as writeFileSync4, readFileSync as readFileSync7, chmodSync as chmodSync3 } from "node:fs";
|
|
6253
6253
|
import { homedir as homedir10, platform as platform2 } from "node:os";
|
|
6254
|
-
import { join as join12, dirname as dirname5, delimiter } from "node:path";
|
|
6254
|
+
import { join as join12, dirname as dirname5, delimiter, resolve as resolve5 } from "node:path";
|
|
6255
6255
|
import { fileURLToPath } from "node:url";
|
|
6256
6256
|
function probe(bin, args = ["--version"]) {
|
|
6257
6257
|
const r = spawnSync(bin, args, { timeout: 8e3, shell: platform2() === "win32" });
|
|
@@ -6334,13 +6334,13 @@ var ObsServer = class {
|
|
|
6334
6334
|
deps.bus.onEvent((e) => this.broadcast(e));
|
|
6335
6335
|
}
|
|
6336
6336
|
listen(port = 4319, host = "127.0.0.1") {
|
|
6337
|
-
return new Promise((
|
|
6337
|
+
return new Promise((resolve6) => {
|
|
6338
6338
|
const server = createServer2((req, res) => this.handle(req, res));
|
|
6339
6339
|
this.server = server;
|
|
6340
6340
|
server.listen(port, host, () => {
|
|
6341
6341
|
const addr = server.address();
|
|
6342
6342
|
this.actualPort = typeof addr === "object" && addr ? addr.port : port;
|
|
6343
|
-
|
|
6343
|
+
resolve6(this.actualPort);
|
|
6344
6344
|
});
|
|
6345
6345
|
});
|
|
6346
6346
|
}
|
|
@@ -6418,11 +6418,11 @@ var ObsServer = class {
|
|
|
6418
6418
|
return this.actualPort;
|
|
6419
6419
|
}
|
|
6420
6420
|
close() {
|
|
6421
|
-
return new Promise((
|
|
6421
|
+
return new Promise((resolve6) => {
|
|
6422
6422
|
for (const c of this.sseClients) c.end();
|
|
6423
6423
|
this.sseClients.clear();
|
|
6424
|
-
if (!this.server) return
|
|
6425
|
-
this.server.close(() =>
|
|
6424
|
+
if (!this.server) return resolve6();
|
|
6425
|
+
this.server.close(() => resolve6());
|
|
6426
6426
|
});
|
|
6427
6427
|
}
|
|
6428
6428
|
};
|