@veilio-inc/cli 0.7.1 → 0.9.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/README.md +157 -14
- package/dist/client/blocks.d.ts +30 -0
- package/dist/client/blocks.d.ts.map +1 -0
- package/dist/client/blocks.js +125 -0
- package/dist/client/blocks.js.map +1 -0
- package/dist/client/maps.d.ts +8 -0
- package/dist/client/maps.d.ts.map +1 -1
- package/dist/client/maps.js +260 -16
- package/dist/client/maps.js.map +1 -1
- package/dist/client/rules-skipped.d.ts +22 -0
- package/dist/client/rules-skipped.d.ts.map +1 -0
- package/dist/client/rules-skipped.js +30 -0
- package/dist/client/rules-skipped.js.map +1 -0
- package/dist/client/wording.d.ts +2 -2
- package/dist/client/wording.d.ts.map +1 -1
- package/dist/client/wording.js +15 -0
- package/dist/client/wording.js.map +1 -1
- package/dist/cloud-commands.d.ts +5 -3
- package/dist/cloud-commands.d.ts.map +1 -1
- package/dist/cloud-commands.js +109 -28
- package/dist/cloud-commands.js.map +1 -1
- package/dist/cloud.d.ts +74 -7
- package/dist/cloud.d.ts.map +1 -1
- package/dist/cloud.js +205 -3
- package/dist/cloud.js.map +1 -1
- package/dist/commands.d.ts +10 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +90 -15
- package/dist/commands.js.map +1 -1
- package/dist/credential.d.ts +12 -0
- package/dist/credential.d.ts.map +1 -1
- package/dist/credential.js +48 -0
- package/dist/credential.js.map +1 -1
- package/dist/flags.js +2 -2
- package/dist/flags.js.map +1 -1
- package/dist/hashed-bases.d.ts +12 -0
- package/dist/hashed-bases.d.ts.map +1 -0
- package/dist/hashed-bases.js +45 -0
- package/dist/hashed-bases.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/reservations.d.ts +145 -0
- package/dist/reservations.d.ts.map +1 -0
- package/dist/reservations.js +348 -0
- package/dist/reservations.js.map +1 -0
- package/dist/rules-open.d.ts +16 -0
- package/dist/rules-open.d.ts.map +1 -0
- package/dist/rules-open.js +87 -0
- package/dist/rules-open.js.map +1 -0
- package/dist/rules.d.ts +20 -2
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +86 -4
- package/dist/rules.js.map +1 -1
- package/dist/store.d.ts +3 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +19 -1
- package/dist/store.js.map +1 -1
- package/dist/team-anonymize.d.ts +16 -1
- package/dist/team-anonymize.d.ts.map +1 -1
- package/dist/team-anonymize.js +39 -13
- package/dist/team-anonymize.js.map +1 -1
- package/dist/team-namespace.d.ts +59 -4
- package/dist/team-namespace.d.ts.map +1 -1
- package/dist/team-namespace.js +133 -11
- package/dist/team-namespace.js.map +1 -1
- package/package.json +7 -5
package/dist/client/maps.js
CHANGED
|
@@ -20,12 +20,17 @@
|
|
|
20
20
|
// key when `veilio vault unlock` left one - and then ONLY that key, so an
|
|
21
21
|
// agent's tool call and a terminal command behave alike - otherwise, where a
|
|
22
22
|
// person is present to type it (the CLI), the vault passphrase.
|
|
23
|
-
import { decryptMapFromVault, decryptTeamMapWithAny, encryptMapForVault, encryptTeamMap, importTeamKey, parseVaultEnvelope, } from '@veilio-inc/engine';
|
|
24
|
-
import {
|
|
23
|
+
import { decryptMapFromVault, decryptTeamMapWithAny, encryptMapForVault, encryptTeamMap, importTeamKey, isEngineBase, isSaneBlock, parseVaultEnvelope, LOCAL_PREFIX, MAX_PLACEHOLDER_NUMBER, teamBaseOf, } from '@veilio-inc/engine';
|
|
24
|
+
import { servedAs, teamKeyBytes, teamKeyVersion, wireBase } from '../hashed-bases.js';
|
|
25
|
+
import { CloudError, createMap, deleteMap, getMap, getPersonalMapsKeyWrap, listMaps, listProjects, readReservationsFor, reservePlaceholders, updateMapContent, } from '../cloud.js';
|
|
26
|
+
import { addAliases, drawTag, loadAliases, loadReserved, resetSessionTag, saveReserved, } from '../reservations.js';
|
|
27
|
+
import { highestPerBase } from '../team-anonymize.js';
|
|
28
|
+
const NUMBERED = /^(__[A-Z][A-Z0-9_]*__)(\d+)$/;
|
|
25
29
|
import { readCredential } from '../credential.js';
|
|
30
|
+
import { ensureBlocks } from './blocks.js';
|
|
26
31
|
import { loadMap, loadRemote, saveMap } from '../store.js';
|
|
27
32
|
import { readTeamUnlock } from '../team-unlock.js';
|
|
28
|
-
import { describeMaps, resolveTeamNamespace } from '../team-namespace.js';
|
|
33
|
+
import { describeMaps, resolveTeamNamespace, vouchNumbers } from '../team-namespace.js';
|
|
29
34
|
import { importPersonalMapsKey, readPersonalMapsKey, unwrapPersonalMapsKey, } from './personal-maps-key.js';
|
|
30
35
|
import { vaultKeyFor } from './vault-key.js';
|
|
31
36
|
import { projectLabel, projectOverride, refusalScope, scopeCredential, } from './project-scope.js';
|
|
@@ -247,6 +252,7 @@ export async function pullCloudMap(ctx, id, opts) {
|
|
|
247
252
|
return refuse('not_envelope');
|
|
248
253
|
const label = { id: remote.id, name: remote.name };
|
|
249
254
|
let opened;
|
|
255
|
+
let teamId = null;
|
|
250
256
|
if (team) {
|
|
251
257
|
// A team map belongs to one project: with VEILIO_PROJECT set it must be in
|
|
252
258
|
// that one, and a value that names nothing is refused as everywhere else.
|
|
@@ -272,6 +278,7 @@ export async function pullCloudMap(ctx, id, opts) {
|
|
|
272
278
|
const keys = await teamKeys(credential, ctx);
|
|
273
279
|
if (!keys.ok)
|
|
274
280
|
return keys;
|
|
281
|
+
teamId = keys.value.teamId;
|
|
275
282
|
opened = await openTeam(keys.value, remote.map_data, label);
|
|
276
283
|
}
|
|
277
284
|
else {
|
|
@@ -282,7 +289,15 @@ export async function pullCloudMap(ctx, id, opts) {
|
|
|
282
289
|
}
|
|
283
290
|
if (!opened.ok)
|
|
284
291
|
return opened;
|
|
285
|
-
|
|
292
|
+
// Spec 066 FR-003 (code review): every reader drops a local-family key from a
|
|
293
|
+
// team map - it means something only on the checkout that numbered it. A
|
|
294
|
+
// personal map is the member's own and keeps them.
|
|
295
|
+
const localKeys = teamId
|
|
296
|
+
? Object.keys(opened.value).filter((p) => p.startsWith(LOCAL_PREFIX))
|
|
297
|
+
: [];
|
|
298
|
+
const map = localKeys.length
|
|
299
|
+
? Object.fromEntries(Object.entries(opened.value).filter(([p]) => !localKeys.includes(p)))
|
|
300
|
+
: opened.value;
|
|
286
301
|
// Only now is anything read from, let alone written to, disk.
|
|
287
302
|
const existing = loadRemote(opts.mapPath);
|
|
288
303
|
const local = loadMap(opts.mapPath);
|
|
@@ -312,11 +327,40 @@ export async function pullCloudMap(ctx, id, opts) {
|
|
|
312
327
|
force: true,
|
|
313
328
|
remote: { id: remote.id, updatedAt: remote.updated_at, pulledAt: new Date().toISOString() },
|
|
314
329
|
});
|
|
330
|
+
// Round 4 (D): the map's numbers, judged against the runs the server
|
|
331
|
+
// issued for their bases - one listing, which the block's floor reuses.
|
|
332
|
+
let listed;
|
|
333
|
+
let unvouched = 0;
|
|
334
|
+
if (teamId) {
|
|
335
|
+
const keys = teamKeyBytes(credential, ctx.home, teamId);
|
|
336
|
+
const bases = new Set(Object.keys(map).flatMap((p) => /^(__[A-Z][A-Z0-9_]*__)\d+$/.exec(p)?.[1] ?? []));
|
|
337
|
+
const names = [...bases].flatMap((b) => isEngineBase(b) ? [b] : keys.map((k) => wireBase(b, k)));
|
|
338
|
+
if (names.length) {
|
|
339
|
+
try {
|
|
340
|
+
listed = (await readReservationsFor(credential, teamId, names))?.reservations ?? null;
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
// unreachable: the block's own call reports it
|
|
344
|
+
}
|
|
345
|
+
if (listed)
|
|
346
|
+
unvouched = vouchNumbers([map], listed, keys).unvouched;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
// Spec 063: a team map comes with a block of the team's numbers, so the
|
|
350
|
+
// guard numbers where no teammate can. A refusal there does not undo the pull.
|
|
351
|
+
const blocks = teamId
|
|
352
|
+
? await ensureBlocks(credential, teamId, opts.mapPath, ctx.home, listed)
|
|
353
|
+
: undefined;
|
|
354
|
+
const outOfRange = Object.keys(map).filter((p) => Number(/\d+$/.exec(p)?.[0] ?? 0) > MAX_PLACEHOLDER_NUMBER).length;
|
|
315
355
|
return ok({
|
|
316
356
|
id: remote.id,
|
|
317
357
|
name: remote.name,
|
|
318
358
|
count: Object.keys(map).length,
|
|
319
359
|
path: opts.mapPath,
|
|
360
|
+
...(blocks ? { blocks } : {}),
|
|
361
|
+
...(localKeys.length ? { localDropped: localKeys.length } : {}),
|
|
362
|
+
...(outOfRange ? { outOfRange } : {}),
|
|
363
|
+
...(unvouched ? { unvouched } : {}),
|
|
320
364
|
});
|
|
321
365
|
}
|
|
322
366
|
// ─── the team checks, shared by create and update ───────────────────────────
|
|
@@ -359,6 +403,178 @@ async function teamForWrite(ctx, credential, list, excludeMapId) {
|
|
|
359
403
|
}
|
|
360
404
|
return ok(found);
|
|
361
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Spec 063 FR-003: the map a team publish seals holds only numbers its
|
|
408
|
+
* publisher reserved. A new entry (one the team does not already hold under
|
|
409
|
+
* that placeholder with that name) numbered outside this account's
|
|
410
|
+
* reservations - by a guard with no block, a signed-out scrub, a map from
|
|
411
|
+
* before 063 - takes the team's own placeholder where the team already knows
|
|
412
|
+
* the name, and otherwise a number reserved now. The old placeholder is kept
|
|
413
|
+
* in aliases.json, so this member's own restore still reads text masked with
|
|
414
|
+
* it; teammates never saw it, because it was never published.
|
|
415
|
+
*
|
|
416
|
+
* A local-family entry (spec 066 R6) is always one of these: it is never the
|
|
417
|
+
* team's and never inside a reservation, and it takes a number of its team
|
|
418
|
+
* kind (`__LOCAL_<tag>_FN__3` -> `__FN__n`).
|
|
419
|
+
*
|
|
420
|
+
* Before anything is sealed. An instance that keeps no reservations record
|
|
421
|
+
* (older self-hosted, 404) publishes as before; the clash check still runs,
|
|
422
|
+
* and a local entry is then refused by `localEntriesRefusal`.
|
|
423
|
+
*/
|
|
424
|
+
async function renumberUnreserved(credential, list, found, map, mapPath,
|
|
425
|
+
/** What this member's own map being updated already holds: published, so never moved. */
|
|
426
|
+
published = {}, home) {
|
|
427
|
+
const unchanged = ok({ map, renumbered: 0, aliases: {} });
|
|
428
|
+
// This account's runs come with the listing the publish already read: no
|
|
429
|
+
// request of its own. An instance that keeps no record sends none, and the
|
|
430
|
+
// publish goes ahead as before.
|
|
431
|
+
const mine = list.team?.reservations;
|
|
432
|
+
if (!found.teamId || !mine)
|
|
433
|
+
return unchanged;
|
|
434
|
+
const { namespace, highest } = found.analysis;
|
|
435
|
+
// A rule's base is reserved, and listed back, under its hash (Cloud audit M1).
|
|
436
|
+
const keys = teamKeyBytes(credential, home, found.teamId);
|
|
437
|
+
const moves = {}; // old placeholder -> new
|
|
438
|
+
const needs = [];
|
|
439
|
+
for (const [p, name] of Object.entries(map)) {
|
|
440
|
+
const local = p.startsWith(LOCAL_PREFIX);
|
|
441
|
+
if (!local && (namespace[p] === name || published[p] === name))
|
|
442
|
+
continue; // already the team's, as it is
|
|
443
|
+
const m = NUMBERED.exec(p);
|
|
444
|
+
if (!m)
|
|
445
|
+
continue;
|
|
446
|
+
const [, own = '', digits = '0'] = m;
|
|
447
|
+
// A malformed local base has no team kind: left for the check before sealing.
|
|
448
|
+
const base = local ? teamBaseOf(own) : own;
|
|
449
|
+
if (!base)
|
|
450
|
+
continue;
|
|
451
|
+
const n = Number(digits);
|
|
452
|
+
if (!local && mine.some((r) => servedAs(r.base, base, keys) && n >= r.start && n <= r.end))
|
|
453
|
+
continue;
|
|
454
|
+
// Always a fresh number, even for a name the team already holds under
|
|
455
|
+
// another placeholder (it then holds both, an alias). A fresh number is
|
|
456
|
+
// above everything in this map, so the map's highest never falls below a
|
|
457
|
+
// retired placeholder and local numbering can never mint it again for a
|
|
458
|
+
// different name (code review: reusing the team's lower placeholder let
|
|
459
|
+
// it, and this member's own restore would then name the new meaning).
|
|
460
|
+
needs.push({ placeholder: p, base, n });
|
|
461
|
+
}
|
|
462
|
+
if (Object.keys(moves).length === 0 && needs.length === 0)
|
|
463
|
+
return unchanged;
|
|
464
|
+
const refuseNumbers = (detail) => refuse('unreserved_numbers', {
|
|
465
|
+
count: needs.length + Object.keys(moves).length,
|
|
466
|
+
list: shortList([...needs.map((x) => x.placeholder), ...Object.keys(moves)]),
|
|
467
|
+
detail,
|
|
468
|
+
});
|
|
469
|
+
if (needs.length) {
|
|
470
|
+
const top = highestPerBase(map);
|
|
471
|
+
const counts = new Map();
|
|
472
|
+
for (const x of needs)
|
|
473
|
+
counts.set(x.base, (counts.get(x.base) ?? 0) + 1);
|
|
474
|
+
const asked = [...counts].map(([base, count]) => ({
|
|
475
|
+
base,
|
|
476
|
+
count,
|
|
477
|
+
floor: Math.max(highest[base] ?? 0, top[base] ?? 0),
|
|
478
|
+
}));
|
|
479
|
+
let ranges;
|
|
480
|
+
try {
|
|
481
|
+
const r = await reservePlaceholders(credential, found.teamId, asked, undefined, {
|
|
482
|
+
keys,
|
|
483
|
+
keyVersion: teamKeyVersion(credential, home, found.teamId),
|
|
484
|
+
...(found.reservations ? { reservations: found.reservations } : {}),
|
|
485
|
+
});
|
|
486
|
+
if (r.refused)
|
|
487
|
+
return refuseNumbers(r.refused.detail);
|
|
488
|
+
ranges = r.ranges;
|
|
489
|
+
// Round 4 (D): the floor the server was sent, once vouched.
|
|
490
|
+
for (const a of asked)
|
|
491
|
+
a.floor = r.floors?.[a.base] ?? a.floor;
|
|
492
|
+
}
|
|
493
|
+
catch (err) {
|
|
494
|
+
return refuseNumbers(err instanceof Error ? err.message : String(err));
|
|
495
|
+
}
|
|
496
|
+
// The answer decides what this map's entries will mean: one whole run per
|
|
497
|
+
// kind asked, above its floor, as long as asked - or no renumbering.
|
|
498
|
+
const sane = Array.isArray(ranges) &&
|
|
499
|
+
ranges.length === asked.length &&
|
|
500
|
+
asked.every(({ base, count, floor }) => {
|
|
501
|
+
const r = ranges.find((x) => x?.base === base);
|
|
502
|
+
return r !== undefined && isSaneBlock(r) && r.start > floor && r.end - r.start + 1 >= count;
|
|
503
|
+
});
|
|
504
|
+
if (!sane)
|
|
505
|
+
return refuseNumbers('the server answered without a usable run of numbers');
|
|
506
|
+
const next = new Map(ranges.map((r) => [r.base, r.start]));
|
|
507
|
+
for (const x of [...needs].sort((a, b) => a.n - b.n)) {
|
|
508
|
+
const at = next.get(x.base);
|
|
509
|
+
moves[x.placeholder] = `${x.base}${at}`;
|
|
510
|
+
next.set(x.base, at + 1);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
// Every target is free in what stays: a placeholder that is not moving keeps
|
|
514
|
+
// its meaning, and no two entries land on one number.
|
|
515
|
+
const staying = new Set(Object.keys(map).filter((p) => !(p in moves)));
|
|
516
|
+
const targets = Object.values(moves);
|
|
517
|
+
if (new Set(targets).size !== targets.length ||
|
|
518
|
+
Object.entries(moves).some(([p, to]) => staying.has(to) && map[to] !== map[p]))
|
|
519
|
+
return refuseNumbers('the new numbers would overwrite an entry this map keeps');
|
|
520
|
+
const renumbered = {};
|
|
521
|
+
const aliases = {};
|
|
522
|
+
for (const [p, name] of Object.entries(map)) {
|
|
523
|
+
const to = moves[p];
|
|
524
|
+
if (to)
|
|
525
|
+
aliases[p] = name;
|
|
526
|
+
renumbered[to ?? p] = name;
|
|
527
|
+
}
|
|
528
|
+
if (new Set(Object.values(renumbered)).size < new Set(Object.values(map)).size)
|
|
529
|
+
return refuseNumbers('renumbering would lose an entry');
|
|
530
|
+
// An old placeholder retired before with another meaning cannot be retired
|
|
531
|
+
// again: text masked under either meaning would read back wrong here.
|
|
532
|
+
const retired = loadAliases(mapPath);
|
|
533
|
+
const twice = Object.keys(aliases).filter((p) => p in retired && retired[p] !== aliases[p]);
|
|
534
|
+
if (twice.length)
|
|
535
|
+
return refuseNumbers(`${shortList(twice)} already stood for another name before an earlier renumbering; remove that entry from .veilio/aliases.json once no text masked with it is left`);
|
|
536
|
+
return ok({ map: renumbered, renumbered: Object.keys(moves).length, aliases });
|
|
537
|
+
}
|
|
538
|
+
/** Write a renumbering locally - only once the publish's checks have passed. */
|
|
539
|
+
function keepRenumbering(mapPath, r) {
|
|
540
|
+
if (r.renumbered === 0)
|
|
541
|
+
return;
|
|
542
|
+
addAliases(mapPath, r.aliases);
|
|
543
|
+
saveMap(mapPath, r.map, { force: true });
|
|
544
|
+
// Spec 066 R6: a retired local placeholder is in aliases.json now. A fresh
|
|
545
|
+
// tag means this checkout can never mint that string again for another name.
|
|
546
|
+
if (Object.keys(r.aliases).some((p) => p.startsWith(LOCAL_PREFIX))) {
|
|
547
|
+
let held = null;
|
|
548
|
+
try {
|
|
549
|
+
held = loadReserved(mapPath);
|
|
550
|
+
}
|
|
551
|
+
catch {
|
|
552
|
+
// malformed: the next pull replaces it, with a new tag
|
|
553
|
+
}
|
|
554
|
+
if (held)
|
|
555
|
+
saveReserved(mapPath, { ...held, local: { tag: drawTag() } });
|
|
556
|
+
resetSessionTag(); // a long-running MCP server with no file holds one too
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* Spec 066 FR-003, the chokepoint: no team map is sealed holding a local-family
|
|
561
|
+
* key, numbered or not. The server cannot open a team map to refuse one, and a
|
|
562
|
+
* reader that met one would drop it - so it would mean nothing to anyone.
|
|
563
|
+
*/
|
|
564
|
+
function localEntriesRefusal(map) {
|
|
565
|
+
const stuck = Object.keys(map).filter((p) => p.startsWith(LOCAL_PREFIX));
|
|
566
|
+
return stuck.length
|
|
567
|
+
? refuse('local_entry_unpublishable', { count: stuck.length, list: shortList(stuck) })
|
|
568
|
+
: null;
|
|
569
|
+
}
|
|
570
|
+
function renumberNote(n) {
|
|
571
|
+
return n > 0
|
|
572
|
+
? [
|
|
573
|
+
`Renumbered ${n} ${n === 1 ? 'entry' : 'entries'} into this account's reserved team numbers before publishing; ` +
|
|
574
|
+
'the old placeholders still restore on this machine (.veilio/aliases.json).',
|
|
575
|
+
]
|
|
576
|
+
: [];
|
|
577
|
+
}
|
|
362
578
|
function checkAgainstTeam(found, map) {
|
|
363
579
|
const clashes = conflictsWithTeam(map, found.analysis.namespace);
|
|
364
580
|
if (clashes.length > 0) {
|
|
@@ -414,7 +630,7 @@ export async function createCloudMap(ctx, opts) {
|
|
|
414
630
|
const stored = signedIn(ctx);
|
|
415
631
|
if (!stored)
|
|
416
632
|
return refuse('not_signed_in');
|
|
417
|
-
|
|
633
|
+
let map = loadMap(opts.mapPath);
|
|
418
634
|
if (Object.keys(map).length === 0)
|
|
419
635
|
return refuse('no_local_map', { path: opts.mapPath });
|
|
420
636
|
// A team map lands in a project; a personal map has none, so only a team
|
|
@@ -448,10 +664,18 @@ export async function createCloudMap(ctx, opts) {
|
|
|
448
664
|
const found = await teamForWrite(ctx, credential, listed.value);
|
|
449
665
|
if (!found.ok)
|
|
450
666
|
return found;
|
|
667
|
+
const numbered = await renumberUnreserved(credential, listed.value, found.value, map, opts.mapPath, {}, ctx.home);
|
|
668
|
+
if (!numbered.ok)
|
|
669
|
+
return numbered;
|
|
670
|
+
map = numbered.value.map;
|
|
451
671
|
const check = checkAgainstTeam(found.value, map);
|
|
452
672
|
if (!check.ok)
|
|
453
673
|
return check;
|
|
454
|
-
|
|
674
|
+
const stuck = localEntriesRefusal(map);
|
|
675
|
+
if (stuck)
|
|
676
|
+
return stuck;
|
|
677
|
+
keepRenumbering(opts.mapPath, numbered.value);
|
|
678
|
+
// Nothing above this line has sent a map (only the reservation, if any).
|
|
455
679
|
const envelope = await encryptTeamMap(keys.value.newest.key, map);
|
|
456
680
|
let created;
|
|
457
681
|
try {
|
|
@@ -477,7 +701,7 @@ export async function createCloudMap(ctx, opts) {
|
|
|
477
701
|
count,
|
|
478
702
|
teamTotal: new Set([...Object.keys(check.value.namespace), ...Object.keys(map)]).size,
|
|
479
703
|
disputed: check.value.disputed,
|
|
480
|
-
notes: check.value.notes,
|
|
704
|
+
notes: [...renumberNote(numbered.value.renumbered), ...check.value.notes],
|
|
481
705
|
});
|
|
482
706
|
}
|
|
483
707
|
const keys = await personalKeys(credential, ctx);
|
|
@@ -487,13 +711,15 @@ export async function createCloudMap(ctx, opts) {
|
|
|
487
711
|
// (research §1), so the MCP server can open them; under the vault key only
|
|
488
712
|
// for an account that has none yet, as every personal map was before.
|
|
489
713
|
const sealKey = keys.value.pmk ?? keys.value.vault;
|
|
490
|
-
|
|
714
|
+
// With the old placeholders a team publish renumbered (see the update).
|
|
715
|
+
const withOld = { ...loadAliases(opts.mapPath), ...map };
|
|
716
|
+
const envelope = await encryptMapForVault(sealKey, withOld);
|
|
491
717
|
let created;
|
|
492
718
|
try {
|
|
493
719
|
created = await createMap(credential, {
|
|
494
720
|
name,
|
|
495
721
|
map_data: JSON.stringify(envelope),
|
|
496
|
-
identifier_count:
|
|
722
|
+
identifier_count: Object.keys(withOld).length,
|
|
497
723
|
scope: 'personal',
|
|
498
724
|
});
|
|
499
725
|
}
|
|
@@ -543,7 +769,7 @@ export async function updateCloudMap(ctx, id, opts) {
|
|
|
543
769
|
return refuse('not_signed_in');
|
|
544
770
|
if (!id)
|
|
545
771
|
return refuse('which_map');
|
|
546
|
-
|
|
772
|
+
let local = loadMap(opts.mapPath);
|
|
547
773
|
if (Object.keys(local).length === 0)
|
|
548
774
|
return refuse('no_local_map', { path: opts.mapPath });
|
|
549
775
|
// VEILIO_PROJECT is a team map's question: a personal map belongs to no
|
|
@@ -603,6 +829,8 @@ export async function updateCloudMap(ctx, id, opts) {
|
|
|
603
829
|
const ifUpdatedAt = summary.updated_at;
|
|
604
830
|
let sealed;
|
|
605
831
|
let current;
|
|
832
|
+
/** What goes up: the local map, and for a personal map its aliases too. */
|
|
833
|
+
let uploaded;
|
|
606
834
|
let notes = [];
|
|
607
835
|
if (team) {
|
|
608
836
|
const keys = await teamKeys(credential, ctx);
|
|
@@ -635,13 +863,22 @@ export async function updateCloudMap(ctx, id, opts) {
|
|
|
635
863
|
if (!opened.ok)
|
|
636
864
|
return opened;
|
|
637
865
|
current = opened.value;
|
|
866
|
+
const numbered = await renumberUnreserved(credential, list, found.value, local, opts.mapPath, current, ctx.home);
|
|
867
|
+
if (!numbered.ok)
|
|
868
|
+
return numbered;
|
|
869
|
+
local = numbered.value.map;
|
|
870
|
+
uploaded = local;
|
|
638
871
|
const dropped = droppedBy(current, local);
|
|
639
872
|
if (dropped.length > 0 && opts.allowDrop !== true)
|
|
640
873
|
return refuse('would_drop', { ...label, count: dropped.length, list: shortList(dropped) });
|
|
641
874
|
const check = checkAgainstTeam(found.value, local);
|
|
642
875
|
if (!check.ok)
|
|
643
876
|
return check;
|
|
644
|
-
|
|
877
|
+
const stuck = localEntriesRefusal(local);
|
|
878
|
+
if (stuck)
|
|
879
|
+
return stuck;
|
|
880
|
+
keepRenumbering(opts.mapPath, numbered.value);
|
|
881
|
+
notes = [...renumberNote(numbered.value.renumbered), ...check.value.notes];
|
|
645
882
|
sealed = {
|
|
646
883
|
map_data: JSON.stringify(await encryptTeamMap(keys.value.newest.key, local)),
|
|
647
884
|
key_version: keys.value.newest.version,
|
|
@@ -660,20 +897,27 @@ export async function updateCloudMap(ctx, id, opts) {
|
|
|
660
897
|
if (!opened.ok)
|
|
661
898
|
return opened;
|
|
662
899
|
current = opened.value;
|
|
663
|
-
|
|
900
|
+
// A personal map keeps every meaning its owner used: the old placeholders
|
|
901
|
+
// a team publish renumbered (aliases.json) go up with it, so text masked
|
|
902
|
+
// with them restores on any of the owner's machines - and an update after
|
|
903
|
+
// a renumbering is not a drop (journey j052, spec 063). Never checked
|
|
904
|
+
// against the team, so they clash with nothing. The project's own map is
|
|
905
|
+
// not changed.
|
|
906
|
+
uploaded = { ...loadAliases(opts.mapPath), ...local };
|
|
907
|
+
const dropped = droppedBy(current, uploaded);
|
|
664
908
|
if (dropped.length > 0 && opts.allowDrop !== true)
|
|
665
909
|
return refuse('would_drop', { ...label, count: dropped.length, list: shortList(dropped) });
|
|
666
910
|
// An updated personal map is sealed under the personal-maps key - never
|
|
667
911
|
// left under the vault key, or the MCP server could not open it (FR-011).
|
|
668
912
|
if (!keys.value.pmk)
|
|
669
913
|
return refuse('no_pmk_yet');
|
|
670
|
-
sealed = { map_data: JSON.stringify(await encryptMapForVault(keys.value.pmk,
|
|
914
|
+
sealed = { map_data: JSON.stringify(await encryptMapForVault(keys.value.pmk, uploaded)) };
|
|
671
915
|
}
|
|
672
916
|
let answer;
|
|
673
917
|
try {
|
|
674
918
|
answer = await updateMapContent(credential, id, {
|
|
675
919
|
...sealed,
|
|
676
|
-
identifier_count: Object.keys(
|
|
920
|
+
identifier_count: Object.keys(uploaded).length,
|
|
677
921
|
if_updated_at: ifUpdatedAt,
|
|
678
922
|
});
|
|
679
923
|
}
|
|
@@ -696,8 +940,8 @@ export async function updateCloudMap(ctx, id, opts) {
|
|
|
696
940
|
id,
|
|
697
941
|
name: summary.name,
|
|
698
942
|
scope: team ? 'team' : 'personal',
|
|
699
|
-
count: Object.keys(
|
|
700
|
-
dropped: droppedBy(current,
|
|
943
|
+
count: Object.keys(uploaded).length,
|
|
944
|
+
dropped: droppedBy(current, uploaded).length,
|
|
701
945
|
updatedAt,
|
|
702
946
|
notes,
|
|
703
947
|
});
|
package/dist/client/maps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maps.js","sourceRoot":"","sources":["../../src/client/maps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"maps.js","sourceRoot":"","sources":["../../src/client/maps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Rules served by Cloud that this machine could not apply, by cause. */
|
|
2
|
+
export interface RulesSkipped {
|
|
3
|
+
/** Personal rules, with no unexpired personal-maps key on this machine. */
|
|
4
|
+
vaultLocked: number;
|
|
5
|
+
/** Team rules whose team has no key on this machine. */
|
|
6
|
+
teamLocked: number;
|
|
7
|
+
/** Rules that would not open with the keys held, or were not a rule. */
|
|
8
|
+
unopenable: number;
|
|
9
|
+
/** Rules that opened but no tool may apply (engine placeholder, unsafe pattern). */
|
|
10
|
+
refused: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const NO_RULES_SKIPPED: RulesSkipped;
|
|
13
|
+
/**
|
|
14
|
+
* One sentence per cause, each with what fixes it - the same words from
|
|
15
|
+
* `rules pull`, `scrub` and the MCP server. Empty when nothing was skipped.
|
|
16
|
+
* `noun: false` drops "custom rule(s)", for `scrub`'s line that has just
|
|
17
|
+
* named them ("applied 2 custom rules ...; 1 not applied: ...").
|
|
18
|
+
*/
|
|
19
|
+
export declare function rulesSkippedSentences(s: RulesSkipped, { noun }?: {
|
|
20
|
+
noun?: boolean | undefined;
|
|
21
|
+
}): string[];
|
|
22
|
+
//# sourceMappingURL=rules-skipped.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-skipped.d.ts","sourceRoot":"","sources":["../../src/client/rules-skipped.ts"],"names":[],"mappings":"AAKA,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,gBAAgB,EAAE,YAK9B,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,IAAW,EAAE;;CAAK,GAAG,MAAM,EAAE,CAmBrF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Custom rules served by Cloud that this machine did not apply (spec 065 R6),
|
|
2
|
+
// and the words for them: one sentence per cause, with what fixes it, the same
|
|
3
|
+
// from `rules pull`, `scrub` and the MCP server. Imports nothing, so the
|
|
4
|
+
// offline `scrub` can print them.
|
|
5
|
+
export const NO_RULES_SKIPPED = {
|
|
6
|
+
vaultLocked: 0,
|
|
7
|
+
teamLocked: 0,
|
|
8
|
+
unopenable: 0,
|
|
9
|
+
refused: 0,
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* One sentence per cause, each with what fixes it - the same words from
|
|
13
|
+
* `rules pull`, `scrub` and the MCP server. Empty when nothing was skipped.
|
|
14
|
+
* `noun: false` drops "custom rule(s)", for `scrub`'s line that has just
|
|
15
|
+
* named them ("applied 2 custom rules ...; 1 not applied: ...").
|
|
16
|
+
*/
|
|
17
|
+
export function rulesSkippedSentences(s, { noun = true } = {}) {
|
|
18
|
+
const n = (count) => `${count}${noun ? ` custom rule${count === 1 ? '' : 's'}` : ''} not applied`;
|
|
19
|
+
const out = [];
|
|
20
|
+
if (s.vaultLocked > 0)
|
|
21
|
+
out.push(`${n(s.vaultLocked)}: vault locked - run \`veilio vault unlock\`, then \`veilio rules pull\`.`);
|
|
22
|
+
if (s.teamLocked > 0)
|
|
23
|
+
out.push(`${n(s.teamLocked)}: team key locked - run \`veilio team unlock\`, then \`veilio rules pull\`.`);
|
|
24
|
+
if (s.unopenable > 0)
|
|
25
|
+
out.push(`${n(s.unopenable)}: could not be opened with the keys on this machine, and skipped.`);
|
|
26
|
+
if (s.refused > 0)
|
|
27
|
+
out.push(`${n(s.refused)}: refused as unsafe to apply (an engine placeholder or a pattern rules do not support), and skipped.`);
|
|
28
|
+
return out;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=rules-skipped.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-skipped.js","sourceRoot":"","sources":["../../src/client/rules-skipped.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,yEAAyE;AACzE,kCAAkC;AAclC,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;CACX,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAe,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE;IACzE,MAAM,CAAC,GAAG,CAAC,KAAa,EAAU,EAAE,CAClC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAA;IAC9E,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC;QACnB,GAAG,CAAC,IAAI,CACN,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,2EAA2E,CAC/F,CAAA;IACH,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;QAClB,GAAG,CAAC,IAAI,CACN,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,6EAA6E,CAChG,CAAA;IACH,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,mEAAmE,CAAC,CAAA;IACjG,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC;QACf,GAAG,CAAC,IAAI,CACN,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,sGAAsG,CACtH,CAAA;IACH,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
package/dist/client/wording.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const REFUSAL_CODES: readonly ["not_signed_in", "which_map", "map_not_found", "map_not_in_project", "not_yours_remove", "not_yours_update", "no_local_map", "no_vault", "no_passphrase", "wrong_passphrase", "vault_locked", "no_pmk_yet", "pmk_unopenable", "keys_not_set_up", "team_key_waiting", "own_public_key_mismatch", "team_key_readback_mismatch", "team_key_not_startable", "team_key_solo_unavailable", "personal_old_seal", "personal_unopenable", "not_envelope", "team_locked", "team_key_unreadable", "team_key_mismatch", "not_in_team", "team_maps_unreadable", "team_map_unopenable", "clash", "would_drop", "pull_would_drop", "diverged", "stale", "rotation_owed", "too_large", "abuse_limit", "which_project", "project_not_found", "project_ambiguous", "project_gone", "project_env_not_found", "project_env_ambiguous", "no_projects", "destructive_off", "confirm_name", "confirm_unknown", "session_rejected", "unentitled", "suspended", "forbidden", "unreachable", "server"];
|
|
1
|
+
export declare const REFUSAL_CODES: readonly ["not_signed_in", "which_map", "map_not_found", "map_not_in_project", "not_yours_remove", "not_yours_update", "no_local_map", "no_vault", "no_passphrase", "wrong_passphrase", "vault_locked", "no_pmk_yet", "pmk_unopenable", "keys_not_set_up", "team_key_waiting", "own_public_key_mismatch", "team_key_readback_mismatch", "team_key_not_startable", "team_key_solo_unavailable", "personal_old_seal", "personal_unopenable", "not_envelope", "team_locked", "team_key_unreadable", "team_key_mismatch", "not_in_team", "team_maps_unreadable", "team_map_unopenable", "clash", "unreserved_numbers", "local_entry_unpublishable", "would_drop", "pull_would_drop", "diverged", "stale", "rotation_owed", "too_large", "abuse_limit", "which_project", "project_not_found", "project_ambiguous", "project_gone", "project_env_not_found", "project_env_ambiguous", "no_projects", "destructive_off", "confirm_name", "confirm_unknown", "session_rejected", "unentitled", "suspended", "forbidden", "unreachable", "server"];
|
|
2
2
|
export type RefusalCode = (typeof REFUSAL_CODES)[number];
|
|
3
3
|
/** What a sentence may be filled with. Every field is optional; each entry
|
|
4
4
|
* uses the ones it needs. */
|
|
@@ -58,5 +58,5 @@ export declare function refusalFromCloudError(err: unknown, ctx?: {
|
|
|
58
58
|
project?: string;
|
|
59
59
|
override?: boolean;
|
|
60
60
|
}): Refusal;
|
|
61
|
-
export
|
|
61
|
+
export * from './rules-skipped.js';
|
|
62
62
|
//# sourceMappingURL=wording.d.ts.map
|