@cabane/companion 0.6.76 → 0.6.78
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 +6 -6
- package/dist/runtime.js +6 -6
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -5463,8 +5463,8 @@ function createOpencodeAdapter(deps = {}) {
|
|
|
5463
5463
|
const transport = deps.transport ?? (deps.serverUrl ? createHttpOpencodeTransport({ baseUrl: deps.serverUrl }) : null);
|
|
5464
5464
|
return {
|
|
5465
5465
|
name: "opencode",
|
|
5466
|
-
//
|
|
5467
|
-
//
|
|
5466
|
+
// CT829: one surface, so one addendum and no parameter — CT614's `codeMode`
|
|
5467
|
+
// argument went with the named tool surface it selected against.
|
|
5468
5468
|
promptAddendum: () => OPENCODE_ADDENDUM,
|
|
5469
5469
|
dialectSchema: opencodeDialectSchema,
|
|
5470
5470
|
async *runTurn(req, signal) {
|
|
@@ -6411,8 +6411,8 @@ function createCodexAdapter(deps = {}) {
|
|
|
6411
6411
|
const transport = deps.transport ?? (deps.enabled ? createSdkCodexTransport({ ...deps.apiKey ? { apiKey: deps.apiKey } : {} }) : null);
|
|
6412
6412
|
return {
|
|
6413
6413
|
name: "codex",
|
|
6414
|
-
//
|
|
6415
|
-
//
|
|
6414
|
+
// CT829: one surface, so one addendum and no parameter — CT614's `codeMode`
|
|
6415
|
+
// argument went with the named tool surface it selected against.
|
|
6416
6416
|
promptAddendum: () => CODEX_ADDENDUM,
|
|
6417
6417
|
dialectSchema: codexDialectSchema,
|
|
6418
6418
|
async *runTurn(req, signal) {
|
|
@@ -7467,7 +7467,7 @@ function createTurnControlMcpServer(sendState, skipState, askState, wakeState, r
|
|
|
7467
7467
|
tools: [
|
|
7468
7468
|
tool(
|
|
7469
7469
|
SEND_TOOL,
|
|
7470
|
-
"Send one addressed message to another agent in THIS conversation. Pass the peer's `agentId` and the complete `message` they should act on; the server writes it separately from your terminal reply. Writing `@handle` in prose dispatches nobody. Single target \u2014 the last call wins. Sending to yourself is a no-op. A handoff to a DIFFERENT conversation is `
|
|
7470
|
+
"Send one addressed message to another agent in THIS conversation. Pass the peer's `agentId` and the complete `message` they should act on; the server writes it separately from your terminal reply. Writing `@handle` in prose dispatches nobody. Single target \u2014 the last call wins. Sending to yourself is a no-op. A handoff to a DIFFERENT conversation is `conversations.create` / `conversations.post` with their `dispatch` field instead. Never use send to hand an answer back to the requester \u2014 declare that with reply_to.",
|
|
7471
7471
|
{
|
|
7472
7472
|
agentId: z13.string().uuid().describe(
|
|
7473
7473
|
"The peer agent to address \u2014 a workspace agent id, from your turn context's roster."
|
|
@@ -7653,7 +7653,7 @@ function createTurnControlMcpServer(sendState, skipState, askState, wakeState, r
|
|
|
7653
7653
|
// caller's own wake in the conversation it's holding a turn in.
|
|
7654
7654
|
tool(
|
|
7655
7655
|
CANCEL_WAKE_TOOL,
|
|
7656
|
-
'Stand down your own wake \u2014 the inverse of `wake_me`. No arguments: it means "when this turn settles, leave no wake armed for me in this conversation." Reach for it when the thing you armed a wake to check has already happened, or the work it was watching is over \u2014 an armed wake you no longer need fires into a turn with nothing to do, and a supervision loop with no off switch is one you can only end by leaving it running. Whether you have one armed is printed in your turn context ("Wake armed: \u2026"); calling this with nothing armed is a clean no-op, no error. It writes the same per-turn slot as `wake_me`, so the two are last-call-wins against each other: `cancel_wake` then `wake_me` leaves the NEW wake armed, `wake_me` then `cancel_wake` leaves nothing armed. Like `wake_me` it takes effect when the turn SETTLES, not now. It reaches only your own wake in this conversation \u2014 never a peer\'s, and never a recurring schedule (those are `
|
|
7656
|
+
'Stand down your own wake \u2014 the inverse of `wake_me`. No arguments: it means "when this turn settles, leave no wake armed for me in this conversation." Reach for it when the thing you armed a wake to check has already happened, or the work it was watching is over \u2014 an armed wake you no longer need fires into a turn with nothing to do, and a supervision loop with no off switch is one you can only end by leaving it running. Whether you have one armed is printed in your turn context ("Wake armed: \u2026"); calling this with nothing armed is a clean no-op, no error. It writes the same per-turn slot as `wake_me`, so the two are last-call-wins against each other: `cancel_wake` then `wake_me` leaves the NEW wake armed, `wake_me` then `cancel_wake` leaves nothing armed. Like `wake_me` it takes effect when the turn SETTLES, not now. It reaches only your own wake in this conversation \u2014 never a peer\'s, and never a recurring schedule (those are `schedules.*`).',
|
|
7657
7657
|
{},
|
|
7658
7658
|
async () => {
|
|
7659
7659
|
wakeState.cancelled = true;
|
package/dist/runtime.js
CHANGED
|
@@ -4962,8 +4962,8 @@ function createOpencodeAdapter(deps = {}) {
|
|
|
4962
4962
|
const transport = deps.transport ?? (deps.serverUrl ? createHttpOpencodeTransport({ baseUrl: deps.serverUrl }) : null);
|
|
4963
4963
|
return {
|
|
4964
4964
|
name: "opencode",
|
|
4965
|
-
//
|
|
4966
|
-
//
|
|
4965
|
+
// CT829: one surface, so one addendum and no parameter — CT614's `codeMode`
|
|
4966
|
+
// argument went with the named tool surface it selected against.
|
|
4967
4967
|
promptAddendum: () => OPENCODE_ADDENDUM,
|
|
4968
4968
|
dialectSchema: opencodeDialectSchema,
|
|
4969
4969
|
async *runTurn(req, signal) {
|
|
@@ -5910,8 +5910,8 @@ function createCodexAdapter(deps = {}) {
|
|
|
5910
5910
|
const transport = deps.transport ?? (deps.enabled ? createSdkCodexTransport({ ...deps.apiKey ? { apiKey: deps.apiKey } : {} }) : null);
|
|
5911
5911
|
return {
|
|
5912
5912
|
name: "codex",
|
|
5913
|
-
//
|
|
5914
|
-
//
|
|
5913
|
+
// CT829: one surface, so one addendum and no parameter — CT614's `codeMode`
|
|
5914
|
+
// argument went with the named tool surface it selected against.
|
|
5915
5915
|
promptAddendum: () => CODEX_ADDENDUM,
|
|
5916
5916
|
dialectSchema: codexDialectSchema,
|
|
5917
5917
|
async *runTurn(req, signal) {
|
|
@@ -6966,7 +6966,7 @@ function createTurnControlMcpServer(sendState, skipState, askState, wakeState, r
|
|
|
6966
6966
|
tools: [
|
|
6967
6967
|
tool(
|
|
6968
6968
|
SEND_TOOL,
|
|
6969
|
-
"Send one addressed message to another agent in THIS conversation. Pass the peer's `agentId` and the complete `message` they should act on; the server writes it separately from your terminal reply. Writing `@handle` in prose dispatches nobody. Single target \u2014 the last call wins. Sending to yourself is a no-op. A handoff to a DIFFERENT conversation is `
|
|
6969
|
+
"Send one addressed message to another agent in THIS conversation. Pass the peer's `agentId` and the complete `message` they should act on; the server writes it separately from your terminal reply. Writing `@handle` in prose dispatches nobody. Single target \u2014 the last call wins. Sending to yourself is a no-op. A handoff to a DIFFERENT conversation is `conversations.create` / `conversations.post` with their `dispatch` field instead. Never use send to hand an answer back to the requester \u2014 declare that with reply_to.",
|
|
6970
6970
|
{
|
|
6971
6971
|
agentId: z13.string().uuid().describe(
|
|
6972
6972
|
"The peer agent to address \u2014 a workspace agent id, from your turn context's roster."
|
|
@@ -7152,7 +7152,7 @@ function createTurnControlMcpServer(sendState, skipState, askState, wakeState, r
|
|
|
7152
7152
|
// caller's own wake in the conversation it's holding a turn in.
|
|
7153
7153
|
tool(
|
|
7154
7154
|
CANCEL_WAKE_TOOL,
|
|
7155
|
-
'Stand down your own wake \u2014 the inverse of `wake_me`. No arguments: it means "when this turn settles, leave no wake armed for me in this conversation." Reach for it when the thing you armed a wake to check has already happened, or the work it was watching is over \u2014 an armed wake you no longer need fires into a turn with nothing to do, and a supervision loop with no off switch is one you can only end by leaving it running. Whether you have one armed is printed in your turn context ("Wake armed: \u2026"); calling this with nothing armed is a clean no-op, no error. It writes the same per-turn slot as `wake_me`, so the two are last-call-wins against each other: `cancel_wake` then `wake_me` leaves the NEW wake armed, `wake_me` then `cancel_wake` leaves nothing armed. Like `wake_me` it takes effect when the turn SETTLES, not now. It reaches only your own wake in this conversation \u2014 never a peer\'s, and never a recurring schedule (those are `
|
|
7155
|
+
'Stand down your own wake \u2014 the inverse of `wake_me`. No arguments: it means "when this turn settles, leave no wake armed for me in this conversation." Reach for it when the thing you armed a wake to check has already happened, or the work it was watching is over \u2014 an armed wake you no longer need fires into a turn with nothing to do, and a supervision loop with no off switch is one you can only end by leaving it running. Whether you have one armed is printed in your turn context ("Wake armed: \u2026"); calling this with nothing armed is a clean no-op, no error. It writes the same per-turn slot as `wake_me`, so the two are last-call-wins against each other: `cancel_wake` then `wake_me` leaves the NEW wake armed, `wake_me` then `cancel_wake` leaves nothing armed. Like `wake_me` it takes effect when the turn SETTLES, not now. It reaches only your own wake in this conversation \u2014 never a peer\'s, and never a recurring schedule (those are `schedules.*`).',
|
|
7156
7156
|
{},
|
|
7157
7157
|
async () => {
|
|
7158
7158
|
wakeState.cancelled = true;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cabane/companion",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.78",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The Cabane Companion (headless): connect a coding 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",
|