@cimplify/sdk 0.107.1 → 0.108.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/dist/advanced.d.mts +3 -3
- package/dist/advanced.d.ts +3 -3
- package/dist/advanced.js +20 -20
- package/dist/advanced.mjs +1 -1
- package/dist/{catalogue-AmW4XjaN.d.ts → catalogue-B4eLL8Mi.d.ts} +1 -1
- package/dist/{catalogue-rWd71Xi-.d.mts → catalogue-OT89_Ifs.d.mts} +1 -1
- package/dist/{chunk-THSYGWUA.js → chunk-5QW7CQBA.js} +2 -2
- package/dist/{chunk-CEML2737.js → chunk-EDK3LNM6.js} +87 -87
- package/dist/{chunk-ONII7K3T.js → chunk-F7J3HK27.js} +34 -0
- package/dist/{chunk-NZMU7UUA.mjs → chunk-JVODCGFP.mjs} +1 -1
- package/dist/{chunk-T4OU77DM.mjs → chunk-SUCE7FWA.mjs} +1 -1
- package/dist/{chunk-OTPLI3JY.mjs → chunk-U6ACF76H.mjs} +35 -2
- package/dist/{client-ni-CfOSO.d.ts → client-B878xeAP.d.ts} +2 -2
- package/dist/{client-DlTJ2hUM.d.mts → client-BSP9U1O1.d.mts} +2 -2
- package/dist/{elements-BF1Y4aOi.d.mts → elements-Bty6Qs_N.d.mts} +26 -1
- package/dist/{elements-BF1Y4aOi.d.ts → elements-Bty6Qs_N.d.ts} +26 -1
- package/dist/{index-CZ0bJm6k.d.ts → index-B7oA_1XI.d.ts} +2 -2
- package/dist/{index-DML_W635.d.mts → index-CQStGb3B.d.mts} +2 -2
- package/dist/{index-DU7vffby.d.ts → index-DJwXmoaP.d.ts} +2 -2
- package/dist/{index-DopYJKDL.d.mts → index-DhUSTAhT.d.mts} +2 -2
- package/dist/index.d.mts +21 -8
- package/dist/index.d.ts +21 -8
- package/dist/index.js +72 -68
- package/dist/index.mjs +3 -3
- package/dist/{price-DI_U5oXU.d.mts → price-CSztR02F.d.mts} +1 -1
- package/dist/{price-B5t2mpsE.d.ts → price-C_vasx9A.d.ts} +1 -1
- package/dist/react.d.mts +3 -3
- package/dist/react.d.ts +3 -3
- package/dist/react.js +31 -31
- package/dist/react.mjs +2 -2
- package/dist/{server-BItJAUTD.d.ts → server-B6dW7-Lj.d.mts} +1 -1
- package/dist/{server-Dq70vD7z.d.mts → server-Dckg4Vdr.d.ts} +1 -1
- package/dist/server.d.mts +3 -3
- package/dist/server.d.ts +3 -3
- package/dist/server.js +7 -7
- package/dist/server.mjs +2 -2
- package/dist/testing/msw.d.mts +2 -2
- package/dist/testing/msw.d.ts +2 -2
- package/dist/testing/suite.d.mts +5 -5
- package/dist/testing/suite.d.ts +5 -5
- package/dist/testing/suite.js +23 -23
- package/dist/testing/suite.mjs +3 -3
- package/dist/testing.d.mts +4 -4
- package/dist/testing.d.ts +4 -4
- package/dist/testing.js +115 -115
- package/dist/testing.mjs +4 -4
- package/dist/utils.d.mts +3 -3
- package/dist/utils.d.ts +3 -3
- package/package.json +1 -1
package/dist/react.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk2P4KXFB6_js = require('./chunk-2P4KXFB6.js');
|
|
5
|
-
var
|
|
5
|
+
var chunkEDK3LNM6_js = require('./chunk-EDK3LNM6.js');
|
|
6
6
|
var chunkXREIZ56K_js = require('./chunk-XREIZ56K.js');
|
|
7
|
-
var
|
|
7
|
+
var chunkF7J3HK27_js = require('./chunk-F7J3HK27.js');
|
|
8
8
|
var chunkEV2EVOYS_js = require('./chunk-EV2EVOYS.js');
|
|
9
9
|
var chunkV32BCG7M_js = require('./chunk-V32BCG7M.js');
|
|
10
10
|
var chunkANT574FD_js = require('./chunk-ANT574FD.js');
|
|
@@ -863,7 +863,7 @@ async function syncFromServer(entry) {
|
|
|
863
863
|
return next;
|
|
864
864
|
}
|
|
865
865
|
function emitMutationError(entry, operation, opId, idempotencyKey, error) {
|
|
866
|
-
entry.client.events.emit(
|
|
866
|
+
entry.client.events.emit(chunkF7J3HK27_js.MUTATION_ERROR, {
|
|
867
867
|
service: "cart",
|
|
868
868
|
operation,
|
|
869
869
|
opId,
|
|
@@ -903,10 +903,10 @@ function getOrCreateStore(params) {
|
|
|
903
903
|
syncTail: Promise.resolve(),
|
|
904
904
|
failedOpRemovers: /* @__PURE__ */ new Set()
|
|
905
905
|
};
|
|
906
|
-
client.events.on(
|
|
906
|
+
client.events.on(chunkF7J3HK27_js.SESSION_CLAIMED, () => {
|
|
907
907
|
if (entry.initialized) void syncFromServer(entry);
|
|
908
908
|
});
|
|
909
|
-
client.events.on(
|
|
909
|
+
client.events.on(chunkF7J3HK27_js.SESSION_CLEARED, () => {
|
|
910
910
|
if (entry.initialized) void syncFromServer(entry);
|
|
911
911
|
});
|
|
912
912
|
cartStores.set(storeKey, entry);
|
|
@@ -1214,7 +1214,7 @@ var DEFAULT_COUNTRY = "US";
|
|
|
1214
1214
|
function createDefaultClient() {
|
|
1215
1215
|
const processRef = globalThis.process;
|
|
1216
1216
|
const envPublicKey = processRef?.env?.NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY || "";
|
|
1217
|
-
return
|
|
1217
|
+
return chunkEDK3LNM6_js.createCimplifyClient({ publicKey: envPublicKey });
|
|
1218
1218
|
}
|
|
1219
1219
|
function getStoredLocationId() {
|
|
1220
1220
|
if (typeof window === "undefined" || !window.localStorage) {
|
|
@@ -1772,7 +1772,7 @@ function CimplifyCheckout({
|
|
|
1772
1772
|
linkUrl
|
|
1773
1773
|
});
|
|
1774
1774
|
elementsRef.current = elements;
|
|
1775
|
-
const checkout = elements.create(
|
|
1775
|
+
const checkout = elements.create(chunkF7J3HK27_js.ELEMENT_TYPES.CHECKOUT, {
|
|
1776
1776
|
orderTypes: resolvedOrderTypes,
|
|
1777
1777
|
defaultOrderType: resolvedDefaultOrderType,
|
|
1778
1778
|
submitLabel,
|
|
@@ -1783,19 +1783,19 @@ function CimplifyCheckout({
|
|
|
1783
1783
|
if (checkoutMountRef.current) {
|
|
1784
1784
|
checkout.mount(checkoutMountRef.current);
|
|
1785
1785
|
}
|
|
1786
|
-
checkout.on(
|
|
1786
|
+
checkout.on(chunkF7J3HK27_js.EVENT_TYPES.READY, () => {
|
|
1787
1787
|
const cart = resolvedCartRef.current;
|
|
1788
1788
|
if (cart) {
|
|
1789
1789
|
checkout.setCart(transformToCheckoutCart(cart, fxOptionsRef.current));
|
|
1790
1790
|
}
|
|
1791
1791
|
});
|
|
1792
|
-
checkout.on(
|
|
1792
|
+
checkout.on(chunkF7J3HK27_js.EVENT_TYPES.ORDER_TYPE_CHANGED, (data) => {
|
|
1793
1793
|
const typed = data;
|
|
1794
1794
|
if (typed.orderType) {
|
|
1795
1795
|
setOrderType(typed.orderType);
|
|
1796
1796
|
}
|
|
1797
1797
|
});
|
|
1798
|
-
checkout.on(
|
|
1798
|
+
checkout.on(chunkF7J3HK27_js.EVENT_TYPES.REQUEST_SUBMIT, () => {
|
|
1799
1799
|
void handleSubmit();
|
|
1800
1800
|
});
|
|
1801
1801
|
return () => {
|
|
@@ -1816,7 +1816,7 @@ function CimplifyCheckout({
|
|
|
1816
1816
|
]);
|
|
1817
1817
|
React14.useEffect(() => {
|
|
1818
1818
|
if (!resolvedCart || !elementsRef.current) return;
|
|
1819
|
-
const checkoutElement = elementsRef.current.getElement(
|
|
1819
|
+
const checkoutElement = elementsRef.current.getElement(chunkF7J3HK27_js.ELEMENT_TYPES.CHECKOUT);
|
|
1820
1820
|
if (checkoutElement) {
|
|
1821
1821
|
checkoutElement.setCart(transformToCheckoutCart(resolvedCart, fxOptions));
|
|
1822
1822
|
}
|
|
@@ -3555,7 +3555,7 @@ function CimplifySignInButton({
|
|
|
3555
3555
|
const onClick = async () => {
|
|
3556
3556
|
if (busy || disabled || !signInOpts.clientId) return;
|
|
3557
3557
|
setBusy(true);
|
|
3558
|
-
await
|
|
3558
|
+
await chunkF7J3HK27_js.startSignIn({
|
|
3559
3559
|
...signInOpts,
|
|
3560
3560
|
onSuccess: () => {
|
|
3561
3561
|
setBusy(false);
|
|
@@ -5026,9 +5026,9 @@ function useClientSessionEpoch(client) {
|
|
|
5026
5026
|
const subscribe = React14.useCallback(
|
|
5027
5027
|
(notify) => {
|
|
5028
5028
|
const unsubscribe = [
|
|
5029
|
-
client.events.on(
|
|
5030
|
-
client.events.on(
|
|
5031
|
-
client.events.on(
|
|
5029
|
+
client.events.on(chunkF7J3HK27_js.AUTH_TOKEN_CHANGED, notify),
|
|
5030
|
+
client.events.on(chunkF7J3HK27_js.SESSION_CLAIMED, notify),
|
|
5031
|
+
client.events.on(chunkF7J3HK27_js.SESSION_CLEARED, notify)
|
|
5032
5032
|
];
|
|
5033
5033
|
return () => {
|
|
5034
5034
|
for (const stopListening of unsubscribe) {
|
|
@@ -6268,7 +6268,7 @@ function useChat(options = {}) {
|
|
|
6268
6268
|
ws.onmessage = (event) => {
|
|
6269
6269
|
try {
|
|
6270
6270
|
const envelope = JSON.parse(event.data);
|
|
6271
|
-
const update =
|
|
6271
|
+
const update = chunkEDK3LNM6_js.chatRealtimeUpdateFromWire(envelope);
|
|
6272
6272
|
if (update.kind === "message") {
|
|
6273
6273
|
appendMessages([update.message]);
|
|
6274
6274
|
} else if (update.kind === "message_updated") {
|
|
@@ -6379,7 +6379,7 @@ function useChat(options = {}) {
|
|
|
6379
6379
|
const watchSessionClaims = React14.useCallback(() => {
|
|
6380
6380
|
const c = clientRef.current;
|
|
6381
6381
|
if (!c || claimUnsubRef.current) return;
|
|
6382
|
-
const unsubClaimed = c.events.on(
|
|
6382
|
+
const unsubClaimed = c.events.on(chunkF7J3HK27_js.SESSION_CLAIMED, (event) => {
|
|
6383
6383
|
setClaimedAs(event.customerName || c.session.claimedCustomerName || null);
|
|
6384
6384
|
if (!openedRef.current) {
|
|
6385
6385
|
void openIfExisting();
|
|
@@ -6388,7 +6388,7 @@ function useChat(options = {}) {
|
|
|
6388
6388
|
connectWebSocket();
|
|
6389
6389
|
void resyncConversation();
|
|
6390
6390
|
});
|
|
6391
|
-
const unsubCleared = c.events.on(
|
|
6391
|
+
const unsubCleared = c.events.on(chunkF7J3HK27_js.SESSION_CLEARED, resetConversation);
|
|
6392
6392
|
claimUnsubRef.current = () => {
|
|
6393
6393
|
unsubClaimed();
|
|
6394
6394
|
unsubCleared();
|
|
@@ -6440,7 +6440,7 @@ function useChat(options = {}) {
|
|
|
6440
6440
|
if (!openedRef.current) return false;
|
|
6441
6441
|
}
|
|
6442
6442
|
const replyTo = opts?.replyTo;
|
|
6443
|
-
const clientId =
|
|
6443
|
+
const clientId = chunkF7J3HK27_js.generateIdempotencyKey();
|
|
6444
6444
|
const localId = optimisticId(clientId);
|
|
6445
6445
|
const optimistic = {
|
|
6446
6446
|
id: localId,
|
|
@@ -6629,15 +6629,15 @@ function AuthElement({
|
|
|
6629
6629
|
}, [onReady, onAuthenticated, onError]);
|
|
6630
6630
|
React14.useEffect(() => {
|
|
6631
6631
|
if (!elements || !containerRef.current) return;
|
|
6632
|
-
const element = elements.create(
|
|
6632
|
+
const element = elements.create(chunkF7J3HK27_js.ELEMENT_TYPES.AUTH, { prefillEmail });
|
|
6633
6633
|
elementRef.current = element;
|
|
6634
|
-
element.on(
|
|
6634
|
+
element.on(chunkF7J3HK27_js.EVENT_TYPES.READY, () => onReadyRef.current?.());
|
|
6635
6635
|
element.on(
|
|
6636
|
-
|
|
6636
|
+
chunkF7J3HK27_js.EVENT_TYPES.AUTHENTICATED,
|
|
6637
6637
|
(data) => onAuthenticatedRef.current?.(data)
|
|
6638
6638
|
);
|
|
6639
6639
|
element.on(
|
|
6640
|
-
|
|
6640
|
+
chunkF7J3HK27_js.EVENT_TYPES.ERROR,
|
|
6641
6641
|
(data) => onErrorRef.current?.(data)
|
|
6642
6642
|
);
|
|
6643
6643
|
element.mount(containerRef.current);
|
|
@@ -6666,15 +6666,15 @@ function AddressElement({
|
|
|
6666
6666
|
}, [onReady, onChange, onError]);
|
|
6667
6667
|
React14.useEffect(() => {
|
|
6668
6668
|
if (!elements || !containerRef.current) return;
|
|
6669
|
-
const element = elements.create(
|
|
6669
|
+
const element = elements.create(chunkF7J3HK27_js.ELEMENT_TYPES.ADDRESS, { mode });
|
|
6670
6670
|
elementRef.current = element;
|
|
6671
|
-
element.on(
|
|
6671
|
+
element.on(chunkF7J3HK27_js.EVENT_TYPES.READY, () => onReadyRef.current?.());
|
|
6672
6672
|
element.on(
|
|
6673
|
-
|
|
6673
|
+
chunkF7J3HK27_js.EVENT_TYPES.CHANGE,
|
|
6674
6674
|
(data) => onChangeRef.current?.(data)
|
|
6675
6675
|
);
|
|
6676
6676
|
element.on(
|
|
6677
|
-
|
|
6677
|
+
chunkF7J3HK27_js.EVENT_TYPES.ERROR,
|
|
6678
6678
|
(data) => onErrorRef.current?.(data)
|
|
6679
6679
|
);
|
|
6680
6680
|
element.mount(containerRef.current);
|
|
@@ -6704,15 +6704,15 @@ function PaymentElement({
|
|
|
6704
6704
|
}, [onReady, onChange, onError]);
|
|
6705
6705
|
React14.useEffect(() => {
|
|
6706
6706
|
if (!elements || !containerRef.current) return;
|
|
6707
|
-
const element = elements.create(
|
|
6707
|
+
const element = elements.create(chunkF7J3HK27_js.ELEMENT_TYPES.PAYMENT, { amount, currency });
|
|
6708
6708
|
elementRef.current = element;
|
|
6709
|
-
element.on(
|
|
6709
|
+
element.on(chunkF7J3HK27_js.EVENT_TYPES.READY, () => onReadyRef.current?.());
|
|
6710
6710
|
element.on(
|
|
6711
|
-
|
|
6711
|
+
chunkF7J3HK27_js.EVENT_TYPES.CHANGE,
|
|
6712
6712
|
(data) => onChangeRef.current?.(data)
|
|
6713
6713
|
);
|
|
6714
6714
|
element.on(
|
|
6715
|
-
|
|
6715
|
+
chunkF7J3HK27_js.EVENT_TYPES.ERROR,
|
|
6716
6716
|
(data) => onErrorRef.current?.(data)
|
|
6717
6717
|
);
|
|
6718
6718
|
element.mount(containerRef.current);
|
package/dist/react.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { DURATION_UNIT, getVariantDisplayName, INPUT_FIELD_TYPE, isMultiDayService, serviceBillingMultiplier, PRODUCT_TYPE, BOUNDARY_KIND, resolveGallery, chatMessageCards, RENDER_HINT, displaysGrossPrices, DEFAULT_CDN_BASE_URL } from './chunk-3V4DVXV3.mjs';
|
|
3
3
|
export { getVariantDisplayName } from './chunk-3V4DVXV3.mjs';
|
|
4
|
-
import { chatRealtimeUpdateFromWire, createCimplifyClient } from './chunk-
|
|
4
|
+
import { chatRealtimeUpdateFromWire, createCimplifyClient } from './chunk-SUCE7FWA.mjs';
|
|
5
5
|
import { splitGenUIContent, messagePreview } from './chunk-U4MW6PYU.mjs';
|
|
6
6
|
export { messagePreview, splitGenUIContent } from './chunk-U4MW6PYU.mjs';
|
|
7
|
-
import { ELEMENT_TYPES, EVENT_TYPES, SESSION_CLAIMED, SESSION_CLEARED, generateIdempotencyKey, startSignIn, AUTH_TOKEN_CHANGED, MUTATION_ERROR } from './chunk-
|
|
7
|
+
import { ELEMENT_TYPES, EVENT_TYPES, SESSION_CLAIMED, SESSION_CLEARED, generateIdempotencyKey, startSignIn, AUTH_TOKEN_CHANGED, MUTATION_ERROR } from './chunk-U6ACF76H.mjs';
|
|
8
8
|
import { ORDER_TYPE, CHECKOUT_STATUS } from './chunk-33VCYWVL.mjs';
|
|
9
9
|
import { parsePrice, formatMoney, formatPrice, getVariantUnitPrice, getProductCurrency, getUnitPriceAtQuantity, isOnSale, getDiscountPercentage, getBasePrice, getPriceRange, formatPriceRange } from './chunk-JRGK3NXR.mjs';
|
|
10
10
|
import { isSupportedCurrency, ErrorCode, currencyCode, CimplifyError } from './chunk-KG3WT4PR.mjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
|
-
import { dR as ProductInputField, ee as PurchaseIntentView,
|
|
2
|
+
import { dR as ProductInputField, ee as PurchaseIntentView, cE as MintPurchaseIntentRequest, g as ConfirmPurchaseIntentResponse, eA as SubmitAuthorizationInput, ad as CHECKOUT_NEXT_ACTION, i as ConfirmPurchaseIntentRequest, eB as SubmitPurchaseIntentActionRequest } from './elements-Bty6Qs_N.mjs';
|
|
3
3
|
|
|
4
4
|
interface Clock {
|
|
5
5
|
now(): Date;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
|
-
import { dR as ProductInputField, ee as PurchaseIntentView,
|
|
2
|
+
import { dR as ProductInputField, ee as PurchaseIntentView, cE as MintPurchaseIntentRequest, g as ConfirmPurchaseIntentResponse, eA as SubmitAuthorizationInput, ad as CHECKOUT_NEXT_ACTION, i as ConfirmPurchaseIntentRequest, eB as SubmitPurchaseIntentActionRequest } from './elements-Bty6Qs_N.js';
|
|
3
3
|
|
|
4
4
|
interface Clock {
|
|
5
5
|
now(): Date;
|
package/dist/server.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { C as CimplifyClient } from './catalogue-
|
|
2
|
-
export { a as CacheOptions, R as ReadRequestOptions, b as Result } from './catalogue-
|
|
3
|
-
export { b as Category, c as CimplifyError, d as Collection, P as Product, e as ProductWithDetails } from './elements-
|
|
1
|
+
import { C as CimplifyClient } from './catalogue-OT89_Ifs.mjs';
|
|
2
|
+
export { a as CacheOptions, R as ReadRequestOptions, b as Result } from './catalogue-OT89_Ifs.mjs';
|
|
3
|
+
export { b as Category, c as CimplifyError, d as Collection, P as Product, e as ProductWithDetails } from './elements-Bty6Qs_N.mjs';
|
|
4
4
|
import { JWTVerifyResult } from 'jose';
|
|
5
5
|
|
|
6
6
|
interface ServerClientOptions {
|
package/dist/server.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { C as CimplifyClient } from './catalogue-
|
|
2
|
-
export { a as CacheOptions, R as ReadRequestOptions, b as Result } from './catalogue-
|
|
3
|
-
export { b as Category, c as CimplifyError, d as Collection, P as Product, e as ProductWithDetails } from './elements-
|
|
1
|
+
import { C as CimplifyClient } from './catalogue-B4eLL8Mi.js';
|
|
2
|
+
export { a as CacheOptions, R as ReadRequestOptions, b as Result } from './catalogue-B4eLL8Mi.js';
|
|
3
|
+
export { b as Category, c as CimplifyError, d as Collection, P as Product, e as ProductWithDetails } from './elements-Bty6Qs_N.js';
|
|
4
4
|
import { JWTVerifyResult } from 'jose';
|
|
5
5
|
|
|
6
6
|
interface ServerClientOptions {
|
package/dist/server.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkEDK3LNM6_js = require('./chunk-EDK3LNM6.js');
|
|
4
4
|
require('./chunk-XREIZ56K.js');
|
|
5
|
-
var
|
|
5
|
+
var chunkF7J3HK27_js = require('./chunk-F7J3HK27.js');
|
|
6
6
|
require('./chunk-EV2EVOYS.js');
|
|
7
7
|
require('./chunk-V32BCG7M.js');
|
|
8
8
|
var chunkANT574FD_js = require('./chunk-ANT574FD.js');
|
|
@@ -28,7 +28,7 @@ function readEnv(...keys) {
|
|
|
28
28
|
var getServerClient = react.cache((opts = {}) => {
|
|
29
29
|
const baseUrl = opts.apiUrl ?? readEnv("CIMPLIFY_API_URL", "NEXT_PUBLIC_CIMPLIFY_API_URL") ?? defaultBaseUrl();
|
|
30
30
|
const publicKey = opts.secretKey ?? readEnv("CIMPLIFY_SECRET_KEY", "NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY") ?? "mock-dev";
|
|
31
|
-
const client =
|
|
31
|
+
const client = chunkEDK3LNM6_js.createCimplifyClient({
|
|
32
32
|
baseUrl,
|
|
33
33
|
publicKey,
|
|
34
34
|
suppressPublicKeyWarning: true
|
|
@@ -252,7 +252,7 @@ var QUERY_AUTH_ERROR = "cimplify_auth_error";
|
|
|
252
252
|
var discoveryCache = /* @__PURE__ */ new Map();
|
|
253
253
|
var jwksCache = /* @__PURE__ */ new Map();
|
|
254
254
|
function issuerBase(cfg) {
|
|
255
|
-
return (cfg.issuer ?? cfg.authUrl ??
|
|
255
|
+
return (cfg.issuer ?? cfg.authUrl ?? chunkF7J3HK27_js.DEFAULT_ISSUER).replace(/\/$/, "");
|
|
256
256
|
}
|
|
257
257
|
function cookieName(cfg) {
|
|
258
258
|
return cfg.cookieName ?? SESSION_COOKIE;
|
|
@@ -467,12 +467,12 @@ async function handleOidcCallback(req, opts) {
|
|
|
467
467
|
}
|
|
468
468
|
function readPkceCookie(cookieHeader) {
|
|
469
469
|
if (!cookieHeader) return null;
|
|
470
|
-
const match = cookieHeader.split(/;\s*/).find((p) => p.startsWith(`${
|
|
470
|
+
const match = cookieHeader.split(/;\s*/).find((p) => p.startsWith(`${chunkF7J3HK27_js.PKCE_COOKIE}=`));
|
|
471
471
|
if (!match) return null;
|
|
472
|
-
return
|
|
472
|
+
return chunkF7J3HK27_js.decodePkceState(match.slice(chunkF7J3HK27_js.PKCE_COOKIE.length + 1));
|
|
473
473
|
}
|
|
474
474
|
function buildPkceClearCookie() {
|
|
475
|
-
return `${
|
|
475
|
+
return `${chunkF7J3HK27_js.PKCE_COOKIE}=; Path=${chunkF7J3HK27_js.PKCE_COOKIE_PATH}; Max-Age=0; Secure; SameSite=Lax`;
|
|
476
476
|
}
|
|
477
477
|
function safeReturnPath(returnTo, fallback) {
|
|
478
478
|
if (returnTo && returnTo.startsWith("/") && !returnTo.startsWith("//")) return returnTo;
|
package/dist/server.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createCimplifyClient } from './chunk-
|
|
1
|
+
import { createCimplifyClient } from './chunk-SUCE7FWA.mjs';
|
|
2
2
|
import './chunk-U4MW6PYU.mjs';
|
|
3
|
-
import { PKCE_COOKIE, decodePkceState, PKCE_COOKIE_PATH, DEFAULT_ISSUER } from './chunk-
|
|
3
|
+
import { PKCE_COOKIE, decodePkceState, PKCE_COOKIE_PATH, DEFAULT_ISSUER } from './chunk-U6ACF76H.mjs';
|
|
4
4
|
import './chunk-33VCYWVL.mjs';
|
|
5
5
|
import './chunk-JRGK3NXR.mjs';
|
|
6
6
|
export { CimplifyError } from './chunk-KG3WT4PR.mjs';
|
package/dist/testing/msw.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as AppHandle, C as CreateAppOptions } from '../server-
|
|
1
|
+
import { A as AppHandle, C as CreateAppOptions } from '../server-B6dW7-Lj.mjs';
|
|
2
2
|
import 'hono';
|
|
3
|
-
import '../elements-
|
|
3
|
+
import '../elements-Bty6Qs_N.mjs';
|
|
4
4
|
|
|
5
5
|
interface MswHandlerSetup {
|
|
6
6
|
handlers: unknown[];
|
package/dist/testing/msw.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as AppHandle, C as CreateAppOptions } from '../server-
|
|
1
|
+
import { A as AppHandle, C as CreateAppOptions } from '../server-Dckg4Vdr.js';
|
|
2
2
|
import 'hono';
|
|
3
|
-
import '../elements-
|
|
3
|
+
import '../elements-Bty6Qs_N.js';
|
|
4
4
|
|
|
5
5
|
interface MswHandlerSetup {
|
|
6
6
|
handlers: unknown[];
|
package/dist/testing/suite.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TestAPI } from 'vitest';
|
|
2
|
-
import { T as TestClientHandle } from '../client-
|
|
3
|
-
import { C as CreateAppOptions } from '../server-
|
|
4
|
-
export { S as SeedName } from '../server-
|
|
5
|
-
import '../catalogue-
|
|
6
|
-
import '../elements-
|
|
2
|
+
import { T as TestClientHandle } from '../client-BSP9U1O1.mjs';
|
|
3
|
+
import { C as CreateAppOptions } from '../server-B6dW7-Lj.mjs';
|
|
4
|
+
export { S as SeedName } from '../server-B6dW7-Lj.mjs';
|
|
5
|
+
import '../catalogue-OT89_Ifs.mjs';
|
|
6
|
+
import '../elements-Bty6Qs_N.mjs';
|
|
7
7
|
import 'hono';
|
|
8
8
|
|
|
9
9
|
/**
|
package/dist/testing/suite.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TestAPI } from 'vitest';
|
|
2
|
-
import { T as TestClientHandle } from '../client-
|
|
3
|
-
import { C as CreateAppOptions } from '../server-
|
|
4
|
-
export { S as SeedName } from '../server-
|
|
5
|
-
import '../catalogue-
|
|
6
|
-
import '../elements-
|
|
2
|
+
import { T as TestClientHandle } from '../client-B878xeAP.js';
|
|
3
|
+
import { C as CreateAppOptions } from '../server-Dckg4Vdr.js';
|
|
4
|
+
export { S as SeedName } from '../server-Dckg4Vdr.js';
|
|
5
|
+
import '../catalogue-B4eLL8Mi.js';
|
|
6
|
+
import '../elements-Bty6Qs_N.js';
|
|
7
7
|
import 'hono';
|
|
8
8
|
|
|
9
9
|
/**
|
package/dist/testing/suite.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk5QW7CQBA_js = require('../chunk-5QW7CQBA.js');
|
|
4
4
|
require('../chunk-UVRPC2P7.js');
|
|
5
|
-
require('../chunk-
|
|
5
|
+
require('../chunk-EDK3LNM6.js');
|
|
6
6
|
require('../chunk-XREIZ56K.js');
|
|
7
|
-
require('../chunk-
|
|
7
|
+
require('../chunk-F7J3HK27.js');
|
|
8
8
|
require('../chunk-EV2EVOYS.js');
|
|
9
9
|
require('../chunk-V32BCG7M.js');
|
|
10
10
|
require('../chunk-ANT574FD.js');
|
|
@@ -22,11 +22,11 @@ var PLACEHOLDER_PHRASES = [
|
|
|
22
22
|
function createBrandSuite(opts) {
|
|
23
23
|
vitest.describe(opts.label ?? "brand schema", () => {
|
|
24
24
|
vitest.it("conforms to the Cimplify brand contract", () => {
|
|
25
|
-
vitest.expect(() =>
|
|
25
|
+
vitest.expect(() => chunk5QW7CQBA_js.assertBrand(opts.brand)).not.toThrow();
|
|
26
26
|
});
|
|
27
27
|
vitest.it("declares a known mock seed", () => {
|
|
28
28
|
const b = opts.brand;
|
|
29
|
-
vitest.expect(
|
|
29
|
+
vitest.expect(chunk5QW7CQBA_js.SeedNameSchema.safeParse(b.mock?.seed).success).toBe(true);
|
|
30
30
|
});
|
|
31
31
|
vitest.it("has no placeholder copy left in", () => {
|
|
32
32
|
const offenders = [];
|
|
@@ -58,7 +58,7 @@ ${msg}`);
|
|
|
58
58
|
vitest.expect(b.mock?.businessId).toMatch(/^bus_/);
|
|
59
59
|
});
|
|
60
60
|
vitest.it("zod-parses cleanly", () => {
|
|
61
|
-
const result =
|
|
61
|
+
const result = chunk5QW7CQBA_js.BrandSchema.safeParse(opts.brand);
|
|
62
62
|
if (!result.success) {
|
|
63
63
|
throw new Error(
|
|
64
64
|
"Brand schema violations:\n" + result.error.issues.map((i) => ` \u2022 brand.${i.path.join(".")}: ${i.message}`).join("\n")
|
|
@@ -73,23 +73,23 @@ function createCartFlowSuite(opts = {}) {
|
|
|
73
73
|
vitest.describe(opts.label ?? "cart flow against in-process mock", () => {
|
|
74
74
|
let h;
|
|
75
75
|
vitest.beforeEach(() => {
|
|
76
|
-
h =
|
|
76
|
+
h = chunk5QW7CQBA_js.createTestClient(opts);
|
|
77
77
|
});
|
|
78
78
|
vitest.afterEach(() => h.dispose());
|
|
79
79
|
vitest.it("starts with an empty cart matching the canonical shape", async () => {
|
|
80
80
|
const res = await h.client.cart.get();
|
|
81
81
|
vitest.expect(res.ok).toBe(true);
|
|
82
82
|
if (!res.ok) return;
|
|
83
|
-
vitest.expect(() =>
|
|
83
|
+
vitest.expect(() => chunk5QW7CQBA_js.assertCart(res.value)).not.toThrow();
|
|
84
84
|
vitest.expect(res.value.items).toHaveLength(0);
|
|
85
85
|
});
|
|
86
86
|
vitest.it("adds the first product, persists it, and returns a shape-valid cart", async () => {
|
|
87
|
-
const { product, variantId } = await
|
|
87
|
+
const { product, variantId } = await chunk5QW7CQBA_js.fixtures.addFirstProduct(h.client);
|
|
88
88
|
vitest.expect(product.id).toBeTruthy();
|
|
89
89
|
const get = await h.client.cart.get();
|
|
90
90
|
vitest.expect(get.ok).toBe(true);
|
|
91
91
|
if (!get.ok) return;
|
|
92
|
-
vitest.expect(() =>
|
|
92
|
+
vitest.expect(() => chunk5QW7CQBA_js.assertCart(get.value)).not.toThrow();
|
|
93
93
|
vitest.expect(get.value.items).toHaveLength(1);
|
|
94
94
|
vitest.expect(get.value.items[0]?.item_id).toBe(product.id);
|
|
95
95
|
if (variantId) {
|
|
@@ -100,8 +100,8 @@ function createCartFlowSuite(opts = {}) {
|
|
|
100
100
|
vitest.expect(parseFloat(String(get.value.pricing.subtotal))).toBeGreaterThan(0);
|
|
101
101
|
});
|
|
102
102
|
vitest.it("dedupes by line_key when adding the same product twice", async () => {
|
|
103
|
-
await
|
|
104
|
-
await
|
|
103
|
+
await chunk5QW7CQBA_js.fixtures.addFirstProduct(h.client);
|
|
104
|
+
await chunk5QW7CQBA_js.fixtures.addFirstProduct(h.client);
|
|
105
105
|
const res = await h.client.cart.get();
|
|
106
106
|
vitest.expect(res.ok).toBe(true);
|
|
107
107
|
if (!res.ok) return;
|
|
@@ -109,7 +109,7 @@ function createCartFlowSuite(opts = {}) {
|
|
|
109
109
|
vitest.expect(res.value.items[0]?.quantity).toBe(2);
|
|
110
110
|
});
|
|
111
111
|
vitest.it("removes items and zeroes the subtotal", async () => {
|
|
112
|
-
await
|
|
112
|
+
await chunk5QW7CQBA_js.fixtures.addFirstProduct(h.client);
|
|
113
113
|
const before = await h.client.cart.get();
|
|
114
114
|
if (!before.ok) throw before.error;
|
|
115
115
|
const itemId = before.value.items[0]?.id;
|
|
@@ -135,28 +135,28 @@ function createContractSuite(opts = {}) {
|
|
|
135
135
|
vitest.describe(opts.label ?? "SDK \u2194 mock contract", () => {
|
|
136
136
|
let h;
|
|
137
137
|
vitest.beforeEach(() => {
|
|
138
|
-
h =
|
|
138
|
+
h = chunk5QW7CQBA_js.createTestClient(opts);
|
|
139
139
|
});
|
|
140
140
|
vitest.afterEach(() => h.dispose());
|
|
141
141
|
vitest.it("AddItemPayload schema accepts a minimal valid body", () => {
|
|
142
|
-
const result =
|
|
142
|
+
const result = chunk5QW7CQBA_js.AddItemPayloadSchema.safeParse({ item_id: "prod_x", quantity: 1 });
|
|
143
143
|
vitest.expect(result.success).toBe(true);
|
|
144
144
|
});
|
|
145
145
|
vitest.it("AddItemPayload schema rejects negative quantity", () => {
|
|
146
|
-
const result =
|
|
146
|
+
const result = chunk5QW7CQBA_js.AddItemPayloadSchema.safeParse({ item_id: "prod_x", quantity: -1 });
|
|
147
147
|
vitest.expect(result.success).toBe(false);
|
|
148
148
|
});
|
|
149
149
|
vitest.it("AddItemPayload schema rejects empty item_id", () => {
|
|
150
|
-
const result =
|
|
150
|
+
const result = chunk5QW7CQBA_js.AddItemPayloadSchema.safeParse({ item_id: "", quantity: 1 });
|
|
151
151
|
vitest.expect(result.success).toBe(false);
|
|
152
152
|
});
|
|
153
153
|
vitest.it("Cart line items returned by the mock match CartItemSchema", async () => {
|
|
154
|
-
const { product } = await
|
|
154
|
+
const { product } = await chunk5QW7CQBA_js.fixtures.addFirstProduct(h.client);
|
|
155
155
|
const get = await h.client.cart.get();
|
|
156
156
|
if (!get.ok) throw get.error;
|
|
157
157
|
vitest.expect(get.value.items.length).toBeGreaterThan(0);
|
|
158
158
|
for (const item of get.value.items) {
|
|
159
|
-
const result =
|
|
159
|
+
const result = chunk5QW7CQBA_js.CartItemSchema.safeParse(item);
|
|
160
160
|
if (!result.success) {
|
|
161
161
|
const issues = result.error.issues.map((i) => ` \u2022 ${i.path.join(".")}: ${i.message}`).join("\n");
|
|
162
162
|
throw new Error(`Cart item shape mismatch for ${product.name}:
|
|
@@ -166,20 +166,20 @@ ${issues}`);
|
|
|
166
166
|
}
|
|
167
167
|
});
|
|
168
168
|
vitest.it("CheckoutResponse projects purchase-intent authority without fabricating a bill token", async () => {
|
|
169
|
-
await
|
|
169
|
+
await chunk5QW7CQBA_js.fixtures.addFirstProduct(h.client);
|
|
170
170
|
const cartRes = await h.client.cart.get();
|
|
171
171
|
if (!cartRes.ok) throw cartRes.error;
|
|
172
172
|
const checkout = await h.client.checkout.process({
|
|
173
173
|
cart_id: cartRes.value.id,
|
|
174
|
-
customer:
|
|
174
|
+
customer: chunk5QW7CQBA_js.fixtures.customer(),
|
|
175
175
|
order_type: "delivery",
|
|
176
|
-
address_info:
|
|
176
|
+
address_info: chunk5QW7CQBA_js.fixtures.deliveryAddress(),
|
|
177
177
|
payment_method: "mobile_money",
|
|
178
178
|
mobile_money_details: { phone_number: "+233244000000", provider: "mtn" }
|
|
179
179
|
});
|
|
180
180
|
vitest.expect(checkout.ok).toBe(true);
|
|
181
181
|
if (!checkout.ok) return;
|
|
182
|
-
const result =
|
|
182
|
+
const result = chunk5QW7CQBA_js.CheckoutResponseSchema.safeParse(checkout.value);
|
|
183
183
|
if (!result.success) {
|
|
184
184
|
const issues = result.error.issues.map((i) => ` \u2022 ${i.path.join(".")}: ${i.message}`).join("\n");
|
|
185
185
|
throw new Error(`CheckoutResponse shape mismatch:
|
package/dist/testing/suite.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { assertBrand, SeedNameSchema, BrandSchema, createTestClient, assertCart, fixtures, AddItemPayloadSchema, CartItemSchema, CheckoutResponseSchema } from '../chunk-
|
|
1
|
+
import { assertBrand, SeedNameSchema, BrandSchema, createTestClient, assertCart, fixtures, AddItemPayloadSchema, CartItemSchema, CheckoutResponseSchema } from '../chunk-JVODCGFP.mjs';
|
|
2
2
|
import '../chunk-XBL3TMPC.mjs';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-SUCE7FWA.mjs';
|
|
4
4
|
import '../chunk-U4MW6PYU.mjs';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-U6ACF76H.mjs';
|
|
6
6
|
import '../chunk-33VCYWVL.mjs';
|
|
7
7
|
import '../chunk-JRGK3NXR.mjs';
|
|
8
8
|
import '../chunk-KG3WT4PR.mjs';
|
package/dist/testing.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { $ZodType } from 'zod/v4/core';
|
|
3
|
-
export { A as AddFirstProductOptions, a as AddFirstProductResult, P as ProductSummary, T as TestClientHandle, c as createTestClient, f as fixtures } from './client-
|
|
4
|
-
import './catalogue-
|
|
5
|
-
import './elements-
|
|
6
|
-
import './server-
|
|
3
|
+
export { A as AddFirstProductOptions, a as AddFirstProductResult, P as ProductSummary, T as TestClientHandle, c as createTestClient, f as fixtures } from './client-BSP9U1O1.mjs';
|
|
4
|
+
import './catalogue-OT89_Ifs.mjs';
|
|
5
|
+
import './elements-Bty6Qs_N.mjs';
|
|
6
|
+
import './server-B6dW7-Lj.mjs';
|
|
7
7
|
import 'hono';
|
|
8
8
|
|
|
9
9
|
/**
|
package/dist/testing.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { $ZodType } from 'zod/v4/core';
|
|
3
|
-
export { A as AddFirstProductOptions, a as AddFirstProductResult, P as ProductSummary, T as TestClientHandle, c as createTestClient, f as fixtures } from './client-
|
|
4
|
-
import './catalogue-
|
|
5
|
-
import './elements-
|
|
6
|
-
import './server-
|
|
3
|
+
export { A as AddFirstProductOptions, a as AddFirstProductResult, P as ProductSummary, T as TestClientHandle, c as createTestClient, f as fixtures } from './client-B878xeAP.js';
|
|
4
|
+
import './catalogue-B4eLL8Mi.js';
|
|
5
|
+
import './elements-Bty6Qs_N.js';
|
|
6
|
+
import './server-Dckg4Vdr.js';
|
|
7
7
|
import 'hono';
|
|
8
8
|
|
|
9
9
|
/**
|