@botiverse/raft-daemon 1.0.1 → 1.0.4

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.
@@ -1418,10 +1418,11 @@ var TRACE_EVENT_ROW_V2_PROJECTION_COLUMNS = [
1418
1418
  ["shadow_direction", "string"],
1419
1419
  ["shadow_plan_kind", "string"]
1420
1420
  ];
1421
+ var TRACE_EVENT_ROW_V2_TABLE = "raft.trace_events_v2";
1421
1422
  var TRACE_EVENT_ROW_V2_INGEST_STATEMENT = [
1422
1423
  "SELECT",
1423
1424
  TRACE_EVENT_ROW_V2_PROJECTION_COLUMNS.map(([column, type]) => `$0["${column}"]::${type} AS ${column}`).join(", "),
1424
- "INSERT INTO raft.trace_events_v2",
1425
+ `INSERT INTO ${TRACE_EVENT_ROW_V2_TABLE}`,
1425
1426
  `(${TRACE_EVENT_ROW_V2_PROJECTION_COLUMNS.map(([column]) => column).join(", ")})`
1426
1427
  ].join(" ");
1427
1428
  var PROMOTED_IDENTITY_ATTRS = [
@@ -8227,6 +8228,19 @@ function buildClaudeProviderIsolationEnv(ctx) {
8227
8228
  import { execFileSync } from "child_process";
8228
8229
  import { existsSync as existsSync3 } from "fs";
8229
8230
  import path4 from "path";
8231
+
8232
+ // src/drivers/windowsPowerShellEnv.ts
8233
+ function createWindowsPowerShellChildEnv(env) {
8234
+ const childEnv = { ...env ?? process.env };
8235
+ for (const key of Object.keys(childEnv)) {
8236
+ if (key.toLowerCase() === "psmodulepath") {
8237
+ delete childEnv[key];
8238
+ }
8239
+ }
8240
+ return childEnv;
8241
+ }
8242
+
8243
+ // src/drivers/probe.ts
8230
8244
  function normalizeExecOutput(raw) {
8231
8245
  return Buffer.isBuffer(raw) ? raw.toString("utf8") : String(raw ?? "");
8232
8246
  }
@@ -8244,7 +8258,19 @@ var WINDOWS_ENVIRONMENT_SCRIPT = [
8244
8258
  " }",
8245
8259
  " $result | ConvertTo-Json -Compress -Depth 3",
8246
8260
  "}"
8247
- ].join(" ");
8261
+ ].join("\n");
8262
+ var WINDOWS_ENVIRONMENT_ERROR_SUMMARY_MAX_LENGTH = 240;
8263
+ function summarizeWindowsEnvironmentError(error) {
8264
+ const details = error;
8265
+ const exit = typeof details?.status === "number" ? String(details.status) : "unknown";
8266
+ const code = typeof details?.code === "string" ? details.code : "unknown";
8267
+ const signal = typeof details?.signal === "string" ? details.signal : "none";
8268
+ const stderr = normalizeExecOutput(details?.stderr).trim().replace(/\s+/g, " ");
8269
+ const fallback = error instanceof Error ? error.message.trim().replace(/\s+/g, " ") : String(error);
8270
+ const rawSummary = stderr || fallback || "no child error detail";
8271
+ const summary = rawSummary.length > WINDOWS_ENVIRONMENT_ERROR_SUMMARY_MAX_LENGTH ? `${rawSummary.slice(0, WINDOWS_ENVIRONMENT_ERROR_SUMMARY_MAX_LENGTH - 3)}...` : rawSummary;
8272
+ return `[Daemon] Windows environment refresh failed (exit=${exit}, code=${code}, signal=${signal}): ${summary}`;
8273
+ }
8248
8274
  var WINDOWS_COMMAND_RESOLVE_TIMEOUT_MS = 1e3;
8249
8275
  function normalizeProcessEnv(value) {
8250
8276
  if (!value || typeof value !== "object" || Array.isArray(value)) return {};
@@ -8256,7 +8282,7 @@ function normalizeProcessEnv(value) {
8256
8282
  }
8257
8283
  return env;
8258
8284
  }
8259
- function readWindowsMachineUserEnvironment(env, execFileSyncFn) {
8285
+ function readWindowsMachineUserEnvironment(env, execFileSyncFn, warn) {
8260
8286
  try {
8261
8287
  const output = normalizeExecOutput(execFileSyncFn("powershell.exe", [
8262
8288
  "-NoProfile",
@@ -8265,7 +8291,7 @@ function readWindowsMachineUserEnvironment(env, execFileSyncFn) {
8265
8291
  WINDOWS_ENVIRONMENT_SCRIPT
8266
8292
  ], {
8267
8293
  stdio: ["ignore", "pipe", "ignore"],
8268
- env,
8294
+ env: createWindowsPowerShellChildEnv(env),
8269
8295
  timeout: 5e3
8270
8296
  }));
8271
8297
  const parsed = JSON.parse(output || "{}");
@@ -8273,7 +8299,8 @@ function readWindowsMachineUserEnvironment(env, execFileSyncFn) {
8273
8299
  machine: normalizeProcessEnv(parsed.Machine),
8274
8300
  user: normalizeProcessEnv(parsed.User)
8275
8301
  };
8276
- } catch {
8302
+ } catch (error) {
8303
+ warn?.(summarizeWindowsEnvironmentError(error));
8277
8304
  return null;
8278
8305
  }
8279
8306
  }
@@ -8339,7 +8366,8 @@ function withWindowsUserEnvironment(env, deps = {}) {
8339
8366
  if (platform !== "win32") return env;
8340
8367
  const execFileSyncFn = deps.execFileSyncFn ?? execFileSync;
8341
8368
  const reader = deps.windowsEnvironmentReaderFn ?? readWindowsMachineUserEnvironment;
8342
- const scopes = reader(env, execFileSyncFn);
8369
+ const warn = deps.warn ?? ((message) => logger.warn(message));
8370
+ const scopes = reader(env, execFileSyncFn, warn);
8343
8371
  if (!scopes) return env;
8344
8372
  return mergeWindowsEnvironmentScopes(env, scopes);
8345
8373
  }
@@ -8354,7 +8382,7 @@ function resolveCommandOnWindows(command, env, execFileSyncFn, existsSyncFn) {
8354
8382
  command
8355
8383
  ], {
8356
8384
  stdio: ["ignore", "pipe", "ignore"],
8357
- env,
8385
+ env: createWindowsPowerShellChildEnv(env),
8358
8386
  timeout: WINDOWS_COMMAND_RESOLVE_TIMEOUT_MS
8359
8387
  }));
8360
8388
  const resolved = output.trim().split(/\r?\n/)[0];
@@ -11048,7 +11076,7 @@ import {
11048
11076
  } from "@botiverse/kimi-code-sdk";
11049
11077
  var requireFromHere = createRequire2(import.meta.url);
11050
11078
  var KIMI_CODE_USER_AGENT_PRODUCT = "kimi-code-cli";
11051
- var KIMI_CODE_HOST_VERSION = "0.18.0-botiverse.0";
11079
+ var KIMI_CODE_HOST_VERSION = "0.26.0-botiverse.2";
11052
11080
  function getDaemonVersion() {
11053
11081
  try {
11054
11082
  const pkg = requireFromHere("../../package.json");
@@ -11139,12 +11167,23 @@ function mapKimiSdkEventToParsedEvents(event, state) {
11139
11167
  // tool-call progress / hooks (could elevate to internal_progress in future)
11140
11168
  case "tool.call.delta":
11141
11169
  case "tool.progress":
11170
+ case "shell.output":
11171
+ case "shell.started":
11142
11172
  case "hook.result":
11143
11173
  // status / meta updates
11144
11174
  case "agent.status.updated":
11145
11175
  case "session.meta.updated":
11176
+ case "event.session.created":
11177
+ case "event.workspace.created":
11178
+ case "event.workspace.updated":
11179
+ case "event.workspace.deleted":
11180
+ case "event.session.work_changed":
11181
+ case "event.session.status_changed":
11182
+ case "event.config.changed":
11183
+ case "event.model_catalog.changed":
11146
11184
  case "goal.updated":
11147
11185
  case "skill.activated":
11186
+ case "plugin_command.activated":
11148
11187
  // MCP infra
11149
11188
  case "tool.list.updated":
11150
11189
  case "mcp.server.status":
@@ -11158,13 +11197,20 @@ function mapKimiSdkEventToParsedEvents(event, state) {
11158
11197
  case "compaction.blocked":
11159
11198
  case "compaction.cancelled":
11160
11199
  // out-of-band
11200
+ case "task.started":
11201
+ case "task.terminated":
11161
11202
  case "background.task.started":
11162
11203
  case "background.task.terminated":
11163
11204
  case "cron.fired":
11205
+ case "prompt.submitted":
11206
+ case "prompt.completed":
11207
+ case "prompt.aborted":
11208
+ case "prompt.steered":
11164
11209
  return events;
11165
11210
  default: {
11166
11211
  const _exhaustive = event;
11167
- return _exhaustive;
11212
+ void _exhaustive;
11213
+ return events;
11168
11214
  }
11169
11215
  }
11170
11216
  }
@@ -11214,7 +11260,7 @@ async function createKimiAgentSessionForContext(ctx, sessionId, deps = {}) {
11214
11260
  const cliTransport = await prepareTransportImpl(ctx, { NO_COLOR: "1" });
11215
11261
  const spawnEnv = cliTransport.spawnEnv;
11216
11262
  const wrapperPath = cliTransport.wrapperPath;
11217
- const homeDir = spawnEnv.KIMI_HOME || (process.env.HOME ? path10.join(process.env.HOME, ".kimi") : path10.join(ctx.workingDirectory, ".kimi"));
11263
+ const homeDir = resolveKimiHome(spawnEnv.KIMI_CODE_HOME);
11218
11264
  mkdirSync2(homeDir, { recursive: true });
11219
11265
  const harness = createHarnessImpl({
11220
11266
  homeDir,
@@ -12034,7 +12080,7 @@ function createPiPowerShellOperations(deps = {}) {
12034
12080
  }
12035
12081
  const child = spawnProcess("powershell.exe", [...POWERSHELL_ARGS], {
12036
12082
  cwd,
12037
- env,
12083
+ env: createWindowsPowerShellChildEnv(env),
12038
12084
  stdio: ["pipe", "pipe", "pipe"],
12039
12085
  windowsHide: true
12040
12086
  });
@@ -25249,7 +25295,7 @@ function resolveSlockCliPathOrEmpty(moduleUrl = import.meta.url) {
25249
25295
  }
25250
25296
  async function runBundledSlockCli(argv) {
25251
25297
  process.argv = [process.execPath, "slock", ...argv];
25252
- await import("./dist-YLMDSQ55.js");
25298
+ await import("./dist-WK22442Z.js");
25253
25299
  }
25254
25300
  function detectRuntimes(tracer = noopTracer) {
25255
25301
  const ids = [];
package/dist/cli/index.js CHANGED
@@ -28833,10 +28833,11 @@ var TRACE_EVENT_ROW_V2_PROJECTION_COLUMNS = [
28833
28833
  ["shadow_direction", "string"],
28834
28834
  ["shadow_plan_kind", "string"]
28835
28835
  ];
28836
+ var TRACE_EVENT_ROW_V2_TABLE = "raft.trace_events_v2";
28836
28837
  var TRACE_EVENT_ROW_V2_INGEST_STATEMENT = [
28837
28838
  "SELECT",
28838
28839
  TRACE_EVENT_ROW_V2_PROJECTION_COLUMNS.map(([column, type]) => `$0["${column}"]::${type} AS ${column}`).join(", "),
28839
- "INSERT INTO raft.trace_events_v2",
28840
+ `INSERT INTO ${TRACE_EVENT_ROW_V2_TABLE}`,
28840
28841
  `(${TRACE_EVENT_ROW_V2_PROJECTION_COLUMNS.map(([column]) => column).join(", ")})`
28841
28842
  ].join(" ");
28842
28843
  var PROMOTED_IDENTITY_ATTRS = [
package/dist/core.js CHANGED
@@ -36,7 +36,7 @@ import {
36
36
  stageAgentMigrationObjectStoreBundle,
37
37
  subscribeDaemonLogs,
38
38
  verifyAgentMigrationAdoptPlan
39
- } from "./chunk-BK46OPUN.js";
39
+ } from "./chunk-7K62FEME.js";
40
40
  export {
41
41
  AGENT_MIGRATION_BUNDLE_SCHEMA_VERSION,
42
42
  AGENT_MIGRATION_CONTROL_SEAM_ENV,
@@ -28581,10 +28581,11 @@ var TRACE_EVENT_ROW_V2_PROJECTION_COLUMNS = [
28581
28581
  ["shadow_direction", "string"],
28582
28582
  ["shadow_plan_kind", "string"]
28583
28583
  ];
28584
+ var TRACE_EVENT_ROW_V2_TABLE = "raft.trace_events_v2";
28584
28585
  var TRACE_EVENT_ROW_V2_INGEST_STATEMENT = [
28585
28586
  "SELECT",
28586
28587
  TRACE_EVENT_ROW_V2_PROJECTION_COLUMNS.map(([column, type]) => `$0["${column}"]::${type} AS ${column}`).join(", "),
28587
- "INSERT INTO raft.trace_events_v2",
28588
+ `INSERT INTO ${TRACE_EVENT_ROW_V2_TABLE}`,
28588
28589
  `(${TRACE_EVENT_ROW_V2_PROJECTION_COLUMNS.map(([column]) => column).join(", ")})`
28589
28590
  ].join(" ");
28590
28591
  var PROMOTED_IDENTITY_ATTRS = [
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  DAEMON_CLI_USAGE,
4
4
  DaemonCore,
5
5
  parseDaemonCliArgs
6
- } from "./chunk-BK46OPUN.js";
6
+ } from "./chunk-7K62FEME.js";
7
7
 
8
8
  // src/index.ts
9
9
  var parsedArgs = parseDaemonCliArgs(process.argv.slice(2));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botiverse/raft-daemon",
3
- "version": "1.0.1",
3
+ "version": "1.0.4",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "raft-daemon": "dist/raft-daemon.js",
@@ -45,7 +45,7 @@
45
45
  "release:alpha": "npm version prerelease --preid=alpha --no-git-tag-version && cd ../.. && pnpm install --lockfile-only && git add packages/daemon/package.json pnpm-lock.yaml && git commit -m \"chore: bump @botiverse/raft-daemon to v$(node -p \"require('./packages/daemon/package.json').version\")\" && git tag daemon-v$(node -p \"require('./packages/daemon/package.json').version\") && git push && git push --tags"
46
46
  },
47
47
  "dependencies": {
48
- "@botiverse/kimi-code-sdk": "0.23.5-botiverse.1",
48
+ "@botiverse/kimi-code-sdk": "0.26.0-botiverse.2",
49
49
  "@earendil-works/pi-ai": "0.80.6",
50
50
  "@earendil-works/pi-coding-agent": "0.80.6",
51
51
  "@jackwener/opencli": "^1.8.3",