@seamapi/cli 0.10.0 → 0.12.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 +118 -0
- package/bin/cli.js +78 -100
- package/bin/cli.js.map +1 -1
- package/completions/seam.bash +11 -0
- package/completions/seam.fish +11 -0
- package/completions/seam.zsh +13 -0
- package/lib/command-spec.d.ts +53 -0
- package/lib/command-spec.js +290 -0
- package/lib/command-spec.js.map +1 -0
- package/lib/completion/describe.d.ts +10 -0
- package/lib/completion/describe.js +16 -0
- package/lib/completion/describe.js.map +1 -0
- package/lib/completion/index.d.ts +20 -0
- package/lib/completion/index.js +65 -0
- package/lib/completion/index.js.map +1 -0
- package/lib/completion/render-bash.d.ts +2 -0
- package/lib/completion/render-bash.js +98 -0
- package/lib/completion/render-bash.js.map +1 -0
- package/lib/completion/render-fish.d.ts +2 -0
- package/lib/completion/render-fish.js +58 -0
- package/lib/completion/render-fish.js.map +1 -0
- package/lib/completion/render-zsh.d.ts +2 -0
- package/lib/completion/render-zsh.js +121 -0
- package/lib/completion/render-zsh.js.map +1 -0
- package/lib/get-response-key.d.ts +9 -0
- package/lib/get-response-key.js +21 -0
- package/lib/get-response-key.js.map +1 -0
- package/lib/interact-for-action-attempt-poll.js +4 -3
- package/lib/interact-for-action-attempt-poll.js.map +1 -1
- package/lib/interact-for-array.js +9 -7
- package/lib/interact-for-array.js.map +1 -1
- package/lib/interact-for-blueprint-object.js +9 -8
- package/lib/interact-for-blueprint-object.js.map +1 -1
- package/lib/interact-for-command-selection.js +2 -2
- package/lib/interact-for-command-selection.js.map +1 -1
- package/lib/interact-for-custom-metadata.js +10 -8
- package/lib/interact-for-custom-metadata.js.map +1 -1
- package/lib/interact-for-login.js +8 -6
- package/lib/interact-for-login.js.map +1 -1
- package/lib/interact-for-resource.js +2 -2
- package/lib/interact-for-resource.js.map +1 -1
- package/lib/interact-for-server-selection.js +7 -5
- package/lib/interact-for-server-selection.js.map +1 -1
- package/lib/interact-for-timestamp.js +2 -2
- package/lib/interact-for-timestamp.js.map +1 -1
- package/lib/interact-for-use-remote-api-defs.js +4 -3
- package/lib/interact-for-use-remote-api-defs.js.map +1 -1
- package/lib/interact-for-workspace-id.js +2 -2
- package/lib/interact-for-workspace-id.js.map +1 -1
- package/lib/output/create-memory-output.d.ts +13 -0
- package/lib/output/create-memory-output.js +22 -0
- package/lib/output/create-memory-output.js.map +1 -0
- package/lib/output/create-output.d.ts +50 -0
- package/lib/output/create-output.js +34 -0
- package/lib/output/create-output.js.map +1 -0
- package/lib/output/get-output.d.ts +12 -0
- package/lib/output/get-output.js +21 -0
- package/lib/output/get-output.js.map +1 -0
- package/lib/output/resolve-output-format.d.ts +16 -0
- package/lib/output/resolve-output-format.js +23 -0
- package/lib/output/resolve-output-format.js.map +1 -0
- package/lib/output/select-response-payload.d.ts +16 -0
- package/lib/output/select-response-payload.js +33 -0
- package/lib/output/select-response-payload.js.map +1 -0
- package/lib/render-help.d.ts +8 -0
- package/lib/render-help.js +150 -0
- package/lib/render-help.js.map +1 -0
- package/lib/util/cli-args.d.ts +16 -1
- package/lib/util/cli-args.js +18 -2
- package/lib/util/cli-args.js.map +1 -1
- package/lib/util/prompt.d.ts +17 -0
- package/lib/util/prompt.js +25 -0
- package/lib/util/prompt.js.map +1 -0
- package/lib/util/read-stdin-json.d.ts +22 -0
- package/lib/util/read-stdin-json.js +42 -0
- package/lib/util/read-stdin-json.js.map +1 -0
- package/lib/util/request-seam-api.d.ts +5 -2
- package/lib/util/request-seam-api.js +13 -15
- package/lib/util/request-seam-api.js.map +1 -1
- package/lib/util/with-loading.js +6 -1
- package/lib/util/with-loading.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -1
- package/src/bin/cli.ts +100 -106
- package/src/lib/command-spec.ts +400 -0
- package/src/lib/completion/describe.ts +21 -0
- package/src/lib/completion/index.ts +82 -0
- package/src/lib/completion/render-bash.ts +125 -0
- package/src/lib/completion/render-fish.ts +80 -0
- package/src/lib/completion/render-zsh.ts +157 -0
- package/src/lib/get-response-key.ts +25 -0
- package/src/lib/interact-for-action-attempt-poll.ts +4 -3
- package/src/lib/interact-for-array.ts +9 -7
- package/src/lib/interact-for-blueprint-object.ts +9 -8
- package/src/lib/interact-for-command-selection.ts +2 -3
- package/src/lib/interact-for-custom-metadata.ts +10 -8
- package/src/lib/interact-for-login.ts +8 -6
- package/src/lib/interact-for-resource.ts +2 -3
- package/src/lib/interact-for-server-selection.ts +7 -6
- package/src/lib/interact-for-timestamp.ts +2 -2
- package/src/lib/interact-for-use-remote-api-defs.ts +4 -4
- package/src/lib/interact-for-workspace-id.ts +2 -2
- package/src/lib/output/create-memory-output.ts +39 -0
- package/src/lib/output/create-output.ts +104 -0
- package/src/lib/output/get-output.ts +24 -0
- package/src/lib/output/resolve-output-format.ts +33 -0
- package/src/lib/output/select-response-payload.ts +56 -0
- package/src/lib/render-help.ts +197 -0
- package/src/lib/util/cli-args.ts +32 -2
- package/src/lib/util/prompt.ts +38 -0
- package/src/lib/util/read-stdin-json.ts +59 -0
- package/src/lib/util/request-seam-api.ts +24 -20
- package/src/lib/util/with-loading.ts +9 -1
- package/src/lib/version.ts +1 -1
package/README.md
CHANGED
|
@@ -97,6 +97,124 @@ seam access-codes create --code "1234" --name "My Code"
|
|
|
97
97
|
seam access-codes list --device-id $MY_DOOR
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
+
### Output
|
|
101
|
+
|
|
102
|
+
Only the response is written to stdout, so any command may be piped or
|
|
103
|
+
redirected. Prompts, progress, and other information are written to stderr.
|
|
104
|
+
|
|
105
|
+
The response is trimmed to the response key and pagination: no other top level
|
|
106
|
+
fields are reported.
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# The response, and nothing else, ends up in the file
|
|
110
|
+
seam devices list > devices.json
|
|
111
|
+
|
|
112
|
+
# Prompts and progress still show up in the terminal
|
|
113
|
+
seam devices list | jq '.devices[].device_id'
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### JSON
|
|
117
|
+
|
|
118
|
+
Request params may be piped or redirected in as a JSON object. Params given as
|
|
119
|
+
arguments win over params read from stdin.
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Read params from a file
|
|
123
|
+
seam locks unlock-door < params.json
|
|
124
|
+
|
|
125
|
+
# Or from another program
|
|
126
|
+
echo '{"device_id": "'"$MY_DOOR"'"}' | seam locks unlock-door
|
|
127
|
+
|
|
128
|
+
# --device-id wins over any device_id in params.json
|
|
129
|
+
seam devices list --limit 5 < params.json
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Pass `--json` to write the response as JSON. It is enabled automatically
|
|
133
|
+
whenever stdout is not a terminal, so piping and redirecting produce JSON
|
|
134
|
+
without passing anything. Pass `--no-json` to opt out and get the pretty
|
|
135
|
+
format instead.
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Both write JSON
|
|
139
|
+
seam devices list --json
|
|
140
|
+
seam devices list | jq
|
|
141
|
+
|
|
142
|
+
# Pretty printed, even though it is piped
|
|
143
|
+
seam devices list --no-json | less
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Without a terminal to prompt on, the CLI behaves as though
|
|
147
|
+
`--non-interactive` was given: rather than waiting for an answer nobody can
|
|
148
|
+
give, it exits with an error naming what is missing.
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
$ echo '{}' | seam locks unlock-door
|
|
152
|
+
Missing required parameter for /locks/unlock_door: --device-id
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
An error exits non-zero. A request that fails reports its `error` on stdout,
|
|
156
|
+
so it can be inspected from a pipe; anything else is written to stderr only.
|
|
157
|
+
|
|
158
|
+
## Help
|
|
159
|
+
|
|
160
|
+
Pass `--help` to any command to see what it accepts. Without a command, it
|
|
161
|
+
lists every top level command; with an incomplete command, it lists the
|
|
162
|
+
subcommands under it; with a full command, it documents that command's
|
|
163
|
+
options, marking the required ones.
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Every top level command
|
|
167
|
+
seam --help
|
|
168
|
+
|
|
169
|
+
# The commands under seam devices
|
|
170
|
+
seam devices --help
|
|
171
|
+
|
|
172
|
+
# The options accepted by seam devices list
|
|
173
|
+
seam devices list --help
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Shell completion
|
|
177
|
+
|
|
178
|
+
The CLI can print a completion script for bash, fish, and zsh that completes
|
|
179
|
+
commands, flags, and flag values such as device types.
|
|
180
|
+
|
|
181
|
+
Load completions into the current shell with
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# bash
|
|
185
|
+
source <(seam completion bash)
|
|
186
|
+
|
|
187
|
+
# zsh
|
|
188
|
+
source <(seam completion zsh)
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Install them for every shell with
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# bash
|
|
195
|
+
seam completion bash > /usr/share/bash-completion/completions/seam
|
|
196
|
+
|
|
197
|
+
# fish
|
|
198
|
+
seam completion fish > ~/.config/fish/completions/seam.fish
|
|
199
|
+
|
|
200
|
+
# zsh
|
|
201
|
+
seam completion zsh > "${fpath[1]}/_seam"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
System packages install completion loaders instead: small scripts packaged
|
|
205
|
+
under `completions/` in the published package and attached to each
|
|
206
|
+
[GitHub release]. A loader runs `seam completion` the first time the shell
|
|
207
|
+
completes a seam command, so installed completions always match the CLI's
|
|
208
|
+
current Seam API definitions and never go stale between package updates. The
|
|
209
|
+
`seam-bin` AUR package installs the loaders for all three shells.
|
|
210
|
+
|
|
211
|
+
Completions are generated from the cached Seam API definitions, so they may
|
|
212
|
+
briefly lag a newly released API. Pass `--update` to refresh the cache first,
|
|
213
|
+
e.g., `seam completion bash --update`. They do not reflect definitions served
|
|
214
|
+
by another Seam API server when `seam config use-remote-api-defs` is enabled.
|
|
215
|
+
|
|
216
|
+
[GitHub release]: https://github.com/seamapi/cli/releases/latest
|
|
217
|
+
|
|
100
218
|
## Development and Testing
|
|
101
219
|
|
|
102
220
|
### Quickstart
|
package/bin/cli.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
import { randomBytes } from 'node:crypto';
|
|
3
3
|
import { isDeepStrictEqual as isEqual } from 'node:util';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
5
|
+
import { getCommandSpec } from '../lib/command-spec.js';
|
|
6
|
+
import { completionShells, isCompletionShell, renderCompletion, } from '../lib/completion/index.js';
|
|
7
7
|
import { getConfigStore } from '../lib/config/index.js';
|
|
8
8
|
import { getApiBlueprint } from '../lib/get-api-blueprint.js';
|
|
9
|
+
import { getResponseKey } from '../lib/get-response-key.js';
|
|
9
10
|
import { getServer } from '../lib/get-server.js';
|
|
10
11
|
import { interactForActionAttemptPoll } from '../lib/interact-for-action-attempt-poll.js';
|
|
11
12
|
import { interactForCommandParams } from '../lib/interact-for-command-params.js';
|
|
@@ -14,91 +15,57 @@ import { interactForLogin } from '../lib/interact-for-login.js';
|
|
|
14
15
|
import { interactForServerSelection } from '../lib/interact-for-server-selection.js';
|
|
15
16
|
import { interactForUseRemoteApiDefs } from '../lib/interact-for-use-remote-api-defs.js';
|
|
16
17
|
import { interactForWorkspaceId } from '../lib/interact-for-workspace-id.js';
|
|
17
|
-
import {
|
|
18
|
+
import { createOutput } from '../lib/output/create-output.js';
|
|
19
|
+
import { getOutput, setOutput } from '../lib/output/get-output.js';
|
|
20
|
+
import { resolveOutputFormat } from '../lib/output/resolve-output-format.js';
|
|
21
|
+
import { renderHelp } from '../lib/render-help.js';
|
|
22
|
+
import { cliFlags, getInteractivity, NonInteractiveError, parseCliArgs, } from '../lib/util/cli-args.js';
|
|
23
|
+
import { canPrompt, prompt } from '../lib/util/prompt.js';
|
|
24
|
+
import { readStdinJson } from '../lib/util/read-stdin-json.js';
|
|
18
25
|
import { RequestSeamApi } from '../lib/util/request-seam-api.js';
|
|
19
26
|
import { validateToken } from '../lib/validate-token.js';
|
|
20
27
|
import seamapiCliVersion from '../lib/version.js';
|
|
21
|
-
const sections = [
|
|
22
|
-
{
|
|
23
|
-
header: 'Seam CLI',
|
|
24
|
-
content: 'Every seam command runs as soon as every required property is given, and otherwise prompts you for what is missing with helpful suggestions. Pass -i to always review properties first, or -y to never be prompted. ',
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
header: 'Options',
|
|
28
|
-
optionList: [
|
|
29
|
-
{
|
|
30
|
-
name: 'help',
|
|
31
|
-
description: 'Display this help guide.',
|
|
32
|
-
alias: 'h',
|
|
33
|
-
type: Boolean,
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: 'interactive',
|
|
37
|
-
description: 'Always prompt to review and edit properties, prefilled with the given arguments.',
|
|
38
|
-
alias: 'i',
|
|
39
|
-
type: Boolean,
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: 'non-interactive',
|
|
43
|
-
description: 'Never prompt: exit with an error if the command or any required property is missing.',
|
|
44
|
-
alias: 'y',
|
|
45
|
-
type: Boolean,
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: 'update',
|
|
49
|
-
description: 'Force an update of the cached Seam API definitions.',
|
|
50
|
-
type: Boolean,
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
header: 'Command List Examples',
|
|
56
|
-
content: [
|
|
57
|
-
{ name: 'seam', summary: 'Interactively select commands to execute.' },
|
|
58
|
-
{ name: 'seam login', summary: 'Login to Seam.' },
|
|
59
|
-
{
|
|
60
|
-
name: 'seam wizard',
|
|
61
|
-
summary: 'Set up Seam in the current project.',
|
|
62
|
-
},
|
|
63
|
-
{ name: 'seam select workspace', summary: 'Select your workspace.' },
|
|
64
|
-
{
|
|
65
|
-
name: 'seam connect-webviews create',
|
|
66
|
-
summary: 'Create a connect webview to connect devices.',
|
|
67
|
-
},
|
|
68
|
-
{ name: 'seam devices list', summary: 'List devices in your workspace.' },
|
|
69
|
-
{
|
|
70
|
-
name: 'seam devices list {bold --interactive}',
|
|
71
|
-
summary: 'Review and edit filters before listing devices.',
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
name: 'seam devices list {bold --non-interactive}',
|
|
75
|
-
summary: 'List devices, failing instead of prompting.',
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
name: 'seam locks unlock-door {bold --device-id} $MY_DOOR',
|
|
79
|
-
summary: 'Unlock a lock.',
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
name: "seam access-codes create {bold --code} '1234' {bold --name} 'My Code'",
|
|
83
|
-
summary: 'Create an access code.',
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
name: 'seam access-codes list {bold --device-id} $MY_DOOR',
|
|
87
|
-
summary: 'List you access codes.',
|
|
88
|
-
},
|
|
89
|
-
],
|
|
90
|
-
},
|
|
91
|
-
];
|
|
92
28
|
async function cli(args) {
|
|
93
29
|
const config = getConfigStore();
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
30
|
+
const output = getOutput();
|
|
31
|
+
const update = args['update'] === true;
|
|
32
|
+
const helpFlag = args['help'] ?? args['h'];
|
|
33
|
+
if (helpFlag != null) {
|
|
34
|
+
// Help comes from the cached API definitions so that it works without
|
|
35
|
+
// logging in, and offline once the cache is warm.
|
|
36
|
+
const spec = getCommandSpec(await getApiBlueprint(false, { update }));
|
|
37
|
+
// minimist reads the word after --help as its value, so 'seam --help
|
|
38
|
+
// devices' asks about devices just as 'seam devices --help' does.
|
|
39
|
+
const commandPath = [
|
|
40
|
+
...args._,
|
|
41
|
+
...(typeof helpFlag === 'string' ? [helpFlag] : []),
|
|
42
|
+
].map(toCommandWord);
|
|
43
|
+
const help = renderHelp(commandPath, spec);
|
|
44
|
+
if (help == null) {
|
|
45
|
+
output.error(chalk.red(`Unknown command: seam ${commandPath.join(' ')}`));
|
|
46
|
+
output.error(`Run 'seam --help' to see the available commands.`);
|
|
47
|
+
process.exitCode = 1;
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
output.text(help);
|
|
97
51
|
return;
|
|
98
52
|
}
|
|
99
53
|
if (args['version']) {
|
|
100
|
-
|
|
101
|
-
|
|
54
|
+
output.text(seamapiCliVersion);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (args._[0] === 'completion') {
|
|
58
|
+
const shell = args._[1];
|
|
59
|
+
if (!isCompletionShell(shell)) {
|
|
60
|
+
output.error(`Usage: seam completion <${completionShells.join('|')}>`);
|
|
61
|
+
process.exitCode = 1;
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Completions always come from the cached API definitions so that they
|
|
65
|
+
// can be generated without logging in. They may lag the definitions
|
|
66
|
+
// served by Seam when config use-remote-api-defs is enabled.
|
|
67
|
+
output.text(renderCompletion(shell, await getApiBlueprint(false, { update })));
|
|
68
|
+
return;
|
|
102
69
|
}
|
|
103
70
|
if (args._[0] === 'config' &&
|
|
104
71
|
args._[1] === 'set' &&
|
|
@@ -106,31 +73,32 @@ async function cli(args) {
|
|
|
106
73
|
const randomstring = randomBytes(5).toString('hex');
|
|
107
74
|
const fakeApiUrl = `https://${randomstring}.fakeseamconnect.seam.vc`;
|
|
108
75
|
config.set('server', fakeApiUrl);
|
|
109
|
-
|
|
76
|
+
output.info(`Server URL set to ${fakeApiUrl}`);
|
|
110
77
|
config.set(`${getServer()}.pat`, `seam_apikey1_token`);
|
|
111
|
-
|
|
78
|
+
output.info(`PAT set to use fakeseamconnect with "seam_apikey1_token"`);
|
|
112
79
|
return;
|
|
113
80
|
}
|
|
114
81
|
if (!config.get(`${getServer()}.pat`) &&
|
|
115
82
|
args._[0] !== 'login' &&
|
|
116
83
|
!isEqual(args._, ['select', 'server'])) {
|
|
117
|
-
|
|
118
|
-
process.
|
|
84
|
+
output.error(`Not logged in. Please run "seam login"`);
|
|
85
|
+
process.exitCode = 1;
|
|
86
|
+
return;
|
|
119
87
|
}
|
|
120
|
-
args._ = args._.map(
|
|
88
|
+
args._ = args._.map(toCommandWord);
|
|
121
89
|
for (const k in args) {
|
|
122
90
|
args[k.toLowerCase().replace(/-/g, '_')] = args[k];
|
|
123
91
|
}
|
|
124
92
|
const use_remote_api_defs = args['remote_api_defs'] ?? config.get('use_remote_api_defs');
|
|
125
|
-
const update = args['update'] === true;
|
|
126
|
-
delete args['update'];
|
|
127
93
|
const blueprint = await getApiBlueprint(use_remote_api_defs ?? false, {
|
|
128
94
|
update,
|
|
129
95
|
});
|
|
130
|
-
|
|
96
|
+
// Params piped or redirected in, e.g., `seam devices list < params.json`.
|
|
97
|
+
// Params given as arguments take precedence over these.
|
|
98
|
+
const commandParams = { ...(await readStdinJson()) };
|
|
131
99
|
const ctx = {
|
|
132
100
|
blueprint,
|
|
133
|
-
interactivity: getInteractivity(args),
|
|
101
|
+
interactivity: getInteractivity(args, { canPrompt: canPrompt() }),
|
|
134
102
|
};
|
|
135
103
|
const isNonInteractive = ctx.interactivity === 'non-interactive';
|
|
136
104
|
for (const k in args) {
|
|
@@ -140,7 +108,7 @@ async function cli(args) {
|
|
|
140
108
|
delete args[k];
|
|
141
109
|
const key = k.replace(/-/g, '_');
|
|
142
110
|
args[key] = v;
|
|
143
|
-
if (
|
|
111
|
+
if (cliFlags.includes(key))
|
|
144
112
|
continue;
|
|
145
113
|
commandParams[key] = v;
|
|
146
114
|
}
|
|
@@ -170,11 +138,11 @@ async function cli(args) {
|
|
|
170
138
|
}
|
|
171
139
|
else if (isEqual(selectedCommand, ['logout'])) {
|
|
172
140
|
config.delete('pat');
|
|
173
|
-
|
|
141
|
+
output.info('Logged out!');
|
|
174
142
|
return;
|
|
175
143
|
}
|
|
176
144
|
else if (isEqual(selectedCommand, ['config', 'reveal-location'])) {
|
|
177
|
-
|
|
145
|
+
output.text(config.path);
|
|
178
146
|
return;
|
|
179
147
|
}
|
|
180
148
|
else if (isEqual(selectedCommand, ['config', 'use-remote-api-defs'])) {
|
|
@@ -247,19 +215,21 @@ async function cli(args) {
|
|
|
247
215
|
const response = await RequestSeamApi({
|
|
248
216
|
path: apiPath,
|
|
249
217
|
params,
|
|
218
|
+
responseKey: getResponseKey(selectedCommand, ctx),
|
|
250
219
|
});
|
|
251
220
|
if (response.data?.connect_webview) {
|
|
252
221
|
await handleConnectWebviewResponse(response.data.connect_webview, ctx.interactivity);
|
|
253
222
|
}
|
|
254
223
|
if (response.data?.action_attempt && !isNonInteractive) {
|
|
255
|
-
interactForActionAttemptPoll(response.data.action_attempt);
|
|
224
|
+
await interactForActionAttemptPoll(response.data.action_attempt);
|
|
256
225
|
}
|
|
257
226
|
}
|
|
227
|
+
const toCommandWord = (arg) => arg.toLowerCase().replace(/_/g, '-');
|
|
258
228
|
const handleConnectWebviewResponse = async (connect_webview, interactivity) => {
|
|
259
229
|
const url = connect_webview.url;
|
|
260
230
|
if (interactivity !== 'non-interactive' &&
|
|
261
231
|
process.env['INSIDE_WEB_BROWSER'] !== '1') {
|
|
262
|
-
const { action } = await
|
|
232
|
+
const { action } = await prompt({
|
|
263
233
|
type: 'confirm',
|
|
264
234
|
name: 'action',
|
|
265
235
|
message: 'Would you like to open the webview in your browser?',
|
|
@@ -279,16 +249,24 @@ const run = async (argv) => {
|
|
|
279
249
|
});
|
|
280
250
|
return;
|
|
281
251
|
}
|
|
282
|
-
|
|
252
|
+
const args = parseCliArgs(argv);
|
|
253
|
+
const isTty = process.stdout.isTTY === true;
|
|
254
|
+
setOutput(createOutput({
|
|
255
|
+
format: resolveOutputFormat(argv, { isTty }),
|
|
256
|
+
colors: isTty,
|
|
257
|
+
}));
|
|
258
|
+
await cli(args);
|
|
283
259
|
};
|
|
284
260
|
run(process.argv.slice(2)).catch((e) => {
|
|
261
|
+
const output = getOutput();
|
|
262
|
+
process.exitCode = 1;
|
|
285
263
|
if (e instanceof NonInteractiveError) {
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
289
|
-
console.log(chalk.red(`CLI Error: ${e.toString()}\n${e.stack}`));
|
|
290
|
-
if (e.toString().includes('object Object')) {
|
|
291
|
-
console.log(e);
|
|
264
|
+
output.error(chalk.red(e.message));
|
|
265
|
+
return;
|
|
292
266
|
}
|
|
267
|
+
const error = e instanceof Error ? e : new Error(String(e));
|
|
268
|
+
output.error(chalk.red(`CLI Error: ${error.message}`));
|
|
269
|
+
if (error.stack != null)
|
|
270
|
+
output.error(chalk.gray(error.stack));
|
|
293
271
|
});
|
|
294
272
|
//# sourceMappingURL=cli.js.map
|
package/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/bin/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/bin/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# bash completion loader for the seam command.
|
|
2
|
+
#
|
|
3
|
+
# Generated by @seamapi/cli. Loads completions from the CLI on first use, so
|
|
4
|
+
# they always match the CLI's current Seam API definitions. Requires the seam
|
|
5
|
+
# command on PATH. Print the underlying script with 'seam completion bash'.
|
|
6
|
+
#
|
|
7
|
+
# Install to /usr/share/bash-completion/completions/seam
|
|
8
|
+
|
|
9
|
+
if command -v seam > /dev/null 2>&1; then
|
|
10
|
+
eval "$(seam completion bash 2> /dev/null)"
|
|
11
|
+
fi
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# fish completion loader for the seam command.
|
|
2
|
+
#
|
|
3
|
+
# Generated by @seamapi/cli. Loads completions from the CLI on first use, so
|
|
4
|
+
# they always match the CLI's current Seam API definitions. Requires the seam
|
|
5
|
+
# command on PATH. Print the underlying script with 'seam completion fish'.
|
|
6
|
+
#
|
|
7
|
+
# Install to /usr/share/fish/vendor_completions.d/seam.fish
|
|
8
|
+
|
|
9
|
+
if command --query seam
|
|
10
|
+
seam completion fish 2> /dev/null | source
|
|
11
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#compdef seam
|
|
2
|
+
# zsh completion loader for the seam command.
|
|
3
|
+
#
|
|
4
|
+
# Generated by @seamapi/cli. Loads completions from the CLI on first use, so
|
|
5
|
+
# they always match the CLI's current Seam API definitions. Requires the seam
|
|
6
|
+
# command on PATH. Print the underlying script with 'seam completion zsh'.
|
|
7
|
+
#
|
|
8
|
+
# Install to a directory in fpath as _seam
|
|
9
|
+
|
|
10
|
+
# The generated script ends by dispatching on funcstack, so evaluating it
|
|
11
|
+
# while this autoloaded _seam runs both redefines _seam and completes the
|
|
12
|
+
# in-flight request.
|
|
13
|
+
eval "$(seam completion zsh 2> /dev/null)"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Blueprint } from '@seamapi/blueprint';
|
|
2
|
+
export interface CommandFlag {
|
|
3
|
+
/** Long form without the leading `--`, or `null` for short-only flags. */
|
|
4
|
+
long: string | null;
|
|
5
|
+
/** Short form without the leading `-`, or `null` when there is none. */
|
|
6
|
+
short: string | null;
|
|
7
|
+
description: string;
|
|
8
|
+
/** Known values for the flag, used to complete and document its argument. */
|
|
9
|
+
values: string[];
|
|
10
|
+
/** Whether the flag is followed by a value. */
|
|
11
|
+
takesValue: boolean;
|
|
12
|
+
isRequired: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Whether a command is part of the CLI itself or calls a Seam API endpoint.
|
|
16
|
+
*/
|
|
17
|
+
export type CommandKind = 'cli' | 'api';
|
|
18
|
+
export interface CommandDefinition {
|
|
19
|
+
path: string[];
|
|
20
|
+
kind: CommandKind;
|
|
21
|
+
/** One line naming what the command does. */
|
|
22
|
+
title: string;
|
|
23
|
+
/** Longer prose about the command, empty when there is none to add. */
|
|
24
|
+
description: string;
|
|
25
|
+
flags: CommandFlag[];
|
|
26
|
+
}
|
|
27
|
+
export interface Subcommand {
|
|
28
|
+
name: string;
|
|
29
|
+
/** 'api' when the name holds any command that calls the Seam API. */
|
|
30
|
+
kind: CommandKind;
|
|
31
|
+
description: string;
|
|
32
|
+
}
|
|
33
|
+
export interface CommandGroup {
|
|
34
|
+
/** Command path completed by this group, empty for `seam` itself. */
|
|
35
|
+
path: string[];
|
|
36
|
+
subcommands: Subcommand[];
|
|
37
|
+
}
|
|
38
|
+
export interface CommandSpec {
|
|
39
|
+
/** Every invocable command, sorted by command path. */
|
|
40
|
+
commands: CommandDefinition[];
|
|
41
|
+
/** Every incomplete command path, sorted by command path. */
|
|
42
|
+
groups: CommandGroup[];
|
|
43
|
+
/** Flags accepted regardless of the command. */
|
|
44
|
+
globalFlags: CommandFlag[];
|
|
45
|
+
}
|
|
46
|
+
export declare const globalFlags: CommandFlag[];
|
|
47
|
+
export declare const flagTokens: (flag: CommandFlag) => string[];
|
|
48
|
+
export declare const getCommandSpec: (blueprint: Blueprint) => CommandSpec;
|
|
49
|
+
export declare const findCommand: (spec: CommandSpec, path: string[]) => CommandDefinition | undefined;
|
|
50
|
+
export declare const findGroup: (spec: CommandSpec, path: string[]) => CommandGroup | undefined;
|
|
51
|
+
/** Reduce documentation markdown to a single line of prose. */
|
|
52
|
+
export declare const toPlainText: (markdown: string) => string;
|
|
53
|
+
export declare const firstSentence: (text: string) => string;
|