@seamapi/cli 0.18.0 → 0.18.2

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 CHANGED
@@ -22,7 +22,9 @@ $ npm install --global @seamapi/cli
22
22
  ```
23
23
 
24
24
  Alternatively, download a standalone binary for your platform from the
25
- [latest GitHub release].
25
+ [latest GitHub release]. The macOS binaries are signed with the Seam Labs, Inc.
26
+ Apple Developer ID and notarized by Apple, so macOS runs them without
27
+ a Gatekeeper prompt.
26
28
 
27
29
  On Arch Linux, install the [`seam-bin`][aur] package from the AUR with
28
30
 
@@ -396,6 +398,58 @@ The following repository secrets must be set on [GitHub Actions]:
396
398
  [GitHub Actions]: https://github.com/features/actions
397
399
  [GPG private key]: https://github.com/marketplace/actions/import-gpg#prerequisites
398
400
 
401
+ ### Signing the macOS binaries
402
+
403
+ The standalone macOS binaries are code signed and notarized while they are
404
+ built, so that Gatekeeper lets them run on machines other than the one that
405
+ built them. Both need an [Apple Developer Program] membership.
406
+
407
+ Anything that releases signs, and fails rather than publish a binary that
408
+ macOS refuses to run. A check builds the macOS binaries with `sign: false`
409
+ instead: a pull request from a fork cannot read the credentials, and nothing a
410
+ check builds is ever released. There is no ad-hoc signature fallback, since
411
+ Gatekeeper rejects one anywhere but the machine that made it.
412
+
413
+ Set these repository secrets to code sign:
414
+
415
+ - `APPLE_CERTIFICATE`: A base64 encoded PKCS#12 (`.p12`) bundle holding a
416
+ [Developer ID Application] certificate, its private key, and its certificate
417
+ chain. Export it from Keychain Access, then encode it with
418
+ `base64 --input certificate.p12 | pbcopy`.
419
+ - `APPLE_CERTIFICATE_PASSWORD`: The password set while exporting the bundle.
420
+ - `APPLE_SIGNING_IDENTITY`: Normally left unset. The build signs with the one
421
+ Developer ID Application identity in the bundle, so this is only needed to
422
+ choose between several, e.g.,
423
+ `Developer ID Application: Seam Labs, Inc. (XXXXXXXXXX)`.
424
+
425
+ And these to notarize, from an [App Store Connect API key]:
426
+
427
+ - `APPLE_API_KEY`: The base64 encoded API private key (`.p8`).
428
+ - `APPLE_API_KEY_ID`: The API key id.
429
+ - `APPLE_API_ISSUER_ID`: The API key issuer id.
430
+
431
+ Notarization tickets cannot be stapled to a bare executable, so Gatekeeper
432
+ looks them up online the first time a downloaded binary runs.
433
+
434
+ Check the credentials without cutting a release by triggering
435
+ [a build workflow_dispatch on GitHub Actions], on the web or with
436
+
437
+ ```
438
+ $ gh workflow run build.yml --ref <branch>
439
+ ```
440
+
441
+ GitHub only offers a workflow_dispatch for a workflow already on the default
442
+ branch, so the build workflow must be merged first. It then runs against any
443
+ branch.
444
+
445
+ Then confirm the run's macOS binaries job signed and notarized: it verifies the
446
+ signature, assesses the binary the way Gatekeeper does, and runs it.
447
+
448
+ [App Store Connect API key]: https://developer.apple.com/documentation/appstoreconnectapi/creating-api-keys-for-app-store-connect-api
449
+ [Apple Developer Program]: https://developer.apple.com/programs/
450
+ [Developer ID Application]: https://developer.apple.com/help/account/reference/certificate-types/
451
+ [a build workflow_dispatch on GitHub Actions]: https://github.com/seamapi/cli/actions?query=workflow%3A_build
452
+
399
453
  ## Contributing
400
454
 
401
455
  > If using squash merge, edit and ensure the commit message follows the [Angular Commit Message Conventions] specification.
@@ -1,5 +1,5 @@
1
1
  import { getOutput } from './output/get-output.js';
2
- import { promptNumber, promptSelect, promptText } from './util/prompt.js';
2
+ import { PromptCancelledError, promptNumber, promptSelect, promptText, withBackHint, } from './util/prompt.js';
3
3
  export const interactForArray = async (array, message) => {
4
4
  const updatedArray = [...array];
5
5
  const output = getOutput();
@@ -17,30 +17,45 @@ export const interactForArray = async (array, message) => {
17
17
  let action;
18
18
  do {
19
19
  displayList();
20
- action = await promptSelect({
21
- message: 'Choose an action:',
22
- choices: [
23
- { label: 'Add an item', value: 'add' },
24
- { label: 'Remove an item', value: 'remove' },
25
- { label: 'Finish editing', value: 'done' },
26
- ],
27
- });
28
- if (action === 'add') {
29
- const newItem = await promptText({
30
- message: 'Enter the new item:',
20
+ try {
21
+ action = await promptSelect({
22
+ message: withBackHint('Choose an action:'),
23
+ choices: [
24
+ { label: 'Add an item', value: 'add' },
25
+ { label: 'Remove an item', value: 'remove' },
26
+ { label: 'Finish editing', value: 'done' },
27
+ ],
31
28
  });
32
- if (newItem) {
33
- updatedArray.push(newItem);
29
+ }
30
+ catch (error) {
31
+ if (!(error instanceof PromptCancelledError))
32
+ throw error;
33
+ // Dismissing the action menu finishes editing, keeping the changes.
34
+ break;
35
+ }
36
+ try {
37
+ if (action === 'add') {
38
+ const newItem = await promptText({
39
+ message: withBackHint('Enter the new item:'),
40
+ });
41
+ if (newItem) {
42
+ updatedArray.push(newItem);
43
+ }
44
+ }
45
+ else if (action === 'remove') {
46
+ const index = await promptNumber({
47
+ message: withBackHint('Enter the index of the item to remove:'),
48
+ validate: (value) => value > 0 && value <= updatedArray.length
49
+ ? undefined
50
+ : 'Invalid index',
51
+ });
52
+ updatedArray.splice(index - 1, 1);
34
53
  }
35
54
  }
36
- else if (action === 'remove') {
37
- const index = await promptNumber({
38
- message: 'Enter the index of the item to remove:',
39
- validate: (value) => value > 0 && value <= updatedArray.length
40
- ? undefined
41
- : 'Invalid index',
42
- });
43
- updatedArray.splice(index - 1, 1);
55
+ catch (error) {
56
+ if (!(error instanceof PromptCancelledError))
57
+ throw error;
58
+ // Dismissing an inner prompt returns to the action menu.
44
59
  }
45
60
  } while (action !== 'done');
46
61
  return updatedArray;
@@ -1 +1 @@
1
- {"version":3,"file":"interact-for-array.js","sourceRoot":"","sources":["../src/lib/interact-for-array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,KAAe,EACf,OAAe,EACI,EAAE;IACrB,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,gBAAgB,CAAC,CAAA;QACvC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACnC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC,CAAA;IAED,IAAI,MAAc,CAAA;IAClB,GAAG,CAAC;QACF,WAAW,EAAE,CAAA;QAEb,MAAM,GAAG,MAAM,YAAY,CAAC;YAC1B,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;gBACtC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC5C,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE;aAC3C;SACF,CAAC,CAAA;QAEF,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;gBAC/B,OAAO,EAAE,qBAAqB;aAC/B,CAAC,CAAA;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;gBAC/B,OAAO,EAAE,wCAAwC;gBACjD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,YAAY,CAAC,MAAM;oBACvC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,eAAe;aACtB,CAAC,CAAA;YACF,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,QAAQ,MAAM,KAAK,MAAM,EAAC;IAE3B,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
1
+ {"version":3,"file":"interact-for-array.js","sourceRoot":"","sources":["../src/lib/interact-for-array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAA;AAEzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,KAAe,EACf,OAAe,EACI,EAAE;IACrB,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,gBAAgB,CAAC,CAAA;QACvC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACnC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC,CAAA;IAED,IAAI,MAAc,CAAA;IAClB,GAAG,CAAC;QACF,WAAW,EAAE,CAAA;QAEb,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,YAAY,CAAC;gBAC1B,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC;gBAC1C,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;oBACtC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;oBAC5C,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE;iBAC3C;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC;gBAAE,MAAM,KAAK,CAAA;YACzD,oEAAoE;YACpE,MAAK;QACP,CAAC;QAED,IAAI,CAAC;YACH,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;oBAC/B,OAAO,EAAE,YAAY,CAAC,qBAAqB,CAAC;iBAC7C,CAAC,CAAA;gBACF,IAAI,OAAO,EAAE,CAAC;oBACZ,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;oBAC/B,OAAO,EAAE,YAAY,CAAC,wCAAwC,CAAC;oBAC/D,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,YAAY,CAAC,MAAM;wBACvC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,eAAe;iBACtB,CAAC,CAAA;gBACF,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC;gBAAE,MAAM,KAAK,CAAA;YACzD,yDAAyD;QAC3D,CAAC;IACH,CAAC,QAAQ,MAAM,KAAK,MAAM,EAAC;IAE3B,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
@@ -11,7 +11,7 @@ import { interactForUserIdentity } from './interact-for-user-identity.js';
11
11
  import { getOutput } from './output/get-output.js';
12
12
  import { NonInteractiveError, toArgName } from './util/cli-args.js';
13
13
  import { ellipsis } from './util/ellipsis.js';
14
- import { promptAutocomplete, promptAutocompleteMultiselect, promptConfirm, promptNumber, promptSelect, promptText, } from './util/prompt.js';
14
+ import { promptAutocomplete, promptAutocompleteMultiselect, PromptCancelledError, promptConfirm, promptNumber, promptSelect, promptText, withBackHint, } from './util/prompt.js';
15
15
  const ergonomicPropOrder = [
16
16
  'name',
17
17
  'connected_account_id',
@@ -53,56 +53,65 @@ export const interactForBlueprintObject = async (args, ctx) => {
53
53
  }
54
54
  return ergonomicPropOrder.indexOf(prop);
55
55
  };
56
- const parameterSelectionMessage = args.isSubProperty
56
+ const parameterSelectionMessage = withBackHint(args.isSubProperty
57
57
  ? `Editing "${args.subPropertyPath}"`
58
- : `[${cmdPath}] Parameters`;
58
+ : `[${cmdPath}] Parameters`);
59
59
  getOutput().info();
60
- const paramToEdit = await promptAutocomplete({
61
- message: parameterSelectionMessage,
62
- choices: [
63
- ...(haveAllRequiredParams && !args.isSubProperty
64
- ? [
65
- {
66
- value: 'done',
67
- label: `[Make API Call] ${cmdPath}`,
68
- },
69
- ]
70
- : []),
71
- ...(haveAllRequiredParams && args.isSubProperty
72
- ? [
73
- {
74
- label: `[Save]`,
75
- value: 'done',
76
- },
77
- ]
78
- : []),
79
- ...Object.keys(properties)
80
- .map((k) => {
81
- return {
82
- label: k + (required.includes(k) ? '*' : ''),
83
- value: k,
84
- hint: args.params[k] !== undefined
85
- ? typeof args.params[k] === 'object'
86
- ? ellipsis(JSON.stringify(args.params[k]), 60)
87
- : `[${args.params[k]}]`
88
- : undefined,
89
- };
90
- })
91
- .sort((a, b) => propSortScore(b.value) - propSortScore(a.value)),
92
- ...(args.isSubProperty
93
- ? [
94
- {
95
- label: `[Leave Empty]`,
96
- value: 'empty',
97
- },
98
- ]
99
- : []),
100
- {
101
- label: `[Back]`,
102
- value: 'back',
103
- },
104
- ],
105
- });
60
+ let paramToEdit;
61
+ try {
62
+ paramToEdit = await promptAutocomplete({
63
+ message: parameterSelectionMessage,
64
+ choices: [
65
+ ...(haveAllRequiredParams && !args.isSubProperty
66
+ ? [
67
+ {
68
+ value: 'done',
69
+ label: `[Make API Call] ${cmdPath}`,
70
+ },
71
+ ]
72
+ : []),
73
+ ...(haveAllRequiredParams && args.isSubProperty
74
+ ? [
75
+ {
76
+ label: `[Save]`,
77
+ value: 'done',
78
+ },
79
+ ]
80
+ : []),
81
+ ...Object.keys(properties)
82
+ .map((k) => {
83
+ return {
84
+ label: k + (required.includes(k) ? '*' : ''),
85
+ value: k,
86
+ hint: args.params[k] !== undefined
87
+ ? typeof args.params[k] === 'object'
88
+ ? ellipsis(JSON.stringify(args.params[k]), 60)
89
+ : `[${args.params[k]}]`
90
+ : undefined,
91
+ };
92
+ })
93
+ .sort((a, b) => propSortScore(b.value) - propSortScore(a.value)),
94
+ ...(args.isSubProperty
95
+ ? [
96
+ {
97
+ label: `[Leave Empty]`,
98
+ value: 'empty',
99
+ },
100
+ ]
101
+ : []),
102
+ {
103
+ label: `[Back]`,
104
+ value: 'back',
105
+ },
106
+ ],
107
+ });
108
+ }
109
+ catch (error) {
110
+ // Dismissing the menu means the same as choosing to go back.
111
+ if (!(error instanceof PromptCancelledError))
112
+ throw error;
113
+ paramToEdit = 'back';
114
+ }
106
115
  if (paramToEdit === 'empty') {
107
116
  return undefined;
108
117
  }
@@ -117,117 +126,126 @@ export const interactForBlueprintObject = async (args, ctx) => {
117
126
  return '[Back]';
118
127
  }
119
128
  const prop = properties[paramToEdit];
120
- if (paramToEdit === 'device_id') {
121
- args.params[paramToEdit] = await interactForDevice();
122
- return interactForBlueprintObject(args, ctx);
123
- }
124
- else if (paramToEdit === 'access_code_id') {
125
- args.params[paramToEdit] = await interactForAccessCode(args.params);
126
- return interactForBlueprintObject(args, ctx);
127
- }
128
- else if (paramToEdit === 'connected_account_id') {
129
- const connectedAccountId = await interactForConnectedAccount();
130
- args.params[paramToEdit] = connectedAccountId;
131
- return interactForBlueprintObject(args, ctx);
132
- }
133
- else if (paramToEdit === 'user_identity_id' ||
134
- paramToEdit === 'user_identity_ids') {
135
- const userIdentityId = await interactForUserIdentity();
136
- args.params[paramToEdit] =
137
- paramToEdit === 'user_identity_ids' ? [userIdentityId] : userIdentityId;
138
- return interactForBlueprintObject(args, ctx);
139
- }
140
- else if (paramToEdit.endsWith('acs_system_id')) {
141
- args.params[paramToEdit] = await interactForAcsSystem();
142
- return interactForBlueprintObject(args, ctx);
143
- }
144
- else if (paramToEdit.endsWith('acs_user_id')) {
145
- args.params[paramToEdit] = await interactForAcsUser();
146
- return interactForBlueprintObject(args, ctx);
147
- }
148
- else if (paramToEdit.endsWith('acs_entrance_id')) {
149
- args.params['acs_entrance_id'] = await interactForAcsEntrance();
150
- return interactForBlueprintObject(args, ctx);
151
- }
152
- else if (paramToEdit.endsWith('_at') ||
153
- paramToEdit === 'since' ||
154
- paramToEdit.endsWith('_before') ||
155
- paramToEdit.endsWith('_after')) {
156
- args.params[paramToEdit] = await interactForTimestamp();
157
- return interactForBlueprintObject(args, ctx);
158
- }
159
- else if (paramToEdit === 'custom_metadata' ||
160
- paramToEdit === 'custom_metadata_has') {
161
- args.params[paramToEdit] = await interactForCustomMetadata(args.params[paramToEdit] || {});
162
- return interactForBlueprintObject(args, ctx);
163
- }
164
- if (prop) {
165
- if (['string', 'id', 'datetime'].includes(prop.format)) {
166
- let value;
167
- if (prop.format === 'datetime') {
168
- value = await interactForTimestamp();
169
- }
170
- else {
171
- value = await promptText({
172
- message: `${paramToEdit}:`,
173
- });
174
- }
175
- args.params[paramToEdit] = value;
129
+ // Dismissing any prompt below returns to the parameter menu with the
130
+ // parameter left as it was, rather than ending the whole command.
131
+ try {
132
+ if (paramToEdit === 'device_id') {
133
+ args.params[paramToEdit] = await interactForDevice();
134
+ return interactForBlueprintObject(args, ctx);
135
+ }
136
+ else if (paramToEdit === 'access_code_id') {
137
+ args.params[paramToEdit] = await interactForAccessCode(args.params);
138
+ return interactForBlueprintObject(args, ctx);
139
+ }
140
+ else if (paramToEdit === 'connected_account_id') {
141
+ const connectedAccountId = await interactForConnectedAccount();
142
+ args.params[paramToEdit] = connectedAccountId;
176
143
  return interactForBlueprintObject(args, ctx);
177
144
  }
178
- else if (prop.format === 'enum') {
179
- const value = await promptSelect({
180
- message: `${paramToEdit}:`,
181
- choices: prop.values.map((v) => ({
182
- label: v.name,
183
- value: v.name,
184
- })),
185
- });
186
- args.params[paramToEdit] = value;
145
+ else if (paramToEdit === 'user_identity_id' ||
146
+ paramToEdit === 'user_identity_ids') {
147
+ const userIdentityId = await interactForUserIdentity();
148
+ args.params[paramToEdit] =
149
+ paramToEdit === 'user_identity_ids' ? [userIdentityId] : userIdentityId;
187
150
  return interactForBlueprintObject(args, ctx);
188
151
  }
189
- else if (prop.format === 'boolean') {
190
- const value = await promptConfirm({
191
- message: `${paramToEdit}:`,
192
- initialValue: true,
193
- active: 'true',
194
- inactive: 'false',
195
- });
196
- args.params[paramToEdit] = value;
152
+ else if (paramToEdit.endsWith('acs_system_id')) {
153
+ args.params[paramToEdit] = await interactForAcsSystem();
197
154
  return interactForBlueprintObject(args, ctx);
198
155
  }
199
- else if (prop.format === 'list' && prop.itemFormat === 'enum') {
200
- const value = await promptAutocompleteMultiselect({
201
- message: `${paramToEdit}:`,
202
- choices: prop.itemEnumValues.map((v) => ({
203
- label: v.name,
204
- value: v.name,
205
- })),
206
- });
207
- args.params[paramToEdit] = value;
156
+ else if (paramToEdit.endsWith('acs_user_id')) {
157
+ args.params[paramToEdit] = await interactForAcsUser();
208
158
  return interactForBlueprintObject(args, ctx);
209
159
  }
210
- else if (prop.format === 'list') {
211
- args.params[paramToEdit] = await interactForArray(args.params[paramToEdit] || [], `Edit the list for ${paramToEdit}`);
160
+ else if (paramToEdit.endsWith('acs_entrance_id')) {
161
+ args.params['acs_entrance_id'] = await interactForAcsEntrance();
212
162
  return interactForBlueprintObject(args, ctx);
213
163
  }
214
- else if (prop.format === 'object') {
215
- args.params[paramToEdit] = await interactForBlueprintObject({
216
- command: args.command,
217
- params: {},
218
- parameters: prop.parameters,
219
- isSubProperty: true,
220
- subPropertyPath: paramToEdit,
221
- }, ctx);
164
+ else if (paramToEdit.endsWith('_at') ||
165
+ paramToEdit === 'since' ||
166
+ paramToEdit.endsWith('_before') ||
167
+ paramToEdit.endsWith('_after')) {
168
+ args.params[paramToEdit] = await interactForTimestamp();
222
169
  return interactForBlueprintObject(args, ctx);
223
170
  }
224
- else if (prop.format === 'number') {
225
- const value = await promptNumber({
226
- message: `${paramToEdit}:`,
227
- });
228
- args.params[paramToEdit] = value;
171
+ else if (paramToEdit === 'custom_metadata' ||
172
+ paramToEdit === 'custom_metadata_has') {
173
+ args.params[paramToEdit] = await interactForCustomMetadata(args.params[paramToEdit] || {});
229
174
  return interactForBlueprintObject(args, ctx);
230
175
  }
176
+ if (prop) {
177
+ if (['string', 'id', 'datetime'].includes(prop.format)) {
178
+ let value;
179
+ if (prop.format === 'datetime') {
180
+ value = await interactForTimestamp();
181
+ }
182
+ else {
183
+ value = await promptText({
184
+ message: withBackHint(`${paramToEdit}:`),
185
+ });
186
+ }
187
+ args.params[paramToEdit] = value;
188
+ return interactForBlueprintObject(args, ctx);
189
+ }
190
+ else if (prop.format === 'enum') {
191
+ const value = await promptSelect({
192
+ message: withBackHint(`${paramToEdit}:`),
193
+ choices: prop.values.map((v) => ({
194
+ label: v.name,
195
+ value: v.name,
196
+ })),
197
+ });
198
+ args.params[paramToEdit] = value;
199
+ return interactForBlueprintObject(args, ctx);
200
+ }
201
+ else if (prop.format === 'boolean') {
202
+ const value = await promptConfirm({
203
+ message: withBackHint(`${paramToEdit}:`),
204
+ initialValue: true,
205
+ active: 'true',
206
+ inactive: 'false',
207
+ });
208
+ args.params[paramToEdit] = value;
209
+ return interactForBlueprintObject(args, ctx);
210
+ }
211
+ else if (prop.format === 'list' && prop.itemFormat === 'enum') {
212
+ const value = await promptAutocompleteMultiselect({
213
+ message: withBackHint(`${paramToEdit}:`),
214
+ choices: prop.itemEnumValues.map((v) => ({
215
+ label: v.name,
216
+ value: v.name,
217
+ })),
218
+ });
219
+ args.params[paramToEdit] = value;
220
+ return interactForBlueprintObject(args, ctx);
221
+ }
222
+ else if (prop.format === 'list') {
223
+ args.params[paramToEdit] = await interactForArray(args.params[paramToEdit] || [], `Edit the list for ${paramToEdit}`);
224
+ return interactForBlueprintObject(args, ctx);
225
+ }
226
+ else if (prop.format === 'object') {
227
+ args.params[paramToEdit] = await interactForBlueprintObject({
228
+ command: args.command,
229
+ params: {},
230
+ parameters: prop.parameters,
231
+ isSubProperty: true,
232
+ subPropertyPath: paramToEdit,
233
+ }, ctx);
234
+ return interactForBlueprintObject(args, ctx);
235
+ }
236
+ else if (prop.format === 'number') {
237
+ const value = await promptNumber({
238
+ message: withBackHint(`${paramToEdit}:`),
239
+ });
240
+ args.params[paramToEdit] = value;
241
+ return interactForBlueprintObject(args, ctx);
242
+ }
243
+ }
244
+ }
245
+ catch (error) {
246
+ if (!(error instanceof PromptCancelledError))
247
+ throw error;
248
+ return interactForBlueprintObject(args, ctx);
231
249
  }
232
250
  throw new Error(`Didn't know how to handle Blueprint parameter for property: "${paramToEdit}"`);
233
251
  };
@@ -1 +1 @@
1
- {"version":3,"file":"interact-for-blueprint-object.js","sourceRoot":"","sources":["../src/lib/interact-for-blueprint-object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interact-for-blueprint-object.js","sourceRoot":"","sources":["../src/lib/interact-for-blueprint-object.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { isDeepStrictEqual as isEqual } from 'node:util';
2
2
  import { NonInteractiveError } from './util/cli-args.js';
3
- import { promptAutocomplete } from './util/prompt.js';
3
+ import { promptAutocomplete, PromptCancelledError, withBackHint, } from './util/prompt.js';
4
4
  const uniqBy = (items, keyOf) => {
5
5
  const seen = new Set();
6
6
  return items.filter((item) => {
@@ -64,15 +64,30 @@ export async function interactForCommandSelection(commandPath, helpers) {
64
64
  possibleCommands.push([...commandPath, '[Back]']);
65
65
  }
66
66
  const commandPathStr = commandPath.join('/').replace(/-/g, '_');
67
- const selectedCommand = await promptAutocomplete({
68
- message: `Select a command: /${commandPathStr}`,
69
- choices: [
70
- ...possibleCommands.map((cmd) => ({
71
- label: cmd?.[commandPath.length] ?? `[Call /${commandPathStr} Directly]`,
72
- value: cmd?.[commandPath.length] ?? '<none>',
73
- })),
74
- ].sort((a, b) => ergonomicSort(a.value, b.value)),
75
- });
67
+ // Only a sub-command menu has a level to go back to, so only it says so.
68
+ const selectMessage = `Select a command: /${commandPathStr}`;
69
+ let selectedCommand;
70
+ try {
71
+ selectedCommand = await promptAutocomplete({
72
+ message: commandPath.length > 0 ? withBackHint(selectMessage) : selectMessage,
73
+ choices: [
74
+ ...possibleCommands.map((cmd) => ({
75
+ label: cmd?.[commandPath.length] ?? `[Call /${commandPathStr} Directly]`,
76
+ value: cmd?.[commandPath.length] ?? '<none>',
77
+ })),
78
+ ].sort((a, b) => ergonomicSort(a.value, b.value)),
79
+ });
80
+ }
81
+ catch (error) {
82
+ if (!(error instanceof PromptCancelledError))
83
+ throw error;
84
+ // Dismissing the menu means the same as its [Back] entry, which is only
85
+ // offered when there is a level to go back to. At the top there is none,
86
+ // so dismissing it stops the CLI as it always has.
87
+ if (commandPath.length === 0)
88
+ throw error;
89
+ selectedCommand = '[Back]';
90
+ }
76
91
  if (selectedCommand === '<none>') {
77
92
  return commandPath;
78
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interact-for-command-selection.js","sourceRoot":"","sources":["../src/lib/interact-for-command-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interact-for-command-selection.js","sourceRoot":"","sources":["../src/lib/interact-for-command-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,GACb,MAAM,kBAAkB,CAAA;AAEzB,MAAM,MAAM,GAAG,CAAI,KAAU,EAAE,KAA2B,EAAO,EAAE;IACjE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAA;IAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;AAEzE,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC/C,IAAI,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,CAAC,GAAG,cAAc,CAAC,MAAM,CAAA;IACvC,IAAI,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,CAAC,GAAG,cAAc,CAAC,MAAM,CAAA;IAEvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,WAAqB,EACrB,OAAuB;IAEvB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM;SACtC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;SACnC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAC/D;SACA,MAAM,CAAC;QACN,CAAC,OAAO,CAAC;QACT,CAAC,QAAQ,CAAC;QACV,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QAC7B,CAAC,QAAQ,EAAE,qBAAqB,CAAC;QACjC,CAAC,QAAQ,EAAE,WAAW,CAAC;QACvB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACpB,CAAC,QAAQ,EAAE,YAAY,CAAC;KACzB,CAAC,CAAA;IAEJ,MAAM,gBAAgB,GAAG,MAAM,CAC7B,WAAW,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CACvD,EACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAC7B,CAAA;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IAED,IACE,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC7B,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC,MAAM,EAClD,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,KAAK,iBAAiB,EAAE,CAAC;QAChD,wEAAwE;QACxE,+CAA+C;QAC/C,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB;aACjC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACrC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC;aAC1C,IAAI,CAAC,aAAa,CAAC,CAAA;QACtB,MAAM,IAAI,mBAAmB,CAC3B,GACE,WAAW,CAAC,MAAM,KAAK,CAAC;YACtB,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,4BAA4B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GACvD,qBAAqB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9C,CAAA;IACH,CAAC;IAED,iEAAiE;IACjE,qBAAqB;IACrB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAE/D,yEAAyE;IACzE,MAAM,aAAa,GAAG,sBAAsB,cAAc,EAAE,CAAA;IAE5D,IAAI,eAAuB,CAAA;IAC3B,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,kBAAkB,CAAC;YACzC,OAAO,EACL,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa;YACtE,OAAO,EAAE;gBACP,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAChC,KAAK,EACH,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,UAAU,cAAc,YAAY;oBACnE,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,QAAQ;iBAC7C,CAAC,CAAC;aACJ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;SAClD,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC;YAAE,MAAM,KAAK,CAAA;QACzD,wEAAwE;QACxE,yEAAyE;QACzE,mDAAmD;QACnD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,KAAK,CAAA;QACzC,eAAe,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAED,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,EAAE,eAAe,CAAC,CAAA;IAExD,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAChD,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAC7B,CAAA;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,2BAA2B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}