@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.
Files changed (67) hide show
  1. package/README.md +157 -14
  2. package/dist/client/blocks.d.ts +30 -0
  3. package/dist/client/blocks.d.ts.map +1 -0
  4. package/dist/client/blocks.js +125 -0
  5. package/dist/client/blocks.js.map +1 -0
  6. package/dist/client/maps.d.ts +8 -0
  7. package/dist/client/maps.d.ts.map +1 -1
  8. package/dist/client/maps.js +260 -16
  9. package/dist/client/maps.js.map +1 -1
  10. package/dist/client/rules-skipped.d.ts +22 -0
  11. package/dist/client/rules-skipped.d.ts.map +1 -0
  12. package/dist/client/rules-skipped.js +30 -0
  13. package/dist/client/rules-skipped.js.map +1 -0
  14. package/dist/client/wording.d.ts +2 -2
  15. package/dist/client/wording.d.ts.map +1 -1
  16. package/dist/client/wording.js +15 -0
  17. package/dist/client/wording.js.map +1 -1
  18. package/dist/cloud-commands.d.ts +5 -3
  19. package/dist/cloud-commands.d.ts.map +1 -1
  20. package/dist/cloud-commands.js +109 -28
  21. package/dist/cloud-commands.js.map +1 -1
  22. package/dist/cloud.d.ts +74 -7
  23. package/dist/cloud.d.ts.map +1 -1
  24. package/dist/cloud.js +205 -3
  25. package/dist/cloud.js.map +1 -1
  26. package/dist/commands.d.ts +10 -0
  27. package/dist/commands.d.ts.map +1 -1
  28. package/dist/commands.js +90 -15
  29. package/dist/commands.js.map +1 -1
  30. package/dist/credential.d.ts +12 -0
  31. package/dist/credential.d.ts.map +1 -1
  32. package/dist/credential.js +48 -0
  33. package/dist/credential.js.map +1 -1
  34. package/dist/flags.js +2 -2
  35. package/dist/flags.js.map +1 -1
  36. package/dist/hashed-bases.d.ts +12 -0
  37. package/dist/hashed-bases.d.ts.map +1 -0
  38. package/dist/hashed-bases.js +45 -0
  39. package/dist/hashed-bases.js.map +1 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +1 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/reservations.d.ts +145 -0
  44. package/dist/reservations.d.ts.map +1 -0
  45. package/dist/reservations.js +348 -0
  46. package/dist/reservations.js.map +1 -0
  47. package/dist/rules-open.d.ts +16 -0
  48. package/dist/rules-open.d.ts.map +1 -0
  49. package/dist/rules-open.js +87 -0
  50. package/dist/rules-open.js.map +1 -0
  51. package/dist/rules.d.ts +20 -2
  52. package/dist/rules.d.ts.map +1 -1
  53. package/dist/rules.js +86 -4
  54. package/dist/rules.js.map +1 -1
  55. package/dist/store.d.ts +3 -0
  56. package/dist/store.d.ts.map +1 -1
  57. package/dist/store.js +19 -1
  58. package/dist/store.js.map +1 -1
  59. package/dist/team-anonymize.d.ts +16 -1
  60. package/dist/team-anonymize.d.ts.map +1 -1
  61. package/dist/team-anonymize.js +39 -13
  62. package/dist/team-anonymize.js.map +1 -1
  63. package/dist/team-namespace.d.ts +59 -4
  64. package/dist/team-namespace.d.ts.map +1 -1
  65. package/dist/team-namespace.js +133 -11
  66. package/dist/team-namespace.js.map +1 -1
  67. package/package.json +7 -5
@@ -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 { CloudError, createMap, deleteMap, getMap, getPersonalMapsKeyWrap, listMaps, listProjects, updateMapContent, } from '../cloud.js';
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
- const map = opened.value;
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
- const map = loadMap(opts.mapPath);
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
- // Nothing above this line has sent anything.
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
- const envelope = await encryptMapForVault(sealKey, map);
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: 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
- const local = loadMap(opts.mapPath);
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
- notes = check.value.notes;
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
- const dropped = droppedBy(current, local);
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, local)) };
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(local).length,
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(local).length,
700
- dropped: droppedBy(current, local).length,
943
+ count: Object.keys(uploaded).length,
944
+ dropped: droppedBy(current, uploaded).length,
701
945
  updatedAt,
702
946
  notes,
703
947
  });
@@ -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"}
@@ -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