@seamapi/cli 0.8.0 → 0.10.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 +25 -6
- package/bin/cli.js +61 -15
- package/bin/cli.js.map +1 -1
- package/lib/blueprint.d.ts +2 -1
- package/lib/blueprint.js +171 -26
- package/lib/blueprint.js.map +1 -1
- package/lib/get-api-blueprint.d.ts +4 -1
- package/lib/get-api-blueprint.js +3 -4
- package/lib/get-api-blueprint.js.map +1 -1
- package/lib/interact-for-blueprint-object.js +12 -2
- package/lib/interact-for-blueprint-object.js.map +1 -1
- package/lib/interact-for-command-selection.js +15 -0
- package/lib/interact-for-command-selection.js.map +1 -1
- package/lib/types.d.ts +2 -1
- package/lib/util/cli-args.d.ts +30 -0
- package/lib/util/cli-args.js +42 -0
- package/lib/util/cli-args.js.map +1 -0
- package/lib/version.d.ts +3 -1
- package/lib/version.js +4 -1
- package/lib/version.js.map +1 -1
- package/package.json +4 -3
- package/src/bin/cli.ts +88 -16
- package/src/lib/blueprint.ts +228 -28
- package/src/lib/get-api-blueprint.ts +7 -3
- package/src/lib/interact-for-blueprint-object.ts +18 -2
- package/src/lib/interact-for-command-selection.ts +21 -0
- package/src/lib/types.ts +2 -1
- package/src/lib/util/cli-args.ts +62 -0
- package/src/lib/version.ts +4 -1
package/README.md
CHANGED
|
@@ -9,9 +9,9 @@ A command line interface (CLI) for interacting with the Seam API.
|
|
|
9
9
|
|
|
10
10
|
## Description
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
Commands run as soon as every required parameter is given. Anything missing is
|
|
13
|
+
prompted for, with suggestions pulled from your workspace. Pass
|
|
14
|
+
`--non-interactive` (or `-y`) to never be prompted: the command fails instead.
|
|
15
15
|
|
|
16
16
|
## Installation
|
|
17
17
|
|
|
@@ -37,9 +37,19 @@ $ paru -S seam-bin
|
|
|
37
37
|
|
|
38
38
|
## Usage
|
|
39
39
|
|
|
40
|
-
Every `seam` command
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
Every `seam` command makes its request as soon as every required property is
|
|
41
|
+
given. When something is missing, the CLI prompts you for it with helpful
|
|
42
|
+
suggestions.
|
|
43
|
+
|
|
44
|
+
Pass `--interactive` (or `-i`) to always be prompted to review and edit
|
|
45
|
+
properties before the request is made. The prompt is prefilled with whatever
|
|
46
|
+
you passed as arguments, so this is the way to add optional properties, or to
|
|
47
|
+
check a request before making it.
|
|
48
|
+
|
|
49
|
+
For scripts and CI, pass `--non-interactive` (or `-y`) to never be prompted.
|
|
50
|
+
The command must then be complete: if the command itself is ambiguous, or any
|
|
51
|
+
required property is missing, the CLI exits with an error naming what is
|
|
52
|
+
missing instead of asking for it.
|
|
43
53
|
|
|
44
54
|
To take a project from zero to a working Seam integration, run the
|
|
45
55
|
[Seam Wizard] from the project's root:
|
|
@@ -66,6 +76,15 @@ seam connect-webviews create
|
|
|
66
76
|
# List devices in your workspace
|
|
67
77
|
seam devices list
|
|
68
78
|
|
|
79
|
+
# Review and edit filters before listing devices
|
|
80
|
+
seam devices list --interactive
|
|
81
|
+
|
|
82
|
+
# List devices, failing instead of prompting
|
|
83
|
+
seam devices list --non-interactive
|
|
84
|
+
|
|
85
|
+
# Fails with: Missing required parameter for /locks/unlock_door: --device-id
|
|
86
|
+
seam locks unlock-door --non-interactive
|
|
87
|
+
|
|
69
88
|
MY_DOOR=$(seam devices get --name "Front Door" --id-only)
|
|
70
89
|
|
|
71
90
|
# Unlock a lock
|
package/bin/cli.js
CHANGED
|
@@ -3,7 +3,6 @@ import { randomBytes } from 'node:crypto';
|
|
|
3
3
|
import { isDeepStrictEqual as isEqual } from 'node:util';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import commandLineUsage from 'command-line-usage';
|
|
6
|
-
import parseArgs, {} from 'minimist';
|
|
7
6
|
import prompts from 'prompts';
|
|
8
7
|
import { getConfigStore } from '../lib/config/index.js';
|
|
9
8
|
import { getApiBlueprint } from '../lib/get-api-blueprint.js';
|
|
@@ -15,13 +14,14 @@ import { interactForLogin } from '../lib/interact-for-login.js';
|
|
|
15
14
|
import { interactForServerSelection } from '../lib/interact-for-server-selection.js';
|
|
16
15
|
import { interactForUseRemoteApiDefs } from '../lib/interact-for-use-remote-api-defs.js';
|
|
17
16
|
import { interactForWorkspaceId } from '../lib/interact-for-workspace-id.js';
|
|
17
|
+
import { getInteractivity, interactivityFlags, NonInteractiveError, parseCliArgs, } from '../lib/util/cli-args.js';
|
|
18
18
|
import { RequestSeamApi } from '../lib/util/request-seam-api.js';
|
|
19
19
|
import { validateToken } from '../lib/validate-token.js';
|
|
20
20
|
import seamapiCliVersion from '../lib/version.js';
|
|
21
21
|
const sections = [
|
|
22
22
|
{
|
|
23
23
|
header: 'Seam CLI',
|
|
24
|
-
content: 'Every seam command is
|
|
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
25
|
},
|
|
26
26
|
{
|
|
27
27
|
header: 'Options',
|
|
@@ -32,6 +32,23 @@ const sections = [
|
|
|
32
32
|
alias: 'h',
|
|
33
33
|
type: Boolean,
|
|
34
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
|
+
},
|
|
35
52
|
],
|
|
36
53
|
},
|
|
37
54
|
{
|
|
@@ -49,6 +66,14 @@ const sections = [
|
|
|
49
66
|
summary: 'Create a connect webview to connect devices.',
|
|
50
67
|
},
|
|
51
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
|
+
},
|
|
52
77
|
{
|
|
53
78
|
name: 'seam locks unlock-door {bold --device-id} $MY_DOOR',
|
|
54
79
|
summary: 'Unlock a lock.',
|
|
@@ -97,23 +122,27 @@ async function cli(args) {
|
|
|
97
122
|
args[k.toLowerCase().replace(/-/g, '_')] = args[k];
|
|
98
123
|
}
|
|
99
124
|
const use_remote_api_defs = args['remote_api_defs'] ?? config.get('use_remote_api_defs');
|
|
100
|
-
const
|
|
125
|
+
const update = args['update'] === true;
|
|
126
|
+
delete args['update'];
|
|
127
|
+
const blueprint = await getApiBlueprint(use_remote_api_defs ?? false, {
|
|
128
|
+
update,
|
|
129
|
+
});
|
|
101
130
|
const commandParams = {};
|
|
102
|
-
/**
|
|
103
|
-
* Whether or not to auto-select first option
|
|
104
|
-
*/
|
|
105
|
-
const is_interactive = args['y'] !== true;
|
|
106
131
|
const ctx = {
|
|
107
132
|
blueprint,
|
|
108
|
-
|
|
133
|
+
interactivity: getInteractivity(args),
|
|
109
134
|
};
|
|
135
|
+
const isNonInteractive = ctx.interactivity === 'non-interactive';
|
|
110
136
|
for (const k in args) {
|
|
111
137
|
if (k === '_')
|
|
112
138
|
continue;
|
|
113
139
|
const v = args[k];
|
|
114
140
|
delete args[k];
|
|
115
|
-
|
|
116
|
-
|
|
141
|
+
const key = k.replace(/-/g, '_');
|
|
142
|
+
args[key] = v;
|
|
143
|
+
if (interactivityFlags.includes(key))
|
|
144
|
+
continue;
|
|
145
|
+
commandParams[key] = v;
|
|
117
146
|
}
|
|
118
147
|
const selectedCommand = await interactForCommandSelection(args._, ctx);
|
|
119
148
|
if (isEqual(selectedCommand, ['login'])) {
|
|
@@ -133,6 +162,9 @@ async function cli(args) {
|
|
|
133
162
|
if (args['token'] || args['workspace_id'] || args['server']) {
|
|
134
163
|
return;
|
|
135
164
|
}
|
|
165
|
+
if (isNonInteractive) {
|
|
166
|
+
throw new NonInteractiveError('Missing required parameter for login: --token');
|
|
167
|
+
}
|
|
136
168
|
await interactForLogin();
|
|
137
169
|
return;
|
|
138
170
|
}
|
|
@@ -146,10 +178,16 @@ async function cli(args) {
|
|
|
146
178
|
return;
|
|
147
179
|
}
|
|
148
180
|
else if (isEqual(selectedCommand, ['config', 'use-remote-api-defs'])) {
|
|
181
|
+
if (isNonInteractive) {
|
|
182
|
+
throw new NonInteractiveError('Cannot select whether to use remote API definitions in non-interactive mode');
|
|
183
|
+
}
|
|
149
184
|
await interactForUseRemoteApiDefs();
|
|
150
185
|
return;
|
|
151
186
|
}
|
|
152
187
|
else if (isEqual(selectedCommand, ['select', 'workspace'])) {
|
|
188
|
+
if (isNonInteractive) {
|
|
189
|
+
throw new NonInteractiveError('Cannot select a workspace in non-interactive mode: pass --workspace-id to "seam login"');
|
|
190
|
+
}
|
|
153
191
|
await interactForWorkspaceId();
|
|
154
192
|
return;
|
|
155
193
|
}
|
|
@@ -166,6 +204,9 @@ async function cli(args) {
|
|
|
166
204
|
config.delete('current_workspace_id');
|
|
167
205
|
return;
|
|
168
206
|
}
|
|
207
|
+
if (isNonInteractive) {
|
|
208
|
+
throw new NonInteractiveError('Missing required parameter for select server: --server');
|
|
209
|
+
}
|
|
169
210
|
await interactForServerSelection();
|
|
170
211
|
return;
|
|
171
212
|
}
|
|
@@ -208,15 +249,16 @@ async function cli(args) {
|
|
|
208
249
|
params,
|
|
209
250
|
});
|
|
210
251
|
if (response.data?.connect_webview) {
|
|
211
|
-
await handleConnectWebviewResponse(response.data.connect_webview);
|
|
252
|
+
await handleConnectWebviewResponse(response.data.connect_webview, ctx.interactivity);
|
|
212
253
|
}
|
|
213
|
-
if (response.data?.action_attempt) {
|
|
254
|
+
if (response.data?.action_attempt && !isNonInteractive) {
|
|
214
255
|
interactForActionAttemptPoll(response.data.action_attempt);
|
|
215
256
|
}
|
|
216
257
|
}
|
|
217
|
-
const handleConnectWebviewResponse = async (connect_webview) => {
|
|
258
|
+
const handleConnectWebviewResponse = async (connect_webview, interactivity) => {
|
|
218
259
|
const url = connect_webview.url;
|
|
219
|
-
if (
|
|
260
|
+
if (interactivity !== 'non-interactive' &&
|
|
261
|
+
process.env['INSIDE_WEB_BROWSER'] !== '1') {
|
|
220
262
|
const { action } = await prompts({
|
|
221
263
|
type: 'confirm',
|
|
222
264
|
name: 'action',
|
|
@@ -237,9 +279,13 @@ const run = async (argv) => {
|
|
|
237
279
|
});
|
|
238
280
|
return;
|
|
239
281
|
}
|
|
240
|
-
await cli(
|
|
282
|
+
await cli(parseCliArgs(argv));
|
|
241
283
|
};
|
|
242
284
|
run(process.argv.slice(2)).catch((e) => {
|
|
285
|
+
if (e instanceof NonInteractiveError) {
|
|
286
|
+
console.log(chalk.red(e.message));
|
|
287
|
+
process.exit(1);
|
|
288
|
+
}
|
|
243
289
|
console.log(chalk.red(`CLI Error: ${e.toString()}\n${e.stack}`));
|
|
244
290
|
if (e.toString().includes('object Object')) {
|
|
245
291
|
console.log(e);
|
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,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/bin/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAA;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,OAAO,EACL,gBAAgB,EAEhB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,iBAAiB,MAAM,gBAAgB,CAAA;AAE9C,MAAM,QAAQ,GAAG;IACf;QACE,MAAM,EAAE,UAAU;QAClB,OAAO,EACL,sNAAsN;KACzN;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,0BAA0B;gBACvC,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,OAAO;aACd;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EACT,kFAAkF;gBACpF,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,OAAO;aACd;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EACT,sFAAsF;gBACxF,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,OAAO;aACd;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;gBAClE,IAAI,EAAE,OAAO;aACd;SACF;KACF;IACD;QACE,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2CAA2C,EAAE;YACtE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE;YACjD;gBACE,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,qCAAqC;aAC/C;YACD,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,wBAAwB,EAAE;YACpE;gBACE,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE,8CAA8C;aACxD;YACD,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,iCAAiC,EAAE;YACzE;gBACE,IAAI,EAAE,wCAAwC;gBAC9C,OAAO,EAAE,iDAAiD;aAC3D;YACD;gBACE,IAAI,EAAE,4CAA4C;gBAClD,OAAO,EAAE,6CAA6C;aACvD;YACD;gBACE,IAAI,EAAE,oDAAoD;gBAC1D,OAAO,EAAE,gBAAgB;aAC1B;YACD;gBACE,IAAI,EAAE,uEAAuE;gBAC7E,OAAO,EAAE,wBAAwB;aAClC;YACD;gBACE,IAAI,EAAE,oDAAoD;gBAC1D,OAAO,EAAE,wBAAwB;aAClC;SACF;KACF;CACF,CAAA;AAED,KAAK,UAAU,GAAG,CAAC,IAAgB;IACjC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAE/B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClB,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IACE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;QACtB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK;QACnB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,EAC3B,CAAC;QACD,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,WAAW,YAAY,0BAA0B,CAAA;QAEpE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAChC,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAA;QAE9C,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;QACvE,OAAM;IACR,CAAC;IAED,IACE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO;QACrB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EACtC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;IAClE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,mBAAmB,GACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAE9D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA;IACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA;IAErB,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,mBAAmB,IAAI,KAAK,EAAE;QACpE,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,aAAa,GAAwB,EAAE,CAAA;IAE7C,MAAM,GAAG,GAAmB;QAC1B,SAAS;QACT,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC;KACtC,CAAA;IAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,KAAK,iBAAiB,CAAA;IAEhE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG;YAAE,SAAQ;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;QACd,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC9C,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACtE,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;YACpC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;QACvC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAC1C,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;QACvC,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,OAAM;QACR,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAmB,CAC3B,+CAA+C,CAChD,CAAA;QACH,CAAC;QACD,MAAM,gBAAgB,EAAE,CAAA;QACxB,OAAM;IACR,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC1B,OAAM;IACR,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxB,OAAM;IACR,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC;QACvE,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAmB,CAC3B,6EAA6E,CAC9E,CAAA;QACH,CAAC;QACD,MAAM,2BAA2B,EAAE,CAAA;QACnC,OAAM;IACR,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QAC7D,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAmB,CAC3B,wFAAwF,CACzF,CAAA;QACH,CAAC;QACD,MAAM,sBAAsB,EAAE,CAAA;QAC9B,OAAM;IACR,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;YAClC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;YACpC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;YACrC,OAAM;QACR,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAmB,CAC3B,wDAAwD,CACzD,CAAA;QACH,CAAC;QACD,MAAM,0BAA0B,EAAE,CAAA;QAClC,OAAM;IACR,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,cAAc,CAAC;YACnB,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;QAEF,OAAM;IACR,CAAC;IACD,oEAAoE;IACpE,yCAAyC;IACzC,IAAI,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACxC,aAAa,CAAC,oBAAoB,CAAC;YACjC,aAAa,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClD,CAAC;IAED,4DAA4D;IAC5D,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,MAAM,GAAG,CAAC;YACf,GAAG,IAAI;YACP,CAAC,EAAE,EAAE;SACN,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAC3C,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,EACnD,GAAG,CACJ,CAAA;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,CAAC,GAAG,eAAe,CAAC,CAAA;QAC7C,gBAAgB,CAAC,GAAG,EAAE,CAAA;QACtB,OAAO,MAAM,GAAG,CAAC;YACf,GAAG,IAAI;YACP,CAAC,EAAE,gBAAgB;SACpB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAA;IAElE,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;QACpC,IAAI,EAAE,OAAO;QACb,MAAM;KACP,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC;QACnC,MAAM,4BAA4B,CAChC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAC7B,GAAG,CAAC,aAAa,CAClB,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,EAAE,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvD,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,4BAA4B,GAAG,KAAK,EACxC,eAAoB,EACpB,aAA4B,EAC5B,EAAE;IACF,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAA;IAE/B,IACE,aAAa,KAAK,iBAAiB;QACnC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,GAAG,EACzC,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;YAC/B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,qDAAqD;SAC/D,CAAC,CAAA;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;YAC9C,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,GAAG,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;IACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC3D,MAAM,MAAM,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACnB,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACrC,IAAI,CAAC,YAAY,mBAAmB,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;AACH,CAAC,CAAC,CAAA"}
|
package/lib/blueprint.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Blueprint } from '@seamapi/blueprint';
|
|
2
2
|
interface GetBlueprintOptions {
|
|
3
|
-
|
|
3
|
+
update?: boolean;
|
|
4
|
+
cacheDirectory?: string;
|
|
4
5
|
}
|
|
5
6
|
declare const getBlueprint: (options?: GetBlueprintOptions) => Promise<Blueprint>;
|
|
6
7
|
export default getBlueprint;
|