@veilio-inc/cli 0.6.0 → 0.7.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 (60) hide show
  1. package/README.md +63 -24
  2. package/dist/args.d.ts +25 -10
  3. package/dist/args.d.ts.map +1 -1
  4. package/dist/args.js +112 -87
  5. package/dist/args.js.map +1 -1
  6. package/dist/client/index.d.ts +1 -0
  7. package/dist/client/index.d.ts.map +1 -1
  8. package/dist/client/index.js +1 -0
  9. package/dist/client/index.js.map +1 -1
  10. package/dist/client/maps.d.ts +8 -0
  11. package/dist/client/maps.d.ts.map +1 -1
  12. package/dist/client/maps.js +125 -29
  13. package/dist/client/maps.js.map +1 -1
  14. package/dist/client/project-scope.d.ts +87 -0
  15. package/dist/client/project-scope.d.ts.map +1 -0
  16. package/dist/client/project-scope.js +132 -0
  17. package/dist/client/project-scope.js.map +1 -0
  18. package/dist/client/projects.d.ts +31 -1
  19. package/dist/client/projects.d.ts.map +1 -1
  20. package/dist/client/projects.js +71 -10
  21. package/dist/client/projects.js.map +1 -1
  22. package/dist/client/status.d.ts +2 -0
  23. package/dist/client/status.d.ts.map +1 -1
  24. package/dist/client/status.js +16 -7
  25. package/dist/client/status.js.map +1 -1
  26. package/dist/client/wording.d.ts +4 -1
  27. package/dist/client/wording.d.ts.map +1 -1
  28. package/dist/client/wording.js +28 -6
  29. package/dist/client/wording.js.map +1 -1
  30. package/dist/cloud-commands.d.ts +4 -2
  31. package/dist/cloud-commands.d.ts.map +1 -1
  32. package/dist/cloud-commands.js +31 -25
  33. package/dist/cloud-commands.js.map +1 -1
  34. package/dist/cloud.d.ts +1 -1
  35. package/dist/cloud.d.ts.map +1 -1
  36. package/dist/cloud.js +2 -2
  37. package/dist/cloud.js.map +1 -1
  38. package/dist/commands.d.ts +14 -1
  39. package/dist/commands.d.ts.map +1 -1
  40. package/dist/commands.js +12 -59
  41. package/dist/commands.js.map +1 -1
  42. package/dist/credential.d.ts.map +1 -1
  43. package/dist/credential.js +6 -1
  44. package/dist/credential.js.map +1 -1
  45. package/dist/flags.d.ts +211 -0
  46. package/dist/flags.d.ts.map +1 -0
  47. package/dist/flags.js +410 -0
  48. package/dist/flags.js.map +1 -0
  49. package/dist/index.d.ts +6 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +27 -13
  52. package/dist/index.js.map +1 -1
  53. package/dist/team-namespace.d.ts +37 -2
  54. package/dist/team-namespace.d.ts.map +1 -1
  55. package/dist/team-namespace.js +20 -4
  56. package/dist/team-namespace.js.map +1 -1
  57. package/dist/third-party.d.ts.map +1 -1
  58. package/dist/third-party.js +10 -3
  59. package/dist/third-party.js.map +1 -1
  60. package/package.json +2 -2
@@ -28,6 +28,7 @@ import { readTeamUnlock } from '../team-unlock.js';
28
28
  import { describeMaps, resolveTeamNamespace } from '../team-namespace.js';
29
29
  import { importPersonalMapsKey, readPersonalMapsKey, unwrapPersonalMapsKey, } from './personal-maps-key.js';
30
30
  import { vaultKeyFor } from './vault-key.js';
31
+ import { projectLabel, projectOverride, refusalScope, scopeCredential, } from './project-scope.js';
31
32
  import { refuse, refusalFromCloudError } from './wording.js';
32
33
  const DEFAULT_NAME = 'from the terminal';
33
34
  function ok(value) {
@@ -37,16 +38,20 @@ function signedIn(ctx) {
37
38
  return readCredential(ctx.home);
38
39
  }
39
40
  function cloudRefusal(err, credential) {
40
- return { ok: false, refusal: refusalFromCloudError(err, { project: credential.project }) };
41
+ return { ok: false, refusal: refusalFromCloudError(err, refusalScope(credential)) };
41
42
  }
42
43
  /** Five placeholders, then a count. Placeholders only - never what they mean. */
43
44
  function shortList(items) {
44
45
  return items.slice(0, 5).join(', ') + (items.length > 5 ? ` and ${items.length - 5} more` : '');
45
46
  }
46
47
  export async function listCloudMaps(ctx) {
47
- const credential = signedIn(ctx);
48
- if (!credential)
48
+ const stored = signedIn(ctx);
49
+ if (!stored)
49
50
  return refuse('not_signed_in');
51
+ const scoped = await scopeCredential(stored, ctx.env);
52
+ if (!scoped.ok)
53
+ return scoped;
54
+ const credential = scoped.value;
50
55
  let list;
51
56
  try {
52
57
  list = await listMaps(credential);
@@ -65,7 +70,8 @@ export async function listCloudMaps(ctx) {
65
70
  return ok({
66
71
  maps: [...list.personalMaps.map(shape(true)), ...list.teamMaps.map(shape(false))],
67
72
  teamId: list.team?.id ?? null,
68
- project: credential.project ?? null,
73
+ project: projectLabel(credential),
74
+ projectFromEnv: credential.projectFrom !== undefined,
69
75
  });
70
76
  }
71
77
  /**
@@ -242,6 +248,27 @@ export async function pullCloudMap(ctx, id, opts) {
242
248
  const label = { id: remote.id, name: remote.name };
243
249
  let opened;
244
250
  if (team) {
251
+ // A team map belongs to one project: with VEILIO_PROJECT set it must be in
252
+ // that one, and a value that names nothing is refused as everywhere else.
253
+ // A personal map is never asked (FR-012a).
254
+ if (projectOverride(ctx.env) !== null) {
255
+ const scoped = await scopeCredential(credential, ctx.env);
256
+ if (!scoped.ok)
257
+ return scoped;
258
+ let listed;
259
+ try {
260
+ listed = await listMaps(scoped.value);
261
+ }
262
+ catch (err) {
263
+ return cloudRefusal(err, scoped.value);
264
+ }
265
+ if (![...listed.personalMaps, ...listed.teamMaps].some((m) => m.id === remote.id))
266
+ return refuse('map_not_in_project', {
267
+ id: remote.id,
268
+ project: scoped.value.projectName ?? scoped.value.project,
269
+ override: true,
270
+ });
271
+ }
245
272
  const keys = await teamKeys(credential, ctx);
246
273
  if (!keys.ok)
247
274
  return keys;
@@ -316,14 +343,18 @@ export function conflictsWithTeam(local, teamNamespace) {
316
343
  * readable team namespace is a refusal: publishing blind is what the clash
317
344
  * check exists to prevent. */
318
345
  async function teamForWrite(ctx, credential, list, excludeMapId) {
319
- const found = await resolveTeamNamespace(ctx.home, { excludeMapId, list });
346
+ // The credential this command already scoped: resolving VEILIO_PROJECT a
347
+ // second time would be a second listing for the same answer.
348
+ const found = await resolveTeamNamespace(ctx.home, { excludeMapId, list, credential });
320
349
  if (found.status === 'local')
321
350
  return refuse('not_in_team');
322
351
  if (found.status === 'locked')
323
352
  return refuse('team_key_mismatch');
324
353
  if (found.status === 'unavailable') {
325
- if (/project not found/i.test(found.reason))
326
- return refuse('project_gone', { project: credential.project ?? 'the default' });
354
+ if (/project not found/i.test(found.reason)) {
355
+ const scope = refusalScope(credential);
356
+ return refuse('project_gone', { ...scope, project: scope.project ?? 'the default' });
357
+ }
327
358
  return refuse('team_maps_unreadable', { detail: found.reason });
328
359
  }
329
360
  return ok(found);
@@ -380,12 +411,21 @@ function teamWriteRefusal(err, credential, verb, label) {
380
411
  }
381
412
  /** Seal the local map and upload it as a new map, personal or the team's. */
382
413
  export async function createCloudMap(ctx, opts) {
383
- const credential = signedIn(ctx);
384
- if (!credential)
414
+ const stored = signedIn(ctx);
415
+ if (!stored)
385
416
  return refuse('not_signed_in');
386
417
  const map = loadMap(opts.mapPath);
387
418
  if (Object.keys(map).length === 0)
388
419
  return refuse('no_local_map', { path: opts.mapPath });
420
+ // A team map lands in a project; a personal map has none, so only a team
421
+ // push resolves VEILIO_PROJECT (and pays for the listing that takes).
422
+ let credential = stored;
423
+ if (opts.scope === 'team') {
424
+ const scoped = await scopeCredential(stored, ctx.env);
425
+ if (!scoped.ok)
426
+ return scoped;
427
+ credential = scoped.value;
428
+ }
389
429
  const name = opts.name ?? DEFAULT_NAME;
390
430
  const count = Object.keys(map).length;
391
431
  if (opts.scope === 'team') {
@@ -467,6 +507,25 @@ export async function createCloudMap(ctx, opts) {
467
507
  });
468
508
  return ok({ id: created.id, name, scope: 'personal', count, notes: [] });
469
509
  }
510
+ /**
511
+ * The personal map `id`, as the account's own listing shows it - asked WITHOUT
512
+ * any project, so neither VEILIO_PROJECT nor a stored choice that has gone can
513
+ * stand between a person and their own personal map. Null when it is not a
514
+ * personal map (a team map, another project's, none) or the listing fails: the
515
+ * caller then scopes the credential and asks again, as for any team map.
516
+ */
517
+ async function personalListing(stored, id) {
518
+ const open = { ...stored };
519
+ delete open.project;
520
+ try {
521
+ const list = await listMaps(open);
522
+ const mine = list.personalMaps.find((m) => m.id === id);
523
+ return mine && mine.scope === 'personal' ? { credential: open, list } : null;
524
+ }
525
+ catch {
526
+ return null;
527
+ }
528
+ }
470
529
  /**
471
530
  * Replace a Cloud map's entries with the local map's, in place: same id, name
472
531
  * and project (spec 052 US1).
@@ -479,22 +538,37 @@ export async function createCloudMap(ctx, opts) {
479
538
  * reported rather than overwritten.
480
539
  */
481
540
  export async function updateCloudMap(ctx, id, opts) {
482
- const credential = signedIn(ctx);
483
- if (!credential)
541
+ const stored = signedIn(ctx);
542
+ if (!stored)
484
543
  return refuse('not_signed_in');
485
544
  if (!id)
486
545
  return refuse('which_map');
487
546
  const local = loadMap(opts.mapPath);
488
547
  if (Object.keys(local).length === 0)
489
548
  return refuse('no_local_map', { path: opts.mapPath });
490
- // Whose it is, before reading it: a teammate's map is refused without
491
- // opening anything (FR-006, the same rule as removing it).
549
+ // VEILIO_PROJECT is a team map's question: a personal map belongs to no
550
+ // project, so with the variable set it is found first, and a value that
551
+ // names nothing never refuses it (FR-012a).
552
+ const personal = projectOverride(ctx.env) === null ? null : await personalListing(stored, id);
553
+ let credential;
492
554
  let list;
493
- try {
494
- list = await listMaps(credential);
555
+ if (personal) {
556
+ credential = personal.credential;
557
+ list = personal.list;
495
558
  }
496
- catch (err) {
497
- return cloudRefusal(err, credential);
559
+ else {
560
+ const scoped = await scopeCredential(stored, ctx.env);
561
+ if (!scoped.ok)
562
+ return scoped;
563
+ credential = scoped.value;
564
+ // Whose it is, before reading it: a teammate's map is refused without
565
+ // opening anything (FR-006, the same rule as removing it).
566
+ try {
567
+ list = await listMaps(credential);
568
+ }
569
+ catch (err) {
570
+ return cloudRefusal(err, credential);
571
+ }
498
572
  }
499
573
  const theirs = list.teamMaps.find((m) => m.id === id);
500
574
  if (theirs)
@@ -503,7 +577,11 @@ export async function updateCloudMap(ctx, id, opts) {
503
577
  // With a project chosen the listing is that project's, so "not here" may
504
578
  // well mean "in another project": said, with the way to switch.
505
579
  if (credential.project) {
506
- return refuse('map_not_in_project', { id, project: await projectName(credential) });
580
+ return refuse('map_not_in_project', {
581
+ id,
582
+ project: await projectName(credential),
583
+ ...(credential.projectFrom ? { override: true } : {}),
584
+ });
507
585
  }
508
586
  return refuse('map_not_found', { id });
509
587
  }
@@ -641,6 +719,10 @@ async function fetchEnvelope(credential, id) {
641
719
  }
642
720
  /** The chosen project's name, or its id when the server cannot say. */
643
721
  async function projectName(credential) {
722
+ // VEILIO_PROJECT was resolved from a listing already: no second one.
723
+ // Bare: the refusal's own wording says the variable chose it.
724
+ if (credential.projectFrom)
725
+ return credential.projectName ?? credential.project;
644
726
  try {
645
727
  const found = (await listProjects(credential)).projects.find((p) => p.id === credential.project);
646
728
  return found?.name ?? credential.project;
@@ -664,22 +746,36 @@ function droppedBy(cloud, local) {
664
746
  * is read only so the confirmation can say WHICH map went.
665
747
  */
666
748
  export async function removeCloudMap(ctx, id, opts = {}) {
667
- const credential = signedIn(ctx);
668
- if (!credential)
749
+ const stored = signedIn(ctx);
750
+ if (!stored)
669
751
  return refuse('not_signed_in');
670
752
  if (!id)
671
753
  return refuse('which_map');
672
- // The name from the listing, not from the map: downloading a whole
673
- // envelope to read one label was a round trip and a server-side decrypt
674
- // for nothing (code review). Not listed - another project's team map, or
675
- // the listing failing - leaves the id as all there is to report.
754
+ // A personal map belongs to no project: with VEILIO_PROJECT set it is found
755
+ // first, and a value that names nothing never refuses it (FR-012a).
756
+ const personal = projectOverride(ctx.env) === null ? null : await personalListing(stored, id);
757
+ let credential;
676
758
  let name;
677
- try {
678
- const list = await listMaps(credential);
679
- name = [...list.personalMaps, ...list.teamMaps].find((m) => m.id === id)?.name || null;
759
+ if (personal) {
760
+ credential = personal.credential;
761
+ name = personal.list.personalMaps.find((m) => m.id === id)?.name || null;
680
762
  }
681
- catch {
682
- name = null;
763
+ else {
764
+ const scoped = await scopeCredential(stored, ctx.env);
765
+ if (!scoped.ok)
766
+ return scoped;
767
+ credential = scoped.value;
768
+ // The name from the listing, not from the map: downloading a whole
769
+ // envelope to read one label was a round trip and a server-side decrypt
770
+ // for nothing (code review). Not listed - another project's team map, or
771
+ // the listing failing - leaves the id as all there is to report.
772
+ try {
773
+ const list = await listMaps(credential);
774
+ name = [...list.personalMaps, ...list.teamMaps].find((m) => m.id === id)?.name || null;
775
+ }
776
+ catch {
777
+ name = null;
778
+ }
683
779
  }
684
780
  if (opts.confirmName !== undefined) {
685
781
  if (name === null)
@@ -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,87 @@
1
+ import { type Credential } from '../credential.js';
2
+ import { type Outcome } from './wording.js';
3
+ /** The variable's name, as people type it and as every message names it. */
4
+ export declare const PROJECT_ENV = "VEILIO_PROJECT";
5
+ export type Env = Readonly<Record<string, string | undefined>>;
6
+ /** A credential as one command uses it: `project` is the effective one. */
7
+ export interface ScopedCredential extends Credential {
8
+ /** Set when `VEILIO_PROJECT` chose `project`. Never written to disk. */
9
+ projectFrom?: typeof PROJECT_ENV;
10
+ /** The project's name, from the listing that resolved the variable. */
11
+ projectName?: string;
12
+ }
13
+ /** The variable's value, or null when it is unset, empty or spaces only. */
14
+ export declare function projectOverride(env?: Env): string | null;
15
+ export type ProjectMatch<P> = {
16
+ ok: true;
17
+ project: P;
18
+ } | {
19
+ ok: false;
20
+ reason: 'not_found';
21
+ } | {
22
+ ok: false;
23
+ reason: 'ambiguous';
24
+ count: number;
25
+ };
26
+ /**
27
+ * A project by its id, or by a name exactly one project has. The one rule
28
+ * `projects use` and `VEILIO_PROJECT` share, so the two cannot drift apart. A
29
+ * shared name is never guessed: guessing is how two projects' maps meet.
30
+ */
31
+ export declare function matchProject<P extends {
32
+ id: string;
33
+ name: string;
34
+ }>(projects: readonly P[], ref: string): ProjectMatch<P>;
35
+ /**
36
+ * The credential this command works with. Without the variable: the stored
37
+ * one, unchanged, with no request. With it: one listing, then a copy whose
38
+ * `project` is the resolved id - or a refusal naming the value.
39
+ */
40
+ export declare function scopeCredential(credential: Credential, env?: Env): Promise<Outcome<ScopedCredential>>;
41
+ /**
42
+ * `value` through the server's listing. A failed request THROWS - so the team
43
+ * namespace resolver can retry it and hold it to its deadline, as it does its
44
+ * own reads - and only an answer that names no such project is a refusal.
45
+ */
46
+ export declare function resolveOverride(credential: Credential, value: string, signal?: AbortSignal): Promise<Outcome<ScopedCredential>>;
47
+ /** Signed in, and scoped: `not_signed_in` before any request otherwise. */
48
+ export declare function readScopedCredential(ctx: {
49
+ home?: string;
50
+ env?: Env;
51
+ }): Promise<Outcome<ScopedCredential>>;
52
+ /**
53
+ * The project, as a line that names it says it: the stored id as before, or
54
+ * the name with "(from VEILIO_PROJECT)" when the variable chose it. Null when
55
+ * none is in use.
56
+ */
57
+ export declare function projectLabel(credential: ScopedCredential): string | null;
58
+ /** What a refusal from a failed request needs to name the project rightly. */
59
+ export declare function refusalScope(credential: ScopedCredential): {
60
+ project?: string;
61
+ override?: boolean;
62
+ };
63
+ /**
64
+ * What `projects` says about the variable, beside the list. A value that
65
+ * matches nothing is listed against rather than refused: the list is how
66
+ * somebody finds the value to set instead.
67
+ */
68
+ export type ProjectOverride = {
69
+ value: string;
70
+ id: string;
71
+ } | {
72
+ value: string;
73
+ id: null;
74
+ reason: 'not_found';
75
+ } | {
76
+ value: string;
77
+ id: null;
78
+ reason: 'ambiguous';
79
+ count: number;
80
+ };
81
+ export declare function overrideSentence(override: ProjectOverride, chosen: string | null): string;
82
+ /** What `projects use` adds when the variable overrides what it just stored. */
83
+ export declare function overriddenSentence(used: {
84
+ name: string;
85
+ overriddenBy: string | null;
86
+ }, where: 'shell' | 'server'): string;
87
+ //# sourceMappingURL=project-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-scope.d.ts","sourceRoot":"","sources":["../../src/client/project-scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ // Which project a command or tool call works in (spec 052 FR-012a).
2
+ //
3
+ // `VEILIO_PROJECT`, then the choice kept with the sign-in, then none - in that
4
+ // order, for the CLI and the MCP server alike. The variable exists for the two
5
+ // places a stored `projects use` cannot reach: a CI runner, which starts clean,
6
+ // and a repository's `.mcp.json`, which pins ITS project through `env` so an
7
+ // agent in repository A never masks against repository B's names.
8
+ //
9
+ // Three rules hold here, and each has a test and a mutant:
10
+ //
11
+ // - The value is resolved through the SERVER's project listing, every time.
12
+ // No client-side list, no cache: the server is the authority on which
13
+ // projects the team works in, and a cached answer is how a removed project
14
+ // goes on being used.
15
+ // - A value that names no project, or a name two projects share, is REFUSED,
16
+ // naming the value and the variable. It never falls back to the stored
17
+ // choice or the default: somebody typed it on purpose, and quietly using
18
+ // another project is the cross-project mix FR-013 forbids. The listing is
19
+ // the only request made before the refusal, and it carries no project.
20
+ // - Nothing here writes the credential. The resolved project lives on an
21
+ // in-memory copy, so it cannot outlive the process, leak into another
22
+ // shell, or be persisted by a later `writeCredential({ ...credential })`.
23
+ import { listProjects } from '../cloud.js';
24
+ import { readCredential } from '../credential.js';
25
+ import { refuse, refusalFromCloudError } from './wording.js';
26
+ /** The variable's name, as people type it and as every message names it. */
27
+ export const PROJECT_ENV = 'VEILIO_PROJECT';
28
+ /** The variable's value, or null when it is unset, empty or spaces only. */
29
+ export function projectOverride(env = process.env) {
30
+ const value = env[PROJECT_ENV]?.trim();
31
+ return value ? value : null;
32
+ }
33
+ /**
34
+ * A project by its id, or by a name exactly one project has. The one rule
35
+ * `projects use` and `VEILIO_PROJECT` share, so the two cannot drift apart. A
36
+ * shared name is never guessed: guessing is how two projects' maps meet.
37
+ */
38
+ export function matchProject(projects, ref) {
39
+ const byId = projects.find((p) => p.id === ref);
40
+ if (byId)
41
+ return { ok: true, project: byId };
42
+ const byName = projects.filter((p) => p.name === ref);
43
+ if (byName.length > 1)
44
+ return { ok: false, reason: 'ambiguous', count: byName.length };
45
+ if (byName.length === 1)
46
+ return { ok: true, project: byName[0] };
47
+ return { ok: false, reason: 'not_found' };
48
+ }
49
+ /**
50
+ * The credential this command works with. Without the variable: the stored
51
+ * one, unchanged, with no request. With it: one listing, then a copy whose
52
+ * `project` is the resolved id - or a refusal naming the value.
53
+ */
54
+ export async function scopeCredential(credential, env) {
55
+ const value = projectOverride(env);
56
+ if (value === null)
57
+ return { ok: true, value: credential };
58
+ try {
59
+ return await resolveOverride(credential, value);
60
+ }
61
+ catch (err) {
62
+ return { ok: false, refusal: refusalFromCloudError(err, { project: value, override: true }) };
63
+ }
64
+ }
65
+ /**
66
+ * `value` through the server's listing. A failed request THROWS - so the team
67
+ * namespace resolver can retry it and hold it to its deadline, as it does its
68
+ * own reads - and only an answer that names no such project is a refusal.
69
+ */
70
+ export async function resolveOverride(credential, value, signal) {
71
+ // The listing names no project, so asking it never sends the stored one.
72
+ const answer = await listProjects(credential, signal);
73
+ const rows = Array.isArray(answer?.projects) ? answer.projects : [];
74
+ const found = matchProject(rows, value);
75
+ if (!found.ok) {
76
+ return found.reason === 'ambiguous'
77
+ ? refuse('project_env_ambiguous', { project: value, count: found.count })
78
+ : refuse('project_env_not_found', { project: value });
79
+ }
80
+ return {
81
+ ok: true,
82
+ value: {
83
+ ...credential,
84
+ project: found.project.id,
85
+ projectFrom: PROJECT_ENV,
86
+ projectName: found.project.name,
87
+ },
88
+ };
89
+ }
90
+ /** Signed in, and scoped: `not_signed_in` before any request otherwise. */
91
+ export async function readScopedCredential(ctx) {
92
+ const credential = readCredential(ctx.home);
93
+ if (!credential)
94
+ return refuse('not_signed_in');
95
+ return scopeCredential(credential, ctx.env);
96
+ }
97
+ /**
98
+ * The project, as a line that names it says it: the stored id as before, or
99
+ * the name with "(from VEILIO_PROJECT)" when the variable chose it. Null when
100
+ * none is in use.
101
+ */
102
+ export function projectLabel(credential) {
103
+ if (!credential.project)
104
+ return null;
105
+ if (credential.projectFrom)
106
+ return `${credential.projectName ?? credential.project} (from ${PROJECT_ENV})`;
107
+ return credential.project;
108
+ }
109
+ /** What a refusal from a failed request needs to name the project rightly. */
110
+ export function refusalScope(credential) {
111
+ if (credential.projectFrom)
112
+ return { project: credential.projectName ?? credential.project, override: true };
113
+ return { project: credential.project };
114
+ }
115
+ export function overrideSentence(override, chosen) {
116
+ if (override.id !== null)
117
+ return (`${PROJECT_ENV} is "${override.value}", so that project is in use here` +
118
+ (chosen && chosen !== override.id
119
+ ? `; the one chosen for this sign-in (${chosen}) applies again once it is unset.`
120
+ : '.'));
121
+ if (override.reason === 'ambiguous')
122
+ return (`${PROJECT_ENV} is "${override.value}", and ${override.count} of these projects are called that, ` +
123
+ 'so every command that uses a project refuses until it is set to one of their ids.');
124
+ return (`${PROJECT_ENV} is "${override.value}", which is none of these projects, so every command that ` +
125
+ 'uses a project refuses until it is set to one of them, or unset.');
126
+ }
127
+ /** What `projects use` adds when the variable overrides what it just stored. */
128
+ export function overriddenSentence(used, where) {
129
+ return (`${PROJECT_ENV} is set ("${used.overriddenBy}") ${where === 'shell' ? 'in this shell' : 'for this MCP server'}, ` +
130
+ `and it overrides this choice: ${where === 'shell' ? 'unset it' : 'remove it from the server’s env'} to work in ${used.name}.`);
131
+ }
132
+ //# sourceMappingURL=project-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-scope.js","sourceRoot":"","sources":["../../src/client/project-scope.ts"],"names":[],"mappings":"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"}