seamless-cli 0.11.0 → 0.13.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 +99 -26
- package/dist/commands/check.js +67 -42
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/config.js +7 -2
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/helpTopics.js +28 -11
- package/dist/commands/helpTopics.js.map +1 -1
- package/dist/commands/init.js +71 -42
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/sessions.js +8 -3
- package/dist/commands/sessions.js.map +1 -1
- package/dist/commands/users.js +20 -7
- package/dist/commands/users.js.map +1 -1
- package/dist/commands/verify.js +41 -11
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/whoami.js +21 -3
- package/dist/commands/whoami.js.map +1 -1
- package/dist/core/admin.js +9 -2
- package/dist/core/admin.js.map +1 -1
- package/dist/core/authClient.js +71 -5
- package/dist/core/authClient.js.map +1 -1
- package/dist/core/config.js +55 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/errors.js +32 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/fetch.js +17 -1
- package/dist/core/fetch.js.map +1 -1
- package/dist/core/images.js +11 -2
- package/dist/core/images.js.map +1 -1
- package/dist/core/interactiveLogin.js +16 -14
- package/dist/core/interactiveLogin.js.map +1 -1
- package/dist/core/jwksKid.js +40 -0
- package/dist/core/jwksKid.js.map +1 -0
- package/dist/core/keychain.js +13 -26
- package/dist/core/keychain.js.map +1 -1
- package/dist/core/loginFlow.js +49 -8
- package/dist/core/loginFlow.js.map +1 -1
- package/dist/core/output.js +9 -29
- package/dist/core/output.js.map +1 -1
- package/dist/core/redact.js +68 -0
- package/dist/core/redact.js.map +1 -0
- package/dist/core/secrets.js +0 -3
- package/dist/core/secrets.js.map +1 -1
- package/dist/core/systemConfig.js +39 -4
- package/dist/core/systemConfig.js.map +1 -1
- package/dist/core/templates.js +6 -4
- package/dist/core/templates.js.map +1 -1
- package/dist/generators/admin/admin.js +102 -1
- package/dist/generators/admin/admin.js.map +1 -1
- package/dist/generators/auth/auth.js +2 -59
- package/dist/generators/auth/auth.js.map +1 -1
- package/dist/generators/docker/docker.js +5 -21
- package/dist/generators/docker/docker.js.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/prompts/projectSetup.js +1 -12
- package/dist/prompts/projectSetup.js.map +1 -1
- package/package.json +2 -2
- package/verify/adapter-fastify-app/Dockerfile +14 -0
- package/verify/adapter-fastify-app/package.json +12 -0
- package/verify/adapter-fastify-app/server.mjs +64 -0
- package/verify/adapter-fastify-app/vendor/.gitignore +3 -0
- package/verify/adapter-fastify-app/vendor/.gitkeep +0 -0
- package/verify/docker-compose.cache.yml +43 -0
- package/verify/docker-compose.verify.yml +52 -21
- package/verify/harness/api/loginEnumeration.spec.ts +139 -0
- package/verify/harness/global-setup.ts +4 -1
- package/verify/harness/lib/client.ts +7 -3
- package/verify/harness/lib/env.ts +4 -0
- package/verify/harness/lib/fixtures.ts +12 -3
- package/verify/harness/lib/matrixReporter.ts +19 -6
- package/verify/harness/lib/reactFlows.ts +0 -2
- package/verify/harness/playwright.config.ts +11 -2
- package/dist/core/jwks.js +0 -19
- package/dist/core/jwks.js.map +0 -1
- package/dist/utils/writeEnv.js +0 -9
- package/dist/utils/writeEnv.js.map +0 -1
package/README.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
[](LICENSE)
|
|
4
4
|
[](https://www.npmjs.com/package/seamless-cli)
|
|
5
5
|

|
|
6
|
+
[](https://github.com/fells-code/seamless-cli/actions/workflows/conformance.yml)
|
|
6
7
|
|
|
7
8
|
Seamless CLI is a command-line tool for bootstrapping applications with Seamless Auth, an open source, passwordless authentication system.
|
|
8
9
|
|
|
@@ -200,11 +201,12 @@ Depending on your selections, the CLI generates a project like this:
|
|
|
200
201
|
|
|
201
202
|
```text
|
|
202
203
|
my-app/
|
|
203
|
-
├─ auth/
|
|
204
|
-
├─ web/
|
|
205
|
-
├─ api/
|
|
206
|
-
├─
|
|
207
|
-
|
|
204
|
+
├─ auth/ # Seamless Auth server (local auth mode only)
|
|
205
|
+
├─ web/ # React web application (optional)
|
|
206
|
+
├─ api/ # Express or Fastify API server (optional)
|
|
207
|
+
├─ admin/ # Admin console source (--admin=source only)
|
|
208
|
+
├─ docker-compose.yml # not written for a managed project
|
|
209
|
+
└─ seamless.config.json
|
|
208
210
|
```
|
|
209
211
|
|
|
210
212
|
All services are preconfigured to work together.
|
|
@@ -227,14 +229,13 @@ If you choose Docker during setup:
|
|
|
227
229
|
docker compose up
|
|
228
230
|
```
|
|
229
231
|
|
|
230
|
-
This starts
|
|
231
|
-
|
|
232
|
-
- PostgreSQL
|
|
233
|
-
- Auth server
|
|
234
|
-
- API server
|
|
235
|
-
- Web app
|
|
232
|
+
This starts PostgreSQL, the auth server, the API server, and the web app, plus a
|
|
233
|
+
standalone admin console container under `--admin=image` or `--admin=source`.
|
|
236
234
|
|
|
237
235
|
All services are configured to communicate correctly inside the container network.
|
|
236
|
+
Ports are published on `127.0.0.1` only: the auth server returns OTP codes in the
|
|
237
|
+
response for local login, which would be an authentication bypass for anyone else
|
|
238
|
+
on the network.
|
|
238
239
|
|
|
239
240
|
---
|
|
240
241
|
|
|
@@ -255,11 +256,14 @@ cd auth
|
|
|
255
256
|
npm install
|
|
256
257
|
|
|
257
258
|
npm run db:create
|
|
258
|
-
npm run
|
|
259
|
+
npm run migrate:up
|
|
259
260
|
|
|
260
261
|
npm run dev
|
|
261
262
|
```
|
|
262
263
|
|
|
264
|
+
The Docker path runs both of these for you at container start, so they are only
|
|
265
|
+
needed when the auth server runs on the host.
|
|
266
|
+
|
|
263
267
|
---
|
|
264
268
|
|
|
265
269
|
#### 3. Start the API
|
|
@@ -282,6 +286,54 @@ npm run dev
|
|
|
282
286
|
|
|
283
287
|
---
|
|
284
288
|
|
|
289
|
+
## Checking and verifying
|
|
290
|
+
|
|
291
|
+
Two commands answer two different questions: is *this project* healthy, and does the
|
|
292
|
+
*whole auth surface* still behave.
|
|
293
|
+
|
|
294
|
+
### `seamless check`
|
|
295
|
+
|
|
296
|
+
Health-checks the project in the current directory, reading `seamless.config.json` to
|
|
297
|
+
decide what applies. A local project gets the Docker and Compose checks; a managed one
|
|
298
|
+
skips them and validates the remote instance instead. Every check runs, so one failure
|
|
299
|
+
never hides the rest.
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
seamless check # always exits 0, whatever it reported
|
|
303
|
+
seamless check --strict # exit 1 if any check failed, for a CI gate
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
The exit status is 0 without `--strict` because this output has been parsed by scripts
|
|
307
|
+
since before the flag existed.
|
|
308
|
+
|
|
309
|
+
### `seamless verify`
|
|
310
|
+
|
|
311
|
+
The cross-package conformance harness. It stands up the ecosystem with Docker Compose
|
|
312
|
+
(Postgres, the auth API, an Express adapter, a Fastify adapter, and the web starter),
|
|
313
|
+
runs a Playwright matrix over it, and prints a flow x layer pass/fail grid plus JUnit and
|
|
314
|
+
HTML reports. It ships with the package, so it needs no checkout of its own, but it does
|
|
315
|
+
need Docker and a sibling `seamless-auth-api` source tree to build the auth server from.
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
seamless verify # everything, against the published SDKs
|
|
319
|
+
seamless verify --api-only # fast pass: the API layer alone
|
|
320
|
+
seamless verify --no-react # skip the browser layer, keep the adapters
|
|
321
|
+
seamless verify --local # build @seamless-auth/* from source first
|
|
322
|
+
seamless verify --filter=passkey # one flow (the = form only)
|
|
323
|
+
seamless verify --keep-up # leave the stack running afterwards
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
`--local` is the pre-publish check: it builds and packs the local SDK source rather than
|
|
327
|
+
installing from npm, so an SDK regression surfaces before a release rather than after.
|
|
328
|
+
The browser layer runs once per web template in the registry, each scoped to the flows
|
|
329
|
+
its `template.json` declares.
|
|
330
|
+
|
|
331
|
+
Sibling repositories are resolved next to this one and can be pointed elsewhere with
|
|
332
|
+
`SEAMLESS_API_DIR`, `SEAMLESS_SERVER_DIR`, `SEAMLESS_REACT_SDK_DIR`, and
|
|
333
|
+
`SEAMLESS_TEMPLATES_DIR`.
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
285
337
|
## Creating the first admin
|
|
286
338
|
|
|
287
339
|
`init` asks for your email and writes it to the auth server as `OWNER_EMAIL`. The auth server grants
|
|
@@ -338,7 +390,12 @@ seamless profile remove local # delete a profile (also clears its keychain toke
|
|
|
338
390
|
```
|
|
339
391
|
|
|
340
392
|
`instanceUrl` is normalized: the trailing slash is stripped and `https` is required for any host
|
|
341
|
-
|
|
393
|
+
that is not local. Local means `localhost` and any `.localhost` subdomain, the loopback ranges
|
|
394
|
+
(`127.0.0.0/8`, `::1`), the unspecified addresses a dev server binds to (`0.0.0.0`, `::`), the
|
|
395
|
+
private IPv4 ranges (`10/8`, `172.16/12`, `192.168/16`), link-local (`169.254/16`, `fe80::/10`),
|
|
396
|
+
IPv6 unique-local (`fc00::/7`), and mDNS `.local` names. The same rule gates `--local` OTP
|
|
397
|
+
delivery, so a dev instance reached at a container or LAN address works the same way `localhost`
|
|
398
|
+
does.
|
|
342
399
|
|
|
343
400
|
### Logging in
|
|
344
401
|
|
|
@@ -369,15 +426,21 @@ the OTP rate limiter, and refreshes the code automatically if the five minute wi
|
|
|
369
426
|
```bash
|
|
370
427
|
seamless whoami # sub, email, roles, and instance URL for your portal session
|
|
371
428
|
seamless whoami --profile prod # the same for an instance session
|
|
429
|
+
seamless whoami --json # the same fields as JSON, for scripting
|
|
372
430
|
seamless logout # end the portal session and clear local tokens
|
|
373
431
|
seamless logout --profile prod # end an instance session instead
|
|
374
432
|
seamless logout --all # revoke every session for the user, then clear local tokens
|
|
375
433
|
|
|
376
434
|
seamless sessions # list active sessions (current one marked)
|
|
435
|
+
seamless sessions --json # the same list as JSON
|
|
377
436
|
seamless sessions revoke <id> # revoke one session (confirms if it is the current one)
|
|
378
437
|
seamless sessions revoke --all # revoke every session (confirms, then clears local tokens)
|
|
379
438
|
```
|
|
380
439
|
|
|
440
|
+
`--json` on either prints machine-readable output and nothing else, so an empty session list
|
|
441
|
+
is `[]` rather than a message. `whoami --json` reports a missing `sub` or `email` as `null`
|
|
442
|
+
instead of the `(unknown)` the table shows.
|
|
443
|
+
|
|
381
444
|
### Configuration as code
|
|
382
445
|
|
|
383
446
|
Read and write the instance system configuration (requires an admin role). This turns the
|
|
@@ -439,8 +502,11 @@ never in a plaintext file:
|
|
|
439
502
|
|
|
440
503
|
Tokens are keyed per profile (by name and instance URL) so multiple instances never collide, and
|
|
441
504
|
they are removed when you log out or remove the profile. Access tokens are refreshed transparently:
|
|
442
|
-
on a `401` the CLI
|
|
443
|
-
|
|
505
|
+
on a `401` the CLI refreshes via `/refresh`, stores what came back, and retries once. Concurrent
|
|
506
|
+
requests share a single refresh rather than racing, because the instance would read the second
|
|
507
|
+
use of the old token as reuse and revoke the session. A refresh that renews only the access token
|
|
508
|
+
keeps the existing refresh token instead of discarding the session. A rejected refresh token, or a
|
|
509
|
+
`401` that survives a refresh, clears the local session and prompts a fresh login.
|
|
444
510
|
|
|
445
511
|
### Headless and CI
|
|
446
512
|
|
|
@@ -454,8 +520,14 @@ export SEAMLESS_REFRESH_TOKEN=<refresh-token>
|
|
|
454
520
|
seamless whoami
|
|
455
521
|
```
|
|
456
522
|
|
|
457
|
-
|
|
458
|
-
|
|
523
|
+
`/refresh` rotates the refresh token on every call, and the instance treats a second use of a
|
|
524
|
+
spent one as theft: it revokes the whole session chain. So a token that has already been
|
|
525
|
+
refreshed once must not be sent again on a later run. The CLI keeps a rotated token in memory
|
|
526
|
+
for the process and deliberately does not write it to the keychain, since `SEAMLESS_REFRESH_TOKEN`
|
|
527
|
+
is read fresh on every run and would shadow it anyway.
|
|
528
|
+
|
|
529
|
+
Issue a fresh refresh token per job rather than reusing one across builds. If a stale one is sent,
|
|
530
|
+
the CLI says so and names the command that issues a new one.
|
|
459
531
|
|
|
460
532
|
No command will render a prompt when stdin is not a terminal. Each one stops instead, naming the
|
|
461
533
|
flag that answers the question, so a CI step fails immediately rather than hanging until its job
|
|
@@ -497,17 +569,18 @@ Everything is aligned across services so the system works immediately after setu
|
|
|
497
569
|
|
|
498
570
|
## Included projects
|
|
499
571
|
|
|
500
|
-
Seamless CLI
|
|
572
|
+
Seamless CLI scaffolds from, and conformance-tests against, these repositories:
|
|
501
573
|
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
-
|
|
506
|
-
|
|
574
|
+
| Repository | What it provides | How the CLI uses it |
|
|
575
|
+
| --- | --- | --- |
|
|
576
|
+
| [seamless-auth-api](https://github.com/fells-code/seamless-auth-api) | The auth server | Run as a pinned image (`--auth=docker`) or cloned into `auth/` (`--auth=local`) |
|
|
577
|
+
| [seamless-templates](https://github.com/fells-code/seamless-templates) | The web and API starters | Scaffolded from its registry at a pinned ref |
|
|
578
|
+
| [seamless-auth-server](https://github.com/fells-code/seamless-auth-server) | `@seamless-auth/core`, `/express`, `/fastify` | The adapters the scaffolded `api/` runs on |
|
|
579
|
+
| [seamless-auth-react](https://github.com/fells-code/seamless-auth-react) | `@seamless-auth/react` | The client SDK the scaffolded `web/` runs on |
|
|
507
580
|
|
|
508
581
|
The starters live in the templates monorepo and are listed in its registry, so the set of
|
|
509
582
|
frameworks the CLI offers grows there. Each project can be used independently, but the CLI connects
|
|
510
|
-
them into a working system.
|
|
583
|
+
them into a working system, and `seamless verify` checks that connection holds across all four.
|
|
511
584
|
|
|
512
585
|
---
|
|
513
586
|
|
|
@@ -523,8 +596,8 @@ Full documentation is available at:
|
|
|
523
596
|
|
|
524
597
|
Seamless Auth is built around a few principles:
|
|
525
598
|
|
|
526
|
-
- Passwordless authentication only
|
|
527
|
-
-
|
|
599
|
+
- Passwordless authentication only (passkeys, magic links, email and phone OTP)
|
|
600
|
+
- Optional OIDC sign-in, configured explicitly and self-hosted like everything else
|
|
528
601
|
- Self-hosted by default
|
|
529
602
|
- Production-shaped local development
|
|
530
603
|
- Explicit configuration over hidden behavior
|
package/dist/commands/check.js
CHANGED
|
@@ -1,88 +1,114 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { execSync } from "child_process";
|
|
4
|
-
|
|
4
|
+
function createReport() {
|
|
5
|
+
let failures = 0;
|
|
6
|
+
return {
|
|
7
|
+
ok(message) {
|
|
8
|
+
console.log(`✔ ${message}`);
|
|
9
|
+
},
|
|
10
|
+
fail(message, remedy) {
|
|
11
|
+
failures++;
|
|
12
|
+
console.log(`✖ ${message}`);
|
|
13
|
+
if (remedy)
|
|
14
|
+
console.log(`→ ${remedy}`);
|
|
15
|
+
},
|
|
16
|
+
get failures() {
|
|
17
|
+
return failures;
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
// Without --strict the exit status stays 0 whatever the checks found: this output
|
|
22
|
+
// has been parsed by scripts since before the flag existed, and a sudden non-zero
|
|
23
|
+
// exit would break them.
|
|
24
|
+
function finish(report, strict) {
|
|
25
|
+
if (!strict || report.failures === 0)
|
|
26
|
+
return;
|
|
27
|
+
const { failures } = report;
|
|
28
|
+
console.error(`${failures} check${failures === 1 ? "" : "s"} failed.`);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
export async function runCheck(args = []) {
|
|
32
|
+
const strict = args.includes("--strict");
|
|
33
|
+
const report = createReport();
|
|
5
34
|
console.log("\nSeamless Check\n");
|
|
6
35
|
const root = process.cwd();
|
|
7
36
|
const configPath = path.join(root, "seamless.config.json");
|
|
8
37
|
if (!fs.existsSync(configPath)) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return;
|
|
38
|
+
report.fail("seamless.config.json not found", "Run: seamless init\n");
|
|
39
|
+
return finish(report, strict);
|
|
12
40
|
}
|
|
13
41
|
let config;
|
|
14
42
|
try {
|
|
15
43
|
config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
16
44
|
}
|
|
17
45
|
catch {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return;
|
|
46
|
+
report.fail("seamless.config.json is not valid JSON", "Fix the file, or re-run: seamless init\n");
|
|
47
|
+
return finish(report, strict);
|
|
21
48
|
}
|
|
22
|
-
|
|
23
|
-
checkStructure(root, config);
|
|
49
|
+
report.ok("Config file found");
|
|
50
|
+
checkStructure(root, config, report);
|
|
24
51
|
// Managed projects run the auth server remotely and ship no compose file, so the
|
|
25
52
|
// Docker/container checks don't apply — validate the remote instance instead.
|
|
26
53
|
if (config?.services?.auth?.mode === "managed") {
|
|
27
|
-
await checkManaged(config);
|
|
54
|
+
await checkManaged(config, report);
|
|
28
55
|
}
|
|
29
56
|
else {
|
|
30
|
-
checkDocker();
|
|
31
|
-
checkCompose(root, config);
|
|
32
|
-
checkContainers();
|
|
33
|
-
await checkHealth(config);
|
|
57
|
+
checkDocker(report);
|
|
58
|
+
checkCompose(root, config, report);
|
|
59
|
+
checkContainers(report);
|
|
60
|
+
await checkHealth(config, report);
|
|
34
61
|
}
|
|
35
62
|
console.log("\nCheck complete.\n");
|
|
63
|
+
return finish(report, strict);
|
|
36
64
|
}
|
|
37
|
-
function checkStructure(root, config) {
|
|
65
|
+
function checkStructure(root, config, report) {
|
|
38
66
|
const services = config?.services ?? {};
|
|
39
67
|
const webPath = services.web?.path;
|
|
40
68
|
if (webPath && fs.existsSync(path.join(root, webPath))) {
|
|
41
|
-
|
|
69
|
+
report.ok("Web project detected");
|
|
42
70
|
}
|
|
43
71
|
else {
|
|
44
|
-
|
|
72
|
+
report.fail("Web project missing");
|
|
45
73
|
}
|
|
46
74
|
const apiPath = services.api?.path;
|
|
47
75
|
if (apiPath && fs.existsSync(path.join(root, apiPath))) {
|
|
48
|
-
|
|
76
|
+
report.ok("API project detected");
|
|
49
77
|
}
|
|
50
78
|
else {
|
|
51
|
-
|
|
79
|
+
report.fail("API project missing");
|
|
52
80
|
}
|
|
53
81
|
}
|
|
54
|
-
function checkDocker() {
|
|
82
|
+
function checkDocker(report) {
|
|
55
83
|
try {
|
|
56
84
|
execSync("docker --version", { stdio: "ignore" });
|
|
57
|
-
|
|
85
|
+
report.ok("Docker is installed");
|
|
58
86
|
}
|
|
59
87
|
catch {
|
|
60
|
-
|
|
61
|
-
console.log("→ Install Docker: https://docs.docker.com/get-docker/");
|
|
88
|
+
report.fail("Docker not found", "Install Docker: https://docs.docker.com/get-docker/");
|
|
62
89
|
}
|
|
63
90
|
}
|
|
64
|
-
function checkCompose(root, config) {
|
|
91
|
+
function checkCompose(root, config, report) {
|
|
65
92
|
const composeFile = config?.docker?.composeFile;
|
|
66
93
|
if (composeFile && fs.existsSync(path.join(root, composeFile))) {
|
|
67
|
-
|
|
94
|
+
report.ok("Docker Compose file found");
|
|
68
95
|
}
|
|
69
96
|
else {
|
|
70
|
-
|
|
97
|
+
report.fail("docker-compose.yml missing");
|
|
71
98
|
}
|
|
72
99
|
}
|
|
73
|
-
function checkContainers() {
|
|
100
|
+
function checkContainers(report) {
|
|
74
101
|
try {
|
|
75
102
|
const output = execSync("docker ps --format '{{.Names}}'").toString();
|
|
76
103
|
if (!output.includes("api")) {
|
|
77
|
-
|
|
78
|
-
console.log("→ Run: docker compose up\n");
|
|
104
|
+
report.fail("API container not running", "Run: docker compose up\n");
|
|
79
105
|
}
|
|
80
106
|
else {
|
|
81
|
-
|
|
107
|
+
report.ok("Containers running");
|
|
82
108
|
}
|
|
83
109
|
}
|
|
84
110
|
catch {
|
|
85
|
-
|
|
111
|
+
report.fail("Failed to check containers");
|
|
86
112
|
}
|
|
87
113
|
}
|
|
88
114
|
// The console lives at a different URL per hosting mode: proxied by the API at
|
|
@@ -99,7 +125,7 @@ function consoleHealthCheck(config) {
|
|
|
99
125
|
}
|
|
100
126
|
return null;
|
|
101
127
|
}
|
|
102
|
-
async function checkHealth(config) {
|
|
128
|
+
async function checkHealth(config, report) {
|
|
103
129
|
const checks = [
|
|
104
130
|
{ name: "API", url: "http://localhost:3000/" },
|
|
105
131
|
{ name: "Auth", url: "http://localhost:5312/health/status" },
|
|
@@ -111,38 +137,37 @@ async function checkHealth(config) {
|
|
|
111
137
|
try {
|
|
112
138
|
const res = await fetch(check.url);
|
|
113
139
|
if (res.ok) {
|
|
114
|
-
|
|
140
|
+
report.ok(`${check.name} is healthy`);
|
|
115
141
|
}
|
|
116
142
|
else {
|
|
117
|
-
|
|
143
|
+
report.fail(`${check.name} returned ${res.status}`);
|
|
118
144
|
}
|
|
119
145
|
}
|
|
120
146
|
catch {
|
|
121
|
-
|
|
147
|
+
report.fail(`${check.name} not reachable`);
|
|
122
148
|
}
|
|
123
149
|
}
|
|
124
150
|
}
|
|
125
|
-
async function checkManaged(config) {
|
|
151
|
+
async function checkManaged(config, report) {
|
|
126
152
|
const auth = config?.services?.auth ?? {};
|
|
127
153
|
const instanceUrl = auth.instanceUrl;
|
|
128
|
-
|
|
129
|
-
(auth.applicationName || instanceUrl || "(unknown)"));
|
|
154
|
+
report.ok("Managed instance: " + (auth.applicationName || instanceUrl || "(unknown)"));
|
|
130
155
|
if (!instanceUrl) {
|
|
131
|
-
|
|
156
|
+
report.fail("No managed instance URL recorded in seamless.config.json");
|
|
132
157
|
return;
|
|
133
158
|
}
|
|
134
159
|
const healthUrl = `${instanceUrl.replace(/\/$/, "")}/health/status`;
|
|
135
160
|
try {
|
|
136
161
|
const res = await fetch(healthUrl);
|
|
137
162
|
if (res.ok) {
|
|
138
|
-
|
|
163
|
+
report.ok("Auth instance reachable");
|
|
139
164
|
}
|
|
140
165
|
else {
|
|
141
|
-
|
|
166
|
+
report.fail(`Auth instance returned ${res.status}`);
|
|
142
167
|
}
|
|
143
168
|
}
|
|
144
169
|
catch {
|
|
145
|
-
|
|
170
|
+
report.fail("Auth instance not reachable");
|
|
146
171
|
}
|
|
147
172
|
console.log("→ Managed project: the auth server runs remotely, so Docker and compose checks are skipped.");
|
|
148
173
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/config.js
CHANGED
|
@@ -2,7 +2,7 @@ import fs from "fs";
|
|
|
2
2
|
import kleur from "kleur";
|
|
3
3
|
import { extractFlag } from "../core/args.js";
|
|
4
4
|
import { createAuthClient, ReauthRequiredError } from "../core/authClient.js";
|
|
5
|
-
import { ConfigApiError, createOAuthProvider, deleteOAuthProvider, diffConfig, filterWritable, getRoles, getSystemConfig, listOAuthProviders, parseValue, patchSystemConfig, PermissionError, updateOAuthProvider, } from "../core/systemConfig.js";
|
|
5
|
+
import { ConfigApiError, createOAuthProvider, deleteOAuthProvider, diffConfig, filterWritable, getRoles, getSystemConfig, listOAuthProviders, isWritableKey, parseValue, patchSystemConfig, PermissionError, updateOAuthProvider, WRITABLE_KEYS, } from "../core/systemConfig.js";
|
|
6
6
|
import { confirmDestructive, hasForceFlag, } from "../core/confirmAction.js";
|
|
7
7
|
export async function runConfig(args) {
|
|
8
8
|
const sub = args[0];
|
|
@@ -77,7 +77,12 @@ async function configSet(client, rest) {
|
|
|
77
77
|
console.error(kleur.red("Usage: seamless config set <key> <value>"));
|
|
78
78
|
process.exit(1);
|
|
79
79
|
}
|
|
80
|
-
|
|
80
|
+
if (!isWritableKey(key)) {
|
|
81
|
+
console.error(kleur.red(`"${key}" is not a writable config key.`));
|
|
82
|
+
console.error(kleur.dim(`Writable keys: ${WRITABLE_KEYS.join(", ")}`));
|
|
83
|
+
process.exit(1);
|
|
84
|
+
}
|
|
85
|
+
const value = parseValue(valueParts.join(" "), key);
|
|
81
86
|
const result = await patchSystemConfig(client, { [key]: value });
|
|
82
87
|
if (result.updatedKeys.length) {
|
|
83
88
|
console.log(kleur.green(`Updated: ${result.updatedKeys.join(", ")}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,8 @@ With a template flag (e.g. --oauth, --react-oauth, --fastify):
|
|
|
28
28
|
• Run seamless templates list to see every id, alias, and flag
|
|
29
29
|
|
|
30
30
|
--profile <name>
|
|
31
|
-
•
|
|
31
|
+
• Accepted and ignored, with a warning. Managed connect uses your portal
|
|
32
|
+
session (seamless login), not an instance profile
|
|
32
33
|
|
|
33
34
|
--app <id>
|
|
34
35
|
• Connect the project to that managed application (needs a portal
|
|
@@ -105,16 +106,24 @@ Needs no login.
|
|
|
105
106
|
},
|
|
106
107
|
{
|
|
107
108
|
name: "check",
|
|
108
|
-
usage: ["seamless check"],
|
|
109
|
+
usage: ["seamless check [--strict]"],
|
|
109
110
|
sections: [
|
|
110
111
|
{
|
|
111
|
-
heading: "check",
|
|
112
|
-
body: `Validate project setup, Docker, and running services
|
|
112
|
+
heading: "check [--strict]",
|
|
113
|
+
body: `Validate project setup, Docker, and running services.
|
|
114
|
+
|
|
115
|
+
Every check runs, so one failure does not hide the rest.
|
|
116
|
+
|
|
117
|
+
--strict
|
|
118
|
+
• Exit 1 when any check failed, for a health-check script or a CI gate.
|
|
119
|
+
Without it the exit status is always 0, whatever the checks reported`,
|
|
113
120
|
},
|
|
114
121
|
],
|
|
115
122
|
examples: [
|
|
116
123
|
`seamless check
|
|
117
124
|
→ Validate your project`,
|
|
125
|
+
`seamless check --strict
|
|
126
|
+
→ The same, but exit non-zero if anything failed`,
|
|
118
127
|
],
|
|
119
128
|
},
|
|
120
129
|
{
|
|
@@ -231,13 +240,16 @@ apps get <id|name|infra-id> [--json]
|
|
|
231
240
|
},
|
|
232
241
|
{
|
|
233
242
|
name: "whoami",
|
|
234
|
-
usage: ["seamless whoami [--profile <name>]"],
|
|
243
|
+
usage: ["seamless whoami [--profile <name>] [--json]"],
|
|
235
244
|
sections: [
|
|
236
245
|
{
|
|
237
246
|
heading: "whoami",
|
|
238
247
|
body: `Show the identity behind your portal session (sub, email, roles), alongside
|
|
239
248
|
the instance URL. Pass --profile <name> to report an instance session
|
|
240
|
-
instead. Fails cleanly if not logged in
|
|
249
|
+
instead. Fails cleanly if not logged in.
|
|
250
|
+
|
|
251
|
+
--json
|
|
252
|
+
• Print the same fields as JSON, with a missing sub or email as null`,
|
|
241
253
|
},
|
|
242
254
|
],
|
|
243
255
|
},
|
|
@@ -256,14 +268,17 @@ instead. Fails cleanly if not logged in.`,
|
|
|
256
268
|
{
|
|
257
269
|
name: "sessions",
|
|
258
270
|
usage: [
|
|
259
|
-
"seamless sessions [list]",
|
|
271
|
+
"seamless sessions [list] [--json]",
|
|
260
272
|
"seamless sessions revoke <id | --all> [--force]",
|
|
261
273
|
],
|
|
262
274
|
sections: [
|
|
263
275
|
{
|
|
264
|
-
heading: "sessions [list]",
|
|
276
|
+
heading: "sessions [list] [--json]",
|
|
265
277
|
body: `List the active sessions for the logged-in user, with the current session
|
|
266
|
-
marked. Shows the session id, device or user agent, IP, and last-used time
|
|
278
|
+
marked. Shows the session id, device or user agent, IP, and last-used time.
|
|
279
|
+
|
|
280
|
+
--json
|
|
281
|
+
• Print the sessions as JSON instead of the table`,
|
|
267
282
|
},
|
|
268
283
|
{
|
|
269
284
|
heading: "sessions revoke <id | --all> [--force]",
|
|
@@ -288,8 +303,10 @@ config get [key] [--json]
|
|
|
288
303
|
• Print the whole config or a single key
|
|
289
304
|
|
|
290
305
|
config set <key> <value>
|
|
291
|
-
• Update one key
|
|
292
|
-
|
|
306
|
+
• Update one writable key. String-typed keys (app_name, rpid,
|
|
307
|
+
access_token_ttl, session_idle_ttl, refresh_token_ttl) take the value
|
|
308
|
+
verbatim; every other key parses it as JSON, falling back to a string
|
|
309
|
+
(for example: config set app_name 123 sets the string "123",
|
|
293
310
|
config set login_methods '["email_otp","passkey"]')
|
|
294
311
|
|
|
295
312
|
config roles [--json]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpTopics.js","sourceRoot":"","sources":["../../src/commands/helpTopics.ts"],"names":[],"mappings":"AAYA,+EAA+E;AAC/E,gFAAgF;AAChF,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,6CAA6C;YAC7C,mHAAmH;SACpH;QACD,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"helpTopics.js","sourceRoot":"","sources":["../../src/commands/helpTopics.ts"],"names":[],"mappings":"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"}
|