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/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((resolve5, reject) => {
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: resolve5, reject, timer });
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, resolve5) {
2189
- this.interactionWaiters.set(requestId, resolve5);
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((resolve5, reject) => {
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 resolve5(null);
3782
+ return resolve6(null);
3783
3783
  if (code === 0)
3784
- resolve5(out);
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((resolve5) => {
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", () => resolve5(null));
3841
- child.on("close", (code) => resolve5(code === 0 ? out.trim() : null));
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((resolve5, reject) => {
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
- resolve5();
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((resolve5, reject) => {
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: resolve5, reject, timer });
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((resolve5) => {
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
- resolve5();
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((resolve5, reject) => {
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
- resolve5({ tenantId: welcome.tenantId });
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((resolve5) => {
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
- resolve5(typeof addr === "object" && addr ? addr.port : port);
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((resolve5) => {
4522
+ return new Promise((resolve6) => {
4523
4523
  if (!this.server)
4524
- return resolve5();
4525
- this.server.close(() => resolve5());
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((resolve5, reject) => {
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
- resolve5(JSON.parse(body));
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((resolve5) => {
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
- resolve5();
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((resolve5) => {
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", () => resolve5(null));
4942
- child.on("close", (code) => resolve5(code === 0 ? out.trim() : null));
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((resolve5) => {
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
- resolve5();
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((resolve5) => {
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", () => resolve5(null));
5171
- child.on("close", (code) => resolve5(code === 0 ? out.trim() : null));
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((resolve5) => {
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
- resolve5(rows.flatMap((m) => {
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
- resolve5([]);
5257
+ resolve6([]);
5258
5258
  }
5259
5259
  });
5260
5260
  });
5261
5261
  req.on("timeout", () => req.destroy());
5262
- req.on("error", () => resolve5([]));
5262
+ req.on("error", () => resolve6([]));
5263
5263
  req.end();
5264
- }, () => resolve5([]));
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((resolve5) => {
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
- resolve5();
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((resolve5) => {
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", () => resolve5([{ name: this.defaultProfile }]));
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
- resolve5(names.length > 0 ? names : [{ name: this.defaultProfile }]);
5510
+ resolve6(names.length > 0 ? names : [{ name: this.defaultProfile }]);
5511
5511
  });
5512
5512
  });
5513
5513
  }
5514
5514
  probeVersion() {
5515
- return new Promise((resolve5) => {
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", () => resolve5(null));
5520
- child.on("close", (code) => resolve5(code === 0 ? out.trim().split("\n")[0] ?? "hermes" : null));
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((resolve5) => {
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
- resolve5();
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((resolve5) => {
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", () => resolve5(null));
5897
- child.on("close", (code) => resolve5(code === 0 ? out.trim() : null));
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((resolve5) => {
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
- resolve5(this.actualPort);
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((resolve5) => {
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 resolve5();
6425
- this.server.close(() => resolve5());
6424
+ if (!this.server) return resolve6();
6425
+ this.server.close(() => resolve6());
6426
6426
  });
6427
6427
  }
6428
6428
  };