@seamapi/cli 0.22.0 → 0.24.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 +4 -4
- package/bin/cli.js +5 -5
- package/bin/cli.js.map +1 -1
- package/completions/seam.bash +1 -1
- package/completions/seam.fish +1 -1
- package/completions/seam.zsh +1 -1
- package/lib/args/parse.js +1 -1
- package/lib/args/parse.js.map +1 -1
- package/lib/auth/operations.d.ts +8 -8
- package/lib/auth/operations.js +16 -29
- package/lib/auth/operations.js.map +1 -1
- package/lib/blueprint/index.d.ts +3 -3
- package/lib/blueprint/index.js +4 -4
- package/lib/blueprint/index.js.map +1 -1
- package/lib/blueprint/source-npm.js +5 -5
- package/lib/blueprint/source-npm.js.map +1 -1
- package/lib/commands/api-command.js +1 -1
- package/lib/commands/local/completion.d.ts +3 -3
- package/lib/commands/local/completion.js +3 -3
- package/lib/commands/local/config-use-remote-schema.d.ts +2 -0
- package/lib/commands/local/config-use-remote-schema.js +20 -0
- package/lib/commands/local/config-use-remote-schema.js.map +1 -0
- package/lib/commands/local/wizard.d.ts +7 -0
- package/lib/commands/local/wizard.js +31 -0
- package/lib/commands/local/wizard.js.map +1 -1
- package/lib/commands/registry.js +2 -2
- package/lib/commands/registry.js.map +1 -1
- package/lib/commands/spec.d.ts +1 -1
- package/lib/commands/spec.js +6 -6
- package/lib/commands/spec.js.map +1 -1
- package/lib/config/cli-config.d.ts +19 -0
- package/lib/config/cli-config.js +54 -0
- package/lib/config/cli-config.js.map +1 -0
- package/lib/config/config-store.d.ts +8 -5
- package/lib/config/config-store.js +15 -13
- package/lib/config/config-store.js.map +1 -1
- package/lib/config/index.d.ts +3 -2
- package/lib/config/index.js +3 -2
- package/lib/config/index.js.map +1 -1
- package/lib/config/memory-config-store.d.ts +6 -0
- package/lib/config/memory-config-store.js +6 -0
- package/lib/config/memory-config-store.js.map +1 -1
- package/lib/context.d.ts +3 -3
- package/lib/context.js +6 -16
- package/lib/context.js.map +1 -1
- package/lib/interactions/endpoint-selection.js +2 -2
- package/lib/interactions/endpoint-selection.js.map +1 -1
- package/lib/interactions/index.d.ts +1 -1
- package/lib/interactions/index.js +1 -1
- package/lib/interactions/index.js.map +1 -1
- package/lib/interactions/login.js +2 -2
- package/lib/interactions/login.js.map +1 -1
- package/lib/interactions/use-remote-schema.d.ts +1 -0
- package/lib/interactions/use-remote-schema.js +21 -0
- package/lib/interactions/use-remote-schema.js.map +1 -0
- package/lib/interactions/workspace-id.js +2 -2
- package/lib/interactions/workspace-id.js.map +1 -1
- package/lib/render/completion/index.d.ts +1 -1
- package/lib/render/completion/index.js +2 -2
- package/lib/render/completion/render-bash.js +1 -1
- package/lib/render/completion/render-fish.js +1 -1
- package/lib/render/completion/render-zsh.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -2
- package/src/bin/cli.ts +5 -6
- package/src/lib/args/parse.ts +1 -1
- package/src/lib/auth/operations.ts +18 -32
- package/src/lib/blueprint/index.ts +6 -6
- package/src/lib/blueprint/source-npm.ts +5 -6
- package/src/lib/commands/api-command.ts +1 -1
- package/src/lib/commands/local/completion.ts +3 -3
- package/src/lib/commands/local/{config-use-remote-api-defs.ts → config-use-remote-schema.ts} +6 -6
- package/src/lib/commands/local/wizard.ts +48 -0
- package/src/lib/commands/registry.ts +2 -2
- package/src/lib/commands/spec.ts +6 -6
- package/src/lib/config/cli-config.ts +87 -0
- package/src/lib/config/config-store.ts +16 -13
- package/src/lib/config/index.ts +9 -4
- package/src/lib/config/memory-config-store.ts +9 -0
- package/src/lib/context.ts +7 -24
- package/src/lib/interactions/endpoint-selection.ts +2 -2
- package/src/lib/interactions/index.ts +1 -1
- package/src/lib/interactions/login.ts +2 -2
- package/src/lib/interactions/use-remote-schema.ts +22 -0
- package/src/lib/interactions/workspace-id.ts +2 -2
- package/src/lib/render/completion/index.ts +2 -2
- package/src/lib/render/completion/render-bash.ts +1 -1
- package/src/lib/render/completion/render-fish.ts +1 -1
- package/src/lib/render/completion/render-zsh.ts +1 -1
- package/src/lib/version.ts +1 -1
- package/lib/commands/local/config-use-remote-api-defs.d.ts +0 -2
- package/lib/commands/local/config-use-remote-api-defs.js +0 -20
- package/lib/commands/local/config-use-remote-api-defs.js.map +0 -1
- package/lib/interactions/use-remote-api-defs.d.ts +0 -1
- package/lib/interactions/use-remote-api-defs.js +0 -21
- package/lib/interactions/use-remote-api-defs.js.map +0 -1
- package/src/lib/interactions/use-remote-api-defs.ts +0 -22
package/README.md
CHANGED
|
@@ -306,14 +306,14 @@ System packages install completion loaders instead: small scripts packaged
|
|
|
306
306
|
under `completions/` in the published package, and released as
|
|
307
307
|
`seam-completions-v<version>.tar.gz` on each [GitHub release]. A loader runs
|
|
308
308
|
`seam completion` the first time the shell completes a seam command, so
|
|
309
|
-
installed completions always match the CLI's current Seam API
|
|
309
|
+
installed completions always match the CLI's current Seam API schema and
|
|
310
310
|
never go stale between package updates. The `seam-bin` AUR package installs
|
|
311
311
|
the loaders for all three shells.
|
|
312
312
|
|
|
313
|
-
Completions are generated from the cached Seam API
|
|
313
|
+
Completions are generated from the cached Seam API schema, so they may
|
|
314
314
|
briefly lag a newly released API. Pass `--update` to refresh the cache first,
|
|
315
|
-
e.g., `seam completion bash --update`. They do not reflect
|
|
316
|
-
by another Seam API endpoint when `seam config use-remote-
|
|
315
|
+
e.g., `seam completion bash --update`. They do not reflect the schema served
|
|
316
|
+
by another Seam API endpoint when `seam config use-remote-schema` is enabled.
|
|
317
317
|
|
|
318
318
|
If completions do not appear after installing them system wide:
|
|
319
319
|
|
package/bin/cli.js
CHANGED
|
@@ -7,7 +7,7 @@ import { getApiBlueprint } from '../lib/blueprint/index.js';
|
|
|
7
7
|
import { printCompletion } from '../lib/commands/local/completion.js';
|
|
8
8
|
import { runWizard } from '../lib/commands/local/wizard.js';
|
|
9
9
|
import { acceptedParamsOf, buildRegistry, findLocalCommand, findLocalCommandTakingPositional, } from '../lib/commands/registry.js';
|
|
10
|
-
import {
|
|
10
|
+
import { getConfig } from '../lib/config/index.js';
|
|
11
11
|
import { resolveAuth } from '../lib/context.js';
|
|
12
12
|
import { tokenEnvVar } from '../lib/env.js';
|
|
13
13
|
import { reportErrorAndExit } from '../lib/errors.js';
|
|
@@ -23,7 +23,7 @@ import { completionShells, isCompletionShell, } from '../lib/render/completion/i
|
|
|
23
23
|
import { renderHelp } from '../lib/render/help.js';
|
|
24
24
|
import seamapiCliVersion from '../lib/version.js';
|
|
25
25
|
async function cli(args, argv) {
|
|
26
|
-
const config =
|
|
26
|
+
const config = getConfig();
|
|
27
27
|
const output = getOutput();
|
|
28
28
|
// Scoped to this one command, and read wherever auth resolves, so they are
|
|
29
29
|
// in place before anything asks what the endpoint or the workspace is.
|
|
@@ -40,7 +40,7 @@ async function cli(args, argv) {
|
|
|
40
40
|
const update = args['update'] === true;
|
|
41
41
|
const helpFlag = args['help'] ?? args['h'];
|
|
42
42
|
if (helpFlag != null) {
|
|
43
|
-
// Help comes from the cached API
|
|
43
|
+
// Help comes from the cached API schema so that it works without
|
|
44
44
|
// logging in, and offline once the cache is warm.
|
|
45
45
|
const cachedBlueprint = await getApiBlueprint({ update });
|
|
46
46
|
const { spec } = buildRegistry(cachedBlueprint);
|
|
@@ -120,9 +120,9 @@ async function cli(args, argv) {
|
|
|
120
120
|
process.exitCode = 1;
|
|
121
121
|
return;
|
|
122
122
|
}
|
|
123
|
-
const
|
|
123
|
+
const useRemoteSchema = args['remote_schema'] ?? config.getUseRemoteSchema();
|
|
124
124
|
const blueprint = await getApiBlueprint({
|
|
125
|
-
|
|
125
|
+
useRemoteSchema: useRemoteSchema ?? false,
|
|
126
126
|
update,
|
|
127
127
|
});
|
|
128
128
|
const registry = buildRegistry(blueprint);
|
package/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/bin/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,gCAAgC,GACjC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/bin/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,gCAAgC,GACjC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAmB,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,iBAAiB,MAAM,gBAAgB,CAAA;AAE9C,KAAK,UAAU,GAAG,CAAC,IAAgB,EAAE,IAAc;IACjD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAC3C,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAE/B,sEAAsE;IACtE,yEAAyE;IACzE,8DAA8D;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC9C,MAAM,uBAAuB,GAAG,gCAAgC,CAAC,YAAY,CAAC,CAAA;IAC9E,MAAM,UAAU,GACd,uBAAuB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrE,IAAI,CAAC,CAAC;QACJ,uBAAuB,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE5E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA;IAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,iEAAiE;QACjE,kDAAkD;QAClD,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACzD,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;QAE/C,qEAAqE;QACrE,kEAAkE;QAClE,MAAM,WAAW,GAAG;YAClB,GAAG,IAAI,CAAC,CAAC;YACT,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEpB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAE1C,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACzE,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YAChE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjB,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC9B,OAAM;IACR,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,wCAAwC;IACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,GAAG,KAAK,GAAG;YAAE,SAAQ;QACzB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,IAAI,KAAK,GAAG;YAAE,SAAQ;QAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IAED,2EAA2E;IAC3E,gEAAgE;IAChE,MAAM,SAAS,GAAwB,EAAE,CAAA;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,GAAG,KAAK,GAAG;YAAE,SAAQ;QACzB,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAQ;QACpC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,2BAA2B,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;QACvD,eAAe,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE;YAChD,QAAQ,EACN,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;YACpE,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACzD,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAA;QAC3D,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAE7C,uEAAuE;IACvE,2DAA2D;IAC3D,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,qBAAqB,CAAC,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAC/D,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,sBAAsB;IACtB,MAAM,YAAY,GAChB,YAAY,IAAI,IAAI;QAClB,CAAC,CAAC,YAAY,CAAC,YAAY;QAC3B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IAEzE,IAAI,YAAY,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,iDAAiD,WAAW,EAAE,CAAC,CAAA;QAC5E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAA;IAE5E,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC;QACtC,eAAe,EAAE,eAAe,IAAI,KAAK;QACzC,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAEzC,0EAA0E;IAC1E,MAAM,WAAW,GAAG,MAAM,aAAa,EAAE,CAAA;IACzC,MAAM,WAAW,GAAwB,EAAE,GAAG,WAAW,EAAE,CAAA;IAE3D,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,OAAO,GAA4B,IAAI,CAAA;IAE3C,MAAM,GAAG,GAAe;QACtB,MAAM;QACN,IAAI;QACJ,MAAM;QACN,SAAS;QACT,aAAa,EAAE,gBAAgB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC;QACjE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC;KACzD,CAAA;IAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAEzE,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,CAAA;IACxB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,eAAe,GAAG,MAAM,2BAA2B,CAAC,WAAW,EAAE;YACrE,QAAQ,EAAE,kBAAkB;YAC5B,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC,CAAC,CAAA;QAEF,4DAA4D;QAC5D,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxC,WAAW,GAAG,EAAE,CAAA;YAChB,SAAQ;QACV,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC9C,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,kCAAkC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC9D,CAAA;QACH,CAAC;QAED,mEAAmE;QACnE,gDAAgD;QAChD,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QACxD,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE;YAC1C,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9C,OAAO,EAAE,gBAAgB,CAAC,eAAe,CAAC,IAAI,IAAI;SACnD,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAClC,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EACzE,GAAG,CACJ,CAAA;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,WAAW,GAAG,MAAM,CAAC,MAAM,CAAA;YAC3B,SAAQ;QACV,CAAC;QAED,OAAM;IACR,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,+BAA+B;AAC/B,MAAM,aAAa,GAAG,CAAC,GAAoB,EAAU,EAAE,CACrD,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAE9C,MAAM,GAAG,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;IACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAE/B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAA;IAE3C,SAAS,CACP,YAAY,CAAC;QACX,MAAM,EAAE,mBAAmB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;QAC5C,MAAM,EAAE,KAAK;KACd,CAAC,CACH,CAAA;IAED,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACvB,CAAC,CAAA;AAED,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;IAC9C,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;AACpC,CAAC,CAAC,CAAA"}
|
package/completions/seam.bash
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# bash completion loader for the seam command.
|
|
2
2
|
#
|
|
3
3
|
# Generated by @seamapi/cli. Loads completions from the CLI on first use, so
|
|
4
|
-
# they always match the CLI's current Seam API
|
|
4
|
+
# they always match the CLI's current Seam API schema. Requires the seam
|
|
5
5
|
# command on PATH. Print the underlying script with 'seam completion bash'.
|
|
6
6
|
#
|
|
7
7
|
# Install to /usr/share/bash-completion/completions/seam
|
package/completions/seam.fish
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# fish completion loader for the seam command.
|
|
2
2
|
#
|
|
3
3
|
# Generated by @seamapi/cli. Loads completions from the CLI on first use, so
|
|
4
|
-
# they always match the CLI's current Seam API
|
|
4
|
+
# they always match the CLI's current Seam API schema. Requires the seam
|
|
5
5
|
# command on PATH. Print the underlying script with 'seam completion fish'.
|
|
6
6
|
#
|
|
7
7
|
# Install to /usr/share/fish/vendor_completions.d/seam.fish
|
package/completions/seam.zsh
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# zsh completion loader for the seam command.
|
|
3
3
|
#
|
|
4
4
|
# Generated by @seamapi/cli. Loads completions from the CLI on first use, so
|
|
5
|
-
# they always match the CLI's current Seam API
|
|
5
|
+
# they always match the CLI's current Seam API schema. Requires the seam
|
|
6
6
|
# command on PATH. Print the underlying script with 'seam completion zsh'.
|
|
7
7
|
#
|
|
8
8
|
# Install to a directory in fpath as _seam
|
package/lib/args/parse.js
CHANGED
package/lib/args/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/lib/args/parse.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAmB,MAAM,UAAU,CAAA;AAgBrD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAa;IAC1C,iBAAiB;IACjB,GAAG;IACH,aAAa;IACb,GAAG;CACJ,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,GAAG,kBAAkB;IACrB,UAAU;IACV,GAAG;IACH,MAAM;IACN,MAAM;IACN,
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/lib/args/parse.ts"],"names":[],"mappings":"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"}
|
package/lib/auth/operations.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type CliConfig } from '../config/index.js';
|
|
2
2
|
import { type AuthContext } from '../context.js';
|
|
3
3
|
import { validateToken } from './validate-token.js';
|
|
4
4
|
/** A stored auth setting an environment variable may override. */
|
|
@@ -24,18 +24,18 @@ export declare const assertMutable: (auth: AuthContext, setting: AuthSetting, ac
|
|
|
24
24
|
*
|
|
25
25
|
* Validation reaches the network, so a test may inject its own `validate`.
|
|
26
26
|
*/
|
|
27
|
-
export declare const login: (token: string, config?:
|
|
27
|
+
export declare const login: (token: string, config?: CliConfig, validate?: typeof validateToken) => Promise<void>;
|
|
28
28
|
/** Store the token for the current endpoint, e.g., one just prompted for. */
|
|
29
|
-
export declare const storeToken: (token: string, config?:
|
|
29
|
+
export declare const storeToken: (token: string, config?: CliConfig) => void;
|
|
30
30
|
/** Remove the stored token and workspace selection. */
|
|
31
|
-
export declare const logout: (config?:
|
|
31
|
+
export declare const logout: (config?: CliConfig) => void;
|
|
32
32
|
/**
|
|
33
33
|
* Store the endpoint to make requests against.
|
|
34
34
|
*
|
|
35
35
|
* The workspace selection belongs to the previous endpoint, so it is cleared.
|
|
36
36
|
*/
|
|
37
|
-
export declare const selectEndpoint: (endpoint: string, config?:
|
|
37
|
+
export declare const selectEndpoint: (endpoint: string, config?: CliConfig) => void;
|
|
38
38
|
/** Store the workspace requests are made against. */
|
|
39
|
-
export declare const selectWorkspace: (workspaceId: string, config?:
|
|
40
|
-
/** Store whether API
|
|
41
|
-
export declare const
|
|
39
|
+
export declare const selectWorkspace: (workspaceId: string, config?: CliConfig) => void;
|
|
40
|
+
/** Store whether the API schema comes from the endpoint instead of npm. */
|
|
41
|
+
export declare const setUseRemoteSchema: (useRemoteSchema: boolean, config?: CliConfig) => void;
|
package/lib/auth/operations.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getConfig } from '../config/index.js';
|
|
2
2
|
import { resolveAuth } from '../context.js';
|
|
3
3
|
import { assertEnvVarUnset, endpointEnvVar, tokenEnvVar, workspaceIdEnvVar, } from '../env.js';
|
|
4
4
|
import { validateToken } from './validate-token.js';
|
|
@@ -40,58 +40,45 @@ export const assertMutable = (auth, setting, action) => {
|
|
|
40
40
|
*
|
|
41
41
|
* Validation reaches the network, so a test may inject its own `validate`.
|
|
42
42
|
*/
|
|
43
|
-
export const login = async (token, config =
|
|
43
|
+
export const login = async (token, config = getConfig(), validate = validateToken) => {
|
|
44
44
|
const auth = resolveAuth(config);
|
|
45
45
|
// Nothing is stored while the environment overrides it, so refuse before
|
|
46
46
|
// validating rather than after reaching the network.
|
|
47
47
|
assertMutable(auth, 'token', 'log in');
|
|
48
48
|
await validate(token, auth.workspaceId ?? undefined);
|
|
49
|
-
config.
|
|
49
|
+
config.setToken(auth.endpoint, token);
|
|
50
50
|
// The selection belongs to whoever was logged in before.
|
|
51
|
-
config.
|
|
51
|
+
config.unsetWorkspace();
|
|
52
52
|
};
|
|
53
53
|
/** Store the token for the current endpoint, e.g., one just prompted for. */
|
|
54
|
-
export const storeToken = (token, config =
|
|
54
|
+
export const storeToken = (token, config = getConfig()) => {
|
|
55
55
|
const auth = resolveAuth(config);
|
|
56
56
|
assertMutable(auth, 'token', 'log in');
|
|
57
|
-
config.
|
|
57
|
+
config.setToken(auth.endpoint, token);
|
|
58
58
|
};
|
|
59
59
|
/** Remove the stored token and workspace selection. */
|
|
60
|
-
export const logout = (config =
|
|
60
|
+
export const logout = (config = getConfig()) => {
|
|
61
61
|
const auth = resolveAuth(config);
|
|
62
62
|
assertMutable(auth, 'token', 'log out');
|
|
63
|
-
config.
|
|
64
|
-
|
|
65
|
-
// un-namespaced token, so drop that too.
|
|
66
|
-
config.delete('pat');
|
|
67
|
-
config.delete('current_workspace_id');
|
|
63
|
+
config.unsetToken(auth.endpoint);
|
|
64
|
+
config.unsetWorkspace();
|
|
68
65
|
};
|
|
69
66
|
/**
|
|
70
67
|
* Store the endpoint to make requests against.
|
|
71
68
|
*
|
|
72
69
|
* The workspace selection belongs to the previous endpoint, so it is cleared.
|
|
73
70
|
*/
|
|
74
|
-
export const selectEndpoint = (endpoint, config =
|
|
71
|
+
export const selectEndpoint = (endpoint, config = getConfig()) => {
|
|
75
72
|
assertMutable(resolveAuth(config), 'endpoint', 'select an endpoint');
|
|
76
|
-
|
|
73
|
+
config.setEndpoint(endpoint);
|
|
77
74
|
};
|
|
78
75
|
/** Store the workspace requests are made against. */
|
|
79
|
-
export const selectWorkspace = (workspaceId, config =
|
|
76
|
+
export const selectWorkspace = (workspaceId, config = getConfig()) => {
|
|
80
77
|
assertMutable(resolveAuth(config), 'workspaceId', 'select a workspace');
|
|
81
|
-
config.
|
|
78
|
+
config.setWorkspace(workspaceId);
|
|
82
79
|
};
|
|
83
|
-
/** Store whether API
|
|
84
|
-
export const
|
|
85
|
-
config.
|
|
86
|
-
};
|
|
87
|
-
/**
|
|
88
|
-
* Write the endpoint, dropping what belonged to the previous one: the
|
|
89
|
-
* workspace selection, and any value left under the legacy `server` key that
|
|
90
|
-
* {@link resolveAuth} would otherwise still fall back to.
|
|
91
|
-
*/
|
|
92
|
-
const storeEndpoint = (endpoint, config) => {
|
|
93
|
-
config.set('endpoint', endpoint);
|
|
94
|
-
config.delete('server');
|
|
95
|
-
config.delete('current_workspace_id');
|
|
80
|
+
/** Store whether the API schema comes from the endpoint instead of npm. */
|
|
81
|
+
export const setUseRemoteSchema = (useRemoteSchema, config = getConfig()) => {
|
|
82
|
+
config.setUseRemoteSchema(useRemoteSchema);
|
|
96
83
|
};
|
|
97
84
|
//# sourceMappingURL=operations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/lib/auth/operations.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/lib/auth/operations.ts"],"names":[],"mappings":"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"}
|
package/lib/blueprint/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export interface GetApiBlueprintOptions {
|
|
|
5
5
|
* Build from the OpenAPI document the configured endpoint is currently
|
|
6
6
|
* running, instead of the published npm types.
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
/** Force an update of the cached Seam API
|
|
8
|
+
useRemoteSchema?: boolean;
|
|
9
|
+
/** Force an update of the cached Seam API schema. */
|
|
10
10
|
update?: boolean;
|
|
11
11
|
}
|
|
12
|
-
export declare const getApiBlueprint: ({
|
|
12
|
+
export declare const getApiBlueprint: ({ useRemoteSchema, update, }?: GetApiBlueprintOptions) => Promise<ApiBlueprint>;
|
package/lib/blueprint/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getBlueprint } from './source-npm.js';
|
|
2
2
|
import { createRemoteBlueprint } from './source-remote.js';
|
|
3
|
-
export const getApiBlueprint = async ({
|
|
4
|
-
//
|
|
5
|
-
// build
|
|
6
|
-
if (
|
|
3
|
+
export const getApiBlueprint = async ({ useRemoteSchema = false, update = false, } = {}) => {
|
|
4
|
+
// The remote schema describes whatever the endpoint is currently running, so
|
|
5
|
+
// build it directly from that endpoint's OpenAPI document.
|
|
6
|
+
if (useRemoteSchema)
|
|
7
7
|
return await createRemoteBlueprint();
|
|
8
8
|
return await getBlueprint({ update });
|
|
9
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/blueprint/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAc1D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/blueprint/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAc1D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,eAAe,GAAG,KAAK,EACvB,MAAM,GAAG,KAAK,MACY,EAAE,EAAyB,EAAE;IACvD,6EAA6E;IAC7E,2DAA2D;IAC3D,IAAI,eAAe;QAAE,OAAO,MAAM,qBAAqB,EAAE,CAAA;IAEzD,OAAO,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AACvC,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { access, mkdir, rm, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { pathToFileURL } from 'node:url';
|
|
4
|
-
import envPaths from 'env-paths';
|
|
5
4
|
import { extract } from 'tar';
|
|
5
|
+
import { rootPaths } from '../config/index.js';
|
|
6
6
|
import { withLoading } from '../output/with-loading.js';
|
|
7
7
|
import { getBlueprintVersion, getCacheFile, isUpdateCheckDue, readCache, writeCache, } from './cache.js';
|
|
8
8
|
const typesPackageName = '@seamapi/types';
|
|
@@ -14,7 +14,7 @@ const registryUrl = 'https://registry.npmjs.org';
|
|
|
14
14
|
*/
|
|
15
15
|
export const getBlueprint = async (options = {}) => {
|
|
16
16
|
const update = options.update ?? false;
|
|
17
|
-
const cacheDirectory = options.cacheDirectory ??
|
|
17
|
+
const cacheDirectory = options.cacheDirectory ?? rootPaths.cache;
|
|
18
18
|
const cacheFile = getCacheFile(cacheDirectory);
|
|
19
19
|
const blueprintVersion = await getBlueprintVersion();
|
|
20
20
|
const cache = await readCache(cacheFile);
|
|
@@ -31,7 +31,7 @@ export const getBlueprint = async (options = {}) => {
|
|
|
31
31
|
// over failing, unless an update was explicitly requested.
|
|
32
32
|
if (cache != null && !update)
|
|
33
33
|
return cache.blueprint;
|
|
34
|
-
throw new Error(`Could not check for Seam API
|
|
34
|
+
throw new Error(`Could not check for Seam API schema updates: ${toErrorMessage(error)}`);
|
|
35
35
|
}
|
|
36
36
|
if (!update && isCacheUsable && cache.typesVersion === manifest.version) {
|
|
37
37
|
await writeCache(cacheFile, {
|
|
@@ -42,12 +42,12 @@ export const getBlueprint = async (options = {}) => {
|
|
|
42
42
|
}
|
|
43
43
|
let blueprint;
|
|
44
44
|
try {
|
|
45
|
-
blueprint = await withLoading(`Downloading Seam API
|
|
45
|
+
blueprint = await withLoading(`Downloading Seam API schema (${typesPackageName}@${manifest.version})`, async () => await generateBlueprint(manifest, cacheDirectory));
|
|
46
46
|
}
|
|
47
47
|
catch (error) {
|
|
48
48
|
if (cache != null && !update)
|
|
49
49
|
return cache.blueprint;
|
|
50
|
-
throw new Error(`Could not update Seam API
|
|
50
|
+
throw new Error(`Could not update Seam API schema: ${toErrorMessage(error)}`);
|
|
51
51
|
}
|
|
52
52
|
await writeCache(cacheFile, {
|
|
53
53
|
blueprintVersion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-npm.js","sourceRoot":"","sources":["../../src/lib/blueprint/source-npm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,OAAO,
|
|
1
|
+
{"version":3,"file":"source-npm.js","sourceRoot":"","sources":["../../src/lib/blueprint/source-npm.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,7 +58,7 @@ export const executeApiCommand = async (invocation, ctx) => {
|
|
|
58
58
|
};
|
|
59
59
|
/**
|
|
60
60
|
* Per-endpoint request policy that is not derivable from the API
|
|
61
|
-
*
|
|
61
|
+
* schema. Keep this table small and explicit.
|
|
62
62
|
*/
|
|
63
63
|
const applyEndpointDefaults = (path, params) => {
|
|
64
64
|
// Unbounded event lists are never wanted, so default to the last month.
|
|
@@ -5,9 +5,9 @@ import { type CompletionShell } from '../../render/completion/index.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Print the completion script for a shell.
|
|
7
7
|
*
|
|
8
|
-
* Completions always come from the cached API
|
|
9
|
-
* be generated without logging in. They may lag the
|
|
10
|
-
* Seam when config use-remote-
|
|
8
|
+
* Completions always come from the cached API schema so that they can
|
|
9
|
+
* be generated without logging in. They may lag the schema served by
|
|
10
|
+
* Seam when config use-remote-schema is enabled.
|
|
11
11
|
*
|
|
12
12
|
* Called by the entry before any auth or blueprint context exists, and by
|
|
13
13
|
* the registered command's executor — one implementation for both.
|
|
@@ -3,9 +3,9 @@ import { renderCompletion, } from '../../render/completion/index.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Print the completion script for a shell.
|
|
5
5
|
*
|
|
6
|
-
* Completions always come from the cached API
|
|
7
|
-
* be generated without logging in. They may lag the
|
|
8
|
-
* Seam when config use-remote-
|
|
6
|
+
* Completions always come from the cached API schema so that they can
|
|
7
|
+
* be generated without logging in. They may lag the schema served by
|
|
8
|
+
* Seam when config use-remote-schema is enabled.
|
|
9
9
|
*
|
|
10
10
|
* Called by the entry before any auth or blueprint context exists, and by
|
|
11
11
|
* the registered command's executor — one implementation for both.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NonInteractiveError } from '../../errors.js';
|
|
2
|
+
import { interactForUseRemoteSchema } from '../../interactions/index.js';
|
|
3
|
+
export const configUseRemoteSchemaCommand = {
|
|
4
|
+
definition: {
|
|
5
|
+
path: ['config', 'use-remote-schema'],
|
|
6
|
+
kind: 'cli',
|
|
7
|
+
title: 'Choose whether to use the schema served by Seam.',
|
|
8
|
+
description: '',
|
|
9
|
+
flags: [],
|
|
10
|
+
},
|
|
11
|
+
requiresAuth: true,
|
|
12
|
+
execute: async (_invocation, ctx) => {
|
|
13
|
+
if (ctx.interactivity === 'non-interactive') {
|
|
14
|
+
throw new NonInteractiveError('Cannot select whether to use the remote schema in non-interactive mode');
|
|
15
|
+
}
|
|
16
|
+
await interactForUseRemoteSchema();
|
|
17
|
+
return { kind: 'done' };
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=config-use-remote-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-use-remote-schema.js","sourceRoot":"","sources":["../../../src/lib/commands/local/config-use-remote-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAEtE,MAAM,CAAC,MAAM,4BAA4B,GAAY;IACnD,UAAU,EAAE;QACV,IAAI,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QACrC,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,kDAAkD;QACzD,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,EAAE;KACV;IACD,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE;QAClC,IAAI,GAAG,CAAC,aAAa,KAAK,iBAAiB,EAAE,CAAC;YAC5C,MAAM,IAAI,mBAAmB,CAC3B,wEAAwE,CACzE,CAAA;QACH,CAAC;QACD,MAAM,0BAA0B,EAAE,CAAA;QAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACzB,CAAC;CACF,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { WizardAdapter } from '@seamapi/wizard';
|
|
1
2
|
import type { Command } from '../../commands/registry.js';
|
|
3
|
+
import { type CliConfig } from '../../config/index.js';
|
|
2
4
|
/**
|
|
3
5
|
* Run the Seam setup wizard.
|
|
4
6
|
*
|
|
@@ -7,3 +9,8 @@ import type { Command } from '../../commands/registry.js';
|
|
|
7
9
|
*/
|
|
8
10
|
export declare const runWizard: (argv: string[]) => Promise<void>;
|
|
9
11
|
export declare const wizardCommand: Command;
|
|
12
|
+
export declare const createWizardAdapter: ({ cliConfig, configPath, statePath, }?: {
|
|
13
|
+
cliConfig?: CliConfig;
|
|
14
|
+
configPath?: string;
|
|
15
|
+
statePath?: string;
|
|
16
|
+
}) => WizardAdapter;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { isApiKey } from '@seamapi/http/connect';
|
|
3
|
+
import Configstore from 'configstore';
|
|
4
|
+
import { getConfig, rootPaths } from '../../config/index.js';
|
|
5
|
+
import { resolveAuth } from '../../context.js';
|
|
1
6
|
/**
|
|
2
7
|
* Run the Seam setup wizard.
|
|
3
8
|
*
|
|
@@ -9,6 +14,7 @@ export const runWizard = async (argv) => {
|
|
|
9
14
|
await wizard({
|
|
10
15
|
argv,
|
|
11
16
|
commandName: 'seam wizard',
|
|
17
|
+
adapter: createWizardAdapter(),
|
|
12
18
|
});
|
|
13
19
|
};
|
|
14
20
|
export const wizardCommand = {
|
|
@@ -25,4 +31,29 @@ export const wizardCommand = {
|
|
|
25
31
|
return { kind: 'done' };
|
|
26
32
|
},
|
|
27
33
|
};
|
|
34
|
+
const wizardFileName = 'wizard.json';
|
|
35
|
+
export const createWizardAdapter = ({ cliConfig = getConfig(), configPath = join(rootPaths.config, wizardFileName), statePath = join(rootPaths.log, wizardFileName), } = {}) => ({
|
|
36
|
+
getAuth: async () => toWizardAuth(cliConfig),
|
|
37
|
+
config: createStorage(configPath),
|
|
38
|
+
state: createStorage(statePath),
|
|
39
|
+
});
|
|
40
|
+
// Only a workspace-scoped key may go in a project, so a personal access
|
|
41
|
+
// token is not handed over at all.
|
|
42
|
+
const toWizardAuth = (cliConfig) => {
|
|
43
|
+
const { endpoint, token, workspaceId } = resolveAuth(cliConfig);
|
|
44
|
+
return {
|
|
45
|
+
endpoint,
|
|
46
|
+
apiKey: token != null && isApiKey(token) ? token : null,
|
|
47
|
+
workspaceId,
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
const createStorage = (path) => {
|
|
51
|
+
const store = new Configstore('seam-cli', undefined, { configPath: path });
|
|
52
|
+
return {
|
|
53
|
+
get: async (key) => store.get(key),
|
|
54
|
+
set: async (key, value) => {
|
|
55
|
+
store.set(key, value);
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
};
|
|
28
59
|
//# sourceMappingURL=wizard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/lib/commands/local/wizard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/lib/commands/local/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,WAAW,MAAM,aAAa,CAAA;AAGrC,OAAO,EAAkB,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAc,EAAiB,EAAE;IAC/D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC3D,MAAM,MAAM,CAAC;QACX,IAAI;QACJ,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,mBAAmB,EAAE;KAC/B,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,UAAU,EAAE;QACV,IAAI,EAAE,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EACT,sGAAsG;QACxG,KAAK,EAAE,EAAE;KACV;IACD,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,SAAS,CAAC,EAAE,CAAC,CAAA;QACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACzB,CAAC;CACF,CAAA;AAED,MAAM,cAAc,GAAG,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,SAAS,GAAG,SAAS,EAAE,EACvB,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,EACnD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,MAK7C,EAAE,EAAiB,EAAE,CAAC,CAAC;IACzB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;IAC5C,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC;CAChC,CAAC,CAAA;AAEF,wEAAwE;AACxE,mCAAmC;AACnC,MAAM,YAAY,GAAG,CAAC,SAAoB,EAAc,EAAE;IACxD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;IAE/D,OAAO;QACL,QAAQ;QACR,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACvD,WAAW;KACZ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAkB,EAAE;IACrD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1E,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;QAClC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACvB,CAAC;KACF,CAAA;AACH,CAAC,CAAA"}
|
package/lib/commands/registry.js
CHANGED
|
@@ -2,7 +2,7 @@ import { toParameterName } from '../args/parse.js';
|
|
|
2
2
|
import { executeApiCommand } from './api-command.js';
|
|
3
3
|
import { createCompletionCommands } from './local/completion.js';
|
|
4
4
|
import { configRevealLocationCommand } from './local/config-reveal-location.js';
|
|
5
|
-
import {
|
|
5
|
+
import { configUseRemoteSchemaCommand } from './local/config-use-remote-schema.js';
|
|
6
6
|
import { healthCommand } from './local/health.js';
|
|
7
7
|
import { loginCommand } from './local/login.js';
|
|
8
8
|
import { logoutCommand } from './local/logout.js';
|
|
@@ -19,7 +19,7 @@ const completionCommands = createCompletionCommands((blueprint) => buildRegistry
|
|
|
19
19
|
export const localCommands = [
|
|
20
20
|
...completionCommands,
|
|
21
21
|
configRevealLocationCommand,
|
|
22
|
-
|
|
22
|
+
configUseRemoteSchemaCommand,
|
|
23
23
|
healthCommand,
|
|
24
24
|
loginCommand,
|
|
25
25
|
logoutCommand,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/commands/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAInD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/commands/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAInD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAGL,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAA;AA0ClB;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,wBAAwB,CACjD,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAC7C,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,GAAG,kBAAkB;IACrB,2BAA2B;IAC3B,4BAA4B;IAC5B,aAAa;IACb,YAAY;IACZ,aAAa;IACb,qBAAqB;IACrB,sBAAsB;IACtB,aAAa;CACd,CAAA;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,uBAAuB,GAAwB,aAAa;KACtE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;KAC5C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAc,EAAuB,EAAE,CACtE,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAE5E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,KAAe,EACM,EAAE,CACvB,aAAa,CAAC,IAAI,CAChB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CACjB,UAAU,CAAC,UAAU,IAAI,IAAI;IAC7B,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;IAC3C,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAClD,CAAA;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAA6B,EAAe,EAAE,CAC7E,IAAI,GAAG,CACL,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACpC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAC5C,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAuB,EAAmB,EAAE;IACxE,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAA;IAE/D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC3C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtC,UAAU;YACV,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAA;IACJ,CAAC;IACD,4EAA4E;IAC5E,0DAA0D;IAC1D,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7C,CAAA;AACH,CAAC,CAAA"}
|
package/lib/commands/spec.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ export interface CommandSpec {
|
|
|
58
58
|
export declare const globalFlags: CommandFlag[];
|
|
59
59
|
export declare const flagTokens: (flag: CommandFlag) => string[];
|
|
60
60
|
/**
|
|
61
|
-
* Derive the command spec from the API
|
|
61
|
+
* Derive the command spec from the API schema, merged with the commands
|
|
62
62
|
* the CLI declares itself (see `commands/registry.ts`, the single source of
|
|
63
63
|
* those declarations).
|
|
64
64
|
*/
|