@substrat-run/cli 0.49.7 → 0.51.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 +31 -0
- package/dist/changeset.d.ts.map +1 -1
- package/dist/changeset.js +19 -6
- package/dist/changeset.js.map +1 -1
- package/dist/cli.js +96 -28
- package/dist/cli.js.map +1 -1
- package/dist/data-loss-check.d.ts.map +1 -1
- package/dist/data-loss-check.js +11 -1
- package/dist/data-loss-check.js.map +1 -1
- package/dist/dev-preload.d.ts +2 -0
- package/dist/dev-preload.d.ts.map +1 -0
- package/dist/dev-preload.js +32 -0
- package/dist/dev-preload.js.map +1 -0
- package/dist/dev-traces.d.ts +16 -0
- package/dist/dev-traces.d.ts.map +1 -0
- package/dist/dev-traces.js +191 -0
- package/dist/dev-traces.js.map +1 -0
- package/dist/dev.d.ts +6 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +67 -0
- package/dist/dev.js.map +1 -0
- package/dist/doctor.d.ts +34 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +89 -0
- package/dist/doctor.js.map +1 -0
- package/dist/login.d.ts +12 -0
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +22 -3
- package/dist/login.js.map +1 -1
- package/dist/outbound-scan.d.ts +1 -1
- package/dist/outbound-scan.d.ts.map +1 -1
- package/dist/outbound-scan.js +6 -4
- package/dist/outbound-scan.js.map +1 -1
- package/dist/preview.d.ts +2 -2
- package/dist/preview.js +1 -1
- package/dist/promote.d.ts +2 -1
- package/dist/promote.d.ts.map +1 -1
- package/dist/promote.js +4 -3
- package/dist/promote.js.map +1 -1
- package/dist/prompt.d.ts +21 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +39 -0
- package/dist/prompt.js.map +1 -0
- package/dist/published-concept.d.ts +3 -0
- package/dist/published-concept.d.ts.map +1 -0
- package/dist/published-concept.js +28 -0
- package/dist/published-concept.js.map +1 -0
- package/dist/push.d.ts +38 -1
- package/dist/push.d.ts.map +1 -1
- package/dist/push.js +270 -111
- package/dist/push.js.map +1 -1
- package/dist/store-driver.d.ts.map +1 -1
- package/dist/store-driver.js +5 -3
- package/dist/store-driver.js.map +1 -1
- package/dist/worker-node-imports.d.ts.map +1 -1
- package/dist/worker-node-imports.js +2 -1
- package/dist/worker-node-imports.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@ pnpm add -D @substrat-run/cli
|
|
|
23
23
|
|
|
24
24
|
```sh
|
|
25
25
|
substrat login # authenticate against the control plane
|
|
26
|
+
substrat dev [dir] # run the project's dev script with local request traces
|
|
26
27
|
substrat whoami # show the current identity + reachable tenants
|
|
27
28
|
substrat push <dir> # upload a vertical as a new immutable version
|
|
28
29
|
substrat versions <slug> # list a vertical's uploaded versions
|
|
@@ -34,6 +35,36 @@ substrat help # full usage
|
|
|
34
35
|
|
|
35
36
|
Run `substrat help` for the authoritative flag set — this list is a map, not the spec.
|
|
36
37
|
|
|
38
|
+
To make an application description queryable in the dashboard's Ask assistant, opt in
|
|
39
|
+
with `"substrat": { "concept": "spec/concept.md" }` in the application's `package.json`.
|
|
40
|
+
The next push snapshots that file with the release. The whole selected document becomes
|
|
41
|
+
readable to dashboard members who can read the application; use a curated Markdown file
|
|
42
|
+
when the full concept includes internal design decisions. Publication is off by default.
|
|
43
|
+
The file must stay within the application directory and fit in 64 KiB of UTF-8 text.
|
|
44
|
+
|
|
45
|
+
`substrat dev` runs the project's `pnpm run dev` with its normal output and exit code.
|
|
46
|
+
When the local server mounts `invocationLog` (as the scaffold does), completed requests
|
|
47
|
+
print a compact trace line and are kept under `.data/substrat-traces/` in the project.
|
|
48
|
+
The newest 256 requests, up to 8 MiB total, are retained. SQL parameter values and
|
|
49
|
+
request and response bodies are not recorded. `--no-trace` runs the same script without
|
|
50
|
+
the trace preload.
|
|
51
|
+
|
|
52
|
+
The trace records SQL statement text, duration and row counts. When source maps are
|
|
53
|
+
available, error stacks point at the original source. **Not recorded, and why:** bound
|
|
54
|
+
SQL parameters can contain personal data or credentials, so the local file store omits
|
|
55
|
+
them. Revisit that decision if a concrete debugging case needs values and a safe,
|
|
56
|
+
explicit opt-in can be designed. Event steps name the type and entity but do not claim
|
|
57
|
+
`from → to` lifecycle moves: the trace omits event payloads, and a checked transition
|
|
58
|
+
can still roll back. Revisit this when the local reader can derive committed moves from
|
|
59
|
+
event history and the declared lifecycle without guessing.
|
|
60
|
+
|
|
61
|
+
Local HTTP measurement (macOS arm64, Node 22.22.3; four runs of 100 warmup and
|
|
62
|
+
400 sequential requests through the same `invocationLog` fixture with a check and
|
|
63
|
+
SQL step): median latency was 0.20–0.36 ms with `--no-trace` and 1.66–1.97 ms with
|
|
64
|
+
tracing, about 1.5 ms extra. The p95 ranges were 0.32–2.75 ms and 2.21–7.94 ms;
|
|
65
|
+
the median meets the few-millisecond target, while p95 varied under machine load
|
|
66
|
+
and is not separately proven to stay within it.
|
|
67
|
+
|
|
37
68
|
## Documentation
|
|
38
69
|
|
|
39
70
|
**https://substrat.net/guide/deploying** — authentication, the push/promote model, channels,
|
package/dist/changeset.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeset.d.ts","sourceRoot":"","sources":["../src/changeset.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,IAAI,EAET,KAAK,cAAc,EAKpB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;;;GAYG;AAEH,qBAAa,SAAU,SAAQ,KAAK;CAAG;AAEvC,qEAAqE;AACrE,eAAO,MAAM,cAAc;aAAK,KAAK,EAAE,YAAY;aAAE,OAAO,EAAE,cAAc;aAAE,WAAW,EAAE,gBAAgB;CAAW,CAAC;AAOvH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAa3D;AAED,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjF;
|
|
1
|
+
{"version":3,"file":"changeset.d.ts","sourceRoot":"","sources":["../src/changeset.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,IAAI,EAET,KAAK,cAAc,EAKpB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;;;GAYG;AAEH,qBAAa,SAAU,SAAQ,KAAK;CAAG;AAEvC,qEAAqE;AACrE,eAAO,MAAM,cAAc;aAAK,KAAK,EAAE,YAAY;aAAE,OAAO,EAAE,cAAc;aAAE,WAAW,EAAE,gBAAgB;CAAW,CAAC;AAOvH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAa3D;AAED,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjF;AAqBD,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAOhH;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wGAAwG;AACxG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQpE;AAmBD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CA0CpE;AAYD,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAS7F;AAID,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,gBAAgB,GAAG,YAAY,GAAG,SAAS,GAAG,eAAe,CAAC;IACtF,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;CACzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAUvI;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAK7G;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAItE;AASD,wEAAwE;AACxE,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAgDvE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,EAAE,EAC3D,YAAY,EAAE,MAAM,GACnB;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAkB3D;AASD,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAIlH;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACvE;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,CAiC/C"}
|
package/dist/changeset.js
CHANGED
|
@@ -58,11 +58,23 @@ export function atCommit(commit, path, cwd) {
|
|
|
58
58
|
return shown.stdout;
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
61
|
+
* A path in the form git reports its top level in: every link resolved (macOS's /var is
|
|
62
|
+
* /private/var) and, on Windows, every 8.3 short name expanded. The JS `realpathSync` keeps a
|
|
63
|
+
* short name as given — `os.tmpdir()` on Windows is often `C:\Users\RUNNER~1\…` — while git
|
|
64
|
+
* answers with the long one, so a path relative to it would climb out of the repository. The
|
|
65
|
+
* native call is realpath(3) on POSIX; a Windows volume that cannot answer it (some RAM disks
|
|
66
|
+
* and network shares) falls back to the JS one.
|
|
64
67
|
*/
|
|
65
|
-
|
|
68
|
+
function realPath(path) {
|
|
69
|
+
try {
|
|
70
|
+
return realpathSync.native(path);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return realpathSync(path);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/** The repo-relative path git wants, with forward slashes. Both sides are {@link realPath}s. */
|
|
77
|
+
const repoPath = (root, abs) => relative(realPath(root), realPath(abs)).split(sep).join('/');
|
|
66
78
|
/** One vertical's artifacts at the base commit and in the working tree. */
|
|
67
79
|
export function readArtifacts(pkgDir, commit, root) {
|
|
68
80
|
const read = (file) => (existsSync(join(pkgDir, file)) ? readFileSync(join(pkgDir, file), 'utf8') : null);
|
|
@@ -83,8 +95,9 @@ export function packageNameOf(pkgDir) {
|
|
|
83
95
|
}
|
|
84
96
|
/** The `.changeset` directory serving `pkgDir`: the nearest one at or above it, up to the repo root. */
|
|
85
97
|
export function changesetDirFor(pkgDir, root) {
|
|
86
|
-
|
|
87
|
-
|
|
98
|
+
// Both real, or a short-name `pkgDir` never meets the long-name `top` and the walk passes the root.
|
|
99
|
+
const top = realPath(root);
|
|
100
|
+
for (let dir = realPath(pkgDir);; dir = dirname(dir)) {
|
|
88
101
|
if (existsSync(join(dir, '.changeset', 'config.json')))
|
|
89
102
|
return join(dir, '.changeset');
|
|
90
103
|
if (dir === top || dirname(dir) === dir)
|
package/dist/changeset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeset.js","sourceRoot":"","sources":["../src/changeset.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"changeset.js","sourceRoot":"","sources":["../src/changeset.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* substrat — authenticated deploy tooling for the platform.
|
|
4
4
|
*
|
|
5
|
-
* substrat login [--cp <url>] [--token <serviceToken>]
|
|
5
|
+
* substrat login [--cp <url>] [--token <serviceToken>] [--workspace <slug>]
|
|
6
6
|
* substrat push [dir] [--slug <slug>] [--version <v>] [--name <name>]
|
|
7
7
|
* [--cp <url>] [--token <serviceToken>]
|
|
8
8
|
* substrat push [dir] --check [--json] the local gate: layer rules + the declared
|
|
@@ -18,11 +18,17 @@
|
|
|
18
18
|
* so `push` just works; any command also accepts --cp/--token or SUBSTRAT_CP_URL /
|
|
19
19
|
* SUBSTRAT_SERVICE_TOKEN. A push is not a deploy — the version lands PENDING; admission
|
|
20
20
|
* (in the console) still gates serving.
|
|
21
|
+
*
|
|
22
|
+
* `login --workspace <slug>` stores the default workspace the non-push commands fall back to,
|
|
23
|
+
* with no prompt. Without a TTY `login` asks nothing at all (see cmdLogin): the URL is --cp,
|
|
24
|
+
* the stored one or the public plane, and several workspaces with no --workspace leave the
|
|
25
|
+
* session saved with no new default and a hint printed.
|
|
21
26
|
*/
|
|
22
27
|
import { bindConnectionScope, listConnectionBindings } from './connections.js';
|
|
23
28
|
import { join, resolve as resolvePath } from 'node:path';
|
|
24
29
|
import { rmSync } from 'node:fs';
|
|
25
|
-
import {
|
|
30
|
+
import { ask } from './prompt.js';
|
|
31
|
+
import { doctor } from './doctor.js';
|
|
26
32
|
import { loadConfig, saveConfig, resolveAuth } from './config.js';
|
|
27
33
|
import { browserLogin } from './login.js';
|
|
28
34
|
import { push, readVerticalMeta, nextVersion, previewVersion, pinTenant, assertLayerRules, assertSchedulesAreSwept, checkPermissionSurface, checkWorkerImports, prepareWorkerBundle, resolveWranglerConfig, assertUiIsServed, readAssetsNeed, deployConfigIfAny, formatDeclaredModel, formatPermissionSurface, readDeclaredModel, } from './push.js';
|
|
@@ -43,6 +49,7 @@ import { writeModelView } from './model.js';
|
|
|
43
49
|
import { CannotRun, changesetCommand } from './changeset.js';
|
|
44
50
|
import { syncConceptFile } from './concept.js';
|
|
45
51
|
import { planCommand } from './plan.js';
|
|
52
|
+
import { dev } from './dev.js';
|
|
46
53
|
import { listVerticalHostnames, bindSurfaceHostname, bindScopeHostname, unbindHostname, verifyHostname, formatHostnames, formatDnsRecords, } from './hostnames.js';
|
|
47
54
|
const argv = process.argv.slice(2);
|
|
48
55
|
/** `--name value` → value, else undefined. */
|
|
@@ -72,26 +79,26 @@ function positional(n, booleanFlags = []) {
|
|
|
72
79
|
}
|
|
73
80
|
return found[n];
|
|
74
81
|
}
|
|
75
|
-
/** Prompt on the TTY for a plain (non-secret) value. */
|
|
76
|
-
function ask(question) {
|
|
77
|
-
const rl = createInterface({ input: process.stdin, output: process.stdout, terminal: true });
|
|
78
|
-
return new Promise((resolve) => {
|
|
79
|
-
rl.question(question, (answer) => {
|
|
80
|
-
rl.close();
|
|
81
|
-
resolve(answer.trim());
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
82
|
const USAGE = `substrat — authenticated deploy tooling
|
|
86
83
|
|
|
87
84
|
Usage:
|
|
88
85
|
substrat login [--cp <url>] [--fresh] sign in via the browser (per-human);
|
|
89
|
-
|
|
90
|
-
or IdP session (switch accounts)
|
|
86
|
+
[--workspace <slug>] --fresh re-prompts past any live browser
|
|
87
|
+
or IdP session (switch accounts);
|
|
88
|
+
--workspace sets the default workspace
|
|
89
|
+
(slug or id) instead of asking. With no
|
|
90
|
+
terminal (agent, pipe, CI) nothing is
|
|
91
|
+
asked: the URL is --cp, else the stored
|
|
92
|
+
one, else console.substrat.net
|
|
91
93
|
substrat login --token <serviceToken> store a service credential (CI)
|
|
94
|
+
substrat doctor [dir] [--fix] is this machine and project ready to push:
|
|
95
|
+
Node, the project's wrangler, and on Windows
|
|
96
|
+
long paths. --fix turns long paths on (Windows
|
|
97
|
+
asks you to allow it, once)
|
|
92
98
|
substrat whoami show who you are + your workspaces
|
|
93
99
|
substrat workspaces list your workspaces (alias of whoami)
|
|
94
100
|
substrat version print the CLI version (also --version, -v)
|
|
101
|
+
substrat dev [dir] [--no-trace] run the project's dev script with local request traces
|
|
95
102
|
substrat push [dir] [--promote prod] push a vertical (slug/name/version default
|
|
96
103
|
from package.json; version auto-bumps);
|
|
97
104
|
--promote prod points the serving channel at
|
|
@@ -298,7 +305,7 @@ that changes the permission or migration surface is refused until the change is
|
|
|
298
305
|
acknowledged (--ack-permissions / --ack-migrations) — the refusal prints the permission
|
|
299
306
|
diff and each new migration's SQL; read them first. It also prints a --review token: the
|
|
300
307
|
acknowledgement answers that review, and is refused if prod moved since it was read (a
|
|
301
|
-
migration acknowledgement is refused without one). For a non-prod environment, run the version against a copy of the data with 'substrat preview
|
|
308
|
+
permission or migration acknowledgement is refused without one). For a non-prod environment, run the version against a copy of the data with 'substrat preview
|
|
302
309
|
create' — dev/staging channels were retired (#509).
|
|
303
310
|
|
|
304
311
|
Auth resolves: explicit --token/SUBSTRAT_SERVICE_TOKEN → stored browser session →
|
|
@@ -311,11 +318,25 @@ authenticated response; an out-of-date CLI prints a one-line upgrade nudge to st
|
|
|
311
318
|
async function cmdLogin() {
|
|
312
319
|
const existing = loadConfig();
|
|
313
320
|
const cpDefault = existing.controlPlaneUrl ?? 'https://console.substrat.net/api';
|
|
314
|
-
|
|
315
|
-
//
|
|
321
|
+
// No TTY (an agent, piped stdin, CI, some Windows terminals): nobody can answer a prompt,
|
|
322
|
+
// so the URL is --cp, else the stored one, else the public plane — said out loud.
|
|
323
|
+
const interactive = Boolean(process.stdin.isTTY);
|
|
324
|
+
let cpInput = flag('cp');
|
|
325
|
+
if (cpInput === undefined && interactive) {
|
|
326
|
+
cpInput = await ask(`control-plane URL [${cpDefault}]: `);
|
|
327
|
+
if (cpInput === undefined)
|
|
328
|
+
throw new Error('no control-plane URL given (input ended) — pass --cp <url>');
|
|
329
|
+
}
|
|
330
|
+
else if (cpInput === undefined) {
|
|
331
|
+
console.log(`control-plane URL: ${cpDefault} (no terminal to ask on — pass --cp <url> for another)`);
|
|
332
|
+
}
|
|
333
|
+
const cp = (cpInput || cpDefault).replace(/\/$/, '');
|
|
334
|
+
const wanted = flag('workspace');
|
|
335
|
+
// CI path: a service credential, no browser. There is no account to check --workspace
|
|
336
|
+
// against, so it is stored as given — the control plane resolves it per request, as --tenant.
|
|
316
337
|
const serviceToken = flag('token');
|
|
317
338
|
if (serviceToken) {
|
|
318
|
-
const path = saveConfig({ ...existing, controlPlaneUrl: cp, serviceToken });
|
|
339
|
+
const path = saveConfig({ ...existing, controlPlaneUrl: cp, serviceToken, ...(wanted ? { defaultTenant: wanted } : {}) });
|
|
319
340
|
console.log(`✓ saved service credential → ${path}`);
|
|
320
341
|
return;
|
|
321
342
|
}
|
|
@@ -325,28 +346,59 @@ async function cmdLogin() {
|
|
|
325
346
|
const bearerToken = await browserLogin(cp, { fresh: argv.includes('--fresh') });
|
|
326
347
|
// Resolve the builder's workspace so `promote`/`scope` just work (builder-plane.md §5).
|
|
327
348
|
// `push` never uses this default — its workspace is the project's (package.json pin).
|
|
328
|
-
// One tenant → store it; several → pick; none → they still
|
|
349
|
+
// One tenant → store it; several → --workspace, else pick on a TTY; none → they still
|
|
350
|
+
// need to sign up in the app. Whatever happens here, the session below is saved: a
|
|
351
|
+
// completed browser login is never thrown away over the choice of a default.
|
|
329
352
|
const { user, tenants } = await fetchWhoami(cp, { authorization: `Bearer ${bearerToken}` }).catch(() => ({ user: null, tenants: [] }));
|
|
330
|
-
|
|
331
|
-
if
|
|
353
|
+
const byKey = (key) => tenants.find((t) => t.slug === key || t.id === key);
|
|
354
|
+
// When no choice is made, the previous default survives only if THIS account can act for
|
|
355
|
+
// it — a re-login keeps an earlier pick, a different account does not inherit a stranger's.
|
|
356
|
+
const kept = existing.defaultTenant === undefined ? undefined : byKey(existing.defaultTenant)?.slug;
|
|
357
|
+
const howToSet = ' set one with `substrat login --workspace <slug>`, or pass --tenant <slug> (or SUBSTRAT_TENANT) per command.';
|
|
358
|
+
let defaultTenant = kept;
|
|
359
|
+
let refused;
|
|
360
|
+
if (wanted !== undefined) {
|
|
361
|
+
// Slug or id, as the prompt takes — not the prompt's list number, which shifts as
|
|
362
|
+
// memberships change and would make a scripted login pick a different workspace.
|
|
363
|
+
const hit = byKey(wanted);
|
|
364
|
+
if (hit) {
|
|
365
|
+
defaultTenant = hit.slug;
|
|
366
|
+
console.log(` default workspace: ${defaultTenant}`);
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
defaultTenant = kept;
|
|
370
|
+
const valid = user ? tenants.map((t) => t.slug).join(', ') || '(none yet)' : '(could not list them)';
|
|
371
|
+
refused = `'${wanted}' is not one of your workspaces (yours: ${valid}) — signed in, ${kept ? `default workspace stays '${kept}'` : 'no default workspace set'}`;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
else if (tenants.length === 1) {
|
|
332
375
|
defaultTenant = tenants[0].slug;
|
|
333
376
|
console.log(` workspace: ${defaultTenant}`);
|
|
334
377
|
}
|
|
335
378
|
else if (tenants.length > 1) {
|
|
336
379
|
console.log(' you belong to several workspaces:');
|
|
337
380
|
tenants.forEach((t, i) => console.log(` ${i + 1}. ${t.name} [${t.slug}]`));
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
381
|
+
// Without a TTY the question would go unanswered (see `ask`) — do not ask it.
|
|
382
|
+
const pick = interactive ? await ask(` default workspace [1-${tenants.length}, or a slug]: `) : undefined;
|
|
383
|
+
if (pick === undefined) {
|
|
384
|
+
defaultTenant = kept;
|
|
385
|
+
console.log(kept ? ` default workspace stays: ${kept} (none chosen)` : ' no default workspace set (none chosen).');
|
|
386
|
+
console.log(howToSet);
|
|
387
|
+
}
|
|
388
|
+
else {
|
|
389
|
+
defaultTenant = tenants[Number(pick) - 1]?.slug ?? byKey(pick)?.slug ?? tenants[0].slug;
|
|
390
|
+
console.log(` default workspace: ${defaultTenant} (promote/scope use it; push pins one per project)`);
|
|
391
|
+
}
|
|
344
392
|
}
|
|
345
393
|
else if (user) {
|
|
346
394
|
console.log(' no workspace yet — create one at your dashboard, then `substrat push`.');
|
|
347
395
|
}
|
|
348
396
|
const path = saveConfig({ ...existing, controlPlaneUrl: cp, bearerToken, defaultTenant });
|
|
349
397
|
console.log(`✓ signed in${user?.email ? ` as ${user.email}` : ''}. session saved to ${path}`);
|
|
398
|
+
if (refused) {
|
|
399
|
+
console.log(howToSet);
|
|
400
|
+
throw new Error(refused); // main() prints it and exits non-zero — a script must not read this as success
|
|
401
|
+
}
|
|
350
402
|
}
|
|
351
403
|
/**
|
|
352
404
|
* The interactive workspace picker for a push with no pinned tenant. Lists the builder's
|
|
@@ -374,6 +426,8 @@ async function pickWorkspace(auth, dir) {
|
|
|
374
426
|
const suggested = loadConfig().defaultTenant;
|
|
375
427
|
const def = tenants.findIndex((t) => t.slug === suggested) + 1; // 0 = no login default among them
|
|
376
428
|
const pick = await ask(`push as [1-${tenants.length}${def ? `, enter = ${def}` : ''}]: `);
|
|
429
|
+
if (pick === undefined)
|
|
430
|
+
throw new Error(`no workspace selected — ${hint}`);
|
|
377
431
|
const chosen = (pick === '' && def ? tenants[def - 1] : undefined) ??
|
|
378
432
|
tenants[Number(pick) - 1] ??
|
|
379
433
|
tenants.find((t) => t.slug === pick || t.id === pick);
|
|
@@ -382,7 +436,8 @@ async function pickWorkspace(auth, dir) {
|
|
|
382
436
|
tenant = chosen.slug;
|
|
383
437
|
}
|
|
384
438
|
const pin = await ask(`pin '${tenant}' in package.json so this project always pushes there? [Y/n]: `);
|
|
385
|
-
|
|
439
|
+
// Input ended (undefined): no answer is not a yes — the push goes on, package.json untouched.
|
|
440
|
+
if (pin !== undefined && (pin === '' || /^y/i.test(pin))) {
|
|
386
441
|
try {
|
|
387
442
|
pinTenant(dir, tenant);
|
|
388
443
|
console.log(`✓ pinned — package.json now carries "substrat": { "tenant": "${tenant}" }`);
|
|
@@ -1294,6 +1349,14 @@ async function cmdPlan() {
|
|
|
1294
1349
|
throw err;
|
|
1295
1350
|
}
|
|
1296
1351
|
}
|
|
1352
|
+
/** `substrat doctor [dir] [--fix]`: is this machine and project ready to push? See doctor.ts. */
|
|
1353
|
+
function cmdDoctor() {
|
|
1354
|
+
const dir = positional(0, ['fix']) ?? '.';
|
|
1355
|
+
const { lines, problems } = doctor(dir, { fix: argv.includes('--fix') });
|
|
1356
|
+
console.log(['substrat doctor', ...lines].join('\n'));
|
|
1357
|
+
if (problems > 0)
|
|
1358
|
+
process.exit(1);
|
|
1359
|
+
}
|
|
1297
1360
|
async function cmdWhoami() {
|
|
1298
1361
|
const { controlPlaneUrl, header } = resolveAuth({ cp: flag('cp'), token: flag('token'), tenant: flag('tenant') });
|
|
1299
1362
|
const { user, tenants } = await fetchWhoami(controlPlaneUrl, header);
|
|
@@ -1313,8 +1376,13 @@ async function main() {
|
|
|
1313
1376
|
warnIfDistStale();
|
|
1314
1377
|
const command = argv[0];
|
|
1315
1378
|
switch (command) {
|
|
1379
|
+
case 'dev':
|
|
1380
|
+
process.exitCode = await dev({ dir: positional(0, ['no-trace']), trace: !argv.includes('--no-trace') });
|
|
1381
|
+
return;
|
|
1316
1382
|
case 'login':
|
|
1317
1383
|
return cmdLogin();
|
|
1384
|
+
case 'doctor':
|
|
1385
|
+
return cmdDoctor();
|
|
1318
1386
|
case 'versions':
|
|
1319
1387
|
return cmdVersions();
|
|
1320
1388
|
case 'installs':
|