agenticros 0.1.7 → 0.1.9
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/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +36 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +39 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +18 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +54 -1
- package/dist/commands/up.js.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/util/profiles.d.ts +50 -0
- package/dist/util/profiles.d.ts.map +1 -0
- package/dist/util/profiles.js +173 -0
- package/dist/util/profiles.js.map +1 -0
- package/package.json +1 -1
- package/runtime/BUNDLE.json +1 -1
- package/runtime/scripts/check-cli-tarball-install.mjs +49 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkBH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtE"}
|
package/dist/commands/config.js
CHANGED
|
@@ -18,6 +18,7 @@ import { confirm } from "@inquirer/prompts";
|
|
|
18
18
|
import { execa } from "execa";
|
|
19
19
|
import { getCliPaths } from "../util/paths.js";
|
|
20
20
|
import { header, info, ok, warn, err } from "../util/logger.js";
|
|
21
|
+
import { ensureProfilesExist, profilePath, readActiveMode, switchMode, } from "../util/profiles.js";
|
|
21
22
|
function configPath() {
|
|
22
23
|
return join(getCliPaths().userDataDir, "config.json");
|
|
23
24
|
}
|
|
@@ -34,11 +35,45 @@ export async function configCommand(opts) {
|
|
|
34
35
|
return editConfig();
|
|
35
36
|
case "reset":
|
|
36
37
|
return resetConfig();
|
|
38
|
+
case "use":
|
|
39
|
+
case "mode":
|
|
40
|
+
return useMode(opts.keyValue);
|
|
37
41
|
default:
|
|
38
|
-
err(`Unknown action '${opts.action}'. Use: show | get | set | edit | reset.`);
|
|
42
|
+
err(`Unknown action '${opts.action}'. Use: show | get | set | edit | reset | use.`);
|
|
39
43
|
process.exit(2);
|
|
40
44
|
}
|
|
41
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* `agenticros config use <real|sim>` - swap ~/.agenticros/config.json to the
|
|
48
|
+
* named mode's profile. Designed to be called both interactively by the user
|
|
49
|
+
* and automatically by `agenticros up <target>`.
|
|
50
|
+
*/
|
|
51
|
+
function useMode(arg) {
|
|
52
|
+
const mode = (arg ?? "").trim().toLowerCase();
|
|
53
|
+
if (mode !== "real" && mode !== "sim") {
|
|
54
|
+
err("Usage: agenticros config use <real|sim> (or `agenticros mode <real|sim>`)");
|
|
55
|
+
err("");
|
|
56
|
+
err("Modes:");
|
|
57
|
+
err(" real Use ~/.agenticros/profiles/real.json (real-robot namespace + transport)");
|
|
58
|
+
err(" sim Use ~/.agenticros/profiles/sim.json (empty namespace, /cmd_vel at root)");
|
|
59
|
+
process.exit(2);
|
|
60
|
+
}
|
|
61
|
+
const created = ensureProfilesExist();
|
|
62
|
+
const active = readActiveMode();
|
|
63
|
+
const dst = switchMode(mode);
|
|
64
|
+
if (created) {
|
|
65
|
+
info(`Bootstrapped profiles at ~/.agenticros/profiles/{real,sim}.json.`);
|
|
66
|
+
info(`Edit ${profilePath("real")} to set your real-robot namespace.`);
|
|
67
|
+
}
|
|
68
|
+
if (active === mode) {
|
|
69
|
+
ok(`Already on '${mode}' mode. Refreshed ${dst} from the profile anyway.`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
ok(`Switched to '${mode}' mode. ${dst} now mirrors profile.`);
|
|
73
|
+
}
|
|
74
|
+
warn("Restart any running MCP servers (Claude Code, Claude desktop, OpenClaw)\n" +
|
|
75
|
+
" so they re-read the config. Tools currently connected will keep the old namespace.");
|
|
76
|
+
}
|
|
42
77
|
function getConfig(key) {
|
|
43
78
|
if (!key) {
|
|
44
79
|
err("Usage: agenticros config get <key> (e.g. robot.namespace)");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BxE;AAED,sFAAsF;AACtF,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAGrD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CA2O7D"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -13,6 +13,7 @@ import { execa } from "execa";
|
|
|
13
13
|
import { getCliPaths } from "../util/paths.js";
|
|
14
14
|
import { detectRosDistro, hasGazeboHarmonic } from "../util/env.js";
|
|
15
15
|
import { colors, header, ok, warn, err, info } from "../util/logger.js";
|
|
16
|
+
import { activeConfigPath, profilesDir, readActiveMode } from "../util/profiles.js";
|
|
16
17
|
export async function doctorCommand(opts) {
|
|
17
18
|
const report = await runDoctorChecks();
|
|
18
19
|
if (opts.json) {
|
|
@@ -163,6 +164,44 @@ export async function runDoctorChecks() {
|
|
|
163
164
|
? undefined
|
|
164
165
|
: "Required only for simulation. Install with: sudo apt install gz-harmonic ros-humble-ros-gz",
|
|
165
166
|
});
|
|
167
|
+
// Mode profile + namespace shadowing. Each mode (real / sim) needs its own
|
|
168
|
+
// namespace in ~/.agenticros/config.json. If AGENTICROS_ROBOT_NAMESPACE is
|
|
169
|
+
// exported in the shell (or hardcoded in .mcp.json env), it unconditionally
|
|
170
|
+
// overrides the config file - silently breaking the other mode.
|
|
171
|
+
const mode = readActiveMode();
|
|
172
|
+
const cfgPath = activeConfigPath();
|
|
173
|
+
if (mode) {
|
|
174
|
+
checks.push({
|
|
175
|
+
id: "active-mode",
|
|
176
|
+
label: `Active mode: ${mode} (~/.agenticros/profiles/${mode}.json)`,
|
|
177
|
+
severity: existsSync(cfgPath) ? "green" : "yellow",
|
|
178
|
+
hint: existsSync(cfgPath)
|
|
179
|
+
? undefined
|
|
180
|
+
: "Run `agenticros mode real` (or sim) to populate ~/.agenticros/config.json.",
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
checks.push({
|
|
185
|
+
id: "active-mode",
|
|
186
|
+
label: "Active mode profile not set",
|
|
187
|
+
severity: existsSync(profilesDir()) ? "yellow" : "yellow",
|
|
188
|
+
hint: "Run `agenticros mode real` (or sim) to pick a profile.",
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
const envNs = (process.env["AGENTICROS_ROBOT_NAMESPACE"] ?? "").trim();
|
|
192
|
+
if (envNs.length > 0) {
|
|
193
|
+
const shadowsSim = mode === "sim" || mode === null;
|
|
194
|
+
checks.push({
|
|
195
|
+
id: "ns-env-shadow",
|
|
196
|
+
label: shadowsSim
|
|
197
|
+
? `AGENTICROS_ROBOT_NAMESPACE env shadows config (set to '${envNs}')`
|
|
198
|
+
: `AGENTICROS_ROBOT_NAMESPACE env overrides config (set to '${envNs}')`,
|
|
199
|
+
severity: shadowsSim ? "red" : "yellow",
|
|
200
|
+
hint: shadowsSim
|
|
201
|
+
? "Unset that env var (or set it to \"\" in .mcp.json / claude_desktop_config.json) so the active mode profile drives the namespace."
|
|
202
|
+
: "Fine for real-robot mode if the value matches your robot's namespace.",
|
|
203
|
+
});
|
|
204
|
+
}
|
|
166
205
|
// OpenAI key.
|
|
167
206
|
const home = process.env["HOME"] ?? "";
|
|
168
207
|
const authFile = join(home, ".openclaw", "agents", "main", "agent", "auth-profiles.json");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqKlE"}
|
package/dist/commands/init.js
CHANGED
|
@@ -13,13 +13,14 @@
|
|
|
13
13
|
*
|
|
14
14
|
* Reuses the existing shell scripts as subprocesses (no logic duplication).
|
|
15
15
|
*/
|
|
16
|
-
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
16
|
+
import { existsSync, mkdirSync, statSync, writeFileSync } from "node:fs";
|
|
17
17
|
import { dirname, join } from "node:path";
|
|
18
18
|
import { confirm, input, password, select } from "@inquirer/prompts";
|
|
19
19
|
import { execa } from "execa";
|
|
20
20
|
import { runDoctorChecks } from "./doctor.js";
|
|
21
21
|
import { getCliPaths, resetPathsCache } from "../util/paths.js";
|
|
22
22
|
import { header, info, ok, warn, err, dim, withSpinner } from "../util/logger.js";
|
|
23
|
+
import { ensureProfilesExist, switchMode } from "../util/profiles.js";
|
|
23
24
|
import { writeState } from "../util/state.js";
|
|
24
25
|
import { isWorkspaceBuilt, isWorkspaceInstalled } from "../util/workspace.js";
|
|
25
26
|
export async function initCommand(opts) {
|
|
@@ -244,6 +245,12 @@ async function promptAndWriteRobotConfig() {
|
|
|
244
245
|
writeFileSync(join(userData, "config.json"), JSON.stringify(cfg, null, 2));
|
|
245
246
|
ok(`Wrote ~/.agenticros/config.json (namespace=${namespace}).`);
|
|
246
247
|
writeState({ lastNamespace: namespace });
|
|
248
|
+
// Seed both mode profiles and persist which one this fresh install
|
|
249
|
+
// represents. From here on, switching is a `agenticros mode <real|sim>`
|
|
250
|
+
// away - no more hand-editing JSON between sim and real-robot runs.
|
|
251
|
+
ensureProfilesExist();
|
|
252
|
+
switchMode(isSim ? "sim" : "real");
|
|
253
|
+
ok(`Mode profiles created at ~/.agenticros/profiles/. Active mode: ${isSim ? "sim" : "real"}.`);
|
|
247
254
|
}
|
|
248
255
|
async function promptAndConfigureOpenAi() {
|
|
249
256
|
const haveKey = await confirm({
|
|
@@ -367,12 +374,20 @@ async function refreshShippedCode(installDir) {
|
|
|
367
374
|
const src = join(source, rel);
|
|
368
375
|
const dst = join(installDir, rel);
|
|
369
376
|
mkdirSync(dirname(dst), { recursive: true });
|
|
370
|
-
|
|
377
|
+
const srcIsDir = statSync(src).isDirectory();
|
|
378
|
+
if (srcIsDir && existsSync(dst)) {
|
|
371
379
|
// Directory overlay: copy contents of SRC into DST, overwriting same-
|
|
372
|
-
// named files but leaving everything else alone
|
|
380
|
+
// named files but leaving everything else alone (preserves pnpm's
|
|
381
|
+
// per-package node_modules symlinks).
|
|
373
382
|
await execa("cp", ["-a", `${src}/.`, `${dst}/`]);
|
|
374
383
|
}
|
|
375
384
|
else {
|
|
385
|
+
// File, OR directory that doesn't exist at dest yet: plain `cp -a`.
|
|
386
|
+
// Strip a stale dst first only when it's a non-dir leaf file we
|
|
387
|
+
// need to overwrite (e.g. tsconfig.base.json).
|
|
388
|
+
if (existsSync(dst) && !srcIsDir) {
|
|
389
|
+
await execa("rm", ["-f", dst]);
|
|
390
|
+
}
|
|
376
391
|
await execa("cp", ["-a", src, dst]);
|
|
377
392
|
}
|
|
378
393
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAID,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC9D"}
|
package/dist/commands/up.js
CHANGED
|
@@ -11,11 +11,18 @@ import { existsSync } from "node:fs";
|
|
|
11
11
|
import { select } from "@inquirer/prompts";
|
|
12
12
|
import { runRealRobot } from "../runners/real-robot.js";
|
|
13
13
|
import { runSimAmr, runSimArm } from "../runners/sim.js";
|
|
14
|
-
import { err, info, warn } from "../util/logger.js";
|
|
14
|
+
import { err, info, ok, warn } from "../util/logger.js";
|
|
15
|
+
import { ensureProfilesExist, readActiveMode, switchMode } from "../util/profiles.js";
|
|
15
16
|
import { writeState } from "../util/state.js";
|
|
16
17
|
export async function upCommand(opts) {
|
|
17
18
|
const target = await resolveTarget(opts.target);
|
|
18
19
|
writeState({ lastMode: target, lastUpAt: new Date().toISOString() });
|
|
20
|
+
// Make sure ~/.agenticros/config.json points at the right profile for
|
|
21
|
+
// the requested target BEFORE the runner launches anything. Both sim
|
|
22
|
+
// targets share the "sim" profile (empty namespace + /cmd_vel at root);
|
|
23
|
+
// "real" gets the "real" profile.
|
|
24
|
+
syncActiveProfile(target);
|
|
25
|
+
warnIfMcpNamespaceShadowsMode(target);
|
|
19
26
|
switch (target) {
|
|
20
27
|
case "real":
|
|
21
28
|
await runRealRobot({
|
|
@@ -69,6 +76,52 @@ function resolveHeadless(flag) {
|
|
|
69
76
|
function isJetson() {
|
|
70
77
|
return existsSync("/etc/nv_tegra_release");
|
|
71
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Ensure ~/.agenticros/config.json mirrors the profile for the requested
|
|
81
|
+
* target. Idempotent: if we're already on the right profile we still
|
|
82
|
+
* re-copy (cheap) so any out-of-band edits to the profile take effect.
|
|
83
|
+
*/
|
|
84
|
+
function syncActiveProfile(target) {
|
|
85
|
+
ensureProfilesExist();
|
|
86
|
+
const desired = target === "real" ? "real" : "sim";
|
|
87
|
+
const current = readActiveMode();
|
|
88
|
+
switchMode(desired);
|
|
89
|
+
if (current === desired) {
|
|
90
|
+
info(`Active profile already '${desired}'. (~/.agenticros/config.json refreshed.)`);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
ok(`Switched ~/.agenticros/config.json to '${desired}' profile (was: ${current ?? "unset"}).`);
|
|
94
|
+
warn("If an MCP server (Claude Code, Claude desktop, OpenClaw) is already running,\n" +
|
|
95
|
+
" restart it so it re-reads the namespace. New launches pick it up automatically.");
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Warn loudly if AGENTICROS_ROBOT_NAMESPACE is set in the process env to a
|
|
100
|
+
* value that doesn't match the active mode. The MCP server's
|
|
101
|
+
* applyMcpEnvOverrides() lets this env var unconditionally override the
|
|
102
|
+
* config file's namespace, so a leftover value in .mcp.json (or shell
|
|
103
|
+
* exports) silently breaks the mode switch.
|
|
104
|
+
*/
|
|
105
|
+
function warnIfMcpNamespaceShadowsMode(target) {
|
|
106
|
+
const env = process.env["AGENTICROS_ROBOT_NAMESPACE"];
|
|
107
|
+
if (env === undefined)
|
|
108
|
+
return;
|
|
109
|
+
const trimmed = env.trim();
|
|
110
|
+
if (trimmed.length === 0)
|
|
111
|
+
return; // empty == falls through to config, fine
|
|
112
|
+
// Real-robot mode: only warn if the env doesn't look like a robot id.
|
|
113
|
+
// Sim mode: ANY non-empty value sabotages routing because sim publishes
|
|
114
|
+
// /cmd_vel at the root.
|
|
115
|
+
if (target === "real") {
|
|
116
|
+
// Almost certainly intentional - the user has their real-robot namespace
|
|
117
|
+
// exported. No warning.
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
warn(`AGENTICROS_ROBOT_NAMESPACE is set to '${trimmed}' but you're launching a sim.\n` +
|
|
121
|
+
` The MCP server will publish to /${trimmed}/cmd_vel; the sim listens on /cmd_vel.\n` +
|
|
122
|
+
" Robot will not move. Unset that env var (or edit .mcp.json / claude_desktop_config.json\n" +
|
|
123
|
+
" to set it to \"\") and restart your MCP client.");
|
|
124
|
+
}
|
|
72
125
|
async function resolveTarget(raw) {
|
|
73
126
|
if (raw === "real" || raw === "sim-amr" || raw === "sim-arm")
|
|
74
127
|
return raw;
|
package/dist/commands/up.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -99,10 +99,17 @@ program
|
|
|
99
99
|
});
|
|
100
100
|
program
|
|
101
101
|
.command("config [action] [keyValue]")
|
|
102
|
-
.description("Read or edit ~/.agenticros/config.json. action = show | set | edit | reset.")
|
|
102
|
+
.description("Read or edit ~/.agenticros/config.json. action = show | get | set | edit | reset | use.")
|
|
103
103
|
.action(async (action, keyValue) => {
|
|
104
104
|
await configCommand({ action, keyValue });
|
|
105
105
|
});
|
|
106
|
+
// Shorter alias for the most common mode-switching workflow.
|
|
107
|
+
program
|
|
108
|
+
.command("mode [target]")
|
|
109
|
+
.description("Switch ~/.agenticros/config.json between profiles. target = real | sim. Equivalent to `agenticros config use <target>`.")
|
|
110
|
+
.action(async (target) => {
|
|
111
|
+
await configCommand({ action: "use", keyValue: target });
|
|
112
|
+
});
|
|
106
113
|
async function main() {
|
|
107
114
|
// Bare `agenticros` (no subcommand, no flags) opens the menu.
|
|
108
115
|
if (process.argv.length <= 2) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mode profile storage for AgenticROS.
|
|
3
|
+
*
|
|
4
|
+
* Profiles live at ~/.agenticros/profiles/<mode>.json. The active profile is
|
|
5
|
+
* copied into ~/.agenticros/config.json (which is what every adapter actually
|
|
6
|
+
* reads). Swapping profiles is what `agenticros config use <mode>` (and the
|
|
7
|
+
* up-runners) does so users can flip between real-robot and simulation
|
|
8
|
+
* without hand-editing JSON.
|
|
9
|
+
*
|
|
10
|
+
* Why profiles instead of a single config: the real robot and the sim AMR
|
|
11
|
+
* have different namespaces, transports, safety limits, and camera topics.
|
|
12
|
+
* Tracking both in one file requires the MCP server to know "which mode is
|
|
13
|
+
* active right now," which is exactly the problem `.mcp.json` env override
|
|
14
|
+
* already tried to solve - badly, because env vars unconditionally win and
|
|
15
|
+
* silently break the other mode. With profiles + a live ~/.agenticros/
|
|
16
|
+
* config.json, everything reads from one place; the CLI just swaps it.
|
|
17
|
+
*
|
|
18
|
+
* Profile bootstrap policy:
|
|
19
|
+
* * On first use, if ~/.agenticros/config.json exists but no profiles do,
|
|
20
|
+
* we treat the current config as the user's last-used mode and seed
|
|
21
|
+
* profiles from defaults for both modes (preserving any namespace the
|
|
22
|
+
* user already had for whichever mode matches it).
|
|
23
|
+
* * Otherwise we write the canonical defaults below.
|
|
24
|
+
*/
|
|
25
|
+
export type Mode = "real" | "sim";
|
|
26
|
+
export declare function profilesDir(): string;
|
|
27
|
+
export declare function profilePath(mode: Mode): string;
|
|
28
|
+
export declare function activeConfigPath(): string;
|
|
29
|
+
export declare function modeMarkerPath(): string;
|
|
30
|
+
export declare function readActiveMode(): Mode | null;
|
|
31
|
+
/**
|
|
32
|
+
* Ensure both real and sim profile files exist. Returns true if anything was
|
|
33
|
+
* written (so callers can log it).
|
|
34
|
+
*/
|
|
35
|
+
export declare function ensureProfilesExist(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Swap ~/.agenticros/config.json to the requested mode and persist the
|
|
38
|
+
* active-mode marker. Returns the absolute path to the active config.
|
|
39
|
+
*
|
|
40
|
+
* Idempotent: calling switchMode("sim") when sim is already active just
|
|
41
|
+
* re-copies the profile (cheap, ensures freshness).
|
|
42
|
+
*/
|
|
43
|
+
export declare function switchMode(mode: Mode): string;
|
|
44
|
+
/**
|
|
45
|
+
* Mutate a single field inside the profile JSON (e.g. real.robot.namespace).
|
|
46
|
+
* Use sparingly - profiles are normally edited by hand or via `agenticros
|
|
47
|
+
* config set` against the active config.
|
|
48
|
+
*/
|
|
49
|
+
export declare function patchProfile(mode: Mode, path: string[], value: unknown): void;
|
|
50
|
+
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/util/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;AAElC,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE9C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,cAAc,IAAI,IAAI,GAAG,IAAI,CAQ5C;AAoDD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CA+B7C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAQ7C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,OAAO,GACb,IAAI,CAkBN"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mode profile storage for AgenticROS.
|
|
3
|
+
*
|
|
4
|
+
* Profiles live at ~/.agenticros/profiles/<mode>.json. The active profile is
|
|
5
|
+
* copied into ~/.agenticros/config.json (which is what every adapter actually
|
|
6
|
+
* reads). Swapping profiles is what `agenticros config use <mode>` (and the
|
|
7
|
+
* up-runners) does so users can flip between real-robot and simulation
|
|
8
|
+
* without hand-editing JSON.
|
|
9
|
+
*
|
|
10
|
+
* Why profiles instead of a single config: the real robot and the sim AMR
|
|
11
|
+
* have different namespaces, transports, safety limits, and camera topics.
|
|
12
|
+
* Tracking both in one file requires the MCP server to know "which mode is
|
|
13
|
+
* active right now," which is exactly the problem `.mcp.json` env override
|
|
14
|
+
* already tried to solve - badly, because env vars unconditionally win and
|
|
15
|
+
* silently break the other mode. With profiles + a live ~/.agenticros/
|
|
16
|
+
* config.json, everything reads from one place; the CLI just swaps it.
|
|
17
|
+
*
|
|
18
|
+
* Profile bootstrap policy:
|
|
19
|
+
* * On first use, if ~/.agenticros/config.json exists but no profiles do,
|
|
20
|
+
* we treat the current config as the user's last-used mode and seed
|
|
21
|
+
* profiles from defaults for both modes (preserving any namespace the
|
|
22
|
+
* user already had for whichever mode matches it).
|
|
23
|
+
* * Otherwise we write the canonical defaults below.
|
|
24
|
+
*/
|
|
25
|
+
import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
26
|
+
import { join } from "node:path";
|
|
27
|
+
import { getCliPaths } from "./paths.js";
|
|
28
|
+
export function profilesDir() {
|
|
29
|
+
return join(getCliPaths().userDataDir, "profiles");
|
|
30
|
+
}
|
|
31
|
+
export function profilePath(mode) {
|
|
32
|
+
return join(profilesDir(), `${mode}.json`);
|
|
33
|
+
}
|
|
34
|
+
export function activeConfigPath() {
|
|
35
|
+
return join(getCliPaths().userDataDir, "config.json");
|
|
36
|
+
}
|
|
37
|
+
export function modeMarkerPath() {
|
|
38
|
+
return join(getCliPaths().userDataDir, "active-mode");
|
|
39
|
+
}
|
|
40
|
+
export function readActiveMode() {
|
|
41
|
+
try {
|
|
42
|
+
const raw = readFileSync(modeMarkerPath(), "utf8").trim();
|
|
43
|
+
if (raw === "real" || raw === "sim")
|
|
44
|
+
return raw;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// No marker yet.
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Canonical real-robot profile. The namespace is intentionally a placeholder
|
|
53
|
+
* - users edit it once after `init` (or `config set robot.namespace=...`) to
|
|
54
|
+
* match their robot. We DO NOT bake in the workspace's example UUID because
|
|
55
|
+
* that gets shared in repos.
|
|
56
|
+
*/
|
|
57
|
+
function realProfileDefaults(namespaceFallback) {
|
|
58
|
+
return {
|
|
59
|
+
transport: { mode: "local" },
|
|
60
|
+
robot: {
|
|
61
|
+
namespace: namespaceFallback ?? "my_robot",
|
|
62
|
+
name: "Real Robot",
|
|
63
|
+
cameraTopic: "/camera/camera/color/image_raw",
|
|
64
|
+
},
|
|
65
|
+
safety: { maxLinearVelocity: 1.0, maxAngularVelocity: 1.5 },
|
|
66
|
+
teleop: { cmdVelTopic: "/cmd_vel", speedDefault: 0.3 },
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Canonical sim-AMR profile. Mirrors ros2_ws/src/agenticros_sim/config/
|
|
71
|
+
* agenticros-sim.config.json - namespace MUST be empty because the sim
|
|
72
|
+
* bridge in amr_bridge.yaml publishes /cmd_vel, /odom, etc. at the graph
|
|
73
|
+
* root (no robot prefix). Setting a namespace here means Claude publishes
|
|
74
|
+
* into a void during simulation.
|
|
75
|
+
*/
|
|
76
|
+
function simProfileDefaults() {
|
|
77
|
+
return {
|
|
78
|
+
transport: { mode: "local" },
|
|
79
|
+
robot: {
|
|
80
|
+
namespace: "",
|
|
81
|
+
name: "Sim AMR",
|
|
82
|
+
cameraTopic: "/camera/camera/color/image_raw",
|
|
83
|
+
},
|
|
84
|
+
safety: { maxLinearVelocity: 0.5, maxAngularVelocity: 1.0 },
|
|
85
|
+
teleop: { cmdVelTopic: "/cmd_vel", speedDefault: 0.2 },
|
|
86
|
+
skills: {
|
|
87
|
+
followme: { depthTopic: "/camera/camera/depth/image_rect_raw" },
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function safeReadJson(p) {
|
|
92
|
+
try {
|
|
93
|
+
return JSON.parse(readFileSync(p, "utf8"));
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Ensure both real and sim profile files exist. Returns true if anything was
|
|
101
|
+
* written (so callers can log it).
|
|
102
|
+
*/
|
|
103
|
+
export function ensureProfilesExist() {
|
|
104
|
+
const dir = profilesDir();
|
|
105
|
+
mkdirSync(dir, { recursive: true });
|
|
106
|
+
let wrote = false;
|
|
107
|
+
const realPath = profilePath("real");
|
|
108
|
+
const simPath = profilePath("sim");
|
|
109
|
+
// Bootstrap: if a config.json already exists from before profiles existed,
|
|
110
|
+
// try to preserve whatever namespace the user had set. We don't know which
|
|
111
|
+
// mode that config represents, so we use the current namespace for the
|
|
112
|
+
// real-mode default (most users had a real-robot setup) and leave sim
|
|
113
|
+
// strictly empty.
|
|
114
|
+
let existingNs;
|
|
115
|
+
const active = activeConfigPath();
|
|
116
|
+
if (existsSync(active)) {
|
|
117
|
+
const cur = safeReadJson(active);
|
|
118
|
+
const ns = cur?.robot?.namespace;
|
|
119
|
+
if (typeof ns === "string" && ns.length > 0)
|
|
120
|
+
existingNs = ns;
|
|
121
|
+
}
|
|
122
|
+
if (!existsSync(realPath)) {
|
|
123
|
+
writeFileSync(realPath, JSON.stringify(realProfileDefaults(existingNs), null, 2) + "\n");
|
|
124
|
+
wrote = true;
|
|
125
|
+
}
|
|
126
|
+
if (!existsSync(simPath)) {
|
|
127
|
+
writeFileSync(simPath, JSON.stringify(simProfileDefaults(), null, 2) + "\n");
|
|
128
|
+
wrote = true;
|
|
129
|
+
}
|
|
130
|
+
return wrote;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Swap ~/.agenticros/config.json to the requested mode and persist the
|
|
134
|
+
* active-mode marker. Returns the absolute path to the active config.
|
|
135
|
+
*
|
|
136
|
+
* Idempotent: calling switchMode("sim") when sim is already active just
|
|
137
|
+
* re-copies the profile (cheap, ensures freshness).
|
|
138
|
+
*/
|
|
139
|
+
export function switchMode(mode) {
|
|
140
|
+
ensureProfilesExist();
|
|
141
|
+
const src = profilePath(mode);
|
|
142
|
+
const dst = activeConfigPath();
|
|
143
|
+
mkdirSync(getCliPaths().userDataDir, { recursive: true });
|
|
144
|
+
copyFileSync(src, dst);
|
|
145
|
+
writeFileSync(modeMarkerPath(), mode + "\n");
|
|
146
|
+
return dst;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Mutate a single field inside the profile JSON (e.g. real.robot.namespace).
|
|
150
|
+
* Use sparingly - profiles are normally edited by hand or via `agenticros
|
|
151
|
+
* config set` against the active config.
|
|
152
|
+
*/
|
|
153
|
+
export function patchProfile(mode, path, value) {
|
|
154
|
+
ensureProfilesExist();
|
|
155
|
+
const p = profilePath(mode);
|
|
156
|
+
const obj = safeReadJson(p) ?? {};
|
|
157
|
+
let cursor = obj;
|
|
158
|
+
for (let i = 0; i < path.length - 1; i++) {
|
|
159
|
+
const k = path[i];
|
|
160
|
+
const next = cursor[k];
|
|
161
|
+
if (next && typeof next === "object" && !Array.isArray(next)) {
|
|
162
|
+
cursor = next;
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
const o = {};
|
|
166
|
+
cursor[k] = o;
|
|
167
|
+
cursor = o;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
cursor[path[path.length - 1]] = value;
|
|
171
|
+
writeFileSync(p, JSON.stringify(obj, null, 2) + "\n");
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/util/profiles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/runtime/BUNDLE.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"packedAt": "2026-06-05T23:
|
|
2
|
+
"packedAt": "2026-06-05T23:23:33.790Z",
|
|
3
3
|
"repo": "https://github.com/PlaiPin/agenticros",
|
|
4
4
|
"note": "This directory is a snapshot of the agenticros monorepo source. `agenticros init` will copy it to ~/agenticros and run pnpm install + colcon build there.",
|
|
5
5
|
"layout": {
|
|
@@ -213,6 +213,55 @@ try {
|
|
|
213
213
|
}
|
|
214
214
|
ok(`Patched zenoh-ts present in store: ${patched.slice(0, 70)}...`);
|
|
215
215
|
|
|
216
|
+
// 8. Refresh-over-existing-install coverage. Mirrors what init.ts does in
|
|
217
|
+
// "installed mode" - overlay-copy bundle paths over an existing install
|
|
218
|
+
// without nuking pnpm's per-package symlinks. Regression test for 0.1.7:
|
|
219
|
+
// cp -a SRC/. DST/ blows up when DST is a file (e.g. tsconfig.base.json).
|
|
220
|
+
step("Simulating refresh over a pre-existing snapshot (regression test for 0.1.7)...");
|
|
221
|
+
const fakeOld = join(work, "old-install");
|
|
222
|
+
mkdirSync(fakeOld);
|
|
223
|
+
fs.writeFileSync(join(fakeOld, "tsconfig.base.json"), '{"old":"to-be-overwritten"}');
|
|
224
|
+
mkdirSync(join(fakeOld, "packages"), { recursive: true });
|
|
225
|
+
fs.writeFileSync(
|
|
226
|
+
join(fakeOld, "packages", "preserved.txt"),
|
|
227
|
+
"must survive overlay refresh",
|
|
228
|
+
);
|
|
229
|
+
|
|
230
|
+
// Replay the refresh logic from init.ts. If init.ts changes its branching,
|
|
231
|
+
// update this block in lockstep.
|
|
232
|
+
const refreshTargets = ["tsconfig.base.json", "packages"];
|
|
233
|
+
for (const rel of refreshTargets) {
|
|
234
|
+
const src = join(runtimeInTar, rel);
|
|
235
|
+
const dst = join(fakeOld, rel);
|
|
236
|
+
if (!existsSync(src)) continue;
|
|
237
|
+
const srcIsDir = fs.statSync(src).isDirectory();
|
|
238
|
+
if (srcIsDir && existsSync(dst)) {
|
|
239
|
+
run("cp", ["-a", `${src}/.`, `${dst}/`]);
|
|
240
|
+
} else {
|
|
241
|
+
if (existsSync(dst) && !srcIsDir) run("rm", ["-f", dst]);
|
|
242
|
+
run("cp", ["-a", src, dst]);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
const tsStat = fs.statSync(join(fakeOld, "tsconfig.base.json"));
|
|
247
|
+
if (!tsStat.isFile()) {
|
|
248
|
+
fail("Refresh turned tsconfig.base.json into a non-file. cp branching is wrong.");
|
|
249
|
+
process.exit(1);
|
|
250
|
+
}
|
|
251
|
+
const tsContent = fs.readFileSync(join(fakeOld, "tsconfig.base.json"), "utf8");
|
|
252
|
+
if (tsContent.includes('"old":"to-be-overwritten"')) {
|
|
253
|
+
fail("Refresh failed to overwrite tsconfig.base.json with the bundle's version.");
|
|
254
|
+
process.exit(1);
|
|
255
|
+
}
|
|
256
|
+
if (!existsSync(join(fakeOld, "packages", "preserved.txt"))) {
|
|
257
|
+
fail(
|
|
258
|
+
"Refresh wiped a pre-existing file inside packages/. Overlay semantics " +
|
|
259
|
+
"are broken - this is exactly what kills pnpm's per-package node_modules symlinks.",
|
|
260
|
+
);
|
|
261
|
+
process.exit(1);
|
|
262
|
+
}
|
|
263
|
+
ok("Refresh-over-existing-install preserves files and overwrites cleanly.");
|
|
264
|
+
|
|
216
265
|
ok("ALL CHECKS PASSED. Tarball is publish-ready.");
|
|
217
266
|
} finally {
|
|
218
267
|
// best-effort cleanup; don't mask earlier errors
|