@callimacus/thamyr-core 4.14.1 → 4.16.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.
@@ -491,6 +491,20 @@ type ShopifyStorefrontSettings = {
491
491
  };
492
492
  cartEnabled: boolean;
493
493
  };
494
+ type WooCommerceCart$1 = {
495
+ /**
496
+ * The site’s address: checkout opens there.
497
+ */
498
+ store: string;
499
+ /**
500
+ * The Store API root, `…/wp-json/wc/store/v1` (or `…/?rest_route=/wc/store/v1` on plain permalinks): append the route, e.g. `/cart/add-item`.
501
+ */
502
+ storeApi: string;
503
+ /**
504
+ * The `Cart-Token` header for the next cart call.
505
+ */
506
+ cartToken: string;
507
+ };
494
508
  type SkesisItemPage = {
495
509
  /**
496
510
  * The canonical page path, `/map/{locale}/{slug}/{id}`, as the sitemap lists it
@@ -835,15 +849,18 @@ type BlockPatchOutput = {
835
849
  type CartCommandOutput = {
836
850
  storyId: string;
837
851
  chapterId: string;
838
- command: 'shopify-add';
839
852
  /**
840
- * The Shopify product variant to add.
853
+ * The cart that adds it: the Shopify cart, or the WooCommerce Store API cart.
854
+ */
855
+ command: 'shopify-add' | 'woocommerce-add';
856
+ /**
857
+ * What to add: a Shopify product variant gid for `shopify-add`, a WooCommerce product or variation id for `woocommerce-add`.
841
858
  */
842
859
  variantId: string;
843
860
  quantity: number;
844
861
  item: {
845
862
  /**
846
- * The item the chat showed (`shopify:product:<gid>`).
863
+ * The item the chat showed (`shopify:product:<gid>`, `wordpress:product:<id>`).
847
864
  */
848
865
  id: string;
849
866
  name: string;
@@ -937,6 +954,10 @@ type CreateRoundContextOutput = {
937
954
  * The client runs a Shopify cart in the shopper's browser: the chat may then answer an add to the bag with a `cart-command`. Without it, an add to the bag shows the item's details.
938
955
  */
939
956
  shopifyCart?: boolean;
957
+ /**
958
+ * The client runs a WooCommerce cart in the shopper's browser: the chat may then answer an add to the bag of the store's product with a `cart-command`. Without it, an add to the bag shows the item's details.
959
+ */
960
+ woocommerceCart?: boolean;
940
961
  [key: string]: unknown;
941
962
  };
942
963
  type CustomBlockOutput = {
@@ -1094,7 +1115,7 @@ type SlDocumentOutput = {
1094
1115
  publishedAt?: string | null;
1095
1116
  unpublishedAt?: string | null;
1096
1117
  authors?: Array<string>;
1097
- source?: 'backoffice' | 'api' | 'salesforce';
1118
+ source?: 'backoffice' | 'api' | 'wordpress' | 'salesforce';
1098
1119
  slug?: string;
1099
1120
  documentGroupId: string;
1100
1121
  id: string;
@@ -1141,6 +1162,10 @@ type SlDocumentSectionOutput = {
1141
1162
  height: number;
1142
1163
  };
1143
1164
  poster?: string;
1165
+ /**
1166
+ * Length in seconds.
1167
+ */
1168
+ duration?: number;
1144
1169
  playerConfig?: {
1145
1170
  autoplay: boolean;
1146
1171
  muted: boolean;
@@ -1513,16 +1538,29 @@ type SkesisSimilarResponse = {
1513
1538
  item: SkesisItem;
1514
1539
  }>;
1515
1540
  /**
1516
- * Present only when the request set `explain: true`: what each stage of the pipeline decided, keyed by stage (search runs plan, route, retrieve, assess, relax and rank; the other pipelines a subset), plus `timings` in milliseconds. Decisions only — never what the engine was told.
1541
+ * System callers only: how the engine ran this request. Nobody else gets the key.
1517
1542
  */
1518
- trace?: {
1519
- [key: string]: unknown;
1543
+ diagnostic?: {
1544
+ /**
1545
+ * Present only when the request set `explain: true`: what each stage of the pipeline decided, keyed by stage (search runs retrieve, assess and rank; the other pipelines a subset), plus `timings` in milliseconds. Decisions only — never what the engine was told.
1546
+ */
1547
+ trace?: {
1548
+ [key: string]: unknown;
1549
+ };
1520
1550
  };
1521
1551
  };
1522
1552
  type SkesisRelatedResponse = {
1523
1553
  related: Array<{
1524
1554
  id: string;
1525
1555
  item: SkesisItem;
1556
+ /**
1557
+ * Which way the edge that surfaced the hit runs: `forward`, the anchor references the hit; `reverse`, the hit references the anchor. Under the fallback (`usedFallback`), relative to the neighbour whose edges were used.
1558
+ */
1559
+ direction: 'forward' | 'reverse';
1560
+ /**
1561
+ * The edge's relation as its source stored it, e.g. a commerce platform's recommendation type. Absent when the edge has none.
1562
+ */
1563
+ relation?: string;
1526
1564
  }>;
1527
1565
  siblingColors: Array<{
1528
1566
  id: string;
@@ -1530,10 +1568,15 @@ type SkesisRelatedResponse = {
1530
1568
  }>;
1531
1569
  usedFallback: boolean;
1532
1570
  /**
1533
- * Present only when the request set `explain: true`: what each stage of the pipeline decided, keyed by stage (search runs plan, route, retrieve, assess, relax and rank; the other pipelines a subset), plus `timings` in milliseconds. Decisions only — never what the engine was told.
1571
+ * System callers only: how the engine ran this request. Nobody else gets the key.
1534
1572
  */
1535
- trace?: {
1536
- [key: string]: unknown;
1573
+ diagnostic?: {
1574
+ /**
1575
+ * Present only when the request set `explain: true`: what each stage of the pipeline decided, keyed by stage (search runs retrieve, assess and rank; the other pipelines a subset), plus `timings` in milliseconds. Decisions only — never what the engine was told.
1576
+ */
1577
+ trace?: {
1578
+ [key: string]: unknown;
1579
+ };
1537
1580
  };
1538
1581
  };
1539
1582
  /**
@@ -3061,6 +3104,34 @@ type ShopifyGetStorefrontSettingsResponses = {
3061
3104
  */
3062
3105
  200: ShopifyStorefrontSettings;
3063
3106
  };
3107
+ type WoocommerceStartCartErrors = {
3108
+ /**
3109
+ * Validation error
3110
+ */
3111
+ 400: unknown;
3112
+ /**
3113
+ * Missing or invalid access token
3114
+ */
3115
+ 401: unknown;
3116
+ /**
3117
+ * The caller is not permitted to perform this operation
3118
+ */
3119
+ 403: PinaxForbidden;
3120
+ /**
3121
+ * No WordPress site with WooCommerce is connected to this project, or the request comes from the site’s preview
3122
+ */
3123
+ 404: PublicError;
3124
+ /**
3125
+ * The store did not answer.
3126
+ */
3127
+ 502: PublicError;
3128
+ };
3129
+ type WoocommerceStartCartResponses = {
3130
+ /**
3131
+ * Success
3132
+ */
3133
+ 200: WooCommerceCart$1;
3134
+ };
3064
3135
  type SkesisSimilarErrors = {
3065
3136
  /**
3066
3137
  * Validation error
@@ -3339,6 +3410,14 @@ declare class Shopify extends HeyApiClient {
3339
3410
  */
3340
3411
  getStorefrontSettings<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<ShopifyGetStorefrontSettingsResponses, ShopifyGetStorefrontSettingsErrors, ThrowOnError>;
3341
3412
  }
3413
+ declare class Woocommerce extends HeyApiClient {
3414
+ /**
3415
+ * Start a WooCommerce cart
3416
+ *
3417
+ * A new, empty cart on the WooCommerce store of the WordPress site connected to the project: the site’s address, the Store API root and the cart’s first token. Every cart call after this one goes from the browser to the store with the token, and each answer carries the token to send next. Not found while no WordPress site is connected, the site sends no cart token (no WooCommerce on it), or the request comes from the site’s preview, where the cart is off.
3418
+ */
3419
+ startCart<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<WoocommerceStartCartResponses, WoocommerceStartCartErrors, ThrowOnError>;
3420
+ }
3342
3421
  declare class Skesis extends HeyApiClient {
3343
3422
  /**
3344
3423
  * Similar items
@@ -3388,6 +3467,8 @@ declare class CallimacusApi extends HeyApiClient {
3388
3467
  get cart(): Cart;
3389
3468
  private _shopify?;
3390
3469
  get shopify(): Shopify;
3470
+ private _woocommerce?;
3471
+ get woocommerce(): Woocommerce;
3391
3472
  private _skesis?;
3392
3473
  get skesis(): Skesis;
3393
3474
  }
@@ -3451,10 +3532,11 @@ type ThamyrResponse = ThamyrResponse$1;
3451
3532
  */
3452
3533
  type BlockPatch = BlockPatchOutput;
3453
3534
  /**
3454
- An add to the bag the chat asks the shopper's browser to make in its Shopify cart,
3455
- at most once: it comes only on the socket whose round asked for it, only to a client
3456
- that declared `context.shopifyCart`, and is never stored with the round, so a replay
3457
- never sends it again. Run it with the Shopify cart (`@callimacus/thamyr-react` does).
3535
+ An add to the bag the chat asks the shopper's browser to make in its Shopify or
3536
+ WooCommerce cart, at most once: it comes only on the socket whose round asked for it,
3537
+ only to a client that declared `context.shopifyCart` or `context.woocommerceCart`, and
3538
+ is never stored with the round, so a replay never sends it again. Run it with the cart
3539
+ its `command` names (`@callimacus/thamyr-react` does).
3458
3540
  */
3459
3541
  type CartCommand = CartCommandOutput;
3460
3542
  /**
@@ -3591,6 +3673,10 @@ type InteractionContext = {
3591
3673
  The client runs a Shopify cart (`useShopifyCart`): a round that declares it may get the chat's add to the bag as a `cart-command`.
3592
3674
  */
3593
3675
  shopifyCart?: boolean;
3676
+ /**
3677
+ The client runs a WooCommerce cart (`useWooCommerceCart`): a round that declares it may get the chat's add to the bag of the store's product as a `cart-command`.
3678
+ */
3679
+ woocommerceCart?: boolean;
3594
3680
  };
3595
3681
  type UiObserverConfig = {
3596
3682
  enabled?: boolean;
@@ -4464,6 +4550,24 @@ Whether `variantId` is a Shopify product variant gid (`gid://shopify/ProductVari
4464
4550
  */
4465
4551
  declare const isVariantGid: (variantId: string) => boolean;
4466
4552
  /**
4553
+ A lock kept in `storage` for browsers without Web Locks: a lease with an owner
4554
+ and an expiry, read back after a short pause so two tabs that wrote at once
4555
+ agree on the last writer. Bounded: a tab waits `waitMs` at most, and a lease a
4556
+ crashed tab left behind expires after `ttlMs`.
4557
+ @internal
4558
+ */
4559
+ declare function leaseLock(storage: CartStorage, timing?: {
4560
+ waitMs?: number;
4561
+ ttlMs?: number;
4562
+ retryMs?: number;
4563
+ settleMs?: number;
4564
+ }): CartLock;
4565
+ /**
4566
+ The browser's Web Locks as a {@link CartLock}; undefined where there are none.
4567
+ @internal
4568
+ */
4569
+ declare function webLocks(): CartLock | undefined;
4570
+ /**
4467
4571
  The browser's storage, or one kept in memory where the browser refuses it. Pass the same one to every
4468
4572
  cart client of a page, so they share the cart id even where the browser keeps nothing.
4469
4573
  */
@@ -4481,6 +4585,166 @@ const {data, error, warnings} = await cart.addItem('gid://shopify/ProductVariant
4481
4585
  */
4482
4586
  declare function createShopifyCart(options: ShopifyCartClientOptions): ShopifyCartClient;
4483
4587
 
4588
+ /**
4589
+ Money as the Store API sends it: an integer string in the currency's minor unit, so `"1999"` with `currency_minor_unit: 2` is 19.99.
4590
+ */
4591
+ type WooCommerceMoney = {
4592
+ currency_code: string;
4593
+ currency_minor_unit: number;
4594
+ currency_symbol: string;
4595
+ };
4596
+ type WooCommerceCartItem = {
4597
+ /**
4598
+ The line's key: what `removeItem` and `updateQuantity` take.
4599
+ */
4600
+ key: string;
4601
+ /**
4602
+ The product, or the variation, the line holds.
4603
+ */
4604
+ id: number;
4605
+ quantity: number;
4606
+ name: string;
4607
+ permalink: string;
4608
+ images: Array<{
4609
+ src: string;
4610
+ thumbnail: string;
4611
+ alt: string;
4612
+ }>;
4613
+ /**
4614
+ The variation's attributes as the shopper reads them (`{attribute: 'Size', value: 'Medium'}`).
4615
+ */
4616
+ variation: Array<{
4617
+ attribute: string;
4618
+ value: string;
4619
+ }>;
4620
+ prices: WooCommerceMoney & {
4621
+ price: string;
4622
+ regular_price: string;
4623
+ sale_price: string;
4624
+ };
4625
+ totals: WooCommerceMoney & {
4626
+ line_subtotal: string;
4627
+ line_total: string;
4628
+ };
4629
+ };
4630
+ /**
4631
+ The cart as the Store API answers it (`/wc/store/v1/cart`), its fields WooCommerce's own; the ones a bag shows are typed.
4632
+ */
4633
+ type WooCommerceCart = {
4634
+ items: WooCommerceCartItem[];
4635
+ items_count: number;
4636
+ totals: WooCommerceMoney & {
4637
+ total_items: string;
4638
+ total_price: string;
4639
+ total_tax: string;
4640
+ };
4641
+ /**
4642
+ The store's notices on the cart as it stands: a line it no longer sells, a quantity it cut.
4643
+ */
4644
+ errors: Array<{
4645
+ code: string;
4646
+ message: string;
4647
+ }>;
4648
+ };
4649
+ /**
4650
+ - `cart_unavailable`: no store is connected to the site's project, or the store refuses the call (a security plugin).
4651
+ - `invalid_input`: not a product id, or not a whole quantity.
4652
+ - `refused`: the store said no (sold out, not for sale, a line no longer there); its words are in `message`.
4653
+ - `no_cart`: nothing to change or check out.
4654
+ - `throttled`: the store is rate limiting (429).
4655
+ - `busy`: another tab held the cart's start for too long.
4656
+ - `network`: no answer, or none in time. The store answers a token it no longer accepts without CORS headers, so that reads as this too.
4657
+ - `http`: any other failed status.
4658
+ */
4659
+ type WooCommerceCartErrorCode = 'cart_unavailable' | 'invalid_input' | 'refused' | 'no_cart' | 'throttled' | 'busy' | 'network' | 'http';
4660
+ type WooCommerceCartError = {
4661
+ code: WooCommerceCartErrorCode;
4662
+ message: string;
4663
+ /**
4664
+ The HTTP status, when the store answered with one.
4665
+ */
4666
+ status?: number;
4667
+ /**
4668
+ The store's own code for a refusal (`woocommerce_rest_product_out_of_stock`).
4669
+ */
4670
+ storeCode?: string;
4671
+ };
4672
+ /**
4673
+ What a cart method resolves, never rejects with. `data` is the cart (`undefined`: none yet), or
4674
+ the checkout URL for `checkout`. A refusal carries no cart: read it again with `getCart`.
4675
+ */
4676
+ type WooCommerceCartResult<T = WooCommerceCart | undefined> = {
4677
+ data: T;
4678
+ error?: undefined;
4679
+ } | {
4680
+ data?: undefined;
4681
+ error: WooCommerceCartError;
4682
+ };
4683
+ /**
4684
+ What callimacus-core's `POST /api/v3/woocommerce/cart` answers: the site, its Store API root and a new cart's first token.
4685
+ */
4686
+ type WooCommerceStart = {
4687
+ store: string;
4688
+ storeApi: string;
4689
+ cartToken: string;
4690
+ };
4691
+ type WooCommerceCartClientOptions = {
4692
+ /**
4693
+ Starts a cart on the store through callimacus-core; undefined (or a rejection) when the project has no store connected.
4694
+ */
4695
+ start: () => Promise<WooCommerceStart | undefined>;
4696
+ /**
4697
+ Defaults to the global `fetch`.
4698
+ */
4699
+ fetch?: (input: string, init: RequestInit) => Promise<Response>;
4700
+ /**
4701
+ Where the token is kept: `createPageStorage()`, shared by every cart client of the page.
4702
+ */
4703
+ storage: CartStorage;
4704
+ /**
4705
+ The lock the tabs start the cart under: `navigator.locks`, or `leaseLock(storage)` where there are none.
4706
+ */
4707
+ lock: CartLock;
4708
+ /**
4709
+ Sends the shopper to checkout. Defaults to `location.assign`.
4710
+ */
4711
+ navigate?: (url: string) => void;
4712
+ };
4713
+ type WooCommerceCartClient = {
4714
+ /**
4715
+ The cart as the store has it now; `data: undefined` when there is none yet, and the store is not asked then.
4716
+ */
4717
+ getCart: () => Promise<WooCommerceCartResult>;
4718
+ /**
4719
+ Adds `quantity` (default 1) of a product or a variation, by its WooCommerce id; starts the cart on the first add.
4720
+ */
4721
+ addItem: (productId: string | number, quantity?: number) => Promise<WooCommerceCartResult>;
4722
+ /**
4723
+ Removes a line (`WooCommerceCartItem.key`).
4724
+ */
4725
+ removeItem: (key: string) => Promise<WooCommerceCartResult>;
4726
+ /**
4727
+ Sets a line's quantity; 0 removes it.
4728
+ */
4729
+ updateQuantity: (key: string, quantity: number) => Promise<WooCommerceCartResult>;
4730
+ /**
4731
+ Sends the shopper to the store's checkout with the cart's lines, and resolves its URL. The cart moves to the
4732
+ store: the bag here is empty after, whether or not the shopper buys. An empty cart goes nowhere (`no_cart`).
4733
+ */
4734
+ checkout: () => Promise<WooCommerceCartResult<string>>;
4735
+ };
4736
+ /**
4737
+ The WooCommerce cart in the shopper's browser, on the Store API of the store `start` names. Every method resolves
4738
+ a {@link WooCommerceCartResult} and never rejects.
4739
+ @example
4740
+ ```ts
4741
+ const storage = createPageStorage();
4742
+ const cart = createWooCommerceCart({start: async () => startFromCore(), storage, lock: leaseLock(storage)});
4743
+ const {data, error} = await cart.addItem(201, 1);
4744
+ ```
4745
+ */
4746
+ declare function createWooCommerceCart(options: WooCommerceCartClientOptions): WooCommerceCartClient;
4747
+
4484
4748
  /**
4485
4749
  Logger utility for Thamyr SDK
4486
4750
  Provides configurable logging that can be enabled/disabled to avoid console spam
@@ -4633,5 +4897,5 @@ declare function ensureIntentSessionId(): void;
4633
4897
  declare function clearIntentSessionId(): void;
4634
4898
  declare function setIntentSessionMaxAge(_seconds: number): void;
4635
4899
 
4636
- export { ACTION_TYPES, ADD_TO_CART_RESULT_BLOCK, CallimacusApi, CallimacusEvent, CallimacusService, ChapterStatus, ClientEvents, DELIVER_RESULT_BLOCK, GalleryMode, LANDING_VALUE_MAX_LENGTH, MAX_HANDSHAKE_RETRIES, SLInputEventType, STOREFRONT_API_VERSION, ServerEvents, ThamyrHttpError, ThamyrResponseType, UserInteractionType, actionOf, addToCartResultOf, applyBlockPatch, blockKeyOf, callimacusService, cartSettingsFor, classifyConnectError, clearIntentSessionId, createContractClient, createPageStorage, createShopifyCart, deliverResultOf, ensureIntentSessionId, extractTtsAudio, fieldsOf, getIntentSessionId, initIntent, interactionRound, isCustomBlock, isMasterProduct, isSetProduct, isVariantGid, landingRound, logger, mergeShopifySettings, parseConnectRejection, parseMapPath, randomUuid, readShopifySettings, receptorsOf, resolveMapPage, setConsent, setDebug, setDebugPanel, setGeo, setIntentSessionMaxAge, shouldRetryHandshake, transformImageUrl };
4637
- export type { Action, ActionType, AddToCartResult, BCProduct, Basket, Block, BlockPatch, BoundingBox, CallimacusErrorMessage, CartCommand, CartLock, CartStorage, Chapter, ClientInfo, ConnectRejection, ConnectionStatusCallback, ContractClient, CustomBlock, DeliverResult, DocumentIndexEntry, ErrorCallback, ErrorMessage, Gallery, GenericProduct, HomePage, Image, ImageEdits, ImageFormatEdit, ImageResizeEdit, InitOptions, InteractionContext, InteractionId, InteractionOptions, InteractionPayload, InteractionPayloadMap, LegacyBlock, LocalizedEPArtwork, LocalizedEPChapter, LogLevel, LoggerConfig, MapPage, MapPath, MasterProduct, MasterProductWithVariationGroup, OptionItem, ProductItem, ProductMatch, RecommendationsResponse, RiveManifest, RoundOptions, SLDocument, SLDocumentSection, SLInputEvent, ServerResponseCallback, SetProduct, ShopifyCart, ShopifyCartClient, ShopifyCartClientOptions, ShopifyCartError, ShopifyCartErrorCode, ShopifyCartLine, ShopifyCartResult, ShopifyCartSettings, ShopifyCartWarning, ShopifyConfig, ShopifyMoney, ShopifySettings, ShopifyStorefront, ShopifyUserError, SkesisItem, SkesisItemPage, SkesisRelatedResponse, SkesisSimilarResponse, Story, SuggestPayload, Suggestions, ThamyrInteractionMap, ThamyrResponse, Topic, TopicContentsPage, TopicSummary, TtsAudio, UiElement, UiObserverConfig, UiSnapshot, UserInteraction, Variant, VariationAttribute, VariationGroup, Video, WhisperPayload };
4900
+ export { ACTION_TYPES, ADD_TO_CART_RESULT_BLOCK, CallimacusApi, CallimacusEvent, CallimacusService, ChapterStatus, ClientEvents, DELIVER_RESULT_BLOCK, GalleryMode, LANDING_VALUE_MAX_LENGTH, MAX_HANDSHAKE_RETRIES, SLInputEventType, STOREFRONT_API_VERSION, ServerEvents, ThamyrHttpError, ThamyrResponseType, UserInteractionType, actionOf, addToCartResultOf, applyBlockPatch, blockKeyOf, callimacusService, cartSettingsFor, classifyConnectError, clearIntentSessionId, createContractClient, createPageStorage, createShopifyCart, createWooCommerceCart, deliverResultOf, ensureIntentSessionId, extractTtsAudio, fieldsOf, getIntentSessionId, initIntent, interactionRound, isCustomBlock, isMasterProduct, isSetProduct, isVariantGid, landingRound, leaseLock, logger, mergeShopifySettings, parseConnectRejection, parseMapPath, randomUuid, readShopifySettings, receptorsOf, resolveMapPage, setConsent, setDebug, setDebugPanel, setGeo, setIntentSessionMaxAge, shouldRetryHandshake, transformImageUrl, webLocks };
4901
+ export type { Action, ActionType, AddToCartResult, BCProduct, Basket, Block, BlockPatch, BoundingBox, CallimacusErrorMessage, CartCommand, CartLock, CartStorage, Chapter, ClientInfo, ConnectRejection, ConnectionStatusCallback, ContractClient, CustomBlock, DeliverResult, DocumentIndexEntry, ErrorCallback, ErrorMessage, Gallery, GenericProduct, HomePage, Image, ImageEdits, ImageFormatEdit, ImageResizeEdit, InitOptions, InteractionContext, InteractionId, InteractionOptions, InteractionPayload, InteractionPayloadMap, LegacyBlock, LocalizedEPArtwork, LocalizedEPChapter, LogLevel, LoggerConfig, MapPage, MapPath, MasterProduct, MasterProductWithVariationGroup, OptionItem, ProductItem, ProductMatch, RecommendationsResponse, RiveManifest, RoundOptions, SLDocument, SLDocumentSection, SLInputEvent, ServerResponseCallback, SetProduct, ShopifyCart, ShopifyCartClient, ShopifyCartClientOptions, ShopifyCartError, ShopifyCartErrorCode, ShopifyCartLine, ShopifyCartResult, ShopifyCartSettings, ShopifyCartWarning, ShopifyConfig, ShopifyMoney, ShopifySettings, ShopifyStorefront, ShopifyUserError, SkesisItem, SkesisItemPage, SkesisRelatedResponse, SkesisSimilarResponse, Story, SuggestPayload, Suggestions, ThamyrInteractionMap, ThamyrResponse, Topic, TopicContentsPage, TopicSummary, TtsAudio, UiElement, UiObserverConfig, UiSnapshot, UserInteraction, Variant, VariationAttribute, VariationGroup, Video, WhisperPayload, WooCommerceCart, WooCommerceCartClient, WooCommerceCartClientOptions, WooCommerceCartError, WooCommerceCartErrorCode, WooCommerceCartItem, WooCommerceCartResult, WooCommerceMoney, WooCommerceStart };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@callimacus/thamyr-core",
3
- "version": "4.14.1",
3
+ "version": "4.16.0",
4
4
  "private": false,
5
5
  "description": "Core package for Thamyr",
6
6
  "license": "SEE LICENSE IN LICENSE.md",