rovloom 0.6.0 → 0.6.1
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 +2 -2
- package/dist/src/admin/index.js +1 -1
- package/dist/src/{chunk-g27b2gmx.js → chunk-0e9gg4sg.js} +2 -2
- package/dist/src/chunk-1xer1ent.js +102 -0
- package/dist/src/{chunk-863tk45b.js → chunk-41fny9qm.js} +5 -5
- package/dist/src/{chunk-zjzrcc59.js → chunk-59h200cr.js} +139 -7
- package/dist/src/chunk-5w5srj3b.js +93 -0
- package/dist/src/{chunk-d4ejrtjq.js → chunk-6n6b1xpy.js} +1 -1
- package/dist/src/{chunk-ez7d5dac.js → chunk-6w4g9fw8.js} +4 -1
- package/dist/src/{chunk-0dqx2mmz.js → chunk-73aq2qkz.js} +1 -1
- package/dist/src/{chunk-n6wtjyfb.js → chunk-8c9yc0ge.js} +5 -5
- package/dist/src/{chunk-57ayxqnb.js → chunk-8fy8w7ds.js} +2 -23
- package/dist/src/{chunk-2tn0r64b.js → chunk-9h9x79bx.js} +5 -5
- package/dist/src/{chunk-qjh9x872.js → chunk-av31bx1e.js} +1 -1
- package/dist/src/{chunk-0xgpxdgc.js → chunk-bbdtsg4b.js} +7 -5
- package/dist/src/{chunk-q5pgbwb3.js → chunk-e7jgpxkf.js} +2 -2
- package/dist/src/{chunk-zj48jvfe.js → chunk-efty77sb.js} +3 -40
- package/dist/src/{chunk-gyvqqnjb.js → chunk-enj7s8cv.js} +49 -29
- package/dist/src/{chunk-jka7v3wb.js → chunk-ftpy8xx3.js} +311 -23
- package/dist/src/{chunk-zdxww7ms.js → chunk-h3xyq7zk.js} +1 -1
- package/dist/src/{chunk-ttsrctxg.js → chunk-hxmq28pg.js} +9 -7
- package/dist/src/{chunk-s3ydr65k.js → chunk-j59ac0xs.js} +2 -2
- package/dist/src/{chunk-5s2emvww.js → chunk-j6svdqr8.js} +10 -302
- package/dist/src/{chunk-9zkq0kc8.js → chunk-jkzfck98.js} +3 -3
- package/dist/src/{chunk-ssp57p43.js → chunk-m76cmkfy.js} +7 -5
- package/dist/src/{chunk-d2kz25f2.js → chunk-m96mbzcw.js} +674 -308
- package/dist/src/{chunk-yv9px0f5.js → chunk-n3z3jaxy.js} +20 -14
- package/dist/src/{chunk-jf4r0r44.js → chunk-ndj0ay2p.js} +19 -18
- package/dist/src/{chunk-5b8g62kw.js → chunk-pgs9jp6t.js} +61 -179
- package/dist/src/chunk-pksaqt9a.js +25 -0
- package/dist/src/{chunk-wxqhscsw.js → chunk-pnep7yhj.js} +7 -99
- package/dist/src/chunk-qn5xae7g.js +66 -0
- package/dist/src/{chunk-0pewfj89.js → chunk-qp8tgms2.js} +1 -1
- package/dist/src/{chunk-mg0fd6ph.js → chunk-rmgw8h27.js} +10 -8
- package/dist/src/{chunk-gbsbwssz.js → chunk-sf4ztxba.js} +3 -3
- package/dist/src/{chunk-x0td5wn4.js → chunk-shez7hkc.js} +1 -1
- package/dist/src/chunk-sqz614bh.js +30 -0
- package/dist/src/{chunk-09f9q26d.js → chunk-vdwzb63d.js} +2 -2
- package/dist/src/chunk-xtvgm6kf.js +48 -0
- package/dist/src/chunk-y8zm75jt.js +157 -0
- package/dist/src/chunk-yasqw2vj.js +756 -0
- package/dist/src/{chunk-srfbjwtk.js → chunk-z0qmfqvd.js} +3 -3
- package/dist/src/chunk-zm705snh.js +53 -0
- package/dist/src/cli/index.js +29 -28
- package/dist/src/cli/main.js +5 -5
- package/dist/src/connector/herdr/installation.js +4 -4
- package/dist/src/connector/herdr/provider.js +9 -9
- package/dist/src/connector/herdr/runtime.js +7 -7
- package/dist/src/connector/luvus/index.js +7 -6
- package/dist/src/mcp/index.js +16 -15
- package/dist/src/runtime/index.js +16 -15
- package/dist/src/service/index.js +2 -2
- package/dist/src/store.js +4 -4
- package/dist/src/transport/index.js +9 -9
- package/dist/src/webui/index.js +141 -939
- package/package.json +1 -1
- package/dist/src/chunk-0qgk7mhz.js +0 -52
- package/dist/src/chunk-3dvn33c4.js +0 -1299
- package/dist/src/chunk-5j0gj6w2.js +0 -7
- package/dist/src/chunk-vwcntax3.js +0 -228
- package/dist/src/chunk-ytpfmcp1.js +0 -25
- package/dist/src/chunk-zjkjjm81.js +0 -1114
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
import"./chunk-d71r315c.js";
|
|
3
|
+
import"./chunk-7crhmqn2.js";
|
|
2
4
|
import {
|
|
3
5
|
object2,
|
|
4
6
|
fields2,
|
|
5
7
|
boundedJson2
|
|
6
8
|
} from "./chunk-qt9m2kg2.js";
|
|
9
|
+
import"./chunk-9tt13dm0.js";
|
|
10
|
+
import"./chunk-g7pnjzkk.js";
|
|
7
11
|
import {
|
|
8
12
|
cliMessages2,
|
|
9
13
|
formatMessage2
|
|
10
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-pgs9jp6t.js";
|
|
11
15
|
import {
|
|
12
|
-
setupFileStamp,
|
|
13
|
-
writeSetupFile,
|
|
14
|
-
readSetupJson,
|
|
15
16
|
REGISTRY_MAX_BYTES,
|
|
16
17
|
parseRegistry,
|
|
17
18
|
DEFAULT_ADMIN_TTL_DAYS,
|
|
@@ -19,7 +20,12 @@ import {
|
|
|
19
20
|
issueAdmin,
|
|
20
21
|
revokeAdmin,
|
|
21
22
|
summarizeAdmins
|
|
22
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-pnep7yhj.js";
|
|
24
|
+
import {
|
|
25
|
+
setupFileStamp,
|
|
26
|
+
writeSetupFile,
|
|
27
|
+
readSetupJson
|
|
28
|
+
} from "./chunk-1xer1ent.js";
|
|
23
29
|
import {
|
|
24
30
|
resolveRoleConfigPath2
|
|
25
31
|
} from "./chunk-1bf0wmgk.js";
|
|
@@ -34,6 +40,8 @@ import {
|
|
|
34
40
|
import {
|
|
35
41
|
canonicalLoopbackHost
|
|
36
42
|
} from "./chunk-6n9s7nfe.js";
|
|
43
|
+
import"./chunk-3nnahj0j.js";
|
|
44
|
+
import"./chunk-0y5542k8.js";
|
|
37
45
|
|
|
38
46
|
// src/cli/admin-command.ts
|
|
39
47
|
import { mkdirSync } from "fs";
|
|
@@ -107,7 +115,7 @@ function callersStamp(path) {
|
|
|
107
115
|
throw error;
|
|
108
116
|
}
|
|
109
117
|
}
|
|
110
|
-
function
|
|
118
|
+
function writeAdminFiles(config, principal, at, days) {
|
|
111
119
|
const callersPath = runtimeReference(config.state_dir, "mcp-callers");
|
|
112
120
|
const managementPath = runtimeReference(config.state_dir, "management");
|
|
113
121
|
mkdirSync(dirname(managementPath), { recursive: true, mode: 448 });
|
|
@@ -124,10 +132,7 @@ function writeAdminFiles2(config, principal, at, days) {
|
|
|
124
132
|
writeSetupFile(managementPath, boundedJson2(issued.management, 65536), exists, managementStamp);
|
|
125
133
|
return { secret: issued.secret, expires_at: issued.expires_at };
|
|
126
134
|
}
|
|
127
|
-
function
|
|
128
|
-
return readSetupJson(runtimeReference(config.state_dir, "management")) !== undefined;
|
|
129
|
-
}
|
|
130
|
-
async function handleAdminCommand2(args, io, environment, now = Date.now) {
|
|
135
|
+
async function handleAdminCommand(args, io, environment, now = Date.now) {
|
|
131
136
|
try {
|
|
132
137
|
if (args.length === 2 && args[1] === "--help") {
|
|
133
138
|
io.stderr.write(formatMessage2(cliMessages2(io.language)["help.admin"], { ttlDays: DEFAULT_ADMIN_TTL_DAYS }));
|
|
@@ -143,7 +148,7 @@ async function handleAdminCommand2(args, io, environment, now = Date.now) {
|
|
|
143
148
|
const at = now();
|
|
144
149
|
const principal = flags.principal ?? "admin";
|
|
145
150
|
if (flags.sub === "create") {
|
|
146
|
-
const issued =
|
|
151
|
+
const issued = writeAdminFiles(config, principal, at, flags.days);
|
|
147
152
|
io.stderr.write(formatMessage2(cliMessages2(io.language)["admin.create.created"], {
|
|
148
153
|
principal,
|
|
149
154
|
expires: new Date(issued.expires_at).toISOString()
|
|
@@ -182,7 +187,8 @@ async function handleAdminCommand2(args, io, environment, now = Date.now) {
|
|
|
182
187
|
return 1;
|
|
183
188
|
}
|
|
184
189
|
}
|
|
190
|
+
export {
|
|
191
|
+
handleAdminCommand
|
|
192
|
+
};
|
|
185
193
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
//# debugId=0EB59DEAE24D22AB64756E2164756E21
|
|
194
|
+
//# debugId=708B820E06464CB564756E2164756E21
|
|
@@ -15,10 +15,10 @@ import"./chunk-9tt13dm0.js";
|
|
|
15
15
|
import"./chunk-g7pnjzkk.js";
|
|
16
16
|
import"./chunk-y4hksha9.js";
|
|
17
17
|
import"./chunk-zxsz6g14.js";
|
|
18
|
-
import"./chunk-
|
|
18
|
+
import"./chunk-vdwzb63d.js";
|
|
19
19
|
import {
|
|
20
20
|
pinTerminalExecution
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-8fy8w7ds.js";
|
|
22
22
|
import {
|
|
23
23
|
HerdrLocalError,
|
|
24
24
|
peerIsCurrentUser,
|
|
@@ -31,57 +31,58 @@ import {
|
|
|
31
31
|
inspectHerdrServerProcess,
|
|
32
32
|
bindAttachedHerdr,
|
|
33
33
|
launchHerdrProcess2
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-e7jgpxkf.js";
|
|
35
35
|
import"./chunk-mqyq5jh6.js";
|
|
36
36
|
import"./chunk-hz8pm6hz.js";
|
|
37
37
|
import {
|
|
38
38
|
closeSession
|
|
39
|
-
} from "./chunk-
|
|
40
|
-
import"./chunk-
|
|
41
|
-
import"./chunk-
|
|
42
|
-
import"./chunk-
|
|
43
|
-
import"./chunk-
|
|
39
|
+
} from "./chunk-59h200cr.js";
|
|
40
|
+
import"./chunk-efty77sb.js";
|
|
41
|
+
import"./chunk-av31bx1e.js";
|
|
42
|
+
import"./chunk-bbdtsg4b.js";
|
|
43
|
+
import"./chunk-6n6b1xpy.js";
|
|
44
44
|
import {
|
|
45
45
|
nativeRecordStamp,
|
|
46
46
|
readNativeRecord,
|
|
47
47
|
createNativeRecord,
|
|
48
48
|
removeNativeRecord,
|
|
49
49
|
recoverLuvusClaimsLock
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-j6svdqr8.js";
|
|
51
51
|
import {
|
|
52
52
|
composeConnectorSessions2,
|
|
53
53
|
createLuvusConnectorSessions2,
|
|
54
54
|
createLuvusProductionSources2
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-ftpy8xx3.js";
|
|
56
56
|
import"./chunk-5h82060k.js";
|
|
57
57
|
import {
|
|
58
58
|
herdrDeadline,
|
|
59
59
|
withHerdrSocket,
|
|
60
60
|
HerdrInstallation2
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-41fny9qm.js";
|
|
62
62
|
import"./chunk-zb641qa3.js";
|
|
63
|
-
import"./chunk-
|
|
63
|
+
import"./chunk-hxmq28pg.js";
|
|
64
64
|
import"./chunk-5svt6rwr.js";
|
|
65
65
|
import {
|
|
66
66
|
parseHerdrProviderRefConfig2,
|
|
67
67
|
createHerdrGatewayResources2,
|
|
68
68
|
createHerdrConnectorResources2
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-9h9x79bx.js";
|
|
70
70
|
import {
|
|
71
71
|
readRuntimeFile
|
|
72
72
|
} from "./chunk-z7kkfrgz.js";
|
|
73
73
|
import {
|
|
74
74
|
CliError2
|
|
75
75
|
} from "./chunk-hpzr94hm.js";
|
|
76
|
-
import"./chunk-
|
|
77
|
-
import"./chunk-
|
|
76
|
+
import"./chunk-xtvgm6kf.js";
|
|
77
|
+
import"./chunk-5w5srj3b.js";
|
|
78
|
+
import"./chunk-sf4ztxba.js";
|
|
78
79
|
import"./chunk-3nnahj0j.js";
|
|
79
|
-
import"./chunk-
|
|
80
|
+
import"./chunk-h3xyq7zk.js";
|
|
80
81
|
import {
|
|
81
82
|
currentProcessIdentity,
|
|
82
83
|
listening,
|
|
83
84
|
ownerIsDead
|
|
84
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-qp8tgms2.js";
|
|
85
86
|
import"./chunk-0y5542k8.js";
|
|
86
87
|
|
|
87
88
|
// src/cli/production-herdr.ts
|
|
@@ -974,4 +975,4 @@ export {
|
|
|
974
975
|
createProductSources
|
|
975
976
|
};
|
|
976
977
|
|
|
977
|
-
//# debugId=
|
|
978
|
+
//# debugId=C72B2A5481F7ADBD64756E2164756E21
|
|
@@ -21,20 +21,23 @@ Usage:
|
|
|
21
21
|
rovloom config init gateway [--container] [--config /absolute/path/config.json]
|
|
22
22
|
rovloom config check [--role gateway|connector] [--config /absolute/path/config.json]
|
|
23
23
|
rovloom config check-runtime [--role gateway|connector] [--config /absolute/path/config.json]
|
|
24
|
-
rovloom gateway [--
|
|
25
|
-
rovloom connector
|
|
24
|
+
rovloom gateway [--issue-code] [--config /absolute/path/config.json] [--non-interactive]
|
|
25
|
+
rovloom connector --join <ws://host:port#pairing-code> [--config /absolute/path/config.json]
|
|
26
|
+
rovloom connector --unpair [--non-interactive]
|
|
26
27
|
rovloom service --help
|
|
27
28
|
rovloom token --help
|
|
28
29
|
rovloom doctor --help
|
|
29
30
|
rovloom storage --help
|
|
30
31
|
rovloom admin --help
|
|
31
32
|
|
|
32
|
-
gateway / connector starts the matching role.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
--
|
|
36
|
-
--
|
|
37
|
-
|
|
33
|
+
gateway / connector starts the matching role. Pairing is one command: create a per-device pairing code on the
|
|
34
|
+
management page (or run 'rovloom gateway --issue-code' to print one), then run the displayed join command on the
|
|
35
|
+
Connector machine. No prompts, approvals or verification codes.
|
|
36
|
+
--issue-code makes the running Gateway print one fresh per-device pairing code and the full join command.
|
|
37
|
+
--join pairs and starts in one step; running it again with a new code re-pairs this machine as a new device,
|
|
38
|
+
and a join command from a different Gateway retires the previous local state and pairs there.
|
|
39
|
+
--unpair retires all local pairing state (kept under state/retired/) and clears the Gateway address for a clean start.
|
|
40
|
+
--non-interactive disables local interactive behavior (services run this way).
|
|
38
41
|
token manages MCP Bearer tokens, admin manages management-page administrators, and service manages boot services; see each --help.
|
|
39
42
|
config check validates the configuration file read-only; check-runtime additionally verifies program-managed state without reading credentials.
|
|
40
43
|
|
|
@@ -55,7 +58,7 @@ The password is written to stdout once, only by create (the Gateway stores only
|
|
|
55
58
|
an administrator with the same name is re-issued, and the old password plus signed-in browser sessions stop working immediately. revoke removes an administrator with the same immediate effect. Changes apply without restarting the Gateway.
|
|
56
59
|
Administrators cannot call MCP and share nothing with MCP tokens or device credentials; the default validity is {ttlDays} days (1-365).
|
|
57
60
|
Can be created before the first pairing: a fresh Gateway initializes an empty MCP caller registry on its own, after which the management page
|
|
58
|
-
pairs the first Connector
|
|
61
|
+
pairs the first Connector (generate a per-device code, then run the displayed join command on the device).
|
|
59
62
|
`,
|
|
60
63
|
"help.token": `Usage:
|
|
61
64
|
rovloom token list [--config /absolute/path/gateway.json]
|
|
@@ -97,97 +100,36 @@ Windows uses the explicitly selected existing user with S4U, without storing a p
|
|
|
97
100
|
"run.wildcardListenWarning": `wildcard_listener
|
|
98
101
|
MCP/management listen on all interfaces over plain HTTP; protect them with a firewall or a TLS reverse proxy.
|
|
99
102
|
`,
|
|
100
|
-
"run.pairingRequiredHint": `Gateway is running;
|
|
103
|
+
"run.pairingRequiredHint": `Gateway is running; pair a Connector (management page or rovloom gateway --issue-code, then run the join command on the device) before using an Agent.
|
|
101
104
|
`,
|
|
102
|
-
"run.configurationRequiredHint": `Setup requires a
|
|
105
|
+
"run.configurationRequiredHint": `Setup requires a reachable Gateway, a valid pairing code and a compatible installed Luvus or Herdr. Preserve uncertain setup state for owner review.
|
|
103
106
|
`,
|
|
104
|
-
"setup.
|
|
105
|
-
"setup.connector.pairingCodePrompt": "One-time pairing code: ",
|
|
106
|
-
"setup.connector.trustGateway": "Trust this Gateway address for one-time device enrollment and reviewed native setup?",
|
|
107
|
-
"setup.connector.pairingCompleted": `pairing_completed: Device identity is durably paired; discovering the selected native installation next.
|
|
107
|
+
"setup.native.managedUnsupportedWindows": `{provider}_managed_unsupported_on_windows: set native.{configKey}.mode to "attach".
|
|
108
108
|
`,
|
|
109
|
-
"setup.
|
|
109
|
+
"setup.native.managedUnsupportedMacos": `{provider}_managed_unsupported_on_macos: set native.{configKey}.mode to "attach".
|
|
110
110
|
`,
|
|
111
|
-
"setup.
|
|
111
|
+
"setup.join.completed": `pairing_completed: device {machine} is paired with {url}.
|
|
112
112
|
`,
|
|
113
|
-
"setup.
|
|
113
|
+
"setup.join.providers": `providers: {entries}
|
|
114
114
|
`,
|
|
115
|
-
"setup.
|
|
115
|
+
"setup.join.mcpBlock": `MCP URL: {url}
|
|
116
|
+
Bearer (private): {token}
|
|
117
|
+
`,
|
|
118
|
+
"setup.join.resettingState": `Previous pairing state for another device was retired to {retired}; pairing as a new device.
|
|
119
|
+
`,
|
|
120
|
+
"setup.join.switchingGateway": `Joining a different Gateway; previous pairing state was retired to {retired}.
|
|
121
|
+
`,
|
|
122
|
+
"unpair.completed": `unpair_completed: local pairing state was retired to {retired} and the Gateway address was cleared.
|
|
123
|
+
Run rovloom connector --join to pair with any Gateway.
|
|
124
|
+
`,
|
|
125
|
+
"unpair.empty": `unpair_completed: no local pairing state found; nothing to reset.
|
|
116
126
|
`,
|
|
117
127
|
"setup.native.statePathTooLongLuvus": `native_state_path_too_long: choose a shorter data.directory before initialization (Luvus state path maximum 52 UTF-8 bytes).
|
|
118
128
|
`,
|
|
119
129
|
"setup.native.statePathTooLongHerdr": `native_state_path_too_long: choose a shorter data.directory for the private Herdr sockets (herdr.sock and herdr-client.sock).
|
|
120
130
|
`,
|
|
121
|
-
"setup.
|
|
122
|
-
|
|
123
|
-
"setup.prompt.connectorNativeIsolatedEnabled": "Discover {kind} and create isolated state (terminal execution ENABLED in user config)?",
|
|
124
|
-
"setup.prompt.connectorNativeIsolatedDisabled": "Discover this {kind} installation and create its isolated local state (terminal execution disabled)?",
|
|
125
|
-
"setup.prompt.gatewayNative": "Allow this paired device's measured Luvus ({version}, binary SHA-256 {sha}) for reviewed workspace/Agent operations and one local MCP caller? Terminal execution is controlled by the Connector machine owner's local configuration.",
|
|
126
|
-
"setup.prompt.gatewayNativeInstallations": "Allow this paired device's measured native installations ({entries}) for reviewed workspace/Agent operations and one local MCP caller? Terminal execution is controlled by the Connector machine owner's local configuration.",
|
|
127
|
-
"setup.repair.alreadyPaired": `This Connector is paired as {machine}. Re-pairing replaces only its Gateway credential; native setup is kept. Stop any other running Connector for this device first.
|
|
128
|
-
`,
|
|
129
|
-
"setup.repair.codePrompt": "One-time re-pairing code from rovloom gateway --repair-device: ",
|
|
130
|
-
"setup.repair.trustConfirm": "Trust this Gateway address and replace this device credential with a new one?",
|
|
131
|
-
"setup.repair.confirmationUnavailable": `Gateway confirmation unavailable; if this Connector cannot authenticate, run the re-pairing again.
|
|
132
|
-
`,
|
|
133
|
-
"setup.repair.deviceRepaired": `device_repaired: The device credential is replaced; starting the Connector.
|
|
134
|
-
`,
|
|
135
|
-
"setup.gateway.resumeRePairing": `Resuming the device re-pairing; waiting for the Connector to reconnect.
|
|
136
|
-
`,
|
|
137
|
-
"setup.gateway.repairCodeBlock": `Gateway MCP: {mcpUrl}
|
|
138
|
-
Connector endpoint: {endpoint}
|
|
139
|
-
One-time re-pairing code for the existing device (5 minutes; keep private):
|
|
140
|
-
{code}
|
|
141
|
-
Stop that Connector, then run rovloom connector --repair on its machine and enter the code. The old credential no longer works.
|
|
142
|
-
`,
|
|
143
|
-
"setup.gateway.endpoints": `Gateway MCP: {mcpUrl}
|
|
144
|
-
Connector endpoint: {endpoint}
|
|
145
|
-
`,
|
|
146
|
-
"setup.gateway.unpairedRunning": `Gateway stays unpaired and running; no enrollment or credential is issued.
|
|
147
|
-
`,
|
|
148
|
-
"setup.gateway.managementFirstPairing": "Finish first pairing from the management page: create the administrator with `rovloom admin create`, sign in at {page}, create a pairing application, then run `rovloom connector --claim` on the device.\n",
|
|
149
|
-
"setup.gateway.managementDisabled": `Management is disabled; enable it or rerun to pair from this terminal.
|
|
150
|
-
`,
|
|
151
|
-
"setup.gateway.pairingCodeBlock": `One-time pairing code (5 minutes; keep private):
|
|
152
|
-
{code}
|
|
153
|
-
Run rovloom connector in another local terminal and enter the Gateway address and code.
|
|
154
|
-
`,
|
|
155
|
-
"setup.gateway.resumingExisting": `Resuming the existing setup; no new enrollment or credential is issued.
|
|
156
|
-
`,
|
|
157
|
-
"setup.gateway.connectorReady": `connector_ready: The Connector passed real authentication and every selected native provider is ready.
|
|
158
|
-
`,
|
|
159
|
-
"setup.gateway.adminBlock": `
|
|
160
|
-
Management page: {page}
|
|
161
|
-
Management user: admin
|
|
162
|
-
Management password (private): {secret}
|
|
163
|
-
(Shown once; run rovloom admin create to re-issue.)`,
|
|
164
|
-
"setup.gateway.adminNotCreated": `
|
|
165
|
-
Management administrator was not created; run rovloom admin create.`,
|
|
166
|
-
"setup.gateway.nativeSaved": `Native configuration saved; Gateway will reopen its real providers.
|
|
167
|
-
MCP credential file: {clientPath}
|
|
168
|
-
MCP URL: {url}
|
|
169
|
-
Targets: {targets}
|
|
170
|
-
Binding revision: 1`,
|
|
171
|
-
"setup.gateway.bearerAdditional": `
|
|
172
|
-
Existing MCP Bearer now also covers this device (not shown again; tokens made with rovloom token create --like need re-creating).`,
|
|
173
|
-
"setup.gateway.bearerSecret": `
|
|
174
|
-
Bearer (private): {token}`,
|
|
175
|
-
"setup.approval.resumeConfirm": "Resume the existing device setup?",
|
|
176
|
-
"setup.approval.pairConfirm": "Pair one Connector with this Gateway?",
|
|
177
|
-
"setup.approval.repairDeviceConfirm": "Re-pair the existing Connector device {name} ({machine})? The credential it holds stops working now and in-flight calls become unknown.",
|
|
178
|
-
"setup.claim.pairingCompletedActivated": `pairing_completed: Device identity is durably paired and native activation is complete.
|
|
179
|
-
`,
|
|
180
|
-
"setup.claim.waitEnded": `Approval wait ended; rerun the same command to resume this claim.
|
|
181
|
-
`,
|
|
182
|
-
"setup.claim.restartConfirm": "Start a new claim with a new pairing application?",
|
|
183
|
-
"setup.claim.pairingIdPrompt": "Pairing application ID: ",
|
|
184
|
-
"setup.claim.trustConfirm": "Trust this Gateway address for online device enrollment?",
|
|
185
|
-
"setup.claim.claimCodeBlock": `Claim code: {code}
|
|
186
|
-
Approve this exact code for machine {machine} in the management page.
|
|
187
|
-
`,
|
|
188
|
-
"setup.claim.activationResponseUnavailable": `Native activation response unavailable; rerun the same command to check the original claim.
|
|
189
|
-
`,
|
|
190
|
-
"setup.claim.nativeStatePrepared": `Native state prepared; starting the real Connector.
|
|
131
|
+
"setup.gateway.joinCommandBlock": `Join command (one per device; run it on the Connector machine to consume):
|
|
132
|
+
{command}
|
|
191
133
|
`,
|
|
192
134
|
"admin.create.login": `login at {url} with user "{user}" and the password below (shown once)
|
|
193
135
|
`,
|
|
@@ -229,20 +171,21 @@ var chinese = Object.freeze({
|
|
|
229
171
|
rovloom config init gateway [--container] [--config /absolute/path/config.json]
|
|
230
172
|
rovloom config check [--role gateway|connector] [--config /absolute/path/config.json]
|
|
231
173
|
rovloom config check-runtime [--role gateway|connector] [--config /absolute/path/config.json]
|
|
232
|
-
rovloom gateway [--
|
|
233
|
-
rovloom connector
|
|
174
|
+
rovloom gateway [--issue-code] [--config /absolute/path/config.json] [--non-interactive]
|
|
175
|
+
rovloom connector --join <ws://host:port#\u914D\u5BF9\u7801> [--config /absolute/path/config.json]
|
|
176
|
+
rovloom connector --unpair [--non-interactive]
|
|
234
177
|
rovloom service --help
|
|
235
178
|
rovloom token --help
|
|
236
179
|
rovloom doctor --help
|
|
237
180
|
rovloom storage --help
|
|
238
181
|
rovloom admin --help
|
|
239
182
|
|
|
240
|
-
gateway / connector \u542F\u52A8\u5BF9\u5E94\u89D2\u8272\u3002\
|
|
241
|
-
\
|
|
242
|
-
--
|
|
243
|
-
|
|
244
|
-
--
|
|
245
|
-
|
|
183
|
+
gateway / connector \u542F\u52A8\u5BF9\u5E94\u89D2\u8272\u3002\u914D\u5BF9\u53EA\u9700\u4E00\u6761\u547D\u4EE4\uFF1A\u5728\u7BA1\u7406\u9875\u751F\u6210\u4E00\u673A\u4E00\u7801\uFF08\u6216\u8FD0\u884C rovloom gateway --issue-code \u6253\u5370\u4E00\u5F20\uFF09\uFF0C\u628A\u663E\u793A\u7684\u52A0\u5165\u547D\u4EE4\u590D\u5236\u5230 Connector \u673A\u5668\u6267\u884C\u5373\u53EF\u3002\u6CA1\u6709\u95EE\u7B54\u3001\u6279\u51C6\u6216\u6838\u5BF9\u7801\u3002
|
|
184
|
+
--issue-code \u8BA9\u8FD0\u884C\u4E2D\u7684 Gateway \u6253\u5370\u4E00\u5F20\u65B0\u7684\u4E00\u673A\u4E00\u7801\u53CA\u5B8C\u6574\u52A0\u5165\u547D\u4EE4\u3002
|
|
185
|
+
--join \u4E00\u6761\u547D\u4EE4\u5B8C\u6210\u914D\u5BF9\u5E76\u542F\u52A8\uFF1B\u7528\u65B0\u7801\u518D\u6B21\u6267\u884C\u5373\u628A\u672C\u673A\u4F5C\u4E3A\u65B0\u8BBE\u5907\u91CD\u65B0\u914D\u5BF9\uFF0C
|
|
186
|
+
\u6362\u4E00\u53F0 Gateway \u7684\u52A0\u5165\u547D\u4EE4\u5219\u4F1A\u9000\u5F79\u65E7\u72B6\u6001\u5E76\u76F4\u63A5\u914D\u5BF9\u8FC7\u53BB\u3002
|
|
187
|
+
--unpair \u628A\u672C\u5730\u914D\u5BF9\u72B6\u6001\u6574\u4F53\u9000\u5F79\uFF08\u4FDD\u7559\u5728 state/retired/\uFF09\u5E76\u6E05\u7A7A Gateway \u5730\u5740\uFF0C\u5F97\u5230\u5E72\u51C0\u7684\u8D77\u70B9\u3002
|
|
188
|
+
--non-interactive \u5173\u95ED\u672C\u5730\u4EA4\u4E92\u884C\u4E3A\uFF08\u670D\u52A1\u4EE5\u6B64\u8FD0\u884C\uFF09\u3002
|
|
246
189
|
token \u7BA1\u7406 MCP Bearer \u4EE4\u724C\uFF0Cadmin \u7BA1\u7406\u7BA1\u7406\u9875\u7BA1\u7406\u5458\uFF0Cservice \u7BA1\u7406\u5F00\u673A\u670D\u52A1\uFF1B\u8BE6\u89C1\u5404\u81EA\u7684 --help\u3002
|
|
247
190
|
config check \u53EA\u8BFB\u68C0\u67E5\u914D\u7F6E\u6587\u4EF6\uFF1Bcheck-runtime \u53E6\u6838\u5BF9\u7A0B\u5E8F\u7BA1\u7406\u7684\u72B6\u6001\uFF0C\u4E0D\u8BFB\u53D6\u51ED\u636E\u3002
|
|
248
191
|
|
|
@@ -263,7 +206,7 @@ Agent \u4E0E\u6A21\u578B\u767B\u5F55\u9700\u72EC\u7ACB\u51C6\u5907\uFF1B\u539F\u
|
|
|
263
206
|
\u540C\u540D\u7BA1\u7406\u5458\u88AB\u91CD\u65B0\u7B7E\u53D1\uFF0C\u65E7\u53E3\u4EE4\u4E0E\u5DF2\u767B\u5F55\u7684\u6D4F\u89C8\u5668\u4F1A\u8BDD\u7ACB\u5373\u5931\u6548\u3002revoke \u5220\u9664\u7BA1\u7406\u5458\uFF0C\u540C\u6837\u7ACB\u5373\u751F\u6548\u3002\u4FEE\u6539\u65E0\u9700\u91CD\u542F Gateway\u3002
|
|
264
207
|
\u7BA1\u7406\u5458\u4E0D\u80FD\u8C03\u7528 MCP\uFF0C\u4E5F\u4E0E MCP \u4EE4\u724C\u3001\u8BBE\u5907\u51ED\u636E\u4E92\u4E0D\u901A\u7528\uFF1B\u6709\u6548\u671F\u9ED8\u8BA4 {ttlDays} \u5929\uFF081-365\uFF09\u3002
|
|
265
208
|
\u53EF\u5728\u9996\u6B21\u914D\u5BF9\u524D\u521B\u5EFA\uFF1A\u5168\u65B0 Gateway \u4F1A\u81EA\u884C\u521D\u59CB\u5316\u7A7A\u7684 MCP \u8C03\u7528\u65B9\u6CE8\u518C\u8868\uFF0C\u968F\u540E\u5373\u53EF\u5728\u7BA1\u7406\u9875
|
|
266
|
-
\
|
|
209
|
+
\u914D\u5BF9\u9996\u53F0 Connector\uFF08\u751F\u6210\u4E00\u673A\u4E00\u7801\uFF0C\u8BBE\u5907\u6267\u884C\u663E\u793A\u7684\u52A0\u5165\u547D\u4EE4\uFF09\u3002
|
|
267
210
|
`,
|
|
268
211
|
"help.token": `\u7528\u6CD5\uFF1A
|
|
269
212
|
rovloom token list [--config /absolute/path/gateway.json]
|
|
@@ -305,97 +248,36 @@ Windows \u4F7F\u7528\u663E\u5F0F\u9009\u62E9\u7684\u65E2\u6709\u7528\u6237\u4E0E
|
|
|
305
248
|
"run.wildcardListenWarning": `wildcard_listener
|
|
306
249
|
MCP/\u7BA1\u7406\u9875\u76D1\u542C\u6240\u6709\u7F51\u5361\u4E14\u4E3A\u660E\u6587 HTTP\uFF1B\u8BF7\u7528\u9632\u706B\u5899\u6216 TLS \u53CD\u5411\u4EE3\u7406\u6536\u53E3\u3002
|
|
307
250
|
`,
|
|
308
|
-
"run.pairingRequiredHint": `Gateway \u5DF2\u542F\u52A8\uFF1B\u4F7F\u7528 Agent \u524D\
|
|
251
|
+
"run.pairingRequiredHint": `Gateway \u5DF2\u542F\u52A8\uFF1B\u4F7F\u7528 Agent \u524D\u5148\u914D\u5BF9\u4E00\u53F0 Connector\uFF08\u7BA1\u7406\u9875\u6216 rovloom gateway --issue-code \u751F\u6210\u914D\u5BF9\u7801\uFF0C\u8BBE\u5907\u6267\u884C\u52A0\u5165\u547D\u4EE4\uFF09\u3002
|
|
309
252
|
`,
|
|
310
|
-
"run.configurationRequiredHint": `\u521D\u59CB\u5316\u9700\
|
|
253
|
+
"run.configurationRequiredHint": `\u521D\u59CB\u5316\u9700\u53EF\u8FBE Gateway\u3001\u6709\u6548\u914D\u5BF9\u7801\u53CA\u517C\u5BB9\u7684 Luvus/Herdr \u5B89\u88C5\uFF1B\u7ED3\u679C\u4E0D\u786E\u5B9A\u65F6\u4FDD\u7559\u539F\u72B6\u6001\u5E76\u7531\u6240\u6709\u8005\u6838\u67E5\u3002
|
|
311
254
|
`,
|
|
312
|
-
"setup.
|
|
313
|
-
"setup.connector.pairingCodePrompt": "\u4E00\u6B21\u6027\u914D\u5BF9\u7801: ",
|
|
314
|
-
"setup.connector.trustGateway": "\u4FE1\u4EFB\u6B64 Gateway \u5730\u5740\u5E76\u5151\u6362\u4E00\u6B21\u6027\u8BBE\u5907\u914D\u5BF9\uFF1F",
|
|
315
|
-
"setup.connector.pairingCompleted": `pairing_completed: \u8BBE\u5907\u8EAB\u4EFD\u5DF2\u6301\u4E45\u914D\u5BF9\uFF1B\u63A5\u4E0B\u6765\u53D1\u73B0\u6240\u9009\u539F\u751F\u5B89\u88C5\u3002
|
|
255
|
+
"setup.native.managedUnsupportedWindows": `{provider}_managed_unsupported_on_windows: Windows \u4E0A\u6682\u4E0D\u652F\u6301 managed\uFF0C\u8BF7\u628A native.{configKey}.mode \u8BBE\u4E3A "attach"\u3002
|
|
316
256
|
`,
|
|
317
|
-
"setup.
|
|
257
|
+
"setup.native.managedUnsupportedMacos": `{provider}_managed_unsupported_on_macos: macOS \u4E0A\u6682\u4E0D\u652F\u6301 managed\uFF0C\u8BF7\u628A native.{configKey}.mode \u8BBE\u4E3A "attach"\u3002
|
|
318
258
|
`,
|
|
319
|
-
"setup.
|
|
259
|
+
"setup.join.completed": `pairing_completed: \u8BBE\u5907 {machine} \u5DF2\u4E0E {url} \u5B8C\u6210\u914D\u5BF9\u3002
|
|
320
260
|
`,
|
|
321
|
-
"setup.
|
|
261
|
+
"setup.join.providers": `providers: {entries}
|
|
322
262
|
`,
|
|
323
|
-
"setup.
|
|
263
|
+
"setup.join.mcpBlock": `MCP URL: {url}
|
|
264
|
+
Bearer (private): {token}
|
|
265
|
+
`,
|
|
266
|
+
"setup.join.resettingState": `\u53E6\u4E00\u53F0\u8BBE\u5907\u7684\u65E7\u914D\u5BF9\u72B6\u6001\u5DF2\u9000\u5F79\u5230 {retired}\uFF1B\u6B63\u4EE5\u65B0\u8BBE\u5907\u8EAB\u4EFD\u91CD\u65B0\u914D\u5BF9\u3002
|
|
267
|
+
`,
|
|
268
|
+
"setup.join.switchingGateway": `\u6B63\u5728\u52A0\u5165\u53E6\u4E00\u53F0 Gateway\uFF1B\u65E7\u914D\u5BF9\u72B6\u6001\u5DF2\u9000\u5F79\u5230 {retired}\u3002
|
|
269
|
+
`,
|
|
270
|
+
"unpair.completed": `unpair_completed: \u672C\u5730\u914D\u5BF9\u72B6\u6001\u5DF2\u9000\u5F79\u5230 {retired}\uFF0CGateway \u5730\u5740\u5DF2\u6E05\u7A7A\u3002
|
|
271
|
+
\u8FD0\u884C rovloom connector --join \u5373\u53EF\u4E0E\u4EFB\u610F Gateway \u91CD\u65B0\u914D\u5BF9\u3002
|
|
272
|
+
`,
|
|
273
|
+
"unpair.empty": `unpair_completed: \u672C\u673A\u6CA1\u6709\u53EF\u91CD\u7F6E\u7684\u914D\u5BF9\u72B6\u6001\u3002
|
|
324
274
|
`,
|
|
325
275
|
"setup.native.statePathTooLongLuvus": `native_state_path_too_long: \u521D\u59CB\u5316\u524D\u8BF7\u7F29\u77ED data.directory\uFF08Luvus \u72B6\u6001\u8DEF\u5F84\u6700\u591A52\u4E2AUTF-8\u5B57\u8282\uFF09\u3002
|
|
326
276
|
`,
|
|
327
277
|
"setup.native.statePathTooLongHerdr": `native_state_path_too_long: \u8BF7\u7F29\u77ED data.directory \u4EE5\u5BB9\u7EB3\u9694\u79BB Herdr \u7684 socket\uFF08\u542B herdr-client.sock\uFF09\u3002
|
|
328
278
|
`,
|
|
329
|
-
"setup.
|
|
330
|
-
|
|
331
|
-
"setup.prompt.connectorNativeIsolatedEnabled": "\u53D1\u73B0 {kind} \u5E76\u521B\u5EFA\u9694\u79BB\u72B6\u6001\uFF08\u7528\u6237\u914D\u7F6E\u5DF2\u5F00\u542F\u7EC8\u7AEF\u6267\u884C\uFF09\uFF1F",
|
|
332
|
-
"setup.prompt.connectorNativeIsolatedDisabled": "\u53D1\u73B0 {kind} \u5E76\u521B\u5EFA\u9694\u79BB\u72B6\u6001\uFF08\u5173\u95ED\u7EC8\u7AEF\u6267\u884C\uFF09\uFF1F",
|
|
333
|
-
"setup.prompt.gatewayNative": "\u6279\u51C6\u8FD9\u53F0\u8BBE\u5907\u7684\u5B9E\u6D4B Luvus\uFF08\u7248\u672C {version}\uFF0C\u4E8C\u8FDB\u5236 SHA-256 {sha}\uFF09\u3001\u666E\u901A\u7A97\u53E3/Agent \u64CD\u4F5C\u53CA\u4E00\u4E2A\u672C\u673A MCP caller\uFF08\u7EC8\u7AEF\u6267\u884C\u7531 Connector \u672C\u673A\u6240\u6709\u8005\u914D\u7F6E\u51B3\u5B9A\uFF09\uFF1F",
|
|
334
|
-
"setup.prompt.gatewayNativeInstallations": "\u6279\u51C6\u8FD9\u4E9B\u5B9E\u6D4B\u539F\u751F\u6765\u6E90\uFF08{entries}\uFF09\u3001\u5404\u81EA\u7A97\u53E3/Agent \u64CD\u4F5C\u53CA\u4E00\u4E2A\u672C\u673A MCP caller\uFF08\u7EC8\u7AEF\u6267\u884C\u7531 Connector \u672C\u673A\u6240\u6709\u8005\u914D\u7F6E\u51B3\u5B9A\uFF09\uFF1F",
|
|
335
|
-
"setup.repair.alreadyPaired": `\u6B64 Connector \u5DF2\u914D\u5BF9\u4E3A {machine}\u3002\u91CD\u65B0\u914D\u5BF9\u53EA\u66F4\u6362\u4E0E Gateway \u7684\u51ED\u636E\uFF0C\u4FDD\u7559\u539F\u751F\u8BBE\u7F6E\uFF1B\u8BF7\u5148\u505C\u6B62\u8BE5\u8BBE\u5907\u4E0A\u5176\u5B83\u6B63\u5728\u8FD0\u884C\u7684 Connector\u3002
|
|
336
|
-
`,
|
|
337
|
-
"setup.repair.codePrompt": "\u6765\u81EA rovloom gateway --repair-device \u7684\u4E00\u6B21\u6027\u7801: ",
|
|
338
|
-
"setup.repair.trustConfirm": "\u4FE1\u4EFB\u6B64 Gateway \u5730\u5740\u5E76\u7528\u65B0\u51ED\u636E\u66FF\u6362\u672C\u673A\u8BBE\u5907\u51ED\u636E\uFF1F",
|
|
339
|
-
"setup.repair.confirmationUnavailable": `\u672A\u6536\u5230 Gateway \u7684\u786E\u8BA4\uFF1B\u82E5 Connector \u4E4B\u540E\u65E0\u6CD5\u8BA4\u8BC1\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C\u91CD\u65B0\u914D\u5BF9\u3002
|
|
340
|
-
`,
|
|
341
|
-
"setup.repair.deviceRepaired": `device_repaired: \u8BBE\u5907\u51ED\u636E\u5DF2\u66F4\u6362\uFF1B\u6B63\u5728\u542F\u52A8 Connector\u3002
|
|
342
|
-
`,
|
|
343
|
-
"setup.gateway.resumeRePairing": `\u7EE7\u7EED\u539F\u91CD\u65B0\u914D\u5BF9\uFF0C\u7B49\u5F85 Connector \u91CD\u8FDE\u3002
|
|
344
|
-
`,
|
|
345
|
-
"setup.gateway.repairCodeBlock": `Gateway MCP: {mcpUrl}
|
|
346
|
-
Connector endpoint: {endpoint}
|
|
347
|
-
\u5DF2\u6709\u8BBE\u5907\u7684\u4E00\u6B21\u6027\u91CD\u65B0\u914D\u5BF9\u7801\uFF085\u5206\u949F\uFF0C\u8BF7\u4FDD\u5BC6\uFF09:
|
|
348
|
-
{code}
|
|
349
|
-
\u5728\u8BE5\u8BBE\u5907\u4E0A\u505C\u6B62 Connector\uFF0C\u8FD0\u884C rovloom connector --repair \u5E76\u8F93\u5165\u6B64\u7801\uFF1B\u65E7\u51ED\u636E\u5DF2\u5931\u6548\u3002
|
|
350
|
-
`,
|
|
351
|
-
"setup.gateway.endpoints": `Gateway MCP: {mcpUrl}
|
|
352
|
-
Connector endpoint: {endpoint}
|
|
353
|
-
`,
|
|
354
|
-
"setup.gateway.unpairedRunning": `Gateway \u4FDD\u6301\u672A\u914D\u5BF9\u5E76\u7EE7\u7EED\u8FD0\u884C\uFF0C\u4E0D\u7B7E\u53D1\u51ED\u636E\u3002
|
|
355
|
-
`,
|
|
356
|
-
"setup.gateway.managementFirstPairing": "\u5728\u7BA1\u7406\u9875\u5B8C\u6210\u9996\u6B21\u914D\u5BF9\uFF1A\u5148\u7528 `rovloom admin create` \u521B\u5EFA\u7BA1\u7406\u5458\uFF0C\u767B\u5F55 {page} \u65B0\u5EFA\u914D\u5BF9\u7533\u8BF7\uFF0C\u518D\u5728\u8BBE\u5907\u4E0A\u8FD0\u884C `rovloom connector --claim`\u3002\n",
|
|
357
|
-
"setup.gateway.managementDisabled": `\u7BA1\u7406\u9875\u672A\u542F\u7528\uFF1B\u8BF7\u542F\u7528\u540E\u91CD\u8BD5\u6216\u5728\u672C\u7EC8\u7AEF\u5B8C\u6210\u914D\u5BF9\u3002
|
|
358
|
-
`,
|
|
359
|
-
"setup.gateway.pairingCodeBlock": `\u4E00\u6B21\u6027\u914D\u5BF9\u7801\uFF085\u5206\u949F\uFF0C\u8BF7\u4FDD\u5BC6\uFF09:
|
|
360
|
-
{code}
|
|
361
|
-
\u5728 Connector \u7684\u672C\u5730\u7EC8\u7AEF\u8F93\u5165 Gateway \u5730\u5740\u4E0E\u8BE5\u7801\uFF1B\u968F\u540E\u56DE\u5230\u6B64\u7EC8\u7AEF\u6279\u51C6\u5B9E\u6D4B\u5B89\u88C5\u3002
|
|
362
|
-
`,
|
|
363
|
-
"setup.gateway.resumingExisting": `\u7EE7\u7EED\u539F\u8BBE\u7F6E\uFF0C\u4E0D\u91CD\u65B0\u7B7E\u53D1\u3002
|
|
364
|
-
`,
|
|
365
|
-
"setup.gateway.connectorReady": `connector_ready: Connector \u5DF2\u901A\u8FC7\u771F\u5B9E\u8BA4\u8BC1\u4E14\u5168\u90E8\u6240\u9009\u539F\u751F provider \u5C31\u7EEA\u3002
|
|
366
|
-
`,
|
|
367
|
-
"setup.gateway.adminBlock": `
|
|
368
|
-
\u7BA1\u7406\u9875: {page}
|
|
369
|
-
\u7BA1\u7406\u5458: admin
|
|
370
|
-
\u7BA1\u7406\u5458\u5BC6\u7801: {secret}
|
|
371
|
-
(\u53EA\u663E\u793A\u4E00\u6B21\uFF1B\u4E22\u5931\u540E\u8FD0\u884C rovloom admin create \u91CD\u65B0\u7B7E\u53D1\u3002)`,
|
|
372
|
-
"setup.gateway.adminNotCreated": `
|
|
373
|
-
\u672A\u80FD\u521B\u5EFA\u7BA1\u7406\u9875\u7BA1\u7406\u5458\uFF0C\u8BF7\u7A0D\u540E\u8FD0\u884C rovloom admin create\u3002`,
|
|
374
|
-
"setup.gateway.nativeSaved": `\u539F\u751F\u914D\u7F6E\u5DF2\u4FDD\u5B58\uFF0CGateway \u5C06\u91CD\u5F00\u5B9E\u9645 provider\u3002
|
|
375
|
-
MCP \u51ED\u636E\u6587\u4EF6: {clientPath}
|
|
376
|
-
MCP URL: {url}
|
|
377
|
-
Targets: {targets}
|
|
378
|
-
Binding revision: 1`,
|
|
379
|
-
"setup.gateway.bearerAdditional": `
|
|
380
|
-
\u73B0\u6709 MCP Bearer \u5DF2\u8986\u76D6\u6B64\u8BBE\u5907\uFF08\u4E0D\u518D\u663E\u793A\uFF1B\u7528 token create --like \u514B\u9686\u7684\u4EE4\u724C\u9700\u8981\u91CD\u65B0\u514B\u9686\uFF09\u3002`,
|
|
381
|
-
"setup.gateway.bearerSecret": `
|
|
382
|
-
Bearer (private): {token}`,
|
|
383
|
-
"setup.approval.resumeConfirm": "\u7EE7\u7EED\u539F\u8BBE\u5907\u8BBE\u7F6E\uFF1F",
|
|
384
|
-
"setup.approval.pairConfirm": "\u5141\u8BB8\u914D\u5BF9\u4E00\u4E2A Connector\uFF1F",
|
|
385
|
-
"setup.approval.repairDeviceConfirm": "\u91CD\u65B0\u914D\u5BF9\u5DF2\u6709\u8BBE\u5907 {name}\uFF08{machine}\uFF09\uFF1F\u8BE5\u8BBE\u5907\u5F53\u524D\u51ED\u636E\u7ACB\u5373\u5931\u6548\uFF0C\u8FDB\u884C\u4E2D\u7684\u8C03\u7528\u7ED3\u679C\u53D8\u4E3A\u672A\u77E5\u3002",
|
|
386
|
-
"setup.claim.pairingCompletedActivated": `pairing_completed: \u8BBE\u5907\u8EAB\u4EFD\u5DF2\u6301\u4E45\u914D\u5BF9\uFF0C\u539F\u751F\u6FC0\u6D3B\u5DF2\u5B8C\u6210\u3002
|
|
387
|
-
`,
|
|
388
|
-
"setup.claim.waitEnded": `\u7B49\u5F85\u6279\u51C6\u5DF2\u7ED3\u675F\uFF1B\u91CD\u65B0\u8FD0\u884C\u540C\u4E00\u547D\u4EE4\u53EF\u7EE7\u7EED\u539F\u8BA4\u9886\u3002
|
|
389
|
-
`,
|
|
390
|
-
"setup.claim.restartConfirm": "\u539F\u8BA4\u9886\u5DF2\u7EC8\u6B62\u6216\u8FC7\u671F\uFF0C\u662F\u5426\u4F7F\u7528\u65B0\u7684\u914D\u5BF9\u7533\u8BF7\u91CD\u65B0\u8BA4\u9886\uFF1F",
|
|
391
|
-
"setup.claim.pairingIdPrompt": "\u914D\u5BF9\u7533\u8BF7 ID: ",
|
|
392
|
-
"setup.claim.trustConfirm": "\u4FE1\u4EFB\u6B64 Gateway \u5730\u5740\u5E76\u5728\u7EBF\u8BA4\u9886\u8BBE\u5907\u914D\u5BF9\uFF1F",
|
|
393
|
-
"setup.claim.claimCodeBlock": `\u6838\u5BF9\u7801: {code}
|
|
394
|
-
\u8BF7\u5728\u7BA1\u7406\u9875\u4E3A\u8BBE\u5907 {machine} \u6838\u5BF9\u5E76\u6279\u51C6\u6B64\u7801\u3002
|
|
395
|
-
`,
|
|
396
|
-
"setup.claim.activationResponseUnavailable": `\u539F\u751F\u6FC0\u6D3B\u54CD\u5E94\u4E0D\u53EF\u7528\uFF1B\u91CD\u65B0\u8FD0\u884C\u540C\u4E00\u547D\u4EE4\u6309\u539F\u8BA4\u9886\u6838\u5BF9\u3002
|
|
397
|
-
`,
|
|
398
|
-
"setup.claim.nativeStatePrepared": `\u539F\u751F\u72B6\u6001\u5DF2\u51C6\u5907\uFF1B\u542F\u52A8\u6B63\u5F0F Connector\u3002
|
|
279
|
+
"setup.gateway.joinCommandBlock": `\u52A0\u5165\u547D\u4EE4\uFF08\u4E00\u673A\u4E00\u7801\uFF0C\u590D\u5236\u5230 Connector \u673A\u5668\u6267\u884C\u5373\u6D88\u8D39\uFF09\uFF1A
|
|
280
|
+
{command}
|
|
399
281
|
`,
|
|
400
282
|
"admin.create.login": `\u5728 {url} \u7528\u7528\u6237\u540D "{user}" \u548C\u4E0B\u65B9\u5BC6\u7801\u767B\u5F55\uFF08\u5BC6\u7801\u53EA\u663E\u793A\u4E00\u6B21\uFF09
|
|
401
283
|
`,
|
|
@@ -435,4 +317,4 @@ function formatMessage2(template, values) {
|
|
|
435
317
|
|
|
436
318
|
export { resolveCliLanguage2, cliMessages2, formatMessage2 };
|
|
437
319
|
|
|
438
|
-
//# debugId=
|
|
320
|
+
//# debugId=768BC4F3AD60420064756E2164756E21
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/connector/luvus/types.ts
|
|
3
|
+
class LuvusAdapterError2 extends Error {
|
|
4
|
+
code;
|
|
5
|
+
outcome;
|
|
6
|
+
constructor(code, outcome = "not_dispatched") {
|
|
7
|
+
super(code);
|
|
8
|
+
this.code = code;
|
|
9
|
+
this.outcome = outcome;
|
|
10
|
+
this.name = "LuvusAdapterError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// src/connector/capacity.ts
|
|
15
|
+
class ConnectorCapacityError extends LuvusAdapterError2 {
|
|
16
|
+
capacity;
|
|
17
|
+
constructor(resource, reclaimAt) {
|
|
18
|
+
super(resource.startsWith("claim_") ? "claim_capacity" : "connector_attempt_capacity");
|
|
19
|
+
this.capacity = Object.freeze({ resource, reclaim_at: reclaimAt });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { LuvusAdapterError2, ConnectorCapacityError };
|
|
24
|
+
|
|
25
|
+
//# debugId=756004902A6361DA64756E2164756E21
|