@ouro.bot/cli 0.1.0-alpha.7 → 0.1.0-alpha.70
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/AdoptionSpecialist.ouro/agent.json +70 -9
- package/AdoptionSpecialist.ouro/psyche/SOUL.md +5 -2
- package/AdoptionSpecialist.ouro/psyche/identities/monty.md +2 -2
- package/README.md +147 -205
- package/assets/ouroboros.png +0 -0
- package/changelog.json +387 -0
- package/dist/heart/active-work.js +178 -0
- package/dist/heart/bridges/manager.js +358 -0
- package/dist/heart/bridges/state-machine.js +135 -0
- package/dist/heart/bridges/store.js +123 -0
- package/dist/heart/config.js +68 -23
- package/dist/heart/core.js +282 -92
- package/dist/heart/cross-chat-delivery.js +146 -0
- package/dist/heart/daemon/agent-discovery.js +81 -0
- package/dist/heart/daemon/auth-flow.js +409 -0
- package/dist/heart/daemon/daemon-cli.js +1395 -248
- package/dist/heart/daemon/daemon-entry.js +55 -6
- package/dist/heart/daemon/daemon-runtime-sync.js +212 -0
- package/dist/heart/daemon/daemon.js +216 -10
- package/dist/heart/daemon/hatch-animation.js +10 -3
- package/dist/heart/daemon/hatch-flow.js +7 -82
- package/dist/heart/daemon/hooks/bundle-meta.js +92 -0
- package/dist/heart/daemon/launchd.js +159 -0
- package/dist/heart/daemon/log-tailer.js +4 -3
- package/dist/heart/daemon/message-router.js +17 -8
- package/dist/heart/daemon/ouro-bot-entry.js +0 -0
- package/dist/heart/daemon/ouro-bot-global-installer.js +128 -0
- package/dist/heart/daemon/ouro-entry.js +0 -0
- package/dist/heart/daemon/ouro-path-installer.js +178 -0
- package/dist/heart/daemon/ouro-uti.js +11 -2
- package/dist/heart/daemon/process-manager.js +14 -1
- package/dist/heart/daemon/run-hooks.js +37 -0
- package/dist/heart/daemon/runtime-logging.js +58 -15
- package/dist/heart/daemon/runtime-metadata.js +219 -0
- package/dist/heart/daemon/runtime-mode.js +67 -0
- package/dist/heart/daemon/sense-manager.js +307 -0
- package/dist/heart/daemon/skill-management-installer.js +94 -0
- package/dist/heart/daemon/socket-client.js +202 -0
- package/dist/heart/daemon/specialist-orchestrator.js +53 -84
- package/dist/heart/daemon/specialist-prompt.js +64 -5
- package/dist/heart/daemon/specialist-tools.js +213 -58
- package/dist/heart/daemon/staged-restart.js +114 -0
- package/dist/heart/daemon/thoughts.js +379 -0
- package/dist/heart/daemon/update-checker.js +111 -0
- package/dist/heart/daemon/update-hooks.js +138 -0
- package/dist/heart/daemon/wrapper-publish-guard.js +86 -0
- package/dist/heart/delegation.js +62 -0
- package/dist/heart/identity.js +126 -21
- package/dist/heart/kicks.js +1 -19
- package/dist/heart/model-capabilities.js +48 -0
- package/dist/heart/progress-story.js +42 -0
- package/dist/heart/providers/anthropic.js +74 -9
- package/dist/heart/providers/azure.js +86 -7
- package/dist/heart/providers/github-copilot.js +149 -0
- package/dist/heart/providers/minimax.js +4 -0
- package/dist/heart/providers/openai-codex.js +12 -3
- package/dist/heart/safe-workspace.js +228 -0
- package/dist/heart/sense-truth.js +61 -0
- package/dist/heart/session-activity.js +169 -0
- package/dist/heart/session-recall.js +116 -0
- package/dist/heart/streaming.js +100 -22
- package/dist/heart/target-resolution.js +123 -0
- package/dist/heart/turn-coordinator.js +28 -0
- package/dist/mind/associative-recall.js +14 -2
- package/dist/mind/bundle-manifest.js +70 -0
- package/dist/mind/context.js +27 -11
- package/dist/mind/first-impressions.js +16 -2
- package/dist/mind/friends/channel.js +35 -0
- package/dist/mind/friends/group-context.js +144 -0
- package/dist/mind/friends/store-file.js +19 -0
- package/dist/mind/friends/trust-explanation.js +74 -0
- package/dist/mind/friends/types.js +8 -0
- package/dist/mind/memory.js +27 -26
- package/dist/mind/pending.js +72 -9
- package/dist/mind/phrases.js +1 -0
- package/dist/mind/prompt.js +358 -77
- package/dist/mind/token-estimate.js +8 -12
- package/dist/nerves/cli-logging.js +15 -2
- package/dist/nerves/coverage/run-artifacts.js +1 -1
- package/dist/repertoire/ado-client.js +4 -2
- package/dist/repertoire/coding/feedback.js +134 -0
- package/dist/repertoire/coding/index.js +4 -1
- package/dist/repertoire/coding/manager.js +62 -4
- package/dist/repertoire/coding/spawner.js +3 -3
- package/dist/repertoire/coding/tools.js +41 -2
- package/dist/repertoire/data/ado-endpoints.json +188 -0
- package/dist/repertoire/guardrails.js +279 -0
- package/dist/repertoire/mcp-client.js +254 -0
- package/dist/repertoire/mcp-manager.js +195 -0
- package/dist/repertoire/skills.js +3 -26
- package/dist/repertoire/tasks/board.js +12 -0
- package/dist/repertoire/tasks/index.js +23 -9
- package/dist/repertoire/tasks/transitions.js +1 -2
- package/dist/repertoire/tools-base.js +642 -251
- package/dist/repertoire/tools-bluebubbles.js +93 -0
- package/dist/repertoire/tools-teams.js +58 -25
- package/dist/repertoire/tools.js +93 -52
- package/dist/senses/bluebubbles-client.js +210 -5
- package/dist/senses/bluebubbles-entry.js +2 -0
- package/dist/senses/bluebubbles-inbound-log.js +109 -0
- package/dist/senses/bluebubbles-media.js +339 -0
- package/dist/senses/bluebubbles-model.js +12 -4
- package/dist/senses/bluebubbles-mutation-log.js +45 -5
- package/dist/senses/bluebubbles-runtime-state.js +109 -0
- package/dist/senses/bluebubbles-session-cleanup.js +72 -0
- package/dist/senses/bluebubbles.js +893 -45
- package/dist/senses/cli-layout.js +87 -0
- package/dist/senses/cli.js +348 -144
- package/dist/senses/continuity.js +94 -0
- package/dist/senses/debug-activity.js +148 -0
- package/dist/senses/inner-dialog-worker.js +47 -18
- package/dist/senses/inner-dialog.js +333 -84
- package/dist/senses/pipeline.js +278 -0
- package/dist/senses/teams.js +573 -129
- package/dist/senses/trust-gate.js +112 -2
- package/package.json +14 -3
- package/subagents/README.md +4 -70
- package/dist/heart/daemon/specialist-session.js +0 -142
- package/dist/heart/daemon/subagent-installer.js +0 -125
- package/dist/inner-worker-entry.js +0 -4
- package/subagents/work-doer.md +0 -233
- package/subagents/work-merger.md +0 -624
- package/subagents/work-planner.md +0 -373
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.wrapCliText = wrapCliText;
|
|
4
|
+
exports.formatEchoedInputSummary = formatEchoedInputSummary;
|
|
5
|
+
const runtime_1 = require("../nerves/runtime");
|
|
6
|
+
function splitLongWord(word, width) {
|
|
7
|
+
const chunks = [];
|
|
8
|
+
for (let index = 0; index < word.length; index += width) {
|
|
9
|
+
chunks.push(word.slice(index, index + width));
|
|
10
|
+
}
|
|
11
|
+
return chunks;
|
|
12
|
+
}
|
|
13
|
+
function wrapCliText(text, cols) {
|
|
14
|
+
const width = Math.max(cols, 1);
|
|
15
|
+
const wrapped = [];
|
|
16
|
+
for (const rawLine of text.split("\n")) {
|
|
17
|
+
if (rawLine.trim().length === 0) {
|
|
18
|
+
wrapped.push("");
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
const words = rawLine.trim().split(/\s+/);
|
|
22
|
+
let current = "";
|
|
23
|
+
for (const word of words) {
|
|
24
|
+
if (!current) {
|
|
25
|
+
if (word.length <= width) {
|
|
26
|
+
current = word;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
const chunks = splitLongWord(word, width);
|
|
30
|
+
wrapped.push(...chunks.slice(0, -1));
|
|
31
|
+
current = chunks[chunks.length - 1];
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const candidate = `${current} ${word}`;
|
|
35
|
+
if (candidate.length <= width) {
|
|
36
|
+
current = candidate;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
wrapped.push(current);
|
|
40
|
+
if (word.length <= width) {
|
|
41
|
+
current = word;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const chunks = splitLongWord(word, width);
|
|
45
|
+
wrapped.push(...chunks.slice(0, -1));
|
|
46
|
+
current = chunks[chunks.length - 1];
|
|
47
|
+
}
|
|
48
|
+
wrapped.push(current);
|
|
49
|
+
}
|
|
50
|
+
return wrapped;
|
|
51
|
+
}
|
|
52
|
+
function countEchoedInputRows(input, cols) {
|
|
53
|
+
const width = Math.max(cols, 1);
|
|
54
|
+
return input.split("\n").reduce((sum, line, index) => {
|
|
55
|
+
const promptWidth = index === 0 ? 2 : 0;
|
|
56
|
+
return sum + Math.max(1, Math.ceil((promptWidth + line.length) / width));
|
|
57
|
+
}, 0);
|
|
58
|
+
}
|
|
59
|
+
function formatEchoedInputSummary(input, cols) {
|
|
60
|
+
const inputLines = input.split("\n");
|
|
61
|
+
const summary = `> ${inputLines[0]}${inputLines.length > 1 ? ` (+${inputLines.length - 1} lines)` : ""}`;
|
|
62
|
+
const wrappedSummary = wrapCliText(summary, cols);
|
|
63
|
+
const echoRows = countEchoedInputRows(input, cols);
|
|
64
|
+
(0, runtime_1.emitNervesEvent)({
|
|
65
|
+
component: "senses",
|
|
66
|
+
event: "senses.cli_echo_summary_formatted",
|
|
67
|
+
message: "formatted echoed cli input summary",
|
|
68
|
+
meta: {
|
|
69
|
+
cols,
|
|
70
|
+
echo_rows: echoRows,
|
|
71
|
+
input_line_count: inputLines.length,
|
|
72
|
+
wrapped_line_count: wrappedSummary.length,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
let output = `\x1b[${echoRows}A`;
|
|
76
|
+
for (let i = 0; i < echoRows; i += 1) {
|
|
77
|
+
output += "\r\x1b[K";
|
|
78
|
+
if (i < echoRows - 1) {
|
|
79
|
+
output += "\x1b[1B";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (echoRows > 1) {
|
|
83
|
+
output += `\x1b[${echoRows - 1}A`;
|
|
84
|
+
}
|
|
85
|
+
output += `\x1b[1m${wrappedSummary.join("\n")}\x1b[0m\n\n`;
|
|
86
|
+
return output;
|
|
87
|
+
}
|