agenticros 0.1.18 → 0.2.0
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/__tests__/robot-config.test.d.ts +2 -0
- package/dist/__tests__/robot-config.test.d.ts.map +1 -0
- package/dist/__tests__/robot-config.test.js +374 -0
- package/dist/__tests__/robot-config.test.js.map +1 -0
- package/dist/__tests__/transport-shorthand.test.d.ts +2 -0
- package/dist/__tests__/transport-shorthand.test.d.ts.map +1 -0
- package/dist/__tests__/transport-shorthand.test.js +88 -0
- package/dist/__tests__/transport-shorthand.test.js.map +1 -0
- package/dist/commands/robots.d.ts +57 -0
- package/dist/commands/robots.d.ts.map +1 -0
- package/dist/commands/robots.js +678 -0
- package/dist/commands/robots.js.map +1 -0
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +125 -2
- package/dist/commands/skills.js.map +1 -1
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/dist/menu.js +22 -4
- package/dist/menu.js.map +1 -1
- package/dist/util/marketplace.d.ts +57 -0
- package/dist/util/marketplace.d.ts.map +1 -0
- package/dist/util/marketplace.js +144 -0
- package/dist/util/marketplace.js.map +1 -0
- package/dist/util/mcp-discovery.d.ts +57 -0
- package/dist/util/mcp-discovery.d.ts.map +1 -0
- package/dist/util/mcp-discovery.js +153 -0
- package/dist/util/mcp-discovery.js.map +1 -0
- package/dist/util/robot-config.d.ts +167 -0
- package/dist/util/robot-config.d.ts.map +1 -0
- package/dist/util/robot-config.js +375 -0
- package/dist/util/robot-config.js.map +1 -0
- package/dist/util/skills.d.ts +6 -6
- package/dist/util/skills.d.ts.map +1 -1
- package/dist/util/skills.js +14 -9
- package/dist/util/skills.js.map +1 -1
- package/dist/util/transport-shorthand.d.ts +66 -0
- package/dist/util/transport-shorthand.d.ts.map +1 -0
- package/dist/util/transport-shorthand.js +102 -0
- package/dist/util/transport-shorthand.js.map +1 -0
- package/package.json +12 -10
- package/runtime/BUNDLE.json +1 -1
- package/runtime/README.md +62 -1
- package/runtime/package.json +6 -1
- package/runtime/packages/agenticros/openclaw.plugin.json +7 -1
- package/runtime/packages/agenticros/package.json +2 -1
- package/runtime/packages/agenticros/src/__tests__/capabilities-plugin.test.ts +568 -0
- package/runtime/packages/agenticros/src/config-page.ts +1 -1
- package/runtime/packages/agenticros/src/mission-registry.ts +22 -0
- package/runtime/packages/agenticros/src/service.ts +120 -2
- package/runtime/packages/agenticros/src/skill-loader.ts +109 -30
- package/runtime/packages/agenticros/src/tools/_robot-helpers.ts +68 -0
- package/runtime/packages/agenticros/src/tools/index.ts +49 -9
- package/runtime/packages/agenticros/src/tools/mission-cancel.ts +70 -0
- package/runtime/packages/agenticros/src/tools/ros2-action.ts +11 -4
- package/runtime/packages/agenticros/src/tools/ros2-camera.ts +10 -4
- package/runtime/packages/agenticros/src/tools/ros2-capabilities.ts +63 -0
- package/runtime/packages/agenticros/src/tools/ros2-depth-distance.ts +11 -4
- package/runtime/packages/agenticros/src/tools/ros2-discover.ts +65 -0
- package/runtime/packages/agenticros/src/tools/ros2-find-robots-for.ts +128 -0
- package/runtime/packages/agenticros/src/tools/ros2-mission.ts +311 -0
- package/runtime/packages/agenticros/src/tools/ros2-param.ts +20 -7
- package/runtime/packages/agenticros/src/tools/ros2-publish.ts +15 -8
- package/runtime/packages/agenticros/src/tools/ros2-robots.ts +52 -0
- package/runtime/packages/agenticros/src/tools/ros2-service.ts +11 -4
- package/runtime/packages/agenticros/src/tools/ros2-subscribe.ts +11 -4
- package/runtime/packages/agenticros-claude-code/README.md +52 -9
- package/runtime/packages/agenticros-claude-code/dist/__tests__/capabilities-mcp.test.d.ts +2 -0
- package/runtime/packages/agenticros-claude-code/dist/__tests__/capabilities-mcp.test.d.ts.map +1 -0
- package/runtime/packages/agenticros-claude-code/dist/__tests__/capabilities-mcp.test.js +773 -0
- package/runtime/packages/agenticros-claude-code/dist/__tests__/capabilities-mcp.test.js.map +1 -0
- package/runtime/packages/agenticros-claude-code/dist/__tests__/follow-me-registry.test.d.ts +2 -0
- package/runtime/packages/agenticros-claude-code/dist/__tests__/follow-me-registry.test.d.ts.map +1 -0
- package/runtime/packages/agenticros-claude-code/dist/__tests__/follow-me-registry.test.js +97 -0
- package/runtime/packages/agenticros-claude-code/dist/__tests__/follow-me-registry.test.js.map +1 -0
- package/runtime/packages/agenticros-claude-code/dist/find-object/find-object.d.ts +2 -2
- package/runtime/packages/agenticros-claude-code/dist/find-object/find-object.d.ts.map +1 -1
- package/runtime/packages/agenticros-claude-code/dist/find-object/find-object.js +5 -5
- package/runtime/packages/agenticros-claude-code/dist/find-object/find-object.js.map +1 -1
- package/runtime/packages/agenticros-claude-code/dist/follow-me/depth-loop.d.ts +109 -0
- package/runtime/packages/agenticros-claude-code/dist/follow-me/depth-loop.d.ts.map +1 -0
- package/runtime/packages/agenticros-claude-code/dist/follow-me/depth-loop.js +392 -0
- package/runtime/packages/agenticros-claude-code/dist/follow-me/depth-loop.js.map +1 -0
- package/runtime/packages/agenticros-claude-code/dist/follow-me/loop.d.ts +8 -3
- package/runtime/packages/agenticros-claude-code/dist/follow-me/loop.d.ts.map +1 -1
- package/runtime/packages/agenticros-claude-code/dist/follow-me/loop.js +30 -12
- package/runtime/packages/agenticros-claude-code/dist/follow-me/loop.js.map +1 -1
- package/runtime/packages/agenticros-claude-code/dist/index.js +5 -5
- package/runtime/packages/agenticros-claude-code/dist/index.js.map +1 -1
- package/runtime/packages/agenticros-claude-code/dist/mission-registry.d.ts +16 -0
- package/runtime/packages/agenticros-claude-code/dist/mission-registry.d.ts.map +1 -0
- package/runtime/packages/agenticros-claude-code/dist/mission-registry.js +19 -0
- package/runtime/packages/agenticros-claude-code/dist/mission-registry.js.map +1 -0
- package/runtime/packages/agenticros-claude-code/dist/tools.d.ts +9 -0
- package/runtime/packages/agenticros-claude-code/dist/tools.d.ts.map +1 -1
- package/runtime/packages/agenticros-claude-code/dist/tools.js +700 -54
- package/runtime/packages/agenticros-claude-code/dist/tools.js.map +1 -1
- package/runtime/packages/agenticros-claude-code/dist/transport.d.ts +28 -8
- package/runtime/packages/agenticros-claude-code/dist/transport.d.ts.map +1 -1
- package/runtime/packages/agenticros-claude-code/dist/transport.js +37 -34
- package/runtime/packages/agenticros-claude-code/dist/transport.js.map +1 -1
- package/runtime/packages/agenticros-claude-code/package.json +2 -1
- package/runtime/packages/agenticros-claude-code/src/__tests__/capabilities-mcp.test.ts +965 -0
- package/runtime/packages/agenticros-claude-code/src/__tests__/follow-me-registry.test.ts +119 -0
- package/runtime/packages/agenticros-claude-code/src/find-object/find-object.ts +7 -6
- package/runtime/packages/agenticros-claude-code/src/follow-me/depth-loop.ts +41 -9
- package/runtime/packages/agenticros-claude-code/src/follow-me/loop.ts +40 -11
- package/runtime/packages/agenticros-claude-code/src/index.ts +5 -5
- package/runtime/packages/agenticros-claude-code/src/mission-registry.ts +21 -0
- package/runtime/packages/agenticros-claude-code/src/tools.ts +668 -56
- package/runtime/packages/agenticros-claude-code/src/transport.ts +43 -43
- package/runtime/packages/agenticros-gemini/package.json +1 -0
- package/runtime/packages/agenticros-gemini/src/__tests__/mission-cancel.test.ts +197 -0
- package/runtime/packages/agenticros-gemini/src/__tests__/mission-transcripts.test.ts +178 -0
- package/runtime/packages/agenticros-gemini/src/tools.ts +504 -21
- package/runtime/packages/agenticros-gemini/src/transport.ts +40 -43
- package/runtime/packages/core/LICENSE +192 -0
- package/runtime/packages/core/README.md +88 -0
- package/runtime/packages/core/package.json +36 -3
- package/runtime/packages/core/src/__tests__/capabilities.test.ts +266 -0
- package/runtime/packages/core/src/__tests__/discovery.test.ts +206 -0
- package/runtime/packages/core/src/__tests__/find-robots-for.test.ts +258 -0
- package/runtime/packages/core/src/__tests__/mission-cancel-transcript.test.ts +371 -0
- package/runtime/packages/core/src/__tests__/mission-transcript-sink.test.ts +189 -0
- package/runtime/packages/core/src/__tests__/mission.test.ts +501 -0
- package/runtime/packages/core/src/__tests__/planner.test.ts +279 -0
- package/runtime/packages/core/src/__tests__/robots.test.ts +406 -0
- package/runtime/packages/core/src/__tests__/topic-utils.test.ts +105 -0
- package/runtime/packages/core/src/__tests__/transport-pool.test.ts +295 -0
- package/runtime/packages/core/src/capabilities.ts +314 -0
- package/runtime/packages/core/src/config.ts +221 -39
- package/runtime/packages/core/src/discovery.ts +193 -0
- package/runtime/packages/core/src/find-robots-for.ts +164 -0
- package/runtime/packages/core/src/index.ts +67 -1
- package/runtime/packages/core/src/mission-registry.ts +142 -0
- package/runtime/packages/core/src/mission-transcript-sink.ts +81 -0
- package/runtime/packages/core/src/mission.ts +574 -0
- package/runtime/packages/core/src/planner/index.ts +564 -0
- package/runtime/packages/core/src/robots.ts +282 -0
- package/runtime/packages/core/src/topic-utils.ts +47 -9
- package/runtime/packages/core/src/transport-pool.ts +171 -0
- package/runtime/ros2_ws/src/agenticros_discovery/agenticros_discovery/discovery_node.py +108 -13
- package/runtime/ros2_ws/src/agenticros_msgs/CMakeLists.txt +1 -0
- package/runtime/ros2_ws/src/agenticros_msgs/msg/RobotInfo.msg +44 -0
- package/runtime/scripts/__tests__/refresh-skill-deps.test.mjs +222 -0
- package/runtime/scripts/configure_agenticros.sh +0 -0
- package/runtime/scripts/configure_for_sim.sh +0 -0
- package/runtime/scripts/fix-openclaw-control-ui-path.sh +0 -0
- package/runtime/scripts/install_cli.sh +0 -0
- package/runtime/scripts/install_rosbridge_from_source.sh +0 -0
- package/runtime/scripts/onboard_robot.sh +0 -0
- package/runtime/scripts/pack-runtime.mjs +0 -0
- package/runtime/scripts/refresh-skill-deps.mjs +381 -0
- package/runtime/scripts/run_demo_native.sh +0 -0
- package/runtime/scripts/run_nemoclaw_host_stack.sh +0 -0
- package/runtime/scripts/run_robot_rosbridge.sh +0 -0
- package/runtime/scripts/setup_gateway_plugin.sh +32 -5
- package/runtime/scripts/setup_robot.sh +0 -0
- package/runtime/scripts/setup_workspace.sh +0 -0
- package/runtime/scripts/sim/run_sim.sh +0 -0
- package/runtime/scripts/smoke_test_nemoclaw.sh +0 -0
- package/runtime/scripts/start_demo.sh +0 -0
- package/runtime/scripts/sync-skill-tools.mjs +69 -12
- package/runtime/scripts/use-openclaw-2026.2.26.sh +0 -0
- package/runtime/scripts/use-openclaw-2026.3.11.sh +0 -0
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Robot config R/W for the AgenticROS CLI.
|
|
3
|
+
*
|
|
4
|
+
* Lives in the CLI so the multi-robot persistence path does NOT pull
|
|
5
|
+
* `@agenticros/core` (and its transport deps) into the published
|
|
6
|
+
* `agenticros` tarball. The shape we read/write is intentionally a
|
|
7
|
+
* subset of `@agenticros/core`'s `AgenticROSConfig.robots`:
|
|
8
|
+
*
|
|
9
|
+
* robots: Array<{
|
|
10
|
+
* id: string;
|
|
11
|
+
* name?: string;
|
|
12
|
+
* namespace?: string;
|
|
13
|
+
* cameraTopic?: string;
|
|
14
|
+
* default?: boolean;
|
|
15
|
+
* }>
|
|
16
|
+
*
|
|
17
|
+
* Backwards compat with the legacy single-robot config:
|
|
18
|
+
* - If `config.robots` is absent/empty AND `config.robot` is set, we
|
|
19
|
+
* "promote" `config.robot` into `robots[0]` on the next write. The
|
|
20
|
+
* legacy `config.robot` field is LEFT in place (harmlessly — the
|
|
21
|
+
* core resolver prefers the explicit array when non-empty) so older
|
|
22
|
+
* adapters that only read `config.robot` keep working.
|
|
23
|
+
* - When the file is missing or empty we treat it as `{}`. Writes
|
|
24
|
+
* create both the file and its directory.
|
|
25
|
+
*
|
|
26
|
+
* All paths route through the CLI's own paths helper so workspace /
|
|
27
|
+
* installed / bundle modes pick up the same `~/.agenticros/config.json`.
|
|
28
|
+
*/
|
|
29
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
30
|
+
import { dirname, join } from "node:path";
|
|
31
|
+
import { getCliPaths } from "./paths.js";
|
|
32
|
+
/** Default value carried over when the legacy `config.robot` is promoted. */
|
|
33
|
+
const DEFAULT_ROBOT_NAME = "Robot";
|
|
34
|
+
export function robotConfigPath() {
|
|
35
|
+
return join(getCliPaths().userDataDir, "config.json");
|
|
36
|
+
}
|
|
37
|
+
/** Parse `~/.agenticros/config.json` to a plain object, or `{}` when absent/bad. */
|
|
38
|
+
export function readConfigObject(path = robotConfigPath()) {
|
|
39
|
+
if (!existsSync(path))
|
|
40
|
+
return {};
|
|
41
|
+
try {
|
|
42
|
+
const parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
43
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
44
|
+
return parsed;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
/* fallthrough — return {} on parse error */
|
|
49
|
+
}
|
|
50
|
+
return {};
|
|
51
|
+
}
|
|
52
|
+
/** Write the config object back, creating directories as needed. */
|
|
53
|
+
export function writeConfigObject(obj, path = robotConfigPath()) {
|
|
54
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
55
|
+
writeFileSync(path, `${JSON.stringify(obj, null, 2)}\n`);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolve the legacy `config.robot` to a RobotEntry, mirroring the core
|
|
59
|
+
* resolver. `id` falls back to namespace (or "default"), `name` to "Robot".
|
|
60
|
+
* Returns `null` if neither the legacy object nor a usable namespace exists.
|
|
61
|
+
*/
|
|
62
|
+
function legacyToEntry(legacy) {
|
|
63
|
+
if (!legacy || typeof legacy !== "object" || Array.isArray(legacy))
|
|
64
|
+
return null;
|
|
65
|
+
const r = legacy;
|
|
66
|
+
const namespace = typeof r["namespace"] === "string" ? r["namespace"] : "";
|
|
67
|
+
const name = typeof r["name"] === "string" && r["name"].trim() ? r["name"] : DEFAULT_ROBOT_NAME;
|
|
68
|
+
const cameraTopic = typeof r["cameraTopic"] === "string" ? r["cameraTopic"] : "";
|
|
69
|
+
// Synthesise id from namespace, falling back to "default" — same as
|
|
70
|
+
// @agenticros/core's `listRobots()` legacy fallback.
|
|
71
|
+
const id = namespace.trim() || "default";
|
|
72
|
+
return { id, name, namespace, cameraTopic };
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Return the robots[] view the agent would see (explicit array when
|
|
76
|
+
* non-empty, otherwise a one-entry array synthesised from legacy
|
|
77
|
+
* `config.robot`). Read-only — the CLI uses this to render `robots list`
|
|
78
|
+
* without ever needing to import @agenticros/core.
|
|
79
|
+
*/
|
|
80
|
+
export function readRobots(obj = readConfigObject()) {
|
|
81
|
+
const explicit = Array.isArray(obj["robots"]) ? obj["robots"] : [];
|
|
82
|
+
if (explicit.length > 0) {
|
|
83
|
+
const robots = explicit
|
|
84
|
+
.filter((r) => !!r && typeof r === "object" && !Array.isArray(r))
|
|
85
|
+
.map((r) => ({
|
|
86
|
+
id: String(r["id"] ?? ""),
|
|
87
|
+
name: typeof r["name"] === "string" ? r["name"] : undefined,
|
|
88
|
+
namespace: typeof r["namespace"] === "string" ? r["namespace"] : undefined,
|
|
89
|
+
cameraTopic: typeof r["cameraTopic"] === "string" ? r["cameraTopic"] : undefined,
|
|
90
|
+
default: r["default"] === true ? true : undefined,
|
|
91
|
+
kind: typeof r["kind"] === "string" ? r["kind"] : undefined,
|
|
92
|
+
sensors: r["sensors"] && typeof r["sensors"] === "object" && !Array.isArray(r["sensors"])
|
|
93
|
+
? r["sensors"]
|
|
94
|
+
: undefined,
|
|
95
|
+
capabilities: Array.isArray(r["capabilities"])
|
|
96
|
+
? r["capabilities"].filter((c) => typeof c === "string")
|
|
97
|
+
: undefined,
|
|
98
|
+
transport: r["transport"] && typeof r["transport"] === "object" && !Array.isArray(r["transport"])
|
|
99
|
+
? r["transport"]
|
|
100
|
+
: undefined,
|
|
101
|
+
}))
|
|
102
|
+
.filter((r) => r.id.length > 0);
|
|
103
|
+
return { robots, from: "explicit" };
|
|
104
|
+
}
|
|
105
|
+
const legacy = legacyToEntry(obj["robot"]);
|
|
106
|
+
if (legacy)
|
|
107
|
+
return { robots: [legacy], from: "legacy" };
|
|
108
|
+
return { robots: [], from: "none" };
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Compute the active robot id using the same precedence the core
|
|
112
|
+
* resolver does:
|
|
113
|
+
* 1. explicit robots[] entry with `default: true`
|
|
114
|
+
* 2. first entry in robots[] (with legacy fallback)
|
|
115
|
+
* 3. undefined when there are no robots at all
|
|
116
|
+
*/
|
|
117
|
+
export function getActiveRobotId(obj = readConfigObject()) {
|
|
118
|
+
const explicit = Array.isArray(obj["robots"]) ? obj["robots"] : [];
|
|
119
|
+
if (explicit.length > 0) {
|
|
120
|
+
const flagged = explicit.find((r) => r != null &&
|
|
121
|
+
typeof r === "object" &&
|
|
122
|
+
!Array.isArray(r) &&
|
|
123
|
+
r["default"] === true);
|
|
124
|
+
if (flagged && typeof flagged["id"] === "string" && flagged["id"]) {
|
|
125
|
+
return flagged["id"];
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const { robots } = readRobots(obj);
|
|
129
|
+
return robots[0]?.id;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Add a robot to `config.robots[]`.
|
|
133
|
+
*
|
|
134
|
+
* Promotes the legacy single-robot config on first multi-robot write —
|
|
135
|
+
* `config.robot` is copied as the first entry in the array, and any
|
|
136
|
+
* `default: true` flag we'd set on the new entry is held against that
|
|
137
|
+
* promoted incumbent (it stays the default unless the caller explicitly
|
|
138
|
+
* asks otherwise).
|
|
139
|
+
*
|
|
140
|
+
* Idempotent: re-adding an existing id updates name/namespace/cameraTopic
|
|
141
|
+
* in place but returns `added: false` so the CLI can render the right
|
|
142
|
+
* "already present" message.
|
|
143
|
+
*/
|
|
144
|
+
export function addRobot(entry, opts = {}) {
|
|
145
|
+
const obj = opts.obj ?? readConfigObject();
|
|
146
|
+
const explicit = Array.isArray(obj["robots"]) ? [...obj["robots"]] : [];
|
|
147
|
+
let promotedLegacy = false;
|
|
148
|
+
if (explicit.length === 0) {
|
|
149
|
+
const legacy = legacyToEntry(obj["robot"]);
|
|
150
|
+
if (legacy) {
|
|
151
|
+
// Promote: legacy becomes the (default) first entry. We mark it
|
|
152
|
+
// default so the existing behavior — "the single configured robot
|
|
153
|
+
// is the active one" — is preserved unless the caller of this
|
|
154
|
+
// add explicitly sets the new entry as default below.
|
|
155
|
+
explicit.push({ ...legacy, default: true });
|
|
156
|
+
promotedLegacy = true;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// De-dup by id. If the id already exists, update in place and return
|
|
160
|
+
// added=false. This is what makes `agenticros robots add <id>` a
|
|
161
|
+
// safe idempotent operation.
|
|
162
|
+
const existingIdx = explicit.findIndex((r) => r != null &&
|
|
163
|
+
typeof r === "object" &&
|
|
164
|
+
!Array.isArray(r) &&
|
|
165
|
+
String(r["id"] ?? "") === entry.id);
|
|
166
|
+
const next = {
|
|
167
|
+
id: entry.id,
|
|
168
|
+
name: entry.name ?? DEFAULT_ROBOT_NAME,
|
|
169
|
+
namespace: entry.namespace ?? "",
|
|
170
|
+
cameraTopic: entry.cameraTopic ?? "",
|
|
171
|
+
};
|
|
172
|
+
if (opts.setDefault)
|
|
173
|
+
next["default"] = true;
|
|
174
|
+
// Caller may carry an explicit per-robot transport override into the
|
|
175
|
+
// entry. When omitted on an in-place update we preserve the prior
|
|
176
|
+
// override (see below) so re-running `robots add` without --transport
|
|
177
|
+
// doesn't silently drop a previously-configured override.
|
|
178
|
+
if (entry.transport !== undefined)
|
|
179
|
+
next["transport"] = entry.transport;
|
|
180
|
+
// Same preserve-on-update story for kind / sensors / capabilities —
|
|
181
|
+
// these are sticky Phase 1.e fleet-metadata fields that survive a
|
|
182
|
+
// `robots add <id> --name=...`.
|
|
183
|
+
if (entry.kind !== undefined)
|
|
184
|
+
next["kind"] = entry.kind;
|
|
185
|
+
if (entry.sensors !== undefined)
|
|
186
|
+
next["sensors"] = entry.sensors;
|
|
187
|
+
if (entry.capabilities !== undefined)
|
|
188
|
+
next["capabilities"] = entry.capabilities;
|
|
189
|
+
let added;
|
|
190
|
+
if (existingIdx >= 0) {
|
|
191
|
+
// Update in place. Preserve any `default` already on the entry
|
|
192
|
+
// unless the caller is explicitly setting it.
|
|
193
|
+
const prev = explicit[existingIdx];
|
|
194
|
+
if (opts.setDefault === undefined && prev["default"] === true)
|
|
195
|
+
next["default"] = true;
|
|
196
|
+
if (entry.transport === undefined &&
|
|
197
|
+
prev["transport"] &&
|
|
198
|
+
typeof prev["transport"] === "object" &&
|
|
199
|
+
!Array.isArray(prev["transport"])) {
|
|
200
|
+
next["transport"] = prev["transport"];
|
|
201
|
+
}
|
|
202
|
+
if (entry.kind === undefined && typeof prev["kind"] === "string") {
|
|
203
|
+
next["kind"] = prev["kind"];
|
|
204
|
+
}
|
|
205
|
+
if (entry.sensors === undefined &&
|
|
206
|
+
prev["sensors"] &&
|
|
207
|
+
typeof prev["sensors"] === "object" &&
|
|
208
|
+
!Array.isArray(prev["sensors"])) {
|
|
209
|
+
next["sensors"] = prev["sensors"];
|
|
210
|
+
}
|
|
211
|
+
if (entry.capabilities === undefined && Array.isArray(prev["capabilities"])) {
|
|
212
|
+
next["capabilities"] = prev["capabilities"];
|
|
213
|
+
}
|
|
214
|
+
explicit[existingIdx] = next;
|
|
215
|
+
added = false;
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
explicit.push(next);
|
|
219
|
+
added = true;
|
|
220
|
+
}
|
|
221
|
+
// If the caller is making this new entry the default, strip default
|
|
222
|
+
// off every other entry — only one robot is default at a time.
|
|
223
|
+
if (opts.setDefault) {
|
|
224
|
+
for (let i = 0; i < explicit.length; i++) {
|
|
225
|
+
const r = explicit[i];
|
|
226
|
+
if (i === (existingIdx >= 0 ? existingIdx : explicit.length - 1))
|
|
227
|
+
continue;
|
|
228
|
+
if (r && r["default"] === true) {
|
|
229
|
+
const { default: _drop, ...rest } = r;
|
|
230
|
+
void _drop;
|
|
231
|
+
explicit[i] = rest;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
obj["robots"] = explicit;
|
|
236
|
+
return {
|
|
237
|
+
added,
|
|
238
|
+
promotedLegacy,
|
|
239
|
+
robots: explicit.map((r) => r),
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Remove a robot from `config.robots[]` by id.
|
|
244
|
+
*
|
|
245
|
+
* Returns `removed: false` when the id isn't present. Removing the last
|
|
246
|
+
* entry leaves `robots: []` (which the core resolver then ignores in
|
|
247
|
+
* favour of the legacy `config.robot` fallback — so the deployment
|
|
248
|
+
* keeps working).
|
|
249
|
+
*
|
|
250
|
+
* Idempotent across re-runs.
|
|
251
|
+
*/
|
|
252
|
+
export function removeRobot(id, obj = readConfigObject()) {
|
|
253
|
+
const explicit = Array.isArray(obj["robots"]) ? [...obj["robots"]] : [];
|
|
254
|
+
const idx = explicit.findIndex((r) => r != null &&
|
|
255
|
+
typeof r === "object" &&
|
|
256
|
+
!Array.isArray(r) &&
|
|
257
|
+
String(r["id"] ?? "") === id);
|
|
258
|
+
if (idx < 0) {
|
|
259
|
+
return { removed: false, robots: explicit };
|
|
260
|
+
}
|
|
261
|
+
explicit.splice(idx, 1);
|
|
262
|
+
obj["robots"] = explicit;
|
|
263
|
+
return { removed: true, robots: explicit };
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Set `default: true` on exactly one robot in `config.robots[]`.
|
|
267
|
+
*
|
|
268
|
+
* Auto-promotes the legacy single-robot config first if needed (so
|
|
269
|
+
* marking the first new robot as default doesn't lose the previous
|
|
270
|
+
* incumbent). Throws when the id isn't present after promotion.
|
|
271
|
+
*/
|
|
272
|
+
export function setDefaultRobot(id, obj = readConfigObject()) {
|
|
273
|
+
const explicit = Array.isArray(obj["robots"]) ? [...obj["robots"]] : [];
|
|
274
|
+
let promotedLegacy = false;
|
|
275
|
+
if (explicit.length === 0) {
|
|
276
|
+
const legacy = legacyToEntry(obj["robot"]);
|
|
277
|
+
if (legacy) {
|
|
278
|
+
explicit.push({ ...legacy, default: false });
|
|
279
|
+
promotedLegacy = true;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
const idx = explicit.findIndex((r) => r != null &&
|
|
283
|
+
typeof r === "object" &&
|
|
284
|
+
!Array.isArray(r) &&
|
|
285
|
+
String(r["id"] ?? "") === id);
|
|
286
|
+
if (idx < 0) {
|
|
287
|
+
const known = explicit
|
|
288
|
+
.map((r) => String(r["id"] ?? ""))
|
|
289
|
+
.filter((s) => s.length > 0)
|
|
290
|
+
.join(", ");
|
|
291
|
+
throw new Error(`Unknown robot id "${id}". Known: ${known || "(none — add it first with `agenticros robots add`)"}.`);
|
|
292
|
+
}
|
|
293
|
+
for (let i = 0; i < explicit.length; i++) {
|
|
294
|
+
const r = { ...explicit[i] };
|
|
295
|
+
if (i === idx)
|
|
296
|
+
r["default"] = true;
|
|
297
|
+
else
|
|
298
|
+
delete r["default"];
|
|
299
|
+
explicit[i] = r;
|
|
300
|
+
}
|
|
301
|
+
obj["robots"] = explicit;
|
|
302
|
+
return { robots: explicit, promotedLegacy };
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Apply a per-robot transport override to an existing robot.
|
|
306
|
+
*
|
|
307
|
+
* Auto-promotes legacy `config.robot` into `config.robots[]` so the
|
|
308
|
+
* caller can target the historical single-robot config by its derived
|
|
309
|
+
* id. Throws when the id can't be found after promotion — matching the
|
|
310
|
+
* UX of `setDefaultRobot`.
|
|
311
|
+
*
|
|
312
|
+
* The `override` argument is the plain JSON shape the core's
|
|
313
|
+
* `RobotTransportOverrideSchema` will validate at config-load time. The
|
|
314
|
+
* CLI doesn't validate field shapes — that lives in `@agenticros/core`.
|
|
315
|
+
*/
|
|
316
|
+
export function setTransportForRobot(id, override, obj = readConfigObject()) {
|
|
317
|
+
const explicit = Array.isArray(obj["robots"]) ? [...obj["robots"]] : [];
|
|
318
|
+
let promotedLegacy = false;
|
|
319
|
+
if (explicit.length === 0) {
|
|
320
|
+
const legacy = legacyToEntry(obj["robot"]);
|
|
321
|
+
if (legacy) {
|
|
322
|
+
explicit.push({ ...legacy, default: true });
|
|
323
|
+
promotedLegacy = true;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
const idx = explicit.findIndex((r) => r != null &&
|
|
327
|
+
typeof r === "object" &&
|
|
328
|
+
!Array.isArray(r) &&
|
|
329
|
+
String(r["id"] ?? "") === id);
|
|
330
|
+
if (idx < 0) {
|
|
331
|
+
const known = explicit
|
|
332
|
+
.map((r) => String(r["id"] ?? ""))
|
|
333
|
+
.filter((s) => s.length > 0)
|
|
334
|
+
.join(", ");
|
|
335
|
+
throw new Error(`Unknown robot id "${id}". Known: ${known || "(none — add it first with `agenticros robots add`)"}.`);
|
|
336
|
+
}
|
|
337
|
+
explicit[idx] = { ...explicit[idx], transport: override };
|
|
338
|
+
obj["robots"] = explicit;
|
|
339
|
+
return { robots: explicit, promotedLegacy };
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Remove a per-robot transport override (so the robot inherits the
|
|
343
|
+
* global transport config). Idempotent — returns `cleared: false` when
|
|
344
|
+
* the robot didn't have an override to begin with. Throws on unknown id
|
|
345
|
+
* (we'd rather complain loudly than silently no-op against a typo).
|
|
346
|
+
*/
|
|
347
|
+
export function clearTransportForRobot(id, obj = readConfigObject()) {
|
|
348
|
+
const explicit = Array.isArray(obj["robots"]) ? [...obj["robots"]] : [];
|
|
349
|
+
let promotedLegacy = false;
|
|
350
|
+
if (explicit.length === 0) {
|
|
351
|
+
const legacy = legacyToEntry(obj["robot"]);
|
|
352
|
+
if (legacy) {
|
|
353
|
+
explicit.push({ ...legacy, default: true });
|
|
354
|
+
promotedLegacy = true;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
const idx = explicit.findIndex((r) => r != null &&
|
|
358
|
+
typeof r === "object" &&
|
|
359
|
+
!Array.isArray(r) &&
|
|
360
|
+
String(r["id"] ?? "") === id);
|
|
361
|
+
if (idx < 0) {
|
|
362
|
+
const known = explicit
|
|
363
|
+
.map((r) => String(r["id"] ?? ""))
|
|
364
|
+
.filter((s) => s.length > 0)
|
|
365
|
+
.join(", ");
|
|
366
|
+
throw new Error(`Unknown robot id "${id}". Known: ${known || "(none — add it first with `agenticros robots add`)"}.`);
|
|
367
|
+
}
|
|
368
|
+
const prev = { ...explicit[idx] };
|
|
369
|
+
const hadOverride = prev["transport"] !== undefined;
|
|
370
|
+
delete prev["transport"];
|
|
371
|
+
explicit[idx] = prev;
|
|
372
|
+
obj["robots"] = explicit;
|
|
373
|
+
return { cleared: hadOverride, robots: explicit, promotedLegacy };
|
|
374
|
+
}
|
|
375
|
+
//# sourceMappingURL=robot-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"robot-config.js","sourceRoot":"","sources":["../../src/util/robot-config.ts"],"names":[],"mappings":"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"}
|
package/dist/util/skills.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Skill discovery, validation, and config-file mutation primitives.
|
|
3
3
|
*
|
|
4
|
-
* An AgenticROS skill is a Node package whose `package.json` carries
|
|
5
|
-
* `
|
|
6
|
-
* function from its `main` entry. The OpenClaw AgenticROS plugin loads them
|
|
4
|
+
* An AgenticROS skill is a Node package whose `package.json` carries an
|
|
5
|
+
* `agenticros` block (with at least an `id`) and exports a
|
|
6
|
+
* `registerSkill(api, config, context)` function from its `main` entry. The OpenClaw AgenticROS plugin loads them
|
|
7
7
|
* at gateway start by walking two arrays in its config:
|
|
8
8
|
*
|
|
9
9
|
* - `skillPaths[]` — absolute directories to scan (validate `package.json`)
|
|
@@ -41,8 +41,8 @@ export declare function deriveSkillId(packageName: string): string;
|
|
|
41
41
|
/**
|
|
42
42
|
* Inspect a directory and decide whether it's a valid AgenticROS skill clone.
|
|
43
43
|
* Returns a partial `SkillRef` (no `registeredAs`) or `undefined` when the
|
|
44
|
-
* directory is missing, lacks `package.json`, or doesn't
|
|
45
|
-
* `
|
|
44
|
+
* directory is missing, lacks `package.json`, or doesn't declare a valid
|
|
45
|
+
* `agenticros` block (with at least `id`).
|
|
46
46
|
*/
|
|
47
47
|
export declare function inspectSkillDir(dir: string): Omit<SkillRef, "registeredAs"> | undefined;
|
|
48
48
|
/**
|
|
@@ -85,7 +85,7 @@ export interface AddResult {
|
|
|
85
85
|
* Add a skill to the OpenClaw plugin config by absolute directory path.
|
|
86
86
|
* Idempotent: re-adding an existing entry is a no-op and returns `ok: true`
|
|
87
87
|
* with an explanatory message. The directory must contain a valid
|
|
88
|
-
* `package.json` with `
|
|
88
|
+
* `package.json` with an `agenticros` block (with at least `id`).
|
|
89
89
|
*/
|
|
90
90
|
export declare function addSkillByPath(dir: string): AddResult;
|
|
91
91
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/util/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,MAAM,WAAW,QAAQ;IACvB,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,YAAY,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/util/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,MAAM,WAAW,QAAQ;IACvB,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,YAAY,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,SAAS,CAsCvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAuB7D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,QAAQ,EAAE,CAqB9D;AA0BD,MAAM,WAAW,aAAa;IAC5B,0FAA0F;IAC1F,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,sFAAsF;IACtF,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,aAAa,CAyC1C;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,CAAC;IACZ,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAuCrD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CA6BzD;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CA+D1D"}
|
package/dist/util/skills.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Skill discovery, validation, and config-file mutation primitives.
|
|
3
3
|
*
|
|
4
|
-
* An AgenticROS skill is a Node package whose `package.json` carries
|
|
5
|
-
* `
|
|
6
|
-
* function from its `main` entry. The OpenClaw AgenticROS plugin loads them
|
|
4
|
+
* An AgenticROS skill is a Node package whose `package.json` carries an
|
|
5
|
+
* `agenticros` block (with at least an `id`) and exports a
|
|
6
|
+
* `registerSkill(api, config, context)` function from its `main` entry. The OpenClaw AgenticROS plugin loads them
|
|
7
7
|
* at gateway start by walking two arrays in its config:
|
|
8
8
|
*
|
|
9
9
|
* - `skillPaths[]` — absolute directories to scan (validate `package.json`)
|
|
@@ -35,8 +35,8 @@ export function deriveSkillId(packageName) {
|
|
|
35
35
|
/**
|
|
36
36
|
* Inspect a directory and decide whether it's a valid AgenticROS skill clone.
|
|
37
37
|
* Returns a partial `SkillRef` (no `registeredAs`) or `undefined` when the
|
|
38
|
-
* directory is missing, lacks `package.json`, or doesn't
|
|
39
|
-
* `
|
|
38
|
+
* directory is missing, lacks `package.json`, or doesn't declare a valid
|
|
39
|
+
* `agenticros` block (with at least `id`).
|
|
40
40
|
*/
|
|
41
41
|
export function inspectSkillDir(dir) {
|
|
42
42
|
const absDir = isAbsolute(dir) ? dir : resolve(dir);
|
|
@@ -61,13 +61,18 @@ export function inspectSkillDir(dir) {
|
|
|
61
61
|
catch {
|
|
62
62
|
return undefined;
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
const block = pkg.agenticros;
|
|
65
|
+
if (!block || typeof block !== "object" || typeof block.id !== "string") {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
const id = block.id;
|
|
69
|
+
if (!/^[a-z0-9][a-z0-9-]*$/.test(id))
|
|
65
70
|
return undefined;
|
|
66
71
|
const packageName = (pkg.name ?? "unknown").toString();
|
|
67
72
|
const mainRel = pkg.main ?? "index.js";
|
|
68
73
|
const entry = join(absDir, mainRel);
|
|
69
74
|
return {
|
|
70
|
-
id
|
|
75
|
+
id,
|
|
71
76
|
packageName,
|
|
72
77
|
dir: absDir,
|
|
73
78
|
entry,
|
|
@@ -212,14 +217,14 @@ export function listSkills() {
|
|
|
212
217
|
* Add a skill to the OpenClaw plugin config by absolute directory path.
|
|
213
218
|
* Idempotent: re-adding an existing entry is a no-op and returns `ok: true`
|
|
214
219
|
* with an explanatory message. The directory must contain a valid
|
|
215
|
-
* `package.json` with `
|
|
220
|
+
* `package.json` with an `agenticros` block (with at least `id`).
|
|
216
221
|
*/
|
|
217
222
|
export function addSkillByPath(dir) {
|
|
218
223
|
const info = inspectSkillDir(dir);
|
|
219
224
|
if (!info) {
|
|
220
225
|
return {
|
|
221
226
|
ok: false,
|
|
222
|
-
message: `Not an AgenticROS skill directory: ${dir} (need package.json with "
|
|
227
|
+
message: `Not an AgenticROS skill directory: ${dir} (need package.json with an "agenticros": { "id": "..." } block)`,
|
|
223
228
|
};
|
|
224
229
|
}
|
|
225
230
|
if (!openclawConfigExists()) {
|
package/dist/util/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/util/skills.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/util/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a `--transport=<shorthand>` flag into the JSON-shaped object the
|
|
3
|
+
* core resolver expects under `config.robots[i].transport`.
|
|
4
|
+
*
|
|
5
|
+
* Shorthand grammar (most-common-case-first):
|
|
6
|
+
*
|
|
7
|
+
* <mode>[:<primary-value>]
|
|
8
|
+
*
|
|
9
|
+
* - `zenoh` ⇒ inherit everything from global config.zenoh
|
|
10
|
+
* - `zenoh:<routerEndpoint>` ⇒ override the router endpoint only
|
|
11
|
+
* - `rosbridge` ⇒ inherit global rosbridge config
|
|
12
|
+
* - `rosbridge:<url>` ⇒ override rosbridge url
|
|
13
|
+
* - `local` ⇒ inherit global local config
|
|
14
|
+
* - `local:<domainId>` ⇒ override DDS domain id (integer ≥ 0)
|
|
15
|
+
* - `webrtc` ⇒ inherit global webrtc config
|
|
16
|
+
* - `webrtc:<signalingUrl>` ⇒ override signaling url
|
|
17
|
+
*
|
|
18
|
+
* Anything more elaborate (multiple sub-fields, custom iceServers, etc.)
|
|
19
|
+
* should use `--transport-json=...` which is passed straight through to
|
|
20
|
+
* the core Zod schema. The CLI deliberately doesn't model the full set
|
|
21
|
+
* of sub-fields — that would couple this layer to every transport
|
|
22
|
+
* adapter's settings shape. The shorthand exists for the 95% of users
|
|
23
|
+
* who only want to point one robot at a different router.
|
|
24
|
+
*
|
|
25
|
+
* Errors are intentionally specific — they tell the user the exact
|
|
26
|
+
* accepted forms so they can recover without hunting through docs.
|
|
27
|
+
*/
|
|
28
|
+
export type TransportOverrideJson = {
|
|
29
|
+
mode: "zenoh";
|
|
30
|
+
zenoh?: {
|
|
31
|
+
routerEndpoint?: string;
|
|
32
|
+
};
|
|
33
|
+
} | {
|
|
34
|
+
mode: "rosbridge";
|
|
35
|
+
rosbridge?: {
|
|
36
|
+
url?: string;
|
|
37
|
+
};
|
|
38
|
+
} | {
|
|
39
|
+
mode: "local";
|
|
40
|
+
local?: {
|
|
41
|
+
domainId?: number;
|
|
42
|
+
};
|
|
43
|
+
} | {
|
|
44
|
+
mode: "webrtc";
|
|
45
|
+
webrtc?: {
|
|
46
|
+
signalingUrl?: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Parse a `--transport=<shorthand>` value. Throws with an actionable
|
|
51
|
+
* message on malformed input. The returned object is a plain JSON
|
|
52
|
+
* structure that the core `RobotTransportOverrideSchema` will then
|
|
53
|
+
* validate at config-load time, so this parser doesn't have to repeat
|
|
54
|
+
* field-level validation — it only needs to produce well-shaped JSON.
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseTransportShorthand(raw: string): TransportOverrideJson;
|
|
57
|
+
/**
|
|
58
|
+
* Validate a raw JSON string passed via `--transport-json`. Returns the
|
|
59
|
+
* parsed object on success; throws a friendly error on parse failure or
|
|
60
|
+
* when the JSON doesn't look at all like a transport override (missing
|
|
61
|
+
* `mode`). Field-level validation is deferred to the core Zod schema at
|
|
62
|
+
* config-load time — this is just a smoke check so an obviously-wrong
|
|
63
|
+
* JSON string doesn't slip into the file.
|
|
64
|
+
*/
|
|
65
|
+
export declare function parseTransportJson(raw: string): Record<string, unknown>;
|
|
66
|
+
//# sourceMappingURL=transport-shorthand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport-shorthand.d.ts","sourceRoot":"","sources":["../../src/util/transport-shorthand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAS3D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CA2C1E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBvE"}
|