@nacre.work/cli 0.15.0 → 0.16.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 +33 -0
- package/dist/admin.d.ts +20 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +312 -0
- package/dist/admin.js.map +1 -0
- package/dist/commands.d.ts +4 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +3 -3
- package/dist/commands.js.map +1 -1
- package/dist/run.d.ts +2 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +25 -1
- package/dist/run.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -31,6 +31,39 @@ npx @nacre.work/cli search "when do new hires get access"
|
|
|
31
31
|
A **scope** is `layer:<slug>`, `workspace:<slug>` or `document:<id>`. A
|
|
32
32
|
**principal** is `user:<id>`, `group:<id>` or `service_account:<id>`.
|
|
33
33
|
|
|
34
|
+
## Administering an organization
|
|
35
|
+
|
|
36
|
+
All of these need `org_admin`, and a member gets the same `404` for them as for
|
|
37
|
+
anything else invisible.
|
|
38
|
+
|
|
39
|
+
| | |
|
|
40
|
+
|---|---|
|
|
41
|
+
| `users` | everyone, with role and state |
|
|
42
|
+
| `users create <email>` | `--admin` for `org_admin`. The password is **generated** and shown once |
|
|
43
|
+
| `users password <id>` | issue a new one, shown once |
|
|
44
|
+
| `users role <id> <member\|org_admin>` | |
|
|
45
|
+
| `users disable <id>` | the row is kept — the access log names that id |
|
|
46
|
+
| `groups` | teams a grant can name |
|
|
47
|
+
| `groups create <name>` / `groups delete <id>` | deleting takes the group's grants with it |
|
|
48
|
+
| `groups members <id>` | |
|
|
49
|
+
| `groups add\|remove <id> <user:id\|group:id>` | |
|
|
50
|
+
| `service-accounts` | keys, with prefix and last use |
|
|
51
|
+
| `service-accounts create <name>` | the key is shown once |
|
|
52
|
+
| `service-accounts revoke <id>` | |
|
|
53
|
+
| `audit` | the access log. `--action`, `--actor`, `--result`, `--from`, `--to`, `--limit` |
|
|
54
|
+
|
|
55
|
+
**A password is never given, only generated.** `--password` is refused rather
|
|
56
|
+
than passed on: an argument ends up in a shell history, and a password an
|
|
57
|
+
administrator chose is a password they know. The same applies to a service
|
|
58
|
+
account key — it exists in the response that created it and nowhere afterwards,
|
|
59
|
+
because what is stored is a hash.
|
|
60
|
+
|
|
61
|
+
**`audit --limit` counts records, not pages.** It follows the cursor to the end
|
|
62
|
+
of what was asked for. Asking for one page cannot tell a working cursor from a
|
|
63
|
+
stuck one, and this API's pagination has shipped broken in both directions —
|
|
64
|
+
once repeating a row forever, once skipping everything between a truncated bound
|
|
65
|
+
and the real value.
|
|
66
|
+
|
|
34
67
|
## The session
|
|
35
68
|
|
|
36
69
|
`login` writes `~/.config/nacre/config.json` at mode `0600`, in a directory at
|
package/dist/admin.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type Context } from './commands.js';
|
|
2
|
+
export declare function users(context: Context): Promise<string>;
|
|
3
|
+
export declare function groups(context: Context): Promise<string>;
|
|
4
|
+
export declare function serviceAccounts(context: Context): Promise<string>;
|
|
5
|
+
/**
|
|
6
|
+
* The access log, walked to the end of what was asked for.
|
|
7
|
+
*
|
|
8
|
+
* **It follows the cursor** rather than printing one page, and that is the
|
|
9
|
+
* point rather than a convenience. A page is a page whatever the cursor does,
|
|
10
|
+
* so a client that asks for one cannot tell a working cursor from a stuck one —
|
|
11
|
+
* which is exactly how this API's pagination shipped broken twice, once
|
|
12
|
+
* repeating a row forever and once skipping every event between a truncated
|
|
13
|
+
* bound and the real value. `--limit` is a number of records, not of pages.
|
|
14
|
+
*
|
|
15
|
+
* What appears here is what the deployment decided to store. A search leaves a
|
|
16
|
+
* `query_hash` always and the query text only where `NACRE_AUDIT_QUERY_TEXT`
|
|
17
|
+
* says so; this command does not choose that and does not filter it back out.
|
|
18
|
+
*/
|
|
19
|
+
export declare function audit(context: Context): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAyCnE,wBAAsB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA2B7D;AA2DD,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB9D;AAkED,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBvE;AAuBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA+E7D"}
|
package/dist/admin.js
ADDED
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { NacreClient } from '@nacre.work/sdk';
|
|
2
|
+
import { integer, option, UsageError } from './args.js';
|
|
3
|
+
import { render, requireClient } from './commands.js';
|
|
4
|
+
/**
|
|
5
|
+
* The `org_admin` surface: people, teams, keys, and the access log.
|
|
6
|
+
*
|
|
7
|
+
* Every one of these already existed in the API and in the admin UI, and none
|
|
8
|
+
* of them was reachable from a terminal — so an administrator scripting an
|
|
9
|
+
* onboarding went back to `curl` with a hand-assembled body and a token in a
|
|
10
|
+
* variable. That is the same shape of hole `/v1/users` itself closed: the model
|
|
11
|
+
* offers something the product gives no route to, and people find `psql`. One
|
|
12
|
+
* level up, the route they found instead was `curl`.
|
|
13
|
+
*
|
|
14
|
+
* Separate from `commands.ts` because the two answer different questions. That
|
|
15
|
+
* file is the first mile — from a clean installation to a first search — and
|
|
16
|
+
* this is administration of one that already runs. They share `Context` and
|
|
17
|
+
* nothing else.
|
|
18
|
+
*
|
|
19
|
+
* Nothing here holds a second idea of what the API is; it is the SDK with
|
|
20
|
+
* argument parsing and a table in front of it.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* A secret this command is the only chance to read.
|
|
24
|
+
*
|
|
25
|
+
* A generated password and a service account key are returned once, by an
|
|
26
|
+
* endpoint that stores a scrypt hash, so neither is recoverable from the
|
|
27
|
+
* database or from a backup. Printing it under a line that says so is not
|
|
28
|
+
* decoration — the alternative is somebody assuming they can look it up.
|
|
29
|
+
*/
|
|
30
|
+
function once(what, secret) {
|
|
31
|
+
return `${what}: ${secret}\n\nNot shown again and not recoverable — it is stored hashed.`;
|
|
32
|
+
}
|
|
33
|
+
/** A row is missing, or the caller may not see it. The server does not say which, so neither does this. */
|
|
34
|
+
function refused(what, id) {
|
|
35
|
+
return new Error(`No ${what} ${JSON.stringify(id)} you can administer. Not finding it and not being ` +
|
|
36
|
+
'allowed to act on it are the same answer here.');
|
|
37
|
+
}
|
|
38
|
+
export async function users(context) {
|
|
39
|
+
const client = requireClient(context);
|
|
40
|
+
const [, verb, argument] = context.parsed.positional;
|
|
41
|
+
if (verb === 'create')
|
|
42
|
+
return createUser(context, client, argument);
|
|
43
|
+
if (verb === 'disable')
|
|
44
|
+
return disableUser(context, client, argument);
|
|
45
|
+
if (verb === 'password')
|
|
46
|
+
return resetPassword(context, client, argument);
|
|
47
|
+
if (verb === 'role')
|
|
48
|
+
return setRole(context, client, argument);
|
|
49
|
+
if (verb !== undefined)
|
|
50
|
+
throw new UsageError(`Unknown: nacre users ${verb}`);
|
|
51
|
+
const list = await client.users.list();
|
|
52
|
+
return render(context, list, () => {
|
|
53
|
+
if (list.length === 0)
|
|
54
|
+
return 'No users. This needs org_admin — a member sees nothing here.';
|
|
55
|
+
const width = Math.max(...list.map((user) => user.email.length));
|
|
56
|
+
return list
|
|
57
|
+
.map((user) => {
|
|
58
|
+
const state = user.disabledAt === null ? '' : ' disabled';
|
|
59
|
+
// An account with no local password signs in through the SSO module,
|
|
60
|
+
// and an administrator looking at this list is usually asking exactly
|
|
61
|
+
// that: why can this person not sign in.
|
|
62
|
+
const sso = user.hasPassword ? '' : ' sso-only';
|
|
63
|
+
return `${user.email.padEnd(width)} ${user.role.padEnd(9)} ${user.id}${state}${sso}`;
|
|
64
|
+
})
|
|
65
|
+
.join('\n');
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
async function createUser(context, client, email) {
|
|
69
|
+
if (email === undefined)
|
|
70
|
+
throw new UsageError('nacre users create <email> [--admin]');
|
|
71
|
+
// Deliberately no `--password`. The endpoint generates one and refuses to
|
|
72
|
+
// accept one, on two arguments: an argument ends up in a shell history, and a
|
|
73
|
+
// password an administrator chose is a password they know.
|
|
74
|
+
if (option(context.parsed, 'password') !== undefined) {
|
|
75
|
+
throw new UsageError('A password is generated, never given. It is printed once by this command. ' +
|
|
76
|
+
'`nacre users password <id>` issues a new one.');
|
|
77
|
+
}
|
|
78
|
+
const created = await client.users.create(email, context.parsed.options.has('admin') ? 'org_admin' : 'member');
|
|
79
|
+
return render(context, created, () => `Created ${created.email} (${created.role})\nid: ${created.id}\n\n${once('Password', created.password)}`);
|
|
80
|
+
}
|
|
81
|
+
async function disableUser(context, client, id) {
|
|
82
|
+
if (id === undefined)
|
|
83
|
+
throw new UsageError('nacre users disable <id>');
|
|
84
|
+
// A refusal to strand the organization without an administrator arrives as a
|
|
85
|
+
// `409` and is not a `404`, so it travels as its own error rather than being
|
|
86
|
+
// flattened into "no such user" — the two need opposite responses.
|
|
87
|
+
const done = await client.users.disable(id);
|
|
88
|
+
if (!done)
|
|
89
|
+
throw refused('user', id);
|
|
90
|
+
return render(context, { id, disabled: true }, () => `Disabled ${id}. The row is kept: the access log names this id.`);
|
|
91
|
+
}
|
|
92
|
+
async function resetPassword(context, client, id) {
|
|
93
|
+
if (id === undefined)
|
|
94
|
+
throw new UsageError('nacre users password <id>');
|
|
95
|
+
const password = await client.users.resetPassword(id);
|
|
96
|
+
if (password === undefined)
|
|
97
|
+
throw refused('user', id);
|
|
98
|
+
return render(context, { id, password }, () => once(`New password for ${id}`, password));
|
|
99
|
+
}
|
|
100
|
+
async function setRole(context, client, id) {
|
|
101
|
+
const role = context.parsed.positional[3];
|
|
102
|
+
if (id === undefined || role === undefined)
|
|
103
|
+
throw new UsageError('nacre users role <id> <member|org_admin>');
|
|
104
|
+
if (role !== 'member' && role !== 'org_admin') {
|
|
105
|
+
throw new UsageError(`Role is member or org_admin, not ${JSON.stringify(role)}. platform_admin spans tenants and ` +
|
|
106
|
+
'is refused from an endpoint scoped to one organization.');
|
|
107
|
+
}
|
|
108
|
+
const done = await client.users.update(id, { role });
|
|
109
|
+
if (!done)
|
|
110
|
+
throw refused('user', id);
|
|
111
|
+
return render(context, { id, role }, () => `${id} is now ${role}.`);
|
|
112
|
+
}
|
|
113
|
+
export async function groups(context) {
|
|
114
|
+
const client = requireClient(context);
|
|
115
|
+
const [, verb, argument] = context.parsed.positional;
|
|
116
|
+
if (verb === 'create')
|
|
117
|
+
return createGroup(context, client, argument);
|
|
118
|
+
if (verb === 'delete')
|
|
119
|
+
return deleteGroup(context, client, argument);
|
|
120
|
+
if (verb === 'members')
|
|
121
|
+
return listMembers(context, client, argument);
|
|
122
|
+
if (verb === 'add' || verb === 'remove')
|
|
123
|
+
return changeMembership(context, client, verb, argument);
|
|
124
|
+
if (verb !== undefined)
|
|
125
|
+
throw new UsageError(`Unknown: nacre groups ${verb}`);
|
|
126
|
+
const list = await client.groups.list();
|
|
127
|
+
return render(context, list, () => {
|
|
128
|
+
if (list.length === 0)
|
|
129
|
+
return 'No groups. `nacre groups create <name>` makes one; grants can name it.';
|
|
130
|
+
const width = Math.max(...list.map((group) => group.name.length));
|
|
131
|
+
return list
|
|
132
|
+
.map((group) => `${group.name.padEnd(width)} ${group.memberCount} members ${group.id}`)
|
|
133
|
+
.join('\n');
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
async function createGroup(context, client, name) {
|
|
137
|
+
if (name === undefined)
|
|
138
|
+
throw new UsageError('nacre groups create <name>');
|
|
139
|
+
const created = await client.groups.create(name);
|
|
140
|
+
return render(context, created, () => `Created group ${created.name}\nid: ${created.id}`);
|
|
141
|
+
}
|
|
142
|
+
async function deleteGroup(context, client, id) {
|
|
143
|
+
if (id === undefined)
|
|
144
|
+
throw new UsageError('nacre groups delete <id>');
|
|
145
|
+
const done = await client.groups.remove(id);
|
|
146
|
+
if (!done)
|
|
147
|
+
throw refused('group', id);
|
|
148
|
+
// Deleted rather than disabled, which is the asymmetry with a user and is
|
|
149
|
+
// structural: the access log names a user id and `grants.created_by`
|
|
150
|
+
// references one, so a deleted user is an unresolvable reference in the one
|
|
151
|
+
// record that must not have them. Nothing points at a group that way — and
|
|
152
|
+
// nothing would remove its grants either, so the endpoint takes them in the
|
|
153
|
+
// same transaction.
|
|
154
|
+
return render(context, { id, deleted: true }, () => `Deleted group ${id}, and the grants naming it.`);
|
|
155
|
+
}
|
|
156
|
+
async function listMembers(context, client, id) {
|
|
157
|
+
if (id === undefined)
|
|
158
|
+
throw new UsageError('nacre groups members <id>');
|
|
159
|
+
// `undefined` is no such group; an empty array is a group with nobody in it.
|
|
160
|
+
// Collapsing the two would report an invisible group as an empty one.
|
|
161
|
+
const members = await client.groups.members(id);
|
|
162
|
+
if (members === undefined)
|
|
163
|
+
throw refused('group', id);
|
|
164
|
+
return render(context, members, () => {
|
|
165
|
+
if (members.length === 0)
|
|
166
|
+
return 'No members. `nacre groups add <group-id> user:<id>` puts somebody in.';
|
|
167
|
+
return members.map((member) => `${member.type.padEnd(5)} ${member.label} ${member.id}`).join('\n');
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
async function changeMembership(context, client, verb, id) {
|
|
171
|
+
const member = context.parsed.positional[3];
|
|
172
|
+
if (id === undefined || member === undefined) {
|
|
173
|
+
throw new UsageError(`nacre groups ${verb} <group-id> <user:id|group:id>`);
|
|
174
|
+
}
|
|
175
|
+
const at = member.indexOf(':');
|
|
176
|
+
const type = at === -1 ? '' : member.slice(0, at);
|
|
177
|
+
const memberId = at === -1 ? '' : member.slice(at + 1);
|
|
178
|
+
if ((type !== 'user' && type !== 'group') || memberId === '') {
|
|
179
|
+
throw new UsageError(`A member is user:<id> or group:<id>, not ${JSON.stringify(member)}`);
|
|
180
|
+
}
|
|
181
|
+
const done = verb === 'add'
|
|
182
|
+
? await client.groups.addMember(id, { type, id: memberId })
|
|
183
|
+
: await client.groups.removeMember(id, { type, id: memberId });
|
|
184
|
+
if (!done)
|
|
185
|
+
throw refused('group or member', `${id}/${member}`);
|
|
186
|
+
return render(context, { group: id, member: { type, id: memberId }, [verb]: true }, () => verb === 'add' ? `${member} is in ${id}.` : `${member} is out of ${id}.`);
|
|
187
|
+
}
|
|
188
|
+
export async function serviceAccounts(context) {
|
|
189
|
+
const client = requireClient(context);
|
|
190
|
+
const [, verb, argument] = context.parsed.positional;
|
|
191
|
+
if (verb === 'create')
|
|
192
|
+
return createServiceAccount(context, client, argument);
|
|
193
|
+
if (verb === 'revoke')
|
|
194
|
+
return revokeServiceAccount(context, client, argument);
|
|
195
|
+
if (verb !== undefined)
|
|
196
|
+
throw new UsageError(`Unknown: nacre service-accounts ${verb}`);
|
|
197
|
+
const list = await client.serviceAccounts.list();
|
|
198
|
+
return render(context, list, () => {
|
|
199
|
+
if (list.length === 0)
|
|
200
|
+
return 'No service accounts. `nacre service-accounts create <name>` mints one.';
|
|
201
|
+
const width = Math.max(...list.map((account) => account.name.length));
|
|
202
|
+
return list
|
|
203
|
+
.map((account) => {
|
|
204
|
+
const used = account.lastUsedAt === null ? 'never used' : `used ${account.lastUsedAt}`;
|
|
205
|
+
const state = account.revokedAt === null ? '' : ' revoked';
|
|
206
|
+
return `${account.name.padEnd(width)} ${account.keyPrefix}… ${used} ${account.id}${state}`;
|
|
207
|
+
})
|
|
208
|
+
.join('\n');
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
async function createServiceAccount(context, client, name) {
|
|
212
|
+
if (name === undefined)
|
|
213
|
+
throw new UsageError('nacre service-accounts create <name>');
|
|
214
|
+
const created = await client.serviceAccounts.create(name);
|
|
215
|
+
return render(context, created, () => `Created ${created.name}\nid: ${created.id}\n\n${once('Key', created.key)}\n\n` +
|
|
216
|
+
'It holds nothing until it is granted something:\n' +
|
|
217
|
+
` nacre grant write layer:<slug> --to service_account:${created.id}`);
|
|
218
|
+
}
|
|
219
|
+
async function revokeServiceAccount(context, client, id) {
|
|
220
|
+
if (id === undefined)
|
|
221
|
+
throw new UsageError('nacre service-accounts revoke <id>');
|
|
222
|
+
const done = await client.serviceAccounts.revoke(id);
|
|
223
|
+
if (!done)
|
|
224
|
+
throw refused('service account', id);
|
|
225
|
+
return render(context, { id, revoked: true }, () => `Revoked ${id}. Requests carrying that key now fail.`);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* The access log, walked to the end of what was asked for.
|
|
229
|
+
*
|
|
230
|
+
* **It follows the cursor** rather than printing one page, and that is the
|
|
231
|
+
* point rather than a convenience. A page is a page whatever the cursor does,
|
|
232
|
+
* so a client that asks for one cannot tell a working cursor from a stuck one —
|
|
233
|
+
* which is exactly how this API's pagination shipped broken twice, once
|
|
234
|
+
* repeating a row forever and once skipping every event between a truncated
|
|
235
|
+
* bound and the real value. `--limit` is a number of records, not of pages.
|
|
236
|
+
*
|
|
237
|
+
* What appears here is what the deployment decided to store. A search leaves a
|
|
238
|
+
* `query_hash` always and the query text only where `NACRE_AUDIT_QUERY_TEXT`
|
|
239
|
+
* says so; this command does not choose that and does not filter it back out.
|
|
240
|
+
*/
|
|
241
|
+
export async function audit(context) {
|
|
242
|
+
const client = requireClient(context);
|
|
243
|
+
const limit = integer(context.parsed, 'limit') ?? 50;
|
|
244
|
+
const RESULTS = ['allow', 'deny', 'error'];
|
|
245
|
+
const given = option(context.parsed, 'result');
|
|
246
|
+
if (given !== undefined && !RESULTS.includes(given)) {
|
|
247
|
+
throw new UsageError(`--result is allow, deny or error, not ${JSON.stringify(given)}`);
|
|
248
|
+
}
|
|
249
|
+
const result = given;
|
|
250
|
+
const query = {
|
|
251
|
+
...(option(context.parsed, 'action') === undefined ? {} : { action: option(context.parsed, 'action') }),
|
|
252
|
+
...(option(context.parsed, 'actor') === undefined ? {} : { actorId: option(context.parsed, 'actor') }),
|
|
253
|
+
...(option(context.parsed, 'from') === undefined ? {} : { from: option(context.parsed, 'from') }),
|
|
254
|
+
...(option(context.parsed, 'to') === undefined ? {} : { to: option(context.parsed, 'to') }),
|
|
255
|
+
...(result === undefined ? {} : { result }),
|
|
256
|
+
};
|
|
257
|
+
const records = [];
|
|
258
|
+
let cursor;
|
|
259
|
+
while (records.length < limit) {
|
|
260
|
+
const page = await client.audit.read({
|
|
261
|
+
...query,
|
|
262
|
+
limit: Math.min(100, limit - records.length),
|
|
263
|
+
...(cursor === undefined ? {} : { cursor }),
|
|
264
|
+
});
|
|
265
|
+
records.push(...page.items);
|
|
266
|
+
// The end of the log, not the end of a page. A server that stopped
|
|
267
|
+
// advancing would otherwise spin here, so an empty page ends it too.
|
|
268
|
+
if (page.nextCursor === undefined || page.items.length === 0)
|
|
269
|
+
break;
|
|
270
|
+
cursor = page.nextCursor;
|
|
271
|
+
}
|
|
272
|
+
return render(context, records, () => {
|
|
273
|
+
if (records.length === 0) {
|
|
274
|
+
// Two different situations with one output, and saying the wrong one
|
|
275
|
+
// sends the reader to the wrong place. An unfiltered empty log is a
|
|
276
|
+
// question about the caller's role; a filtered one is almost always a
|
|
277
|
+
// filter that matches nothing — `--action user.create` returns nothing
|
|
278
|
+
// and looks identical to no permission, which is how this message got
|
|
279
|
+
// written the second time.
|
|
280
|
+
if (Object.keys(query).length === 0) {
|
|
281
|
+
return 'Nothing in the log. org_admin sees document reads; platform_admin sees administration and never those.';
|
|
282
|
+
}
|
|
283
|
+
return ('Nothing matches those filters. --action takes the name as it is recorded — ' +
|
|
284
|
+
'`create_user`, `disable_user`, `audit.read` — and the log does not spell them all one way.');
|
|
285
|
+
}
|
|
286
|
+
return records
|
|
287
|
+
.map((record) => {
|
|
288
|
+
const who = record.actor.label ?? record.actor.id ?? 'anonymous';
|
|
289
|
+
const where = record.surface === null ? '' : ` via ${record.surface}`;
|
|
290
|
+
// **Both**, and this is the whole of what running it found. The record
|
|
291
|
+
// carries two objects for one idea — what was acted on — and which one
|
|
292
|
+
// a handler fills depends on the handler: `audit.read` writes `target`
|
|
293
|
+
// and every administrative event writes `detail`. So a renderer reading
|
|
294
|
+
// one of them prints nothing about the object for half the log, which
|
|
295
|
+
// is what the first version of this did for `create_user`,
|
|
296
|
+
// `disable_user`, `reset_password` and every other line an
|
|
297
|
+
// administrator opens this command to read.
|
|
298
|
+
//
|
|
299
|
+
// No test could have caught it. A fixture written beside this code
|
|
300
|
+
// fills the field the code reads.
|
|
301
|
+
const target = Object.entries({ ...record.target, ...record.detail })
|
|
302
|
+
.map(([key, value]) => `${key}=${typeof value === 'object' ? JSON.stringify(value) : String(value)}`)
|
|
303
|
+
.join(' ');
|
|
304
|
+
// `allow` is every other line and marking it would hide the two that
|
|
305
|
+
// matter. A denial is what somebody reading a log came for.
|
|
306
|
+
const outcome = record.result === 'allow' ? '' : ` ${record.result.toUpperCase()}`;
|
|
307
|
+
return `${record.occurredAt} ${record.action.padEnd(18)}${outcome} ${who}${where} ${target}`.trimEnd();
|
|
308
|
+
})
|
|
309
|
+
.join('\n');
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
//# sourceMappingURL=admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -16,6 +16,10 @@ export interface Context {
|
|
|
16
16
|
readonly prompt: (question: string, hidden: boolean) => Promise<string>;
|
|
17
17
|
readonly clientFor: (session: Session) => NacreClient;
|
|
18
18
|
}
|
|
19
|
+
export declare function requireSession(context: Context): Session;
|
|
20
|
+
export declare function requireClient(context: Context): NacreClient;
|
|
21
|
+
/** `--json` prints the object; otherwise the caller's own rendering. */
|
|
22
|
+
export declare function render(context: Context, value: unknown, human: () => string): string;
|
|
19
23
|
export declare function login(context: Context): Promise<string>;
|
|
20
24
|
export declare function whoami(context: Context): Promise<string>;
|
|
21
25
|
export declare function layers(context: Context): Promise<string>;
|
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAA4B,MAAM,iBAAiB,CAAA;AAEvE,OAAO,EAAqC,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC;;;;;;GAMG;AAEH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACvE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,WAAW,CAAA;CACtD;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAA4B,MAAM,iBAAiB,CAAA;AAEvE,OAAO,EAAqC,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC;;;;;;GAMG;AAEH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACvE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,WAAW,CAAA;CACtD;AAeD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAIxD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAE3D;AAED,wEAAwE;AACxE,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,GAAG,MAAM,CAEpF;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA8B7D;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAY9D;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB9D;AAgDD,wBAAsB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAsC7D;AA0BD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI9C;AAKD,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CA4BvF;AAOD,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA4E/D;AA8FD,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA8EjE;AAQD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAA;IAChG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,GAAG,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,EAAE,GAAE,QAA2D,GAC9D,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
|
package/dist/commands.js
CHANGED
|
@@ -14,17 +14,17 @@ const UNAUTHENTICATED = 'unauthenticated';
|
|
|
14
14
|
*/
|
|
15
15
|
const NO_SESSION = 'Not signed in. Run `nacre login --url https://your-installation` — or set ' +
|
|
16
16
|
'NACRE_API_URL and NACRE_TOKEN, which is what a service account in CI uses.';
|
|
17
|
-
function requireSession(context) {
|
|
17
|
+
export function requireSession(context) {
|
|
18
18
|
const session = loadSession(context.env);
|
|
19
19
|
if (session === undefined)
|
|
20
20
|
throw new Error(NO_SESSION);
|
|
21
21
|
return session;
|
|
22
22
|
}
|
|
23
|
-
function requireClient(context) {
|
|
23
|
+
export function requireClient(context) {
|
|
24
24
|
return context.clientFor(requireSession(context));
|
|
25
25
|
}
|
|
26
26
|
/** `--json` prints the object; otherwise the caller's own rendering. */
|
|
27
|
-
function render(context, value, human) {
|
|
27
|
+
export function render(context, value, human) {
|
|
28
28
|
return flag(context.parsed, 'json') ? JSON.stringify(value, null, 2) : human();
|
|
29
29
|
}
|
|
30
30
|
export async function login(context) {
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/run.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type Context } from './commands.js';
|
|
2
|
-
export declare const HELP = "nacre \u2014 the command line client for a Nacre installation\n\n nacre login --url <https://api.example> sign in, and remember the session\n nacre whoami which principal this session is\n nacre layers layers you can read\n nacre layers create <slug> [--name ...] create one [--workspace <slug>]\n nacre grant <permission> <scope> --to <principal>\n nacre ingest <file|dir>... --layer <slug> index text files, and wait for them\n --watch keep indexing a directory as it changes\n nacre search <query> [--layer <slug>] [--top-k <n>]\n nacre eval --layer <slug> [--top-k <n>] [--floor <0..1>]\n score the layer's reference queries\n\n --json print the response as JSON, for a script rather than a person\n --help this\n\nA scope is layer:<slug>, workspace:<slug> or document:<id>. A principal is\nuser:<id>, group:<id> or service_account:<id>.\n\nNACRE_API_URL and NACRE_TOKEN override the stored session, which is what a\nservice account in CI uses \u2014 there is no terminal there to log in from.\n\nPermissions are not a ladder: write does not imply read, and admin implies both.\nAn ingest-only service account holds write and cannot search back what it wrote.\n";
|
|
2
|
+
export declare const HELP = "nacre \u2014 the command line client for a Nacre installation\n\n nacre login --url <https://api.example> sign in, and remember the session\n nacre whoami which principal this session is\n nacre layers layers you can read\n nacre layers create <slug> [--name ...] create one [--workspace <slug>]\n nacre grant <permission> <scope> --to <principal>\n nacre ingest <file|dir>... --layer <slug> index text files, and wait for them\n --watch keep indexing a directory as it changes\n nacre search <query> [--layer <slug>] [--top-k <n>]\n nacre eval --layer <slug> [--top-k <n>] [--floor <0..1>]\n score the layer's reference queries\n\nAdministering an organization, all of it org_admin:\n\n nacre users everyone, with role and state\n nacre users create <email> [--admin] the password is generated, shown once\n nacre users password <id> issue a new one, shown once\n nacre users role <id> <member|org_admin>\n nacre users disable <id> the row is kept; the log names it\n nacre groups teams a grant can name\n nacre groups create <name>\n nacre groups members <id>\n nacre groups add|remove <id> <user:id|group:id>\n nacre groups delete <id> takes its grants with it\n nacre service-accounts keys, with prefix and last use\n nacre service-accounts create <name> the key is shown once\n nacre service-accounts revoke <id>\n nacre audit [--action <a>] [--actor <id>] [--result allow|deny|error]\n [--from <ts>] [--to <ts>] [--limit <n>]\n the access log, newest first\n\n --json print the response as JSON, for a script rather than a person\n --help this\n\nA scope is layer:<slug>, workspace:<slug> or document:<id>. A principal is\nuser:<id>, group:<id> or service_account:<id>.\n\nNACRE_API_URL and NACRE_TOKEN override the stored session, which is what a\nservice account in CI uses \u2014 there is no terminal there to log in from.\n\nPermissions are not a ladder: write does not imply read, and admin implies both.\nAn ingest-only service account holds write and cannot search back what it wrote.\n";
|
|
3
|
+
export declare const COMMANDS: Record<string, (context: Context) => Promise<Outcome>>;
|
|
3
4
|
/**
|
|
4
5
|
* What a command hands back: text when it worked, or text and a code when it
|
|
5
6
|
* partly did. Ingest is the only one that needs the second form today.
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAIA,OAAO,EAA+D,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAGzG,eAAO,MAAM,IAAI,m0EA2ChB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAY3E,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjF,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,wBAAsB,GAAG,CACvB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,GAAE,OAAO,CAAC,OAAO,CAAM,GAC/B,OAAO,CAAC,MAAM,CAAC,CA2CjB"}
|
package/dist/run.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NacreClient } from '@nacre.work/sdk';
|
|
2
|
+
import { audit, groups, serviceAccounts, users } from './admin.js';
|
|
2
3
|
import { parse, UsageError } from './args.js';
|
|
3
4
|
import { ask, evaluate, grant, ingest, layers, login, search, whoami } from './commands.js';
|
|
4
5
|
import { saveSession } from './config.js';
|
|
@@ -15,6 +16,25 @@ export const HELP = `nacre — the command line client for a Nacre installation
|
|
|
15
16
|
nacre eval --layer <slug> [--top-k <n>] [--floor <0..1>]
|
|
16
17
|
score the layer's reference queries
|
|
17
18
|
|
|
19
|
+
Administering an organization, all of it org_admin:
|
|
20
|
+
|
|
21
|
+
nacre users everyone, with role and state
|
|
22
|
+
nacre users create <email> [--admin] the password is generated, shown once
|
|
23
|
+
nacre users password <id> issue a new one, shown once
|
|
24
|
+
nacre users role <id> <member|org_admin>
|
|
25
|
+
nacre users disable <id> the row is kept; the log names it
|
|
26
|
+
nacre groups teams a grant can name
|
|
27
|
+
nacre groups create <name>
|
|
28
|
+
nacre groups members <id>
|
|
29
|
+
nacre groups add|remove <id> <user:id|group:id>
|
|
30
|
+
nacre groups delete <id> takes its grants with it
|
|
31
|
+
nacre service-accounts keys, with prefix and last use
|
|
32
|
+
nacre service-accounts create <name> the key is shown once
|
|
33
|
+
nacre service-accounts revoke <id>
|
|
34
|
+
nacre audit [--action <a>] [--actor <id>] [--result allow|deny|error]
|
|
35
|
+
[--from <ts>] [--to <ts>] [--limit <n>]
|
|
36
|
+
the access log, newest first
|
|
37
|
+
|
|
18
38
|
--json print the response as JSON, for a script rather than a person
|
|
19
39
|
--help this
|
|
20
40
|
|
|
@@ -27,7 +47,7 @@ service account in CI uses — there is no terminal there to log in from.
|
|
|
27
47
|
Permissions are not a ladder: write does not imply read, and admin implies both.
|
|
28
48
|
An ingest-only service account holds write and cannot search back what it wrote.
|
|
29
49
|
`;
|
|
30
|
-
const COMMANDS = {
|
|
50
|
+
export const COMMANDS = {
|
|
31
51
|
login,
|
|
32
52
|
whoami,
|
|
33
53
|
layers,
|
|
@@ -35,6 +55,10 @@ const COMMANDS = {
|
|
|
35
55
|
ingest,
|
|
36
56
|
search,
|
|
37
57
|
eval: evaluate,
|
|
58
|
+
users,
|
|
59
|
+
groups,
|
|
60
|
+
'service-accounts': serviceAccounts,
|
|
61
|
+
audit,
|
|
38
62
|
};
|
|
39
63
|
/**
|
|
40
64
|
* One command, returning what to print and the code to exit with.
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAgB,MAAM,eAAe,CAAA;AACzG,OAAO,EAAE,WAAW,EAAgB,MAAM,aAAa,CAAA;AAEvD,MAAM,CAAC,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nacre.work/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Command line client for Nacre: layers, grants, ingest and search",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"node": ">=22"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@nacre.work/sdk": "0.
|
|
48
|
+
"@nacre.work/sdk": "0.16.0"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"build": "tsc -b"
|