@adobe/aio-commerce-lib-events 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @adobe/aio-commerce-lib-events
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#85](https://github.com/adobe/aio-commerce-sdk/pull/85) [`cd6e4d7`](https://github.com/adobe/aio-commerce-sdk/commit/cd6e4d786c82e964808b402c84e124e1db621e9e) Thanks [@iivvaannxx](https://github.com/iivvaannxx)! - All API functions are made explicitly asynchronous for consistent error handling via `Promise`. Fix type bugs with the factory functions used to instantiate new API clients.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [[`e0db24c`](https://github.com/adobe/aio-commerce-sdk/commit/e0db24c04aed9a6df72e80d5395aa41374570b6a)]:
12
+ - @adobe/aio-commerce-lib-auth@0.4.0
13
+
3
14
  ## 0.1.0
4
15
 
5
16
  ### Minor Changes
package/README.md CHANGED
@@ -1,3 +1,20 @@
1
- # `@adobe/aio-commerce-lib-events`
1
+ # `@adobe/aio-commerce-lib-core`
2
2
 
3
- Description for `@adobe/aio-commerce-lib-events`
3
+ > [!WARNING]
4
+ > This package is a work in progress and is not yet ready for use yet. You may be able to install it, but if you do, expect breaking changes.
5
+
6
+ This package provides an interface to interact with the Adobe I/O and Commerce Eventing APIs.
7
+
8
+ ## Installation
9
+
10
+ ```shell
11
+ pnpm install @adobe/aio-commerce-lib-events
12
+ ```
13
+
14
+ ## Usage
15
+
16
+ See the [Usage Guide](./docs/usage.md) for more information.
17
+
18
+ ## Contributing
19
+
20
+ This package is part of the Adobe Commerce SDK monorepo. See the [Contributing Guide](https://github.com/adobe/aio-commerce-sdk/blob/main/.github/CONTRIBUTING.md) and [Development Guide](https://github.com/adobe/aio-commerce-sdk/blob/main/.github/DEVELOPMENT.md) for development setup and guidelines.
@@ -11,4 +11,4 @@
11
11
  * OF ANY KIND, either express or implied. See the License for the specific language
12
12
  * governing permissions and limitations under the License.
13
13
  */
14
- const require_ky=require(`../ky-Rubdb7BL.cjs`),__adobe_aio_commerce_lib_core_error=require_ky.p(require(`@adobe/aio-commerce-lib-core/error`)),valibot=require_ky.p(require(`valibot`)),ky=require_ky.p(require(`ky`));function workspaceConfigurationSchema(propertyName){return valibot.union([valibot.pipe(require_ky.l(propertyName),valibot.empty()),valibot.pipe(require_ky.l(propertyName),valibot.parseJson(void 0,`Expected valid JSON string for property '${propertyName}'`),valibot.record(valibot.string(),valibot.unknown()),valibot.stringifyJson()),valibot.pipe(valibot.record(valibot.string(),valibot.unknown()),valibot.stringifyJson(void 0,`Expected valid JSON data for property '${propertyName}'`))])}const EventProviderGetByIdParamsSchema=valibot.object({providerId:require_ky.l(`providerId`)}),EventProviderCreateParamsSchema=valibot.object({providerId:require_ky.l(`providerId`),instanceId:require_ky.l(`instanceId`),label:valibot.optional(require_ky.l(`label`)),description:valibot.optional(require_ky.l(`description`)),associatedWorkspaceConfiguration:valibot.optional(workspaceConfigurationSchema(`associatedWorkspaceConfiguration`))});var endpoints_exports={};require_ky.o(endpoints_exports,{createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});function getAllEventProviders(httpClient,fetchOptions){let withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.get(`eventing/eventProvider`,fetchOptions).json()}function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=require_ky.m(EventProviderGetByIdParamsSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.get(`eventing/eventProvider/${validatedParams.providerId}`,fetchOptions).json()}function createEventProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.m(EventProviderCreateParamsSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.post(`eventing/eventProvider`,{...fetchOptions,json:{eventProvider:{provider_id:validatedParams.providerId,instance_id:validatedParams.instanceId,label:validatedParams.label,description:validatedParams.description,workspace_configuration:validatedParams.associatedWorkspaceConfiguration}}}).json()}function fieldsSchema(propertyName){return valibot.array(valibot.object({name:require_ky.l(`${propertyName}[i].name`)}),`Expected an array of objects with a 'name' property for the property "${propertyName}"`)}const EventSubscriptionCreateParamsSchema=valibot.object({name:require_ky.l(`name`),providerId:valibot.optional(require_ky.l(`providerId`)),parent:valibot.optional(require_ky.l(`parent`)),fields:fieldsSchema(`fields`),destination:valibot.optional(require_ky.l(`destination`)),hipaaAuditRequired:valibot.optional(require_ky.k(`hipaaAuditRequired`)),prioritary:valibot.optional(require_ky.k(`prioritary`)),force:valibot.optional(require_ky.k(`force`))});var endpoints_exports$1={};require_ky.o(endpoints_exports$1,{createEventSubscription:()=>createEventSubscription,getAllEventSubscriptions:()=>getAllEventSubscriptions});function getAllEventSubscriptions(httpClient,fetchOptions){let withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.get(`eventing/getEventSubscriptions`,fetchOptions).json()}function createEventSubscription(httpClient,params,fetchOptions){let validatedParams=require_ky.m(EventSubscriptionCreateParamsSchema,params),{force,...event}=validatedParams;httpClient.post(`eventing/eventSubscribe`,{...fetchOptions,json:{force,event:{name:event.name,parent:event.parent,fields:event.fields,destination:event.destination,hipaa_audit_required:event.hipaaAuditRequired,priority:event.prioritary,provider_id:event.providerId}}}).json()}const UpdateEventingConfigurationParamsSchema=valibot.partial(valibot.object({enabled:require_ky.k(`enabled`),providerId:require_ky.i(`providerId`),instanceId:require_ky.i(`instanceId`),merchantId:require_ky.j(`merchantId`),environmentId:require_ky.j(`environmentId`),workspaceConfiguration:workspaceConfigurationSchema(`workspaceConfiguration`)}));function updateEventingConfiguration(httpClient,params,fetchOptions){let validatedParams=require_ky.m(UpdateEventingConfigurationParamsSchema,params);return httpClient.put(`eventing/updateConfiguration`,{...fetchOptions,json:{config:validatedParams}}).json()}const COMMERCE_SAAS_IMS_REQUIRED_SCOPES=[`openid`,`additional_info.projectedProductContext`,`commerce.accs`];function getCommerceUrl(config){let{baseUrl,storeViewCode,version}=config,commerceUrl=new URL(baseUrl),uppercasedVersion=version?.toUpperCase();return config.flavor===`paas`?commerceUrl.pathname+=`rest/${storeViewCode}/${uppercasedVersion}`:config.flavor===`saas`&&(commerceUrl.pathname+=`/${uppercasedVersion}`),commerceUrl.toString()}function buildCommerceHttpClientPaaS(params){let{auth,config,fetchOptions}=params,commerceUrl=getCommerceUrl(config),beforeRequestAuthHook=require_ky.e(auth),httpClient=ky.default.create({prefixUrl:commerceUrl,hooks:{beforeRequest:[beforeRequestAuthHook]}});return require_ky.b(httpClient,fetchOptions)}function buildCommerceHttpClientSaaS(params){let{auth,config,fetchOptions}=params,commerceUrl=getCommerceUrl(config),beforeRequestAuthHook=require_ky.f(auth)?require_ky.d(auth):require_ky.d(require_ky.c(auth,COMMERCE_SAAS_IMS_REQUIRED_SCOPES)),httpClient=ky.default.create({prefixUrl:commerceUrl,hooks:{beforeRequest:[beforeRequestAuthHook,request=>{request.headers.set(`Store`,config.storeViewCode)}]}});return require_ky.b(httpClient,fetchOptions)}function isPaaSParams(params){return params.config.flavor===`paas`}function isSaaSParams(params){return params.config.flavor===`saas`}function buildCommerceHttpClient(params){let flavor=params.config.flavor;if(isPaaSParams(params))return buildCommerceHttpClientPaaS(params);if(isSaaSParams(params))return buildCommerceHttpClientSaaS(params);throw Error(`Invalid Commerce configuration. Unknown flavor: ${flavor}`)}const DEFAULT_STORE_VIEW_CODE=`all`,DEFAULT_API_VERSION=`V1`;var AdobeCommerceHttpClient=class extends require_ky.g{constructor(params){let config={...params.config,storeViewCode:params.config.storeViewCode??`all`,version:params.config.version??`V1`},requiredParams={...params,config},httpClient=buildCommerceHttpClient(requiredParams);super(config,httpClient)}};function createCommerceEventsApiClient(params){return require_ky.h.create(new AdobeCommerceHttpClient(params),{...endpoints_exports,...endpoints_exports$1,updateEventingConfiguration})}function createCustomCommerceEventsApiClient(params,functions){return require_ky.h.create(new AdobeCommerceHttpClient(params),functions)}exports.createCommerceEventsApiClient=createCommerceEventsApiClient,exports.createCustomCommerceEventsApiClient=createCustomCommerceEventsApiClient,exports.createEventProvider=createEventProvider,exports.createEventSubscription=createEventSubscription,exports.getAllEventProviders=getAllEventProviders,exports.getAllEventSubscriptions=getAllEventSubscriptions,exports.getEventProviderById=getEventProviderById,exports.updateEventingConfiguration=updateEventingConfiguration;
14
+ const require_ky=require(`../ky-DBUULE7X.cjs`);let __adobe_aio_commerce_lib_core_error=require(`@adobe/aio-commerce-lib-core/error`);__adobe_aio_commerce_lib_core_error=require_ky.g(__adobe_aio_commerce_lib_core_error);let valibot=require(`valibot`);valibot=require_ky.g(valibot);function workspaceConfigurationSchema(propertyName){return valibot.union([valibot.pipe(require_ky.f(propertyName),valibot.empty()),valibot.pipe(require_ky.f(propertyName),valibot.parseJson(void 0,`Expected valid JSON string for property '${propertyName}'`),valibot.record(valibot.string(),valibot.unknown()),valibot.stringifyJson()),valibot.pipe(valibot.record(valibot.string(),valibot.unknown()),valibot.stringifyJson(void 0,`Expected valid JSON data for property '${propertyName}'`))])}const EventProviderGetByIdParamsSchema=valibot.object({providerId:require_ky.f(`providerId`)}),EventProviderCreateParamsSchema=valibot.object({providerId:require_ky.f(`providerId`),instanceId:require_ky.f(`instanceId`),label:valibot.optional(require_ky.f(`label`)),description:valibot.optional(require_ky.f(`description`)),associatedWorkspaceConfiguration:valibot.optional(workspaceConfigurationSchema(`associatedWorkspaceConfiguration`))});var endpoints_exports={};require_ky.h(endpoints_exports,{createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});async function getAllEventProviders(httpClient,fetchOptions){return httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).get(`eventing/eventProvider`,fetchOptions).json()}async function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=require_ky.p(EventProviderGetByIdParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).get(`eventing/eventProvider/${validatedParams.providerId}`,fetchOptions).json()}async function createEventProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.p(EventProviderCreateParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).post(`eventing/eventProvider`,{...fetchOptions,json:{eventProvider:{provider_id:validatedParams.providerId,instance_id:validatedParams.instanceId,label:validatedParams.label,description:validatedParams.description,workspace_configuration:validatedParams.associatedWorkspaceConfiguration}}}).json()}function fieldsSchema(propertyName){return valibot.array(valibot.object({name:require_ky.f(`${propertyName}[i].name`)}),`Expected an array of objects with a 'name' property for the property "${propertyName}"`)}const EventSubscriptionCreateParamsSchema=valibot.object({name:require_ky.f(`name`),providerId:valibot.optional(require_ky.f(`providerId`)),parent:valibot.optional(require_ky.f(`parent`)),fields:fieldsSchema(`fields`),destination:valibot.optional(require_ky.f(`destination`)),hipaaAuditRequired:valibot.optional(require_ky.d(`hipaaAuditRequired`)),prioritary:valibot.optional(require_ky.d(`prioritary`)),force:valibot.optional(require_ky.d(`force`))});var endpoints_exports$1={};require_ky.h(endpoints_exports$1,{createEventSubscription:()=>createEventSubscription,getAllEventSubscriptions:()=>getAllEventSubscriptions});async function getAllEventSubscriptions(httpClient,fetchOptions){return httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).get(`eventing/getEventSubscriptions`,fetchOptions).json()}async function createEventSubscription(httpClient,params,fetchOptions){let{force,...event}=require_ky.p(EventSubscriptionCreateParamsSchema,params);return httpClient.post(`eventing/eventSubscribe`,{...fetchOptions,json:{force,event:{name:event.name,parent:event.parent,fields:event.fields,destination:event.destination,hipaa_audit_required:event.hipaaAuditRequired,priority:event.prioritary,provider_id:event.providerId}}}).json().then(_res=>{})}const UpdateEventingConfigurationParamsSchema=valibot.partial(valibot.object({enabled:require_ky.d(`enabled`),providerId:require_ky.l(`providerId`),instanceId:require_ky.l(`instanceId`),merchantId:require_ky.u(`merchantId`),environmentId:require_ky.u(`environmentId`),workspaceConfiguration:workspaceConfigurationSchema(`workspaceConfiguration`)}));async function updateEventingConfiguration(httpClient,params,fetchOptions){let validatedParams=require_ky.p(UpdateEventingConfigurationParamsSchema,params);return httpClient.put(`eventing/updateConfiguration`,{...fetchOptions,json:{config:validatedParams}}).json()}const COMMERCE_SAAS_IMS_REQUIRED_SCOPES=[`openid`,`additional_info.projectedProductContext`,`commerce.accs`];function getCommerceUrl(config){let{baseUrl,storeViewCode,version}=config,commerceUrl=new URL(baseUrl.endsWith(`/`)?baseUrl:`${baseUrl}/`),uppercasedVersion=version?.toUpperCase();return config.flavor===`paas`?commerceUrl.pathname+=`rest/${storeViewCode}/${uppercasedVersion}`:config.flavor===`saas`&&(commerceUrl.pathname+=`${uppercasedVersion}`),commerceUrl.toString()}function buildCommerceHttpClientPaaS(params){let{auth,config,fetchOptions}=params,commerceUrl=getCommerceUrl(config),beforeRequestAuthHook=require_ky.i(auth),httpClient=require_ky.o.create({prefixUrl:commerceUrl,hooks:{beforeRequest:[beforeRequestAuthHook]}});return require_ky.t(httpClient,fetchOptions)}function buildCommerceHttpClientSaaS(params){let{auth,config,fetchOptions}=params,commerceUrl=getCommerceUrl(config),beforeRequestAuthHook=require_ky.a(auth)?require_ky.r(auth):require_ky.r(require_ky.n(auth,COMMERCE_SAAS_IMS_REQUIRED_SCOPES)),httpClient=require_ky.o.create({prefixUrl:commerceUrl,hooks:{beforeRequest:[beforeRequestAuthHook,request=>{request.headers.set(`Store`,config.storeViewCode)}]}});return require_ky.t(httpClient,fetchOptions)}function isPaaSParams(params){return params.config.flavor===`paas`}function isSaaSParams(params){return params.config.flavor===`saas`}function buildCommerceHttpClient(params){let flavor=params.config.flavor;if(isPaaSParams(params))return buildCommerceHttpClientPaaS(params);if(isSaaSParams(params))return buildCommerceHttpClientSaaS(params);throw Error(`Invalid Commerce configuration. Unknown flavor: ${flavor}`)}const DEFAULT_STORE_VIEW_CODE=`all`,DEFAULT_API_VERSION=`V1`;var AdobeCommerceHttpClient=class extends require_ky.s{constructor(params){let config={...params.config,storeViewCode:params.config.storeViewCode??`all`,version:params.config.version??`V1`},requiredParams={...params,config},httpClient=buildCommerceHttpClient(requiredParams);super(config,httpClient)}};function createCommerceEventsApiClient(params){return require_ky.c.create(new AdobeCommerceHttpClient(params),{...endpoints_exports,...endpoints_exports$1,updateEventingConfiguration})}function createCustomCommerceEventsApiClient(params,functions){return require_ky.c.create(new AdobeCommerceHttpClient(params),functions)}exports.createCommerceEventsApiClient=createCommerceEventsApiClient,exports.createCustomCommerceEventsApiClient=createCustomCommerceEventsApiClient,exports.createEventProvider=createEventProvider,exports.createEventSubscription=createEventSubscription,exports.getAllEventProviders=getAllEventProviders,exports.getAllEventSubscriptions=getAllEventSubscriptions,exports.getEventProviderById=getEventProviderById,exports.updateEventingConfiguration=updateEventingConfiguration;
@@ -12,10 +12,9 @@
12
12
  * governing permissions and limitations under the License.
13
13
  */
14
14
 
15
- import * as ky0 from "ky";
16
- import { Options } from "ky";
17
15
  import * as v from "valibot";
18
16
  import { CamelCasedPropertiesDeep } from "type-fest";
17
+ import * as ky0 from "ky";
19
18
 
20
19
  //#region source/commerce/api/event-providers/schema.d.ts
21
20
  declare const EventProviderGetByIdParamsSchema: v.ObjectSchema<{
@@ -64,12 +63,11 @@ type CommerceEventProviderManyResponse = CommerceEventProviderOneResponse[];
64
63
  * @see https://developer.adobe.com/commerce/extensibility/events/api/#get-list-of-all-event-providers
65
64
  *
66
65
  * @param httpClient - The {@link AdobeCommerceHttpClient} to use to make the request.
67
- * @param params - The parameters to list the event providers with.
68
66
  * @param fetchOptions - The {@link Options} to use to make the request.
69
67
  *
70
68
  * @throws An {@link HTTPError} If the status code is not 2XX.
71
69
  */
72
- declare function getAllEventProviders(httpClient: AdobeCommerceHttpClient$3, fetchOptions?: Options): Promise<CommerceEventProviderManyResponse>;
70
+ declare function getAllEventProviders(httpClient: AdobeCommerceHttpClient$3, fetchOptions?: Options$2): Promise<CommerceEventProviderManyResponse>;
73
71
  /**
74
72
  * Gets the info of the event provider with the given ID of the Commerce instance bound to the given {@link AdobeCommerceHttpClient}.
75
73
  * @see https://developer.adobe.com/commerce/extensibility/events/api/#get-event-provider-by-id
@@ -81,7 +79,7 @@ declare function getAllEventProviders(httpClient: AdobeCommerceHttpClient$3, fet
81
79
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
82
80
  * @throws An {@link HTTPError} If the status code is not 2XX.
83
81
  */
84
- declare function getEventProviderById(httpClient: AdobeCommerceHttpClient$3, params: EventProviderGetByIdParams, fetchOptions?: Options): Promise<{
82
+ declare function getEventProviderById(httpClient: AdobeCommerceHttpClient$3, params: EventProviderGetByIdParams, fetchOptions?: Options$2): Promise<{
85
83
  id: string;
86
84
  providerId: string;
87
85
  instanceId?: string | undefined;
@@ -100,7 +98,7 @@ declare function getEventProviderById(httpClient: AdobeCommerceHttpClient$3, par
100
98
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
101
99
  * @throws An {@link HTTPError} If the status code is not 2XX.
102
100
  */
103
- declare function createEventProvider(httpClient: AdobeCommerceHttpClient$3, params: EventProviderCreateParams, fetchOptions?: Options): Promise<{
101
+ declare function createEventProvider(httpClient: AdobeCommerceHttpClient$3, params: EventProviderCreateParams, fetchOptions?: Options$2): Promise<{
104
102
  id: string;
105
103
  providerId: string;
106
104
  instanceId?: string | undefined;
@@ -164,7 +162,7 @@ type CommerceEventSubscriptionManyResponse = CommerceEventSubscriptionOneRespons
164
162
  * @param httpClient - The {@link AdobeCommerceHttpClient} to use to make the request.
165
163
  * @param fetchOptions - The {@link Options} to use to make the request.
166
164
  */
167
- declare function getAllEventSubscriptions(httpClient: AdobeCommerceHttpClient$2, fetchOptions?: Options): Promise<CommerceEventSubscriptionManyResponse>;
165
+ declare function getAllEventSubscriptions(httpClient: AdobeCommerceHttpClient$2, fetchOptions?: Options$1): Promise<CommerceEventSubscriptionManyResponse>;
168
166
  /**
169
167
  * Creates an event subscription in the Commerce instance bound to the given {@link AdobeCommerceHttpClient}.
170
168
  * @see https://developer.adobe.com/commerce/extensibility/events/api/#subscribe-to-events
@@ -176,7 +174,7 @@ declare function getAllEventSubscriptions(httpClient: AdobeCommerceHttpClient$2,
176
174
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
177
175
  * @throws An {@link HTTPError} If the status code is not 2XX.
178
176
  */
179
- declare function createEventSubscription(httpClient: AdobeCommerceHttpClient$2, params: EventSubscriptionCreateParams, fetchOptions?: Options): void;
177
+ declare function createEventSubscription(httpClient: AdobeCommerceHttpClient$2, params: EventSubscriptionCreateParams, fetchOptions?: Options$1): Promise<void>;
180
178
  //#endregion
181
179
  //#region source/commerce/api/eventing-configuration/schema.d.ts
182
180
  /** The schema of the parameters received by the `updateConfiguration` Commerce Eventing API endpoint. */
@@ -228,11 +226,11 @@ declare const UpdateEventingConfigurationParamsSchema: Omit<v.ObjectSchema<{
228
226
  merchantId?: string | undefined;
229
227
  environmentId?: string | undefined;
230
228
  workspaceConfiguration?: string | undefined;
231
- }, v.StringIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
229
+ }, v.StringIssue | v.ObjectIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
232
230
  [x: string]: unknown;
233
231
  }> | v.UnionIssue<v.StringIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
234
232
  [x: string]: unknown;
235
- }>> | v.ObjectIssue | v.BooleanIssue | v.RegexIssue<string>>;
233
+ }>> | v.BooleanIssue | v.RegexIssue<string>>;
236
234
  readonly '~types'?: {
237
235
  readonly input: {
238
236
  enabled?: boolean | undefined;
@@ -252,11 +250,11 @@ declare const UpdateEventingConfigurationParamsSchema: Omit<v.ObjectSchema<{
252
250
  environmentId?: string | undefined;
253
251
  workspaceConfiguration?: string | undefined;
254
252
  };
255
- readonly issue: v.StringIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
253
+ readonly issue: v.StringIssue | v.ObjectIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
256
254
  [x: string]: unknown;
257
255
  }> | v.UnionIssue<v.StringIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
258
256
  [x: string]: unknown;
259
- }>> | v.ObjectIssue | v.BooleanIssue | v.RegexIssue<string>;
257
+ }>> | v.BooleanIssue | v.RegexIssue<string>;
260
258
  } | undefined;
261
259
  };
262
260
  /**
@@ -270,7 +268,7 @@ type UpdateEventingConfigurationParams = v.InferInput<typeof UpdateEventingConfi
270
268
  * Updates the configuration of the Commerce Eventing API.
271
269
  * @see https://developer.adobe.com/commerce/extensibility/events/api/#configure-commerce-eventing
272
270
  *
273
- * @param httpClient - The {@link CommerceHttpClient} to use to make the request.
271
+ * @param httpClient - The {@link AdobeCommerceHttpClient} to use to make the request.
274
272
  * @param params - The parameters to update the configuration with.
275
273
  * @param fetchOptions - The {@link Options} to use to make the request.
276
274
  *
@@ -287,7 +285,7 @@ declare function updateEventingConfiguration(httpClient: AdobeCommerceHttpClient
287
285
  declare function createCommerceEventsApiClient(params: CommerceHttpClientParams): void 0<AdobeCommerceHttpClient, {
288
286
  updateEventingConfiguration: typeof updateEventingConfiguration;
289
287
  getAllEventSubscriptions(httpClient: AdobeCommerceHttpClient, fetchOptions?: ky0.Options): Promise<CommerceEventSubscriptionManyResponse>;
290
- createEventSubscription(httpClient: AdobeCommerceHttpClient, params: EventSubscriptionCreateParams, fetchOptions?: ky0.Options): void;
288
+ createEventSubscription(httpClient: AdobeCommerceHttpClient, params: EventSubscriptionCreateParams, fetchOptions?: ky0.Options): Promise<void>;
291
289
  getAllEventProviders(httpClient: AdobeCommerceHttpClient, fetchOptions?: ky0.Options): Promise<CommerceEventProviderManyResponse>;
292
290
  getEventProviderById(httpClient: AdobeCommerceHttpClient, params: EventProviderGetByIdParams, fetchOptions?: ky0.Options): Promise<{
293
291
  id: string;
@@ -311,6 +309,6 @@ declare function createCommerceEventsApiClient(params: CommerceHttpClientParams)
311
309
  * @param params - The parameters to build the Commerce HTTP client that will communicate with the Commerce Events API.
312
310
  * @param functions - The API functions to include in the client.
313
311
  */
314
- declare function createCustomCommerceEventsApiClient<TFunctions extends Record<string, ApiFunction<AdobeCommerceHttpClient, unknown[], unknown>>>(params: CommerceHttpClientParams, functions: TFunctions): void 0<AdobeCommerceHttpClient, TFunctions>;
312
+ declare function createCustomCommerceEventsApiClient<TFunctions extends Record<string, ApiFunction<AdobeCommerceHttpClient, any[], any>>>(params: CommerceHttpClientParams, functions: TFunctions): void 0<AdobeCommerceHttpClient, TFunctions>;
315
313
  //#endregion
316
314
  export { type CommerceEventProvider, type CommerceEventProviderManyResponse, type CommerceEventProviderOneResponse, type CommerceEventSubscription, type CommerceEventSubscriptionField, type CommerceEventSubscriptionManyResponse, type CommerceEventSubscriptionOneResponse, type CommerceEventSubscriptionRule, EventProviderCreateParams, EventProviderCreateParamsSchema, EventProviderGetByIdParams, EventProviderGetByIdParamsSchema, EventSubscriptionCreateParams, EventSubscriptionCreateParamsSchema, UpdateEventingConfigurationParams, UpdateEventingConfigurationParamsSchema, createCommerceEventsApiClient, createCustomCommerceEventsApiClient, createEventProvider, createEventSubscription, getAllEventProviders, getAllEventSubscriptions, getEventProviderById, updateEventingConfiguration };
@@ -11,4 +11,4 @@
11
11
  * OF ANY KIND, either express or implied. See the License for the specific language
12
12
  * governing permissions and limitations under the License.
13
13
  */
14
- const require_ky=require(`../ky-Rubdb7BL.cjs`),valibot=require_ky.p(require(`valibot`)),ky=require_ky.p(require(`ky`)),IO_EVENTS_IMS_REQUIRED_SCOPES=[`adobeio_api`];function buildIoEventsHttpClient(params){let{auth,config,fetchOptions}=params,beforeRequestAuthHook=require_ky.f(auth)?require_ky.d(auth):require_ky.d(require_ky.c(auth,IO_EVENTS_IMS_REQUIRED_SCOPES)),adobeIoBaseUrl=config.baseUrl,httpClient=ky.default.create({prefixUrl:adobeIoBaseUrl,headers:{Accept:`application/hal+json`},hooks:{beforeRequest:[beforeRequestAuthHook]}});return require_ky.b(httpClient,fetchOptions)}const DEFAULT_IO_EVENTS_BASE_URL=`https://api.adobe.io/events`;var AdobeIoEventsHttpClient=class extends require_ky.g{constructor(params){let config={...params.config,baseUrl:params.config?.baseUrl??`https://api.adobe.io/events`},httpClient=buildIoEventsHttpClient({...params,config});super(config,httpClient)}};const BASE64_ENCODED_STRING_REGEX=/^[A-Za-z0-9+/]*={0,2}$/,BASE64_ENCODED_STRING_LENGTH_REMAINDER=4;function isBase64EncodedString(value){return BASE64_ENCODED_STRING_REGEX.test(value)&&value.length%4==0}function encodeToBase64(value){return Buffer.from(value).toString(`base64`)}function tryDecodeFromBase64(value){return isBase64EncodedString(value)?Buffer.from(value,`base64`).toString(`utf-8`):value}function sampleEventTemplateSchema(fieldName){return valibot.pipe(valibot.union([valibot.pipe(require_ky.l(fieldName),valibot.transform(tryDecodeFromBase64),valibot.parseJson(void 0,`Expected valid JSON string for property '${fieldName}'`),valibot.record(valibot.string(),valibot.unknown()),valibot.stringifyJson()),valibot.record(valibot.string(),valibot.unknown()),valibot.array(valibot.unknown())]),valibot.stringifyJson(void 0,`Expected valid JSON data for property '${fieldName}'`),valibot.transform(encodeToBase64))}const GetAllEventMetadataForProviderSchema=valibot.object({providerId:require_ky.l(`providerId`)}),GetEventMetadataForEventAndProviderSchema=valibot.object({eventCode:require_ky.l(`eventCode`),providerId:require_ky.l(`providerId`)}),CreateEventMetadataForProviderSchema=valibot.object({consumerOrgId:require_ky.l(`consumerOrgId`),projectId:require_ky.l(`projectId`),workspaceId:require_ky.l(`workspaceId`),providerId:require_ky.l(`providerId`),label:require_ky.l(`label`),description:require_ky.l(`description`),eventCode:require_ky.l(`eventCode`),sampleEventTemplate:valibot.optional(sampleEventTemplateSchema(`sampleEventTemplate`))});var endpoints_exports={};require_ky.o(endpoints_exports,{createEventMetadataForProvider:()=>createEventMetadataForProvider,getAllEventMetadataForProvider:()=>getAllEventMetadataForProvider,getEventMetadataForEventAndProvider:()=>getEventMetadataForEventAndProvider});function getAllEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.m(GetAllEventMetadataForProviderSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.get(`providers/${validatedParams.providerId}/eventmetadata`,fetchOptions).json()}function getEventMetadataForEventAndProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.m(GetEventMetadataForEventAndProviderSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.get(`providers/${validatedParams.providerId}/eventmetadata/${validatedParams.eventCode}`,fetchOptions).json()}function createEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.m(CreateEventMetadataForProviderSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers/${validatedParams.providerId}/eventmetadata`,{...fetchOptions,json:{label:validatedParams.label,description:validatedParams.description,event_code:validatedParams.eventCode,sample_event_template:validatedParams.sampleEventTemplate}}).json()}function setQueryParamIfTruthy(queryParams,key,value){value&&queryParams.set(key,`${value}`)}function setArrayQueryParam(queryParams,key,values){if(values!==void 0&&values.length>0)for(let value of values)queryParams.set(key,`${value}`)}const VALID_EVENT_PROVIDER_TYPES=[`dx_commerce_events`,`3rd_party_custom_events`],VALID_DATA_RESIDENCY_REGIONS=[`va6`,`irl1`],EventProviderTypeSchema=valibot.picklist(VALID_EVENT_PROVIDER_TYPES),DataResidencyRegionSchema=valibot.picklist(VALID_DATA_RESIDENCY_REGIONS),EventProviderListAllParamsSchema=valibot.object({consumerOrgId:require_ky.l(`consumerOrgId`),withEventMetadata:valibot.optional(require_ky.k(`withEventMetadata`)),filterBy:valibot.optional(valibot.object({instanceId:valibot.optional(require_ky.l(`instanceId`)),providerTypes:valibot.optional(valibot.union([valibot.array(EventProviderTypeSchema,`Expected an array of event provider types`)]))}))}),EventProviderGetByIdParamsSchema=valibot.object({providerId:require_ky.l(`providerId`),withEventMetadata:valibot.optional(require_ky.k(`withEventMetadata`))}),EventProviderCreateParamsSchema=valibot.object({consumerOrgId:require_ky.l(`consumerOrgId`),projectId:require_ky.l(`projectId`),workspaceId:require_ky.l(`workspaceId`),label:require_ky.l(`label`),description:valibot.optional(require_ky.l(`description`)),docsUrl:valibot.optional(require_ky.l(`docsUrl`)),instanceId:valibot.optional(require_ky.l(`instanceId`)),providerType:valibot.optional(EventProviderTypeSchema),dataResidencyRegion:valibot.optional(DataResidencyRegionSchema)});var endpoints_exports$1={};require_ky.o(endpoints_exports$1,{createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});function getAllEventProviders(httpClient,params,fetchOptions){let validatedParams=require_ky.m(EventProviderListAllParamsSchema,params),queryParams=new URLSearchParams,{providerTypes=[],instanceId}=validatedParams.filterBy??{};setArrayQueryParam(queryParams,`providerMetadataIds`,providerTypes),setQueryParamIfTruthy(queryParams,`instanceId`,instanceId),setQueryParamIfTruthy(queryParams,`eventmetadata`,validatedParams.withEventMetadata);let withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.get(`${validatedParams.consumerOrgId}/providers`,{...fetchOptions,searchParams:queryParams}).json()}function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=require_ky.m(EventProviderGetByIdParamsSchema,params),searchParams=new URLSearchParams;setQueryParamIfTruthy(searchParams,`eventmetadata`,validatedParams.withEventMetadata);let withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.get(`providers/${params.providerId}`,{...fetchOptions,searchParams}).json()}function createEventProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.m(EventProviderCreateParamsSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[require_ky.n()]}});return withHooksClient.post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers`,{...fetchOptions,json:{...validatedParams,docs_url:validatedParams.docsUrl,provider_metadata:validatedParams.providerType,instance_id:validatedParams.instanceId,data_residency_region:validatedParams.dataResidencyRegion}}).json()}var shorthands_exports={};require_ky.o(shorthands_exports,{create3rdPartyCustomEventProvider:()=>create3rdPartyCustomEventProvider,createCommerceEventProvider:()=>createCommerceEventProvider,getAll3rdPartyCustomEventProviders:()=>getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders:()=>getAllCommerceEventProviders});function getAllCommerceEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`dx_commerce_events`]}},fetchOptions)}function getAll3rdPartyCustomEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`3rd_party_custom_events`]}},fetchOptions)}function createCommerceEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`dx_commerce_events`},fetchOptions)}function create3rdPartyCustomEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`3rd_party_custom_events`},fetchOptions)}function createAdobeIoEventsApiClient(params){return require_ky.h.create(new AdobeIoEventsHttpClient(params),{...endpoints_exports$1,...endpoints_exports,...shorthands_exports})}function createCustomAdobeIoEventsApiClient(params,functions){return require_ky.h.create(new AdobeIoEventsHttpClient(params),functions)}exports.create3rdPartyCustomEventProvider=create3rdPartyCustomEventProvider,exports.createAdobeIoEventsApiClient=createAdobeIoEventsApiClient,exports.createCommerceEventProvider=createCommerceEventProvider,exports.createCustomAdobeIoEventsApiClient=createCustomAdobeIoEventsApiClient,exports.createEventMetadataForProvider=createEventMetadataForProvider,exports.createEventProvider=createEventProvider,exports.getAll3rdPartyCustomEventProviders=getAll3rdPartyCustomEventProviders,exports.getAllCommerceEventProviders=getAllCommerceEventProviders,exports.getAllEventMetadataForProvider=getAllEventMetadataForProvider,exports.getAllEventProviders=getAllEventProviders,exports.getEventMetadataForEventAndProvider=getEventMetadataForEventAndProvider,exports.getEventProviderById=getEventProviderById;
14
+ const require_ky=require(`../ky-DBUULE7X.cjs`);let valibot=require(`valibot`);valibot=require_ky.g(valibot);const IO_EVENTS_IMS_REQUIRED_SCOPES=[`adobeio_api`];function buildIoEventsHttpClient(params){let{auth,config,fetchOptions}=params,beforeRequestAuthHook=require_ky.a(auth)?require_ky.r(auth):require_ky.r(require_ky.n(auth,IO_EVENTS_IMS_REQUIRED_SCOPES)),adobeIoBaseUrl=config.baseUrl,httpClient=require_ky.o.create({prefixUrl:adobeIoBaseUrl,headers:{Accept:`application/hal+json`},hooks:{beforeRequest:[beforeRequestAuthHook]}});return require_ky.t(httpClient,fetchOptions)}const DEFAULT_IO_EVENTS_BASE_URL=`https://api.adobe.io/events`;var AdobeIoEventsHttpClient=class extends require_ky.s{constructor(params){let config={...params.config,baseUrl:params.config?.baseUrl??`https://api.adobe.io/events`},httpClient=buildIoEventsHttpClient({...params,config});super(config,httpClient)}};const BASE64_ENCODED_STRING_REGEX=/^[A-Za-z0-9+/]*={0,2}$/,BASE64_ENCODED_STRING_LENGTH_REMAINDER=4;function isBase64EncodedString(value){return BASE64_ENCODED_STRING_REGEX.test(value)&&value.length%4==0}function encodeToBase64(value){return Buffer.from(value).toString(`base64`)}function tryDecodeFromBase64(value){return isBase64EncodedString(value)?Buffer.from(value,`base64`).toString(`utf-8`):value}function sampleEventTemplateSchema(fieldName){return valibot.pipe(valibot.union([valibot.pipe(require_ky.f(fieldName),valibot.transform(tryDecodeFromBase64),valibot.parseJson(void 0,`Expected valid JSON string for property '${fieldName}'`),valibot.record(valibot.string(),valibot.unknown()),valibot.stringifyJson()),valibot.record(valibot.string(),valibot.unknown()),valibot.array(valibot.unknown())]),valibot.stringifyJson(void 0,`Expected valid JSON data for property '${fieldName}'`),valibot.transform(encodeToBase64))}const GetAllEventMetadataForProviderSchema=valibot.object({providerId:require_ky.f(`providerId`)}),GetEventMetadataForEventAndProviderSchema=valibot.object({eventCode:require_ky.f(`eventCode`),providerId:require_ky.f(`providerId`)}),CreateEventMetadataForProviderSchema=valibot.object({consumerOrgId:require_ky.f(`consumerOrgId`),projectId:require_ky.f(`projectId`),workspaceId:require_ky.f(`workspaceId`),providerId:require_ky.f(`providerId`),label:require_ky.f(`label`),description:require_ky.f(`description`),eventCode:require_ky.f(`eventCode`),sampleEventTemplate:valibot.optional(sampleEventTemplateSchema(`sampleEventTemplate`))});var endpoints_exports={};require_ky.h(endpoints_exports,{createEventMetadataForProvider:()=>createEventMetadataForProvider,getAllEventMetadataForProvider:()=>getAllEventMetadataForProvider,getEventMetadataForEventAndProvider:()=>getEventMetadataForEventAndProvider});async function getAllEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.p(GetAllEventMetadataForProviderSchema,params);return httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).get(`providers/${validatedParams.providerId}/eventmetadata`,fetchOptions).json()}async function getEventMetadataForEventAndProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.p(GetEventMetadataForEventAndProviderSchema,params);return httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).get(`providers/${validatedParams.providerId}/eventmetadata/${validatedParams.eventCode}`,fetchOptions).json()}async function createEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.p(CreateEventMetadataForProviderSchema,params);return httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers/${validatedParams.providerId}/eventmetadata`,{...fetchOptions,json:{label:validatedParams.label,description:validatedParams.description,event_code:validatedParams.eventCode,sample_event_template:validatedParams.sampleEventTemplate}}).json()}function setQueryParamIfTruthy(queryParams,key,value){value&&queryParams.set(key,`${value}`)}function setArrayQueryParam(queryParams,key,values){if(values!==void 0&&values.length>0)for(let value of values)queryParams.set(key,`${value}`)}const VALID_EVENT_PROVIDER_TYPES=[`dx_commerce_events`,`3rd_party_custom_events`],VALID_DATA_RESIDENCY_REGIONS=[`va6`,`irl1`],EventProviderTypeSchema=valibot.picklist(VALID_EVENT_PROVIDER_TYPES),DataResidencyRegionSchema=valibot.picklist(VALID_DATA_RESIDENCY_REGIONS),EventProviderListAllParamsSchema=valibot.object({consumerOrgId:require_ky.f(`consumerOrgId`),withEventMetadata:valibot.optional(require_ky.d(`withEventMetadata`)),filterBy:valibot.optional(valibot.object({instanceId:valibot.optional(require_ky.f(`instanceId`)),providerTypes:valibot.optional(valibot.union([valibot.array(EventProviderTypeSchema,`Expected an array of event provider types`)]))}))}),EventProviderGetByIdParamsSchema=valibot.object({providerId:require_ky.f(`providerId`),withEventMetadata:valibot.optional(require_ky.d(`withEventMetadata`))}),EventProviderCreateParamsSchema=valibot.object({consumerOrgId:require_ky.f(`consumerOrgId`),projectId:require_ky.f(`projectId`),workspaceId:require_ky.f(`workspaceId`),label:require_ky.f(`label`),description:valibot.optional(require_ky.f(`description`)),docsUrl:valibot.optional(require_ky.f(`docsUrl`)),instanceId:valibot.optional(require_ky.f(`instanceId`)),providerType:valibot.optional(EventProviderTypeSchema),dataResidencyRegion:valibot.optional(DataResidencyRegionSchema)});var endpoints_exports$1={};require_ky.h(endpoints_exports$1,{createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});async function getAllEventProviders(httpClient,params,fetchOptions){let validatedParams=require_ky.p(EventProviderListAllParamsSchema,params),queryParams=new URLSearchParams,{providerTypes=[],instanceId}=validatedParams.filterBy??{};return setArrayQueryParam(queryParams,`providerMetadataIds`,providerTypes),setQueryParamIfTruthy(queryParams,`instanceId`,instanceId),setQueryParamIfTruthy(queryParams,`eventmetadata`,validatedParams.withEventMetadata),httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).get(`${validatedParams.consumerOrgId}/providers`,{...fetchOptions,searchParams:queryParams}).json()}async function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=require_ky.p(EventProviderGetByIdParamsSchema,params),searchParams=new URLSearchParams;return setQueryParamIfTruthy(searchParams,`eventmetadata`,validatedParams.withEventMetadata),httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).get(`providers/${params.providerId}`,{...fetchOptions,searchParams}).json()}async function createEventProvider(httpClient,params,fetchOptions){let validatedParams=require_ky.p(EventProviderCreateParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[require_ky.m()]}}).post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers`,{...fetchOptions,json:{...validatedParams,docs_url:validatedParams.docsUrl,provider_metadata:validatedParams.providerType,instance_id:validatedParams.instanceId,data_residency_region:validatedParams.dataResidencyRegion}}).json()}var shorthands_exports={};require_ky.h(shorthands_exports,{create3rdPartyCustomEventProvider:()=>create3rdPartyCustomEventProvider,createCommerceEventProvider:()=>createCommerceEventProvider,getAll3rdPartyCustomEventProviders:()=>getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders:()=>getAllCommerceEventProviders});async function getAllCommerceEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`dx_commerce_events`]}},fetchOptions)}async function getAll3rdPartyCustomEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`3rd_party_custom_events`]}},fetchOptions)}async function createCommerceEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`dx_commerce_events`},fetchOptions)}async function create3rdPartyCustomEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`3rd_party_custom_events`},fetchOptions)}function createAdobeIoEventsApiClient(params){return require_ky.c.create(new AdobeIoEventsHttpClient(params),{...endpoints_exports$1,...endpoints_exports,...shorthands_exports})}function createCustomAdobeIoEventsApiClient(params,functions){return require_ky.c.create(new AdobeIoEventsHttpClient(params),functions)}exports.create3rdPartyCustomEventProvider=create3rdPartyCustomEventProvider,exports.createAdobeIoEventsApiClient=createAdobeIoEventsApiClient,exports.createCommerceEventProvider=createCommerceEventProvider,exports.createCustomAdobeIoEventsApiClient=createCustomAdobeIoEventsApiClient,exports.createEventMetadataForProvider=createEventMetadataForProvider,exports.createEventProvider=createEventProvider,exports.getAll3rdPartyCustomEventProviders=getAll3rdPartyCustomEventProviders,exports.getAllCommerceEventProviders=getAllCommerceEventProviders,exports.getAllEventMetadataForProvider=getAllEventMetadataForProvider,exports.getAllEventProviders=getAllEventProviders,exports.getEventMetadataForEventAndProvider=getEventMetadataForEventAndProvider,exports.getEventProviderById=getEventProviderById;
@@ -12,11 +12,10 @@
12
12
  * governing permissions and limitations under the License.
13
13
  */
14
14
 
15
- import * as ky4 from "ky";
16
- import { Options } from "ky";
17
15
  import * as v from "valibot";
18
16
  import * as type_fest0 from "type-fest";
19
17
  import { CamelCasedPropertiesDeep, OmitDeep } from "type-fest";
18
+ import * as ky4 from "ky";
20
19
 
21
20
  //#region source/io-events/api/event-metadata/schema.d.ts
22
21
  /** The schema of the parameters received by the GET `providers/:id/eventmetadata` Adobe I/O Events API endpoint. */
@@ -71,7 +70,7 @@ type CreateEventMetadataForProviderParams = v.InferInput<typeof CreateEventMetad
71
70
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
72
71
  * @throws An {@link HTTPError} If the status code is not 2XX.
73
72
  */
74
- declare function getAllEventMetadataForProvider(httpClient: AdobeIoEventsHttpClient$3, params: GetAllEventMetadataForProviderParams, fetchOptions?: Options): Promise<{
73
+ declare function getAllEventMetadataForProvider(httpClient: AdobeIoEventsHttpClient$3, params: GetAllEventMetadataForProviderParams, fetchOptions?: Options$2): Promise<{
75
74
  embedded: {
76
75
  description: string;
77
76
  label: string;
@@ -143,7 +142,7 @@ declare function getAllEventMetadataForProvider(httpClient: AdobeIoEventsHttpCli
143
142
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
144
143
  * @throws An {@link HTTPError} If the status code is not 2XX.
145
144
  */
146
- declare function getEventMetadataForEventAndProvider(httpClient: AdobeIoEventsHttpClient$3, params: GetEventMetadataForEventAndProviderParams, fetchOptions?: Options): Promise<{
145
+ declare function getEventMetadataForEventAndProvider(httpClient: AdobeIoEventsHttpClient$3, params: GetEventMetadataForEventAndProviderParams, fetchOptions?: Options$2): Promise<{
147
146
  description: string;
148
147
  label: string;
149
148
  eventCode: string;
@@ -213,7 +212,7 @@ declare function getEventMetadataForEventAndProvider(httpClient: AdobeIoEventsHt
213
212
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
214
213
  * @throws An {@link HTTPError} If the status code is not 2XX.
215
214
  */
216
- declare function createEventMetadataForProvider(httpClient: AdobeIoEventsHttpClient$3, params: CreateEventMetadataForProviderParams, fetchOptions?: Options): Promise<{
215
+ declare function createEventMetadataForProvider(httpClient: AdobeIoEventsHttpClient$3, params: CreateEventMetadataForProviderParams, fetchOptions?: Options$2): Promise<{
217
216
  description: string;
218
217
  label: string;
219
218
  eventCode: string;
@@ -322,7 +321,7 @@ type EventProviderCreateParams = v.InferInput<typeof EventProviderCreateParamsSc
322
321
  * @param params - The parameters to list the event providers with.
323
322
  * @param fetchOptions - The {@link Options} to use to make the request.
324
323
  */
325
- declare function getAllEventProviders(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderListAllParams, fetchOptions?: Options): Promise<{
324
+ declare function getAllEventProviders(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderListAllParams, fetchOptions?: Options$1): Promise<{
326
325
  embedded: {
327
326
  providers: {
328
327
  id: string;
@@ -446,7 +445,7 @@ declare function getAllEventProviders(httpClient: AdobeIoEventsHttpClient$2, par
446
445
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
447
446
  * @throws An {@link HTTPError} If the status code is not 2XX.
448
447
  */
449
- declare function getEventProviderById(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderGetByIdParams, fetchOptions?: Options): Promise<{
448
+ declare function getEventProviderById(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderGetByIdParams, fetchOptions?: Options$1): Promise<{
450
449
  id: string;
451
450
  instanceId?: string | undefined;
452
451
  label: string;
@@ -553,7 +552,7 @@ declare function getEventProviderById(httpClient: AdobeIoEventsHttpClient$2, par
553
552
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
554
553
  * @throws An {@link HTTPError} If the status code is not 2XX.
555
554
  */
556
- declare function createEventProvider(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderCreateParams, fetchOptions?: Options): Promise<{
555
+ declare function createEventProvider(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderCreateParams, fetchOptions?: Options$1): Promise<{
557
556
  id: string;
558
557
  instanceId?: string | undefined;
559
558
  label: string;
@@ -2028,7 +2027,7 @@ declare function createAdobeIoEventsApiClient(params: IoEventsHttpClientParams):
2028
2027
  * @param params - The parameters to build the Adobe I/O Events HTTP client that will communicate with the Adobe I/O Events API.
2029
2028
  * @param functions - The API functions to include in the client.
2030
2029
  */
2031
- declare function createCustomAdobeIoEventsApiClient<TFunctions extends Record<string, ApiFunction<AdobeIoEventsHttpClient, unknown[], unknown>>>(params: IoEventsHttpClientParams, functions: TFunctions): void 0<AdobeIoEventsHttpClient, TFunctions>;
2030
+ declare function createCustomAdobeIoEventsApiClient<TFunctions extends Record<string, ApiFunction<AdobeIoEventsHttpClient, any[], any>>>(params: IoEventsHttpClientParams, functions: TFunctions): void 0<AdobeIoEventsHttpClient, TFunctions>;
2032
2031
  //#endregion
2033
2032
  //#region source/io-events/types.d.ts
2034
2033
  type HALLink = {
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ *
4
+ * Copyright 2025 Adobe. All rights reserved.
5
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License. You may obtain a copy
7
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under
10
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
11
+ * OF ANY KIND, either express or implied. See the License for the specific language
12
+ * governing permissions and limitations under the License.
13
+ */
14
+ var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(var keys=__getOwnPropNames(from),i=0,n=keys.length,key;i<n;i++)key=keys[i],!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:(k=>from[k]).bind(null,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=mod==null?{}:__create(__getProtoOf(mod)),__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,`default`,{value:mod,enumerable:!0}):target,mod));let __adobe_aio_commerce_lib_core_error=require(`@adobe/aio-commerce-lib-core/error`);__adobe_aio_commerce_lib_core_error=__toESM(__adobe_aio_commerce_lib_core_error);let valibot=require(`valibot`);valibot=__toESM(valibot);let __adobe_aio_commerce_lib_auth=require(`@adobe/aio-commerce-lib-auth`);__adobe_aio_commerce_lib_auth=__toESM(__adobe_aio_commerce_lib_auth);const UPPERCASE=/[\p{Lu}]/u,LOWERCASE=/[\p{Ll}]/u,LEADING_CAPITAL=/^[\p{Lu}](?![\p{Lu}])/gu,IDENTIFIER=/([\p{Alpha}\p{N}_]|$)/u,SEPARATORS=/[_.\- ]+/,LEADING_SEPARATORS=RegExp(`^`+SEPARATORS.source),SEPARATORS_AND_IDENTIFIER=new RegExp(SEPARATORS.source+IDENTIFIER.source,`gu`),NUMBERS_AND_IDENTIFIER=RegExp(`\\d+`+IDENTIFIER.source,`gu`),preserveCamelCase=(string,toLowerCase,toUpperCase,preserveConsecutiveUppercase$1)=>{let isLastCharLower=!1,isLastCharUpper=!1,isLastLastCharUpper=!1,isLastLastCharPreserved=!1;for(let index=0;index<string.length;index++){let character=string[index];isLastLastCharPreserved=index>2?string[index-3]===`-`:!0,isLastCharLower&&UPPERCASE.test(character)?(string=string.slice(0,index)+`-`+string.slice(index),isLastCharLower=!1,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!0,index++):isLastCharUpper&&isLastLastCharUpper&&LOWERCASE.test(character)&&(!isLastLastCharPreserved||preserveConsecutiveUppercase$1)?(string=string.slice(0,index-1)+`-`+string.slice(index-1),isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!1,isLastCharLower=!0):(isLastCharLower=toLowerCase(character)===character&&toUpperCase(character)!==character,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=toUpperCase(character)===character&&toLowerCase(character)!==character)}return string},preserveConsecutiveUppercase=(input,toLowerCase)=>(LEADING_CAPITAL.lastIndex=0,input.replaceAll(LEADING_CAPITAL,match=>toLowerCase(match))),postProcess=(input,toUpperCase)=>(SEPARATORS_AND_IDENTIFIER.lastIndex=0,NUMBERS_AND_IDENTIFIER.lastIndex=0,input.replaceAll(NUMBERS_AND_IDENTIFIER,(match,pattern,offset)=>[`_`,`-`].includes(input.charAt(offset+match.length))?match:toUpperCase(match)).replaceAll(SEPARATORS_AND_IDENTIFIER,(_,identifier)=>toUpperCase(identifier)));function camelCase(input,options){if(!(typeof input==`string`||Array.isArray(input)))throw TypeError("Expected the input to be `string | string[]`");if(options={pascalCase:!1,preserveConsecutiveUppercase:!1,...options},input=Array.isArray(input)?input.map(x=>x.trim()).filter(x=>x.length).join(`-`):input.trim(),input.length===0)return``;let toLowerCase=options.locale===!1?string=>string.toLowerCase():string=>string.toLocaleLowerCase(options.locale),toUpperCase=options.locale===!1?string=>string.toUpperCase():string=>string.toLocaleUpperCase(options.locale);return input.length===1?SEPARATORS.test(input)?``:options.pascalCase?toUpperCase(input):toLowerCase(input):(input!==toLowerCase(input)&&(input=preserveCamelCase(input,toLowerCase,toUpperCase,options.preserveConsecutiveUppercase)),input=input.replace(LEADING_SEPARATORS,``),input=options.preserveConsecutiveUppercase?preserveConsecutiveUppercase(input,toLowerCase):toLowerCase(input),options.pascalCase&&(input=toUpperCase(input.charAt(0))+input.slice(1)),postProcess(input,toUpperCase))}function buildObjectKeyTransformerResponseHook(transformer,recursive=!0){let transformObject=obj=>typeof obj!=`object`||!obj?obj:Array.isArray(obj)?recursive?obj.map(transformObject):obj:Object.fromEntries(Object.entries(obj).map(([key,value])=>{let transformedKey=transformer(key),transformedValue=recursive?transformObject(value):value;return[transformedKey,transformedValue]}));return(_req,_opt,response)=>response.json().then(data=>{let transformedData=transformObject(data);return Response.json(transformedData,response)})}function buildCamelCaseKeysResponseHook(){return buildObjectKeyTransformerResponseHook(camelCase)}function parseOrThrow(schema,input){let result=valibot.safeParse(schema,input);if(!result.success)throw new __adobe_aio_commerce_lib_core_error.CommerceSdkValidationError(`Invalid input`,{issues:result.issues});return result.output}const ALPHANUMERIC_OR_UNDERSCORE_REGEX=/^[a-zA-Z0-9_]+$/,ALPHANUMERIC_OR_UNDERSCORE_OR_HYPHEN_REGEX=/^[a-zA-Z0-9_-]+$/;function stringValueSchema(propertyName){return valibot.string(`Expected a string value for property '${propertyName}'`)}function booleanValueSchema(propertyName){return valibot.boolean(`Expected a boolean value for property '${propertyName}'`)}function alphaNumericOrUnderscoreSchema(name){return valibot.pipe(stringValueSchema(name),valibot.regex(ALPHANUMERIC_OR_UNDERSCORE_REGEX,`Only alphanumeric characters and underscores are allowed for "${name}"`))}function alphaNumericOrUnderscoreOrHyphenSchema(name){return valibot.pipe(stringValueSchema(name),valibot.regex(ALPHANUMERIC_OR_UNDERSCORE_OR_HYPHEN_REGEX,`Only alphanumeric characters, underscores, and hyphens are allowed for property "${name}"`))}var ApiClient=class{static create(client,functions){let wrapped={};for(let key in functions)if(Object.hasOwn(functions,key)){let fn=functions[key];wrapped[key]=((...args)=>fn(client,...args))}return wrapped}},HttpClientBase=class HttpClientBase{constructor(config,httpClient){this.config=Object.freeze(config),this.setHttpClient(httpClient)}setHttpClient(httpClient){this.httpClient=Object.freeze(httpClient),this.get=this.httpClient.get.bind(this.httpClient),this.post=this.httpClient.post.bind(this.httpClient),this.put=this.httpClient.put.bind(this.httpClient),this.delete=this.httpClient.delete.bind(this.httpClient),this.patch=this.httpClient.patch.bind(this.httpClient),this.head=this.httpClient.head.bind(this.httpClient),this.stop=this.httpClient.stop}extend(options){let client=Object.freeze(this.httpClient.extend(options));return new HttpClientBase(this.config,client)}},HTTPError=class extends Error{response;request;options;constructor(response,request,options){let code=response.status||response.status===0?response.status:``,title=response.statusText||``,status=`${code} ${title}`.trim(),reason=status?`status code ${status}`:`an unknown error`;super(`Request failed with ${reason}: ${request.method} ${request.url}`),this.name=`HTTPError`,this.response=response,this.request=request,this.options=options}},TimeoutError=class extends Error{request;constructor(request){super(`Request timed out: ${request.method} ${request.url}`),this.name=`TimeoutError`,this.request=request}};const supportsRequestStreams=(()=>{let duplexAccessed=!1,hasContentType=!1,supportsReadableStream=typeof globalThis.ReadableStream==`function`,supportsRequest=typeof globalThis.Request==`function`;if(supportsReadableStream&&supportsRequest)try{hasContentType=new globalThis.Request(`https://empty.invalid`,{body:new globalThis.ReadableStream,method:`POST`,get duplex(){return duplexAccessed=!0,`half`}}).headers.has(`Content-Type`)}catch(error){if(error instanceof Error&&error.message===`unsupported BodyInit type`)return!1;throw error}return duplexAccessed&&!hasContentType})(),supportsAbortController=typeof globalThis.AbortController==`function`,supportsAbortSignal=typeof globalThis.AbortSignal==`function`&&typeof globalThis.AbortSignal.any==`function`,supportsResponseStreams=typeof globalThis.ReadableStream==`function`,supportsFormData=typeof globalThis.FormData==`function`,requestMethods=[`get`,`post`,`put`,`patch`,`head`,`delete`],validate=()=>void 0,responseTypes={json:`application/json`,text:`text/*`,formData:`multipart/form-data`,arrayBuffer:`*/*`,blob:`*/*`,bytes:`*/*`},maxSafeTimeout=2147483647,usualFormBoundarySize=new TextEncoder().encode(`------WebKitFormBoundaryaxpyiPgbbPti10Rw`).length,stop=Symbol(`stop`),kyOptionKeys={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},requestOptionsRegistry={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0},getBodySize=body=>{if(!body)return 0;if(body instanceof FormData){let size=0;for(let[key,value]of body)size+=usualFormBoundarySize,size+=new TextEncoder().encode(`Content-Disposition: form-data; name="${key}"`).length,size+=typeof value==`string`?new TextEncoder().encode(value).length:value.size;return size}if(body instanceof Blob)return body.size;if(body instanceof ArrayBuffer)return body.byteLength;if(typeof body==`string`)return new TextEncoder().encode(body).length;if(body instanceof URLSearchParams)return new TextEncoder().encode(body.toString()).length;if(`byteLength`in body)return body.byteLength;if(typeof body==`object`&&body)try{let jsonString=JSON.stringify(body);return new TextEncoder().encode(jsonString).length}catch{return 0}return 0},streamResponse=(response,onDownloadProgress)=>{let totalBytes=Number(response.headers.get(`content-length`))||0,transferredBytes=0;return response.status===204?(onDownloadProgress&&onDownloadProgress({percent:1,totalBytes,transferredBytes},new Uint8Array),new Response(null,{status:response.status,statusText:response.statusText,headers:response.headers})):new Response(new ReadableStream({async start(controller){let reader=response.body.getReader();onDownloadProgress&&onDownloadProgress({percent:0,transferredBytes:0,totalBytes},new Uint8Array);async function read(){let{done,value}=await reader.read();if(done){controller.close();return}if(onDownloadProgress){transferredBytes+=value.byteLength;let percent=totalBytes===0?0:transferredBytes/totalBytes;onDownloadProgress({percent,transferredBytes,totalBytes},value)}controller.enqueue(value),await read()}await read()}}),{status:response.status,statusText:response.statusText,headers:response.headers})},streamRequest=(request,onUploadProgress)=>{let totalBytes=getBodySize(request.body),transferredBytes=0;return new Request(request,{duplex:`half`,body:new ReadableStream({async start(controller){let reader=request.body instanceof ReadableStream?request.body.getReader():new Response(``).body.getReader();async function read(){let{done,value}=await reader.read();if(done){onUploadProgress&&onUploadProgress({percent:1,transferredBytes,totalBytes:Math.max(totalBytes,transferredBytes)},new Uint8Array),controller.close();return}transferredBytes+=value.byteLength;let percent=totalBytes===0?0:transferredBytes/totalBytes;(totalBytes<transferredBytes||percent===1)&&(percent=.99),onUploadProgress&&onUploadProgress({percent:Number(percent.toFixed(2)),transferredBytes,totalBytes},value),controller.enqueue(value),await read()}await read()}})})},isObject=value=>typeof value==`object`&&!!value,validateAndMerge=(...sources)=>{for(let source of sources)if((!isObject(source)||Array.isArray(source))&&source!==void 0)throw TypeError("The `options` argument must be an object");return deepMerge({},...sources)},mergeHeaders=(source1={},source2={})=>{let result=new globalThis.Headers(source1),isHeadersInstance=source2 instanceof globalThis.Headers,source=new globalThis.Headers(source2);for(let[key,value]of source.entries())isHeadersInstance&&value===`undefined`||value===void 0?result.delete(key):result.set(key,value);return result};function newHookValue(original,incoming,property){return Object.hasOwn(incoming,property)&&incoming[property]===void 0?[]:deepMerge(original[property]??[],incoming[property]??[])}const mergeHooks=(original={},incoming={})=>({beforeRequest:newHookValue(original,incoming,`beforeRequest`),beforeRetry:newHookValue(original,incoming,`beforeRetry`),afterResponse:newHookValue(original,incoming,`afterResponse`),beforeError:newHookValue(original,incoming,`beforeError`)}),deepMerge=(...sources)=>{let returnValue={},headers={},hooks={};for(let source of sources)if(Array.isArray(source))Array.isArray(returnValue)||(returnValue=[]),returnValue=[...returnValue,...source];else if(isObject(source)){for(let[key,value]of Object.entries(source))isObject(value)&&key in returnValue&&(value=deepMerge(returnValue[key],value)),returnValue={...returnValue,[key]:value};isObject(source.hooks)&&(hooks=mergeHooks(hooks,source.hooks),returnValue.hooks=hooks),isObject(source.headers)&&(headers=mergeHeaders(headers,source.headers),returnValue.headers=headers)}return returnValue},normalizeRequestMethod=input=>requestMethods.includes(input)?input.toUpperCase():input,defaultRetryOptions={limit:2,methods:[`get`,`put`,`head`,`delete`,`options`,`trace`],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:1/0,backoffLimit:1/0,delay:attemptCount=>.3*2**(attemptCount-1)*1e3},normalizeRetryOptions=(retry={})=>{if(typeof retry==`number`)return{...defaultRetryOptions,limit:retry};if(retry.methods&&!Array.isArray(retry.methods))throw Error(`retry.methods must be an array`);if(retry.statusCodes&&!Array.isArray(retry.statusCodes))throw Error(`retry.statusCodes must be an array`);return{...defaultRetryOptions,...retry}};async function timeout(request,init,abortController,options){return new Promise((resolve,reject)=>{let timeoutId=setTimeout(()=>{abortController&&abortController.abort(),reject(new TimeoutError(request))},options.timeout);options.fetch(request,init).then(resolve).catch(reject).then(()=>{clearTimeout(timeoutId)})})}async function delay(ms,{signal}){return new Promise((resolve,reject)=>{signal&&(signal.throwIfAborted(),signal.addEventListener(`abort`,abortHandler,{once:!0}));function abortHandler(){clearTimeout(timeoutId),reject(signal.reason)}let timeoutId=setTimeout(()=>{signal?.removeEventListener(`abort`,abortHandler),resolve()},ms)})}const findUnknownOptions=(request,options)=>{let unknownOptions={};for(let key in options)!(key in requestOptionsRegistry)&&!(key in kyOptionKeys)&&!(key in request)&&(unknownOptions[key]=options[key]);return unknownOptions},hasSearchParameters=search=>search===void 0?!1:Array.isArray(search)?search.length>0:search instanceof URLSearchParams?search.size>0:typeof search==`object`?Object.keys(search).length>0:typeof search==`string`?search.trim().length>0:!!search;var Ky=class Ky{static create(input,options){let ky$1=new Ky(input,options),function_=async()=>{if(typeof ky$1._options.timeout==`number`&&ky$1._options.timeout>maxSafeTimeout)throw RangeError(`The \`timeout\` option cannot be greater than ${maxSafeTimeout}`);await Promise.resolve();let response=await ky$1._fetch();for(let hook of ky$1._options.hooks.afterResponse){let modifiedResponse=await hook(ky$1.request,ky$1._options,ky$1._decorateResponse(response.clone()));modifiedResponse instanceof globalThis.Response&&(response=modifiedResponse)}if(ky$1._decorateResponse(response),!response.ok&&ky$1._options.throwHttpErrors){let error=new HTTPError(response,ky$1.request,ky$1._options);for(let hook of ky$1._options.hooks.beforeError)error=await hook(error);throw error}if(ky$1._options.onDownloadProgress){if(typeof ky$1._options.onDownloadProgress!=`function`)throw TypeError("The `onDownloadProgress` option must be a function");if(!supportsResponseStreams)throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");return streamResponse(response.clone(),ky$1._options.onDownloadProgress)}return response},result=(ky$1._options.retry.methods.includes(ky$1.request.method.toLowerCase())?ky$1._retry(function_):function_()).finally(async()=>{ky$1.request.bodyUsed||await ky$1.request.body?.cancel()});for(let[type,mimeType]of Object.entries(responseTypes)){if(type===`bytes`&&typeof globalThis.Response?.prototype?.bytes!=`function`)continue;result[type]=async()=>{ky$1.request.headers.set(`accept`,ky$1.request.headers.get(`accept`)||mimeType);let response=await result;if(type===`json`){if(response.status===204||(await response.clone().arrayBuffer()).byteLength===0)return``;if(options.parseJson)return options.parseJson(await response.text())}return response[type]()}}return result}request;abortController;_retryCount=0;_input;_options;constructor(input,options={}){if(this._input=input,this._options={...options,headers:mergeHeaders(this._input.headers,options.headers),hooks:mergeHooks({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},options.hooks),method:normalizeRequestMethod(options.method??this._input.method??`GET`),prefixUrl:String(options.prefixUrl||``),retry:normalizeRetryOptions(options.retry),throwHttpErrors:options.throwHttpErrors!==!1,timeout:options.timeout??1e4,fetch:options.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!=`string`&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input==`string`){if(this._input.startsWith(`/`))throw Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith(`/`)||(this._options.prefixUrl+=`/`),this._input=this._options.prefixUrl+this._input}if(supportsAbortController&&supportsAbortSignal){let originalSignal=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=originalSignal?AbortSignal.any([originalSignal,this.abortController.signal]):this.abortController.signal}if(supportsRequestStreams&&(this._options.duplex=`half`),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set(`content-type`,this._options.headers.get(`content-type`)??`application/json`)),this.request=new globalThis.Request(this._input,this._options),hasSearchParameters(this._options.searchParams)){let searchParams=`?`+(typeof this._options.searchParams==`string`?this._options.searchParams.replace(/^\?/,``):new URLSearchParams(this._options.searchParams).toString()),url=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,searchParams);(supportsFormData&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers[`content-type`])&&this.request.headers.delete(`content-type`),this.request=new globalThis.Request(new globalThis.Request(url,{...this.request}),this._options)}if(this._options.onUploadProgress){if(typeof this._options.onUploadProgress!=`function`)throw TypeError("The `onUploadProgress` option must be a function");if(!supportsRequestStreams)throw Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=streamRequest(this.request,this._options.onUploadProgress))}}_calculateRetryDelay(error){if(this._retryCount++,this._retryCount>this._options.retry.limit||error instanceof TimeoutError)throw error;if(error instanceof HTTPError){if(!this._options.retry.statusCodes.includes(error.response.status))throw error;let retryAfter=error.response.headers.get(`Retry-After`)??error.response.headers.get(`RateLimit-Reset`)??error.response.headers.get(`X-RateLimit-Reset`)??error.response.headers.get(`X-Rate-Limit-Reset`);if(retryAfter&&this._options.retry.afterStatusCodes.includes(error.response.status)){let after=Number(retryAfter)*1e3;Number.isNaN(after)?after=Date.parse(retryAfter)-Date.now():after>=Date.parse(`2024-01-01`)&&(after-=Date.now());let max=this._options.retry.maxRetryAfter??after;return after<max?after:max}if(error.response.status===413)throw error}let retryDelay=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,retryDelay)}_decorateResponse(response){return this._options.parseJson&&(response.json=async()=>this._options.parseJson(await response.text())),response}async _retry(function_){try{return await function_()}catch(error){let ms=Math.min(this._calculateRetryDelay(error),maxSafeTimeout);if(this._retryCount<1)throw error;await delay(ms,{signal:this._options.signal});for(let hook of this._options.hooks.beforeRetry)if(await hook({request:this.request,options:this._options,error,retryCount:this._retryCount})===stop)return;return this._retry(function_)}}async _fetch(){for(let hook of this._options.hooks.beforeRequest){let result=await hook(this.request,this._options);if(result instanceof Request){this.request=result;break}if(result instanceof Response)return result}let nonRequestOptions=findUnknownOptions(this.request,this._options),mainRequest=this.request;return this.request=mainRequest.clone(),this._options.timeout===!1?this._options.fetch(mainRequest,nonRequestOptions):timeout(mainRequest,nonRequestOptions,this.abortController,this._options)}};const createInstance=defaults=>{let ky$1=(input,options)=>Ky.create(input,validateAndMerge(defaults,options));for(let method of requestMethods)ky$1[method]=(input,options)=>Ky.create(input,validateAndMerge(defaults,options,{method}));return ky$1.create=newDefaults=>createInstance(validateAndMerge(newDefaults)),ky$1.extend=newDefaults=>(typeof newDefaults==`function`&&(newDefaults=newDefaults(defaults??{})),createInstance(validateAndMerge(defaults,newDefaults))),ky$1.stop=stop,ky$1},ky=createInstance();var distribution_default=ky;function isAuthProvider(auth){return`getHeaders`in auth}function buildIntegrationAuthBeforeRequestHook(integrationAuth){let integrationAuthProvider=isAuthProvider(integrationAuth)?integrationAuth:(0,__adobe_aio_commerce_lib_auth.getIntegrationAuthProvider)(integrationAuth);return request=>{let headers=integrationAuthProvider.getHeaders(request.method.toUpperCase(),request.url);request.headers.set(`Authorization`,headers.Authorization)}}function buildImsAuthBeforeRequestHook(imsAuth){let imsAuthProvider=isAuthProvider(imsAuth)?imsAuth:(0,__adobe_aio_commerce_lib_auth.getImsAuthProvider)(imsAuth);return async request=>{let headers=await imsAuthProvider.getHeaders();request.headers.set(`Authorization`,headers.Authorization),request.headers.set(`x-api-key`,headers[`x-api-key`])}}function ensureImsScopes(imsAuth,requiredScopes){let scopes=new Set([...imsAuth.scopes??[],...requiredScopes]);return{...imsAuth,scopes:Array.from(scopes)}}function optionallyExtendKy(ky$1,options){return options?ky$1.extend(options):ky$1}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return isAuthProvider}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return ApiClient}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return booleanValueSchema}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return stringValueSchema}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return __toESM}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return __export}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return buildIntegrationAuthBeforeRequestHook}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return alphaNumericOrUnderscoreOrHyphenSchema}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return buildCamelCaseKeysResponseHook}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ensureImsScopes}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return distribution_default}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return parseOrThrow}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return buildImsAuthBeforeRequestHook}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return HttpClientBase}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return optionallyExtendKy}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return alphaNumericOrUnderscoreSchema}});
@@ -13,9 +13,8 @@
13
13
  */
14
14
 
15
15
  import * as v from "valibot";
16
- import * as ky0 from "ky";
17
- import { Options } from "ky";
18
16
  import { CamelCasedPropertiesDeep } from "type-fest";
17
+ import * as ky0 from "ky";
19
18
 
20
19
  //#region source/commerce/api/event-providers/schema.d.ts
21
20
  declare const EventProviderGetByIdParamsSchema: v.ObjectSchema<{
@@ -64,12 +63,11 @@ type CommerceEventProviderManyResponse = CommerceEventProviderOneResponse[];
64
63
  * @see https://developer.adobe.com/commerce/extensibility/events/api/#get-list-of-all-event-providers
65
64
  *
66
65
  * @param httpClient - The {@link AdobeCommerceHttpClient} to use to make the request.
67
- * @param params - The parameters to list the event providers with.
68
66
  * @param fetchOptions - The {@link Options} to use to make the request.
69
67
  *
70
68
  * @throws An {@link HTTPError} If the status code is not 2XX.
71
69
  */
72
- declare function getAllEventProviders(httpClient: AdobeCommerceHttpClient$3, fetchOptions?: Options): Promise<CommerceEventProviderManyResponse>;
70
+ declare function getAllEventProviders(httpClient: AdobeCommerceHttpClient$3, fetchOptions?: Options$2): Promise<CommerceEventProviderManyResponse>;
73
71
  /**
74
72
  * Gets the info of the event provider with the given ID of the Commerce instance bound to the given {@link AdobeCommerceHttpClient}.
75
73
  * @see https://developer.adobe.com/commerce/extensibility/events/api/#get-event-provider-by-id
@@ -81,7 +79,7 @@ declare function getAllEventProviders(httpClient: AdobeCommerceHttpClient$3, fet
81
79
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
82
80
  * @throws An {@link HTTPError} If the status code is not 2XX.
83
81
  */
84
- declare function getEventProviderById(httpClient: AdobeCommerceHttpClient$3, params: EventProviderGetByIdParams, fetchOptions?: Options): Promise<{
82
+ declare function getEventProviderById(httpClient: AdobeCommerceHttpClient$3, params: EventProviderGetByIdParams, fetchOptions?: Options$2): Promise<{
85
83
  id: string;
86
84
  providerId: string;
87
85
  instanceId?: string | undefined;
@@ -100,7 +98,7 @@ declare function getEventProviderById(httpClient: AdobeCommerceHttpClient$3, par
100
98
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
101
99
  * @throws An {@link HTTPError} If the status code is not 2XX.
102
100
  */
103
- declare function createEventProvider(httpClient: AdobeCommerceHttpClient$3, params: EventProviderCreateParams, fetchOptions?: Options): Promise<{
101
+ declare function createEventProvider(httpClient: AdobeCommerceHttpClient$3, params: EventProviderCreateParams, fetchOptions?: Options$2): Promise<{
104
102
  id: string;
105
103
  providerId: string;
106
104
  instanceId?: string | undefined;
@@ -164,7 +162,7 @@ type CommerceEventSubscriptionManyResponse = CommerceEventSubscriptionOneRespons
164
162
  * @param httpClient - The {@link AdobeCommerceHttpClient} to use to make the request.
165
163
  * @param fetchOptions - The {@link Options} to use to make the request.
166
164
  */
167
- declare function getAllEventSubscriptions(httpClient: AdobeCommerceHttpClient$2, fetchOptions?: Options): Promise<CommerceEventSubscriptionManyResponse>;
165
+ declare function getAllEventSubscriptions(httpClient: AdobeCommerceHttpClient$2, fetchOptions?: Options$1): Promise<CommerceEventSubscriptionManyResponse>;
168
166
  /**
169
167
  * Creates an event subscription in the Commerce instance bound to the given {@link AdobeCommerceHttpClient}.
170
168
  * @see https://developer.adobe.com/commerce/extensibility/events/api/#subscribe-to-events
@@ -176,7 +174,7 @@ declare function getAllEventSubscriptions(httpClient: AdobeCommerceHttpClient$2,
176
174
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
177
175
  * @throws An {@link HTTPError} If the status code is not 2XX.
178
176
  */
179
- declare function createEventSubscription(httpClient: AdobeCommerceHttpClient$2, params: EventSubscriptionCreateParams, fetchOptions?: Options): void;
177
+ declare function createEventSubscription(httpClient: AdobeCommerceHttpClient$2, params: EventSubscriptionCreateParams, fetchOptions?: Options$1): Promise<void>;
180
178
  //#endregion
181
179
  //#region source/commerce/api/eventing-configuration/schema.d.ts
182
180
  /** The schema of the parameters received by the `updateConfiguration` Commerce Eventing API endpoint. */
@@ -228,11 +226,11 @@ declare const UpdateEventingConfigurationParamsSchema: Omit<v.ObjectSchema<{
228
226
  merchantId?: string | undefined;
229
227
  environmentId?: string | undefined;
230
228
  workspaceConfiguration?: string | undefined;
231
- }, v.StringIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
229
+ }, v.StringIssue | v.ObjectIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
232
230
  [x: string]: unknown;
233
231
  }> | v.UnionIssue<v.StringIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
234
232
  [x: string]: unknown;
235
- }>> | v.ObjectIssue | v.BooleanIssue | v.RegexIssue<string>>;
233
+ }>> | v.BooleanIssue | v.RegexIssue<string>>;
236
234
  readonly '~types'?: {
237
235
  readonly input: {
238
236
  enabled?: boolean | undefined;
@@ -252,11 +250,11 @@ declare const UpdateEventingConfigurationParamsSchema: Omit<v.ObjectSchema<{
252
250
  environmentId?: string | undefined;
253
251
  workspaceConfiguration?: string | undefined;
254
252
  };
255
- readonly issue: v.StringIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
253
+ readonly issue: v.StringIssue | v.ObjectIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
256
254
  [x: string]: unknown;
257
255
  }> | v.UnionIssue<v.StringIssue | v.EmptyIssue<string> | v.ParseJsonIssue<string> | v.RecordIssue | v.StringifyJsonIssue<{
258
256
  [x: string]: unknown;
259
- }>> | v.ObjectIssue | v.BooleanIssue | v.RegexIssue<string>;
257
+ }>> | v.BooleanIssue | v.RegexIssue<string>;
260
258
  } | undefined;
261
259
  };
262
260
  /**
@@ -270,7 +268,7 @@ type UpdateEventingConfigurationParams = v.InferInput<typeof UpdateEventingConfi
270
268
  * Updates the configuration of the Commerce Eventing API.
271
269
  * @see https://developer.adobe.com/commerce/extensibility/events/api/#configure-commerce-eventing
272
270
  *
273
- * @param httpClient - The {@link CommerceHttpClient} to use to make the request.
271
+ * @param httpClient - The {@link AdobeCommerceHttpClient} to use to make the request.
274
272
  * @param params - The parameters to update the configuration with.
275
273
  * @param fetchOptions - The {@link Options} to use to make the request.
276
274
  *
@@ -287,7 +285,7 @@ declare function updateEventingConfiguration(httpClient: AdobeCommerceHttpClient
287
285
  declare function createCommerceEventsApiClient(params: CommerceHttpClientParams): void 0<AdobeCommerceHttpClient, {
288
286
  updateEventingConfiguration: typeof updateEventingConfiguration;
289
287
  getAllEventSubscriptions(httpClient: AdobeCommerceHttpClient, fetchOptions?: ky0.Options): Promise<CommerceEventSubscriptionManyResponse>;
290
- createEventSubscription(httpClient: AdobeCommerceHttpClient, params: EventSubscriptionCreateParams, fetchOptions?: ky0.Options): void;
288
+ createEventSubscription(httpClient: AdobeCommerceHttpClient, params: EventSubscriptionCreateParams, fetchOptions?: ky0.Options): Promise<void>;
291
289
  getAllEventProviders(httpClient: AdobeCommerceHttpClient, fetchOptions?: ky0.Options): Promise<CommerceEventProviderManyResponse>;
292
290
  getEventProviderById(httpClient: AdobeCommerceHttpClient, params: EventProviderGetByIdParams, fetchOptions?: ky0.Options): Promise<{
293
291
  id: string;
@@ -311,6 +309,6 @@ declare function createCommerceEventsApiClient(params: CommerceHttpClientParams)
311
309
  * @param params - The parameters to build the Commerce HTTP client that will communicate with the Commerce Events API.
312
310
  * @param functions - The API functions to include in the client.
313
311
  */
314
- declare function createCustomCommerceEventsApiClient<TFunctions extends Record<string, ApiFunction<AdobeCommerceHttpClient, unknown[], unknown>>>(params: CommerceHttpClientParams, functions: TFunctions): void 0<AdobeCommerceHttpClient, TFunctions>;
312
+ declare function createCustomCommerceEventsApiClient<TFunctions extends Record<string, ApiFunction<AdobeCommerceHttpClient, any[], any>>>(params: CommerceHttpClientParams, functions: TFunctions): void 0<AdobeCommerceHttpClient, TFunctions>;
315
313
  //#endregion
316
314
  export { type CommerceEventProvider, type CommerceEventProviderManyResponse, type CommerceEventProviderOneResponse, type CommerceEventSubscription, type CommerceEventSubscriptionField, type CommerceEventSubscriptionManyResponse, type CommerceEventSubscriptionOneResponse, type CommerceEventSubscriptionRule, EventProviderCreateParams, EventProviderCreateParamsSchema, EventProviderGetByIdParams, EventProviderGetByIdParamsSchema, EventSubscriptionCreateParams, EventSubscriptionCreateParamsSchema, UpdateEventingConfigurationParams, UpdateEventingConfigurationParamsSchema, createCommerceEventsApiClient, createCustomCommerceEventsApiClient, createEventProvider, createEventSubscription, getAllEventProviders, getAllEventSubscriptions, getEventProviderById, updateEventingConfiguration };
@@ -11,4 +11,4 @@
11
11
  * OF ANY KIND, either express or implied. See the License for the specific language
12
12
  * governing permissions and limitations under the License.
13
13
  */
14
- import{b as optionallyExtendKy,c as ensureImsScopes,d as buildImsAuthBeforeRequestHook,e as buildIntegrationAuthBeforeRequestHook,f as isAuthProvider,g as HttpClientBase,h as ApiClient,i as alphaNumericOrUnderscoreOrHyphenSchema,j as alphaNumericOrUnderscoreSchema,k as booleanValueSchema,l as stringValueSchema,m as parseOrThrow,n as buildCamelCaseKeysResponseHook,o as __export}from"../ky-6HcrUVIg.js";import{CommerceSdkValidationError}from"@adobe/aio-commerce-lib-core/error";import*as v from"valibot";import ky from"ky";function workspaceConfigurationSchema(propertyName){return v.union([v.pipe(stringValueSchema(propertyName),v.empty()),v.pipe(stringValueSchema(propertyName),v.parseJson(void 0,`Expected valid JSON string for property '${propertyName}'`),v.record(v.string(),v.unknown()),v.stringifyJson()),v.pipe(v.record(v.string(),v.unknown()),v.stringifyJson(void 0,`Expected valid JSON data for property '${propertyName}'`))])}const EventProviderGetByIdParamsSchema=v.object({providerId:stringValueSchema(`providerId`)}),EventProviderCreateParamsSchema=v.object({providerId:stringValueSchema(`providerId`),instanceId:stringValueSchema(`instanceId`),label:v.optional(stringValueSchema(`label`)),description:v.optional(stringValueSchema(`description`)),associatedWorkspaceConfiguration:v.optional(workspaceConfigurationSchema(`associatedWorkspaceConfiguration`))});var endpoints_exports={};__export(endpoints_exports,{createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});function getAllEventProviders(httpClient,fetchOptions){let withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.get(`eventing/eventProvider`,fetchOptions).json()}function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderGetByIdParamsSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.get(`eventing/eventProvider/${validatedParams.providerId}`,fetchOptions).json()}function createEventProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderCreateParamsSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.post(`eventing/eventProvider`,{...fetchOptions,json:{eventProvider:{provider_id:validatedParams.providerId,instance_id:validatedParams.instanceId,label:validatedParams.label,description:validatedParams.description,workspace_configuration:validatedParams.associatedWorkspaceConfiguration}}}).json()}function fieldsSchema(propertyName){return v.array(v.object({name:stringValueSchema(`${propertyName}[i].name`)}),`Expected an array of objects with a 'name' property for the property "${propertyName}"`)}const EventSubscriptionCreateParamsSchema=v.object({name:stringValueSchema(`name`),providerId:v.optional(stringValueSchema(`providerId`)),parent:v.optional(stringValueSchema(`parent`)),fields:fieldsSchema(`fields`),destination:v.optional(stringValueSchema(`destination`)),hipaaAuditRequired:v.optional(booleanValueSchema(`hipaaAuditRequired`)),prioritary:v.optional(booleanValueSchema(`prioritary`)),force:v.optional(booleanValueSchema(`force`))});var endpoints_exports$1={};__export(endpoints_exports$1,{createEventSubscription:()=>createEventSubscription,getAllEventSubscriptions:()=>getAllEventSubscriptions});function getAllEventSubscriptions(httpClient,fetchOptions){let withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.get(`eventing/getEventSubscriptions`,fetchOptions).json()}function createEventSubscription(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventSubscriptionCreateParamsSchema,params),{force,...event}=validatedParams;httpClient.post(`eventing/eventSubscribe`,{...fetchOptions,json:{force,event:{name:event.name,parent:event.parent,fields:event.fields,destination:event.destination,hipaa_audit_required:event.hipaaAuditRequired,priority:event.prioritary,provider_id:event.providerId}}}).json()}const UpdateEventingConfigurationParamsSchema=v.partial(v.object({enabled:booleanValueSchema(`enabled`),providerId:alphaNumericOrUnderscoreOrHyphenSchema(`providerId`),instanceId:alphaNumericOrUnderscoreOrHyphenSchema(`instanceId`),merchantId:alphaNumericOrUnderscoreSchema(`merchantId`),environmentId:alphaNumericOrUnderscoreSchema(`environmentId`),workspaceConfiguration:workspaceConfigurationSchema(`workspaceConfiguration`)}));function updateEventingConfiguration(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(UpdateEventingConfigurationParamsSchema,params);return httpClient.put(`eventing/updateConfiguration`,{...fetchOptions,json:{config:validatedParams}}).json()}const COMMERCE_SAAS_IMS_REQUIRED_SCOPES=[`openid`,`additional_info.projectedProductContext`,`commerce.accs`];function getCommerceUrl(config){let{baseUrl,storeViewCode,version}=config,commerceUrl=new URL(baseUrl),uppercasedVersion=version?.toUpperCase();return config.flavor===`paas`?commerceUrl.pathname+=`rest/${storeViewCode}/${uppercasedVersion}`:config.flavor===`saas`&&(commerceUrl.pathname+=`/${uppercasedVersion}`),commerceUrl.toString()}function buildCommerceHttpClientPaaS(params){let{auth,config,fetchOptions}=params,commerceUrl=getCommerceUrl(config),beforeRequestAuthHook=buildIntegrationAuthBeforeRequestHook(auth),httpClient=ky.create({prefixUrl:commerceUrl,hooks:{beforeRequest:[beforeRequestAuthHook]}});return optionallyExtendKy(httpClient,fetchOptions)}function buildCommerceHttpClientSaaS(params){let{auth,config,fetchOptions}=params,commerceUrl=getCommerceUrl(config),beforeRequestAuthHook=isAuthProvider(auth)?buildImsAuthBeforeRequestHook(auth):buildImsAuthBeforeRequestHook(ensureImsScopes(auth,COMMERCE_SAAS_IMS_REQUIRED_SCOPES)),httpClient=ky.create({prefixUrl:commerceUrl,hooks:{beforeRequest:[beforeRequestAuthHook,request=>{request.headers.set(`Store`,config.storeViewCode)}]}});return optionallyExtendKy(httpClient,fetchOptions)}function isPaaSParams(params){return params.config.flavor===`paas`}function isSaaSParams(params){return params.config.flavor===`saas`}function buildCommerceHttpClient(params){let flavor=params.config.flavor;if(isPaaSParams(params))return buildCommerceHttpClientPaaS(params);if(isSaaSParams(params))return buildCommerceHttpClientSaaS(params);throw Error(`Invalid Commerce configuration. Unknown flavor: ${flavor}`)}var AdobeCommerceHttpClient=class extends HttpClientBase{constructor(params){let config={...params.config,storeViewCode:params.config.storeViewCode??`all`,version:params.config.version??`V1`},requiredParams={...params,config},httpClient=buildCommerceHttpClient(requiredParams);super(config,httpClient)}};function createCommerceEventsApiClient(params){return ApiClient.create(new AdobeCommerceHttpClient(params),{...endpoints_exports,...endpoints_exports$1,updateEventingConfiguration})}function createCustomCommerceEventsApiClient(params,functions){return ApiClient.create(new AdobeCommerceHttpClient(params),functions)}export{createCommerceEventsApiClient,createCustomCommerceEventsApiClient,createEventProvider,createEventSubscription,getAllEventProviders,getAllEventSubscriptions,getEventProviderById,updateEventingConfiguration};
14
+ import{a as isAuthProvider,c as ApiClient,d as booleanValueSchema,f as stringValueSchema,h as __export,i as buildIntegrationAuthBeforeRequestHook,l as alphaNumericOrUnderscoreOrHyphenSchema,m as buildCamelCaseKeysResponseHook,n as ensureImsScopes,o as distribution_default,p as parseOrThrow,r as buildImsAuthBeforeRequestHook,s as HttpClientBase,t as optionallyExtendKy,u as alphaNumericOrUnderscoreSchema}from"../ky-CkAM5Dyz.js";import{CommerceSdkValidationError}from"@adobe/aio-commerce-lib-core/error";import*as v from"valibot";function workspaceConfigurationSchema(propertyName){return v.union([v.pipe(stringValueSchema(propertyName),v.empty()),v.pipe(stringValueSchema(propertyName),v.parseJson(void 0,`Expected valid JSON string for property '${propertyName}'`),v.record(v.string(),v.unknown()),v.stringifyJson()),v.pipe(v.record(v.string(),v.unknown()),v.stringifyJson(void 0,`Expected valid JSON data for property '${propertyName}'`))])}const EventProviderGetByIdParamsSchema=v.object({providerId:stringValueSchema(`providerId`)}),EventProviderCreateParamsSchema=v.object({providerId:stringValueSchema(`providerId`),instanceId:stringValueSchema(`instanceId`),label:v.optional(stringValueSchema(`label`)),description:v.optional(stringValueSchema(`description`)),associatedWorkspaceConfiguration:v.optional(workspaceConfigurationSchema(`associatedWorkspaceConfiguration`))});var endpoints_exports={};__export(endpoints_exports,{createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});async function getAllEventProviders(httpClient,fetchOptions){return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`eventing/eventProvider`,fetchOptions).json()}async function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderGetByIdParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`eventing/eventProvider/${validatedParams.providerId}`,fetchOptions).json()}async function createEventProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderCreateParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).post(`eventing/eventProvider`,{...fetchOptions,json:{eventProvider:{provider_id:validatedParams.providerId,instance_id:validatedParams.instanceId,label:validatedParams.label,description:validatedParams.description,workspace_configuration:validatedParams.associatedWorkspaceConfiguration}}}).json()}function fieldsSchema(propertyName){return v.array(v.object({name:stringValueSchema(`${propertyName}[i].name`)}),`Expected an array of objects with a 'name' property for the property "${propertyName}"`)}const EventSubscriptionCreateParamsSchema=v.object({name:stringValueSchema(`name`),providerId:v.optional(stringValueSchema(`providerId`)),parent:v.optional(stringValueSchema(`parent`)),fields:fieldsSchema(`fields`),destination:v.optional(stringValueSchema(`destination`)),hipaaAuditRequired:v.optional(booleanValueSchema(`hipaaAuditRequired`)),prioritary:v.optional(booleanValueSchema(`prioritary`)),force:v.optional(booleanValueSchema(`force`))});var endpoints_exports$1={};__export(endpoints_exports$1,{createEventSubscription:()=>createEventSubscription,getAllEventSubscriptions:()=>getAllEventSubscriptions});async function getAllEventSubscriptions(httpClient,fetchOptions){return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`eventing/getEventSubscriptions`,fetchOptions).json()}async function createEventSubscription(httpClient,params,fetchOptions){let{force,...event}=parseOrThrow(EventSubscriptionCreateParamsSchema,params);return httpClient.post(`eventing/eventSubscribe`,{...fetchOptions,json:{force,event:{name:event.name,parent:event.parent,fields:event.fields,destination:event.destination,hipaa_audit_required:event.hipaaAuditRequired,priority:event.prioritary,provider_id:event.providerId}}}).json().then(_res=>{})}const UpdateEventingConfigurationParamsSchema=v.partial(v.object({enabled:booleanValueSchema(`enabled`),providerId:alphaNumericOrUnderscoreOrHyphenSchema(`providerId`),instanceId:alphaNumericOrUnderscoreOrHyphenSchema(`instanceId`),merchantId:alphaNumericOrUnderscoreSchema(`merchantId`),environmentId:alphaNumericOrUnderscoreSchema(`environmentId`),workspaceConfiguration:workspaceConfigurationSchema(`workspaceConfiguration`)}));async function updateEventingConfiguration(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(UpdateEventingConfigurationParamsSchema,params);return httpClient.put(`eventing/updateConfiguration`,{...fetchOptions,json:{config:validatedParams}}).json()}const COMMERCE_SAAS_IMS_REQUIRED_SCOPES=[`openid`,`additional_info.projectedProductContext`,`commerce.accs`];function getCommerceUrl(config){let{baseUrl,storeViewCode,version}=config,commerceUrl=new URL(baseUrl.endsWith(`/`)?baseUrl:`${baseUrl}/`),uppercasedVersion=version?.toUpperCase();return config.flavor===`paas`?commerceUrl.pathname+=`rest/${storeViewCode}/${uppercasedVersion}`:config.flavor===`saas`&&(commerceUrl.pathname+=`${uppercasedVersion}`),commerceUrl.toString()}function buildCommerceHttpClientPaaS(params){let{auth,config,fetchOptions}=params,commerceUrl=getCommerceUrl(config),beforeRequestAuthHook=buildIntegrationAuthBeforeRequestHook(auth),httpClient=distribution_default.create({prefixUrl:commerceUrl,hooks:{beforeRequest:[beforeRequestAuthHook]}});return optionallyExtendKy(httpClient,fetchOptions)}function buildCommerceHttpClientSaaS(params){let{auth,config,fetchOptions}=params,commerceUrl=getCommerceUrl(config),beforeRequestAuthHook=isAuthProvider(auth)?buildImsAuthBeforeRequestHook(auth):buildImsAuthBeforeRequestHook(ensureImsScopes(auth,COMMERCE_SAAS_IMS_REQUIRED_SCOPES)),httpClient=distribution_default.create({prefixUrl:commerceUrl,hooks:{beforeRequest:[beforeRequestAuthHook,request=>{request.headers.set(`Store`,config.storeViewCode)}]}});return optionallyExtendKy(httpClient,fetchOptions)}function isPaaSParams(params){return params.config.flavor===`paas`}function isSaaSParams(params){return params.config.flavor===`saas`}function buildCommerceHttpClient(params){let flavor=params.config.flavor;if(isPaaSParams(params))return buildCommerceHttpClientPaaS(params);if(isSaaSParams(params))return buildCommerceHttpClientSaaS(params);throw Error(`Invalid Commerce configuration. Unknown flavor: ${flavor}`)}var AdobeCommerceHttpClient=class extends HttpClientBase{constructor(params){let config={...params.config,storeViewCode:params.config.storeViewCode??`all`,version:params.config.version??`V1`},requiredParams={...params,config},httpClient=buildCommerceHttpClient(requiredParams);super(config,httpClient)}};function createCommerceEventsApiClient(params){return ApiClient.create(new AdobeCommerceHttpClient(params),{...endpoints_exports,...endpoints_exports$1,updateEventingConfiguration})}function createCustomCommerceEventsApiClient(params,functions){return ApiClient.create(new AdobeCommerceHttpClient(params),functions)}export{createCommerceEventsApiClient,createCustomCommerceEventsApiClient,createEventProvider,createEventSubscription,getAllEventProviders,getAllEventSubscriptions,getEventProviderById,updateEventingConfiguration};
@@ -13,10 +13,9 @@
13
13
  */
14
14
 
15
15
  import * as v from "valibot";
16
- import * as ky4 from "ky";
17
- import { Options } from "ky";
18
16
  import * as type_fest0 from "type-fest";
19
17
  import { CamelCasedPropertiesDeep, OmitDeep } from "type-fest";
18
+ import * as ky4 from "ky";
20
19
 
21
20
  //#region source/io-events/api/event-metadata/schema.d.ts
22
21
  /** The schema of the parameters received by the GET `providers/:id/eventmetadata` Adobe I/O Events API endpoint. */
@@ -71,7 +70,7 @@ type CreateEventMetadataForProviderParams = v.InferInput<typeof CreateEventMetad
71
70
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
72
71
  * @throws An {@link HTTPError} If the status code is not 2XX.
73
72
  */
74
- declare function getAllEventMetadataForProvider(httpClient: AdobeIoEventsHttpClient$3, params: GetAllEventMetadataForProviderParams, fetchOptions?: Options): Promise<{
73
+ declare function getAllEventMetadataForProvider(httpClient: AdobeIoEventsHttpClient$3, params: GetAllEventMetadataForProviderParams, fetchOptions?: Options$2): Promise<{
75
74
  embedded: {
76
75
  description: string;
77
76
  label: string;
@@ -143,7 +142,7 @@ declare function getAllEventMetadataForProvider(httpClient: AdobeIoEventsHttpCli
143
142
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
144
143
  * @throws An {@link HTTPError} If the status code is not 2XX.
145
144
  */
146
- declare function getEventMetadataForEventAndProvider(httpClient: AdobeIoEventsHttpClient$3, params: GetEventMetadataForEventAndProviderParams, fetchOptions?: Options): Promise<{
145
+ declare function getEventMetadataForEventAndProvider(httpClient: AdobeIoEventsHttpClient$3, params: GetEventMetadataForEventAndProviderParams, fetchOptions?: Options$2): Promise<{
147
146
  description: string;
148
147
  label: string;
149
148
  eventCode: string;
@@ -213,7 +212,7 @@ declare function getEventMetadataForEventAndProvider(httpClient: AdobeIoEventsHt
213
212
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
214
213
  * @throws An {@link HTTPError} If the status code is not 2XX.
215
214
  */
216
- declare function createEventMetadataForProvider(httpClient: AdobeIoEventsHttpClient$3, params: CreateEventMetadataForProviderParams, fetchOptions?: Options): Promise<{
215
+ declare function createEventMetadataForProvider(httpClient: AdobeIoEventsHttpClient$3, params: CreateEventMetadataForProviderParams, fetchOptions?: Options$2): Promise<{
217
216
  description: string;
218
217
  label: string;
219
218
  eventCode: string;
@@ -322,7 +321,7 @@ type EventProviderCreateParams = v.InferInput<typeof EventProviderCreateParamsSc
322
321
  * @param params - The parameters to list the event providers with.
323
322
  * @param fetchOptions - The {@link Options} to use to make the request.
324
323
  */
325
- declare function getAllEventProviders(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderListAllParams, fetchOptions?: Options): Promise<{
324
+ declare function getAllEventProviders(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderListAllParams, fetchOptions?: Options$1): Promise<{
326
325
  embedded: {
327
326
  providers: {
328
327
  id: string;
@@ -446,7 +445,7 @@ declare function getAllEventProviders(httpClient: AdobeIoEventsHttpClient$2, par
446
445
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
447
446
  * @throws An {@link HTTPError} If the status code is not 2XX.
448
447
  */
449
- declare function getEventProviderById(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderGetByIdParams, fetchOptions?: Options): Promise<{
448
+ declare function getEventProviderById(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderGetByIdParams, fetchOptions?: Options$1): Promise<{
450
449
  id: string;
451
450
  instanceId?: string | undefined;
452
451
  label: string;
@@ -553,7 +552,7 @@ declare function getEventProviderById(httpClient: AdobeIoEventsHttpClient$2, par
553
552
  * @throws A {@link CommerceSdkValidationError} If the parameters are in the wrong format.
554
553
  * @throws An {@link HTTPError} If the status code is not 2XX.
555
554
  */
556
- declare function createEventProvider(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderCreateParams, fetchOptions?: Options): Promise<{
555
+ declare function createEventProvider(httpClient: AdobeIoEventsHttpClient$2, params: EventProviderCreateParams, fetchOptions?: Options$1): Promise<{
557
556
  id: string;
558
557
  instanceId?: string | undefined;
559
558
  label: string;
@@ -2028,7 +2027,7 @@ declare function createAdobeIoEventsApiClient(params: IoEventsHttpClientParams):
2028
2027
  * @param params - The parameters to build the Adobe I/O Events HTTP client that will communicate with the Adobe I/O Events API.
2029
2028
  * @param functions - The API functions to include in the client.
2030
2029
  */
2031
- declare function createCustomAdobeIoEventsApiClient<TFunctions extends Record<string, ApiFunction<AdobeIoEventsHttpClient, unknown[], unknown>>>(params: IoEventsHttpClientParams, functions: TFunctions): void 0<AdobeIoEventsHttpClient, TFunctions>;
2030
+ declare function createCustomAdobeIoEventsApiClient<TFunctions extends Record<string, ApiFunction<AdobeIoEventsHttpClient, any[], any>>>(params: IoEventsHttpClientParams, functions: TFunctions): void 0<AdobeIoEventsHttpClient, TFunctions>;
2032
2031
  //#endregion
2033
2032
  //#region source/io-events/types.d.ts
2034
2033
  type HALLink = {
@@ -11,4 +11,4 @@
11
11
  * OF ANY KIND, either express or implied. See the License for the specific language
12
12
  * governing permissions and limitations under the License.
13
13
  */
14
- import{b as optionallyExtendKy,c as ensureImsScopes,d as buildImsAuthBeforeRequestHook,f as isAuthProvider,g as HttpClientBase,h as ApiClient,k as booleanValueSchema,l as stringValueSchema,m as parseOrThrow,n as buildCamelCaseKeysResponseHook,o as __export}from"../ky-6HcrUVIg.js";import*as v from"valibot";import ky from"ky";const IO_EVENTS_IMS_REQUIRED_SCOPES=[`adobeio_api`];function buildIoEventsHttpClient(params){let{auth,config,fetchOptions}=params,beforeRequestAuthHook=isAuthProvider(auth)?buildImsAuthBeforeRequestHook(auth):buildImsAuthBeforeRequestHook(ensureImsScopes(auth,IO_EVENTS_IMS_REQUIRED_SCOPES)),adobeIoBaseUrl=config.baseUrl,httpClient=ky.create({prefixUrl:adobeIoBaseUrl,headers:{Accept:`application/hal+json`},hooks:{beforeRequest:[beforeRequestAuthHook]}});return optionallyExtendKy(httpClient,fetchOptions)}var AdobeIoEventsHttpClient=class extends HttpClientBase{constructor(params){let config={...params.config,baseUrl:params.config?.baseUrl??`https://api.adobe.io/events`},httpClient=buildIoEventsHttpClient({...params,config});super(config,httpClient)}};const BASE64_ENCODED_STRING_REGEX=/^[A-Za-z0-9+/]*={0,2}$/;function isBase64EncodedString(value){return BASE64_ENCODED_STRING_REGEX.test(value)&&value.length%4==0}function encodeToBase64(value){return Buffer.from(value).toString(`base64`)}function tryDecodeFromBase64(value){return isBase64EncodedString(value)?Buffer.from(value,`base64`).toString(`utf-8`):value}function sampleEventTemplateSchema(fieldName){return v.pipe(v.union([v.pipe(stringValueSchema(fieldName),v.transform(tryDecodeFromBase64),v.parseJson(void 0,`Expected valid JSON string for property '${fieldName}'`),v.record(v.string(),v.unknown()),v.stringifyJson()),v.record(v.string(),v.unknown()),v.array(v.unknown())]),v.stringifyJson(void 0,`Expected valid JSON data for property '${fieldName}'`),v.transform(encodeToBase64))}const GetAllEventMetadataForProviderSchema=v.object({providerId:stringValueSchema(`providerId`)}),GetEventMetadataForEventAndProviderSchema=v.object({eventCode:stringValueSchema(`eventCode`),providerId:stringValueSchema(`providerId`)}),CreateEventMetadataForProviderSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`),providerId:stringValueSchema(`providerId`),label:stringValueSchema(`label`),description:stringValueSchema(`description`),eventCode:stringValueSchema(`eventCode`),sampleEventTemplate:v.optional(sampleEventTemplateSchema(`sampleEventTemplate`))});var endpoints_exports={};__export(endpoints_exports,{createEventMetadataForProvider:()=>createEventMetadataForProvider,getAllEventMetadataForProvider:()=>getAllEventMetadataForProvider,getEventMetadataForEventAndProvider:()=>getEventMetadataForEventAndProvider});function getAllEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetAllEventMetadataForProviderSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.get(`providers/${validatedParams.providerId}/eventmetadata`,fetchOptions).json()}function getEventMetadataForEventAndProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetEventMetadataForEventAndProviderSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.get(`providers/${validatedParams.providerId}/eventmetadata/${validatedParams.eventCode}`,fetchOptions).json()}function createEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(CreateEventMetadataForProviderSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers/${validatedParams.providerId}/eventmetadata`,{...fetchOptions,json:{label:validatedParams.label,description:validatedParams.description,event_code:validatedParams.eventCode,sample_event_template:validatedParams.sampleEventTemplate}}).json()}function setQueryParamIfTruthy(queryParams,key,value){value&&queryParams.set(key,`${value}`)}function setArrayQueryParam(queryParams,key,values){if(values!==void 0&&values.length>0)for(let value of values)queryParams.set(key,`${value}`)}const VALID_EVENT_PROVIDER_TYPES=[`dx_commerce_events`,`3rd_party_custom_events`],VALID_DATA_RESIDENCY_REGIONS=[`va6`,`irl1`],EventProviderTypeSchema=v.picklist(VALID_EVENT_PROVIDER_TYPES),DataResidencyRegionSchema=v.picklist(VALID_DATA_RESIDENCY_REGIONS),EventProviderListAllParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),withEventMetadata:v.optional(booleanValueSchema(`withEventMetadata`)),filterBy:v.optional(v.object({instanceId:v.optional(stringValueSchema(`instanceId`)),providerTypes:v.optional(v.union([v.array(EventProviderTypeSchema,`Expected an array of event provider types`)]))}))}),EventProviderGetByIdParamsSchema=v.object({providerId:stringValueSchema(`providerId`),withEventMetadata:v.optional(booleanValueSchema(`withEventMetadata`))}),EventProviderCreateParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`),label:stringValueSchema(`label`),description:v.optional(stringValueSchema(`description`)),docsUrl:v.optional(stringValueSchema(`docsUrl`)),instanceId:v.optional(stringValueSchema(`instanceId`)),providerType:v.optional(EventProviderTypeSchema),dataResidencyRegion:v.optional(DataResidencyRegionSchema)});var endpoints_exports$1={};__export(endpoints_exports$1,{createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});function getAllEventProviders(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderListAllParamsSchema,params),queryParams=new URLSearchParams,{providerTypes=[],instanceId}=validatedParams.filterBy??{};setArrayQueryParam(queryParams,`providerMetadataIds`,providerTypes),setQueryParamIfTruthy(queryParams,`instanceId`,instanceId),setQueryParamIfTruthy(queryParams,`eventmetadata`,validatedParams.withEventMetadata);let withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.get(`${validatedParams.consumerOrgId}/providers`,{...fetchOptions,searchParams:queryParams}).json()}function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderGetByIdParamsSchema,params),searchParams=new URLSearchParams;setQueryParamIfTruthy(searchParams,`eventmetadata`,validatedParams.withEventMetadata);let withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.get(`providers/${params.providerId}`,{...fetchOptions,searchParams}).json()}function createEventProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderCreateParamsSchema,params),withHooksClient=httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}});return withHooksClient.post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers`,{...fetchOptions,json:{...validatedParams,docs_url:validatedParams.docsUrl,provider_metadata:validatedParams.providerType,instance_id:validatedParams.instanceId,data_residency_region:validatedParams.dataResidencyRegion}}).json()}var shorthands_exports={};__export(shorthands_exports,{create3rdPartyCustomEventProvider:()=>create3rdPartyCustomEventProvider,createCommerceEventProvider:()=>createCommerceEventProvider,getAll3rdPartyCustomEventProviders:()=>getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders:()=>getAllCommerceEventProviders});function getAllCommerceEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`dx_commerce_events`]}},fetchOptions)}function getAll3rdPartyCustomEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`3rd_party_custom_events`]}},fetchOptions)}function createCommerceEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`dx_commerce_events`},fetchOptions)}function create3rdPartyCustomEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`3rd_party_custom_events`},fetchOptions)}function createAdobeIoEventsApiClient(params){return ApiClient.create(new AdobeIoEventsHttpClient(params),{...endpoints_exports$1,...endpoints_exports,...shorthands_exports})}function createCustomAdobeIoEventsApiClient(params,functions){return ApiClient.create(new AdobeIoEventsHttpClient(params),functions)}export{create3rdPartyCustomEventProvider,createAdobeIoEventsApiClient,createCommerceEventProvider,createCustomAdobeIoEventsApiClient,createEventMetadataForProvider,createEventProvider,getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders,getAllEventMetadataForProvider,getAllEventProviders,getEventMetadataForEventAndProvider,getEventProviderById};
14
+ import{a as isAuthProvider,c as ApiClient,d as booleanValueSchema,f as stringValueSchema,h as __export,m as buildCamelCaseKeysResponseHook,n as ensureImsScopes,o as distribution_default,p as parseOrThrow,r as buildImsAuthBeforeRequestHook,s as HttpClientBase,t as optionallyExtendKy}from"../ky-CkAM5Dyz.js";import*as v from"valibot";const IO_EVENTS_IMS_REQUIRED_SCOPES=[`adobeio_api`];function buildIoEventsHttpClient(params){let{auth,config,fetchOptions}=params,beforeRequestAuthHook=isAuthProvider(auth)?buildImsAuthBeforeRequestHook(auth):buildImsAuthBeforeRequestHook(ensureImsScopes(auth,IO_EVENTS_IMS_REQUIRED_SCOPES)),adobeIoBaseUrl=config.baseUrl,httpClient=distribution_default.create({prefixUrl:adobeIoBaseUrl,headers:{Accept:`application/hal+json`},hooks:{beforeRequest:[beforeRequestAuthHook]}});return optionallyExtendKy(httpClient,fetchOptions)}var AdobeIoEventsHttpClient=class extends HttpClientBase{constructor(params){let config={...params.config,baseUrl:params.config?.baseUrl??`https://api.adobe.io/events`},httpClient=buildIoEventsHttpClient({...params,config});super(config,httpClient)}};const BASE64_ENCODED_STRING_REGEX=/^[A-Za-z0-9+/]*={0,2}$/;function isBase64EncodedString(value){return BASE64_ENCODED_STRING_REGEX.test(value)&&value.length%4==0}function encodeToBase64(value){return Buffer.from(value).toString(`base64`)}function tryDecodeFromBase64(value){return isBase64EncodedString(value)?Buffer.from(value,`base64`).toString(`utf-8`):value}function sampleEventTemplateSchema(fieldName){return v.pipe(v.union([v.pipe(stringValueSchema(fieldName),v.transform(tryDecodeFromBase64),v.parseJson(void 0,`Expected valid JSON string for property '${fieldName}'`),v.record(v.string(),v.unknown()),v.stringifyJson()),v.record(v.string(),v.unknown()),v.array(v.unknown())]),v.stringifyJson(void 0,`Expected valid JSON data for property '${fieldName}'`),v.transform(encodeToBase64))}const GetAllEventMetadataForProviderSchema=v.object({providerId:stringValueSchema(`providerId`)}),GetEventMetadataForEventAndProviderSchema=v.object({eventCode:stringValueSchema(`eventCode`),providerId:stringValueSchema(`providerId`)}),CreateEventMetadataForProviderSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`),providerId:stringValueSchema(`providerId`),label:stringValueSchema(`label`),description:stringValueSchema(`description`),eventCode:stringValueSchema(`eventCode`),sampleEventTemplate:v.optional(sampleEventTemplateSchema(`sampleEventTemplate`))});var endpoints_exports={};__export(endpoints_exports,{createEventMetadataForProvider:()=>createEventMetadataForProvider,getAllEventMetadataForProvider:()=>getAllEventMetadataForProvider,getEventMetadataForEventAndProvider:()=>getEventMetadataForEventAndProvider});async function getAllEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetAllEventMetadataForProviderSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`providers/${validatedParams.providerId}/eventmetadata`,fetchOptions).json()}async function getEventMetadataForEventAndProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetEventMetadataForEventAndProviderSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`providers/${validatedParams.providerId}/eventmetadata/${validatedParams.eventCode}`,fetchOptions).json()}async function createEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(CreateEventMetadataForProviderSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers/${validatedParams.providerId}/eventmetadata`,{...fetchOptions,json:{label:validatedParams.label,description:validatedParams.description,event_code:validatedParams.eventCode,sample_event_template:validatedParams.sampleEventTemplate}}).json()}function setQueryParamIfTruthy(queryParams,key,value){value&&queryParams.set(key,`${value}`)}function setArrayQueryParam(queryParams,key,values){if(values!==void 0&&values.length>0)for(let value of values)queryParams.set(key,`${value}`)}const VALID_EVENT_PROVIDER_TYPES=[`dx_commerce_events`,`3rd_party_custom_events`],VALID_DATA_RESIDENCY_REGIONS=[`va6`,`irl1`],EventProviderTypeSchema=v.picklist(VALID_EVENT_PROVIDER_TYPES),DataResidencyRegionSchema=v.picklist(VALID_DATA_RESIDENCY_REGIONS),EventProviderListAllParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),withEventMetadata:v.optional(booleanValueSchema(`withEventMetadata`)),filterBy:v.optional(v.object({instanceId:v.optional(stringValueSchema(`instanceId`)),providerTypes:v.optional(v.union([v.array(EventProviderTypeSchema,`Expected an array of event provider types`)]))}))}),EventProviderGetByIdParamsSchema=v.object({providerId:stringValueSchema(`providerId`),withEventMetadata:v.optional(booleanValueSchema(`withEventMetadata`))}),EventProviderCreateParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`),label:stringValueSchema(`label`),description:v.optional(stringValueSchema(`description`)),docsUrl:v.optional(stringValueSchema(`docsUrl`)),instanceId:v.optional(stringValueSchema(`instanceId`)),providerType:v.optional(EventProviderTypeSchema),dataResidencyRegion:v.optional(DataResidencyRegionSchema)});var endpoints_exports$1={};__export(endpoints_exports$1,{createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});async function getAllEventProviders(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderListAllParamsSchema,params),queryParams=new URLSearchParams,{providerTypes=[],instanceId}=validatedParams.filterBy??{};return setArrayQueryParam(queryParams,`providerMetadataIds`,providerTypes),setQueryParamIfTruthy(queryParams,`instanceId`,instanceId),setQueryParamIfTruthy(queryParams,`eventmetadata`,validatedParams.withEventMetadata),httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`${validatedParams.consumerOrgId}/providers`,{...fetchOptions,searchParams:queryParams}).json()}async function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderGetByIdParamsSchema,params),searchParams=new URLSearchParams;return setQueryParamIfTruthy(searchParams,`eventmetadata`,validatedParams.withEventMetadata),httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`providers/${params.providerId}`,{...fetchOptions,searchParams}).json()}async function createEventProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderCreateParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers`,{...fetchOptions,json:{...validatedParams,docs_url:validatedParams.docsUrl,provider_metadata:validatedParams.providerType,instance_id:validatedParams.instanceId,data_residency_region:validatedParams.dataResidencyRegion}}).json()}var shorthands_exports={};__export(shorthands_exports,{create3rdPartyCustomEventProvider:()=>create3rdPartyCustomEventProvider,createCommerceEventProvider:()=>createCommerceEventProvider,getAll3rdPartyCustomEventProviders:()=>getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders:()=>getAllCommerceEventProviders});async function getAllCommerceEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`dx_commerce_events`]}},fetchOptions)}async function getAll3rdPartyCustomEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`3rd_party_custom_events`]}},fetchOptions)}async function createCommerceEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`dx_commerce_events`},fetchOptions)}async function create3rdPartyCustomEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`3rd_party_custom_events`},fetchOptions)}function createAdobeIoEventsApiClient(params){return ApiClient.create(new AdobeIoEventsHttpClient(params),{...endpoints_exports$1,...endpoints_exports,...shorthands_exports})}function createCustomAdobeIoEventsApiClient(params,functions){return ApiClient.create(new AdobeIoEventsHttpClient(params),functions)}export{create3rdPartyCustomEventProvider,createAdobeIoEventsApiClient,createCommerceEventProvider,createCustomAdobeIoEventsApiClient,createEventMetadataForProvider,createEventProvider,getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders,getAllEventMetadataForProvider,getAllEventProviders,getEventMetadataForEventAndProvider,getEventProviderById};
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ *
4
+ * Copyright 2025 Adobe. All rights reserved.
5
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License. You may obtain a copy
7
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under
10
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
11
+ * OF ANY KIND, either express or implied. See the License for the specific language
12
+ * governing permissions and limitations under the License.
13
+ */
14
+ import{CommerceSdkValidationError}from"@adobe/aio-commerce-lib-core/error";import*as v from"valibot";import{getImsAuthProvider,getIntegrationAuthProvider}from"@adobe/aio-commerce-lib-auth";var __defProp=Object.defineProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})};const UPPERCASE=/[\p{Lu}]/u,LOWERCASE=/[\p{Ll}]/u,LEADING_CAPITAL=/^[\p{Lu}](?![\p{Lu}])/gu,IDENTIFIER=/([\p{Alpha}\p{N}_]|$)/u,SEPARATORS=/[_.\- ]+/,LEADING_SEPARATORS=RegExp(`^`+SEPARATORS.source),SEPARATORS_AND_IDENTIFIER=new RegExp(SEPARATORS.source+IDENTIFIER.source,`gu`),NUMBERS_AND_IDENTIFIER=RegExp(`\\d+`+IDENTIFIER.source,`gu`),preserveCamelCase=(string,toLowerCase,toUpperCase,preserveConsecutiveUppercase$1)=>{let isLastCharLower=!1,isLastCharUpper=!1,isLastLastCharUpper=!1,isLastLastCharPreserved=!1;for(let index=0;index<string.length;index++){let character=string[index];isLastLastCharPreserved=index>2?string[index-3]===`-`:!0,isLastCharLower&&UPPERCASE.test(character)?(string=string.slice(0,index)+`-`+string.slice(index),isLastCharLower=!1,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!0,index++):isLastCharUpper&&isLastLastCharUpper&&LOWERCASE.test(character)&&(!isLastLastCharPreserved||preserveConsecutiveUppercase$1)?(string=string.slice(0,index-1)+`-`+string.slice(index-1),isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!1,isLastCharLower=!0):(isLastCharLower=toLowerCase(character)===character&&toUpperCase(character)!==character,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=toUpperCase(character)===character&&toLowerCase(character)!==character)}return string},preserveConsecutiveUppercase=(input,toLowerCase)=>(LEADING_CAPITAL.lastIndex=0,input.replaceAll(LEADING_CAPITAL,match=>toLowerCase(match))),postProcess=(input,toUpperCase)=>(SEPARATORS_AND_IDENTIFIER.lastIndex=0,NUMBERS_AND_IDENTIFIER.lastIndex=0,input.replaceAll(NUMBERS_AND_IDENTIFIER,(match,pattern,offset)=>[`_`,`-`].includes(input.charAt(offset+match.length))?match:toUpperCase(match)).replaceAll(SEPARATORS_AND_IDENTIFIER,(_,identifier)=>toUpperCase(identifier)));function camelCase(input,options){if(!(typeof input==`string`||Array.isArray(input)))throw TypeError("Expected the input to be `string | string[]`");if(options={pascalCase:!1,preserveConsecutiveUppercase:!1,...options},input=Array.isArray(input)?input.map(x=>x.trim()).filter(x=>x.length).join(`-`):input.trim(),input.length===0)return``;let toLowerCase=options.locale===!1?string=>string.toLowerCase():string=>string.toLocaleLowerCase(options.locale),toUpperCase=options.locale===!1?string=>string.toUpperCase():string=>string.toLocaleUpperCase(options.locale);return input.length===1?SEPARATORS.test(input)?``:options.pascalCase?toUpperCase(input):toLowerCase(input):(input!==toLowerCase(input)&&(input=preserveCamelCase(input,toLowerCase,toUpperCase,options.preserveConsecutiveUppercase)),input=input.replace(LEADING_SEPARATORS,``),input=options.preserveConsecutiveUppercase?preserveConsecutiveUppercase(input,toLowerCase):toLowerCase(input),options.pascalCase&&(input=toUpperCase(input.charAt(0))+input.slice(1)),postProcess(input,toUpperCase))}function buildObjectKeyTransformerResponseHook(transformer,recursive=!0){let transformObject=obj=>typeof obj!=`object`||!obj?obj:Array.isArray(obj)?recursive?obj.map(transformObject):obj:Object.fromEntries(Object.entries(obj).map(([key,value])=>{let transformedKey=transformer(key),transformedValue=recursive?transformObject(value):value;return[transformedKey,transformedValue]}));return(_req,_opt,response)=>response.json().then(data=>{let transformedData=transformObject(data);return Response.json(transformedData,response)})}function buildCamelCaseKeysResponseHook(){return buildObjectKeyTransformerResponseHook(camelCase)}function parseOrThrow(schema,input){let result=v.safeParse(schema,input);if(!result.success)throw new CommerceSdkValidationError(`Invalid input`,{issues:result.issues});return result.output}const ALPHANUMERIC_OR_UNDERSCORE_REGEX=/^[a-zA-Z0-9_]+$/,ALPHANUMERIC_OR_UNDERSCORE_OR_HYPHEN_REGEX=/^[a-zA-Z0-9_-]+$/;function stringValueSchema(propertyName){return v.string(`Expected a string value for property '${propertyName}'`)}function booleanValueSchema(propertyName){return v.boolean(`Expected a boolean value for property '${propertyName}'`)}function alphaNumericOrUnderscoreSchema(name){return v.pipe(stringValueSchema(name),v.regex(ALPHANUMERIC_OR_UNDERSCORE_REGEX,`Only alphanumeric characters and underscores are allowed for "${name}"`))}function alphaNumericOrUnderscoreOrHyphenSchema(name){return v.pipe(stringValueSchema(name),v.regex(ALPHANUMERIC_OR_UNDERSCORE_OR_HYPHEN_REGEX,`Only alphanumeric characters, underscores, and hyphens are allowed for property "${name}"`))}var ApiClient=class{static create(client,functions){let wrapped={};for(let key in functions)if(Object.hasOwn(functions,key)){let fn=functions[key];wrapped[key]=((...args)=>fn(client,...args))}return wrapped}},HttpClientBase=class HttpClientBase{constructor(config,httpClient){this.config=Object.freeze(config),this.setHttpClient(httpClient)}setHttpClient(httpClient){this.httpClient=Object.freeze(httpClient),this.get=this.httpClient.get.bind(this.httpClient),this.post=this.httpClient.post.bind(this.httpClient),this.put=this.httpClient.put.bind(this.httpClient),this.delete=this.httpClient.delete.bind(this.httpClient),this.patch=this.httpClient.patch.bind(this.httpClient),this.head=this.httpClient.head.bind(this.httpClient),this.stop=this.httpClient.stop}extend(options){let client=Object.freeze(this.httpClient.extend(options));return new HttpClientBase(this.config,client)}},HTTPError=class extends Error{response;request;options;constructor(response,request,options){let code=response.status||response.status===0?response.status:``,title=response.statusText||``,status=`${code} ${title}`.trim(),reason=status?`status code ${status}`:`an unknown error`;super(`Request failed with ${reason}: ${request.method} ${request.url}`),this.name=`HTTPError`,this.response=response,this.request=request,this.options=options}},TimeoutError=class extends Error{request;constructor(request){super(`Request timed out: ${request.method} ${request.url}`),this.name=`TimeoutError`,this.request=request}};const supportsRequestStreams=(()=>{let duplexAccessed=!1,hasContentType=!1,supportsReadableStream=typeof globalThis.ReadableStream==`function`,supportsRequest=typeof globalThis.Request==`function`;if(supportsReadableStream&&supportsRequest)try{hasContentType=new globalThis.Request(`https://empty.invalid`,{body:new globalThis.ReadableStream,method:`POST`,get duplex(){return duplexAccessed=!0,`half`}}).headers.has(`Content-Type`)}catch(error){if(error instanceof Error&&error.message===`unsupported BodyInit type`)return!1;throw error}return duplexAccessed&&!hasContentType})(),supportsAbortController=typeof globalThis.AbortController==`function`,supportsAbortSignal=typeof globalThis.AbortSignal==`function`&&typeof globalThis.AbortSignal.any==`function`,supportsResponseStreams=typeof globalThis.ReadableStream==`function`,supportsFormData=typeof globalThis.FormData==`function`,requestMethods=[`get`,`post`,`put`,`patch`,`head`,`delete`],responseTypes={json:`application/json`,text:`text/*`,formData:`multipart/form-data`,arrayBuffer:`*/*`,blob:`*/*`,bytes:`*/*`},maxSafeTimeout=2147483647,usualFormBoundarySize=new TextEncoder().encode(`------WebKitFormBoundaryaxpyiPgbbPti10Rw`).length,stop=Symbol(`stop`),kyOptionKeys={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},requestOptionsRegistry={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0},getBodySize=body=>{if(!body)return 0;if(body instanceof FormData){let size=0;for(let[key,value]of body)size+=usualFormBoundarySize,size+=new TextEncoder().encode(`Content-Disposition: form-data; name="${key}"`).length,size+=typeof value==`string`?new TextEncoder().encode(value).length:value.size;return size}if(body instanceof Blob)return body.size;if(body instanceof ArrayBuffer)return body.byteLength;if(typeof body==`string`)return new TextEncoder().encode(body).length;if(body instanceof URLSearchParams)return new TextEncoder().encode(body.toString()).length;if(`byteLength`in body)return body.byteLength;if(typeof body==`object`&&body)try{let jsonString=JSON.stringify(body);return new TextEncoder().encode(jsonString).length}catch{return 0}return 0},streamResponse=(response,onDownloadProgress)=>{let totalBytes=Number(response.headers.get(`content-length`))||0,transferredBytes=0;return response.status===204?(onDownloadProgress&&onDownloadProgress({percent:1,totalBytes,transferredBytes},new Uint8Array),new Response(null,{status:response.status,statusText:response.statusText,headers:response.headers})):new Response(new ReadableStream({async start(controller){let reader=response.body.getReader();onDownloadProgress&&onDownloadProgress({percent:0,transferredBytes:0,totalBytes},new Uint8Array);async function read(){let{done,value}=await reader.read();if(done){controller.close();return}if(onDownloadProgress){transferredBytes+=value.byteLength;let percent=totalBytes===0?0:transferredBytes/totalBytes;onDownloadProgress({percent,transferredBytes,totalBytes},value)}controller.enqueue(value),await read()}await read()}}),{status:response.status,statusText:response.statusText,headers:response.headers})},streamRequest=(request,onUploadProgress)=>{let totalBytes=getBodySize(request.body),transferredBytes=0;return new Request(request,{duplex:`half`,body:new ReadableStream({async start(controller){let reader=request.body instanceof ReadableStream?request.body.getReader():new Response(``).body.getReader();async function read(){let{done,value}=await reader.read();if(done){onUploadProgress&&onUploadProgress({percent:1,transferredBytes,totalBytes:Math.max(totalBytes,transferredBytes)},new Uint8Array),controller.close();return}transferredBytes+=value.byteLength;let percent=totalBytes===0?0:transferredBytes/totalBytes;(totalBytes<transferredBytes||percent===1)&&(percent=.99),onUploadProgress&&onUploadProgress({percent:Number(percent.toFixed(2)),transferredBytes,totalBytes},value),controller.enqueue(value),await read()}await read()}})})},isObject=value=>typeof value==`object`&&!!value,validateAndMerge=(...sources)=>{for(let source of sources)if((!isObject(source)||Array.isArray(source))&&source!==void 0)throw TypeError("The `options` argument must be an object");return deepMerge({},...sources)},mergeHeaders=(source1={},source2={})=>{let result=new globalThis.Headers(source1),isHeadersInstance=source2 instanceof globalThis.Headers,source=new globalThis.Headers(source2);for(let[key,value]of source.entries())isHeadersInstance&&value===`undefined`||value===void 0?result.delete(key):result.set(key,value);return result};function newHookValue(original,incoming,property){return Object.hasOwn(incoming,property)&&incoming[property]===void 0?[]:deepMerge(original[property]??[],incoming[property]??[])}const mergeHooks=(original={},incoming={})=>({beforeRequest:newHookValue(original,incoming,`beforeRequest`),beforeRetry:newHookValue(original,incoming,`beforeRetry`),afterResponse:newHookValue(original,incoming,`afterResponse`),beforeError:newHookValue(original,incoming,`beforeError`)}),deepMerge=(...sources)=>{let returnValue={},headers={},hooks={};for(let source of sources)if(Array.isArray(source))Array.isArray(returnValue)||(returnValue=[]),returnValue=[...returnValue,...source];else if(isObject(source)){for(let[key,value]of Object.entries(source))isObject(value)&&key in returnValue&&(value=deepMerge(returnValue[key],value)),returnValue={...returnValue,[key]:value};isObject(source.hooks)&&(hooks=mergeHooks(hooks,source.hooks),returnValue.hooks=hooks),isObject(source.headers)&&(headers=mergeHeaders(headers,source.headers),returnValue.headers=headers)}return returnValue},normalizeRequestMethod=input=>requestMethods.includes(input)?input.toUpperCase():input,defaultRetryOptions={limit:2,methods:[`get`,`put`,`head`,`delete`,`options`,`trace`],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:1/0,backoffLimit:1/0,delay:attemptCount=>.3*2**(attemptCount-1)*1e3},normalizeRetryOptions=(retry={})=>{if(typeof retry==`number`)return{...defaultRetryOptions,limit:retry};if(retry.methods&&!Array.isArray(retry.methods))throw Error(`retry.methods must be an array`);if(retry.statusCodes&&!Array.isArray(retry.statusCodes))throw Error(`retry.statusCodes must be an array`);return{...defaultRetryOptions,...retry}};async function timeout(request,init,abortController,options){return new Promise((resolve,reject)=>{let timeoutId=setTimeout(()=>{abortController&&abortController.abort(),reject(new TimeoutError(request))},options.timeout);options.fetch(request,init).then(resolve).catch(reject).then(()=>{clearTimeout(timeoutId)})})}async function delay(ms,{signal}){return new Promise((resolve,reject)=>{signal&&(signal.throwIfAborted(),signal.addEventListener(`abort`,abortHandler,{once:!0}));function abortHandler(){clearTimeout(timeoutId),reject(signal.reason)}let timeoutId=setTimeout(()=>{signal?.removeEventListener(`abort`,abortHandler),resolve()},ms)})}const findUnknownOptions=(request,options)=>{let unknownOptions={};for(let key in options)!(key in requestOptionsRegistry)&&!(key in kyOptionKeys)&&!(key in request)&&(unknownOptions[key]=options[key]);return unknownOptions},hasSearchParameters=search=>search===void 0?!1:Array.isArray(search)?search.length>0:search instanceof URLSearchParams?search.size>0:typeof search==`object`?Object.keys(search).length>0:typeof search==`string`?search.trim().length>0:!!search;var Ky=class Ky{static create(input,options){let ky$1=new Ky(input,options),function_=async()=>{if(typeof ky$1._options.timeout==`number`&&ky$1._options.timeout>maxSafeTimeout)throw RangeError(`The \`timeout\` option cannot be greater than ${maxSafeTimeout}`);await Promise.resolve();let response=await ky$1._fetch();for(let hook of ky$1._options.hooks.afterResponse){let modifiedResponse=await hook(ky$1.request,ky$1._options,ky$1._decorateResponse(response.clone()));modifiedResponse instanceof globalThis.Response&&(response=modifiedResponse)}if(ky$1._decorateResponse(response),!response.ok&&ky$1._options.throwHttpErrors){let error=new HTTPError(response,ky$1.request,ky$1._options);for(let hook of ky$1._options.hooks.beforeError)error=await hook(error);throw error}if(ky$1._options.onDownloadProgress){if(typeof ky$1._options.onDownloadProgress!=`function`)throw TypeError("The `onDownloadProgress` option must be a function");if(!supportsResponseStreams)throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");return streamResponse(response.clone(),ky$1._options.onDownloadProgress)}return response},result=(ky$1._options.retry.methods.includes(ky$1.request.method.toLowerCase())?ky$1._retry(function_):function_()).finally(async()=>{ky$1.request.bodyUsed||await ky$1.request.body?.cancel()});for(let[type,mimeType]of Object.entries(responseTypes)){if(type===`bytes`&&typeof globalThis.Response?.prototype?.bytes!=`function`)continue;result[type]=async()=>{ky$1.request.headers.set(`accept`,ky$1.request.headers.get(`accept`)||mimeType);let response=await result;if(type===`json`){if(response.status===204||(await response.clone().arrayBuffer()).byteLength===0)return``;if(options.parseJson)return options.parseJson(await response.text())}return response[type]()}}return result}request;abortController;_retryCount=0;_input;_options;constructor(input,options={}){if(this._input=input,this._options={...options,headers:mergeHeaders(this._input.headers,options.headers),hooks:mergeHooks({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},options.hooks),method:normalizeRequestMethod(options.method??this._input.method??`GET`),prefixUrl:String(options.prefixUrl||``),retry:normalizeRetryOptions(options.retry),throwHttpErrors:options.throwHttpErrors!==!1,timeout:options.timeout??1e4,fetch:options.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!=`string`&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input==`string`){if(this._input.startsWith(`/`))throw Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith(`/`)||(this._options.prefixUrl+=`/`),this._input=this._options.prefixUrl+this._input}if(supportsAbortController&&supportsAbortSignal){let originalSignal=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=originalSignal?AbortSignal.any([originalSignal,this.abortController.signal]):this.abortController.signal}if(supportsRequestStreams&&(this._options.duplex=`half`),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set(`content-type`,this._options.headers.get(`content-type`)??`application/json`)),this.request=new globalThis.Request(this._input,this._options),hasSearchParameters(this._options.searchParams)){let searchParams=`?`+(typeof this._options.searchParams==`string`?this._options.searchParams.replace(/^\?/,``):new URLSearchParams(this._options.searchParams).toString()),url=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,searchParams);(supportsFormData&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers[`content-type`])&&this.request.headers.delete(`content-type`),this.request=new globalThis.Request(new globalThis.Request(url,{...this.request}),this._options)}if(this._options.onUploadProgress){if(typeof this._options.onUploadProgress!=`function`)throw TypeError("The `onUploadProgress` option must be a function");if(!supportsRequestStreams)throw Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=streamRequest(this.request,this._options.onUploadProgress))}}_calculateRetryDelay(error){if(this._retryCount++,this._retryCount>this._options.retry.limit||error instanceof TimeoutError)throw error;if(error instanceof HTTPError){if(!this._options.retry.statusCodes.includes(error.response.status))throw error;let retryAfter=error.response.headers.get(`Retry-After`)??error.response.headers.get(`RateLimit-Reset`)??error.response.headers.get(`X-RateLimit-Reset`)??error.response.headers.get(`X-Rate-Limit-Reset`);if(retryAfter&&this._options.retry.afterStatusCodes.includes(error.response.status)){let after=Number(retryAfter)*1e3;Number.isNaN(after)?after=Date.parse(retryAfter)-Date.now():after>=Date.parse(`2024-01-01`)&&(after-=Date.now());let max=this._options.retry.maxRetryAfter??after;return after<max?after:max}if(error.response.status===413)throw error}let retryDelay=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,retryDelay)}_decorateResponse(response){return this._options.parseJson&&(response.json=async()=>this._options.parseJson(await response.text())),response}async _retry(function_){try{return await function_()}catch(error){let ms=Math.min(this._calculateRetryDelay(error),maxSafeTimeout);if(this._retryCount<1)throw error;await delay(ms,{signal:this._options.signal});for(let hook of this._options.hooks.beforeRetry)if(await hook({request:this.request,options:this._options,error,retryCount:this._retryCount})===stop)return;return this._retry(function_)}}async _fetch(){for(let hook of this._options.hooks.beforeRequest){let result=await hook(this.request,this._options);if(result instanceof Request){this.request=result;break}if(result instanceof Response)return result}let nonRequestOptions=findUnknownOptions(this.request,this._options),mainRequest=this.request;return this.request=mainRequest.clone(),this._options.timeout===!1?this._options.fetch(mainRequest,nonRequestOptions):timeout(mainRequest,nonRequestOptions,this.abortController,this._options)}};const createInstance=defaults=>{let ky$1=(input,options)=>Ky.create(input,validateAndMerge(defaults,options));for(let method of requestMethods)ky$1[method]=(input,options)=>Ky.create(input,validateAndMerge(defaults,options,{method}));return ky$1.create=newDefaults=>createInstance(validateAndMerge(newDefaults)),ky$1.extend=newDefaults=>(typeof newDefaults==`function`&&(newDefaults=newDefaults(defaults??{})),createInstance(validateAndMerge(defaults,newDefaults))),ky$1.stop=stop,ky$1};var distribution_default=createInstance();function isAuthProvider(auth){return`getHeaders`in auth}function buildIntegrationAuthBeforeRequestHook(integrationAuth){let integrationAuthProvider=isAuthProvider(integrationAuth)?integrationAuth:getIntegrationAuthProvider(integrationAuth);return request=>{let headers=integrationAuthProvider.getHeaders(request.method.toUpperCase(),request.url);request.headers.set(`Authorization`,headers.Authorization)}}function buildImsAuthBeforeRequestHook(imsAuth){let imsAuthProvider=isAuthProvider(imsAuth)?imsAuth:getImsAuthProvider(imsAuth);return async request=>{let headers=await imsAuthProvider.getHeaders();request.headers.set(`Authorization`,headers.Authorization),request.headers.set(`x-api-key`,headers[`x-api-key`])}}function ensureImsScopes(imsAuth,requiredScopes){let scopes=new Set([...imsAuth.scopes??[],...requiredScopes]);return{...imsAuth,scopes:Array.from(scopes)}}function optionallyExtendKy(ky$1,options){return options?ky$1.extend(options):ky$1}export{isAuthProvider as a,ApiClient as c,booleanValueSchema as d,stringValueSchema as f,__export as h,buildIntegrationAuthBeforeRequestHook as i,alphaNumericOrUnderscoreOrHyphenSchema as l,buildCamelCaseKeysResponseHook as m,ensureImsScopes as n,distribution_default as o,parseOrThrow as p,buildImsAuthBeforeRequestHook as r,HttpClientBase as s,optionallyExtendKy as t,alphaNumericOrUnderscoreSchema as u};
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@adobe/aio-commerce-lib-events",
3
3
  "type": "module",
4
4
  "author": "Adobe Inc.",
5
- "version": "0.1.0",
5
+ "version": "0.2.0",
6
6
  "private": false,
7
7
  "engines": {
8
8
  "node": ">=20 <=24"
@@ -34,6 +34,16 @@
34
34
  },
35
35
  "./package.json": "./package.json"
36
36
  },
37
+ "imports": {
38
+ "#*": [
39
+ "./source/*.ts",
40
+ "./source/*/index.ts"
41
+ ],
42
+ "#test/*": [
43
+ "./test/*.ts",
44
+ "./test/*/index.ts"
45
+ ]
46
+ },
37
47
  "files": [
38
48
  "dist",
39
49
  "package.json",
@@ -41,17 +51,17 @@
41
51
  "README.md"
42
52
  ],
43
53
  "dependencies": {
44
- "ky": "^1.9.0",
45
54
  "valibot": "^1.1.0",
46
- "@adobe/aio-commerce-lib-auth": "0.3.4",
55
+ "@adobe/aio-commerce-lib-auth": "0.4.0",
47
56
  "@adobe/aio-commerce-lib-core": "0.4.1"
48
57
  },
49
58
  "devDependencies": {
50
- "@aio-commerce-sdk/aio-commerce-lib-api": "0.1.0",
51
- "@aio-commerce-sdk/config-tsdown": "1.0.0",
59
+ "msw": "^2.11.1",
60
+ "@aio-commerce-sdk/aio-commerce-lib-api": "0.1.1",
52
61
  "@aio-commerce-sdk/config-typedoc": "1.0.0",
53
- "@aio-commerce-sdk/config-vitest": "1.0.0",
54
- "@aio-commerce-sdk/config-typescript": "1.0.0"
62
+ "@aio-commerce-sdk/config-typescript": "1.0.0",
63
+ "@aio-commerce-sdk/config-tsdown": "1.0.0",
64
+ "@aio-commerce-sdk/config-vitest": "1.0.0"
55
65
  },
56
66
  "sideEffects": false,
57
67
  "scripts": {
@@ -66,7 +76,8 @@
66
76
  "lint": "biome lint --no-errors-on-unmatched",
67
77
  "lint:fix": "biome lint --write --no-errors-on-unmatched",
68
78
  "typecheck": "tsc --noEmit && echo '✅ No type errors found.'",
69
- "test": "vitest run",
70
- "test:watch": "vitest --watch"
79
+ "test": "vitest run --coverage",
80
+ "test:ui": "vitest --ui --coverage",
81
+ "test:watch": "vitest --watch --coverage"
71
82
  }
72
83
  }
@@ -1,14 +0,0 @@
1
- /**
2
- * @license
3
- *
4
- * Copyright 2025 Adobe. All rights reserved.
5
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License. You may obtain a copy
7
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software distributed under
10
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
11
- * OF ANY KIND, either express or implied. See the License for the specific language
12
- * governing permissions and limitations under the License.
13
- */
14
- var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(var keys=__getOwnPropNames(from),i=0,n=keys.length,key;i<n;i++)key=keys[i],!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:(k=>from[k]).bind(null,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=mod==null?{}:__create(__getProtoOf(mod)),__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,`default`,{value:mod,enumerable:!0}):target,mod));const __adobe_aio_commerce_lib_core_error=__toESM(require(`@adobe/aio-commerce-lib-core/error`)),valibot=__toESM(require(`valibot`)),__adobe_aio_commerce_lib_auth=__toESM(require(`@adobe/aio-commerce-lib-auth`)),UPPERCASE=/[\p{Lu}]/u,LOWERCASE=/[\p{Ll}]/u,LEADING_CAPITAL=/^[\p{Lu}](?![\p{Lu}])/gu,IDENTIFIER=/([\p{Alpha}\p{N}_]|$)/u,SEPARATORS=/[_.\- ]+/,LEADING_SEPARATORS=RegExp(`^`+SEPARATORS.source),SEPARATORS_AND_IDENTIFIER=new RegExp(SEPARATORS.source+IDENTIFIER.source,`gu`),NUMBERS_AND_IDENTIFIER=RegExp(`\\d+`+IDENTIFIER.source,`gu`),preserveCamelCase=(string,toLowerCase,toUpperCase,preserveConsecutiveUppercase$1)=>{let isLastCharLower=!1,isLastCharUpper=!1,isLastLastCharUpper=!1,isLastLastCharPreserved=!1;for(let index=0;index<string.length;index++){let character=string[index];isLastLastCharPreserved=index>2?string[index-3]===`-`:!0,isLastCharLower&&UPPERCASE.test(character)?(string=string.slice(0,index)+`-`+string.slice(index),isLastCharLower=!1,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!0,index++):isLastCharUpper&&isLastLastCharUpper&&LOWERCASE.test(character)&&(!isLastLastCharPreserved||preserveConsecutiveUppercase$1)?(string=string.slice(0,index-1)+`-`+string.slice(index-1),isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!1,isLastCharLower=!0):(isLastCharLower=toLowerCase(character)===character&&toUpperCase(character)!==character,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=toUpperCase(character)===character&&toLowerCase(character)!==character)}return string},preserveConsecutiveUppercase=(input,toLowerCase)=>(LEADING_CAPITAL.lastIndex=0,input.replaceAll(LEADING_CAPITAL,match=>toLowerCase(match))),postProcess=(input,toUpperCase)=>(SEPARATORS_AND_IDENTIFIER.lastIndex=0,NUMBERS_AND_IDENTIFIER.lastIndex=0,input.replaceAll(NUMBERS_AND_IDENTIFIER,(match,pattern,offset)=>[`_`,`-`].includes(input.charAt(offset+match.length))?match:toUpperCase(match)).replaceAll(SEPARATORS_AND_IDENTIFIER,(_,identifier)=>toUpperCase(identifier)));function camelCase(input,options){if(!(typeof input==`string`||Array.isArray(input)))throw TypeError("Expected the input to be `string | string[]`");if(options={pascalCase:!1,preserveConsecutiveUppercase:!1,...options},input=Array.isArray(input)?input.map(x=>x.trim()).filter(x=>x.length).join(`-`):input.trim(),input.length===0)return``;let toLowerCase=options.locale===!1?string=>string.toLowerCase():string=>string.toLocaleLowerCase(options.locale),toUpperCase=options.locale===!1?string=>string.toUpperCase():string=>string.toLocaleUpperCase(options.locale);if(input.length===1)return SEPARATORS.test(input)?``:options.pascalCase?toUpperCase(input):toLowerCase(input);let hasUpperCase=input!==toLowerCase(input);return hasUpperCase&&(input=preserveCamelCase(input,toLowerCase,toUpperCase,options.preserveConsecutiveUppercase)),input=input.replace(LEADING_SEPARATORS,``),input=options.preserveConsecutiveUppercase?preserveConsecutiveUppercase(input,toLowerCase):toLowerCase(input),options.pascalCase&&(input=toUpperCase(input.charAt(0))+input.slice(1)),postProcess(input,toUpperCase)}function buildObjectKeyTransformerResponseHook(transformer,recursive=!0){let transformObject=obj=>{if(typeof obj!=`object`||!obj)return obj;if(Array.isArray(obj))return recursive?obj.map(transformObject):obj;let transformedData=Object.fromEntries(Object.entries(obj).map(([key,value])=>{let transformedKey=transformer(key),transformedValue=recursive?transformObject(value):value;return[transformedKey,transformedValue]}));return transformedData};return(_req,_opt,response)=>response.json().then(data=>{let transformedData=transformObject(data);return new Response(JSON.stringify(transformedData),response)})}function buildCamelCaseKeysResponseHook(){return buildObjectKeyTransformerResponseHook(camelCase)}function parseOrThrow(schema,input){let result=valibot.safeParse(schema,input);if(!result.success)throw new __adobe_aio_commerce_lib_core_error.CommerceSdkValidationError(`Invalid input`,{issues:result.issues});return result.output}const ALPHANUMERIC_OR_UNDERSCORE_REGEX=/^[a-zA-Z0-9_]+$/,ALPHANUMERIC_OR_UNDERSCORE_OR_HYPHEN_REGEX=/^[a-zA-Z0-9_-]+$/;function stringValueSchema(propertyName){return valibot.string(`Expected a string value for property '${propertyName}'`)}function booleanValueSchema(propertyName){return valibot.boolean(`Expected a boolean value for property '${propertyName}'`)}function alphaNumericOrUnderscoreSchema(name){return valibot.pipe(stringValueSchema(name),valibot.regex(ALPHANUMERIC_OR_UNDERSCORE_REGEX,`Only alphanumeric characters and underscores are allowed for "${name}"`))}function alphaNumericOrUnderscoreOrHyphenSchema(name){return valibot.pipe(stringValueSchema(name),valibot.regex(ALPHANUMERIC_OR_UNDERSCORE_OR_HYPHEN_REGEX,`Only alphanumeric characters, underscores, and hyphens are allowed for property "${name}"`))}var ApiClient=class{static create(client,functions){let wrapped={};for(let key in functions)if(Object.hasOwn(functions,key)){let fn=functions[key];wrapped[key]=((...args)=>fn(client,...args))}return wrapped}},HttpClientBase=class HttpClientBase{#httpClient;constructor(config,httpClient){this.#httpClient=Object.freeze(httpClient),this.config=Object.freeze(config),this.get=this.#httpClient.get.bind(this.#httpClient),this.post=this.#httpClient.post.bind(this.#httpClient),this.put=this.#httpClient.put.bind(this.#httpClient),this.delete=this.#httpClient.delete.bind(this.#httpClient),this.patch=this.#httpClient.patch.bind(this.#httpClient),this.head=this.#httpClient.head.bind(this.#httpClient),this.stop=this.#httpClient.stop}extend(options){let client=Object.freeze(this.#httpClient.extend(options));return new HttpClientBase(this.config,client)}};function isAuthProvider(auth){return`getHeaders`in auth}function buildIntegrationAuthBeforeRequestHook(integrationAuth){let integrationAuthProvider=isAuthProvider(integrationAuth)?integrationAuth:(0,__adobe_aio_commerce_lib_auth.getIntegrationAuthProvider)(integrationAuth);return request=>{let headers=integrationAuthProvider.getHeaders(request.method.toUpperCase(),request.url);request.headers.set(`Authorization`,headers.Authorization)}}function buildImsAuthBeforeRequestHook(imsAuth){let imsAuthProvider=isAuthProvider(imsAuth)?imsAuth:(0,__adobe_aio_commerce_lib_auth.getImsAuthProvider)(imsAuth);return async request=>{let headers=await imsAuthProvider.getHeaders();request.headers.set(`Authorization`,headers.Authorization),request.headers.set(`x-api-key`,headers[`x-api-key`])}}function ensureImsScopes(imsAuth,requiredScopes){let scopes=new Set([...imsAuth.scopes??[],...requiredScopes]);return{...imsAuth,scopes:Array.from(scopes)}}function optionallyExtendKy(ky,options){return options?ky.extend(options):ky}Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return optionallyExtendKy}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return ensureImsScopes}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return buildImsAuthBeforeRequestHook}}),Object.defineProperty(exports,`e`,{enumerable:!0,get:function(){return buildIntegrationAuthBeforeRequestHook}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return isAuthProvider}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return HttpClientBase}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return ApiClient}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return alphaNumericOrUnderscoreOrHyphenSchema}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return alphaNumericOrUnderscoreSchema}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return booleanValueSchema}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return stringValueSchema}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return parseOrThrow}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return buildCamelCaseKeysResponseHook}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return __export}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return __toESM}});
@@ -1,14 +0,0 @@
1
- /**
2
- * @license
3
- *
4
- * Copyright 2025 Adobe. All rights reserved.
5
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License. You may obtain a copy
7
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software distributed under
10
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
11
- * OF ANY KIND, either express or implied. See the License for the specific language
12
- * governing permissions and limitations under the License.
13
- */
14
- import{CommerceSdkValidationError}from"@adobe/aio-commerce-lib-core/error";import*as v from"valibot";import{getImsAuthProvider,getIntegrationAuthProvider}from"@adobe/aio-commerce-lib-auth";var __defProp=Object.defineProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})};const UPPERCASE=/[\p{Lu}]/u,LOWERCASE=/[\p{Ll}]/u,LEADING_CAPITAL=/^[\p{Lu}](?![\p{Lu}])/gu,IDENTIFIER=/([\p{Alpha}\p{N}_]|$)/u,SEPARATORS=/[_.\- ]+/,LEADING_SEPARATORS=RegExp(`^`+SEPARATORS.source),SEPARATORS_AND_IDENTIFIER=new RegExp(SEPARATORS.source+IDENTIFIER.source,`gu`),NUMBERS_AND_IDENTIFIER=RegExp(`\\d+`+IDENTIFIER.source,`gu`),preserveCamelCase=(string,toLowerCase,toUpperCase,preserveConsecutiveUppercase$1)=>{let isLastCharLower=!1,isLastCharUpper=!1,isLastLastCharUpper=!1,isLastLastCharPreserved=!1;for(let index=0;index<string.length;index++){let character=string[index];isLastLastCharPreserved=index>2?string[index-3]===`-`:!0,isLastCharLower&&UPPERCASE.test(character)?(string=string.slice(0,index)+`-`+string.slice(index),isLastCharLower=!1,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!0,index++):isLastCharUpper&&isLastLastCharUpper&&LOWERCASE.test(character)&&(!isLastLastCharPreserved||preserveConsecutiveUppercase$1)?(string=string.slice(0,index-1)+`-`+string.slice(index-1),isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!1,isLastCharLower=!0):(isLastCharLower=toLowerCase(character)===character&&toUpperCase(character)!==character,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=toUpperCase(character)===character&&toLowerCase(character)!==character)}return string},preserveConsecutiveUppercase=(input,toLowerCase)=>(LEADING_CAPITAL.lastIndex=0,input.replaceAll(LEADING_CAPITAL,match=>toLowerCase(match))),postProcess=(input,toUpperCase)=>(SEPARATORS_AND_IDENTIFIER.lastIndex=0,NUMBERS_AND_IDENTIFIER.lastIndex=0,input.replaceAll(NUMBERS_AND_IDENTIFIER,(match,pattern,offset)=>[`_`,`-`].includes(input.charAt(offset+match.length))?match:toUpperCase(match)).replaceAll(SEPARATORS_AND_IDENTIFIER,(_,identifier)=>toUpperCase(identifier)));function camelCase(input,options){if(!(typeof input==`string`||Array.isArray(input)))throw TypeError("Expected the input to be `string | string[]`");if(options={pascalCase:!1,preserveConsecutiveUppercase:!1,...options},input=Array.isArray(input)?input.map(x=>x.trim()).filter(x=>x.length).join(`-`):input.trim(),input.length===0)return``;let toLowerCase=options.locale===!1?string=>string.toLowerCase():string=>string.toLocaleLowerCase(options.locale),toUpperCase=options.locale===!1?string=>string.toUpperCase():string=>string.toLocaleUpperCase(options.locale);if(input.length===1)return SEPARATORS.test(input)?``:options.pascalCase?toUpperCase(input):toLowerCase(input);let hasUpperCase=input!==toLowerCase(input);return hasUpperCase&&(input=preserveCamelCase(input,toLowerCase,toUpperCase,options.preserveConsecutiveUppercase)),input=input.replace(LEADING_SEPARATORS,``),input=options.preserveConsecutiveUppercase?preserveConsecutiveUppercase(input,toLowerCase):toLowerCase(input),options.pascalCase&&(input=toUpperCase(input.charAt(0))+input.slice(1)),postProcess(input,toUpperCase)}function buildObjectKeyTransformerResponseHook(transformer,recursive=!0){let transformObject=obj=>{if(typeof obj!=`object`||!obj)return obj;if(Array.isArray(obj))return recursive?obj.map(transformObject):obj;let transformedData=Object.fromEntries(Object.entries(obj).map(([key,value])=>{let transformedKey=transformer(key),transformedValue=recursive?transformObject(value):value;return[transformedKey,transformedValue]}));return transformedData};return(_req,_opt,response)=>response.json().then(data=>{let transformedData=transformObject(data);return new Response(JSON.stringify(transformedData),response)})}function buildCamelCaseKeysResponseHook(){return buildObjectKeyTransformerResponseHook(camelCase)}function parseOrThrow(schema,input){let result=v.safeParse(schema,input);if(!result.success)throw new CommerceSdkValidationError(`Invalid input`,{issues:result.issues});return result.output}const ALPHANUMERIC_OR_UNDERSCORE_REGEX=/^[a-zA-Z0-9_]+$/,ALPHANUMERIC_OR_UNDERSCORE_OR_HYPHEN_REGEX=/^[a-zA-Z0-9_-]+$/;function stringValueSchema(propertyName){return v.string(`Expected a string value for property '${propertyName}'`)}function booleanValueSchema(propertyName){return v.boolean(`Expected a boolean value for property '${propertyName}'`)}function alphaNumericOrUnderscoreSchema(name){return v.pipe(stringValueSchema(name),v.regex(ALPHANUMERIC_OR_UNDERSCORE_REGEX,`Only alphanumeric characters and underscores are allowed for "${name}"`))}function alphaNumericOrUnderscoreOrHyphenSchema(name){return v.pipe(stringValueSchema(name),v.regex(ALPHANUMERIC_OR_UNDERSCORE_OR_HYPHEN_REGEX,`Only alphanumeric characters, underscores, and hyphens are allowed for property "${name}"`))}var ApiClient=class{static create(client,functions){let wrapped={};for(let key in functions)if(Object.hasOwn(functions,key)){let fn=functions[key];wrapped[key]=((...args)=>fn(client,...args))}return wrapped}},HttpClientBase=class HttpClientBase{#httpClient;constructor(config,httpClient){this.#httpClient=Object.freeze(httpClient),this.config=Object.freeze(config),this.get=this.#httpClient.get.bind(this.#httpClient),this.post=this.#httpClient.post.bind(this.#httpClient),this.put=this.#httpClient.put.bind(this.#httpClient),this.delete=this.#httpClient.delete.bind(this.#httpClient),this.patch=this.#httpClient.patch.bind(this.#httpClient),this.head=this.#httpClient.head.bind(this.#httpClient),this.stop=this.#httpClient.stop}extend(options){let client=Object.freeze(this.#httpClient.extend(options));return new HttpClientBase(this.config,client)}};function isAuthProvider(auth){return`getHeaders`in auth}function buildIntegrationAuthBeforeRequestHook(integrationAuth){let integrationAuthProvider=isAuthProvider(integrationAuth)?integrationAuth:getIntegrationAuthProvider(integrationAuth);return request=>{let headers=integrationAuthProvider.getHeaders(request.method.toUpperCase(),request.url);request.headers.set(`Authorization`,headers.Authorization)}}function buildImsAuthBeforeRequestHook(imsAuth){let imsAuthProvider=isAuthProvider(imsAuth)?imsAuth:getImsAuthProvider(imsAuth);return async request=>{let headers=await imsAuthProvider.getHeaders();request.headers.set(`Authorization`,headers.Authorization),request.headers.set(`x-api-key`,headers[`x-api-key`])}}function ensureImsScopes(imsAuth,requiredScopes){let scopes=new Set([...imsAuth.scopes??[],...requiredScopes]);return{...imsAuth,scopes:Array.from(scopes)}}function optionallyExtendKy(ky,options){return options?ky.extend(options):ky}export{optionallyExtendKy as b,ensureImsScopes as c,buildImsAuthBeforeRequestHook as d,buildIntegrationAuthBeforeRequestHook as e,isAuthProvider as f,HttpClientBase as g,ApiClient as h,alphaNumericOrUnderscoreOrHyphenSchema as i,alphaNumericOrUnderscoreSchema as j,booleanValueSchema as k,stringValueSchema as l,parseOrThrow as m,buildCamelCaseKeysResponseHook as n,__export as o};