@cabane/companion 0.6.229 → 0.6.232

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 CHANGED
@@ -5039,6 +5039,7 @@ function buildConfig(req) {
5039
5039
  return {
5040
5040
  mcp_servers,
5041
5041
  experimental_use_rmcp_client: true,
5042
+ model_reasoning_summary: "auto",
5042
5043
  ...Object.keys(shellEnv).length ? { shell_environment_policy: { set: shellEnv } } : {}
5043
5044
  };
5044
5045
  }
@@ -5937,6 +5938,7 @@ var init_protocol = __esm({
5937
5938
  });
5938
5939
  runnerSpecSchema = z13.object({
5939
5940
  deviceId: z13.string().optional(),
5941
+ deviceLabel: z13.string().optional(),
5940
5942
  // The launcher's boot id: the one its heartbeat carries, so a runner's lease
5941
5943
  // matches the device that holds it.
5942
5944
  bootId: z13.string(),
@@ -7202,6 +7204,10 @@ var init_turn_runtime_integrity = __esm({
7202
7204
  // src/turn-execution.ts
7203
7205
  import { createHash as createHash2, randomUUID as randomUUID4 } from "crypto";
7204
7206
  import { existsSync as existsSync11, mkdirSync as mkdirSync9 } from "fs";
7207
+ function harnessUnavailableNotice(deviceId, deviceLabel) {
7208
+ const name = deviceId && deviceLabel !== void 0 ? ` ([${deviceLabel.replace(/([\\[\]])/g, "\\$1")}](/settings/devices/${encodeURIComponent(deviceId)}))` : "";
7209
+ return "**This harness isn't available on the companion.** Check the harness on the device" + name + ", or choose another harness in the agent's settings. Then reply to try again.";
7210
+ }
7205
7211
  function resolveIdleTimeoutMs(override) {
7206
7212
  return override ?? DEFAULT_AGENT_IDLE_TIMEOUT_MS;
7207
7213
  }
@@ -7238,7 +7244,7 @@ function fingerprintSessionState(state) {
7238
7244
  }
7239
7245
  return createHash2("sha256").update(opaqueId).digest("hex").slice(0, 16);
7240
7246
  }
7241
- var PREPARING_TOOL_NAME, HARNESS_UNAVAILABLE_NOTICE, NO_TURN_TOKEN_REASON, UNEXPECTED_ROLE_REASON, DEFAULT_PREPARING_ROW_DELAY_MS, DEFAULT_AGENT_IDLE_TIMEOUT_MS, DEFAULT_AGENT_TOTAL_TIMEOUT_MS, DEFAULT_LEASE_RENEWAL_MS, TurnConcluded, RUNNER_SIGTERM, RUNNER_TERMINATED, TurnExecution;
7247
+ var PREPARING_TOOL_NAME, NO_TURN_TOKEN_REASON, UNEXPECTED_ROLE_REASON, DEFAULT_PREPARING_ROW_DELAY_MS, DEFAULT_AGENT_IDLE_TIMEOUT_MS, DEFAULT_AGENT_TOTAL_TIMEOUT_MS, DEFAULT_LEASE_RENEWAL_MS, TurnConcluded, RUNNER_SIGTERM, RUNNER_TERMINATED, TurnExecution;
7242
7248
  var init_turn_execution = __esm({
7243
7249
  "src/turn-execution.ts"() {
7244
7250
  "use strict";
@@ -7268,7 +7274,6 @@ var init_turn_execution = __esm({
7268
7274
  init_turn_committer();
7269
7275
  init_turn_runtime_integrity();
7270
7276
  PREPARING_TOOL_NAME = "preparing";
7271
- HARNESS_UNAVAILABLE_NOTICE = "**This harness isn't available on the companion.** Check the harness on the device, or choose another harness in the agent's settings. Then reply to try again.";
7272
7277
  NO_TURN_TOKEN_REASON = "no_turn_token: the server issued no turn credential for this turn";
7273
7278
  UNEXPECTED_ROLE_REASON = `refused the wake trigger (role "system" isn't dispatchable on this companion) \u2014 the companion is likely running outdated code; refresh it, then re-address the agent`;
7274
7279
  DEFAULT_PREPARING_ROW_DELAY_MS = 1500;
@@ -7964,7 +7969,7 @@ var init_turn_execution = __esm({
7964
7969
  );
7965
7970
  try {
7966
7971
  await this.opts.api.postTurnMessage(workspaceId, payload.conversationId, {
7967
- body: HARNESS_UNAVAILABLE_NOTICE,
7972
+ body: harnessUnavailableNotice(this.opts.deviceId, this.opts.deviceLabel),
7968
7973
  kind: "runtime_notice",
7969
7974
  turnId,
7970
7975
  parentMessageId: payload.messageId,
@@ -8789,6 +8794,7 @@ function runnerTurnOptions(input, log2, emit, extras = {}) {
8789
8794
  };
8790
8795
  return {
8791
8796
  ...spec.deviceId ? { deviceId: spec.deviceId } : {},
8797
+ deviceLabel: spec.deviceLabel,
8792
8798
  api,
8793
8799
  baseUrl: input.baseUrl,
8794
8800
  workspaceId: spec.workspaceId,
@@ -11114,6 +11120,7 @@ function runnerSpec(opts, launch, duties, runnerId) {
11114
11120
  return {
11115
11121
  runnerId,
11116
11122
  ...opts.deviceId ? { deviceId: opts.deviceId } : {},
11123
+ deviceLabel: opts.deviceLabel,
11117
11124
  bootId,
11118
11125
  workspaceId: opts.workspaceId,
11119
11126
  workspaceSlug: opts.workspaceSlug,
@@ -13304,6 +13311,7 @@ var CompanionSupervisor = class {
13304
13311
  return new Dispatcher({
13305
13312
  turn: {
13306
13313
  deviceId: this.deviceId ?? void 0,
13314
+ deviceLabel: this.config.deviceLabel,
13307
13315
  api: ctx2.api,
13308
13316
  baseUrl: ctx2.baseUrl,
13309
13317
  workspaceId: ctx2.workspaceId,
package/dist/runtime.js CHANGED
@@ -5001,6 +5001,7 @@ function buildConfig(req) {
5001
5001
  return {
5002
5002
  mcp_servers,
5003
5003
  experimental_use_rmcp_client: true,
5004
+ model_reasoning_summary: "auto",
5004
5005
  ...Object.keys(shellEnv).length ? { shell_environment_policy: { set: shellEnv } } : {}
5005
5006
  };
5006
5007
  }
@@ -5495,6 +5496,7 @@ var runtimeHealthSchema = z13.object({
5495
5496
  });
5496
5497
  var runnerSpecSchema = z13.object({
5497
5498
  deviceId: z13.string().optional(),
5499
+ deviceLabel: z13.string().optional(),
5498
5500
  // The launcher's boot id: the one its heartbeat carries, so a runner's lease
5499
5501
  // matches the device that holds it.
5500
5502
  bootId: z13.string(),
@@ -5659,6 +5661,7 @@ function runnerSpec(opts, launch, duties, runnerId) {
5659
5661
  return {
5660
5662
  runnerId,
5661
5663
  ...opts.deviceId ? { deviceId: opts.deviceId } : {},
5664
+ deviceLabel: opts.deviceLabel,
5662
5665
  bootId,
5663
5666
  workspaceId: opts.workspaceId,
5664
5667
  workspaceSlug: opts.workspaceSlug,
@@ -8537,6 +8540,7 @@ var CompanionSupervisor = class {
8537
8540
  return new Dispatcher({
8538
8541
  turn: {
8539
8542
  deviceId: this.deviceId ?? void 0,
8543
+ deviceLabel: this.config.deviceLabel,
8540
8544
  api: ctx.api,
8541
8545
  baseUrl: ctx.baseUrl,
8542
8546
  workspaceId: ctx.workspaceId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cabane/companion",
3
- "version": "0.6.229",
3
+ "version": "0.6.232",
4
4
  "type": "module",
5
5
  "description": "The Cabane Companion (headless): connect an agent on your machine to your Cabane workspace as a responder — drive work against your own codebase, files, and MCP servers without putting any of it in Cabane.",
6
6
  "license": "UNLICENSED",