@xpert-ai/chatkit-web-component 0.17.0 → 0.19.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.
@@ -51,7 +51,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
51
51
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
52
52
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
53
53
 
54
- var _a, _b, _setTrainingOptOut_dec, _hideHistory_dec, _showHistory_dec, _sendCustomAction_dec, _shareThread_dec, _focusMessage_dec, _setThreadId_dec, _setRuntimeCapabilities_dec, _setComposerValue_dec, _sendUserMessage_dec, _fetchUpdates_dec, _focusComposer_dec, _c, _opts, _frameUrl, _frame, _wrapper, _windowDrag, _launcherCloseButton, _launcherOpen, _chatMinimizedToPet, _framePetOptionsOverride, _petClosedByContextMenu, _shadow, _petOverlay, _resolveLoaded, _loaded, _channelId, _messenger, _ChatKitElementBase_instances, emitAndThrow_fn, setOptionsDataAttributes_fn, getDisplayMode_fn, getConfiguredPetOptions_fn, mergeConfiguredPetPositionDefaults_fn, getOverlayPetOptions_fn, resolvePetAssetUrl_fn, resolveOverlayPetOptions_fn, getFrameOptions_fn, setLauncherOpen_fn, setChatMinimizedToPet_fn, syncPetOverlayOptions_fn, handlePetActivate_fn, handlePetClose_fn, handlePetReply_fn, handlePetThreadSummaryActivate_fn, _handleLauncherClose, getFrameUrl_fn, setFrameUrl_fn, consumeFrameUrl_fn, _handleFrameLoad, _initialized, maybeInit_fn, _init;
54
+ var _a, _b, _setTrainingOptOut_dec, _hideHistory_dec, _showHistory_dec, _sendCustomAction_dec, _shareThread_dec, _focusMessage_dec, _prepareLeave_dec, _setThreadId_dec, _setRuntimeCapabilities_dec, _setComposerValue_dec, _sendUserMessage_dec, _fetchUpdates_dec, _focusComposer_dec, _c, _opts, _frameUrl, _frame, _wrapper, _windowDrag, _launcherCloseButton, _launcherOpen, _chatMinimizedToPet, _framePetOptionsOverride, _petClosedByContextMenu, _shadow, _petOverlay, _resolveLoaded, _loaded, _channelId, _messenger, _ChatKitElementBase_instances, emitAndThrow_fn, setOptionsDataAttributes_fn, getDisplayMode_fn, getConfiguredPetOptions_fn, mergeConfiguredPetPositionDefaults_fn, getOverlayPetOptions_fn, resolvePetAssetUrl_fn, resolveOverlayPetOptions_fn, getFrameOptions_fn, setLauncherOpen_fn, setChatMinimizedToPet_fn, syncPetOverlayOptions_fn, handlePetActivate_fn, handlePetClose_fn, handlePetReply_fn, handlePetThreadSummaryActivate_fn, _handleLauncherClose, getFrameUrl_fn, setFrameUrl_fn, consumeFrameUrl_fn, _handleFrameLoad, _initialized, maybeInit_fn, _init;
55
55
  class EventEmitter {
56
56
  constructor() {
57
57
  __publicField(this, "callbacks", /* @__PURE__ */ new Map());
@@ -385,7 +385,13 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
385
385
  return null;
386
386
  }
387
387
  function safeRandomUUID() {
388
- return createSecureChannelId() ?? `ck_${Date.now()}_${Math.random().toString(16).slice(2)}`;
388
+ const id = createSecureChannelId();
389
+ if (id === null) {
390
+ throw new Error(
391
+ "ChatKit requires crypto.randomUUID or crypto.getRandomValues to generate secure UUIDs."
392
+ );
393
+ }
394
+ return id;
389
395
  }
390
396
  function isTrustedChatKitMessageEvent(event, { channelId, expectedOrigin, expectedSource }) {
391
397
  const payload = event.data;
@@ -750,6 +756,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
750
756
  "command.setThreadId",
751
757
  "command.focusComposer",
752
758
  "command.focusMessage",
759
+ "command.prepareLeave",
753
760
  "command.fetchUpdates",
754
761
  "command.sendCustomAction",
755
762
  "command.showHistory",
@@ -1043,6 +1050,14 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1043
1050
  left: 0
1044
1051
  };
1045
1052
  const DEFAULT_PET_STORAGE_KEY = "chatkit:pet:position:v1";
1053
+ function getPetAssetsBaseUrl(pet) {
1054
+ return pet && typeof pet === "object" ? pet.assetsBaseUrl : void 0;
1055
+ }
1056
+ function getPetAssetUrl(id, assetsBaseUrl) {
1057
+ const base = ((assetsBaseUrl == null ? void 0 : assetsBaseUrl.trim()) || "/pets").replace(/\/+$/, "");
1058
+ const resourceId = id;
1059
+ return `${base}/${encodeURIComponent(resourceId)}/spritesheet.webp`;
1060
+ }
1046
1061
  const DEFAULT_PET_SPRITESHEET_URL = "/pets/boba/spritesheet.webp";
1047
1062
  const DEFAULT_PET_CHARACTER = {
1048
1063
  type: "sprite-atlas",
@@ -1089,12 +1104,16 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1089
1104
  return DEFAULT_PET_CHARACTER;
1090
1105
  }
1091
1106
  function normalizePetOptions(pet) {
1107
+ var _a2;
1092
1108
  if (!pet) {
1093
1109
  return null;
1094
1110
  }
1095
1111
  if (pet === true) {
1096
1112
  return {
1097
- character: DEFAULT_PET_CHARACTER,
1113
+ character: {
1114
+ ...DEFAULT_PET_CHARACTER,
1115
+ src: getPetAssetUrl("boba")
1116
+ },
1098
1117
  position: DEFAULT_POSITION,
1099
1118
  behavior: "auto",
1100
1119
  ariaLabel: "Animated pet",
@@ -1105,7 +1124,10 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1105
1124
  return null;
1106
1125
  }
1107
1126
  return {
1108
- character: normalizeCharacter(pet.character),
1127
+ character: ((_a2 = pet.character) == null ? void 0 : _a2.src) ? normalizeCharacter(pet.character) : {
1128
+ ...DEFAULT_PET_CHARACTER,
1129
+ src: getPetAssetUrl("boba", pet.assetsBaseUrl)
1130
+ },
1109
1131
  position: {
1110
1132
  ...DEFAULT_POSITION,
1111
1133
  ...pet.position
@@ -2745,7 +2767,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2745
2767
  return value.apply(this, args);
2746
2768
  };
2747
2769
  }
2748
- class ChatKitElementBase extends (_c = HTMLElement, _focusComposer_dec = [requireCommandCapability], _fetchUpdates_dec = [requireCommandCapability], _sendUserMessage_dec = [requireCommandCapability], _setComposerValue_dec = [requireCommandCapability], _setRuntimeCapabilities_dec = [requireCommandCapability], _setThreadId_dec = [requireCommandCapability], _focusMessage_dec = [requireCommandCapability], _shareThread_dec = [requireCommandCapability], _sendCustomAction_dec = [requireCommandCapability], _showHistory_dec = [requireCommandCapability], _hideHistory_dec = [requireCommandCapability], _setTrainingOptOut_dec = [requireCommandCapability], _c) {
2770
+ class ChatKitElementBase extends (_c = HTMLElement, _focusComposer_dec = [requireCommandCapability], _fetchUpdates_dec = [requireCommandCapability], _sendUserMessage_dec = [requireCommandCapability], _setComposerValue_dec = [requireCommandCapability], _setRuntimeCapabilities_dec = [requireCommandCapability], _setThreadId_dec = [requireCommandCapability], _prepareLeave_dec = [requireCommandCapability], _focusMessage_dec = [requireCommandCapability], _shareThread_dec = [requireCommandCapability], _sendCustomAction_dec = [requireCommandCapability], _showHistory_dec = [requireCommandCapability], _hideHistory_dec = [requireCommandCapability], _setTrainingOptOut_dec = [requireCommandCapability], _c) {
2749
2771
  constructor({ profile }) {
2750
2772
  super();
2751
2773
  __runInitializers(_init, 5, this);
@@ -2865,6 +2887,10 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2865
2887
  }
2866
2888
  return connect(request);
2867
2889
  },
2890
+ onWorkbenchNavigationChange: async (navigation) => {
2891
+ var _a2, _b2, _c2;
2892
+ await ((_c2 = (_b2 = (_a2 = __privateGet(this, _opts)) == null ? void 0 : _a2.workbench) == null ? void 0 : _b2.onNavigationChange) == null ? void 0 : _c2.call(_b2, navigation));
2893
+ },
2868
2894
  onWorkbenchClientCommand: async ({
2869
2895
  commandKey,
2870
2896
  payload,
@@ -3287,6 +3313,11 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
3287
3313
  await __privateGet(this, _loaded);
3288
3314
  await ((_a2 = __privateGet(this, _messenger)) == null ? void 0 : _a2.commands.setThreadId({ threadId }));
3289
3315
  }
3316
+ async prepareLeave() {
3317
+ await __privateGet(this, _loaded);
3318
+ if (!__privateGet(this, _messenger)) return false;
3319
+ return __privateGet(this, _messenger).commands.prepareLeave();
3320
+ }
3290
3321
  async focusMessage(request) {
3291
3322
  await __privateGet(this, _loaded);
3292
3323
  if (!__privateGet(this, _messenger)) return { success: false, code: "not_ready" };
@@ -3356,7 +3387,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
3356
3387
  return null;
3357
3388
  }
3358
3389
  if (__privateMethod(this, _ChatKitElementBase_instances, getDisplayMode_fn).call(this, options) === "pet" && !normalizePetOptions(options.pet ?? null)) {
3359
- return true;
3390
+ return typeof options.pet === "object" ? { ...options.pet, enabled: true } : true;
3360
3391
  }
3361
3392
  return options.pet ?? null;
3362
3393
  };
@@ -3414,7 +3445,11 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
3414
3445
  }
3415
3446
  };
3416
3447
  resolveOverlayPetOptions_fn = function(pet) {
3417
- const normalized = normalizePetOptions(pet ?? null);
3448
+ var _a2;
3449
+ const assetsBaseUrl = getPetAssetsBaseUrl(pet ?? void 0) ?? getPetAssetsBaseUrl((_a2 = __privateGet(this, _opts)) == null ? void 0 : _a2.pet);
3450
+ const normalized = normalizePetOptions(
3451
+ pet ? { ...pet === true ? {} : pet, assetsBaseUrl } : null
3452
+ );
3418
3453
  if (!normalized) {
3419
3454
  return null;
3420
3455
  }
@@ -3560,6 +3595,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
3560
3595
  __decorateElement(_init, 1, "setComposerValue", _setComposerValue_dec, ChatKitElementBase);
3561
3596
  __decorateElement(_init, 1, "setRuntimeCapabilities", _setRuntimeCapabilities_dec, ChatKitElementBase);
3562
3597
  __decorateElement(_init, 1, "setThreadId", _setThreadId_dec, ChatKitElementBase);
3598
+ __decorateElement(_init, 1, "prepareLeave", _prepareLeave_dec, ChatKitElementBase);
3563
3599
  __decorateElement(_init, 1, "focusMessage", _focusMessage_dec, ChatKitElementBase);
3564
3600
  __decorateElement(_init, 1, "shareThread", _shareThread_dec, ChatKitElementBase);
3565
3601
  __decorateElement(_init, 1, "sendCustomAction", _sendCustomAction_dec, ChatKitElementBase);