@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 +11 -3
- package/dist/runtime.js +4 -0
- package/package.json +1 -1
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,
|
|
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:
|
|
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.
|
|
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",
|