@adobe/aio-commerce-lib-app 1.5.0 → 1.6.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/cjs/actions/app-config.cjs +17 -4
  3. package/dist/cjs/actions/app-config.d.cts +3 -4
  4. package/dist/cjs/actions/config.cjs +21 -16
  5. package/dist/cjs/actions/config.d.cts +1 -2
  6. package/dist/cjs/actions/installation.cjs +20 -14
  7. package/dist/cjs/actions/installation.d.cts +4 -5
  8. package/dist/cjs/actions/registration.cjs +1 -2
  9. package/dist/cjs/actions/registration.d.cts +2 -3
  10. package/dist/cjs/actions/scope-tree.cjs +5 -5
  11. package/dist/cjs/actions/scope-tree.d.cts +1 -4
  12. package/dist/cjs/{admin-ui-sdk-BiSopnKI.d.cts → admin-ui-sdk-DZZJCrdT.d.cts} +1 -1
  13. package/dist/cjs/{app-C6kImBl7.d.cts → app-CakwxQvs.d.cts} +129 -20
  14. package/dist/cjs/commands/index.cjs +236 -45
  15. package/dist/cjs/commands/templates/app-management/app-config.js.template +2 -2
  16. package/dist/cjs/config/index.cjs +3 -3
  17. package/dist/cjs/config/index.d.cts +354 -391
  18. package/dist/cjs/{config-ct-qMOGj.cjs → config-FNMclIFO.cjs} +4 -6
  19. package/dist/cjs/{error-C5LNOZ4f.cjs → error-D-N0PKSl.cjs} +0 -1
  20. package/dist/cjs/{index-B5WKJ3hJ.d.cts → index-Dw2NvVOY.d.cts} +2 -2
  21. package/dist/cjs/{logging-BTevALnL.cjs → logging-BVz3weoC.cjs} +1 -1
  22. package/dist/cjs/management/index.cjs +1 -1
  23. package/dist/cjs/management/index.d.cts +3 -3
  24. package/dist/cjs/{management-D1QXg4YU.cjs → management-Cvsz4VMf.cjs} +34 -9
  25. package/dist/cjs/{router-CFErodHU.cjs → router-BOR7T6qR.cjs} +1 -1
  26. package/dist/cjs/{schemas-CukVpc19.cjs → schemas-FngDuIeo.cjs} +1 -1
  27. package/dist/{es/step-0eI2x4C9.d.mts → cjs/step-CKVE0aJi.d.cts} +3 -3
  28. package/dist/cjs/{validate-b_bI4mDb.cjs → validate-DydOAZha.cjs} +4 -4
  29. package/dist/cjs/{webhooks-DS1BtgED.cjs → webhooks-tbZy9G3p.cjs} +4 -4
  30. package/dist/es/actions/app-config.d.mts +3 -4
  31. package/dist/es/actions/app-config.mjs +18 -4
  32. package/dist/es/actions/config.d.mts +1 -2
  33. package/dist/es/actions/config.mjs +20 -15
  34. package/dist/es/actions/installation.d.mts +4 -5
  35. package/dist/es/actions/installation.mjs +19 -13
  36. package/dist/es/actions/registration.d.mts +2 -3
  37. package/dist/es/actions/registration.mjs +1 -1
  38. package/dist/es/actions/scope-tree.d.mts +1 -4
  39. package/dist/es/actions/scope-tree.mjs +4 -4
  40. package/dist/es/{admin-ui-sdk-CCo2SWiL.d.mts → admin-ui-sdk-hu6iWr0A.d.mts} +1 -1
  41. package/dist/es/{app-DcY6dJiQ.d.mts → app-CakwxQvs.d.mts} +129 -20
  42. package/dist/es/commands/index.mjs +218 -27
  43. package/dist/es/commands/templates/app-management/app-config.js.template +2 -2
  44. package/dist/es/config/index.d.mts +354 -391
  45. package/dist/es/config/index.mjs +3 -3
  46. package/dist/es/{config-DGPFTk6w.mjs → config-CcE0EBG7.mjs} +4 -5
  47. package/dist/es/{index-CCov0odd.d.mts → index-Bo0tQsVq.d.mts} +2 -2
  48. package/dist/es/management/index.d.mts +3 -3
  49. package/dist/es/management/index.mjs +1 -1
  50. package/dist/es/{management-CCsOfniv.mjs → management-BZ4Y6lVp.mjs} +33 -8
  51. package/dist/{cjs/step-CWYnKbga.d.cts → es/step-D64mMPrt.d.mts} +3 -3
  52. package/dist/es/{validate-Dn3lLTGj.mjs → validate-Du3LhCre.mjs} +3 -3
  53. package/dist/es/{webhooks-Dhrkkip7.mjs → webhooks-B5oq9ULL.mjs} +3 -3
  54. package/package.json +15 -10
  55. /package/dist/cjs/{chunk-DS2yp5vX.cjs → chunk-Cozy-1ZF.cjs} +0 -0
  56. /package/dist/es/{error-DHlYzkbb.mjs → error-_RMwtrUA.mjs} +0 -0
  57. /package/dist/es/{logging-XIUXDK5T.mjs → logging-DbJHXSKh.mjs} +0 -0
  58. /package/dist/es/{router-BxaxEEu3.mjs → router-D58JJHHA.mjs} +0 -0
  59. /package/dist/es/{schemas-DOcnD16x.mjs → schemas-hRovglBF.mjs} +0 -0
@@ -12,8 +12,8 @@
12
12
  * governing permissions and limitations under the License.
13
13
  */
14
14
 
15
- import { n as CommerceAppConfigOutputModel, t as CommerceAppConfig } from "../app-C6kImBl7.cjs";
16
- import { a as CustomerMassAction, c as OrderMassAction, d as hasAdminUiSdk, i as CustomFee, l as OrderViewButton, n as AdminUiSdkRegistration, o as GridColumns, r as BannerNotification, s as MenuItem, t as AdminUiSdkConfiguration, u as ProductMassAction } from "../admin-ui-sdk-BiSopnKI.cjs";
15
+ import { n as CommerceAppConfigOutputModel, t as CommerceAppConfig } from "../app-CakwxQvs.cjs";
16
+ import { a as CustomerMassAction, c as OrderMassAction, d as hasAdminUiSdk, i as CustomFee, l as OrderViewButton, n as AdminUiSdkRegistration, o as GridColumns, r as BannerNotification, s as MenuItem, t as AdminUiSdkConfiguration, u as ProductMassAction } from "../admin-ui-sdk-DZZJCrdT.cjs";
17
17
  import * as v from "valibot";
18
18
  import { Get, SetRequiredDeep } from "type-fest";
19
19
 
@@ -32,341 +32,7 @@ import { Get, SetRequiredDeep } from "type-fest";
32
32
  * businessConfig: { ... }
33
33
  * });
34
34
  */
35
- declare function defineConfig(config: CommerceAppConfig): {
36
- metadata: {
37
- id: string;
38
- displayName: string;
39
- description: string;
40
- version: string;
41
- };
42
- businessConfig?: {
43
- schema?: ({
44
- type: "list";
45
- selectionMode: "single";
46
- options: {
47
- label: string;
48
- value: string;
49
- }[];
50
- default: string;
51
- name: string;
52
- label?: string | undefined;
53
- description?: string | undefined;
54
- env?: ("paas" | "saas")[] | undefined;
55
- } | {
56
- type: "list";
57
- selectionMode: "multiple";
58
- options: {
59
- label: string;
60
- value: string;
61
- }[];
62
- default?: string[] | undefined;
63
- name: string;
64
- label?: string | undefined;
65
- description?: string | undefined;
66
- env?: ("paas" | "saas")[] | undefined;
67
- } | {
68
- type: "text";
69
- default?: string | undefined;
70
- name: string;
71
- label?: string | undefined;
72
- description?: string | undefined;
73
- env?: ("paas" | "saas")[] | undefined;
74
- } | {
75
- type: "password";
76
- default?: "" | undefined;
77
- name: string;
78
- label?: string | undefined;
79
- description?: string | undefined;
80
- env?: ("paas" | "saas")[] | undefined;
81
- } | {
82
- type: "email";
83
- default?: string | undefined;
84
- name: string;
85
- label?: string | undefined;
86
- description?: string | undefined;
87
- env?: ("paas" | "saas")[] | undefined;
88
- } | {
89
- type: "url";
90
- default?: string | undefined;
91
- name: string;
92
- label?: string | undefined;
93
- description?: string | undefined;
94
- env?: ("paas" | "saas")[] | undefined;
95
- } | {
96
- type: "tel";
97
- default?: string | undefined;
98
- name: string;
99
- label?: string | undefined;
100
- description?: string | undefined;
101
- env?: ("paas" | "saas")[] | undefined;
102
- } | {
103
- type: "boolean";
104
- default?: boolean | undefined;
105
- name: string;
106
- label?: string | undefined;
107
- description?: string | undefined;
108
- env?: ("paas" | "saas")[] | undefined;
109
- })[] | undefined;
110
- } | undefined;
111
- eventing?: {
112
- commerce?: {
113
- provider: {
114
- label: string;
115
- description: string;
116
- key?: string | undefined;
117
- };
118
- events: {
119
- name: string;
120
- fields: {
121
- name: string;
122
- source?: string | undefined;
123
- }[];
124
- rules?: {
125
- field: string;
126
- operator: "regex" | "greaterThan" | "lessThan" | "equal" | "in" | "onChange";
127
- value: string;
128
- }[] | undefined;
129
- destination?: string | undefined;
130
- hipaa_audit_required?: boolean | undefined;
131
- priority?: boolean | undefined;
132
- force?: boolean | undefined;
133
- label: string;
134
- description: string;
135
- runtimeActions: string[];
136
- }[];
137
- }[] | undefined;
138
- external?: {
139
- provider: {
140
- label: string;
141
- description: string;
142
- key?: string | undefined;
143
- };
144
- events: {
145
- name: string;
146
- label: string;
147
- description: string;
148
- runtimeActions: string[];
149
- }[];
150
- }[] | undefined;
151
- } | undefined;
152
- adminUiSdk?: {
153
- registration: {
154
- menuItems?: {
155
- id: string;
156
- title?: string | undefined;
157
- parent?: string | undefined;
158
- sortOrder?: number | undefined;
159
- isSection?: boolean | undefined;
160
- sandbox?: string | undefined;
161
- }[] | undefined;
162
- order?: {
163
- massActions?: {
164
- displayIframe?: boolean | undefined;
165
- timeout?: number | undefined;
166
- sandbox?: string | undefined;
167
- actionId: string;
168
- label: string;
169
- title?: string | undefined;
170
- confirm?: {
171
- title?: string | undefined;
172
- message?: string | undefined;
173
- } | undefined;
174
- path: string;
175
- selectionLimit?: number | undefined;
176
- }[] | undefined;
177
- gridColumns?: {
178
- data: {
179
- meshId: string;
180
- };
181
- properties: {
182
- label: string;
183
- columnId: string;
184
- type: "string" | "boolean" | "date" | "float" | "integer";
185
- align: "left" | "right" | "center";
186
- }[];
187
- } | undefined;
188
- viewButtons?: {
189
- displayIframe?: boolean | undefined;
190
- timeout?: number | undefined;
191
- sandbox?: string | undefined;
192
- buttonId: string;
193
- label: string;
194
- confirm?: {
195
- message?: string | undefined;
196
- } | undefined;
197
- path: string;
198
- level?: 0 | 1 | -1 | undefined;
199
- sortOrder?: number | undefined;
200
- }[] | undefined;
201
- customFees?: {
202
- id: string;
203
- label: string;
204
- value: number;
205
- orderMinimumAmount?: number | undefined;
206
- applyFeeOnLastInvoice?: boolean | undefined;
207
- applyFeeOnLastCreditMemo?: boolean | undefined;
208
- }[] | undefined;
209
- } | undefined;
210
- product?: {
211
- massActions?: {
212
- displayIframe?: boolean | undefined;
213
- timeout?: number | undefined;
214
- sandbox?: string | undefined;
215
- actionId: string;
216
- label: string;
217
- title?: string | undefined;
218
- confirm?: {
219
- title?: string | undefined;
220
- message?: string | undefined;
221
- } | undefined;
222
- path: string;
223
- productSelectLimit?: number | undefined;
224
- }[] | undefined;
225
- gridColumns?: {
226
- data: {
227
- meshId: string;
228
- };
229
- properties: {
230
- label: string;
231
- columnId: string;
232
- type: "string" | "boolean" | "date" | "float" | "integer";
233
- align: "left" | "right" | "center";
234
- }[];
235
- } | undefined;
236
- } | undefined;
237
- customer?: {
238
- massActions?: {
239
- displayIframe?: boolean | undefined;
240
- timeout?: number | undefined;
241
- sandbox?: string | undefined;
242
- actionId: string;
243
- label: string;
244
- title?: string | undefined;
245
- confirm?: {
246
- title?: string | undefined;
247
- message?: string | undefined;
248
- } | undefined;
249
- path: string;
250
- customerSelectLimit?: number | undefined;
251
- }[] | undefined;
252
- gridColumns?: {
253
- data: {
254
- meshId: string;
255
- };
256
- properties: {
257
- label: string;
258
- columnId: string;
259
- type: "string" | "boolean" | "date" | "float" | "integer";
260
- align: "left" | "right" | "center";
261
- }[];
262
- } | undefined;
263
- } | undefined;
264
- bannerNotification?: {
265
- massActions?: {
266
- order?: {
267
- actionId: string;
268
- successMessage?: string | undefined;
269
- errorMessage?: string | undefined;
270
- }[] | undefined;
271
- product?: {
272
- actionId: string;
273
- successMessage?: string | undefined;
274
- errorMessage?: string | undefined;
275
- }[] | undefined;
276
- customer?: {
277
- actionId: string;
278
- successMessage?: string | undefined;
279
- errorMessage?: string | undefined;
280
- }[] | undefined;
281
- } | undefined;
282
- orderViewButtons?: {
283
- buttonId: string;
284
- successMessage?: string | undefined;
285
- errorMessage?: string | undefined;
286
- }[] | undefined;
287
- } | undefined;
288
- };
289
- } | undefined;
290
- installation?: {
291
- messages?: {
292
- preInstallation?: string | undefined;
293
- postInstallation?: string | undefined;
294
- } | undefined;
295
- customInstallationSteps?: {
296
- script: string;
297
- name: string;
298
- description: string;
299
- }[] | undefined;
300
- } | undefined;
301
- webhooks?: ({
302
- label: string;
303
- description: string;
304
- category?: "validation" | "append" | "modification" | undefined;
305
- runtimeAction: string;
306
- requireAdobeAuth?: boolean | undefined;
307
- webhook: {
308
- webhook_method: string;
309
- webhook_type: string;
310
- batch_name: string;
311
- batch_order?: number | undefined;
312
- hook_name: string;
313
- priority?: number | undefined;
314
- required?: boolean | undefined;
315
- soft_timeout?: number | undefined;
316
- timeout?: number | undefined;
317
- method: string;
318
- fallback_error_message?: string | undefined;
319
- ttl?: number | undefined;
320
- fields?: {
321
- name: string;
322
- source?: string | undefined;
323
- }[] | undefined;
324
- rules?: {
325
- field: string;
326
- operator: string;
327
- value: string;
328
- }[] | undefined;
329
- headers?: {
330
- name: string;
331
- value: string;
332
- }[] | undefined;
333
- };
334
- } | {
335
- label: string;
336
- description: string;
337
- category?: "validation" | "append" | "modification" | undefined;
338
- webhook: {
339
- url: string;
340
- webhook_method: string;
341
- webhook_type: string;
342
- batch_name: string;
343
- batch_order?: number | undefined;
344
- hook_name: string;
345
- priority?: number | undefined;
346
- required?: boolean | undefined;
347
- soft_timeout?: number | undefined;
348
- timeout?: number | undefined;
349
- method: string;
350
- fallback_error_message?: string | undefined;
351
- ttl?: number | undefined;
352
- fields?: {
353
- name: string;
354
- source?: string | undefined;
355
- }[] | undefined;
356
- rules?: {
357
- field: string;
358
- operator: string;
359
- value: string;
360
- }[] | undefined;
361
- headers?: {
362
- name: string;
363
- value: string;
364
- }[] | undefined;
365
- };
366
- })[] | undefined;
367
- } & {
368
- [key: string]: unknown;
369
- };
35
+ declare function defineConfig<const T extends CommerceAppConfig>(config: T): T;
370
36
  //#endregion
371
37
  //#region source/config/lib/parser.d.ts
372
38
  /**
@@ -414,25 +80,61 @@ declare function parseCommerceAppConfig(cwd?: string): Promise<{
414
80
  };
415
81
  businessConfig?: {
416
82
  schema: ({
417
- type: "list";
418
83
  selectionMode: "single";
84
+ default: string;
85
+ type: "list";
419
86
  options: {
420
87
  label: string;
421
88
  value: string;
422
89
  }[];
423
- default: string;
424
90
  name: string;
425
91
  label?: string | undefined;
426
92
  description?: string | undefined;
427
93
  env?: ("paas" | "saas")[] | undefined;
428
94
  } | {
429
- type: "list";
430
95
  selectionMode: "multiple";
96
+ default: string[];
97
+ type: "list";
431
98
  options: {
432
99
  label: string;
433
100
  value: string;
434
101
  }[];
435
- default: string[];
102
+ name: string;
103
+ label?: string | undefined;
104
+ description?: string | undefined;
105
+ env?: ("paas" | "saas")[] | undefined;
106
+ } | {
107
+ selectionMode: "single";
108
+ default: (resolvedOptions: {
109
+ label: string;
110
+ value: string;
111
+ }[]) => string;
112
+ type: "dynamicList";
113
+ options: (params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
114
+ label: string;
115
+ value: string;
116
+ }[] | Promise<{
117
+ label: string;
118
+ value: string;
119
+ }[]>;
120
+ name: string;
121
+ label?: string | undefined;
122
+ description?: string | undefined;
123
+ env?: ("paas" | "saas")[] | undefined;
124
+ } | {
125
+ selectionMode: "multiple";
126
+ default?: ((resolvedOptions: {
127
+ label: string;
128
+ value: string;
129
+ }[]) => string[]) | undefined;
130
+ type: "dynamicList";
131
+ options: (params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
132
+ label: string;
133
+ value: string;
134
+ }[] | Promise<{
135
+ label: string;
136
+ value: string;
137
+ }[]>;
436
138
  name: string;
437
139
  label?: string | undefined;
438
140
  description?: string | undefined;
@@ -701,91 +403,163 @@ declare const CommerceAppConfigSchemas: {
701
403
  }, undefined>;
702
404
  readonly businessConfig: v.ObjectSchema<{
703
405
  readonly schema: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.VariantSchema<"type", [v.VariantSchema<"selectionMode", [v.ObjectSchema<{
704
- readonly type: v.LiteralSchema<"list", "Expected the type to be 'list'">;
705
406
  readonly selectionMode: v.LiteralSchema<"single", "Expected the selectionMode to be 'single'">;
407
+ readonly default: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default value">, v.NonEmptyAction<string, "The default value must not be empty">]>;
408
+ readonly type: v.LiteralSchema<"list", "Expected the type to be 'list'">;
706
409
  readonly options: v.ArraySchema<v.ObjectSchema<{
707
410
  readonly label: v.StringSchema<"Expected a string for the option label">;
708
411
  readonly value: v.StringSchema<"Expected a string for the option value">;
709
412
  }, undefined>, "Expected an array of list options">;
710
- readonly default: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default value">, v.NonEmptyAction<string, "The default value must not be empty">]>;
711
413
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
712
414
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
713
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
415
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
714
416
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
715
417
  }, undefined>, v.ObjectSchema<{
716
- readonly type: v.LiteralSchema<"list", "Expected the type to be 'list'">;
717
418
  readonly selectionMode: v.LiteralSchema<"multiple", "Expected the selectionMode to be 'multiple'">;
419
+ readonly default: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for each default value">, v.NonEmptyAction<string, "Each default value must not be empty">]>, "Expected an array of default values">, readonly []>;
420
+ readonly type: v.LiteralSchema<"list", "Expected the type to be 'list'">;
718
421
  readonly options: v.ArraySchema<v.ObjectSchema<{
719
422
  readonly label: v.StringSchema<"Expected a string for the option label">;
720
423
  readonly value: v.StringSchema<"Expected a string for the option value">;
721
424
  }, undefined>, "Expected an array of list options">;
722
- readonly default: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for each default value">, v.NonEmptyAction<string, "Each default value must not be empty">]>, "Expected an array of default values">, readonly []>;
723
425
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
724
426
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
725
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
427
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
428
+ readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
429
+ }, undefined>], undefined>, v.VariantSchema<"selectionMode", [v.ObjectSchema<{
430
+ readonly selectionMode: v.LiteralSchema<"single", "Expected the selectionMode to be 'single'">;
431
+ readonly default: v.CustomSchema<(resolvedOptions: {
432
+ label: string;
433
+ value: string;
434
+ }[]) => string, v.ErrorMessage<v.CustomIssue> | undefined>;
435
+ readonly type: v.LiteralSchema<"dynamicList", "Expected the type to be 'dynamicList'">;
436
+ readonly options: v.CustomSchema<(params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
437
+ label: string;
438
+ value: string;
439
+ }[] | Promise<{
440
+ label: string;
441
+ value: string;
442
+ }[]>, v.ErrorMessage<v.CustomIssue> | undefined>;
443
+ readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
444
+ readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
445
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
446
+ readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
447
+ }, undefined>, v.ObjectSchema<{
448
+ readonly selectionMode: v.LiteralSchema<"multiple", "Expected the selectionMode to be 'multiple'">;
449
+ readonly default: v.OptionalSchema<v.CustomSchema<(resolvedOptions: {
450
+ label: string;
451
+ value: string;
452
+ }[]) => string[], v.ErrorMessage<v.CustomIssue> | undefined>, undefined>;
453
+ readonly type: v.LiteralSchema<"dynamicList", "Expected the type to be 'dynamicList'">;
454
+ readonly options: v.CustomSchema<(params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
455
+ label: string;
456
+ value: string;
457
+ }[] | Promise<{
458
+ label: string;
459
+ value: string;
460
+ }[]>, v.ErrorMessage<v.CustomIssue> | undefined>;
461
+ readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
462
+ readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
463
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
726
464
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
727
465
  }, undefined>], undefined>, v.ObjectSchema<{
728
466
  readonly type: v.LiteralSchema<"text", "Expected the type to be 'text'">;
729
467
  readonly default: v.OptionalSchema<v.StringSchema<"Expected a string for the default value">, "">;
730
468
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
731
469
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
732
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
470
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
733
471
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
734
472
  }, undefined>, v.ObjectSchema<{
735
473
  readonly type: v.LiteralSchema<"password", "Expected the type to be 'password'">;
736
474
  readonly default: v.OptionalSchema<v.LiteralSchema<"", "Password fields do not have a default value">, "">;
737
475
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
738
476
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
739
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
477
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
740
478
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
741
479
  }, undefined>, v.ObjectSchema<{
742
480
  readonly type: v.LiteralSchema<"email", "Expected the type to be 'email'">;
743
481
  readonly default: v.OptionalSchema<v.UnionSchema<[v.LiteralSchema<"", undefined>, v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default email value">, v.EmailAction<string, "The email must be a valid email address">]>], undefined>, "">;
744
482
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
745
483
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
746
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
484
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
747
485
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
748
486
  }, undefined>, v.ObjectSchema<{
749
487
  readonly type: v.LiteralSchema<"url", "Expected the type to be 'url'">;
750
488
  readonly default: v.OptionalSchema<v.UnionSchema<[v.LiteralSchema<"", undefined>, v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default URL value">, v.UrlAction<string, "The URL must be a valid URL">]>], undefined>, "">;
751
489
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
752
490
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
753
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
491
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
754
492
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
755
493
  }, undefined>, v.ObjectSchema<{
756
494
  readonly type: v.LiteralSchema<"tel", "Expected the type to be 'tel'">;
757
495
  readonly default: v.OptionalSchema<v.UnionSchema<[v.LiteralSchema<"", undefined>, v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default phone number value">, v.RegexAction<string, "The phone number must contain only numbers and/or country codes">]>], undefined>, "">;
758
496
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
759
497
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
760
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
498
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
761
499
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
762
500
  }, undefined>, v.ObjectSchema<{
763
501
  readonly type: v.LiteralSchema<"boolean", "Expected the type to be 'boolean'">;
764
502
  readonly default: v.OptionalSchema<v.BooleanSchema<"Expected a boolean for the default value">, false>;
765
503
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
766
504
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
767
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
505
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
768
506
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
769
507
  }, undefined>], undefined>, "Expected an array of configuration fields">, v.MinLengthAction<({
770
- type: "list";
771
508
  selectionMode: "single";
509
+ default: string;
510
+ type: "list";
772
511
  options: {
773
512
  label: string;
774
513
  value: string;
775
514
  }[];
776
- default: string;
777
515
  name: string;
778
516
  label?: string | undefined;
779
517
  description?: string | undefined;
780
518
  env?: ("paas" | "saas")[] | undefined;
781
519
  } | {
782
- type: "list";
783
520
  selectionMode: "multiple";
521
+ default: string[];
522
+ type: "list";
784
523
  options: {
785
524
  label: string;
786
525
  value: string;
787
526
  }[];
788
- default: string[];
527
+ name: string;
528
+ label?: string | undefined;
529
+ description?: string | undefined;
530
+ env?: ("paas" | "saas")[] | undefined;
531
+ } | {
532
+ selectionMode: "single";
533
+ default: (resolvedOptions: {
534
+ label: string;
535
+ value: string;
536
+ }[]) => string;
537
+ type: "dynamicList";
538
+ options: (params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
539
+ label: string;
540
+ value: string;
541
+ }[] | Promise<{
542
+ label: string;
543
+ value: string;
544
+ }[]>;
545
+ name: string;
546
+ label?: string | undefined;
547
+ description?: string | undefined;
548
+ env?: ("paas" | "saas")[] | undefined;
549
+ } | {
550
+ selectionMode: "multiple";
551
+ default?: ((resolvedOptions: {
552
+ label: string;
553
+ value: string;
554
+ }[]) => string[]) | undefined;
555
+ type: "dynamicList";
556
+ options: (params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
557
+ label: string;
558
+ value: string;
559
+ }[] | Promise<{
560
+ label: string;
561
+ value: string;
562
+ }[]>;
789
563
  name: string;
790
564
  label?: string | undefined;
791
565
  description?: string | undefined;
@@ -835,7 +609,7 @@ declare const CommerceAppConfigSchemas: {
835
609
  })[], 1, "At least one configuration parameter is required">]>, readonly []>;
836
610
  }, undefined>;
837
611
  readonly eventing: v.ObjectSchema<{
838
- readonly commerce: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
612
+ readonly commerce: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
839
613
  readonly provider: v.ObjectSchema<{
840
614
  readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 100, "The provider label must not be longer than 100 characters">]>;
841
615
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The provider description must not be longer than 255 characters">]>;
@@ -863,8 +637,33 @@ declare const CommerceAppConfigSchemas: {
863
637
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The event description must not be longer than 255 characters">]>;
864
638
  readonly runtimeActions: v.ArraySchema<v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "Runtime action must be in the format \"<package>/<action>\" (e.g., \"my-package/my-action\")">]>, "Expected an array of runtime actions in the format <package>/<action>">;
865
639
  }, undefined>, "Expected an array of Commerce events">;
866
- }, undefined>, "Expected an array of Commerce event sources">, undefined>;
867
- readonly external: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
640
+ }, undefined>, "Expected an array of Commerce event sources">, v.CheckAction<{
641
+ provider: {
642
+ label: string;
643
+ description: string;
644
+ key?: string | undefined;
645
+ };
646
+ events: {
647
+ name: string;
648
+ fields: {
649
+ name: string;
650
+ source?: string | undefined;
651
+ }[];
652
+ rules?: {
653
+ field: string;
654
+ operator: "regex" | "greaterThan" | "lessThan" | "equal" | "in" | "onChange";
655
+ value: string;
656
+ }[] | undefined;
657
+ destination?: string | undefined;
658
+ hipaa_audit_required?: boolean | undefined;
659
+ priority?: boolean | undefined;
660
+ force?: boolean | undefined;
661
+ label: string;
662
+ description: string;
663
+ runtimeActions: string[];
664
+ }[];
665
+ }[], "Commerce provider labels must be unique">]>, undefined>;
666
+ readonly external: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
868
667
  readonly provider: v.ObjectSchema<{
869
668
  readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 100, "The provider label must not be longer than 100 characters">]>;
870
669
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The provider description must not be longer than 255 characters">]>;
@@ -876,7 +675,19 @@ declare const CommerceAppConfigSchemas: {
876
675
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The event description must not be longer than 255 characters">]>;
877
676
  readonly runtimeActions: v.ArraySchema<v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "Runtime action must be in the format \"<package>/<action>\" (e.g., \"my-package/my-action\")">]>, "Expected an array of runtime actions in the format <package>/<action>">;
878
677
  }, undefined>, "Expected an array of external events">;
879
- }, undefined>, "Expected an array of external event sources">, undefined>;
678
+ }, undefined>, "Expected an array of external event sources">, v.CheckAction<{
679
+ provider: {
680
+ label: string;
681
+ description: string;
682
+ key?: string | undefined;
683
+ };
684
+ events: {
685
+ name: string;
686
+ label: string;
687
+ description: string;
688
+ runtimeActions: string[];
689
+ }[];
690
+ }[], "External provider labels must be unique">]>, undefined>;
880
691
  }, undefined>;
881
692
  readonly installation: v.ObjectSchema<{
882
693
  readonly messages: v.OptionalSchema<v.ObjectSchema<{
@@ -1025,91 +836,163 @@ declare const CommerceAppConfigSchemas: {
1025
836
  };
1026
837
  })[], 1, "webhooks array must contain at least one webhook when present">]>, undefined>;
1027
838
  readonly "businessConfig.schema": v.SchemaWithPipe<readonly [v.ArraySchema<v.VariantSchema<"type", [v.VariantSchema<"selectionMode", [v.ObjectSchema<{
1028
- readonly type: v.LiteralSchema<"list", "Expected the type to be 'list'">;
1029
839
  readonly selectionMode: v.LiteralSchema<"single", "Expected the selectionMode to be 'single'">;
840
+ readonly default: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default value">, v.NonEmptyAction<string, "The default value must not be empty">]>;
841
+ readonly type: v.LiteralSchema<"list", "Expected the type to be 'list'">;
1030
842
  readonly options: v.ArraySchema<v.ObjectSchema<{
1031
843
  readonly label: v.StringSchema<"Expected a string for the option label">;
1032
844
  readonly value: v.StringSchema<"Expected a string for the option value">;
1033
845
  }, undefined>, "Expected an array of list options">;
1034
- readonly default: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default value">, v.NonEmptyAction<string, "The default value must not be empty">]>;
1035
846
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
1036
847
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
1037
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
848
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
1038
849
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
1039
850
  }, undefined>, v.ObjectSchema<{
1040
- readonly type: v.LiteralSchema<"list", "Expected the type to be 'list'">;
1041
851
  readonly selectionMode: v.LiteralSchema<"multiple", "Expected the selectionMode to be 'multiple'">;
852
+ readonly default: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for each default value">, v.NonEmptyAction<string, "Each default value must not be empty">]>, "Expected an array of default values">, readonly []>;
853
+ readonly type: v.LiteralSchema<"list", "Expected the type to be 'list'">;
1042
854
  readonly options: v.ArraySchema<v.ObjectSchema<{
1043
855
  readonly label: v.StringSchema<"Expected a string for the option label">;
1044
856
  readonly value: v.StringSchema<"Expected a string for the option value">;
1045
857
  }, undefined>, "Expected an array of list options">;
1046
- readonly default: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for each default value">, v.NonEmptyAction<string, "Each default value must not be empty">]>, "Expected an array of default values">, readonly []>;
1047
858
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
1048
859
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
1049
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
860
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
861
+ readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
862
+ }, undefined>], undefined>, v.VariantSchema<"selectionMode", [v.ObjectSchema<{
863
+ readonly selectionMode: v.LiteralSchema<"single", "Expected the selectionMode to be 'single'">;
864
+ readonly default: v.CustomSchema<(resolvedOptions: {
865
+ label: string;
866
+ value: string;
867
+ }[]) => string, v.ErrorMessage<v.CustomIssue> | undefined>;
868
+ readonly type: v.LiteralSchema<"dynamicList", "Expected the type to be 'dynamicList'">;
869
+ readonly options: v.CustomSchema<(params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
870
+ label: string;
871
+ value: string;
872
+ }[] | Promise<{
873
+ label: string;
874
+ value: string;
875
+ }[]>, v.ErrorMessage<v.CustomIssue> | undefined>;
876
+ readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
877
+ readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
878
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
879
+ readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
880
+ }, undefined>, v.ObjectSchema<{
881
+ readonly selectionMode: v.LiteralSchema<"multiple", "Expected the selectionMode to be 'multiple'">;
882
+ readonly default: v.OptionalSchema<v.CustomSchema<(resolvedOptions: {
883
+ label: string;
884
+ value: string;
885
+ }[]) => string[], v.ErrorMessage<v.CustomIssue> | undefined>, undefined>;
886
+ readonly type: v.LiteralSchema<"dynamicList", "Expected the type to be 'dynamicList'">;
887
+ readonly options: v.CustomSchema<(params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
888
+ label: string;
889
+ value: string;
890
+ }[] | Promise<{
891
+ label: string;
892
+ value: string;
893
+ }[]>, v.ErrorMessage<v.CustomIssue> | undefined>;
894
+ readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
895
+ readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
896
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
1050
897
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
1051
898
  }, undefined>], undefined>, v.ObjectSchema<{
1052
899
  readonly type: v.LiteralSchema<"text", "Expected the type to be 'text'">;
1053
900
  readonly default: v.OptionalSchema<v.StringSchema<"Expected a string for the default value">, "">;
1054
901
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
1055
902
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
1056
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
903
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
1057
904
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
1058
905
  }, undefined>, v.ObjectSchema<{
1059
906
  readonly type: v.LiteralSchema<"password", "Expected the type to be 'password'">;
1060
907
  readonly default: v.OptionalSchema<v.LiteralSchema<"", "Password fields do not have a default value">, "">;
1061
908
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
1062
909
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
1063
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
910
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
1064
911
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
1065
912
  }, undefined>, v.ObjectSchema<{
1066
913
  readonly type: v.LiteralSchema<"email", "Expected the type to be 'email'">;
1067
914
  readonly default: v.OptionalSchema<v.UnionSchema<[v.LiteralSchema<"", undefined>, v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default email value">, v.EmailAction<string, "The email must be a valid email address">]>], undefined>, "">;
1068
915
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
1069
916
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
1070
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
917
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
1071
918
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
1072
919
  }, undefined>, v.ObjectSchema<{
1073
920
  readonly type: v.LiteralSchema<"url", "Expected the type to be 'url'">;
1074
921
  readonly default: v.OptionalSchema<v.UnionSchema<[v.LiteralSchema<"", undefined>, v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default URL value">, v.UrlAction<string, "The URL must be a valid URL">]>], undefined>, "">;
1075
922
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
1076
923
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
1077
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
924
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
1078
925
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
1079
926
  }, undefined>, v.ObjectSchema<{
1080
927
  readonly type: v.LiteralSchema<"tel", "Expected the type to be 'tel'">;
1081
928
  readonly default: v.OptionalSchema<v.UnionSchema<[v.LiteralSchema<"", undefined>, v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the default phone number value">, v.RegexAction<string, "The phone number must contain only numbers and/or country codes">]>], undefined>, "">;
1082
929
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
1083
930
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
1084
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
931
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
1085
932
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
1086
933
  }, undefined>, v.ObjectSchema<{
1087
934
  readonly type: v.LiteralSchema<"boolean", "Expected the type to be 'boolean'">;
1088
935
  readonly default: v.OptionalSchema<v.BooleanSchema<"Expected a boolean for the default value">, false>;
1089
936
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field name">, v.NonEmptyAction<string, "The field name must not be empty">]>;
1090
937
  readonly label: v.OptionalSchema<v.StringSchema<"Expected a string for the field label">, undefined>;
1091
- readonly description: v.OptionalSchema<v.StringSchema<"Expected a string for the field description">, undefined>;
938
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"Expected a string for the field description">, v.CheckAction<string, "Field description contains an invalid markdown URL.">]>, undefined>;
1092
939
  readonly env: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<readonly ["paas", "saas"], `Expected one of: ${string}`>, "Expected an array of commerce environments for the field \"env\"">, v.NonEmptyAction<("paas" | "saas")[], "The \"env\" array must contain at least one commerce environment">]>, undefined>;
1093
940
  }, undefined>], undefined>, "Expected an array of configuration fields">, v.MinLengthAction<({
1094
- type: "list";
1095
941
  selectionMode: "single";
942
+ default: string;
943
+ type: "list";
1096
944
  options: {
1097
945
  label: string;
1098
946
  value: string;
1099
947
  }[];
1100
- default: string;
1101
948
  name: string;
1102
949
  label?: string | undefined;
1103
950
  description?: string | undefined;
1104
951
  env?: ("paas" | "saas")[] | undefined;
1105
952
  } | {
1106
- type: "list";
1107
953
  selectionMode: "multiple";
954
+ default: string[];
955
+ type: "list";
1108
956
  options: {
1109
957
  label: string;
1110
958
  value: string;
1111
959
  }[];
1112
- default: string[];
960
+ name: string;
961
+ label?: string | undefined;
962
+ description?: string | undefined;
963
+ env?: ("paas" | "saas")[] | undefined;
964
+ } | {
965
+ selectionMode: "single";
966
+ default: (resolvedOptions: {
967
+ label: string;
968
+ value: string;
969
+ }[]) => string;
970
+ type: "dynamicList";
971
+ options: (params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
972
+ label: string;
973
+ value: string;
974
+ }[] | Promise<{
975
+ label: string;
976
+ value: string;
977
+ }[]>;
978
+ name: string;
979
+ label?: string | undefined;
980
+ description?: string | undefined;
981
+ env?: ("paas" | "saas")[] | undefined;
982
+ } | {
983
+ selectionMode: "multiple";
984
+ default?: ((resolvedOptions: {
985
+ label: string;
986
+ value: string;
987
+ }[]) => string[]) | undefined;
988
+ type: "dynamicList";
989
+ options: (params: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => {
990
+ label: string;
991
+ value: string;
992
+ }[] | Promise<{
993
+ label: string;
994
+ value: string;
995
+ }[]>;
1113
996
  name: string;
1114
997
  label?: string | undefined;
1115
998
  description?: string | undefined;
@@ -1157,7 +1040,7 @@ declare const CommerceAppConfigSchemas: {
1157
1040
  description?: string | undefined;
1158
1041
  env?: ("paas" | "saas")[] | undefined;
1159
1042
  })[], 1, "At least one configuration parameter is required">]>;
1160
- readonly "eventing.commerce": v.ArraySchema<v.ObjectSchema<{
1043
+ readonly "eventing.commerce": v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
1161
1044
  readonly provider: v.ObjectSchema<{
1162
1045
  readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 100, "The provider label must not be longer than 100 characters">]>;
1163
1046
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The provider description must not be longer than 255 characters">]>;
@@ -1185,8 +1068,33 @@ declare const CommerceAppConfigSchemas: {
1185
1068
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The event description must not be longer than 255 characters">]>;
1186
1069
  readonly runtimeActions: v.ArraySchema<v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "Runtime action must be in the format \"<package>/<action>\" (e.g., \"my-package/my-action\")">]>, "Expected an array of runtime actions in the format <package>/<action>">;
1187
1070
  }, undefined>, "Expected an array of Commerce events">;
1188
- }, undefined>, "Expected an array of Commerce event sources">;
1189
- readonly "eventing.external": v.ArraySchema<v.ObjectSchema<{
1071
+ }, undefined>, "Expected an array of Commerce event sources">, v.CheckAction<{
1072
+ provider: {
1073
+ label: string;
1074
+ description: string;
1075
+ key?: string | undefined;
1076
+ };
1077
+ events: {
1078
+ name: string;
1079
+ fields: {
1080
+ name: string;
1081
+ source?: string | undefined;
1082
+ }[];
1083
+ rules?: {
1084
+ field: string;
1085
+ operator: "regex" | "greaterThan" | "lessThan" | "equal" | "in" | "onChange";
1086
+ value: string;
1087
+ }[] | undefined;
1088
+ destination?: string | undefined;
1089
+ hipaa_audit_required?: boolean | undefined;
1090
+ priority?: boolean | undefined;
1091
+ force?: boolean | undefined;
1092
+ label: string;
1093
+ description: string;
1094
+ runtimeActions: string[];
1095
+ }[];
1096
+ }[], "Commerce provider labels must be unique">]>;
1097
+ readonly "eventing.external": v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
1190
1098
  readonly provider: v.ObjectSchema<{
1191
1099
  readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 100, "The provider label must not be longer than 100 characters">]>;
1192
1100
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The provider description must not be longer than 255 characters">]>;
@@ -1198,7 +1106,19 @@ declare const CommerceAppConfigSchemas: {
1198
1106
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The event description must not be longer than 255 characters">]>;
1199
1107
  readonly runtimeActions: v.ArraySchema<v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "Runtime action must be in the format \"<package>/<action>\" (e.g., \"my-package/my-action\")">]>, "Expected an array of runtime actions in the format <package>/<action>">;
1200
1108
  }, undefined>, "Expected an array of external events">;
1201
- }, undefined>, "Expected an array of external event sources">;
1109
+ }, undefined>, "Expected an array of external event sources">, v.CheckAction<{
1110
+ provider: {
1111
+ label: string;
1112
+ description: string;
1113
+ key?: string | undefined;
1114
+ };
1115
+ events: {
1116
+ name: string;
1117
+ label: string;
1118
+ description: string;
1119
+ runtimeActions: string[];
1120
+ }[];
1121
+ }[], "External provider labels must be unique">]>;
1202
1122
  readonly "installation.customInstallationSteps": v.ArraySchema<v.ObjectSchema<{
1203
1123
  readonly script: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "Script path must end with .js (e.g., \"./setup.js\", \"./scripts/setup.js\", or \"../../scripts/setup.js\")">]>;
1204
1124
  readonly name: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.MaxLengthAction<string, 255, "The step name must not be longer than 255 characters">]>;
@@ -1500,22 +1420,28 @@ declare function validateCommerceAppConfig(config: unknown): CommerceAppConfigOu
1500
1420
  declare function validateCommerceAppConfigDomain<T extends CommerceAppConfigDomain>(config: unknown, domain: T): NonNullable<Get<CommerceAppConfigOutputModel, T>>;
1501
1421
  //#endregion
1502
1422
  //#region source/config/schema/business-configuration.d.ts
1423
+ /** Any commerce app config — input contract or validated output. */
1424
+ type AnyCommerceAppConfig = CommerceAppConfig | CommerceAppConfigOutputModel;
1503
1425
  /** Config type when business config is present. */
1504
- type AppConfigWithBusinessConfig = CommerceAppConfigOutputModel & {
1505
- businessConfig: NonNullable<CommerceAppConfigOutputModel["businessConfig"]>;
1426
+ type AppConfigWithBusinessConfig<T extends AnyCommerceAppConfig> = T & {
1427
+ businessConfig: NonNullable<T["businessConfig"]>;
1506
1428
  };
1507
1429
  /** Config type when business config schema is present. */
1508
- type AppConfigWithBusinessConfigSchema = SetRequiredDeep<AppConfigWithBusinessConfig, "businessConfig.schema">;
1430
+ type AppConfigWithBusinessConfigSchema<T extends AnyCommerceAppConfig> = T & {
1431
+ businessConfig: NonNullable<T["businessConfig"]> & {
1432
+ schema: NonNullable<NonNullable<T["businessConfig"]>["schema"]>;
1433
+ };
1434
+ };
1509
1435
  /**
1510
1436
  * Check if config has business config.
1511
1437
  * @param config - The configuration to check.
1512
1438
  */
1513
- declare function hasBusinessConfig(config: CommerceAppConfigOutputModel): config is AppConfigWithBusinessConfig;
1439
+ declare function hasBusinessConfig<T extends AnyCommerceAppConfig>(config: T): config is T & AppConfigWithBusinessConfig<T>;
1514
1440
  /**
1515
1441
  * Check if config has business config schema.
1516
1442
  * @param config - The configuration to check.
1517
1443
  */
1518
- declare function hasBusinessConfigSchema(config: CommerceAppConfigOutputModel): config is AppConfigWithBusinessConfigSchema;
1444
+ declare function hasBusinessConfigSchema<T extends AnyCommerceAppConfig>(config: T): config is T & AppConfigWithBusinessConfigSchema<T>;
1519
1445
  //#endregion
1520
1446
  //#region source/config/schema/eventing.d.ts
1521
1447
  /** Schema for event provider configuration */
@@ -1600,7 +1526,7 @@ declare const ExternalEventSourceSchema: v.ObjectSchema<{
1600
1526
  }, undefined>;
1601
1527
  /** Schema for eventing configuration with separate commerce and external arrays */
1602
1528
  declare const EventingSchema: v.ObjectSchema<{
1603
- readonly commerce: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1529
+ readonly commerce: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
1604
1530
  readonly provider: v.ObjectSchema<{
1605
1531
  readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 100, "The provider label must not be longer than 100 characters">]>;
1606
1532
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The provider description must not be longer than 255 characters">]>;
@@ -1628,8 +1554,33 @@ declare const EventingSchema: v.ObjectSchema<{
1628
1554
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The event description must not be longer than 255 characters">]>;
1629
1555
  readonly runtimeActions: v.ArraySchema<v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "Runtime action must be in the format \"<package>/<action>\" (e.g., \"my-package/my-action\")">]>, "Expected an array of runtime actions in the format <package>/<action>">;
1630
1556
  }, undefined>, "Expected an array of Commerce events">;
1631
- }, undefined>, "Expected an array of Commerce event sources">, undefined>;
1632
- readonly external: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1557
+ }, undefined>, "Expected an array of Commerce event sources">, v.CheckAction<{
1558
+ provider: {
1559
+ label: string;
1560
+ description: string;
1561
+ key?: string | undefined;
1562
+ };
1563
+ events: {
1564
+ name: string;
1565
+ fields: {
1566
+ name: string;
1567
+ source?: string | undefined;
1568
+ }[];
1569
+ rules?: {
1570
+ field: string;
1571
+ operator: "regex" | "greaterThan" | "lessThan" | "equal" | "in" | "onChange";
1572
+ value: string;
1573
+ }[] | undefined;
1574
+ destination?: string | undefined;
1575
+ hipaa_audit_required?: boolean | undefined;
1576
+ priority?: boolean | undefined;
1577
+ force?: boolean | undefined;
1578
+ label: string;
1579
+ description: string;
1580
+ runtimeActions: string[];
1581
+ }[];
1582
+ }[], "Commerce provider labels must be unique">]>, undefined>;
1583
+ readonly external: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
1633
1584
  readonly provider: v.ObjectSchema<{
1634
1585
  readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 100, "The provider label must not be longer than 100 characters">]>;
1635
1586
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The provider description must not be longer than 255 characters">]>;
@@ -1641,7 +1592,19 @@ declare const EventingSchema: v.ObjectSchema<{
1641
1592
  readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, `${string} can only contain letters, numbers, spaces, underscores, hyphens, dots, colons, parentheses, commas, @, and /`>, v.MaxLengthAction<string, 255, "The event description must not be longer than 255 characters">]>;
1642
1593
  readonly runtimeActions: v.ArraySchema<v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "Runtime action must be in the format \"<package>/<action>\" (e.g., \"my-package/my-action\")">]>, "Expected an array of runtime actions in the format <package>/<action>">;
1643
1594
  }, undefined>, "Expected an array of external events">;
1644
- }, undefined>, "Expected an array of external event sources">, undefined>;
1595
+ }, undefined>, "Expected an array of external event sources">, v.CheckAction<{
1596
+ provider: {
1597
+ label: string;
1598
+ description: string;
1599
+ key?: string | undefined;
1600
+ };
1601
+ events: {
1602
+ name: string;
1603
+ label: string;
1604
+ description: string;
1605
+ runtimeActions: string[];
1606
+ }[];
1607
+ }[], "External provider labels must be unique">]>, undefined>;
1645
1608
  }, undefined>;
1646
1609
  /** The eventing configuration for an Adobe Commerce application */
1647
1610
  type EventingConfiguration = v.InferInput<typeof EventingSchema>;
@@ -2009,4 +1972,4 @@ type WebhooksConfig = CommerceAppConfigOutputModel & {
2009
1972
  */
2010
1973
  declare function hasWebhooks(config: CommerceAppConfigOutputModel): config is WebhooksConfig;
2011
1974
  //#endregion
2012
- export { type AdminUiSdkConfiguration, type AdminUiSdkRegistration, type AppConfigWithBusinessConfig, type AppConfigWithBusinessConfigSchema, AppEvent, type ApplicationMetadata, type BannerNotification, type CommerceAppConfig, type CommerceAppConfigDomain, CommerceAppConfigSchemas, CommerceEvent, CommerceEventSource, CommerceEventSourceSchema, CommerceEventsConfig, type CustomFee, type CustomerMassAction, EventProvider, EventingConfiguration, EventingSchema, EventsConfig, ExternalEvent, ExternalEventSource, ExternalEventSourceSchema, ExternalEventsConfig, type GridColumns, type MenuItem, type OrderMassAction, type OrderViewButton, type ProductMassAction, WebhookDefinition, WebhookEntry, WebhookField, WebhookHeader, WebhookRule, WebhooksConfig, WebhooksConfiguration, WebhooksSchema, defineConfig, getConfigDomains, hasAdminUiSdk, hasBusinessConfig, hasBusinessConfigSchema, hasCommerceEvents, hasConfigDomain, hasCustomInstallation, hasCustomInstallationSteps, hasEventing, hasExternalEvents, hasMetadata, hasWebhooks, parseCommerceAppConfig, readCommerceAppConfig, resolveCommerceAppConfig, validateCommerceAppConfig, validateCommerceAppConfigDomain };
1975
+ export { type AdminUiSdkConfiguration, type AdminUiSdkRegistration, type AppConfigWithBusinessConfig, type AppConfigWithBusinessConfigSchema, type AppEvent, type ApplicationMetadata, type BannerNotification, type CommerceAppConfig, type CommerceAppConfigDomain, CommerceAppConfigSchemas, type CommerceEvent, type CommerceEventSource, type CommerceEventSourceSchema, type CommerceEventsConfig, type CustomFee, type CustomerMassAction, type EventProvider, type EventingConfiguration, type EventingSchema, type EventsConfig, type ExternalEvent, type ExternalEventSource, type ExternalEventSourceSchema, type ExternalEventsConfig, type GridColumns, type MenuItem, type OrderMassAction, type OrderViewButton, type ProductMassAction, type WebhookDefinition, type WebhookEntry, type WebhookField, type WebhookHeader, type WebhookRule, type WebhooksConfig, type WebhooksConfiguration, type WebhooksSchema, defineConfig, getConfigDomains, hasAdminUiSdk, hasBusinessConfig, hasBusinessConfigSchema, hasCommerceEvents, hasConfigDomain, hasCustomInstallation, hasCustomInstallationSteps, hasEventing, hasExternalEvents, hasMetadata, hasWebhooks, parseCommerceAppConfig, readCommerceAppConfig, resolveCommerceAppConfig, validateCommerceAppConfig, validateCommerceAppConfigDomain };