@kizenapps/engine 1.11.1 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +13 -12
  2. package/dist/{ThirdPartyScript-DxPk6YJY.d.ts → ThirdPartyScript-Dxo1d6pb.d.ts} +6 -1
  3. package/dist/{automation-CD_ngwWI.d.ts → automation-BRhJ-nBe.d.ts} +14 -3
  4. package/dist/{blocks-BBTnzHmZ.d.ts → blocks-DBikV-mf.d.ts} +2 -2
  5. package/dist/{chunk-UWIG4AB5.js → chunk-2L5CUT2K.js} +25 -5
  6. package/dist/chunk-2L5CUT2K.js.map +1 -0
  7. package/dist/{chunk-G2NKNYIW.js → chunk-7LXL642K.js} +3 -3
  8. package/dist/{chunk-G2NKNYIW.js.map → chunk-7LXL642K.js.map} +1 -1
  9. package/dist/{chunk-LSM2NTKZ.js → chunk-BZPMSCI2.js} +3 -3
  10. package/dist/{chunk-LSM2NTKZ.js.map → chunk-BZPMSCI2.js.map} +1 -1
  11. package/dist/{chunk-WV77RVUT.js → chunk-GS77YCJF.js} +3 -3
  12. package/dist/{chunk-WV77RVUT.js.map → chunk-GS77YCJF.js.map} +1 -1
  13. package/dist/{chunk-LYKZHCPQ.js → chunk-NMMQXZBP.js} +4 -4
  14. package/dist/{chunk-LYKZHCPQ.js.map → chunk-NMMQXZBP.js.map} +1 -1
  15. package/dist/{chunk-KHXC4SGQ.js → chunk-PMQSEOMC.js} +3 -3
  16. package/dist/{chunk-KHXC4SGQ.js.map → chunk-PMQSEOMC.js.map} +1 -1
  17. package/dist/{chunk-GQ7WYSE4.js → chunk-R5IVGQA6.js} +10 -6
  18. package/dist/chunk-R5IVGQA6.js.map +1 -0
  19. package/dist/{chunk-6Z6FQRKC.js → chunk-RBWOVNFL.js} +35 -6
  20. package/dist/chunk-RBWOVNFL.js.map +1 -0
  21. package/dist/{chunk-Q7FEQQWE.js → chunk-ZWPTYU2F.js} +25 -4
  22. package/dist/chunk-ZWPTYU2F.js.map +1 -0
  23. package/dist/communication.d.ts +2 -2
  24. package/dist/communication.js +2 -2
  25. package/dist/contexts/base.d.ts +4 -2
  26. package/dist/contexts/base.js +4 -4
  27. package/dist/contexts/floatingFrame.d.ts +1 -1
  28. package/dist/contexts/floatingFrame.js +5 -5
  29. package/dist/contexts/recordDetail.d.ts +1 -1
  30. package/dist/contexts/recordDetail.js +5 -5
  31. package/dist/index.d.ts +7 -7
  32. package/dist/index.js +4 -4
  33. package/dist/react.d.ts +10 -5
  34. package/dist/react.js +57 -24
  35. package/dist/react.js.map +1 -1
  36. package/dist/types.d.ts +10 -6
  37. package/dist/util.d.ts +3 -3
  38. package/dist/util.js +6 -6
  39. package/dist/{values-DQ_YX6nj.d.ts → values-DmI_IQAH.d.ts} +2 -2
  40. package/dist/workers/calendarSource.worker.js +7 -6
  41. package/dist/workers/calendarSource.worker.js.map +1 -1
  42. package/dist/workers/floatingFrame.worker.js +8 -7
  43. package/dist/workers/floatingFrame.worker.js.map +1 -1
  44. package/dist/workers/generic.worker.js +7 -6
  45. package/dist/workers/generic.worker.js.map +1 -1
  46. package/dist/workers/recordDetail.worker.js +8 -7
  47. package/dist/workers/recordDetail.worker.js.map +1 -1
  48. package/package.json +1 -1
  49. package/dist/chunk-6Z6FQRKC.js.map +0 -1
  50. package/dist/chunk-GQ7WYSE4.js.map +0 -1
  51. package/dist/chunk-Q7FEQQWE.js.map +0 -1
  52. package/dist/chunk-UWIG4AB5.js.map +0 -1
@@ -35,7 +35,8 @@ var ACTIONS = {
35
35
  CLOSE_MODAL_REQUEST: "closemodal:request",
36
36
  CONSOLE_LOG: "consolelog",
37
37
  RUN_EVENT_SCRIPT: "runeventscript",
38
- COMPLETE_SETUP_REQUEST: "completesetup:request"
38
+ COMPLETE_SETUP_REQUEST: "completesetup:request",
39
+ LAUNCH_CODING_ASSISTANT_REQUEST: "launchcodingassistant:request"
39
40
  };
40
41
  var RESPONSES = {
41
42
  QUERY_RESPONSE: "query:response",
@@ -48,8 +49,11 @@ var RESPONSES = {
48
49
  REFRESH_ENTITY_RESPONSE: "refreshentity:response",
49
50
  CREATE_RECORD_RESPONSE: "createrecord:response",
50
51
  CREATE_RELATED_RECORD_RESPONSE: "createrelatedrecord:response",
51
- COMPLETE_SETUP_RESPONSE: "completesetup:response"
52
+ COMPLETE_SETUP_RESPONSE: "completesetup:response",
53
+ LAUNCH_CODING_ASSISTANT_RESPONSE: "launchcodingassistant:response"
52
54
  };
55
+ var CODING_ASSISTANT_PROFILES = ["business-app"];
56
+ var CODING_ASSISTANT_PROMPT_MAX_LENGTH = 1e4;
53
57
  var COMMUNICATIONS = {
54
58
  RUN_FRAME_SCRIPT: "runframescript",
55
59
  RUN_BLOCK_SCRIPT: "runblockscript",
@@ -66,7 +70,7 @@ var INDICATOR_TYPE = /* @__PURE__ */ ((INDICATOR_TYPE2) => {
66
70
  var ROUTE_CHANGE_INTERNAL_EVENT = "integration:route-change";
67
71
  var ROUTE_CHANGE_IFRAME_EVENT = "kizen-route-change";
68
72
  var IFRAME_PREFIX = "kzn-integration-frame";
69
- var PKG_VERSION = "1.11.1";
73
+ var PKG_VERSION = "1.12.0";
70
74
  var BASE_QUERY_KEY = ["__plugin_engine", PKG_VERSION];
71
75
  var QUERY_KEYS = {
72
76
  CALENDAR_SOURCE_CALENDAR_LIST: (pluginApiName, sourceApiName) => [...BASE_QUERY_KEY, "calendar-source", "calendar-list", pluginApiName, sourceApiName],
@@ -174,6 +178,6 @@ var ThirdPartyScript = class {
174
178
  }
175
179
  };
176
180
 
177
- export { ACTIONS, COMMUNICATIONS, IFRAME_PREFIX, INDICATOR_TYPE, QUERY_KEYS, RESPONSES, ROUTE_CHANGE_IFRAME_EVENT, ROUTE_CHANGE_INTERNAL_EVENT, ThirdPartyScript, getScriptIntegrationType, thirdPartyGlobalNames, thirdPartyReadyPredicates, thirdPartySetupScripts };
178
- //# sourceMappingURL=chunk-GQ7WYSE4.js.map
179
- //# sourceMappingURL=chunk-GQ7WYSE4.js.map
181
+ export { ACTIONS, CODING_ASSISTANT_PROFILES, CODING_ASSISTANT_PROMPT_MAX_LENGTH, COMMUNICATIONS, IFRAME_PREFIX, INDICATOR_TYPE, QUERY_KEYS, RESPONSES, ROUTE_CHANGE_IFRAME_EVENT, ROUTE_CHANGE_INTERNAL_EVENT, ThirdPartyScript, getScriptIntegrationType, thirdPartyGlobalNames, thirdPartyReadyPredicates, thirdPartySetupScripts };
182
+ //# sourceMappingURL=chunk-R5IVGQA6.js.map
183
+ //# sourceMappingURL=chunk-R5IVGQA6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/communication/constants.ts","../src/communication/ThirdPartyScript.ts"],"names":["INDICATOR_TYPE"],"mappings":"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","file":"chunk-R5IVGQA6.js","sourcesContent":["import type { CodingAssistantProfile } from '../types/contexts.js';\n\nexport const ACTIONS = {\n QUERY_REQUEST: 'query:request',\n UI_OUTPUT: 'outputui',\n IFRAME_OUTPUT: 'iframeoutput',\n POSTFORMDATA_REQUEST: 'postformdata:request',\n SETSTATE: 'setstate',\n DONE: 'done',\n RUN: 'run',\n OPEN_WINDOW: 'openwindow',\n COMMUNICATE: 'communicate',\n HIDE: 'hide',\n SHOW: 'show',\n EXPAND: 'expand',\n COLLAPSE: 'collapse',\n HIDE_HEADER: 'hideheader',\n SHOW_HEADER: 'showheader',\n OPEN_CREATE_RECORD_MODAL_REQUEST: 'opencreaterecordmodal:request',\n OPEN_CREATE_RELATED_RECORD_MODAL_REQUEST: 'opencreaterelatedrecordmodal:request',\n SHOW_TOAST: 'showtoast',\n CLEAR_TOASTS: 'cleartoasts',\n REFRESH_TIMELINE: 'refreshtimeline',\n REFRESH_ENTITY: 'refreshentity',\n UPLOADFILE_REQUEST: 'uploadfile:request',\n UPDATE_SESSION_DATA: 'updatesessiondata',\n INSTALL_THIRD_PARTY_SCRIPT_REQUEST: 'installthirdpartyscript:request',\n PROMPT_REQUEST: 'prompt:request',\n // Note: We have a special request for dynamic prompts, but the regular response is sufficient\n // and no special dynamic one is needed\n DYNAMIC_PROMPT_REQUEST: 'dynamicprompt:request',\n RELEASE_BLOCKING_SCRIPT: 'releaseblockingscript',\n AUTHORIZE: 'authorize',\n COPY_TO_CLIPBOARD: 'copytoclipboard',\n SHOW_VIEW_IN_MODAL_REQUEST: 'showviewinmodal:request',\n CLOSE_MODAL_REQUEST: 'closemodal:request',\n CONSOLE_LOG: 'consolelog',\n RUN_EVENT_SCRIPT: 'runeventscript',\n COMPLETE_SETUP_REQUEST: 'completesetup:request',\n LAUNCH_CODING_ASSISTANT_REQUEST: 'launchcodingassistant:request',\n};\n\nexport const RESPONSES = {\n QUERY_RESPONSE: 'query:response',\n POSTFORMDATA_RESPONSE: 'postformdata:response',\n ERROR: 'error',\n UPLOADFILE_RESPONSE: 'uploadfile:response',\n UPLOADFILE_PROGRESS: 'uploadfile:progress',\n INSTALL_THIRD_PARTY_SCRIPT_RESPONSE: 'installthirdpartyscript:response',\n PROMPT_RESPONSE: 'prompt:response',\n REFRESH_ENTITY_RESPONSE: 'refreshentity:response',\n CREATE_RECORD_RESPONSE: 'createrecord:response',\n CREATE_RELATED_RECORD_RESPONSE: 'createrelatedrecord:response',\n COMPLETE_SETUP_RESPONSE: 'completesetup:response',\n LAUNCH_CODING_ASSISTANT_RESPONSE: 'launchcodingassistant:response',\n};\n\n/*\n * Profiles a plugin can open the coding assistant (KiCode) with via\n * `this.launchCodingAssistant`. The host decides whether it supports a profile.\n */\nexport const CODING_ASSISTANT_PROFILES: readonly CodingAssistantProfile[] = ['business-app'];\n\n/*\n * Maximum length (String.length, i.e. UTF-16 code units) of the initial prompt\n * passed to `this.launchCodingAssistant`. Longer prompts resolve `false`.\n */\nexport const CODING_ASSISTANT_PROMPT_MAX_LENGTH = 10000;\n\nexport const COMMUNICATIONS = {\n RUN_FRAME_SCRIPT: 'runframescript',\n RUN_BLOCK_SCRIPT: 'runblockscript',\n SEND_MESSAGE_TO_FRAME: 'sendmessagetoframe',\n CALL_THIRD_PARTY_SCRIPT: 'callthirdpartyscript',\n};\n\nexport enum INDICATOR_TYPE {\n NONE = 'none',\n BLOCK = 'block',\n BUTTON = 'button',\n SPINNER = 'spinner',\n}\n\nexport const ROUTE_CHANGE_INTERNAL_EVENT = 'integration:route-change';\nexport const ROUTE_CHANGE_IFRAME_EVENT = 'kizen-route-change';\nexport const IFRAME_PREFIX = 'kzn-integration-frame';\n\nconst PKG_VERSION = __PKG_VERSION__;\n\nconst BASE_QUERY_KEY = ['__plugin_engine', PKG_VERSION] as const;\n\nexport const QUERY_KEYS = {\n CALENDAR_SOURCE_CALENDAR_LIST: (pluginApiName: string, sourceApiName: string) =>\n [...BASE_QUERY_KEY, 'calendar-source', 'calendar-list', pluginApiName, sourceApiName] as const,\n CALENDAR_SOURCE_EVENTS: (\n pluginApiName: string,\n sourceApiName: string,\n calendarId: string,\n params: unknown,\n ) =>\n [\n ...BASE_QUERY_KEY,\n 'calendar-source',\n 'events',\n pluginApiName,\n sourceApiName,\n calendarId,\n params,\n ] as const,\n};\n","import type { Instance } from '../types/contexts.js';\nimport { ACTIONS, COMMUNICATIONS } from './constants.js';\n\nconst freshWorksPattern = /https:\\/\\/.*widget\\.freshworks\\.com\\/.*\\.js/;\nconst intercomPattern = /https:\\/\\/widget\\.intercom\\.io\\/widget\\/[a-z0-9]+/;\n\nexport const ALLOWED_INTEGRATIONS = {\n FRESHWORKS: 'freshworks',\n INTERCOM: 'intercom',\n} as const;\n\n/*\n Third party scripts must match an approved regex, and arbitrary scripts cannot be\n loaded by a plugin if they do not.\n*/\nexport const getScriptIntegrationType = (\n scriptUrl: string,\n): (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS] | undefined => {\n if (freshWorksPattern.test(scriptUrl)) {\n return ALLOWED_INTEGRATIONS.FRESHWORKS;\n }\n\n if (intercomPattern.test(scriptUrl)) {\n return ALLOWED_INTEGRATIONS.INTERCOM;\n }\n};\n\n/* \n The global name of the third-party integration. This is the variable where the\n integration code can be called from. For example, if the third-party integration\n is 'Freshworks', function calls will be made like window.FreshworksWidget(...args).\n*/\nexport const thirdPartyGlobalNames = {\n [ALLOWED_INTEGRATIONS.FRESHWORKS]: 'FreshworksWidget',\n [ALLOWED_INTEGRATIONS.INTERCOM]: 'Intercom',\n};\n\n/*\n For a predefined third-party integration, the setup script will be run\n BEFORE the third party javascript has been loaded.\n*/\nexport const thirdPartySetupScripts = {\n [ALLOWED_INTEGRATIONS.FRESHWORKS]: (args: Record<string, unknown>) => {\n (window as unknown as Record<string, unknown>).fwSettings = {\n widget_id: args.widgetId,\n };\n\n // Function adapted from https://developers.freshdesk.com/widget-api/#introduction\n (function (...rest) {\n if (\n 'function' !=\n typeof (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.FRESHWORKS]\n ]\n ) {\n const n: { q: unknown[]; __kizen_pending?: boolean } = function () {\n n.q.push(...rest);\n };\n\n n.__kizen_pending = true;\n\n // eslint-disable-next-line\n ((n.q = []), ((window as any)[thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.FRESHWORKS]] = n));\n }\n })();\n },\n // Function adapted from https://developers.intercom.com/installing-intercom/web/installation\n [ALLOWED_INTEGRATIONS.INTERCOM]: () => {\n (function () {\n if (\n 'function' !=\n typeof (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.INTERCOM]\n ]\n ) {\n const w = window as unknown as Record<string, unknown>;\n const i: { c: (args: unknown) => void; q: unknown[]; __kizen_pending?: boolean } =\n function () {\n // eslint-disable-next-line prefer-rest-params\n i.c(arguments);\n };\n\n i.q = [];\n i.c = function (args: unknown) {\n i.q.push(args);\n };\n\n i.__kizen_pending = true;\n\n w[thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.INTERCOM]] = i;\n }\n })();\n },\n};\n\n/*\n For a predefined third-party integration, the ready predicate will be run\n AFTER the third party javascript has been loaded, but before the worker has been\n notified that it is ready. This is optional, but gives a chance to wait for an arbitrary\n condition to be met before considering the third-party code initialized successfully.\n*/\nexport const thirdPartyReadyPredicates = {\n [ALLOWED_INTEGRATIONS.FRESHWORKS]: () => {\n return (\n (\n (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.FRESHWORKS]\n ] as { __kizen_pending?: boolean } | undefined\n )?.__kizen_pending !== true\n );\n },\n [ALLOWED_INTEGRATIONS.INTERCOM]: () => {\n return (\n (\n (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.INTERCOM]\n ] as { __kizen_pending?: boolean } | undefined\n )?.__kizen_pending !== true\n );\n },\n};\n\nexport class ThirdPartyScript {\n private instance: Instance;\n private scriptUrl: string;\n private integration: (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS];\n\n constructor(instance: Instance, scriptUrl: string) {\n this.instance = instance;\n this.scriptUrl = scriptUrl;\n const type = getScriptIntegrationType(scriptUrl);\n\n if (type) {\n this.integration = type;\n } else {\n throw new Error(`Error: Disallowed script url: ${scriptUrl}`);\n }\n }\n\n get type(): (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS] {\n return this.integration;\n }\n\n public call(...params: unknown[]): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.CALL_THIRD_PARTY_SCRIPT,\n eventName: `thirdParty:${COMMUNICATIONS.CALL_THIRD_PARTY_SCRIPT}`,\n recipient: {\n script: this.scriptUrl,\n type: this.type,\n },\n params,\n }),\n );\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { getPartialLocation, generateUUIDV4 } from './chunk-KHXC4SGQ.js';
2
- import { getAllNestedInputsFromConfig, buildIframeURLWithProxy, getParentFrameAllowParam, deserializeConsoleArg, KizenRequestError, filterSandboxList, filterAllowList } from './chunk-Q7FEQQWE.js';
3
- import { IFRAME_PREFIX, ACTIONS, RESPONSES, COMMUNICATIONS, thirdPartyGlobalNames, getScriptIntegrationType, thirdPartySetupScripts, thirdPartyReadyPredicates } from './chunk-GQ7WYSE4.js';
1
+ import { getPartialLocation, generateUUIDV4 } from './chunk-PMQSEOMC.js';
2
+ import { getAllNestedInputsFromConfig, buildIframeURLWithProxy, getParentFrameAllowParam, deserializeConsoleArg, KizenRequestError, filterSandboxList, filterAllowList, isValidCodingAssistantRequest } from './chunk-ZWPTYU2F.js';
3
+ import { IFRAME_PREFIX, ACTIONS, RESPONSES, COMMUNICATIONS, thirdPartyGlobalNames, getScriptIntegrationType, thirdPartySetupScripts, thirdPartyReadyPredicates } from './chunk-R5IVGQA6.js';
4
4
  import { __commonJS, __toESM } from './chunk-5WRI5ZAA.js';
5
5
  import DOMPurify from 'dompurify';
6
6
 
@@ -1892,6 +1892,7 @@ var WorkerManager = class {
1892
1892
  frameId;
1893
1893
  onShowToast;
1894
1894
  onClearToasts;
1895
+ onLaunchCodingAssistant;
1895
1896
  sessionData = {};
1896
1897
  setSessionData;
1897
1898
  pluginComponentId;
@@ -1927,6 +1928,7 @@ var WorkerManager = class {
1927
1928
  this.executionPlugin = args.executionPlugin;
1928
1929
  this.onShowToast = args.onShowToast;
1929
1930
  this.onClearToasts = args.onClearToasts;
1931
+ this.onLaunchCodingAssistant = args.onLaunchCodingAssistant;
1930
1932
  this.pluginComponentId = args.pluginComponentId;
1931
1933
  this.onShowModal = args.onShowModal;
1932
1934
  this.onCloseModal = args.onCloseModal;
@@ -2116,6 +2118,15 @@ var WorkerManager = class {
2116
2118
  this.clearToasts();
2117
2119
  return;
2118
2120
  }
2121
+ case ACTIONS.LAUNCH_CODING_ASSISTANT_REQUEST: {
2122
+ const consideredEvent = event;
2123
+ await this.handleLaunchCodingAssistantRequest(
2124
+ consideredEvent.id,
2125
+ consideredEvent.profile,
2126
+ consideredEvent.initialPrompt
2127
+ );
2128
+ return;
2129
+ }
2119
2130
  case ACTIONS.REFRESH_TIMELINE: {
2120
2131
  const consideredEvent = event;
2121
2132
  this.handleRefreshTimeline(consideredEvent.entityId);
@@ -2365,6 +2376,22 @@ var WorkerManager = class {
2365
2376
  clearToasts = () => {
2366
2377
  this.onClearToasts?.();
2367
2378
  };
2379
+ // Always answers the worker with a boolean: a missing handler, invalid arguments,
2380
+ // or a handler that throws or rejects all resolve the plugin's call to `false`.
2381
+ // The arguments are re-validated here because the worker runs plugin code and
2382
+ // could post this request directly.
2383
+ handleLaunchCodingAssistantRequest = async (id, profile, initialPrompt) => {
2384
+ let opened = false;
2385
+ if (this.onLaunchCodingAssistant && isValidCodingAssistantRequest(profile, initialPrompt)) {
2386
+ try {
2387
+ const result = await this.onLaunchCodingAssistant({ profile, initialPrompt });
2388
+ opened = result === true;
2389
+ } catch {
2390
+ opened = false;
2391
+ }
2392
+ }
2393
+ this.postMessage(RESPONSES.LAUNCH_CODING_ASSISTANT_RESPONSE, { id, data: opened });
2394
+ };
2368
2395
  copyToClipboard = async (text) => {
2369
2396
  try {
2370
2397
  await navigator.clipboard.writeText(text);
@@ -2682,6 +2709,7 @@ var runScript = async ({
2682
2709
  plugin,
2683
2710
  onShowToast,
2684
2711
  onClearToasts,
2712
+ onLaunchCodingAssistant,
2685
2713
  terminators,
2686
2714
  executionPlugin,
2687
2715
  sessionData,
@@ -2763,6 +2791,7 @@ var runScript = async ({
2763
2791
  executionPlugin,
2764
2792
  onShowToast,
2765
2793
  onClearToasts,
2794
+ onLaunchCodingAssistant,
2766
2795
  sessionData,
2767
2796
  setSessionData,
2768
2797
  pluginComponentId: componentId,
@@ -2882,8 +2911,8 @@ var modalSize = {
2882
2911
  };
2883
2912
 
2884
2913
  // src/index.ts
2885
- var version = "1.11.1";
2914
+ var version = "1.12.0";
2886
2915
 
2887
2916
  export { clearNavigationContext, consumeNavigationContext, flattenReservedState, forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, modalSize, pluginMapper, readNavigationContext, reduceEnabledResults, replaceConfigValues, runExpression, runObjectExpression, runOptionExpression, runScript, runStringExpression, version };
2888
- //# sourceMappingURL=chunk-6Z6FQRKC.js.map
2889
- //# sourceMappingURL=chunk-6Z6FQRKC.js.map
2917
+ //# sourceMappingURL=chunk-RBWOVNFL.js.map
2918
+ //# sourceMappingURL=chunk-RBWOVNFL.js.map