@cotal-ai/cli 0.26.0 → 0.28.0-hack-20260823202734
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/meshes-add.d.ts +76 -10
- package/dist/commands/meshes-add.d.ts.map +1 -1
- package/dist/commands/meshes-add.js +214 -49
- package/dist/commands/meshes-add.js.map +1 -1
- package/dist/commands/meshes-wizard.d.ts.map +1 -1
- package/dist/commands/meshes-wizard.js +67 -7
- package/dist/commands/meshes-wizard.js.map +1 -1
- package/dist/commands/meshes.d.ts +16 -2
- package/dist/commands/meshes.d.ts.map +1 -1
- package/dist/commands/meshes.js +170 -8
- package/dist/commands/meshes.js.map +1 -1
- package/dist/commands/personas.d.ts.map +1 -1
- package/dist/commands/personas.js +12 -2
- package/dist/commands/personas.js.map +1 -1
- package/dist/commands/up.d.ts +3 -0
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +34 -5
- package/dist/commands/up.js.map +1 -1
- package/dist/lib/auth-proc.d.ts +4 -0
- package/dist/lib/auth-proc.d.ts.map +1 -1
- package/dist/lib/auth-proc.js +3 -3
- package/dist/lib/auth-proc.js.map +1 -1
- package/dist/lib/join-target.d.ts +79 -18
- package/dist/lib/join-target.d.ts.map +1 -1
- package/dist/lib/join-target.js +226 -21
- package/dist/lib/join-target.js.map +1 -1
- package/dist/seed/store.d.ts.map +1 -1
- package/dist/seed/store.js +23 -2
- package/dist/seed/store.js.map +1 -1
- package/package.json +3 -3
|
@@ -2,7 +2,8 @@ import * as p from "@clack/prompts";
|
|
|
2
2
|
import { findMesh } from "@cotal-ai/workspace";
|
|
3
3
|
import { bold, brand, brandBold, dim, ok } from "../lib/theme.js";
|
|
4
4
|
import { abortIfCancel } from "../lib/cancel.js";
|
|
5
|
-
import {
|
|
5
|
+
import { readFileSync } from "node:fs";
|
|
6
|
+
import { candidateTarget, checkDialPolicy, checkEnforcement, checkMode, checkRoot, checkServer, checkTrust, checkUserBundle, isDir, persistRemoteUserEntry, probeEnforcement, spacesAtRoot, tlsIntent, verifyTarget, verifyUserExchange, writeRecord, } from "./meshes-add.js";
|
|
6
7
|
/** The real terminal, via clack. Cancellation (Ctrl-C / Esc) exits here rather than returning a
|
|
7
8
|
* sentinel the wizard body would have to thread through every branch. */
|
|
8
9
|
export function clackIO() {
|
|
@@ -71,8 +72,9 @@ export async function addWizard(seed, cwd, io = clackIO()) {
|
|
|
71
72
|
// Classified as a CANDIDATE here (acceptance granted for the check) so an overlay
|
|
72
73
|
// address survives the prompt and reaches the question below. Refusing it here made
|
|
73
74
|
// that question unreachable: the operator could never say yes to something the
|
|
74
|
-
// validator had already rejected.
|
|
75
|
-
|
|
75
|
+
// validator had already rejected. TLS intent comes from the typed scheme — the
|
|
76
|
+
// guided form's one source for it.
|
|
77
|
+
const d = checkDialPolicy(v, { tlsRequired: tlsIntent(v, false), allowUnencryptedOverlay: true });
|
|
76
78
|
return d.ok ? undefined : d.message.replace(/^✗ /, "");
|
|
77
79
|
},
|
|
78
80
|
});
|
|
@@ -84,7 +86,7 @@ export async function addWizard(seed, cwd, io = clackIO()) {
|
|
|
84
86
|
server = undefined;
|
|
85
87
|
continue;
|
|
86
88
|
}
|
|
87
|
-
const dial = checkDialPolicy(server, true); // candidate; the ask below decides
|
|
89
|
+
const dial = checkDialPolicy(server, { tlsRequired: tlsIntent(server, false), allowUnencryptedOverlay: true }); // candidate; the ask below decides
|
|
88
90
|
if (!dial.ok) {
|
|
89
91
|
io.log.error(dial.message);
|
|
90
92
|
server = undefined;
|
|
@@ -99,7 +101,7 @@ export async function addWizard(seed, cwd, io = clackIO()) {
|
|
|
99
101
|
// register an overlay mesh at all, and silently accepting would be the warning-and-continue
|
|
100
102
|
// shape that was just removed.
|
|
101
103
|
if (ackedFor !== server) {
|
|
102
|
-
const probe = checkDialPolicy(server, true);
|
|
104
|
+
const probe = checkDialPolicy(server, { tlsRequired: tlsIntent(server, false), allowUnencryptedOverlay: true });
|
|
103
105
|
if (probe.ok && probe.value.residual) {
|
|
104
106
|
io.log.warn(probe.value.residual);
|
|
105
107
|
// DEFAULT DENY. This is the one confirmation in the wizard where pressing Enter must not
|
|
@@ -115,7 +117,7 @@ export async function addWizard(seed, cwd, io = clackIO()) {
|
|
|
115
117
|
}
|
|
116
118
|
// Re-checked with the REAL answer, so the decision is enforced by the same rule the flag form
|
|
117
119
|
// uses rather than by the branch above happening to be right.
|
|
118
|
-
const settled = checkDialPolicy(server, ackedFor === server);
|
|
120
|
+
const settled = checkDialPolicy(server, { tlsRequired: tlsIntent(server, false), allowUnencryptedOverlay: ackedFor === server });
|
|
119
121
|
if (!settled.ok) {
|
|
120
122
|
io.log.error(settled.message);
|
|
121
123
|
server = undefined;
|
|
@@ -186,11 +188,66 @@ export async function addWizard(seed, cwd, io = clackIO()) {
|
|
|
186
188
|
message: "That folder holds no credentials for this broker. What next?",
|
|
187
189
|
options: [
|
|
188
190
|
{ value: "root", label: "Point at a different folder", hint: "one that already holds its credentials" },
|
|
191
|
+
{ value: "bundle", label: "It is a hosted user-auth mesh - I have its trust bundle", hint: "a bundle.json exported where the mesh runs" },
|
|
189
192
|
{ value: "cancel", label: "Cancel" },
|
|
190
193
|
],
|
|
191
194
|
});
|
|
192
195
|
if (next === "cancel")
|
|
193
196
|
return cancelled(io);
|
|
197
|
+
// THE ONE GUIDED USER-AUTH BRANCH. No rule lives here: the bundle validation, the exchange
|
|
198
|
+
// trust probe, the auth-required PASS, and the record writer are the same functions the flag
|
|
199
|
+
// form calls (meshes-add.ts owns them); this branch only asks for the file and presents
|
|
200
|
+
// failures.
|
|
201
|
+
if (next === "bundle") {
|
|
202
|
+
const path = await io.text({
|
|
203
|
+
message: "Path to the trust bundle (bundle.json)",
|
|
204
|
+
placeholder: "exported where the mesh runs",
|
|
205
|
+
validate: (p) => (p ? undefined : "Required - the bundle carries the pins this registration adopts."),
|
|
206
|
+
});
|
|
207
|
+
let rawBundle;
|
|
208
|
+
try {
|
|
209
|
+
rawBundle = readFileSync(path, "utf8");
|
|
210
|
+
}
|
|
211
|
+
catch (e) {
|
|
212
|
+
io.log.error(`Cannot read ${path} (${e.message})`);
|
|
213
|
+
return cancelled(io, "Nothing was registered.");
|
|
214
|
+
}
|
|
215
|
+
const parsed = checkUserBundle(rawBundle);
|
|
216
|
+
if (!parsed.ok) {
|
|
217
|
+
io.log.error(parsed.message);
|
|
218
|
+
return cancelled(io, "Nothing was registered.");
|
|
219
|
+
}
|
|
220
|
+
const b = parsed.value;
|
|
221
|
+
const userTls = b.tlsRequired || tlsIntent(server, false);
|
|
222
|
+
const userDial = checkDialPolicy(server, { tlsRequired: userTls, allowUnencryptedOverlay: ackedFor === server });
|
|
223
|
+
if (!userDial.ok) {
|
|
224
|
+
io.log.error(userDial.message);
|
|
225
|
+
return cancelled(io, "Nothing was registered.");
|
|
226
|
+
}
|
|
227
|
+
const exch = await verifyUserExchange(b.userAuth.endpoints.url, b.userAuth.idp.issuer);
|
|
228
|
+
if (!exch.ok) {
|
|
229
|
+
io.log.error(exch.message);
|
|
230
|
+
return cancelled(io, "Nothing was registered.");
|
|
231
|
+
}
|
|
232
|
+
const enforce = checkEnforcement("user", enforces, server, b.space, root);
|
|
233
|
+
if (!enforce.ok) {
|
|
234
|
+
io.log.error(enforce.message);
|
|
235
|
+
return cancelled(io, "Nothing was registered.");
|
|
236
|
+
}
|
|
237
|
+
io.note([
|
|
238
|
+
`space ${b.space}`,
|
|
239
|
+
`broker ${server}${userTls ? " (TLS required)" : ""}`,
|
|
240
|
+
`issuer ${b.userAuth.idp.issuer}`,
|
|
241
|
+
`audience ${b.userAuth.idp.audience}`,
|
|
242
|
+
`exchange ${b.userAuth.endpoints?.url}`,
|
|
243
|
+
].join("\n"), brand("About to record (user-auth, pinned)"));
|
|
244
|
+
const goUser = await io.confirm({ message: "Register this user-auth mesh?" });
|
|
245
|
+
if (!goUser)
|
|
246
|
+
return cancelled(io, "Nothing was registered.");
|
|
247
|
+
persistRemoteUserEntry(b.space, server, root, b, userTls, Boolean(userDial.value.residual));
|
|
248
|
+
io.outro(ok(`Registered "${b.space}"`));
|
|
249
|
+
return true;
|
|
250
|
+
}
|
|
194
251
|
root = undefined; // ask for a path; never re-infer, or this offers the same dead end again
|
|
195
252
|
defaultRoot = undefined; // …and never offer the folder we just rejected as the default
|
|
196
253
|
}
|
|
@@ -266,7 +323,7 @@ export async function addWizard(seed, cwd, io = clackIO()) {
|
|
|
266
323
|
}
|
|
267
324
|
// ── 5. verify for real, then confirm ──────────────────────────────────────────────────────────
|
|
268
325
|
if (!unverified) {
|
|
269
|
-
const target = candidateTarget(space, server, root, mode, trust.value);
|
|
326
|
+
const target = candidateTarget(space, server, root, mode, trust.value, tlsIntent(server, false));
|
|
270
327
|
const spin = io.spinner();
|
|
271
328
|
spin.start(mode === "auth" ? `Checking this folder's credentials for "${space}"` : `Checking the connection to "${space}"`);
|
|
272
329
|
const verified = await verifyTarget(target);
|
|
@@ -300,6 +357,9 @@ export async function addWizard(seed, cwd, io = clackIO()) {
|
|
|
300
357
|
// opt-in replaced, one surface over.
|
|
301
358
|
const entry = {
|
|
302
359
|
space, server: server, root, mode, origin: "manual",
|
|
360
|
+
// The guided form's TLS intent is the typed scheme, persisted the same way the flag form
|
|
361
|
+
// persists it — recorded strictness is what the dial policy relaxed on, so it must be carried.
|
|
362
|
+
...(tlsIntent(server, false) ? { tlsRequired: true } : {}),
|
|
303
363
|
// From the FINAL classification, never from "the operator accepted something earlier". The
|
|
304
364
|
// flag form persists `dial.residual` for the same reason: the field is evidence about the
|
|
305
365
|
// recorded target, and evidence that can detach from its subject is worse than none, because
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meshes-wizard.js","sourceRoot":"","sources":["../../src/commands/meshes-wizard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"meshes-wizard.js","sourceRoot":"","sources":["../../src/commands/meshes-wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,12 +12,26 @@ export declare const meshesFlags: readonly [{
|
|
|
12
12
|
}, {
|
|
13
13
|
readonly name: "mode";
|
|
14
14
|
readonly type: "string";
|
|
15
|
-
readonly value: "<auth|open>";
|
|
16
|
-
readonly description: "add: how the broker authenticates (default: inferred from --root)";
|
|
15
|
+
readonly value: "<auth|open|user>";
|
|
16
|
+
readonly description: "add: how the broker authenticates (default: inferred from --root; user needs --user-auth-file or --from)";
|
|
17
|
+
}, {
|
|
18
|
+
readonly name: "user-auth-file";
|
|
19
|
+
readonly type: "string";
|
|
20
|
+
readonly value: "<bundle.json>";
|
|
21
|
+
readonly description: "add --mode user: the pinned-trust bundle exported where the mesh runs";
|
|
22
|
+
}, {
|
|
23
|
+
readonly name: "from";
|
|
24
|
+
readonly type: "string";
|
|
25
|
+
readonly value: "<https url>";
|
|
26
|
+
readonly description: "add --mode user: fetch the mesh's /.well-known/cotal-mesh discovery document (pins are shown and confirmed)";
|
|
17
27
|
}, {
|
|
18
28
|
readonly name: "force";
|
|
19
29
|
readonly type: "boolean";
|
|
20
30
|
readonly description: "add: record without verifying, replacing any existing record · rm: drop a running mesh's record";
|
|
31
|
+
}, {
|
|
32
|
+
readonly name: "tls";
|
|
33
|
+
readonly type: "boolean";
|
|
34
|
+
readonly description: "add: require TLS on every connection resolved through this record (a tls:// --server implies it)";
|
|
21
35
|
}, {
|
|
22
36
|
readonly name: "allow-unencrypted-overlay";
|
|
23
37
|
readonly type: "boolean";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meshes.d.ts","sourceRoot":"","sources":["../../src/commands/meshes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"meshes.d.ts","sourceRoot":"","sources":["../../src/commands/meshes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAkC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkDxG,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASgB,CAAC;AAIzC,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5D;AAuVD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAa/D"}
|
package/dist/commands/meshes.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
1
2
|
import {} from "@cotal-ai/core";
|
|
2
3
|
import { authDir, clearCurrent, findMesh, getCurrent, loadMeshes, removeMesh, } from "@cotal-ai/workspace";
|
|
3
4
|
import { c } from "../ui.js";
|
|
4
5
|
import { pruneStaleMeshes } from "../lib/meshes.js";
|
|
5
6
|
import { completingFlagValue } from "../lib/completion.js";
|
|
6
7
|
import { liveMeshOwner } from "./clean.js";
|
|
7
|
-
import { candidateTarget, checkDialPolicy, checkEnforcement, checkMode, checkRoot, checkServer, checkTrust, probeEnforcement, spacesAtRoot, verifyTarget, writeRecord, } from "./meshes-add.js";
|
|
8
|
+
import { candidateTarget, checkDialPolicy, checkEnforcement, checkMode, checkRoot, checkServer, checkTrust, checkUserBundle, persistRemoteUserEntry, probeEnforcement, spacesAtRoot, tlsIntent, verifyUserExchange, verifyTarget, writeRecord, } from "./meshes-add.js";
|
|
8
9
|
import { addWizard, canPrompt } from "./meshes-wizard.js";
|
|
9
10
|
/**
|
|
10
11
|
* `cotal meshes` — the registry of meshes this machine can reach, and the two verbs that maintain
|
|
@@ -23,8 +24,11 @@ const SUBCOMMANDS = ["list", "add", "rm", "remove"];
|
|
|
23
24
|
export const meshesFlags = [
|
|
24
25
|
{ name: "server", type: "string", value: "<url>", description: "add: the mesh's broker URL (required)" },
|
|
25
26
|
{ name: "root", type: "string", value: "<dir>", description: "add: folder holding this mesh's .cotal/auth + .cotal/agents (default: this project)" },
|
|
26
|
-
{ name: "mode", type: "string", value: "<auth|open>", description: "add: how the broker authenticates (default: inferred from --root)" },
|
|
27
|
+
{ name: "mode", type: "string", value: "<auth|open|user>", description: "add: how the broker authenticates (default: inferred from --root; user needs --user-auth-file or --from)" },
|
|
28
|
+
{ name: "user-auth-file", type: "string", value: "<bundle.json>", description: "add --mode user: the pinned-trust bundle exported where the mesh runs" },
|
|
29
|
+
{ name: "from", type: "string", value: "<https url>", description: "add --mode user: fetch the mesh's /.well-known/cotal-mesh discovery document (pins are shown and confirmed)" },
|
|
27
30
|
{ name: "force", type: "boolean", description: "add: record without verifying, replacing any existing record · rm: drop a running mesh's record" },
|
|
31
|
+
{ name: "tls", type: "boolean", description: "add: require TLS on every connection resolved through this record (a tls:// --server implies it)" },
|
|
28
32
|
{ name: "allow-unencrypted-overlay", type: "boolean", description: "add: accept that an overlay address is protected only while its tunnel is up (recorded on the entry)" },
|
|
29
33
|
];
|
|
30
34
|
export async function meshes(args) {
|
|
@@ -81,9 +85,14 @@ async function listMeshes() {
|
|
|
81
85
|
async function addMesh(positionals, v) {
|
|
82
86
|
const space = positionals[0];
|
|
83
87
|
if (positionals.length > 1) {
|
|
84
|
-
console.error(c.red("usage: cotal meshes add <space> --server <url> [--root <dir>] [--mode auth|open]"));
|
|
88
|
+
console.error(c.red("usage: cotal meshes add <space> --server <url> [--root <dir>] [--mode auth|open|user]"));
|
|
85
89
|
process.exit(1);
|
|
86
90
|
}
|
|
91
|
+
// THE USER ARM — its own path because everything about it inverts the static flow: the server
|
|
92
|
+
// comes from the supplied bundle rather than --server, trust composes against a pinned exchange
|
|
93
|
+
// rather than on-disk material, and the enforcement PASS is the broker's refusal.
|
|
94
|
+
if (v.mode === "user" || v["user-auth-file"] || v.from)
|
|
95
|
+
return addUserMesh(space, v);
|
|
87
96
|
// GUIDED FORM. A registration needs four facts, three of which the machine can find out — so a
|
|
88
97
|
// command missing either irreducible one, on a real terminal, is an operator who would rather be
|
|
89
98
|
// asked than read a usage line. Scripts and agents are unaffected: without a TTY (or with
|
|
@@ -105,9 +114,13 @@ async function addMesh(positionals, v) {
|
|
|
105
114
|
process.exit(1);
|
|
106
115
|
}
|
|
107
116
|
const server = take(checkServer(v.server));
|
|
117
|
+
// The strictness this registration RECORDS — from --tls or a tls:// scheme — and therefore what
|
|
118
|
+
// every dial through the record will enforce. Sourced once, so the dial policy, the candidate
|
|
119
|
+
// probe and the written entry cannot disagree.
|
|
120
|
+
const tlsRequired = tlsIntent(server, Boolean(v.tls));
|
|
108
121
|
// Above the `--force` branch on purpose: this decides whether credentials may cross the network
|
|
109
122
|
// to that address at all, which `--force` ("the mesh is down right now") must never waive.
|
|
110
|
-
const dial = take(checkDialPolicy(server, Boolean(v["allow-unencrypted-overlay"])));
|
|
123
|
+
const dial = take(checkDialPolicy(server, { tlsRequired, allowUnencryptedOverlay: Boolean(v["allow-unencrypted-overlay"]) }));
|
|
111
124
|
// A permitted-but-not-guaranteed target is SAID OUT LOUD, never recorded quietly. Today that is
|
|
112
125
|
// the overlay literal whose protection depends on a tunnel we cannot verify from here; the
|
|
113
126
|
// operator is the only one who can know whether it is up, so the operator is told.
|
|
@@ -115,7 +128,7 @@ async function addMesh(positionals, v) {
|
|
|
115
128
|
console.error(c.yellow(`! ${dial.residual}`));
|
|
116
129
|
const root = take(checkRoot(v.root, process.cwd()));
|
|
117
130
|
const accounts = take(spacesAtRoot(root));
|
|
118
|
-
const mode = take(checkMode(space, root, accounts, v.mode));
|
|
131
|
+
const mode = take(checkMode(space, root, accounts, v.mode, false));
|
|
119
132
|
if (mode === "open" && accounts.includes(space))
|
|
120
133
|
console.log(c.dim(`note: ${authDir(root)} holds trust for "${space}", but --mode open records a credless connect`));
|
|
121
134
|
const auth = take(checkTrust(mode, root, space));
|
|
@@ -131,14 +144,14 @@ async function addMesh(positionals, v) {
|
|
|
131
144
|
// success line rather than pretending the mesh was checked.
|
|
132
145
|
if (!v.force) {
|
|
133
146
|
take(checkEnforcement(mode, await probeEnforcement(server), server, space, root));
|
|
134
|
-
const verified = await verifyTarget(candidateTarget(space, server, root, mode, auth));
|
|
147
|
+
const verified = await verifyTarget(candidateTarget(space, server, root, mode, auth, tlsRequired));
|
|
135
148
|
if (!verified.ok) {
|
|
136
149
|
console.error(c.red(verified.message));
|
|
137
150
|
console.error(c.dim("nothing was registered - fix the above, or `--force` to record it without verifying (e.g. the mesh is down right now)"));
|
|
138
151
|
process.exit(1);
|
|
139
152
|
}
|
|
140
153
|
}
|
|
141
|
-
const result = writeRecord({ space, server, root, mode, origin: "manual", ...(dial.residual ? { unencryptedOverlay: true } : {}), ts: new Date().toISOString() });
|
|
154
|
+
const result = writeRecord({ space, server, root, mode, origin: "manual", ...(tlsRequired ? { tlsRequired: true } : {}), ...(dial.residual ? { unencryptedOverlay: true } : {}), ts: new Date().toISOString() });
|
|
142
155
|
console.log(c.green(`✓ registered "${space}"`),
|
|
143
156
|
// "recorded without verifying" describes THIS registration, not a durable property of the
|
|
144
157
|
// record: verification is point-in-time — a verified record loses it the moment a port is
|
|
@@ -152,6 +165,151 @@ async function addMesh(positionals, v) {
|
|
|
152
165
|
if (result.keptCurrent)
|
|
153
166
|
console.log(c.dim(`current is still "${result.keptCurrent}" - \`cotal use ${space}\` to switch`));
|
|
154
167
|
}
|
|
168
|
+
/** `cotal meshes add <space> --mode user` — register a REMOTE user-auth mesh from supplied pinned
|
|
169
|
+
* trust. The pins are never guessed: they arrive in a bundle exported where the mesh runs
|
|
170
|
+
* (`--user-auth-file`), or in its HTTPS discovery document (`--from`), which is fetched, shown,
|
|
171
|
+
* and explicitly confirmed. Verification is the user arm's own: the pinned exchange must answer
|
|
172
|
+
* `/health` + `/jwks` as the pinned issuer, and the broker's auth-required refusal of a credless
|
|
173
|
+
* probe is the PASS. The registration still goes THROUGH the dial-policy fence — never around
|
|
174
|
+
* it — with the bundle's recorded strictness as the policy input. */
|
|
175
|
+
async function addUserMesh(spaceArg, v) {
|
|
176
|
+
if (v.mode !== undefined && v.mode !== "user") {
|
|
177
|
+
console.error(c.red(`✗ --user-auth-file/--from register a user-auth mesh - they cannot be combined with --mode ${v.mode}`));
|
|
178
|
+
process.exit(1);
|
|
179
|
+
}
|
|
180
|
+
if (v["user-auth-file"] && v.from) {
|
|
181
|
+
console.error(c.red("✗ pass either --user-auth-file or --from, not both - they are two sources for the same pinned trust"));
|
|
182
|
+
process.exit(1);
|
|
183
|
+
}
|
|
184
|
+
// No source supplied at all: this is the old blanket refusal's successor, and it must carry the
|
|
185
|
+
// way through. checkMode owns the sentence so both front ends refuse identically.
|
|
186
|
+
if (!v["user-auth-file"] && !v.from) {
|
|
187
|
+
const refusal = checkMode(spaceArg ?? "", "", [], "user", false);
|
|
188
|
+
console.error(c.red(refusal.ok ? "✗ --mode user needs --user-auth-file <bundle.json> or --from <https url>" : refusal.message));
|
|
189
|
+
process.exit(1);
|
|
190
|
+
}
|
|
191
|
+
// ── the pins ────────────────────────────────────────────────────────────────────────────────
|
|
192
|
+
let raw;
|
|
193
|
+
if (v["user-auth-file"]) {
|
|
194
|
+
try {
|
|
195
|
+
raw = readFileSync(v["user-auth-file"], "utf8");
|
|
196
|
+
}
|
|
197
|
+
catch (e) {
|
|
198
|
+
console.error(c.red(`✗ cannot read --user-auth-file ${v["user-auth-file"]} (${e.message})`));
|
|
199
|
+
process.exit(1);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
// HTTPS ONLY. The document IS the trust being adopted; fetching it in plaintext would let the
|
|
204
|
+
// network choose the pins, which is the exact failure pinning exists to prevent.
|
|
205
|
+
let disco;
|
|
206
|
+
try {
|
|
207
|
+
disco = new URL(v.from);
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
console.error(c.red(`✗ --from is not a URL`));
|
|
211
|
+
process.exit(1);
|
|
212
|
+
}
|
|
213
|
+
if (disco.protocol !== "https:") {
|
|
214
|
+
console.error(c.red(`✗ --from must be an https:// URL - the discovery document carries the trust pins this registration adopts, and a plaintext fetch lets the network choose them`));
|
|
215
|
+
process.exit(1);
|
|
216
|
+
}
|
|
217
|
+
// CONSENT BEFORE THE NETWORK. Fetching first meant a bare `--from <url>` reached out to a
|
|
218
|
+
// host the operator had not yet agreed to talk to, and on a pipe it did so with no way to
|
|
219
|
+
// agree at all. Ask for the address itself first; the pins fetched from it are confirmed
|
|
220
|
+
// separately below.
|
|
221
|
+
{
|
|
222
|
+
const { canPrompt, clackIO } = await import("./meshes-wizard.js");
|
|
223
|
+
if (!canPrompt()) {
|
|
224
|
+
console.error(c.red("✗ --from needs a terminal to display and confirm the fetched pins - in a script, export the bundle where the mesh runs and pass it with --user-auth-file"));
|
|
225
|
+
process.exit(1);
|
|
226
|
+
}
|
|
227
|
+
const goFetch = await clackIO().confirm({ message: `Fetch trust pins from ${disco.origin}?`, initialValue: false });
|
|
228
|
+
if (!goFetch) {
|
|
229
|
+
console.error(c.dim("nothing was fetched, nothing was registered"));
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
try {
|
|
234
|
+
// `redirect: "manual"`: a 302 can walk an https fetch down to http or onto another host,
|
|
235
|
+
// and the document IS the trust. A redirect is refused, never followed.
|
|
236
|
+
const res = await fetch(disco, { redirect: "manual", signal: AbortSignal.timeout(10_000) });
|
|
237
|
+
if (res.status >= 300 && res.status < 400) {
|
|
238
|
+
console.error(c.red(`✗ ${disco} answered ${res.status} (a redirect to ${JSON.stringify(res.headers.get("location") ?? "")}) - a redirect can move the fetch onto plaintext or onto another host, so it is refused rather than followed; publish the discovery document at the URL you pass`));
|
|
239
|
+
process.exit(1);
|
|
240
|
+
}
|
|
241
|
+
if (!res.ok) {
|
|
242
|
+
console.error(c.red(`✗ ${disco} answered ${res.status} - no discovery document there`));
|
|
243
|
+
process.exit(1);
|
|
244
|
+
}
|
|
245
|
+
raw = await res.text();
|
|
246
|
+
}
|
|
247
|
+
catch (e) {
|
|
248
|
+
console.error(c.red(`✗ could not fetch ${disco} (${e.message})`));
|
|
249
|
+
process.exit(1);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
const bundle = take(checkUserBundle(raw));
|
|
253
|
+
const space = spaceArg ?? bundle.space;
|
|
254
|
+
if (spaceArg && bundle.space !== spaceArg) {
|
|
255
|
+
console.error(c.red(`✗ the bundle is for space "${bundle.space}" but the command names "${spaceArg}" - a bundle registers the space it was exported for`));
|
|
256
|
+
process.exit(1);
|
|
257
|
+
}
|
|
258
|
+
// A FETCHED document is displayed and explicitly confirmed before anything trusts it: the
|
|
259
|
+
// operator, not the network, adopts the pins. A file the operator already holds needs no
|
|
260
|
+
// confirmation — supplying it is the consent.
|
|
261
|
+
if (v.from) {
|
|
262
|
+
const { canPrompt, clackIO } = await import("./meshes-wizard.js");
|
|
263
|
+
if (!canPrompt()) {
|
|
264
|
+
console.error(c.red("✗ --from needs a terminal to display and confirm the fetched pins - in a script, export the bundle where the mesh runs and pass it with --user-auth-file"));
|
|
265
|
+
process.exit(1);
|
|
266
|
+
}
|
|
267
|
+
const io = clackIO();
|
|
268
|
+
io.note([
|
|
269
|
+
`space ${bundle.space}`,
|
|
270
|
+
`broker ${bundle.server}${bundle.tlsRequired ? " (TLS required)" : ""}`,
|
|
271
|
+
`IdP ${bundle.userAuth.idp.url}`,
|
|
272
|
+
`issuer ${bundle.userAuth.idp.issuer}`,
|
|
273
|
+
`audience ${bundle.userAuth.idp.audience}`,
|
|
274
|
+
`exchange ${bundle.userAuth.endpoints?.url}`,
|
|
275
|
+
].join("\n"), "Pins fetched - trust them only if they match what the mesh's operator published");
|
|
276
|
+
const goOn = await io.confirm({ message: "Adopt these pins and register the mesh?", initialValue: false });
|
|
277
|
+
if (!goOn) {
|
|
278
|
+
console.error(c.dim("nothing was registered"));
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// ── the same fences as every other registration ──────────────────────────────────────────
|
|
283
|
+
const server = take(checkServer(v.server ?? bundle.server));
|
|
284
|
+
// The bundle's recorded strictness is a TLS-intent source of its own, alongside --tls and the
|
|
285
|
+
// scheme: the export states what the mesh's transport requires, and the record must carry it.
|
|
286
|
+
const tlsRequired = bundle.tlsRequired || tlsIntent(server, Boolean(v.tls));
|
|
287
|
+
const dial = take(checkDialPolicy(server, { tlsRequired, allowUnencryptedOverlay: Boolean(v["allow-unencrypted-overlay"]) }));
|
|
288
|
+
if (dial.residual)
|
|
289
|
+
console.error(c.yellow(`! ${dial.residual}`));
|
|
290
|
+
const root = take(checkRoot(v.root, process.cwd()));
|
|
291
|
+
take(checkMode(space, root, [], "user", true));
|
|
292
|
+
const existing = findMesh(space);
|
|
293
|
+
if (existing && !v.force) {
|
|
294
|
+
console.error(c.red(`✗ "${space}" is already registered at ${existing.server} (${existing.root}) - \`cotal meshes rm ${space}\` first, or --force to replace it`));
|
|
295
|
+
process.exit(1);
|
|
296
|
+
}
|
|
297
|
+
// ── the user arm's verification ────────────────────────────────────────────────────────────────
|
|
298
|
+
// Trust: the pinned exchange must answer as itself. Enforcement: the broker must REFUSE a bare
|
|
299
|
+
// connect — auth-required is the pass, because a user-mode target has no probe credential by
|
|
300
|
+
// design (preflightTarget refuses user targets outright for exactly that reason). Both run even
|
|
301
|
+
// under --force: unlike a static mesh, there is no "register it while it is down" story here —
|
|
302
|
+
// an unverifiable pin set is not a record worth writing.
|
|
303
|
+
take(await verifyUserExchange(bundle.userAuth.endpoints.url, bundle.userAuth.idp.issuer));
|
|
304
|
+
take(checkEnforcement("user", await probeEnforcement(server), server, space, root));
|
|
305
|
+
const result = persistRemoteUserEntry(space, server, root, bundle, tlsRequired, Boolean(dial.residual));
|
|
306
|
+
console.log(c.green(`✓ registered "${space}"`), c.dim(`${server} user ${root}`));
|
|
307
|
+
console.log(c.dim(` pinned issuer ${bundle.userAuth.idp.issuer} · exchange ${bundle.userAuth.endpoints?.url}`));
|
|
308
|
+
if (result.adoptedCurrent)
|
|
309
|
+
console.log(c.dim(`it is now the default mesh - \`cotal spawn\` from any directory joins it`));
|
|
310
|
+
else if (result.keptCurrent)
|
|
311
|
+
console.log(c.dim(`current is still "${result.keptCurrent}" - \`cotal use ${space}\` to switch`));
|
|
312
|
+
}
|
|
155
313
|
/** Take a rule's value, or print its sentence and exit — the flag form's whole error posture. */
|
|
156
314
|
function take(r) {
|
|
157
315
|
if (r.ok)
|
|
@@ -215,7 +373,11 @@ async function removeMeshes(names, v) {
|
|
|
215
373
|
export function meshesComplete(argv) {
|
|
216
374
|
const flag = completingFlagValue(argv, meshesFlags);
|
|
217
375
|
if (flag?.name === "mode")
|
|
218
|
-
return { items: [{ value: "auth" }, { value: "open" }], directive: "nofiles" };
|
|
376
|
+
return { items: [{ value: "auth" }, { value: "open" }, { value: "user" }], directive: "nofiles" };
|
|
377
|
+
if (flag?.name === "user-auth-file")
|
|
378
|
+
return { items: [], directive: "default" }; // a file
|
|
379
|
+
if (flag?.name === "from")
|
|
380
|
+
return { items: [], directive: "nofiles" };
|
|
219
381
|
if (flag?.name === "root")
|
|
220
382
|
return { items: [], directive: "default" }; // a directory
|
|
221
383
|
if (flag?.name === "server")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meshes.js","sourceRoot":"","sources":["../../src/commands/meshes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"meshes.js","sourceRoot":"","sources":["../../src/commands/meshes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../../src/commands/personas.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAwBxB,wBAAsB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB9D;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../../src/commands/personas.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAwBxB,wBAAsB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB9D;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CA+BjE"}
|
|
@@ -48,6 +48,7 @@ export function personasComplete(argv) {
|
|
|
48
48
|
{ name: "model", type: "string" },
|
|
49
49
|
{ name: "prompt", type: "string" },
|
|
50
50
|
{ name: "from", type: "string" },
|
|
51
|
+
{ name: "subscribe", type: "string" },
|
|
51
52
|
{ name: "verbose", type: "boolean", short: "v" },
|
|
52
53
|
{ name: "running", type: "boolean" },
|
|
53
54
|
{ name: "force", type: "boolean" },
|
|
@@ -198,7 +199,16 @@ function create(name, v) {
|
|
|
198
199
|
console.error(c.red("persona body is empty"));
|
|
199
200
|
process.exit(1);
|
|
200
201
|
}
|
|
201
|
-
|
|
202
|
+
// The channels it reads are stated, never guessed: `--subscribe a,b` or `--subscribe ""` for an
|
|
203
|
+
// agent that reads none. There is no default, because the two possible ones are both wrong - a
|
|
204
|
+
// channel the author did not ask for, or an empty set indistinguishable from forgetting to say.
|
|
205
|
+
if (v.subscribe === undefined) {
|
|
206
|
+
console.error(c.red("--subscribe is required: name the channels this persona reads"));
|
|
207
|
+
console.error(c.dim('e.g. --subscribe general or --subscribe "" for an agent reachable only by direct message'));
|
|
208
|
+
process.exit(1);
|
|
209
|
+
}
|
|
210
|
+
const subscribe = v.subscribe.split(",").map((s) => s.trim()).filter(Boolean);
|
|
211
|
+
const def = { name, role: v.role, model: v.model, persona, subscribe };
|
|
202
212
|
saveAtomic(path, def);
|
|
203
213
|
console.log(c.green(`✓ wrote persona "${name}"`));
|
|
204
214
|
console.log(c.dim(`${path}\nspawn it: cotal spawn ${name}${v.role ? ` --role ${v.role}` : ""}`));
|
|
@@ -237,7 +247,7 @@ function notFound(name, path) {
|
|
|
237
247
|
}
|
|
238
248
|
function usage() {
|
|
239
249
|
console.error(c.red("usage: cotal personas <list [--verbose] [--running] | show <name> | edit <name> | " +
|
|
240
|
-
'new <name> (--prompt <text> | --from <file|->) [--role <r>] [--model <m>] [--force] | rm <name> --force>'));
|
|
250
|
+
'new <name> (--prompt <text> | --from <file|->) --subscribe <a,b|""> [--role <r>] [--model <m>] [--force] | rm <name> --force>'));
|
|
241
251
|
process.exit(1);
|
|
242
252
|
}
|
|
243
253
|
//# sourceMappingURL=personas.js.map
|