@botiverse/raft-daemon 0.69.0-play.20260704183824 → 0.69.0

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.
@@ -4709,19 +4709,6 @@ function listLegacySlockStatePaths(slockHome = resolveSlockHome(), homeDir = os.
4709
4709
  return candidates.filter((candidate) => existsSync(candidate.path));
4710
4710
  }
4711
4711
 
4712
- // src/authEnv.ts
4713
- var DAEMON_API_KEY_ENV = "SLOCK_MACHINE_API_KEY";
4714
- var SLOCK_AGENT_TOKEN_ENV = "SLOCK_AGENT_TOKEN";
4715
- function scrubDaemonAuthEnv(env) {
4716
- delete env[DAEMON_API_KEY_ENV];
4717
- return env;
4718
- }
4719
- function scrubDaemonChildEnv(env) {
4720
- delete env[DAEMON_API_KEY_ENV];
4721
- delete env[SLOCK_AGENT_TOKEN_ENV];
4722
- return env;
4723
- }
4724
-
4725
4712
  // src/agentCredentialProxy.ts
4726
4713
  import { randomBytes } from "crypto";
4727
4714
  import http from "http";
@@ -6296,9 +6283,7 @@ var LOOPBACK_NO_PROXY = "127.0.0.1,localhost";
6296
6283
  var CLI_TRANSPORT_TRACE_DIR_ENV = "SLOCK_CLI_TRANSPORT_TRACE_DIR";
6297
6284
  var safePathPart = (value) => value.replace(/[^a-zA-Z0-9_.-]/g, "_");
6298
6285
  var RAW_CREDENTIAL_ENV_DENYLIST = [
6299
- "SLOCK_AGENT_TOKEN",
6300
- "SLOCK_AGENT_CREDENTIAL_KEY",
6301
- "SLOCK_AGENT_CREDENTIAL_KEY_FILE"
6286
+ "SLOCK_AGENT_CREDENTIAL_KEY"
6302
6287
  ];
6303
6288
  var WORKSPACE_CLI_TRANSPORT_FILENAMES = [
6304
6289
  "agent-token",
@@ -6653,7 +6638,7 @@ set "SLOCK_AGENT_ACTIVE_CAPABILITIES=${DEFAULT_ACTIVE_CAPABILITIES}"\r
6653
6638
  SLOCK_SERVER_URL: ctx.config.serverUrl,
6654
6639
  PATH: `${slockDir}${path2.delimiter}${process.env.PATH ?? ""}`
6655
6640
  };
6656
- scrubDaemonChildEnv(spawnEnv);
6641
+ delete spawnEnv.SLOCK_AGENT_TOKEN;
6657
6642
  for (const key of RAW_CREDENTIAL_ENV_DENYLIST) {
6658
6643
  delete spawnEnv[key];
6659
6644
  }
@@ -7221,7 +7206,7 @@ function requiresWindowsShell(command, platform = process.platform) {
7221
7206
  }
7222
7207
  function resolveCommandOnPath(command, deps = {}) {
7223
7208
  const platform = deps.platform ?? process.platform;
7224
- const env = scrubDaemonChildEnv({ ...withWindowsUserEnvironment(deps.env ?? process.env, deps) });
7209
+ const env = withWindowsUserEnvironment(deps.env ?? process.env, deps);
7225
7210
  const execFileSyncFn = deps.execFileSyncFn ?? execFileSync;
7226
7211
  const existsSyncFn = deps.existsSyncFn ?? existsSync3;
7227
7212
  if (platform === "win32") {
@@ -7247,7 +7232,7 @@ function firstExistingPath(candidates, deps = {}) {
7247
7232
  return null;
7248
7233
  }
7249
7234
  function readCommandVersion(command, args = [], deps = {}) {
7250
- const env = scrubDaemonChildEnv({ ...withWindowsUserEnvironment(deps.env ?? process.env, deps) });
7235
+ const env = withWindowsUserEnvironment(deps.env ?? process.env, deps);
7251
7236
  const execFileSyncFn = deps.execFileSyncFn ?? execFileSync;
7252
7237
  try {
7253
7238
  const output = normalizeExecOutput(execFileSyncFn(command, [...args, "--version"], {
@@ -9331,11 +9316,11 @@ function detectCursorModels(runCommand = runCursorModelsCommand) {
9331
9316
  return parseCursorModelsOutput(String(result.stdout || ""));
9332
9317
  }
9333
9318
  function buildCursorModelProbeEnv(deps = {}) {
9334
- return scrubDaemonChildEnv(withWindowsUserEnvironment({
9319
+ return withWindowsUserEnvironment({
9335
9320
  ...deps.env ?? process.env,
9336
9321
  FORCE_COLOR: "0",
9337
9322
  NO_COLOR: "1"
9338
- }, deps));
9323
+ }, deps);
9339
9324
  }
9340
9325
  function runCursorModelsCommand() {
9341
9326
  return spawnSync("cursor-agent", ["models"], {
@@ -9391,7 +9376,7 @@ function resolveGeminiSpawn(commandArgs, deps = {}) {
9391
9376
  }
9392
9377
  const execFileSyncFn = deps.execFileSyncFn ?? execFileSync3;
9393
9378
  const existsSyncFn = deps.existsSyncFn ?? existsSync5;
9394
- const env = scrubDaemonChildEnv({ ...deps.env ?? process.env });
9379
+ const env = deps.env ?? process.env;
9395
9380
  const winPath = path8.win32;
9396
9381
  let geminiEntry = null;
9397
9382
  try {
@@ -9528,15 +9513,12 @@ var GeminiDriver = class {
9528
9513
  // src/drivers/kimi.ts
9529
9514
  import { randomUUID as randomUUID2 } from "crypto";
9530
9515
  import { spawn as spawn7 } from "child_process";
9531
- import { chmodSync, existsSync as existsSync6, readFileSync as readFileSync3, writeFileSync as writeFileSync3 } from "fs";
9516
+ import { existsSync as existsSync6, readFileSync as readFileSync3, writeFileSync as writeFileSync3 } from "fs";
9532
9517
  import os4 from "os";
9533
9518
  import path9 from "path";
9534
9519
  var KIMI_WIRE_PROTOCOL_VERSION = "1.3";
9535
9520
  var KIMI_SYSTEM_PROMPT_FILE = ".slock-kimi-system.md";
9536
9521
  var KIMI_AGENT_FILE = ".slock-kimi-agent.yaml";
9537
- var KIMI_GENERATED_CONFIG_FILE = ".slock-kimi-config.toml";
9538
- var SLOCK_KIMI_CONFIG_CONTENT_ENV = "SLOCK_KIMI_CONFIG_CONTENT";
9539
- var SLOCK_KIMI_CONFIG_FILE_ENV = "SLOCK_KIMI_CONFIG_FILE";
9540
9522
  function parseToolArguments(raw) {
9541
9523
  if (typeof raw !== "string") return raw;
9542
9524
  try {
@@ -9545,73 +9527,6 @@ function parseToolArguments(raw) {
9545
9527
  return raw;
9546
9528
  }
9547
9529
  }
9548
- function readKimiConfigSource(home = os4.homedir(), env = process.env) {
9549
- const inlineConfig = env[SLOCK_KIMI_CONFIG_CONTENT_ENV];
9550
- if (inlineConfig && inlineConfig.trim()) {
9551
- return {
9552
- raw: inlineConfig,
9553
- explicitPath: null,
9554
- sourcePath: SLOCK_KIMI_CONFIG_CONTENT_ENV
9555
- };
9556
- }
9557
- const explicitPath = env[SLOCK_KIMI_CONFIG_FILE_ENV];
9558
- const configPath = explicitPath && explicitPath.trim() ? explicitPath : path9.join(home, ".kimi", "config.toml");
9559
- try {
9560
- return {
9561
- raw: readFileSync3(configPath, "utf8"),
9562
- explicitPath: explicitPath && explicitPath.trim() ? explicitPath : null,
9563
- sourcePath: configPath
9564
- };
9565
- } catch {
9566
- return {
9567
- raw: null,
9568
- explicitPath: explicitPath && explicitPath.trim() ? explicitPath : null,
9569
- sourcePath: configPath
9570
- };
9571
- }
9572
- }
9573
- function buildKimiSpawnEnv(env = process.env) {
9574
- const spawnEnv = { ...env, FORCE_COLOR: "0", NO_COLOR: "1" };
9575
- delete spawnEnv[SLOCK_KIMI_CONFIG_CONTENT_ENV];
9576
- delete spawnEnv[SLOCK_KIMI_CONFIG_FILE_ENV];
9577
- return scrubDaemonChildEnv(spawnEnv);
9578
- }
9579
- function buildKimiEffectiveEnv(ctx, overrideEnv) {
9580
- return {
9581
- ...process.env,
9582
- ...ctx.config.envVars || {},
9583
- ...overrideEnv || {}
9584
- };
9585
- }
9586
- function buildKimiLaunchOptions(ctx, opts = {}) {
9587
- const env = buildKimiEffectiveEnv(ctx, opts.env);
9588
- const source = readKimiConfigSource(opts.home ?? os4.homedir(), env);
9589
- const args = [];
9590
- let configFilePath = null;
9591
- let configContent = null;
9592
- if (source.explicitPath) {
9593
- configFilePath = source.explicitPath;
9594
- } else if (source.raw !== null && source.sourcePath === SLOCK_KIMI_CONFIG_CONTENT_ENV) {
9595
- configFilePath = path9.join(ctx.workingDirectory, KIMI_GENERATED_CONFIG_FILE);
9596
- configContent = source.raw;
9597
- if (opts.writeGeneratedConfig !== false) {
9598
- writeFileSync3(configFilePath, source.raw, { encoding: "utf8", mode: 384 });
9599
- chmodSync(configFilePath, 384);
9600
- }
9601
- }
9602
- if (configFilePath) {
9603
- args.push("--config-file", configFilePath);
9604
- }
9605
- if (ctx.config.model && ctx.config.model !== "default") {
9606
- args.push("--model", ctx.config.model);
9607
- }
9608
- return {
9609
- args,
9610
- env: buildKimiSpawnEnv(env),
9611
- configFilePath,
9612
- configContent
9613
- };
9614
- }
9615
9530
  function resolveKimiSpawn(commandArgs, deps = {}) {
9616
9531
  return {
9617
9532
  command: resolveCommandOnPath("kimi", deps) ?? "kimi",
@@ -9635,25 +9550,7 @@ var KimiDriver = class {
9635
9550
  };
9636
9551
  model = {
9637
9552
  detectedModelsVerifiedAs: "launchable",
9638
- toLaunchSpec: (modelId, ctx, opts) => {
9639
- if (!ctx) return { args: ["--model", modelId] };
9640
- const launchCtx = {
9641
- ...ctx,
9642
- config: {
9643
- ...ctx.config,
9644
- model: modelId
9645
- }
9646
- };
9647
- const launch = buildKimiLaunchOptions(launchCtx, {
9648
- home: opts?.home,
9649
- writeGeneratedConfig: false
9650
- });
9651
- return {
9652
- args: launch.args,
9653
- env: launch.env,
9654
- configFiles: launch.configFilePath ? [launch.configFilePath] : void 0
9655
- };
9656
- }
9553
+ toLaunchSpec: (modelId) => ({ args: ["--model", modelId] })
9657
9554
  };
9658
9555
  supportsStdinNotification = true;
9659
9556
  busyDeliveryMode = "direct";
@@ -9677,23 +9574,21 @@ var KimiDriver = class {
9677
9574
  ` system_prompt_path: ./${KIMI_SYSTEM_PROMPT_FILE}`,
9678
9575
  ""
9679
9576
  ].join("\n"), "utf8");
9680
- const launch = buildKimiLaunchOptions(ctx);
9681
9577
  const args = [
9682
9578
  "--wire",
9683
9579
  "--yolo",
9684
9580
  "--agent-file",
9685
9581
  agentFilePath,
9686
9582
  "--session",
9687
- this.sessionId,
9688
- ...launch.args
9583
+ this.sessionId
9689
9584
  ];
9690
9585
  const launchRuntimeFields = runtimeConfigToLaunchFields(hydrateRuntimeConfig(ctx.config));
9691
9586
  if (launchRuntimeFields.model && launchRuntimeFields.model !== "default") {
9692
9587
  args.push("--model", launchRuntimeFields.model);
9693
9588
  }
9694
9589
  const spawnEnv = (await prepareCliTransport(ctx, { NO_COLOR: "1" })).spawnEnv;
9695
- const spawnTarget = resolveKimiSpawn(args);
9696
- const proc = spawn7(spawnTarget.command, spawnTarget.args, {
9590
+ const launch = resolveKimiSpawn(args);
9591
+ const proc = spawn7(launch.command, launch.args, {
9697
9592
  cwd: ctx.workingDirectory,
9698
9593
  stdio: ["pipe", "pipe", "pipe"],
9699
9594
  env: spawnEnv,
@@ -9701,7 +9596,7 @@ var KimiDriver = class {
9701
9596
  // and has an 8191-character command-line limit. Kimi's official
9702
9597
  // installer/uv entrypoint is an executable, so launch it directly and
9703
9598
  // keep prompts on stdin / files instead of routing through cmd.exe.
9704
- shell: spawnTarget.shell
9599
+ shell: launch.shell
9705
9600
  });
9706
9601
  proc.stdin?.write(JSON.stringify({
9707
9602
  jsonrpc: "2.0",
@@ -9814,9 +9709,14 @@ var KimiDriver = class {
9814
9709
  return detectKimiModels();
9815
9710
  }
9816
9711
  };
9817
- function detectKimiModels(home = os4.homedir(), opts = {}) {
9818
- const raw = readKimiConfigSource(home, opts.env).raw;
9819
- if (raw === null) return null;
9712
+ function detectKimiModels(home = os4.homedir()) {
9713
+ const configPath = path9.join(home, ".kimi", "config.toml");
9714
+ let raw;
9715
+ try {
9716
+ raw = readFileSync3(configPath, "utf8");
9717
+ } catch {
9718
+ return null;
9719
+ }
9820
9720
  const models = [];
9821
9721
  const sectionRe = /^\s*\[models(?:\.([^\]]+)|"\.[^"]+"|\."[^"]+")\s*\]\s*$/gm;
9822
9722
  const lineRe = /^\s*\[models\.(.+?)\s*\]\s*$/gm;
@@ -10482,7 +10382,7 @@ function runOpenCodeModelsCommand(home, deps = {}) {
10482
10382
  const platform = deps.platform ?? process.platform;
10483
10383
  const spawnSyncFn = deps.spawnSyncFn ?? spawnSync2;
10484
10384
  const result = spawnSyncFn("opencode", ["models"], {
10485
- env: scrubDaemonChildEnv({ ...process.env, HOME: home, FORCE_COLOR: "0", NO_COLOR: "1" }),
10385
+ env: { ...process.env, HOME: home, FORCE_COLOR: "0", NO_COLOR: "1" },
10486
10386
  encoding: "utf8",
10487
10387
  timeout: 5e3,
10488
10388
  shell: platform === "win32"
@@ -15429,8 +15329,7 @@ var AgentProcessManager = class _AgentProcessManager {
15429
15329
  detailKind: activity.statusEntry.detailKind ?? "daemon_activity",
15430
15330
  entries: activity.entries,
15431
15331
  launchId: ap?.launchId || void 0,
15432
- clientSeq: ap ? this.nextActivityClientSeq(agentId) : void 0,
15433
- isHeartbeat: false
15332
+ clientSeq: ap ? this.nextActivityClientSeq(agentId) : void 0
15434
15333
  });
15435
15334
  }
15436
15335
  recordRuntimeDiagnosticActivity(agentId, ap, event) {
@@ -15443,8 +15342,7 @@ var AgentProcessManager = class _AgentProcessManager {
15443
15342
  detailKind: ap.lastActivityDetailKind || "none",
15444
15343
  entries: [runtimeDiagnosticTrajectoryEntry(event)],
15445
15344
  launchId: ap.launchId || void 0,
15446
- clientSeq: this.nextActivityClientSeq(agentId),
15447
- isHeartbeat: false
15345
+ clientSeq: this.nextActivityClientSeq(agentId)
15448
15346
  });
15449
15347
  this.recordDaemonTrace("daemon.runtime.diagnostic", {
15450
15348
  agentId,
@@ -15495,8 +15393,7 @@ var AgentProcessManager = class _AgentProcessManager {
15495
15393
  detailKind: ap.lastActivityDetailKind || "none",
15496
15394
  entries: [runtimeRecoveryTrajectoryEntry(event)],
15497
15395
  launchId: ap.launchId || void 0,
15498
- clientSeq: this.nextActivityClientSeq(agentId),
15499
- isHeartbeat: false
15396
+ clientSeq: this.nextActivityClientSeq(agentId)
15500
15397
  });
15501
15398
  this.recordDaemonTrace("daemon.runtime.recovery.visible", {
15502
15399
  agentId,
@@ -18354,8 +18251,7 @@ Use \`raft message read\` to catch up on the channels listed above, then stop. R
18354
18251
  entries,
18355
18252
  launchId,
18356
18253
  clientSeq,
18357
- producerFactId,
18358
- isHeartbeat: false
18254
+ producerFactId
18359
18255
  });
18360
18256
  this.recordActivityProducedTrace(agentId, activityKind, detail, detailKind, entries, ap, launchId, clientSeq, producerFactId);
18361
18257
  if (ap) {
@@ -18383,10 +18279,7 @@ Use \`raft message read\` to catch up on the channels listed above, then stop. R
18383
18279
  detailKind: ap.lastActivityDetailKind,
18384
18280
  launchId: heartbeatLaunchId,
18385
18281
  clientSeq: heartbeatClientSeq,
18386
- producerFactId: heartbeatProducerFactId,
18387
- // The one knowing site: this timer re-broadcasts stale
18388
- // lastActivity, so it declares its replay provenance.
18389
- isHeartbeat: true
18282
+ producerFactId: heartbeatProducerFactId
18390
18283
  });
18391
18284
  this.recordActivityProducedTrace(agentId, ap.lastActivityKind, ap.lastActivityDetail, ap.lastActivityDetailKind, [], ap, heartbeatLaunchId, heartbeatClientSeq, heartbeatProducerFactId);
18392
18285
  }, ACTIVITY_HEARTBEAT_MS);
@@ -18467,8 +18360,7 @@ Use \`raft message read\` to catch up on the channels listed above, then stop. R
18467
18360
  launchId,
18468
18361
  probeId,
18469
18362
  clientSeq,
18470
- producerFactId,
18471
- isHeartbeat: false
18363
+ producerFactId
18472
18364
  });
18473
18365
  this.recordActivityProducedTrace(agentId, activityKind, detail, detailKind, [], ap, launchId, clientSeq, producerFactId);
18474
18366
  }
@@ -21526,7 +21418,7 @@ var DAEMON_CORE_TRACE_ATTR_CONTRACTS = {
21526
21418
  spanAttrs: ["agentId", "event_kind", "runtime"]
21527
21419
  }
21528
21420
  };
21529
- var DAEMON_CLI_USAGE = `Usage: slock-daemon --server-url <url> (--api-key <key> or ${DAEMON_API_KEY_ENV}=<key>)`;
21421
+ var DAEMON_CLI_USAGE = "Usage: slock-daemon --server-url <url> --api-key <key>";
21530
21422
  var RunnerCredentialMintError2 = class extends Error {
21531
21423
  code;
21532
21424
  retryable;
@@ -21562,9 +21454,9 @@ function runnerCredentialErrorDetail2(error) {
21562
21454
  async function waitForRunnerCredentialRetry2() {
21563
21455
  await new Promise((resolve) => setTimeout(resolve, RUNNER_CREDENTIAL_MINT_RETRY_DELAY_MS2));
21564
21456
  }
21565
- function parseDaemonCliArgs(args, env = {}) {
21457
+ function parseDaemonCliArgs(args) {
21566
21458
  let serverUrl = "";
21567
- let apiKey = env[DAEMON_API_KEY_ENV] ?? "";
21459
+ let apiKey = "";
21568
21460
  for (let i = 0; i < args.length; i++) {
21569
21461
  if (args[i] === "--server-url" && args[i + 1]) serverUrl = args[++i];
21570
21462
  if (args[i] === "--api-key" && args[i + 1]) apiKey = args[++i];
@@ -21601,7 +21493,7 @@ function resolveSlockCliPathOrEmpty(moduleUrl = import.meta.url) {
21601
21493
  }
21602
21494
  async function runBundledSlockCli(argv) {
21603
21495
  process.argv = [process.execPath, "slock", ...argv];
21604
- await import("./dist-IHHGSWH2.js");
21496
+ await import("./dist-P3SAWND7.js");
21605
21497
  }
21606
21498
  function detectRuntimes(tracer = noopTracer) {
21607
21499
  const ids = [];
@@ -22543,8 +22435,6 @@ var DaemonCore = class {
22543
22435
 
22544
22436
  export {
22545
22437
  subscribeDaemonLogs,
22546
- DAEMON_API_KEY_ENV,
22547
- scrubDaemonAuthEnv,
22548
22438
  resolveWorkspaceDirectoryPath,
22549
22439
  scanWorkspaceDirectories,
22550
22440
  deleteWorkspaceDirectory,
package/dist/cli/index.js CHANGED
@@ -44746,9 +44746,6 @@ init_esm_shims();
44746
44746
  // ../shared/src/agentScopes.ts
44747
44747
  init_esm_shims();
44748
44748
 
44749
- // ../shared/src/docs/crossPageInvariants.ts
44750
- init_esm_shims();
44751
-
44752
44749
  // ../shared/src/testing/failpoints.ts
44753
44750
  init_esm_shims();
44754
44751
  var NoopFailpointRegistry = class {
package/dist/core.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import {
2
- DAEMON_API_KEY_ENV,
3
2
  DAEMON_CLI_USAGE,
4
3
  DAEMON_CORE_TRACE_ATTR_CONTRACTS,
5
4
  DaemonCore,
@@ -12,11 +11,9 @@ import {
12
11
  resolveWorkspaceDirectoryPath,
13
12
  runBundledSlockCli,
14
13
  scanWorkspaceDirectories,
15
- scrubDaemonAuthEnv,
16
14
  subscribeDaemonLogs
17
- } from "./chunk-FRBMWZ3P.js";
15
+ } from "./chunk-URPIDKXK.js";
18
16
  export {
19
- DAEMON_API_KEY_ENV,
20
17
  DAEMON_CLI_USAGE,
21
18
  DAEMON_CORE_TRACE_ATTR_CONTRACTS,
22
19
  DaemonCore,
@@ -29,6 +26,5 @@ export {
29
26
  resolveWorkspaceDirectoryPath,
30
27
  runBundledSlockCli,
31
28
  scanWorkspaceDirectories,
32
- scrubDaemonAuthEnv,
33
29
  subscribeDaemonLogs
34
30
  };
@@ -44281,7 +44281,6 @@ init_esm_shims();
44281
44281
  init_esm_shims();
44282
44282
  init_esm_shims();
44283
44283
  init_esm_shims();
44284
- init_esm_shims();
44285
44284
  var NoopFailpointRegistry = class {
44286
44285
  get enabled() {
44287
44286
  return false;
package/dist/index.js CHANGED
@@ -2,13 +2,11 @@
2
2
  import {
3
3
  DAEMON_CLI_USAGE,
4
4
  DaemonCore,
5
- parseDaemonCliArgs,
6
- scrubDaemonAuthEnv
7
- } from "./chunk-FRBMWZ3P.js";
5
+ parseDaemonCliArgs
6
+ } from "./chunk-URPIDKXK.js";
8
7
 
9
8
  // src/index.ts
10
- var parsedArgs = parseDaemonCliArgs(process.argv.slice(2), process.env);
11
- scrubDaemonAuthEnv(process.env);
9
+ var parsedArgs = parseDaemonCliArgs(process.argv.slice(2));
12
10
  if (!parsedArgs) {
13
11
  console.error(DAEMON_CLI_USAGE);
14
12
  process.exit(1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botiverse/raft-daemon",
3
- "version": "0.69.0-play.20260704183824",
3
+ "version": "0.69.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "raft-daemon": "dist/raft-daemon.js",