@ouro.bot/cli 0.1.0-alpha.533 → 0.1.0-alpha.534
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/README.md +5 -5
- package/changelog.json +8 -0
- package/dist/heart/daemon/cli-defaults.js +1 -1
- package/dist/heart/daemon/cli-exec.js +6 -6
- package/dist/heart/daemon/daemon.js +1 -1
- package/dist/heart/versioning/ouro-bot-global-installer.js +5 -4
- package/dist/heart/versioning/ouro-path-installer.js +2 -1
- package/dist/heart/versioning/update-checker.js +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Ouroboros is a TypeScript harness for daemon-managed agents that live in externa
|
|
|
6
6
|
|
|
7
7
|
## What The Runtime Looks Like
|
|
8
8
|
|
|
9
|
-
- `npx ouro.bot@
|
|
9
|
+
- `npx ouro.bot@alpha` is the supported bootstrap path while the runtime is in prerelease.
|
|
10
10
|
- `ouro` is the installed day-to-day command.
|
|
11
11
|
- `ouro up` starts the daemon from the installed production version, syncs the launcher, installs workflow helpers, and reconciles stale runtime state.
|
|
12
12
|
- `ouro dev` starts the daemon from a local repo build. It auto-builds from source, disables launchd auto-restart (so the installed daemon doesn't respawn underneath you), persists the repo path in `~/.ouro-cli/dev-config.json` for next time, and force-restarts the daemon. If you run `ouro dev` from inside the repo, it detects the CWD automatically. Run `ouro up` to return to production mode (this also cleans up `dev-config.json`).
|
|
@@ -144,15 +144,15 @@ For a clean smoke test, run from outside the repo:
|
|
|
144
144
|
|
|
145
145
|
```bash
|
|
146
146
|
cd ~
|
|
147
|
-
npx ouro.bot@
|
|
148
|
-
npx ouro.bot@
|
|
147
|
+
npx ouro.bot@alpha -v
|
|
148
|
+
npx ouro.bot@alpha up
|
|
149
149
|
ouro -v
|
|
150
150
|
ouro status
|
|
151
151
|
```
|
|
152
152
|
|
|
153
153
|
Expected shape:
|
|
154
154
|
|
|
155
|
-
- `npx ouro.bot@
|
|
155
|
+
- `npx ouro.bot@alpha` and `ouro` report the same version.
|
|
156
156
|
- `ouro status` shows the daemon overview plus discovered agents, senses, and workers.
|
|
157
157
|
|
|
158
158
|
### Work On The Harness
|
|
@@ -216,7 +216,7 @@ The generic secret primitive is a vault item / credential in the owning agent va
|
|
|
216
216
|
|
|
217
217
|
## Setting Up On Another Machine
|
|
218
218
|
|
|
219
|
-
To clone an existing agent onto a new machine (macOS, Linux, or Windows via WSL2), see **[docs/cross-machine-setup.md](docs/cross-machine-setup.md)**. The short version is bundle plus vault: `npx ouro.bot@
|
|
219
|
+
To clone an existing agent onto a new machine (macOS, Linux, or Windows via WSL2), see **[docs/cross-machine-setup.md](docs/cross-machine-setup.md)**. The short version is bundle plus vault: `npx ouro.bot@alpha`, open the home deck, choose clone, enter the bundle's git remote URL, unlock the agent vault, refresh/verify credentials, and start with `ouro up`.
|
|
220
220
|
|
|
221
221
|
## The Agent's Inner Life
|
|
222
222
|
|
package/changelog.json
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
{
|
|
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
|
+
{
|
|
5
|
+
"version": "0.1.0-alpha.534",
|
|
6
|
+
"changes": [
|
|
7
|
+
"`ouro up` now syncs the global `ouro.bot` wrapper to the exact running runtime version and repairs stale wrapper-owned binaries instead of trusting whatever package currently owns the executable.",
|
|
8
|
+
"Foreground and daemon update checks now read the `alpha` prerelease dist-tag instead of stale `latest`, so machines already on older prereleases can discover the fixed runtime.",
|
|
9
|
+
"Runtime bootstrap hints, smoke docs, cross-machine setup, and the Teams startup script now use the supported `alpha` prerelease channel so prerelease installs no longer drift behind a stale `latest` tag."
|
|
10
|
+
]
|
|
11
|
+
},
|
|
4
12
|
{
|
|
5
13
|
"version": "0.1.0-alpha.533",
|
|
6
14
|
"changes": [
|
|
@@ -583,7 +583,7 @@ function createDefaultOuroCliDeps(socketPath = socket_client_1.DEFAULT_DAEMON_SO
|
|
|
583
583
|
const { checkForUpdate } = await Promise.resolve().then(() => __importStar(require("../versioning/update-checker")));
|
|
584
584
|
return checkForUpdate((0, bundle_manifest_1.getPackageVersion)(), {
|
|
585
585
|
fetchRegistryJson: () => defaultFetchCliRegistryJson(update_checker_1.CLI_UPDATE_CHECK_TIMEOUT_MS),
|
|
586
|
-
distTag:
|
|
586
|
+
distTag: update_checker_1.CLI_UPDATE_DIST_TAG,
|
|
587
587
|
});
|
|
588
588
|
},
|
|
589
589
|
installCliVersion: async (version) => { (0, ouro_version_manager_1.installVersion)(version, {}); },
|
|
@@ -5702,7 +5702,7 @@ async function runOuroCli(args, deps = (0, cli_defaults_1.createDefaultOuroCliDe
|
|
|
5702
5702
|
/* v8 ignore next 2 -- unreachable after exec replaces process @preserve */
|
|
5703
5703
|
return "";
|
|
5704
5704
|
}
|
|
5705
|
-
const message = "no installed version found. run: npx ouro.bot@
|
|
5705
|
+
const message = "no installed version found. run: npx ouro.bot@alpha";
|
|
5706
5706
|
deps.writeStdout(message);
|
|
5707
5707
|
return message;
|
|
5708
5708
|
}
|
|
@@ -6269,15 +6269,15 @@ async function runOuroCli(args, deps = (0, cli_defaults_1.createDefaultOuroCliDe
|
|
|
6269
6269
|
try {
|
|
6270
6270
|
const { result: updateResult, timedOut } = await runCliUpdateCheckWithTimeout(deps.checkForCliUpdate, deps.updateCheckTimeoutMs ?? update_checker_1.CLI_UPDATE_CHECK_TIMEOUT_MS);
|
|
6271
6271
|
if (updateResult.latestVersion) {
|
|
6272
|
-
sections.push(`published
|
|
6272
|
+
sections.push(`published alpha: ${updateResult.latestVersion} (${updateResult.available ? "update available" : "up to date"})`);
|
|
6273
6273
|
}
|
|
6274
6274
|
else if (updateResult.error) {
|
|
6275
|
-
sections.push(`published
|
|
6275
|
+
sections.push(`published alpha: unavailable (${summarizeCliUpdateCheckStatus(updateResult.error, timedOut)})`);
|
|
6276
6276
|
}
|
|
6277
6277
|
}
|
|
6278
6278
|
catch (err) {
|
|
6279
6279
|
const reason = summarizeCliUpdateCheckStatus(err instanceof Error ? err.message : String(err));
|
|
6280
|
-
sections.push(`published
|
|
6280
|
+
sections.push(`published alpha: unavailable (${reason})`);
|
|
6281
6281
|
}
|
|
6282
6282
|
}
|
|
6283
6283
|
const message = ttyBoardEnabled(deps)
|
|
@@ -6291,8 +6291,8 @@ async function runOuroCli(args, deps = (0, cli_defaults_1.createDefaultOuroCliDe
|
|
|
6291
6291
|
lines: localSection.split("\n"),
|
|
6292
6292
|
},
|
|
6293
6293
|
{
|
|
6294
|
-
title: "Published
|
|
6295
|
-
lines: sections.slice(1).length > 0 ? sections.slice(1) : ["published
|
|
6294
|
+
title: "Published alpha",
|
|
6295
|
+
lines: sections.slice(1).length > 0 ? sections.slice(1) : ["published alpha: unavailable"],
|
|
6296
6296
|
},
|
|
6297
6297
|
],
|
|
6298
6298
|
})
|
|
@@ -582,7 +582,7 @@ class OuroDaemon {
|
|
|
582
582
|
(0, update_checker_1.startUpdateChecker)({
|
|
583
583
|
currentVersion,
|
|
584
584
|
deps: {
|
|
585
|
-
distTag:
|
|
585
|
+
distTag: update_checker_1.CLI_UPDATE_DIST_TAG,
|
|
586
586
|
fetchRegistryJson: /* v8 ignore next -- integration: real HTTP fetch @preserve */ async () => {
|
|
587
587
|
const res = await fetch("https://registry.npmjs.org/@ouro.bot/cli");
|
|
588
588
|
return res.json();
|
|
@@ -98,12 +98,13 @@ function syncGlobalOuroBotWrapper(deps = {}) {
|
|
|
98
98
|
const globalRoot = resolveGlobalRoot(execFileSyncImpl);
|
|
99
99
|
const installedVersion = readInstalledWrapperVersion(globalRoot, existsSyncImpl, readFileSyncImpl);
|
|
100
100
|
const executableOwner = resolveExecutableOwner(globalPrefix, platform, existsSyncImpl, realpathSyncImpl);
|
|
101
|
-
|
|
101
|
+
const installTarget = `ouro.bot@${runtimeVersion}`;
|
|
102
|
+
if (executableOwner === "wrapper" && installedVersion === runtimeVersion) {
|
|
102
103
|
(0, runtime_1.emitNervesEvent)({
|
|
103
104
|
component: "daemon",
|
|
104
105
|
event: "daemon.ouro_bot_global_sync_end",
|
|
105
106
|
message: "global ouro.bot wrapper already current",
|
|
106
|
-
meta: { version: runtimeVersion, installedVersion, executableOwner, installed: false },
|
|
107
|
+
meta: { version: runtimeVersion, installedVersion, executableOwner, installed: false, installTarget },
|
|
107
108
|
});
|
|
108
109
|
return {
|
|
109
110
|
installed: false,
|
|
@@ -112,12 +113,12 @@ function syncGlobalOuroBotWrapper(deps = {}) {
|
|
|
112
113
|
executableOwner,
|
|
113
114
|
};
|
|
114
115
|
}
|
|
115
|
-
execFileSyncImpl("npm", ["install", "-g", "--force",
|
|
116
|
+
execFileSyncImpl("npm", ["install", "-g", "--force", installTarget], { stdio: "pipe", encoding: "utf-8" });
|
|
116
117
|
(0, runtime_1.emitNervesEvent)({
|
|
117
118
|
component: "daemon",
|
|
118
119
|
event: "daemon.ouro_bot_global_sync_end",
|
|
119
120
|
message: "global ouro.bot wrapper synced",
|
|
120
|
-
meta: { version: runtimeVersion, installedVersion, executableOwner, installed: true },
|
|
121
|
+
meta: { version: runtimeVersion, installedVersion, executableOwner, installed: true, installTarget },
|
|
121
122
|
});
|
|
122
123
|
return {
|
|
123
124
|
installed: true,
|
|
@@ -53,7 +53,7 @@ fi
|
|
|
53
53
|
# Fall back to installed version
|
|
54
54
|
ENTRY="$HOME/.ouro-cli/CurrentVersion/node_modules/@ouro.bot/cli/dist/heart/daemon/ouro-entry.js"
|
|
55
55
|
if [ ! -e "$ENTRY" ]; then
|
|
56
|
-
echo "ouro not installed. Run: npx ouro.bot@
|
|
56
|
+
echo "ouro not installed. Run: npx ouro.bot@alpha" >&2
|
|
57
57
|
exit 1
|
|
58
58
|
fi
|
|
59
59
|
exec node "$ENTRY" "$@"
|
|
@@ -114,6 +114,7 @@ function isOwnedOuroLauncherPath(resolvedPath) {
|
|
|
114
114
|
function isOwnedOuroLauncherContent(content) {
|
|
115
115
|
return (content.includes("@ouro.bot/cli") ||
|
|
116
116
|
content.includes("ouro.bot@latest") ||
|
|
117
|
+
content.includes("ouro.bot@alpha") ||
|
|
117
118
|
content.includes('exec npx --yes ouro.bot "$@"') ||
|
|
118
119
|
content.includes("CurrentVersion/node_modules/@ouro.bot/cli"));
|
|
119
120
|
}
|
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.CLI_UPDATE_CHECK_TIMEOUT_MS = void 0;
|
|
36
|
+
exports.CLI_UPDATE_DIST_TAG = exports.CLI_UPDATE_CHECK_TIMEOUT_MS = void 0;
|
|
37
37
|
exports.checkForUpdate = checkForUpdate;
|
|
38
38
|
exports.startUpdateChecker = startUpdateChecker;
|
|
39
39
|
exports.stopUpdateChecker = stopUpdateChecker;
|
|
@@ -41,6 +41,7 @@ const semver = __importStar(require("semver"));
|
|
|
41
41
|
const runtime_1 = require("../../nerves/runtime");
|
|
42
42
|
const DEFAULT_INTERVAL_MS = 30 * 60 * 1000; // 30 minutes
|
|
43
43
|
exports.CLI_UPDATE_CHECK_TIMEOUT_MS = 3_000;
|
|
44
|
+
exports.CLI_UPDATE_DIST_TAG = "alpha";
|
|
44
45
|
async function checkForUpdate(currentVersion, deps) {
|
|
45
46
|
(0, runtime_1.emitNervesEvent)({
|
|
46
47
|
component: "daemon",
|