@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.
- package/README.md +63 -24
- package/dist/args.d.ts +25 -10
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +112 -87
- package/dist/args.js.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/maps.d.ts +8 -0
- package/dist/client/maps.d.ts.map +1 -1
- package/dist/client/maps.js +125 -29
- package/dist/client/maps.js.map +1 -1
- package/dist/client/project-scope.d.ts +87 -0
- package/dist/client/project-scope.d.ts.map +1 -0
- package/dist/client/project-scope.js +132 -0
- package/dist/client/project-scope.js.map +1 -0
- package/dist/client/projects.d.ts +31 -1
- package/dist/client/projects.d.ts.map +1 -1
- package/dist/client/projects.js +71 -10
- package/dist/client/projects.js.map +1 -1
- package/dist/client/status.d.ts +2 -0
- package/dist/client/status.d.ts.map +1 -1
- package/dist/client/status.js +16 -7
- package/dist/client/status.js.map +1 -1
- package/dist/client/wording.d.ts +4 -1
- package/dist/client/wording.d.ts.map +1 -1
- package/dist/client/wording.js +28 -6
- package/dist/client/wording.js.map +1 -1
- package/dist/cloud-commands.d.ts +4 -2
- package/dist/cloud-commands.d.ts.map +1 -1
- package/dist/cloud-commands.js +31 -25
- package/dist/cloud-commands.js.map +1 -1
- package/dist/cloud.d.ts +1 -1
- package/dist/cloud.d.ts.map +1 -1
- package/dist/cloud.js +2 -2
- package/dist/cloud.js.map +1 -1
- package/dist/commands.d.ts +14 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +12 -59
- package/dist/commands.js.map +1 -1
- package/dist/credential.d.ts.map +1 -1
- package/dist/credential.js +6 -1
- package/dist/credential.js.map +1 -1
- package/dist/flags.d.ts +211 -0
- package/dist/flags.d.ts.map +1 -0
- package/dist/flags.js +410 -0
- package/dist/flags.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -13
- package/dist/index.js.map +1 -1
- package/dist/team-namespace.d.ts +37 -2
- package/dist/team-namespace.d.ts.map +1 -1
- package/dist/team-namespace.js +20 -4
- package/dist/team-namespace.js.map +1 -1
- package/dist/third-party.d.ts.map +1 -1
- package/dist/third-party.js +10 -3
- package/dist/third-party.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type Outcome } from './wording.js';
|
|
2
2
|
import type { ClientContext } from './maps.js';
|
|
3
|
+
import { type ProjectOverride } from './project-scope.js';
|
|
3
4
|
export interface ListedProject {
|
|
4
5
|
id: string;
|
|
5
6
|
name: string;
|
|
6
7
|
/** The team's own maps in it. */
|
|
7
8
|
maps: number | null;
|
|
8
|
-
/** The one
|
|
9
|
+
/** The one in use: VEILIO_PROJECT's when it is set, else the one chosen. */
|
|
9
10
|
inUse: boolean;
|
|
10
11
|
/** Where a new team map lands when none is chosen. */
|
|
11
12
|
isDefault: boolean;
|
|
@@ -13,11 +14,40 @@ export interface ListedProject {
|
|
|
13
14
|
export declare function listTeamProjects(ctx: ClientContext): Promise<Outcome<{
|
|
14
15
|
projects: ListedProject[];
|
|
15
16
|
chosen: string | null;
|
|
17
|
+
override: ProjectOverride | null;
|
|
16
18
|
}>>;
|
|
19
|
+
/** What `listTeamProjects` found, as the CLI and the MCP server both print it. */
|
|
20
|
+
export interface ProjectsListing {
|
|
21
|
+
projects: ListedProject[];
|
|
22
|
+
chosen: string | null;
|
|
23
|
+
override: ProjectOverride | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The listing as text, once for both surfaces: one line per project (the one
|
|
27
|
+
* in use marked `*`, and saying so when the variable chose it), and the note
|
|
28
|
+
* that follows - the variable's sentence, or that none is chosen. The only
|
|
29
|
+
* thing a surface supplies is how it names the way to choose one.
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatProjectsList(listing: ProjectsListing, opts: {
|
|
32
|
+
surface: 'cli' | 'mcp';
|
|
33
|
+
}): {
|
|
34
|
+
lines: string[];
|
|
35
|
+
note: string | null;
|
|
36
|
+
};
|
|
37
|
+
/** What `projects use` says on stdout: where the work happens now, or - when
|
|
38
|
+
* the variable overrides the choice just stored - that it does not. */
|
|
39
|
+
export declare function usedSentence(used: {
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
overriddenBy: string | null;
|
|
43
|
+
}, opts: {
|
|
44
|
+
surface: 'cli' | 'mcp';
|
|
45
|
+
}): string;
|
|
17
46
|
/** Choose a project by its id or its name. A name two projects share is
|
|
18
47
|
* refused rather than guessed: guessing is how two projects' maps meet. */
|
|
19
48
|
export declare function useProject(ctx: ClientContext, ref: string | null): Promise<Outcome<{
|
|
20
49
|
id: string;
|
|
21
50
|
name: string;
|
|
51
|
+
overriddenBy: string | null;
|
|
22
52
|
}>>;
|
|
23
53
|
//# sourceMappingURL=projects.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/client/projects.ts"],"names":[],"mappings":"AAcA,OAAO,EAAiC,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/client/projects.ts"],"names":[],"mappings":"AAcA,OAAO,EAAiC,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAI9C,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,4EAA4E;IAC5E,KAAK,EAAE,OAAO,CAAA;IACd,sDAAsD;IACtD,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,GACjB,OAAO,CACR,OAAO,CAAC;IAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,CAAC,CAChG,CAuCA;AAED,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE;IAAE,OAAO,EAAE,KAAK,GAAG,KAAK,CAAA;CAAE,GAC/B;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAoB1C;AAED;wEACwE;AACxE,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC/D,IAAI,EAAE;IAAE,OAAO,EAAE,KAAK,GAAG,KAAK,CAAA;CAAE,GAC/B,MAAM,CAUR;AAED;4EAC4E;AAC5E,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,OAAO,CAAC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAsB7E"}
|
package/dist/client/projects.js
CHANGED
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
import { listProjects } from '../cloud.js';
|
|
13
13
|
import { readCredential, writeCredential } from '../credential.js';
|
|
14
14
|
import { refuse, refusalFromCloudError } from './wording.js';
|
|
15
|
+
// VEILIO_PROJECT, when it is set, as this listing resolves it (FR-012a). The
|
|
16
|
+
// listing is the one command that does not refuse a value that matches
|
|
17
|
+
// nothing: it is how somebody finds the value to set instead.
|
|
18
|
+
import { PROJECT_ENV, matchProject, overrideSentence, projectOverride, } from './project-scope.js';
|
|
15
19
|
export async function listTeamProjects(ctx) {
|
|
16
20
|
const credential = readCredential(ctx.home);
|
|
17
21
|
if (!credential)
|
|
@@ -27,20 +31,73 @@ export async function listTeamProjects(ctx) {
|
|
|
27
31
|
if (rows.length === 0)
|
|
28
32
|
return refuse('no_projects');
|
|
29
33
|
const fallback = answer.defaultProjectId ?? rows[0].id;
|
|
34
|
+
// Resolved against THIS listing - the server's answer, just read - so the
|
|
35
|
+
// mark costs no second request.
|
|
36
|
+
const value = projectOverride(ctx.env);
|
|
37
|
+
let override = null;
|
|
38
|
+
if (value !== null) {
|
|
39
|
+
const found = matchProject(rows, value);
|
|
40
|
+
override = found.ok
|
|
41
|
+
? { value, id: found.project.id }
|
|
42
|
+
: found.reason === 'ambiguous'
|
|
43
|
+
? { value, id: null, reason: 'ambiguous', count: found.count }
|
|
44
|
+
: { value, id: null, reason: 'not_found' };
|
|
45
|
+
}
|
|
46
|
+
const inUse = override ? override.id : (credential.project ?? null);
|
|
30
47
|
return {
|
|
31
48
|
ok: true,
|
|
32
49
|
value: {
|
|
33
50
|
chosen: credential.project ?? null,
|
|
51
|
+
override,
|
|
34
52
|
projects: rows.map((p) => ({
|
|
35
53
|
id: p.id,
|
|
36
54
|
name: p.name,
|
|
37
55
|
maps: typeof p.maps === 'number' ? p.maps : null,
|
|
38
|
-
inUse: p.id ===
|
|
56
|
+
inUse: p.id === inUse,
|
|
39
57
|
isDefault: p.id === fallback,
|
|
40
58
|
})),
|
|
41
59
|
},
|
|
42
60
|
};
|
|
43
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* The listing as text, once for both surfaces: one line per project (the one
|
|
64
|
+
* in use marked `*`, and saying so when the variable chose it), and the note
|
|
65
|
+
* that follows - the variable's sentence, or that none is chosen. The only
|
|
66
|
+
* thing a surface supplies is how it names the way to choose one.
|
|
67
|
+
*/
|
|
68
|
+
export function formatProjectsList(listing, opts) {
|
|
69
|
+
const { projects, chosen, override } = listing;
|
|
70
|
+
const lines = projects.map((p) => {
|
|
71
|
+
const marks = [
|
|
72
|
+
...(p.inUse ? [override ? `in use, from ${PROJECT_ENV}` : 'in use'] : []),
|
|
73
|
+
...(p.isDefault ? ['default'] : []),
|
|
74
|
+
...(p.maps !== null ? [`${p.maps} team map${p.maps === 1 ? '' : 's'}`] : []),
|
|
75
|
+
];
|
|
76
|
+
return `${p.inUse ? '*' : ' '} ${p.id} ${p.name} (${marks.join(', ')})`;
|
|
77
|
+
});
|
|
78
|
+
if (override)
|
|
79
|
+
return { lines, note: overrideSentence(override, chosen) };
|
|
80
|
+
if (chosen !== null)
|
|
81
|
+
return { lines, note: null };
|
|
82
|
+
return {
|
|
83
|
+
lines,
|
|
84
|
+
note: opts.surface === 'cli'
|
|
85
|
+
? 'No project is chosen, so team maps from every project are listed and used, and a new ' +
|
|
86
|
+
'team map lands in the default. Run `veilio projects use <name>` to work in one.'
|
|
87
|
+
: 'No project is chosen, so team maps from every project are used. projects_use chooses one.',
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/** What `projects use` says on stdout: where the work happens now, or - when
|
|
91
|
+
* the variable overrides the choice just stored - that it does not. */
|
|
92
|
+
export function usedSentence(used, opts) {
|
|
93
|
+
if (used.overriddenBy !== null)
|
|
94
|
+
return (`Saved project ${used.name} (${used.id}) for this sign-in. ${PROJECT_ENV} (=${used.overriddenBy}) ` +
|
|
95
|
+
`is in use here, so ${opts.surface === 'cli' ? 'this shell' : 'this server'} keeps working in that project.`);
|
|
96
|
+
return opts.surface === 'cli'
|
|
97
|
+
? `Now working in project ${used.name} (${used.id}). Team maps, pushes, updates and ` +
|
|
98
|
+
'`scrub --team` use this project only; the MCP server picks it up on its next call.'
|
|
99
|
+
: `Now working in project ${used.name} (${used.id}). Team maps and masking with the team's names use this project only.`;
|
|
100
|
+
}
|
|
44
101
|
/** Choose a project by its id or its name. A name two projects share is
|
|
45
102
|
* refused rather than guessed: guessing is how two projects' maps meet. */
|
|
46
103
|
export async function useProject(ctx, ref) {
|
|
@@ -54,15 +111,19 @@ export async function useProject(ctx, ref) {
|
|
|
54
111
|
const listed = await listTeamProjects(ctx);
|
|
55
112
|
if (!listed.ok)
|
|
56
113
|
return listed;
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return refuse('project_not_found', { project: ref });
|
|
114
|
+
const found = matchProject(listed.value.projects, ref);
|
|
115
|
+
if (!found.ok) {
|
|
116
|
+
return found.reason === 'ambiguous'
|
|
117
|
+
? refuse('project_ambiguous', { project: ref, count: found.count })
|
|
118
|
+
: refuse('project_not_found', { project: ref });
|
|
119
|
+
}
|
|
120
|
+
const chosen = found.project;
|
|
65
121
|
writeCredential({ ...credential, project: chosen.id }, ctx.home);
|
|
66
|
-
|
|
122
|
+
// Stored all the same - it is what applies once the variable is unset - but
|
|
123
|
+
// whoever chose it must hear that this shell goes on using the variable's.
|
|
124
|
+
return {
|
|
125
|
+
ok: true,
|
|
126
|
+
value: { id: chosen.id, name: chosen.name, overriddenBy: listed.value.override?.value ?? null },
|
|
127
|
+
};
|
|
67
128
|
}
|
|
68
129
|
//# sourceMappingURL=projects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/client/projects.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,qEAAqE;AACrE,6EAA6E;AAC7E,8EAA8E;AAC9E,2EAA2E;AAC3E,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,yEAAyE;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAgB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/client/projects.ts"],"names":[],"mappings":"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"}
|
package/dist/client/status.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PROJECT_ENV } from './project-scope.js';
|
|
1
2
|
import { type Outcome } from './wording.js';
|
|
2
3
|
import type { ClientContext } from './maps.js';
|
|
3
4
|
export interface TeamStatus {
|
|
@@ -8,6 +9,7 @@ export interface TeamStatus {
|
|
|
8
9
|
project: {
|
|
9
10
|
id: string;
|
|
10
11
|
name: string | null;
|
|
12
|
+
from?: typeof PROJECT_ENV;
|
|
11
13
|
} | null;
|
|
12
14
|
teamKeyUntil: string | null;
|
|
13
15
|
personalKeyUntil: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/client/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/client/status.ts"],"names":[],"mappings":"AAQA,OAAO,EAAsC,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGpF,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,sEAAsE;IACtE,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,WAAW,CAAA;KAAE,GAAG,IAAI,CAAA;IAC9E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B;8DAC0D;IAC1D,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAC7C;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAuDjF"}
|
package/dist/client/status.js
CHANGED
|
@@ -5,23 +5,32 @@
|
|
|
5
5
|
// whether the team owes a key rotation, read from the team's key status; the
|
|
6
6
|
// rest of that answer names teammates, and stays out of this one.
|
|
7
7
|
import { getTeamKeyPending, listMaps, listProjects } from '../cloud.js';
|
|
8
|
-
import {
|
|
8
|
+
import { readScopedCredential, refusalScope } from './project-scope.js';
|
|
9
9
|
import { readTeamUnlock } from '../team-unlock.js';
|
|
10
10
|
import { personalMapsKeyExpiry } from './personal-maps-key.js';
|
|
11
|
-
import {
|
|
11
|
+
import { refusalFromCloudError } from './wording.js';
|
|
12
12
|
export async function teamStatus(ctx) {
|
|
13
|
-
const
|
|
14
|
-
if (!
|
|
15
|
-
return
|
|
13
|
+
const scoped = await readScopedCredential(ctx);
|
|
14
|
+
if (!scoped.ok)
|
|
15
|
+
return scoped;
|
|
16
|
+
const credential = scoped.value;
|
|
16
17
|
let teamId;
|
|
17
18
|
try {
|
|
18
19
|
teamId = (await listMaps(credential)).team?.id ?? null;
|
|
19
20
|
}
|
|
20
21
|
catch (err) {
|
|
21
|
-
return { ok: false, refusal: refusalFromCloudError(err,
|
|
22
|
+
return { ok: false, refusal: refusalFromCloudError(err, refusalScope(credential)) };
|
|
22
23
|
}
|
|
23
24
|
let project = null;
|
|
24
|
-
if (credential.
|
|
25
|
+
if (credential.projectFrom) {
|
|
26
|
+
// Named by the listing that resolved VEILIO_PROJECT: no second one.
|
|
27
|
+
project = {
|
|
28
|
+
id: credential.project,
|
|
29
|
+
name: credential.projectName ?? null,
|
|
30
|
+
from: credential.projectFrom,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
else if (credential.project) {
|
|
25
34
|
let name = null;
|
|
26
35
|
try {
|
|
27
36
|
name =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/client/status.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,kEAAkE;AAElE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/client/status.ts"],"names":[],"mappings":"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"}
|
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", "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", "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. */
|
|
@@ -13,6 +13,8 @@ export interface WordingParams {
|
|
|
13
13
|
/** A short, already-joined list - placeholders, map names, ids. */
|
|
14
14
|
list?: string;
|
|
15
15
|
project?: string;
|
|
16
|
+
/** The project came from VEILIO_PROJECT rather than the stored choice. */
|
|
17
|
+
override?: boolean;
|
|
16
18
|
}
|
|
17
19
|
export interface Refusal {
|
|
18
20
|
code: RefusalCode;
|
|
@@ -54,6 +56,7 @@ export declare function renderRefusal(r: Refusal): string;
|
|
|
54
56
|
*/
|
|
55
57
|
export declare function refusalFromCloudError(err: unknown, ctx?: {
|
|
56
58
|
project?: string;
|
|
59
|
+
override?: boolean;
|
|
57
60
|
}): Refusal;
|
|
58
61
|
export {};
|
|
59
62
|
//# sourceMappingURL=wording.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wording.d.ts","sourceRoot":"","sources":["../../src/client/wording.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"wording.d.ts","sourceRoot":"","sources":["../../src/client/wording.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,aAAa,w7BAqDhB,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD;8BAC8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAA;IACjB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAA;IACf;yCACqC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA;AAajF,KAAK,KAAK,GAAG,CAAC,CAAC,EAAE,aAAa,KAAK;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAIvE,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CA8P9C,CAAA;AAED,gDAAgD;AAChD,wBAAgB,MAAM,CACpB,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,aAAkB,EAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAEjC;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,aAAkB,EAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAGT;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAGhD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,EACZ,GAAG,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACjD,OAAO,CA2BT"}
|
package/dist/client/wording.js
CHANGED
|
@@ -61,6 +61,8 @@ export const REFUSAL_CODES = [
|
|
|
61
61
|
'project_not_found',
|
|
62
62
|
'project_ambiguous',
|
|
63
63
|
'project_gone',
|
|
64
|
+
'project_env_not_found',
|
|
65
|
+
'project_env_ambiguous',
|
|
64
66
|
'no_projects',
|
|
65
67
|
'destructive_off',
|
|
66
68
|
'confirm_name',
|
|
@@ -96,8 +98,10 @@ export const WORDING = {
|
|
|
96
98
|
resolve: 'Run `veilio maps list` for the ids.',
|
|
97
99
|
}),
|
|
98
100
|
map_not_in_project: (p) => ({
|
|
99
|
-
message: `No map ${p.id} in project ${p.project} (the project in use).`,
|
|
100
|
-
resolve:
|
|
101
|
+
message: `No map ${p.id} in project ${p.project} (${p.override ? 'set by VEILIO_PROJECT' : 'the project in use'}).`,
|
|
102
|
+
resolve: p.override
|
|
103
|
+
? 'Set VEILIO_PROJECT to another project, or unset it: `veilio projects` lists them.'
|
|
104
|
+
: '`veilio projects use <other>` to work in another one.',
|
|
101
105
|
}),
|
|
102
106
|
not_yours_remove: (p) => ({
|
|
103
107
|
message: `${label(p)} belongs to someone else on your team, so it is theirs to remove.`,
|
|
@@ -241,9 +245,24 @@ export const WORDING = {
|
|
|
241
245
|
message: `${p.count} projects are called "${p.project}", so nothing was changed.`,
|
|
242
246
|
resolve: 'Choose one by its id: `veilio projects` lists them.',
|
|
243
247
|
}),
|
|
244
|
-
project_gone: (p) =>
|
|
245
|
-
|
|
246
|
-
|
|
248
|
+
project_gone: (p) => p.override
|
|
249
|
+
? {
|
|
250
|
+
message: `the project VEILIO_PROJECT names (${p.project}) is not one your team works in any more, so nothing was done. No other project was used instead.`,
|
|
251
|
+
resolve: 'Run `veilio projects`, then set VEILIO_PROJECT to one of them, or unset it.',
|
|
252
|
+
}
|
|
253
|
+
: {
|
|
254
|
+
message: `the project chosen for this sign-in (${p.project}) is not one your team works in any more, so nothing was done. No other project was used instead.`,
|
|
255
|
+
resolve: 'Run `veilio projects`, then `veilio projects use <name>`.',
|
|
256
|
+
},
|
|
257
|
+
// Somebody typed it, so it is never quietly replaced by the stored choice
|
|
258
|
+
// or the default (FR-012a): the value is named, and so is where it came from.
|
|
259
|
+
project_env_not_found: (p) => ({
|
|
260
|
+
message: `VEILIO_PROJECT is "${p.project}", which is not a project your team works in, so nothing was done. No other project was used instead.`,
|
|
261
|
+
resolve: 'Run `veilio projects` for the ones it does, then set VEILIO_PROJECT to one of them, or unset it.',
|
|
262
|
+
}),
|
|
263
|
+
project_env_ambiguous: (p) => ({
|
|
264
|
+
message: `VEILIO_PROJECT is "${p.project}", and ${p.count} projects are called that, so nothing was done. No other project was used instead.`,
|
|
265
|
+
resolve: "Set VEILIO_PROJECT to the project's id: `veilio projects` lists them.",
|
|
247
266
|
}),
|
|
248
267
|
no_projects: () => ({
|
|
249
268
|
message: "this account's team works in no project yet, so there is none to choose.",
|
|
@@ -312,7 +331,10 @@ export function refusalFromCloudError(err, ctx = {}) {
|
|
|
312
331
|
return refusal('server', { detail: err instanceof Error ? err.message : String(err) });
|
|
313
332
|
}
|
|
314
333
|
if (err.status === 404 && /project not found/i.test(err.message)) {
|
|
315
|
-
return refusal('project_gone', {
|
|
334
|
+
return refusal('project_gone', {
|
|
335
|
+
project: ctx.project ?? 'the default',
|
|
336
|
+
...(ctx.override ? { override: true } : {}),
|
|
337
|
+
});
|
|
316
338
|
}
|
|
317
339
|
switch (err.kind) {
|
|
318
340
|
case 'unauthenticated':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wording.js","sourceRoot":"","sources":["../../src/client/wording.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wording.js","sourceRoot":"","sources":["../../src/client/wording.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud-commands.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TeamLayer } from '@veilio-inc/engine';
|
|
2
2
|
import { type Io, type TeamNamespaceSource } from './commands.js';
|
|
3
|
+
import { type Env } from './client/project-scope.js';
|
|
3
4
|
/**
|
|
4
5
|
* Sign in, and store the credential only if the account can actually use it.
|
|
5
6
|
*
|
|
@@ -121,13 +122,14 @@ export declare function runVaultLock(io: Io): number;
|
|
|
121
122
|
* as a callback so that command stays unlinked from the network. Signed out:
|
|
122
123
|
* no request, no layer - a local restore, as before.
|
|
123
124
|
*/
|
|
124
|
-
export declare function teamLayerFor(home: string | undefined, missing: readonly string[]): Promise<{
|
|
125
|
+
export declare function teamLayerFor(home: string | undefined, missing: readonly string[], env?: Env): Promise<{
|
|
125
126
|
team: TeamLayer | null;
|
|
126
127
|
note: string | null;
|
|
128
|
+
refused?: string;
|
|
127
129
|
}>;
|
|
128
130
|
/** What `veilio scrub` numbers from (spec 030): the team's namespace, or this
|
|
129
131
|
* project's map with the reason. Signed out or in no team: no request, no note. */
|
|
130
|
-
export declare function teamNamespaceForScrub(home: string | undefined): Promise<Awaited<ReturnType<TeamNamespaceSource>>>;
|
|
132
|
+
export declare function teamNamespaceForScrub(home: string | undefined, env?: Env): Promise<Awaited<ReturnType<TeamNamespaceSource>>>;
|
|
131
133
|
/** Kept importable from here: tests and callers written before spec 052 moved
|
|
132
134
|
* it into the shared client. */
|
|
133
135
|
export { conflictsWithTeam } from './client/maps.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-commands.d.ts","sourceRoot":"","sources":["../src/cloud-commands.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAWjF,OAAO,EAAuB,KAAK,EAAE,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"cloud-commands.d.ts","sourceRoot":"","sources":["../src/cloud-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud-commands.js
CHANGED
|
@@ -19,7 +19,8 @@ import { refusal, renderRefusal } from './client/wording.js';
|
|
|
19
19
|
import { bootstrapTeamKey, openOwnKeypair } from './client/team-key-bootstrap.js';
|
|
20
20
|
import { vaultLock, vaultUnlock } from './client/keys.js';
|
|
21
21
|
import { vaultKeyFor } from './client/vault-key.js';
|
|
22
|
-
import { listTeamProjects, useProject } from './client/projects.js';
|
|
22
|
+
import { formatProjectsList, listTeamProjects, useProject, usedSentence, } from './client/projects.js';
|
|
23
|
+
import { PROJECT_ENV, overriddenSentence, projectOverride, } from './client/project-scope.js';
|
|
23
24
|
import { personalMapsKeyPath, removePersonalMapsKey } from './client/personal-maps-key.js';
|
|
24
25
|
import { VERSION } from './version.js';
|
|
25
26
|
/** The endpoint a sign-in is checked against. See `runLogin`. */
|
|
@@ -349,8 +350,15 @@ export function runWhoami(io) {
|
|
|
349
350
|
io.stdout('Not signed in. Run `veilio login` to connect a Veilio Cloud account.\n');
|
|
350
351
|
return EXIT_OK;
|
|
351
352
|
}
|
|
353
|
+
// Still no request: the variable is reported as set, not resolved - which
|
|
354
|
+
// project it names is `veilio projects`'s question, and needs the network.
|
|
355
|
+
const override = projectOverride(io.env);
|
|
352
356
|
io.stdout(`${credential.account} on ${credential.instance}` +
|
|
353
|
-
(
|
|
357
|
+
(override
|
|
358
|
+
? `, project ${override} (from ${PROJECT_ENV})`
|
|
359
|
+
: credential.project
|
|
360
|
+
? `, project ${credential.project}`
|
|
361
|
+
: '') +
|
|
354
362
|
'\n');
|
|
355
363
|
return EXIT_OK;
|
|
356
364
|
}
|
|
@@ -413,6 +421,7 @@ function clientContext(io) {
|
|
|
413
421
|
return {
|
|
414
422
|
home: io.home,
|
|
415
423
|
passphrase: io.password ? () => io.password('Vault passphrase: ') : undefined,
|
|
424
|
+
env: io.env,
|
|
416
425
|
};
|
|
417
426
|
}
|
|
418
427
|
/** A refusal on stderr, and the exit code that goes with it. */
|
|
@@ -436,7 +445,7 @@ export async function runMapsList(io) {
|
|
|
436
445
|
const listed = await listCloudMaps(clientContext(io));
|
|
437
446
|
if (!listed.ok)
|
|
438
447
|
return refused(listed.refusal, io);
|
|
439
|
-
const { maps, project } = listed.value;
|
|
448
|
+
const { maps, project, projectFromEnv } = listed.value;
|
|
440
449
|
if (maps.length === 0) {
|
|
441
450
|
io.stdout('No maps in Cloud yet. `veilio maps push <name>` uploads the local one.\n');
|
|
442
451
|
return EXIT_OK;
|
|
@@ -449,7 +458,9 @@ export async function runMapsList(io) {
|
|
|
449
458
|
// Said on stderr so the listing itself stays parseable: which project's team
|
|
450
459
|
// maps these are, or that no project was chosen.
|
|
451
460
|
if (project)
|
|
452
|
-
io.stderr(
|
|
461
|
+
io.stderr(projectFromEnv
|
|
462
|
+
? `veilio: team maps of project ${project} - ${PROJECT_ENV} chose it, so \`veilio projects use\` does not change it here\n`
|
|
463
|
+
: `veilio: team maps of project ${project} (\`veilio projects\` to change)\n`);
|
|
453
464
|
return EXIT_OK;
|
|
454
465
|
}
|
|
455
466
|
/**
|
|
@@ -713,21 +724,11 @@ export async function runProjectsList(io) {
|
|
|
713
724
|
const listed = await listTeamProjects(clientContext(io));
|
|
714
725
|
if (!listed.ok)
|
|
715
726
|
return refused(listed.refusal, io);
|
|
716
|
-
const {
|
|
717
|
-
for (const
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
...(p.maps !== null ? [`${p.maps} team map${p.maps === 1 ? '' : 's'}`] : []),
|
|
722
|
-
];
|
|
723
|
-
io.stdout(`${p.inUse ? '*' : ' '} ${p.id} ${p.name} (${marks.join(', ')})\n`);
|
|
724
|
-
}
|
|
725
|
-
if (chosen === null) {
|
|
726
|
-
// Said, because "none" is a real state with a real consequence: team maps
|
|
727
|
-
// from every project the team works in are listed and masked with.
|
|
728
|
-
io.stderr('veilio: No project is chosen, so team maps from every project are listed and used, and a new ' +
|
|
729
|
-
'team map lands in the default. Run `veilio projects use <name>` to work in one.\n');
|
|
730
|
-
}
|
|
727
|
+
const { lines, note } = formatProjectsList(listed.value, { surface: 'cli' });
|
|
728
|
+
for (const line of lines)
|
|
729
|
+
io.stdout(`${line}\n`);
|
|
730
|
+
if (note)
|
|
731
|
+
io.stderr(`veilio: ${note}\n`);
|
|
731
732
|
return EXIT_OK;
|
|
732
733
|
}
|
|
733
734
|
/** Choose the project this sign-in works in. */
|
|
@@ -735,8 +736,9 @@ export async function runProjectsUse(ref, io) {
|
|
|
735
736
|
const used = await useProject(clientContext(io), ref);
|
|
736
737
|
if (!used.ok)
|
|
737
738
|
return refused(used.refusal, io);
|
|
738
|
-
io.stdout(
|
|
739
|
-
|
|
739
|
+
io.stdout(`${usedSentence(used.value, { surface: 'cli' })}\n`);
|
|
740
|
+
if (used.value.overriddenBy !== null)
|
|
741
|
+
io.stderr(`veilio: ${overriddenSentence(used.value, 'shell')}\n`);
|
|
740
742
|
return EXIT_OK;
|
|
741
743
|
}
|
|
742
744
|
// ─── vault: unlock, lock ─────────────────────────────────────────────────────
|
|
@@ -788,10 +790,12 @@ export function runVaultLock(io) {
|
|
|
788
790
|
* as a callback so that command stays unlinked from the network. Signed out:
|
|
789
791
|
* no request, no layer - a local restore, as before.
|
|
790
792
|
*/
|
|
791
|
-
export async function teamLayerFor(home, missing) {
|
|
793
|
+
export async function teamLayerFor(home, missing, env) {
|
|
792
794
|
// Signed out, the resolver answers 'local' without a request. At most 5 s: a
|
|
793
795
|
// hung instance must not stall a `... | veilio restore > file` pipeline.
|
|
794
|
-
const found = await resolveTeamNamespace(home, { deadlineMs: RESTORE_CLOUD_WAIT_MS });
|
|
796
|
+
const found = await resolveTeamNamespace(home, { deadlineMs: RESTORE_CLOUD_WAIT_MS, env });
|
|
797
|
+
if (found.status === 'refused')
|
|
798
|
+
return { team: null, note: null, refused: renderRefusal(found.refusal) };
|
|
795
799
|
if (found.status === 'team' && found.conflictDetection)
|
|
796
800
|
return { team: found.analysis, note: null };
|
|
797
801
|
return { team: null, note: teamLayerNote(found, missing) };
|
|
@@ -799,8 +803,10 @@ export async function teamLayerFor(home, missing) {
|
|
|
799
803
|
const RESTORE_CLOUD_WAIT_MS = 5000;
|
|
800
804
|
/** What `veilio scrub` numbers from (spec 030): the team's namespace, or this
|
|
801
805
|
* project's map with the reason. Signed out or in no team: no request, no note. */
|
|
802
|
-
export async function teamNamespaceForScrub(home) {
|
|
803
|
-
const found = await resolveTeamNamespace(home, { deadlineMs: RESTORE_CLOUD_WAIT_MS });
|
|
806
|
+
export async function teamNamespaceForScrub(home, env) {
|
|
807
|
+
const found = await resolveTeamNamespace(home, { deadlineMs: RESTORE_CLOUD_WAIT_MS, env });
|
|
808
|
+
if (found.status === 'refused')
|
|
809
|
+
return { team: null, note: null, refused: renderRefusal(found.refusal) };
|
|
804
810
|
if (found.status === 'team') {
|
|
805
811
|
const credential = readCredential(home);
|
|
806
812
|
const teamId = found.teamId;
|