@basis-theory-labs/cli 2.1.0 → 3.0.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 +32 -28
- package/dist/commands/proxies/create.d.ts +2 -2
- package/dist/commands/proxies/create.js +2 -2
- package/dist/commands/proxies/update.d.ts +2 -2
- package/dist/commands/proxies/update.js +5 -5
- package/dist/commands/reactors/create.d.ts +1 -1
- package/dist/commands/reactors/create.js +3 -3
- package/dist/commands/reactors/update.d.ts +1 -1
- package/dist/commands/reactors/update.js +3 -3
- package/dist/proxies/runtime.js +1 -1
- package/dist/proxies/utils.d.ts +2 -2
- package/dist/proxies/utils.js +4 -4
- package/dist/reactors/utils.d.ts +1 -1
- package/dist/runtime/flags.d.ts +1 -1
- package/dist/runtime/flags.js +2 -2
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +2 -1
- package/dist/runtime/state.js +20 -1
- package/dist/runtime/utils.d.ts +10 -5
- package/dist/runtime/utils.js +56 -17
- package/oclif.manifest.json +23 -23
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ $ npm install -g @basis-theory-labs/cli
|
|
|
19
19
|
$ bt COMMAND
|
|
20
20
|
running command...
|
|
21
21
|
$ bt (--version)
|
|
22
|
-
@basis-theory-labs/cli/
|
|
22
|
+
@basis-theory-labs/cli/3.0.0 linux-x64 node-v18.20.8
|
|
23
23
|
$ bt --help [COMMAND]
|
|
24
24
|
USAGE
|
|
25
25
|
$ bt COMMAND
|
|
@@ -62,7 +62,7 @@ EXAMPLES
|
|
|
62
62
|
$ bt applications
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
_See code: [dist/commands/applications/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/
|
|
65
|
+
_See code: [dist/commands/applications/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/v3.0.0/dist/commands/applications/index.ts)_
|
|
66
66
|
|
|
67
67
|
## `bt applications create`
|
|
68
68
|
|
|
@@ -151,7 +151,7 @@ EXAMPLES
|
|
|
151
151
|
$ bt proxies
|
|
152
152
|
```
|
|
153
153
|
|
|
154
|
-
_See code: [dist/commands/proxies/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/
|
|
154
|
+
_See code: [dist/commands/proxies/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/v3.0.0/dist/commands/proxies/index.ts)_
|
|
155
155
|
|
|
156
156
|
## `bt proxies create`
|
|
157
157
|
|
|
@@ -160,10 +160,10 @@ Creates a new Pre-Configured Proxy. Requires `proxy:create` Management Applicati
|
|
|
160
160
|
```
|
|
161
161
|
USAGE
|
|
162
162
|
$ bt proxies create -x <value> [-n <value>] [-u <value>] [-q <value>] [-s <value>] [-i <value>] [-c <value>] [-a]
|
|
163
|
-
[--request-transform-image node-bt|node22] [--request-transform-
|
|
163
|
+
[--request-transform-image node-bt|node22] [--request-transform-package-json <value>] [--request-transform-timeout
|
|
164
164
|
<value>] [--request-transform-warm-concurrency <value>] [--request-transform-resources standard|large|xlarge]
|
|
165
165
|
[--request-transform-permissions <value>] [--response-transform-image node-bt|node22]
|
|
166
|
-
[--response-transform-
|
|
166
|
+
[--response-transform-package-json <value>] [--response-transform-timeout <value>]
|
|
167
167
|
[--response-transform-warm-concurrency <value>] [--response-transform-resources standard|large|xlarge]
|
|
168
168
|
[--response-transform-permissions <value>] [--async]
|
|
169
169
|
|
|
@@ -179,19 +179,21 @@ FLAGS
|
|
|
179
179
|
-x, --management-key=<value> (required) management key used for connecting with the reactor / proxy
|
|
180
180
|
--async do not wait for proxy to be ready (requires at least one transform with
|
|
181
181
|
node22)
|
|
182
|
-
--request-transform-dependencies=<value> path to JSON file with npm dependencies, e.g. {"axios": "1.7.9",
|
|
183
|
-
"lodash": "4.17.21"} (node22 only)
|
|
184
182
|
--request-transform-image=<option> request-transform runtime image (node-bt|node22)
|
|
185
183
|
<options: node-bt|node22>
|
|
184
|
+
--request-transform-package-json=<value> path to runtime package.json JSON file (top-level dependencies
|
|
185
|
+
required; supports resolutions or overrides fallback; pinned versions
|
|
186
|
+
required) (node22 only)
|
|
186
187
|
--request-transform-permissions=<value>... request-transform permission to grant, repeatable (node22 only)
|
|
187
188
|
--request-transform-resources=<option> request-transform resource tier (node22 only)
|
|
188
189
|
<options: standard|large|xlarge>
|
|
189
190
|
--request-transform-timeout=<value> request-transform timeout in seconds, 1-30 (node22 only)
|
|
190
191
|
--request-transform-warm-concurrency=<value> request-transform warm concurrency, 0-1 (node22 only)
|
|
191
|
-
--response-transform-dependencies=<value> path to JSON file with npm dependencies, e.g. {"axios": "1.7.9",
|
|
192
|
-
"lodash": "4.17.21"} (node22 only)
|
|
193
192
|
--response-transform-image=<option> response-transform runtime image (node-bt|node22)
|
|
194
193
|
<options: node-bt|node22>
|
|
194
|
+
--response-transform-package-json=<value> path to runtime package.json JSON file (top-level dependencies
|
|
195
|
+
required; supports resolutions or overrides fallback; pinned versions
|
|
196
|
+
required) (node22 only)
|
|
195
197
|
--response-transform-permissions=<value>... response-transform permission to grant, repeatable (node22 only)
|
|
196
198
|
--response-transform-resources=<option> response-transform resource tier (node22 only)
|
|
197
199
|
<options: standard|large|xlarge>
|
|
@@ -222,10 +224,10 @@ EXAMPLES
|
|
|
222
224
|
$ bt proxies create --name "My Proxy" --destination-url https://api.example.com --configuration ./config.env \
|
|
223
225
|
--require-auth --request-transform-code ./request.js --request-transform-image node22 \
|
|
224
226
|
--request-transform-timeout 10 --request-transform-warm-concurrency 0 --request-transform-resources standard \
|
|
225
|
-
--request-transform-
|
|
227
|
+
--request-transform-package-json ./request/package.json --request-transform-permissions token:read \
|
|
226
228
|
--response-transform-code ./response.js --response-transform-image node22 --response-transform-timeout 10 \
|
|
227
229
|
--response-transform-warm-concurrency 0 --response-transform-resources standard \
|
|
228
|
-
--response-transform-
|
|
230
|
+
--response-transform-package-json ./response/package.json --response-transform-permissions token:read
|
|
229
231
|
```
|
|
230
232
|
|
|
231
233
|
## `bt proxies delete ID`
|
|
@@ -283,10 +285,10 @@ Updates an existing Pre-Configured Proxy. Requires `proxy:update` Management App
|
|
|
283
285
|
```
|
|
284
286
|
USAGE
|
|
285
287
|
$ bt proxies update ID -x <value> [-n <value>] [-u <value>] [-q <value>] [-s <value>] [-i <value>] [-c <value>]
|
|
286
|
-
[-a] [--request-transform-image node-bt|node22] [--request-transform-
|
|
288
|
+
[-a] [--request-transform-image node-bt|node22] [--request-transform-package-json <value>]
|
|
287
289
|
[--request-transform-timeout <value>] [--request-transform-warm-concurrency <value>] [--request-transform-resources
|
|
288
290
|
standard|large|xlarge] [--request-transform-permissions <value>] [--response-transform-image node-bt|node22]
|
|
289
|
-
[--response-transform-
|
|
291
|
+
[--response-transform-package-json <value>] [--response-transform-timeout <value>]
|
|
290
292
|
[--response-transform-warm-concurrency <value>] [--response-transform-resources standard|large|xlarge]
|
|
291
293
|
[--response-transform-permissions <value>] [--async] [-w] [-l]
|
|
292
294
|
|
|
@@ -307,19 +309,21 @@ FLAGS
|
|
|
307
309
|
-x, --management-key=<value> (required) management key used for connecting with the reactor / proxy
|
|
308
310
|
--async do not wait for proxy to be ready (requires at least one transform with
|
|
309
311
|
node22)
|
|
310
|
-
--request-transform-dependencies=<value> path to JSON file with npm dependencies, e.g. {"axios": "1.7.9",
|
|
311
|
-
"lodash": "4.17.21"} (node22 only)
|
|
312
312
|
--request-transform-image=<option> request-transform runtime image (node-bt|node22)
|
|
313
313
|
<options: node-bt|node22>
|
|
314
|
+
--request-transform-package-json=<value> path to runtime package.json JSON file (top-level dependencies
|
|
315
|
+
required; supports resolutions or overrides fallback; pinned versions
|
|
316
|
+
required) (node22 only)
|
|
314
317
|
--request-transform-permissions=<value>... request-transform permission to grant, repeatable (node22 only)
|
|
315
318
|
--request-transform-resources=<option> request-transform resource tier (node22 only)
|
|
316
319
|
<options: standard|large|xlarge>
|
|
317
320
|
--request-transform-timeout=<value> request-transform timeout in seconds, 1-30 (node22 only)
|
|
318
321
|
--request-transform-warm-concurrency=<value> request-transform warm concurrency, 0-1 (node22 only)
|
|
319
|
-
--response-transform-dependencies=<value> path to JSON file with npm dependencies, e.g. {"axios": "1.7.9",
|
|
320
|
-
"lodash": "4.17.21"} (node22 only)
|
|
321
322
|
--response-transform-image=<option> response-transform runtime image (node-bt|node22)
|
|
322
323
|
<options: node-bt|node22>
|
|
324
|
+
--response-transform-package-json=<value> path to runtime package.json JSON file (top-level dependencies
|
|
325
|
+
required; supports resolutions or overrides fallback; pinned versions
|
|
326
|
+
required) (node22 only)
|
|
323
327
|
--response-transform-permissions=<value>... response-transform permission to grant, repeatable (node22 only)
|
|
324
328
|
--response-transform-resources=<option> response-transform resource tier (node22 only)
|
|
325
329
|
<options: standard|large|xlarge>
|
|
@@ -349,10 +353,10 @@ EXAMPLES
|
|
|
349
353
|
$ bt proxies update <proxy-id> --name "My Proxy" --destination-url https://api.example.com --configuration \
|
|
350
354
|
./config.env --require-auth --request-transform-code ./request.js --request-transform-image node22 \
|
|
351
355
|
--request-transform-timeout 10 --request-transform-warm-concurrency 0 --request-transform-resources standard \
|
|
352
|
-
--request-transform-
|
|
356
|
+
--request-transform-package-json ./request/package.json --request-transform-permissions token:read \
|
|
353
357
|
--response-transform-code ./response.js --response-transform-image node22 --response-transform-timeout 10 \
|
|
354
358
|
--response-transform-warm-concurrency 0 --response-transform-resources standard \
|
|
355
|
-
--response-transform-
|
|
359
|
+
--response-transform-package-json ./response/package.json --response-transform-permissions token:read
|
|
356
360
|
```
|
|
357
361
|
|
|
358
362
|
## `bt reactors`
|
|
@@ -374,7 +378,7 @@ EXAMPLES
|
|
|
374
378
|
$ bt reactors
|
|
375
379
|
```
|
|
376
380
|
|
|
377
|
-
_See code: [dist/commands/reactors/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/
|
|
381
|
+
_See code: [dist/commands/reactors/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/v3.0.0/dist/commands/reactors/index.ts)_
|
|
378
382
|
|
|
379
383
|
## `bt reactors create`
|
|
380
384
|
|
|
@@ -383,7 +387,7 @@ Creates a new Reactor. Requires `reactor:create` Management Application permissi
|
|
|
383
387
|
```
|
|
384
388
|
USAGE
|
|
385
389
|
$ bt reactors create -x <value> [-n <value>] [-c <value>] [-i <value>] [-r <value>] [--image node-bt|node22]
|
|
386
|
-
[--
|
|
390
|
+
[--package-json <value>] [--timeout <value>] [--warm-concurrency <value>] [--resources standard|large|xlarge]
|
|
387
391
|
[--permissions <value>] [--async]
|
|
388
392
|
|
|
389
393
|
FLAGS
|
|
@@ -393,10 +397,10 @@ FLAGS
|
|
|
393
397
|
-r, --code=<value> path to JavaScript file containing the Reactor code
|
|
394
398
|
-x, --management-key=<value> (required) management key used for connecting with the reactor / proxy
|
|
395
399
|
--async do not wait for resource to be ready (node22 only)
|
|
396
|
-
--dependencies=<value> path to JSON file with npm dependencies, e.g. {"axios": "1.7.9", "lodash": "4.17.21"}
|
|
397
|
-
(node22 only)
|
|
398
400
|
--image=<option> runtime image (node-bt|node22)
|
|
399
401
|
<options: node-bt|node22>
|
|
402
|
+
--package-json=<value> path to runtime package.json JSON file (top-level dependencies required; supports
|
|
403
|
+
resolutions or overrides fallback; pinned versions required) (node22 only)
|
|
400
404
|
--permissions=<value>... permission to grant, repeatable (node22 only)
|
|
401
405
|
--resources=<option> resource tier (node22 only, default: standard)
|
|
402
406
|
<options: standard|large|xlarge>
|
|
@@ -418,7 +422,7 @@ EXAMPLES
|
|
|
418
422
|
Create a reactor with node22 and all runtime options
|
|
419
423
|
|
|
420
424
|
$ bt reactors create --name "My Reactor" --code ./reactor.js --configuration ./config.env --image node22 \
|
|
421
|
-
--timeout 10 --warm-concurrency 0 --resources standard --
|
|
425
|
+
--timeout 10 --warm-concurrency 0 --resources standard --package-json ./package.json --permissions token:read \
|
|
422
426
|
--permissions token:create
|
|
423
427
|
```
|
|
424
428
|
|
|
@@ -477,7 +481,7 @@ Updates an existing Reactor. Requires `reactor:update` Management Application pe
|
|
|
477
481
|
```
|
|
478
482
|
USAGE
|
|
479
483
|
$ bt reactors update ID -x <value> [-n <value>] [-c <value>] [-i <value>] [-r <value>] [--image node-bt|node22]
|
|
480
|
-
[--
|
|
484
|
+
[--package-json <value>] [--timeout <value>] [--warm-concurrency <value>] [--resources standard|large|xlarge]
|
|
481
485
|
[--permissions <value>] [--async] [-w] [-l]
|
|
482
486
|
|
|
483
487
|
ARGUMENTS
|
|
@@ -492,10 +496,10 @@ FLAGS
|
|
|
492
496
|
-w, --watch Watch for changes in informed files
|
|
493
497
|
-x, --management-key=<value> (required) management key used for connecting with the reactor / proxy
|
|
494
498
|
--async do not wait for resource to be ready (node22 only)
|
|
495
|
-
--dependencies=<value> path to JSON file with npm dependencies, e.g. {"axios": "1.7.9", "lodash": "4.17.21"}
|
|
496
|
-
(node22 only)
|
|
497
499
|
--image=<option> runtime image (node-bt|node22)
|
|
498
500
|
<options: node-bt|node22>
|
|
501
|
+
--package-json=<value> path to runtime package.json JSON file (top-level dependencies required; supports
|
|
502
|
+
resolutions or overrides fallback; pinned versions required) (node22 only)
|
|
499
503
|
--permissions=<value>... permission to grant, repeatable (node22 only)
|
|
500
504
|
--resources=<option> resource tier (node22 only, default: standard)
|
|
501
505
|
<options: standard|large|xlarge>
|
|
@@ -517,7 +521,7 @@ EXAMPLES
|
|
|
517
521
|
Update a reactor with node22 and all runtime options
|
|
518
522
|
|
|
519
523
|
$ bt reactors update <reactor-id> --name "My Reactor" --code ./reactor.js --configuration ./config.env --image \
|
|
520
|
-
node22 --timeout 10 --warm-concurrency 0 --resources standard --
|
|
524
|
+
node22 --timeout 10 --warm-concurrency 0 --resources standard --package-json ./package.json --permissions \
|
|
521
525
|
token:read --permissions token:create
|
|
522
526
|
```
|
|
523
527
|
<!-- commandsstop -->
|
|
@@ -15,13 +15,13 @@ export default class Create extends BaseCommand {
|
|
|
15
15
|
configuration: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
16
16
|
'require-auth': import("@oclif/core/lib/interfaces/parser").BooleanFlag<boolean>;
|
|
17
17
|
'request-transform-image': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
18
|
-
'request-transform-
|
|
18
|
+
'request-transform-package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
19
19
|
'request-transform-timeout': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
20
20
|
'request-transform-warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
21
21
|
'request-transform-resources': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
22
22
|
'request-transform-permissions': import("@oclif/core/lib/interfaces/parser").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
23
23
|
'response-transform-image': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
24
|
-
'response-transform-
|
|
24
|
+
'response-transform-package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
25
25
|
'response-transform-timeout': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
26
26
|
'response-transform-warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
27
27
|
'response-transform-resources': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
@@ -116,14 +116,14 @@ Create.examples = [
|
|
|
116
116
|
'--request-transform-timeout 10 ' +
|
|
117
117
|
'--request-transform-warm-concurrency 0 ' +
|
|
118
118
|
'--request-transform-resources standard ' +
|
|
119
|
-
'--request-transform-
|
|
119
|
+
'--request-transform-package-json ./request/package.json ' +
|
|
120
120
|
'--request-transform-permissions token:read ' +
|
|
121
121
|
'--response-transform-code ./response.js ' +
|
|
122
122
|
'--response-transform-image node22 ' +
|
|
123
123
|
'--response-transform-timeout 10 ' +
|
|
124
124
|
'--response-transform-warm-concurrency 0 ' +
|
|
125
125
|
'--response-transform-resources standard ' +
|
|
126
|
-
'--response-transform-
|
|
126
|
+
'--response-transform-package-json ./response/package.json ' +
|
|
127
127
|
'--response-transform-permissions token:read',
|
|
128
128
|
},
|
|
129
129
|
];
|
|
@@ -17,13 +17,13 @@ export default class Update extends BaseCommand {
|
|
|
17
17
|
configuration: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
18
18
|
'require-auth': import("@oclif/core/lib/interfaces/parser").BooleanFlag<boolean>;
|
|
19
19
|
'request-transform-image': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
20
|
-
'request-transform-
|
|
20
|
+
'request-transform-package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
21
21
|
'request-transform-timeout': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
22
22
|
'request-transform-warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
23
23
|
'request-transform-resources': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
24
24
|
'request-transform-permissions': import("@oclif/core/lib/interfaces/parser").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
25
25
|
'response-transform-image': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
26
|
-
'response-transform-
|
|
26
|
+
'response-transform-package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
27
27
|
'response-transform-timeout': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
28
28
|
'response-transform-warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
29
29
|
'response-transform-resources': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
@@ -12,11 +12,11 @@ class Update extends base_1.BaseCommand {
|
|
|
12
12
|
async run() {
|
|
13
13
|
var _a, _b;
|
|
14
14
|
const { bt, args: { id }, flags, metadata, } = await this.parse(Update);
|
|
15
|
-
const { name, 'destination-url': destinationUrl, 'response-transform-code': responseTransformCode, 'request-transform-code': requestTransformCode, 'application-id': applicationId, configuration, 'require-auth': requireAuth, 'request-transform-image': requestTransformImage, 'request-transform-
|
|
15
|
+
const { name, 'destination-url': destinationUrl, 'response-transform-code': responseTransformCode, 'request-transform-code': requestTransformCode, 'application-id': applicationId, configuration, 'require-auth': requireAuth, 'request-transform-image': requestTransformImage, 'request-transform-package-json': requestTransformPackageJson, 'request-transform-timeout': requestTransformTimeout, 'request-transform-warm-concurrency': requestTransformWarmConcurrency, 'request-transform-resources': requestTransformResources, 'request-transform-permissions': requestTransformPermissions, 'response-transform-image': responseTransformImage, 'response-transform-package-json': responseTransformPackageJson, 'response-transform-timeout': responseTransformTimeout, 'response-transform-warm-concurrency': responseTransformWarmConcurrency, 'response-transform-resources': responseTransformResources, 'response-transform-permissions': responseTransformPermissions, async: asyncFlag, watch, logs, } = flags;
|
|
16
16
|
(0, runtime_1.validateProxyApplicationId)(applicationId, flags);
|
|
17
17
|
const requestTransformRuntime = (0, runtime_2.buildRuntime)({
|
|
18
18
|
image: requestTransformImage,
|
|
19
|
-
|
|
19
|
+
packageJson: requestTransformPackageJson,
|
|
20
20
|
timeout: requestTransformTimeout,
|
|
21
21
|
warmConcurrency: requestTransformWarmConcurrency,
|
|
22
22
|
resources: requestTransformResources,
|
|
@@ -24,7 +24,7 @@ class Update extends base_1.BaseCommand {
|
|
|
24
24
|
});
|
|
25
25
|
const responseTransformRuntime = (0, runtime_2.buildRuntime)({
|
|
26
26
|
image: responseTransformImage,
|
|
27
|
-
|
|
27
|
+
packageJson: responseTransformPackageJson,
|
|
28
28
|
timeout: responseTransformTimeout,
|
|
29
29
|
warmConcurrency: responseTransformWarmConcurrency,
|
|
30
30
|
resources: responseTransformResources,
|
|
@@ -105,14 +105,14 @@ Update.examples = [
|
|
|
105
105
|
'--request-transform-timeout 10 ' +
|
|
106
106
|
'--request-transform-warm-concurrency 0 ' +
|
|
107
107
|
'--request-transform-resources standard ' +
|
|
108
|
-
'--request-transform-
|
|
108
|
+
'--request-transform-package-json ./request/package.json ' +
|
|
109
109
|
'--request-transform-permissions token:read ' +
|
|
110
110
|
'--response-transform-code ./response.js ' +
|
|
111
111
|
'--response-transform-image node22 ' +
|
|
112
112
|
'--response-transform-timeout 10 ' +
|
|
113
113
|
'--response-transform-warm-concurrency 0 ' +
|
|
114
114
|
'--response-transform-resources standard ' +
|
|
115
|
-
'--response-transform-
|
|
115
|
+
'--response-transform-package-json ./response/package.json ' +
|
|
116
116
|
'--response-transform-permissions token:read',
|
|
117
117
|
},
|
|
118
118
|
];
|
|
@@ -7,7 +7,7 @@ export default class Create extends BaseCommand {
|
|
|
7
7
|
}[];
|
|
8
8
|
static flags: {
|
|
9
9
|
image: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
|
-
|
|
10
|
+
'package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
11
11
|
timeout: import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
12
12
|
'warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
13
13
|
resources: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
@@ -9,7 +9,7 @@ const utils_2 = require("../../utils");
|
|
|
9
9
|
class Create extends base_1.BaseCommand {
|
|
10
10
|
async run() {
|
|
11
11
|
const { flags, bt } = await this.parse(Create);
|
|
12
|
-
const { timeout, 'warm-concurrency': warmConcurrency, resources,
|
|
12
|
+
const { timeout, 'warm-concurrency': warmConcurrency, resources, 'package-json': packageJson, permissions, 'application-id': applicationId, async: asyncFlag, } = flags;
|
|
13
13
|
const image = await (0, runtime_2.promptRuntimeImage)(flags.image);
|
|
14
14
|
(0, runtime_1.validateReactorRuntimeFlags)(flags, image);
|
|
15
15
|
(0, runtime_1.validateReactorApplicationId)(applicationId, image);
|
|
@@ -36,7 +36,7 @@ class Create extends base_1.BaseCommand {
|
|
|
36
36
|
timeout,
|
|
37
37
|
'warm-concurrency': warmConcurrency,
|
|
38
38
|
resources,
|
|
39
|
-
|
|
39
|
+
'package-json': packageJson,
|
|
40
40
|
permissions,
|
|
41
41
|
});
|
|
42
42
|
runtime = (0, runtime_2.buildRuntime)({
|
|
@@ -92,7 +92,7 @@ Create.examples = [
|
|
|
92
92
|
'--timeout 10 ' +
|
|
93
93
|
'--warm-concurrency 0 ' +
|
|
94
94
|
'--resources standard ' +
|
|
95
|
-
'--
|
|
95
|
+
'--package-json ./package.json ' +
|
|
96
96
|
'--permissions token:read ' +
|
|
97
97
|
'--permissions token:create',
|
|
98
98
|
},
|
|
@@ -9,7 +9,7 @@ export default class Update extends BaseCommand {
|
|
|
9
9
|
watch: import("@oclif/core/lib/interfaces/parser").BooleanFlag<boolean>;
|
|
10
10
|
logs: import("@oclif/core/lib/interfaces/parser").BooleanFlag<boolean>;
|
|
11
11
|
image: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
12
|
-
|
|
12
|
+
'package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
13
13
|
timeout: import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
14
|
'warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
15
15
|
resources: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
@@ -11,11 +11,11 @@ const runtime_2 = require("../../runtime");
|
|
|
11
11
|
class Update extends base_1.BaseCommand {
|
|
12
12
|
async run() {
|
|
13
13
|
const { bt, args: { id }, flags, } = await this.parse(Update);
|
|
14
|
-
const { name, code, 'application-id': applicationId, configuration, image,
|
|
14
|
+
const { name, code, 'application-id': applicationId, configuration, image, 'package-json': packageJson, timeout, 'warm-concurrency': warmConcurrency, resources, permissions, async: asyncFlag, watch, logs, } = flags;
|
|
15
15
|
(0, runtime_1.validateReactorApplicationId)(applicationId, image);
|
|
16
16
|
const runtime = (0, runtime_2.buildRuntime)({
|
|
17
17
|
image,
|
|
18
|
-
|
|
18
|
+
packageJson,
|
|
19
19
|
timeout,
|
|
20
20
|
warmConcurrency,
|
|
21
21
|
resources,
|
|
@@ -83,7 +83,7 @@ Update.examples = [
|
|
|
83
83
|
'--timeout 10 ' +
|
|
84
84
|
'--warm-concurrency 0 ' +
|
|
85
85
|
'--resources standard ' +
|
|
86
|
-
'--
|
|
86
|
+
'--package-json ./package.json ' +
|
|
87
87
|
'--permissions token:read ' +
|
|
88
88
|
'--permissions token:create',
|
|
89
89
|
},
|
package/dist/proxies/runtime.js
CHANGED
|
@@ -53,7 +53,7 @@ const promptTransformRuntime = async (prefix, flags, transformCode, image) => {
|
|
|
53
53
|
timeout: flags[`${prefix}-transform-timeout`],
|
|
54
54
|
'warm-concurrency': flags[`${prefix}-transform-warm-concurrency`],
|
|
55
55
|
resources: flags[`${prefix}-transform-resources`],
|
|
56
|
-
|
|
56
|
+
'package-json': flags[`${prefix}-transform-package-json`],
|
|
57
57
|
permissions: flags[`${prefix}-transform-permissions`],
|
|
58
58
|
};
|
|
59
59
|
const labelPrefix = `${prefix.charAt(0).toUpperCase()}${prefix.slice(1)} transform`;
|
package/dist/proxies/utils.d.ts
CHANGED
|
@@ -9,13 +9,13 @@ declare const PROXY_FLAGS: {
|
|
|
9
9
|
configuration: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
10
|
'require-auth': import("@oclif/core/lib/interfaces/parser").BooleanFlag<boolean>;
|
|
11
11
|
'request-transform-image': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
12
|
-
'request-transform-
|
|
12
|
+
'request-transform-package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
13
13
|
'request-transform-timeout': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
14
|
'request-transform-warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
15
15
|
'request-transform-resources': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
16
16
|
'request-transform-permissions': import("@oclif/core/lib/interfaces/parser").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
17
17
|
'response-transform-image': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
18
|
-
'response-transform-
|
|
18
|
+
'response-transform-package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
19
19
|
'response-transform-timeout': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
20
20
|
'response-transform-warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
21
21
|
'response-transform-resources': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
package/dist/proxies/utils.js
CHANGED
|
@@ -40,8 +40,8 @@ const PROXY_FLAGS = {
|
|
|
40
40
|
description: `request-transform runtime image (${runtime_1.VALID_RUNTIME_IMAGES.join('|')})`,
|
|
41
41
|
options: [...runtime_1.VALID_RUNTIME_IMAGES],
|
|
42
42
|
}),
|
|
43
|
-
'request-transform-
|
|
44
|
-
description: 'path to JSON file
|
|
43
|
+
'request-transform-package-json': core_1.Flags.file({
|
|
44
|
+
description: 'path to runtime package.json JSON file (top-level dependencies required; supports resolutions or overrides fallback; pinned versions required) (node22 only)',
|
|
45
45
|
}),
|
|
46
46
|
'request-transform-timeout': core_1.Flags.integer({
|
|
47
47
|
description: 'request-transform timeout in seconds, 1-30 (node22 only)',
|
|
@@ -65,8 +65,8 @@ const PROXY_FLAGS = {
|
|
|
65
65
|
description: `response-transform runtime image (${runtime_1.VALID_RUNTIME_IMAGES.join('|')})`,
|
|
66
66
|
options: [...runtime_1.VALID_RUNTIME_IMAGES],
|
|
67
67
|
}),
|
|
68
|
-
'response-transform-
|
|
69
|
-
description: 'path to JSON file
|
|
68
|
+
'response-transform-package-json': core_1.Flags.file({
|
|
69
|
+
description: 'path to runtime package.json JSON file (top-level dependencies required; supports resolutions or overrides fallback; pinned versions required) (node22 only)',
|
|
70
70
|
}),
|
|
71
71
|
'response-transform-timeout': core_1.Flags.integer({
|
|
72
72
|
description: 'response-transform timeout in seconds, 1-30 (node22 only)',
|
package/dist/reactors/utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BasisTheory } from '@basis-theory/node-sdk';
|
|
2
2
|
declare const REACTOR_FLAGS: {
|
|
3
3
|
image: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
4
|
-
|
|
4
|
+
'package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
5
5
|
timeout: import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
6
6
|
'warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
7
7
|
resources: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
package/dist/runtime/flags.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const RUNTIME_FLAGS: {
|
|
2
2
|
image: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
3
|
-
|
|
3
|
+
'package-json': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
4
4
|
timeout: import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
5
5
|
'warm-concurrency': import("@oclif/core/lib/interfaces/parser").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
6
6
|
resources: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
package/dist/runtime/flags.js
CHANGED
|
@@ -8,8 +8,8 @@ const RUNTIME_FLAGS = {
|
|
|
8
8
|
description: `runtime image (${utils_1.VALID_RUNTIME_IMAGES.join('|')})`,
|
|
9
9
|
options: [...utils_1.VALID_RUNTIME_IMAGES],
|
|
10
10
|
}),
|
|
11
|
-
|
|
12
|
-
description: 'path to JSON file
|
|
11
|
+
'package-json': core_1.Flags.file({
|
|
12
|
+
description: 'path to runtime package.json JSON file (top-level dependencies required; supports resolutions or overrides fallback; pinned versions required) (node22 only)',
|
|
13
13
|
}),
|
|
14
14
|
timeout: core_1.Flags.integer({
|
|
15
15
|
description: 'timeout in seconds, 1-30 (node22 only, default: 10)',
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { LEGACY_RUNTIME_IMAGE, CONFIGURABLE_RUNTIME_IMAGES, VALID_RUNTIME_IMAGES, CONFIGURABLE_RUNTIME_FLAGS, isLegacyRuntimeImage, validateRuntimeImage, buildRuntime, promptRuntimeOptions, promptRuntimeImage, type ConfigurableRuntimeOptions, type RuntimeFlagProps, type RuntimeFlags, } from './utils';
|
|
1
|
+
export { LEGACY_RUNTIME_IMAGE, CONFIGURABLE_RUNTIME_IMAGES, VALID_RUNTIME_IMAGES, CONFIGURABLE_RUNTIME_FLAGS, isLegacyRuntimeImage, validateRuntimeImage, parseRuntimePackageJsonFile, buildRuntime, promptRuntimeOptions, promptRuntimeImage, type ConfigurableRuntimeOptions, type RuntimeFlagProps, type RuntimeFlags, } from './utils';
|
|
2
2
|
export { RUNTIME_FLAGS } from './flags';
|
|
3
3
|
export { waitForResourceState, needsPolling, POLL_INTERVAL, POLL_TIMEOUT, } from './state';
|
package/dist/runtime/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.POLL_TIMEOUT = exports.POLL_INTERVAL = exports.needsPolling = exports.waitForResourceState = exports.RUNTIME_FLAGS = exports.promptRuntimeImage = exports.promptRuntimeOptions = exports.buildRuntime = exports.validateRuntimeImage = exports.isLegacyRuntimeImage = exports.CONFIGURABLE_RUNTIME_FLAGS = exports.VALID_RUNTIME_IMAGES = exports.CONFIGURABLE_RUNTIME_IMAGES = exports.LEGACY_RUNTIME_IMAGE = void 0;
|
|
3
|
+
exports.POLL_TIMEOUT = exports.POLL_INTERVAL = exports.needsPolling = exports.waitForResourceState = exports.RUNTIME_FLAGS = exports.promptRuntimeImage = exports.promptRuntimeOptions = exports.buildRuntime = exports.parseRuntimePackageJsonFile = exports.validateRuntimeImage = exports.isLegacyRuntimeImage = exports.CONFIGURABLE_RUNTIME_FLAGS = exports.VALID_RUNTIME_IMAGES = exports.CONFIGURABLE_RUNTIME_IMAGES = exports.LEGACY_RUNTIME_IMAGE = void 0;
|
|
4
4
|
var utils_1 = require("./utils");
|
|
5
5
|
Object.defineProperty(exports, "LEGACY_RUNTIME_IMAGE", { enumerable: true, get: function () { return utils_1.LEGACY_RUNTIME_IMAGE; } });
|
|
6
6
|
Object.defineProperty(exports, "CONFIGURABLE_RUNTIME_IMAGES", { enumerable: true, get: function () { return utils_1.CONFIGURABLE_RUNTIME_IMAGES; } });
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "VALID_RUNTIME_IMAGES", { enumerable: true, get:
|
|
|
8
8
|
Object.defineProperty(exports, "CONFIGURABLE_RUNTIME_FLAGS", { enumerable: true, get: function () { return utils_1.CONFIGURABLE_RUNTIME_FLAGS; } });
|
|
9
9
|
Object.defineProperty(exports, "isLegacyRuntimeImage", { enumerable: true, get: function () { return utils_1.isLegacyRuntimeImage; } });
|
|
10
10
|
Object.defineProperty(exports, "validateRuntimeImage", { enumerable: true, get: function () { return utils_1.validateRuntimeImage; } });
|
|
11
|
+
Object.defineProperty(exports, "parseRuntimePackageJsonFile", { enumerable: true, get: function () { return utils_1.parseRuntimePackageJsonFile; } });
|
|
11
12
|
Object.defineProperty(exports, "buildRuntime", { enumerable: true, get: function () { return utils_1.buildRuntime; } });
|
|
12
13
|
Object.defineProperty(exports, "promptRuntimeOptions", { enumerable: true, get: function () { return utils_1.promptRuntimeOptions; } });
|
|
13
14
|
Object.defineProperty(exports, "promptRuntimeImage", { enumerable: true, get: function () { return utils_1.promptRuntimeImage; } });
|
package/dist/runtime/state.js
CHANGED
|
@@ -6,6 +6,25 @@ const POLL_INTERVAL = 2000; // 2 seconds
|
|
|
6
6
|
exports.POLL_INTERVAL = POLL_INTERVAL;
|
|
7
7
|
const POLL_TIMEOUT = 600000; // 10 minutes
|
|
8
8
|
exports.POLL_TIMEOUT = POLL_TIMEOUT;
|
|
9
|
+
const formatErrorDetails = (value) => {
|
|
10
|
+
if (typeof value === 'string') {
|
|
11
|
+
try {
|
|
12
|
+
return JSON.stringify(JSON.parse(value), undefined, 2);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === 'object' && Boolean(value)) {
|
|
19
|
+
try {
|
|
20
|
+
return JSON.stringify(value, undefined, 2);
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return String(value);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return String(value);
|
|
27
|
+
};
|
|
9
28
|
const formatErrorMessage = (resource, resourceType) => {
|
|
10
29
|
const { state, requested } = resource;
|
|
11
30
|
const resourceName = resourceType === 'reactor' ? 'Reactor' : 'Proxy';
|
|
@@ -17,7 +36,7 @@ const formatErrorMessage = (resource, resourceType) => {
|
|
|
17
36
|
parts.push(`errorMessage: ${requested.errorMessage}`);
|
|
18
37
|
}
|
|
19
38
|
if (requested === null || requested === void 0 ? void 0 : requested.errorDetails) {
|
|
20
|
-
parts.push(`errorDetails: ${
|
|
39
|
+
parts.push(`errorDetails: ${formatErrorDetails(requested.errorDetails)}`);
|
|
21
40
|
}
|
|
22
41
|
return parts.join('\n');
|
|
23
42
|
};
|
package/dist/runtime/utils.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ declare const CONFIGURABLE_RUNTIME_IMAGES: readonly ["node22"];
|
|
|
4
4
|
declare const VALID_RUNTIME_IMAGES: readonly ["node-bt", "node22"];
|
|
5
5
|
declare const isLegacyRuntimeImage: (image: string | undefined) => boolean;
|
|
6
6
|
declare const validateRuntimeImage: (image: string | undefined) => void;
|
|
7
|
-
declare const CONFIGURABLE_RUNTIME_FLAGS: readonly ["timeout", "resources", "warm-concurrency", "permissions", "
|
|
7
|
+
declare const CONFIGURABLE_RUNTIME_FLAGS: readonly ["timeout", "resources", "warm-concurrency", "permissions", "package-json"];
|
|
8
8
|
interface RuntimeFlagProps {
|
|
9
9
|
image?: string;
|
|
10
|
-
|
|
10
|
+
packageJson?: string;
|
|
11
11
|
timeout?: number;
|
|
12
12
|
warmConcurrency?: number;
|
|
13
13
|
resources?: string;
|
|
@@ -18,17 +18,22 @@ interface RuntimeFlags {
|
|
|
18
18
|
timeout?: number;
|
|
19
19
|
'warm-concurrency'?: number;
|
|
20
20
|
resources?: string;
|
|
21
|
-
|
|
21
|
+
'package-json'?: string;
|
|
22
22
|
permissions?: string[];
|
|
23
23
|
}
|
|
24
24
|
interface ConfigurableRuntimeOptions {
|
|
25
25
|
timeout?: number;
|
|
26
26
|
warmConcurrency?: number;
|
|
27
27
|
resources?: string;
|
|
28
|
-
|
|
28
|
+
packageJson?: string;
|
|
29
29
|
permissions?: string[];
|
|
30
30
|
}
|
|
31
|
+
interface ParsedRuntimePackageFile {
|
|
32
|
+
dependencies: Record<string, string>;
|
|
33
|
+
resolutions?: Record<string, string>;
|
|
34
|
+
}
|
|
35
|
+
declare const parseRuntimePackageJsonFile: (packageJsonPath: string) => ParsedRuntimePackageFile;
|
|
31
36
|
declare const buildRuntime: (props: RuntimeFlagProps) => BasisTheory.Runtime | undefined;
|
|
32
37
|
declare const promptRuntimeOptions: (flags: RuntimeFlags, labelPrefix?: string) => Promise<ConfigurableRuntimeOptions>;
|
|
33
38
|
declare const promptRuntimeImage: (image: string | undefined, message?: string) => Promise<string>;
|
|
34
|
-
export { LEGACY_RUNTIME_IMAGE, CONFIGURABLE_RUNTIME_IMAGES, VALID_RUNTIME_IMAGES, CONFIGURABLE_RUNTIME_FLAGS, isLegacyRuntimeImage, validateRuntimeImage, buildRuntime, promptRuntimeOptions, promptRuntimeImage, type RuntimeFlagProps, type RuntimeFlags, type ConfigurableRuntimeOptions, };
|
|
39
|
+
export { LEGACY_RUNTIME_IMAGE, CONFIGURABLE_RUNTIME_IMAGES, VALID_RUNTIME_IMAGES, CONFIGURABLE_RUNTIME_FLAGS, isLegacyRuntimeImage, validateRuntimeImage, parseRuntimePackageJsonFile, buildRuntime, promptRuntimeOptions, promptRuntimeImage, type RuntimeFlagProps, type RuntimeFlags, type ConfigurableRuntimeOptions, };
|
package/dist/runtime/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.promptRuntimeImage = exports.promptRuntimeOptions = exports.buildRuntime = exports.validateRuntimeImage = exports.isLegacyRuntimeImage = exports.CONFIGURABLE_RUNTIME_FLAGS = exports.VALID_RUNTIME_IMAGES = exports.CONFIGURABLE_RUNTIME_IMAGES = exports.LEGACY_RUNTIME_IMAGE = void 0;
|
|
3
|
+
exports.promptRuntimeImage = exports.promptRuntimeOptions = exports.buildRuntime = exports.parseRuntimePackageJsonFile = exports.validateRuntimeImage = exports.isLegacyRuntimeImage = exports.CONFIGURABLE_RUNTIME_FLAGS = exports.VALID_RUNTIME_IMAGES = exports.CONFIGURABLE_RUNTIME_IMAGES = exports.LEGACY_RUNTIME_IMAGE = void 0;
|
|
4
4
|
const files_1 = require("../files");
|
|
5
5
|
const utils_1 = require("../utils");
|
|
6
6
|
const LEGACY_RUNTIME_IMAGE = 'node-bt';
|
|
@@ -28,34 +28,73 @@ const CONFIGURABLE_RUNTIME_FLAGS = [
|
|
|
28
28
|
'resources',
|
|
29
29
|
'warm-concurrency',
|
|
30
30
|
'permissions',
|
|
31
|
-
'
|
|
31
|
+
'package-json',
|
|
32
32
|
];
|
|
33
33
|
exports.CONFIGURABLE_RUNTIME_FLAGS = CONFIGURABLE_RUNTIME_FLAGS;
|
|
34
|
+
const isStringRecord = (value) => typeof value === 'object' &&
|
|
35
|
+
Boolean(value) &&
|
|
36
|
+
!Array.isArray(value) &&
|
|
37
|
+
Object.values(value).every((item) => typeof item === 'string');
|
|
38
|
+
const parseRuntimePackageJsonFile = (packageJsonPath) => {
|
|
39
|
+
let parsedFile;
|
|
40
|
+
try {
|
|
41
|
+
parsedFile = JSON.parse((0, files_1.readFileContents)(packageJsonPath));
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
throw new Error(`Failed to parse package.json file "${packageJsonPath}": ${error.message}`);
|
|
45
|
+
}
|
|
46
|
+
if (!parsedFile ||
|
|
47
|
+
typeof parsedFile !== 'object' ||
|
|
48
|
+
Array.isArray(parsedFile)) {
|
|
49
|
+
throw new Error(`Runtime package file "${packageJsonPath}" must include a top-level "dependencies" object.`);
|
|
50
|
+
}
|
|
51
|
+
const file = parsedFile;
|
|
52
|
+
const dependencies = file.dependencies;
|
|
53
|
+
if (!isStringRecord(dependencies)) {
|
|
54
|
+
throw new Error(`Runtime package file "${packageJsonPath}" has invalid "dependencies": expected an object of package names to pinned version strings.`);
|
|
55
|
+
}
|
|
56
|
+
let resolutions;
|
|
57
|
+
if (file.resolutions !== undefined) {
|
|
58
|
+
if (!isStringRecord(file.resolutions)) {
|
|
59
|
+
throw new Error(`Runtime package file "${packageJsonPath}" has invalid "resolutions": expected an object of package names to pinned version strings.`);
|
|
60
|
+
}
|
|
61
|
+
resolutions = file.resolutions;
|
|
62
|
+
}
|
|
63
|
+
else if (file.overrides !== undefined) {
|
|
64
|
+
if (!isStringRecord(file.overrides)) {
|
|
65
|
+
throw new Error(`Runtime package file "${packageJsonPath}" has unsupported "overrides" values for runtime resolutions; only string values are supported.`);
|
|
66
|
+
}
|
|
67
|
+
resolutions = file.overrides;
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
dependencies,
|
|
71
|
+
resolutions,
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
exports.parseRuntimePackageJsonFile = parseRuntimePackageJsonFile;
|
|
34
75
|
const buildRuntime = (props) => {
|
|
35
|
-
const { image,
|
|
76
|
+
const { image, packageJson, timeout, warmConcurrency, resources, permissions, } = props;
|
|
36
77
|
if (!image &&
|
|
37
|
-
!
|
|
78
|
+
!packageJson &&
|
|
38
79
|
!timeout &&
|
|
39
80
|
!warmConcurrency &&
|
|
40
81
|
!resources &&
|
|
41
82
|
!(permissions === null || permissions === void 0 ? void 0 : permissions.length)) {
|
|
42
83
|
return undefined;
|
|
43
84
|
}
|
|
44
|
-
let
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
parsedDependencies = JSON.parse((0, files_1.readFileContents)(dependencies));
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
throw new Error(`Failed to parse dependencies file "${dependencies}": ${error.message}`);
|
|
51
|
-
}
|
|
85
|
+
let parsedPackageFile;
|
|
86
|
+
if (packageJson) {
|
|
87
|
+
parsedPackageFile = parseRuntimePackageJsonFile(packageJson);
|
|
52
88
|
}
|
|
53
89
|
const runtime = {};
|
|
54
90
|
if (image) {
|
|
55
91
|
runtime.image = image;
|
|
56
92
|
}
|
|
57
|
-
if (
|
|
58
|
-
runtime.dependencies =
|
|
93
|
+
if (parsedPackageFile) {
|
|
94
|
+
runtime.dependencies = parsedPackageFile.dependencies;
|
|
95
|
+
}
|
|
96
|
+
if (parsedPackageFile === null || parsedPackageFile === void 0 ? void 0 : parsedPackageFile.resolutions) {
|
|
97
|
+
runtime.resolutions = parsedPackageFile.resolutions;
|
|
59
98
|
}
|
|
60
99
|
if (timeout !== undefined) {
|
|
61
100
|
runtime.timeout = timeout;
|
|
@@ -101,8 +140,8 @@ const promptRuntimeOptions = async (flags, labelPrefix) => {
|
|
|
101
140
|
},
|
|
102
141
|
],
|
|
103
142
|
});
|
|
104
|
-
const
|
|
105
|
-
message: `${prefix}(Optional)
|
|
143
|
+
const packageJson = await (0, utils_1.promptStringIfUndefined)(flags['package-json'], {
|
|
144
|
+
message: `${prefix}(Optional) Runtime package.json file path (JSON format):`,
|
|
106
145
|
});
|
|
107
146
|
const permissions = await (0, utils_1.promptCommaSeparatedIfUndefined)(flags.permissions, {
|
|
108
147
|
message: `${prefix}(Optional) Permissions (comma-separated, e.g. token:read, token:create):`,
|
|
@@ -111,7 +150,7 @@ const promptRuntimeOptions = async (flags, labelPrefix) => {
|
|
|
111
150
|
timeout,
|
|
112
151
|
warmConcurrency,
|
|
113
152
|
resources,
|
|
114
|
-
|
|
153
|
+
packageJson: packageJson || undefined,
|
|
115
154
|
permissions,
|
|
116
155
|
};
|
|
117
156
|
};
|
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "3.0.0",
|
|
3
3
|
"commands": {
|
|
4
4
|
"applications:create": {
|
|
5
5
|
"id": "applications:create",
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
},
|
|
219
219
|
{
|
|
220
220
|
"description": "Create a proxy with node22 transforms and all runtime options",
|
|
221
|
-
"command": "<%= config.bin %> <%= command.id %> --name \"My Proxy\" --destination-url https://api.example.com --configuration ./config.env --require-auth --request-transform-code ./request.js --request-transform-image node22 --request-transform-timeout 10 --request-transform-warm-concurrency 0 --request-transform-resources standard --request-transform-
|
|
221
|
+
"command": "<%= config.bin %> <%= command.id %> --name \"My Proxy\" --destination-url https://api.example.com --configuration ./config.env --require-auth --request-transform-code ./request.js --request-transform-image node22 --request-transform-timeout 10 --request-transform-warm-concurrency 0 --request-transform-resources standard --request-transform-package-json ./request/package.json --request-transform-permissions token:read --response-transform-code ./response.js --response-transform-image node22 --response-transform-timeout 10 --response-transform-warm-concurrency 0 --response-transform-resources standard --response-transform-package-json ./response/package.json --response-transform-permissions token:read"
|
|
222
222
|
}
|
|
223
223
|
],
|
|
224
224
|
"flags": {
|
|
@@ -296,10 +296,10 @@
|
|
|
296
296
|
"node22"
|
|
297
297
|
]
|
|
298
298
|
},
|
|
299
|
-
"request-transform-
|
|
300
|
-
"name": "request-transform-
|
|
299
|
+
"request-transform-package-json": {
|
|
300
|
+
"name": "request-transform-package-json",
|
|
301
301
|
"type": "option",
|
|
302
|
-
"description": "path to JSON file
|
|
302
|
+
"description": "path to runtime package.json JSON file (top-level dependencies required; supports resolutions or overrides fallback; pinned versions required) (node22 only)",
|
|
303
303
|
"multiple": false
|
|
304
304
|
},
|
|
305
305
|
"request-transform-timeout": {
|
|
@@ -341,10 +341,10 @@
|
|
|
341
341
|
"node22"
|
|
342
342
|
]
|
|
343
343
|
},
|
|
344
|
-
"response-transform-
|
|
345
|
-
"name": "response-transform-
|
|
344
|
+
"response-transform-package-json": {
|
|
345
|
+
"name": "response-transform-package-json",
|
|
346
346
|
"type": "option",
|
|
347
|
-
"description": "path to JSON file
|
|
347
|
+
"description": "path to runtime package.json JSON file (top-level dependencies required; supports resolutions or overrides fallback; pinned versions required) (node22 only)",
|
|
348
348
|
"multiple": false
|
|
349
349
|
},
|
|
350
350
|
"response-transform-timeout": {
|
|
@@ -534,7 +534,7 @@
|
|
|
534
534
|
},
|
|
535
535
|
{
|
|
536
536
|
"description": "Update a proxy with node22 transforms and all runtime options",
|
|
537
|
-
"command": "<%= config.bin %> <%= command.id %> <proxy-id> --name \"My Proxy\" --destination-url https://api.example.com --configuration ./config.env --require-auth --request-transform-code ./request.js --request-transform-image node22 --request-transform-timeout 10 --request-transform-warm-concurrency 0 --request-transform-resources standard --request-transform-
|
|
537
|
+
"command": "<%= config.bin %> <%= command.id %> <proxy-id> --name \"My Proxy\" --destination-url https://api.example.com --configuration ./config.env --require-auth --request-transform-code ./request.js --request-transform-image node22 --request-transform-timeout 10 --request-transform-warm-concurrency 0 --request-transform-resources standard --request-transform-package-json ./request/package.json --request-transform-permissions token:read --response-transform-code ./response.js --response-transform-image node22 --response-transform-timeout 10 --response-transform-warm-concurrency 0 --response-transform-resources standard --response-transform-package-json ./response/package.json --response-transform-permissions token:read"
|
|
538
538
|
}
|
|
539
539
|
],
|
|
540
540
|
"flags": {
|
|
@@ -612,10 +612,10 @@
|
|
|
612
612
|
"node22"
|
|
613
613
|
]
|
|
614
614
|
},
|
|
615
|
-
"request-transform-
|
|
616
|
-
"name": "request-transform-
|
|
615
|
+
"request-transform-package-json": {
|
|
616
|
+
"name": "request-transform-package-json",
|
|
617
617
|
"type": "option",
|
|
618
|
-
"description": "path to JSON file
|
|
618
|
+
"description": "path to runtime package.json JSON file (top-level dependencies required; supports resolutions or overrides fallback; pinned versions required) (node22 only)",
|
|
619
619
|
"multiple": false
|
|
620
620
|
},
|
|
621
621
|
"request-transform-timeout": {
|
|
@@ -657,10 +657,10 @@
|
|
|
657
657
|
"node22"
|
|
658
658
|
]
|
|
659
659
|
},
|
|
660
|
-
"response-transform-
|
|
661
|
-
"name": "response-transform-
|
|
660
|
+
"response-transform-package-json": {
|
|
661
|
+
"name": "response-transform-package-json",
|
|
662
662
|
"type": "option",
|
|
663
|
-
"description": "path to JSON file
|
|
663
|
+
"description": "path to runtime package.json JSON file (top-level dependencies required; supports resolutions or overrides fallback; pinned versions required) (node22 only)",
|
|
664
664
|
"multiple": false
|
|
665
665
|
},
|
|
666
666
|
"response-transform-timeout": {
|
|
@@ -742,7 +742,7 @@
|
|
|
742
742
|
},
|
|
743
743
|
{
|
|
744
744
|
"description": "Create a reactor with node22 and all runtime options",
|
|
745
|
-
"command": "<%= config.bin %> <%= command.id %> --name \"My Reactor\" --code ./reactor.js --configuration ./config.env --image node22 --timeout 10 --warm-concurrency 0 --resources standard --
|
|
745
|
+
"command": "<%= config.bin %> <%= command.id %> --name \"My Reactor\" --code ./reactor.js --configuration ./config.env --image node22 --timeout 10 --warm-concurrency 0 --resources standard --package-json ./package.json --permissions token:read --permissions token:create"
|
|
746
746
|
}
|
|
747
747
|
],
|
|
748
748
|
"flags": {
|
|
@@ -799,10 +799,10 @@
|
|
|
799
799
|
"node22"
|
|
800
800
|
]
|
|
801
801
|
},
|
|
802
|
-
"
|
|
803
|
-
"name": "
|
|
802
|
+
"package-json": {
|
|
803
|
+
"name": "package-json",
|
|
804
804
|
"type": "option",
|
|
805
|
-
"description": "path to JSON file
|
|
805
|
+
"description": "path to runtime package.json JSON file (top-level dependencies required; supports resolutions or overrides fallback; pinned versions required) (node22 only)",
|
|
806
806
|
"multiple": false
|
|
807
807
|
},
|
|
808
808
|
"timeout": {
|
|
@@ -988,7 +988,7 @@
|
|
|
988
988
|
},
|
|
989
989
|
{
|
|
990
990
|
"description": "Update a reactor with node22 and all runtime options",
|
|
991
|
-
"command": "<%= config.bin %> <%= command.id %> <reactor-id> --name \"My Reactor\" --code ./reactor.js --configuration ./config.env --image node22 --timeout 10 --warm-concurrency 0 --resources standard --
|
|
991
|
+
"command": "<%= config.bin %> <%= command.id %> <reactor-id> --name \"My Reactor\" --code ./reactor.js --configuration ./config.env --image node22 --timeout 10 --warm-concurrency 0 --resources standard --package-json ./package.json --permissions token:read --permissions token:create"
|
|
992
992
|
}
|
|
993
993
|
],
|
|
994
994
|
"flags": {
|
|
@@ -1045,10 +1045,10 @@
|
|
|
1045
1045
|
"node22"
|
|
1046
1046
|
]
|
|
1047
1047
|
},
|
|
1048
|
-
"
|
|
1049
|
-
"name": "
|
|
1048
|
+
"package-json": {
|
|
1049
|
+
"name": "package-json",
|
|
1050
1050
|
"type": "option",
|
|
1051
|
-
"description": "path to JSON file
|
|
1051
|
+
"description": "path to runtime package.json JSON file (top-level dependencies required; supports resolutions or overrides fallback; pinned versions required) (node22 only)",
|
|
1052
1052
|
"multiple": false
|
|
1053
1053
|
},
|
|
1054
1054
|
"timeout": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@basis-theory-labs/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Basis Theory CLI tool",
|
|
5
5
|
"author": "Davi Aquino @djejaquino",
|
|
6
6
|
"bin": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"/oclif.manifest.json"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@basis-theory/node-sdk": "5.
|
|
20
|
+
"@basis-theory/node-sdk": "^5.2.0",
|
|
21
21
|
"@inquirer/checkbox": "^1.5.0",
|
|
22
22
|
"@inquirer/confirm": "^2.0.15",
|
|
23
23
|
"@inquirer/input": "^1.2.14",
|