@cabane/companion 0.6.219 → 0.6.220
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 +10 -4
- package/dist/runtime.js +2 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -2572,7 +2572,7 @@ var init_transcript_sink = __esm({
|
|
|
2572
2572
|
});
|
|
2573
2573
|
|
|
2574
2574
|
// packages/agent-runtime/src/turn-control/descriptions.ts
|
|
2575
|
-
var MAX_ASK_QUESTION_BYTES, MAX_ASK_HEADLINE_BYTES, MAX_ASK_ITEMS, EXCHANGE_KINDS, APPROVAL_OPTIONS, REQUEST_OPTIONS, MAX_REQUEST_BODY_BYTES, MAX_ASK_OPTION_BYTES, ASK_OPTION_NOT_A_STRING, MIN_ASK_OPTIONS, MAX_ASK_OPTIONS, ASK_TARGET_PATTERN, ASK_TARGET_INVALID, MAX_WAKE_NOTE_BYTES, MAX_WITHDRAW_REASON_BYTES, MAX_SKIP_REASON_BYTES, TURN_CONTROL_MCP_SERVER, TURN_CONTROL_TOOLS, TURN_CONTROL_TOOL_DESCRIPTIONS, TURN_CONTROL_FIELD_DESCRIPTIONS;
|
|
2575
|
+
var MAX_ASK_QUESTION_BYTES, MAX_ASK_HEADLINE_BYTES, MAX_ASK_ITEMS, EXCHANGE_KINDS, APPROVAL_OPTIONS, REQUEST_OPTIONS, MAX_EXCHANGE_FILES, MAX_REQUEST_BODY_BYTES, MAX_ASK_OPTION_BYTES, ASK_OPTION_NOT_A_STRING, MIN_ASK_OPTIONS, MAX_ASK_OPTIONS, ASK_TARGET_PATTERN, ASK_TARGET_INVALID, MAX_WAKE_NOTE_BYTES, MAX_WITHDRAW_REASON_BYTES, MAX_SKIP_REASON_BYTES, TURN_CONTROL_MCP_SERVER, TURN_CONTROL_TOOLS, TURN_CONTROL_TOOL_DESCRIPTIONS, TURN_CONTROL_FIELD_DESCRIPTIONS;
|
|
2576
2576
|
var init_descriptions = __esm({
|
|
2577
2577
|
"packages/agent-runtime/src/turn-control/descriptions.ts"() {
|
|
2578
2578
|
"use strict";
|
|
@@ -2582,6 +2582,7 @@ var init_descriptions = __esm({
|
|
|
2582
2582
|
EXCHANGE_KINDS = ["question", "approval", "request"];
|
|
2583
2583
|
APPROVAL_OPTIONS = ["Yes", "No"];
|
|
2584
2584
|
REQUEST_OPTIONS = ["Done", "Couldn't"];
|
|
2585
|
+
MAX_EXCHANGE_FILES = 5;
|
|
2585
2586
|
MAX_REQUEST_BODY_BYTES = 2e3;
|
|
2586
2587
|
MAX_ASK_OPTION_BYTES = 200;
|
|
2587
2588
|
ASK_OPTION_NOT_A_STRING = "An ask option is a plain string label.";
|
|
@@ -2624,6 +2625,7 @@ var init_descriptions = __esm({
|
|
|
2624
2625
|
kind: `What the exchange is for; default \`question\`. \`question\`: the person picks among courses of action or types an answer. \`approval\`: a yes/no on one proposed action \u2014 the person answers ${APPROVAL_OPTIONS.join(" or ")}. \`request\`: something only the person can do \u2014 they report ${REQUEST_OPTIONS.join(" or ")}.`,
|
|
2625
2626
|
question: `The body beneath the headline \u2014 for a question or approval one or two sentences of framing, NOT a report (up to ${MAX_ASK_QUESTION_BYTES} characters, inline markdown only); for a request the steps, with lists and code blocks allowed (up to ${MAX_REQUEST_BODY_BYTES} characters). With \`questions\`, leave it out.`,
|
|
2626
2627
|
headline: `ONE clear, capitalized sentence, up to ${MAX_ASK_HEADLINE_BYTES} characters: for a question or approval, the question ending in \`?\` ("Should Ledger deploy once Mia approves?"); for a request, what to do ("Run these and send me the output"). What the person reads first in For you. Required for an approval or request.`,
|
|
2628
|
+
files: `1\u2013${MAX_EXCHANGE_FILES} workspace paths, drawn as file chips above the body; the person must be able to read each.`,
|
|
2627
2629
|
options: `A question's single form only: ${MIN_ASK_OPTIONS}\u2013${MAX_ASK_OPTIONS} suggested one-click answers, up to ${MAX_ASK_OPTION_BYTES} characters each. Each option must make sense on its own. Refused on an approval or request.`,
|
|
2628
2630
|
questions: `A question only, MULTI form: 1\u2013${MAX_ASK_ITEMS} items at once, when a plan ends with several bounded decisions. Provide EITHER this or \`question\`/\`headline\`/\`options\`, not both.`,
|
|
2629
2631
|
"questions.headline": `The one-sentence question ("Should Ledger deploy once Mia approves?") \u2014 required for each item, up to ${MAX_ASK_HEADLINE_BYTES} characters.`,
|
|
@@ -6248,6 +6250,7 @@ function createTurnControlMcpServer(acts, skipState) {
|
|
|
6248
6250
|
).min(MIN_ASK_OPTIONS).max(MAX_ASK_OPTIONS).optional().describe(TURN_CONTROL_FIELD_DESCRIPTIONS.open_exchange["questions.options"])
|
|
6249
6251
|
})
|
|
6250
6252
|
).min(1).max(MAX_ASK_ITEMS).optional().describe(TURN_CONTROL_FIELD_DESCRIPTIONS.open_exchange.questions),
|
|
6253
|
+
files: z15.array(z15.string().min(1).max(1024)).optional().describe(TURN_CONTROL_FIELD_DESCRIPTIONS.open_exchange.files),
|
|
6251
6254
|
replaces: z15.object({
|
|
6252
6255
|
askId: z15.string().uuid().describe(TURN_CONTROL_FIELD_DESCRIPTIONS.open_exchange["replaces.askId"]),
|
|
6253
6256
|
reason: z15.string().min(1).max(MAX_WITHDRAW_REASON_BYTES).describe(TURN_CONTROL_FIELD_DESCRIPTIONS.open_exchange["replaces.reason"])
|
|
@@ -6268,7 +6271,8 @@ function createTurnControlMcpServer(acts, skipState) {
|
|
|
6268
6271
|
...args.headline ? { headline: args.headline } : {},
|
|
6269
6272
|
...args.question ? { question: args.question } : {},
|
|
6270
6273
|
...args.options ? { options: args.options } : {},
|
|
6271
|
-
...args.questions ? { questions: args.questions } : {}
|
|
6274
|
+
...args.questions ? { questions: args.questions } : {},
|
|
6275
|
+
...args.files ? { files: args.files } : {}
|
|
6272
6276
|
}
|
|
6273
6277
|
});
|
|
6274
6278
|
}
|
|
@@ -6292,12 +6296,14 @@ function createTurnControlMcpServer(acts, skipState) {
|
|
|
6292
6296
|
headline: q.headline,
|
|
6293
6297
|
...q.body ? { body: q.body } : {},
|
|
6294
6298
|
...q.options && q.options.length > 0 ? { options: q.options } : {}
|
|
6295
|
-
}))
|
|
6299
|
+
})),
|
|
6300
|
+
...args.files ? { files: args.files } : {}
|
|
6296
6301
|
} : {
|
|
6297
6302
|
targetUserId: args.targetUserId,
|
|
6298
6303
|
...args.question ? { question: args.question } : {},
|
|
6299
6304
|
...args.headline ? { headline: args.headline } : {},
|
|
6300
|
-
...args.options && args.options.length > 0 ? { options: args.options } : {}
|
|
6305
|
+
...args.options && args.options.length > 0 ? { options: args.options } : {},
|
|
6306
|
+
...args.files ? { files: args.files } : {}
|
|
6301
6307
|
}
|
|
6302
6308
|
});
|
|
6303
6309
|
},
|
package/dist/runtime.js
CHANGED
|
@@ -2939,6 +2939,7 @@ var MAX_ASK_HEADLINE_BYTES = 120;
|
|
|
2939
2939
|
var MAX_ASK_ITEMS = 20;
|
|
2940
2940
|
var APPROVAL_OPTIONS = ["Yes", "No"];
|
|
2941
2941
|
var REQUEST_OPTIONS = ["Done", "Couldn't"];
|
|
2942
|
+
var MAX_EXCHANGE_FILES = 5;
|
|
2942
2943
|
var MAX_REQUEST_BODY_BYTES = 2e3;
|
|
2943
2944
|
var MAX_ASK_OPTION_BYTES = 200;
|
|
2944
2945
|
var MIN_ASK_OPTIONS = 2;
|
|
@@ -2978,6 +2979,7 @@ var TURN_CONTROL_FIELD_DESCRIPTIONS = {
|
|
|
2978
2979
|
kind: `What the exchange is for; default \`question\`. \`question\`: the person picks among courses of action or types an answer. \`approval\`: a yes/no on one proposed action \u2014 the person answers ${APPROVAL_OPTIONS.join(" or ")}. \`request\`: something only the person can do \u2014 they report ${REQUEST_OPTIONS.join(" or ")}.`,
|
|
2979
2980
|
question: `The body beneath the headline \u2014 for a question or approval one or two sentences of framing, NOT a report (up to ${MAX_ASK_QUESTION_BYTES} characters, inline markdown only); for a request the steps, with lists and code blocks allowed (up to ${MAX_REQUEST_BODY_BYTES} characters). With \`questions\`, leave it out.`,
|
|
2980
2981
|
headline: `ONE clear, capitalized sentence, up to ${MAX_ASK_HEADLINE_BYTES} characters: for a question or approval, the question ending in \`?\` ("Should Ledger deploy once Mia approves?"); for a request, what to do ("Run these and send me the output"). What the person reads first in For you. Required for an approval or request.`,
|
|
2982
|
+
files: `1\u2013${MAX_EXCHANGE_FILES} workspace paths, drawn as file chips above the body; the person must be able to read each.`,
|
|
2981
2983
|
options: `A question's single form only: ${MIN_ASK_OPTIONS}\u2013${MAX_ASK_OPTIONS} suggested one-click answers, up to ${MAX_ASK_OPTION_BYTES} characters each. Each option must make sense on its own. Refused on an approval or request.`,
|
|
2982
2984
|
questions: `A question only, MULTI form: 1\u2013${MAX_ASK_ITEMS} items at once, when a plan ends with several bounded decisions. Provide EITHER this or \`question\`/\`headline\`/\`options\`, not both.`,
|
|
2983
2985
|
"questions.headline": `The one-sentence question ("Should Ledger deploy once Mia approves?") \u2014 required for each item, up to ${MAX_ASK_HEADLINE_BYTES} characters.`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cabane/companion",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.220",
|
|
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",
|