@ouro.bot/cli 0.1.0-alpha.351 → 0.1.0-alpha.352
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/changelog.json +4 -6
- package/dist/heart/core.js +2 -3
- package/dist/mind/prompt.js +2 -0
- package/dist/repertoire/tools-flow.js +1 -1
- package/package.json +1 -1
package/changelog.json
CHANGED
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
"_note": "This changelog is maintained as part of the PR/version-bump workflow. Agent-curated, not auto-generated. Agents read this file directly via read_file to understand what changed between versions.",
|
|
3
3
|
"versions": [
|
|
4
4
|
{
|
|
5
|
-
"version": "0.1.0-alpha.
|
|
5
|
+
"version": "0.1.0-alpha.352",
|
|
6
6
|
"changes": [
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"Obligation summaries and attention queue headers reframed as structured internal data ([internal] tags) instead of surface-ready prose.",
|
|
11
|
-
"Shared proactive-content-guard module blocks internal content (heartbeat, check-in, task board, obligation status, meta markers) from BlueBubbles and Teams proactive sends."
|
|
7
|
+
"Settle tool description now communicates turn-ending semantics: 'deliver your response and end your turn' with explicit guidance against settling with status updates mid-task.",
|
|
8
|
+
"Observe tool now available in all outward channels including 1:1 chats, not just groups and reactions — agents can absorb messages without responding when the moment doesn't call for words.",
|
|
9
|
+
"Autonomous execution prompt contract added: when told to work autonomously, agents use ponder to absorb new messages and continue using tools, settling only with the final result."
|
|
12
10
|
]
|
|
13
11
|
},
|
|
14
12
|
{
|
package/dist/heart/core.js
CHANGED
|
@@ -556,8 +556,7 @@ async function runAgent(messages, callbacks, channel, signal, options) {
|
|
|
556
556
|
while (!done) {
|
|
557
557
|
// Channel-based tool filtering:
|
|
558
558
|
// - Inner dialog: exclude send_message (delivery via surface), observe (no one to observe)
|
|
559
|
-
// - 1:1
|
|
560
|
-
// - Group chats: observe available
|
|
559
|
+
// - All outward channels (1:1, group, reaction): observe available
|
|
561
560
|
//
|
|
562
561
|
// ponder, settle/rest, surface, and observe are always assembled based on channel context.
|
|
563
562
|
// ponder is available in ALL channels (outer: think privately, inner: keep turning).
|
|
@@ -571,7 +570,7 @@ async function runAgent(messages, callbacks, channel, signal, options) {
|
|
|
571
570
|
...filteredBaseTools,
|
|
572
571
|
tools_1.ponderTool,
|
|
573
572
|
...(isInnerDialog ? [tools_2.surfaceToolDef, tools_1.restTool] : []),
|
|
574
|
-
...(
|
|
573
|
+
...(!isInnerDialog ? [tools_1.observeTool] : []),
|
|
575
574
|
...(!isInnerDialog ? [tools_1.settleTool] : []),
|
|
576
575
|
];
|
|
577
576
|
const steeringFollowUps = options?.drainSteeringFollowUps?.() ?? [];
|
package/dist/mind/prompt.js
CHANGED
|
@@ -609,6 +609,8 @@ function toolContractsSection(channel, options) {
|
|
|
609
609
|
lines.push(`- When I am ready to respond to the user, I call \`settle\`.`);
|
|
610
610
|
lines.push(`- \`settle\` must be the only tool call in that turn.`);
|
|
611
611
|
lines.push(`- I do not call no-op tools before \`settle\`.`);
|
|
612
|
+
lines.push(`- when told to work autonomously, I use ponder to absorb new messages and continue using tools. I settle only with the final result.`);
|
|
613
|
+
lines.push(`- if nothing calls for words, I observe.`);
|
|
612
614
|
}
|
|
613
615
|
}
|
|
614
616
|
return lines.join("\n");
|
|
@@ -72,7 +72,7 @@ exports.settleTool = {
|
|
|
72
72
|
type: "function",
|
|
73
73
|
function: {
|
|
74
74
|
name: "settle",
|
|
75
|
-
description: "
|
|
75
|
+
description: "deliver your response and end your turn — this hands control back to the user. only settle when your work is complete, you're genuinely blocked, or the user asked a direct question that needs an answer now. do not settle with status updates mid-task. if you're settling with 'I'll look into that,' you probably should be using a tool instead.",
|
|
76
76
|
parameters: {
|
|
77
77
|
type: "object",
|
|
78
78
|
properties: {
|