@kizenapps/engine 1.5.0-53bcfe4 → 1.5.0-e6096af

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 (43) hide show
  1. package/dist/{ThirdPartyScript-cM_3Ut1L.d.ts → ThirdPartyScript-DVgjFFyS.d.ts} +10 -1
  2. package/dist/{automation-DdbPK8-Z.d.ts → automation-CRWtgS0X.d.ts} +1 -1
  3. package/dist/{chunk-D54DBKHM.js → chunk-3GR5AB3F.js} +15 -7
  4. package/dist/chunk-3GR5AB3F.js.map +1 -0
  5. package/dist/{chunk-6EG3BV5X.js → chunk-FXBESMDZ.js} +5 -5
  6. package/dist/{chunk-6EG3BV5X.js.map → chunk-FXBESMDZ.js.map} +1 -1
  7. package/dist/{chunk-DQECJSHA.js → chunk-KZS4W7PY.js} +3 -3
  8. package/dist/{chunk-DQECJSHA.js.map → chunk-KZS4W7PY.js.map} +1 -1
  9. package/dist/{chunk-ETFBGH26.js → chunk-OH5QH6NZ.js} +3 -3
  10. package/dist/{chunk-ETFBGH26.js.map → chunk-OH5QH6NZ.js.map} +1 -1
  11. package/dist/{chunk-36G3L5ZV.js → chunk-ONOMSP4K.js} +3 -3
  12. package/dist/{chunk-36G3L5ZV.js.map → chunk-ONOMSP4K.js.map} +1 -1
  13. package/dist/{chunk-ANAHYJTV.js → chunk-OU6UP7IR.js} +3 -3
  14. package/dist/{chunk-ANAHYJTV.js.map → chunk-OU6UP7IR.js.map} +1 -1
  15. package/dist/{chunk-4MQ4E7D6.js → chunk-PU3QT2HI.js} +3 -3
  16. package/dist/{chunk-4MQ4E7D6.js.map → chunk-PU3QT2HI.js.map} +1 -1
  17. package/dist/{chunk-MQCYS74W.js → chunk-TSA55WPN.js} +4 -4
  18. package/dist/{chunk-MQCYS74W.js.map → chunk-TSA55WPN.js.map} +1 -1
  19. package/dist/{chunk-Q7UJXNJH.js → chunk-YKHL4H5I.js} +3 -3
  20. package/dist/{chunk-Q7UJXNJH.js.map → chunk-YKHL4H5I.js.map} +1 -1
  21. package/dist/communication.d.ts +2 -2
  22. package/dist/communication.js +2 -2
  23. package/dist/contexts/base.d.ts +1 -1
  24. package/dist/contexts/base.js +4 -4
  25. package/dist/contexts/floatingFrame.d.ts +1 -1
  26. package/dist/contexts/floatingFrame.js +5 -5
  27. package/dist/contexts/recordDetail.d.ts +1 -1
  28. package/dist/contexts/recordDetail.js +5 -5
  29. package/dist/{generic-CCLPwofS.d.ts → generic-FaDES8rA.d.ts} +1 -1
  30. package/dist/index.d.ts +5 -5
  31. package/dist/index.js +4 -4
  32. package/dist/react.d.ts +4 -4
  33. package/dist/react.js +5 -5
  34. package/dist/types.d.ts +5 -5
  35. package/dist/util.d.ts +3 -3
  36. package/dist/util.js +5 -5
  37. package/dist/{values-BA8dwWnM.d.ts → values-Ds-qJB6k.d.ts} +2 -2
  38. package/dist/workers/calendarSource.worker.js +6 -6
  39. package/dist/workers/floatingFrame.worker.js +7 -7
  40. package/dist/workers/generic.worker.js +6 -6
  41. package/dist/workers/recordDetail.worker.js +7 -7
  42. package/package.json +1 -1
  43. package/dist/chunk-D54DBKHM.js.map +0 -1
@@ -100,6 +100,12 @@ declare class WorkerPromise {
100
100
  reject(id: string, reason?: unknown): void;
101
101
  }
102
102
 
103
+ declare const modalSize: {
104
+ readonly small: 400;
105
+ readonly medium: 900;
106
+ readonly large: 1200;
107
+ };
108
+ type ModalSize = keyof typeof modalSize;
103
109
  interface ButtonConfig {
104
110
  label: string;
105
111
  variant?: 'text' | 'standard';
@@ -163,12 +169,14 @@ interface ModalConfig {
163
169
  dynamic?: boolean;
164
170
  pluginApiName?: string;
165
171
  frameless?: boolean;
172
+ size?: ModalSize;
166
173
  }
167
174
  interface ShowViewInModalOptions {
168
175
  title?: string;
169
176
  confirmButton?: ButtonConfig;
170
177
  cancelButton?: ButtonConfig;
171
178
  frameless?: boolean;
179
+ size?: ModalSize;
172
180
  }
173
181
  interface DynamicPromptConfig {
174
182
  title?: string;
@@ -176,6 +184,7 @@ interface DynamicPromptConfig {
176
184
  cancelButton?: ButtonConfig;
177
185
  content?: ModalBlock[];
178
186
  registerUtils?: Record<string, (...args: unknown[]) => unknown>;
187
+ size?: ModalSize;
179
188
  }
180
189
  type PromptState = Record<string, unknown>;
181
190
  type ShowViewInModalFn = (id: string, config?: {
@@ -514,4 +523,4 @@ declare class ThirdPartyScript {
514
523
  call(...params: unknown[]): void;
515
524
  }
516
525
 
517
- export { type CurriedRefreshEntityFn as $, type Args as A, type BaseAPI as B, type CurrentUser as C, type DataCache as D, type CleanValueStoreType as E, type CloseModalFn as F, type GetOptions as G, type ConfigService as H, type Instance as I, type ConsoleLogLevel as J, type CreateRecordModalQueue as K, type CreateRelatedRecordModalQueue as L, type ModalConfig as M, type CurriedCloseModalFn as N, type CurriedDynamicPromptFn as O, type PartialEntity as P, type CurriedInstallThirdPartyScriptFn as Q, type RequestWithErrorsResponse as R, type StateChangePayload as S, ThirdPartyScript as T, type UnknownJSON as U, type CurriedKizenRequestFn as V, type WorkerContextArgs as W, type CurriedOpenCreateRecordFn as X, type CurriedOpenCreateRelatedRecordFn as Y, type CurriedPostFormDataFn as Z, type CurriedPromptFn as _, type PartialCustomObject as a, KizenRequestError as a$, type CurriedShowViewInModalFn as a0, type CurriedUploadFileFn as a1, type CustomObjectCleanValue as a2, type CustomObjectValueStore as a3, type DataCacheEntry as a4, type DeleteReturnValue as a5, type DynamicPromptFn as a6, type EmployeeConfig as a7, type ErrorHandler as a8, type ErrorResponse as a9, type OnShowModalFn as aA, type OpenCreateRecordFn as aB, type OpenCreateRelatedRecordFn as aC, type PartialRelatedObject as aD, type PatchReturnValue as aE, type PostFormDataPayload as aF, type PostReturnValue as aG, type Profile as aH, type PromiseMap as aI, type PromiseReject as aJ, type PromiseResolve as aK, type PromiseState as aL, type PromptFn as aM, type PutReturnValue as aN, type RefreshEntityFn as aO, type ReleaseBlockingScriptHandler as aP, type SelectCleanValue as aQ, type SelectValueStore as aR, type SetInternalSessionDataFn as aS, type SetupAssistantConfig as aT, type ShowViewInModalFn as aU, type TextValueStore as aV, type UnknownFunction as aW, type UploadFileData as aX, type UploadFileFn as aY, type UserConfig as aZ, type ValueStore as a_, type FieldCleanValue as aa, type FieldValueStore as ab, type GetReturnValue as ac, type InstallThirdPartyScriptFn as ad, type JSONArray as ae, type JSONObject as af, type JSONPrimitive as ag, type JSONValue as ah, type KizenConfig as ai, type KizenNetworkResponse as aj, type KizenProxySuccessResponse as ak, type KizenRequestFn as al, type KizenRequestFnHandler as am, type KnownArgs as an, type MatchSetupAssistantField as ao, type MaybeMessageError as ap, type ModalBlock as aq, type ModalCancelEventSource as ar, type ModalContainer as as, type ModalQueue as at, type NumberCleanValue as au, type NumberValueStore as av, type OnCloseModalFn as aw, type OnNetworkErrorFn as ax, type OnShowCreateRecordModalFn as ay, type OnShowCreateRelatedRecordModalFn as az, type PartialUser as b, ACTIONS as b0, ALLOWED_INTEGRATIONS as b1, IFRAME_PREFIX as b2, INDICATOR_TYPE as b3, type PartialTeamMember as c, type PartialBusiness as d, type PartialClientObject as e, type PostFormDataFn as f, type PromptState as g, type InternalSessionData as h, type PartialLocation as i, type RequestOptions as j, type ShowToastOptions as k, type ShowViewInModalOptions as l, type DynamicPromptConfig as m, type ConsoleBridge as n, type IncludeOption as o, type SetupAssistantField as p, type AppPlugin as q, type SelectOption as r, type AppPlugins as s, type AssistantConfigAction as t, type AssistantField as u, type AssistantLink as v, type BooleanCleanValue as w, type BooleanValueStore as x, type ButtonConfig as y, type CleanValueStore as z };
526
+ export { type CurriedRefreshEntityFn as $, type Args as A, type BaseAPI as B, type CurrentUser as C, type DataCache as D, type CleanValueStoreType as E, type CloseModalFn as F, type GetOptions as G, type ConfigService as H, type Instance as I, type ConsoleLogLevel as J, type CreateRecordModalQueue as K, type CreateRelatedRecordModalQueue as L, type ModalConfig as M, type CurriedCloseModalFn as N, type CurriedDynamicPromptFn as O, type PartialEntity as P, type CurriedInstallThirdPartyScriptFn as Q, type RequestWithErrorsResponse as R, type StateChangePayload as S, ThirdPartyScript as T, type UnknownJSON as U, type CurriedKizenRequestFn as V, type WorkerContextArgs as W, type CurriedOpenCreateRecordFn as X, type CurriedOpenCreateRelatedRecordFn as Y, type CurriedPostFormDataFn as Z, type CurriedPromptFn as _, type PartialCustomObject as a, type ValueStore as a$, type CurriedShowViewInModalFn as a0, type CurriedUploadFileFn as a1, type CustomObjectCleanValue as a2, type CustomObjectValueStore as a3, type DataCacheEntry as a4, type DeleteReturnValue as a5, type DynamicPromptFn as a6, type EmployeeConfig as a7, type ErrorHandler as a8, type ErrorResponse as a9, type OnShowCreateRelatedRecordModalFn as aA, type OnShowModalFn as aB, type OpenCreateRecordFn as aC, type OpenCreateRelatedRecordFn as aD, type PartialRelatedObject as aE, type PatchReturnValue as aF, type PostFormDataPayload as aG, type PostReturnValue as aH, type Profile as aI, type PromiseMap as aJ, type PromiseReject as aK, type PromiseResolve as aL, type PromiseState as aM, type PromptFn as aN, type PutReturnValue as aO, type RefreshEntityFn as aP, type ReleaseBlockingScriptHandler as aQ, type SelectCleanValue as aR, type SelectValueStore as aS, type SetInternalSessionDataFn as aT, type SetupAssistantConfig as aU, type ShowViewInModalFn as aV, type TextValueStore as aW, type UnknownFunction as aX, type UploadFileData as aY, type UploadFileFn as aZ, type UserConfig as a_, type FieldCleanValue as aa, type FieldValueStore as ab, type GetReturnValue as ac, type InstallThirdPartyScriptFn as ad, type JSONArray as ae, type JSONObject as af, type JSONPrimitive as ag, type JSONValue as ah, type KizenConfig as ai, type KizenNetworkResponse as aj, type KizenProxySuccessResponse as ak, type KizenRequestFn as al, type KizenRequestFnHandler as am, type KnownArgs as an, type MatchSetupAssistantField as ao, type MaybeMessageError as ap, type ModalBlock as aq, type ModalCancelEventSource as ar, type ModalContainer as as, type ModalQueue as at, type ModalSize as au, type NumberCleanValue as av, type NumberValueStore as aw, type OnCloseModalFn as ax, type OnNetworkErrorFn as ay, type OnShowCreateRecordModalFn as az, type PartialUser as b, modalSize as b0, KizenRequestError as b1, ACTIONS as b2, ALLOWED_INTEGRATIONS as b3, IFRAME_PREFIX as b4, INDICATOR_TYPE as b5, type PartialTeamMember as c, type PartialBusiness as d, type PartialClientObject as e, type PostFormDataFn as f, type PromptState as g, type InternalSessionData as h, type PartialLocation as i, type RequestOptions as j, type ShowToastOptions as k, type ShowViewInModalOptions as l, type DynamicPromptConfig as m, type ConsoleBridge as n, type IncludeOption as o, type SetupAssistantField as p, type AppPlugin as q, type SelectOption as r, type AppPlugins as s, type AssistantConfigAction as t, type AssistantField as u, type AssistantLink as v, type BooleanCleanValue as w, type BooleanValueStore as x, type ButtonConfig as y, type CleanValueStore as z };
@@ -1,4 +1,4 @@
1
- import { b0 as ACTIONS, U as UnknownJSON, b1 as ALLOWED_INTEGRATIONS, J as ConsoleLogLevel, M as ModalConfig, S as StateChangePayload, k as ShowToastOptions, h as InternalSessionData, l as ShowViewInModalOptions, aS as SetInternalSessionDataFn, aA as OnShowModalFn, ay as OnShowCreateRecordModalFn, az as OnShowCreateRelatedRecordModalFn, aw as OnCloseModalFn, ax as OnNetworkErrorFn, W as WorkerContextArgs, a7 as EmployeeConfig } from './ThirdPartyScript-cM_3Ut1L.js';
1
+ import { b2 as ACTIONS, U as UnknownJSON, b3 as ALLOWED_INTEGRATIONS, J as ConsoleLogLevel, M as ModalConfig, S as StateChangePayload, k as ShowToastOptions, h as InternalSessionData, l as ShowViewInModalOptions, aT as SetInternalSessionDataFn, aB as OnShowModalFn, az as OnShowCreateRecordModalFn, aA as OnShowCreateRelatedRecordModalFn, ax as OnCloseModalFn, ay as OnNetworkErrorFn, W as WorkerContextArgs, a7 as EmployeeConfig } from './ThirdPartyScript-DVgjFFyS.js';
2
2
  import { H as HideConfig, S as ShowConfig } from './floatingFrames-BzaoL7cq.js';
3
3
 
4
4
  interface CommonPluginDefinition {
@@ -1,6 +1,6 @@
1
- import { getPartialLocation, generateUUIDV4 } from './chunk-ANAHYJTV.js';
2
- import { getAllNestedInputsFromConfig, deserializeConsoleArg, KizenRequestError } from './chunk-36G3L5ZV.js';
3
- import { IFRAME_PREFIX, ACTIONS, RESPONSES, COMMUNICATIONS, thirdPartyGlobalNames, getScriptIntegrationType, thirdPartySetupScripts, thirdPartyReadyPredicates } from './chunk-DQECJSHA.js';
1
+ import { getPartialLocation, generateUUIDV4 } from './chunk-OU6UP7IR.js';
2
+ import { getAllNestedInputsFromConfig, deserializeConsoleArg, KizenRequestError } from './chunk-ONOMSP4K.js';
3
+ import { IFRAME_PREFIX, ACTIONS, RESPONSES, COMMUNICATIONS, thirdPartyGlobalNames, getScriptIntegrationType, thirdPartySetupScripts, thirdPartyReadyPredicates } from './chunk-KZS4W7PY.js';
4
4
  import { __commonJS, __toESM } from './chunk-5WRI5ZAA.js';
5
5
  import DOMPurify from 'dompurify';
6
6
 
@@ -2373,6 +2373,7 @@ var WorkerManager = class {
2373
2373
  viewId,
2374
2374
  ...args !== void 0 && { args },
2375
2375
  pluginApiName: this.pluginApiName ?? "",
2376
+ ...options?.size !== void 0 && { size: options.size },
2376
2377
  ...options?.frameless ? { frameless: true } : {
2377
2378
  ...options?.title !== void 0 && { title: options.title },
2378
2379
  ...options?.confirmButton !== void 0 && {
@@ -2646,9 +2647,16 @@ var runObjectExpression = async (expression, values) => {
2646
2647
  return result;
2647
2648
  };
2648
2649
 
2650
+ // src/types/modals.ts
2651
+ var modalSize = {
2652
+ small: 400,
2653
+ medium: 900,
2654
+ large: 1200
2655
+ };
2656
+
2649
2657
  // src/index.ts
2650
- var version = "1.5.0-53bcfe4";
2658
+ var version = "1.5.0-e6096af";
2651
2659
 
2652
- export { forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, pluginMapper, reduceEnabledResults, replaceConfigValues, runExpression, runObjectExpression, runOptionExpression, runScript, runStringExpression, version };
2653
- //# sourceMappingURL=chunk-D54DBKHM.js.map
2654
- //# sourceMappingURL=chunk-D54DBKHM.js.map
2660
+ export { forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, modalSize, pluginMapper, reduceEnabledResults, replaceConfigValues, runExpression, runObjectExpression, runOptionExpression, runScript, runStringExpression, version };
2661
+ //# sourceMappingURL=chunk-3GR5AB3F.js.map
2662
+ //# sourceMappingURL=chunk-3GR5AB3F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/.pnpm/jsonify@0.0.1/node_modules/jsonify/lib/parse.js","../node_modules/.pnpm/jsonify@0.0.1/node_modules/jsonify/lib/stringify.js","../node_modules/.pnpm/jsonify@0.0.1/node_modules/jsonify/index.js","../node_modules/.pnpm/isarray@2.0.5/node_modules/isarray/index.js","../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/isArguments.js","../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/implementation.js","../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/index.js","../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js","../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js","../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js","../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js","../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js","../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js","../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js","../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js","../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js","../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js","../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js","../node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js","../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js","../node_modules/.pnpm/json-stable-stringify@1.3.0/node_modules/json-stable-stringify/index.js","../src/util/encode.ts","../src/util/flags.ts","../src/util/values.ts","../src/WorkerManager.ts","../src/run.ts","../src/types/modals.ts","../src/index.ts"],"names":["exports","isNaN","require_implementation","concatty","slicy","Empty","undefined","doEval","stringToPath","getBaseIntrinsic","hasPropertyDescriptors","get","stringify","out"],"mappings":"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","file":"chunk-3GR5AB3F.js","sourcesContent":["'use strict';\n\nvar at; // The index of the current character\nvar ch; // The current character\nvar escapee = {\n\t'\"': '\"',\n\t'\\\\': '\\\\',\n\t'/': '/',\n\tb: '\\b',\n\tf: '\\f',\n\tn: '\\n',\n\tr: '\\r',\n\tt: '\\t'\n};\nvar text;\n\n// Call error when something is wrong.\nfunction error(m) {\n\tthrow {\n\t\tname: 'SyntaxError',\n\t\tmessage: m,\n\t\tat: at,\n\t\ttext: text\n\t};\n}\n\nfunction next(c) {\n\t// If a c parameter is provided, verify that it matches the current character.\n\tif (c && c !== ch) {\n\t\terror(\"Expected '\" + c + \"' instead of '\" + ch + \"'\");\n\t}\n\n\t// Get the next character. When there are no more characters, return the empty string.\n\n\tch = text.charAt(at);\n\tat += 1;\n\treturn ch;\n}\n\nfunction number() {\n\t// Parse a number value.\n\tvar num;\n\tvar str = '';\n\n\tif (ch === '-') {\n\t\tstr = '-';\n\t\tnext('-');\n\t}\n\twhile (ch >= '0' && ch <= '9') {\n\t\tstr += ch;\n\t\tnext();\n\t}\n\tif (ch === '.') {\n\t\tstr += '.';\n\t\twhile (next() && ch >= '0' && ch <= '9') {\n\t\t\tstr += ch;\n\t\t}\n\t}\n\tif (ch === 'e' || ch === 'E') {\n\t\tstr += ch;\n\t\tnext();\n\t\tif (ch === '-' || ch === '+') {\n\t\t\tstr += ch;\n\t\t\tnext();\n\t\t}\n\t\twhile (ch >= '0' && ch <= '9') {\n\t\t\tstr += ch;\n\t\t\tnext();\n\t\t}\n\t}\n\tnum = Number(str);\n\tif (!isFinite(num)) {\n\t\terror('Bad number');\n\t}\n\treturn num;\n}\n\nfunction string() {\n\t// Parse a string value.\n\tvar hex;\n\tvar i;\n\tvar str = '';\n\tvar uffff;\n\n\t// When parsing for string values, we must look for \" and \\ characters.\n\tif (ch === '\"') {\n\t\twhile (next()) {\n\t\t\tif (ch === '\"') {\n\t\t\t\tnext();\n\t\t\t\treturn str;\n\t\t\t} else if (ch === '\\\\') {\n\t\t\t\tnext();\n\t\t\t\tif (ch === 'u') {\n\t\t\t\t\tuffff = 0;\n\t\t\t\t\tfor (i = 0; i < 4; i += 1) {\n\t\t\t\t\t\thex = parseInt(next(), 16);\n\t\t\t\t\t\tif (!isFinite(hex)) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tuffff = (uffff * 16) + hex;\n\t\t\t\t\t}\n\t\t\t\t\tstr += String.fromCharCode(uffff);\n\t\t\t\t} else if (typeof escapee[ch] === 'string') {\n\t\t\t\t\tstr += escapee[ch];\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstr += ch;\n\t\t\t}\n\t\t}\n\t}\n\terror('Bad string');\n}\n\n// Skip whitespace.\nfunction white() {\n\twhile (ch && ch <= ' ') {\n\t\tnext();\n\t}\n}\n\n// true, false, or null.\nfunction word() {\n\tswitch (ch) {\n\t\tcase 't':\n\t\t\tnext('t');\n\t\t\tnext('r');\n\t\t\tnext('u');\n\t\t\tnext('e');\n\t\t\treturn true;\n\t\tcase 'f':\n\t\t\tnext('f');\n\t\t\tnext('a');\n\t\t\tnext('l');\n\t\t\tnext('s');\n\t\t\tnext('e');\n\t\t\treturn false;\n\t\tcase 'n':\n\t\t\tnext('n');\n\t\t\tnext('u');\n\t\t\tnext('l');\n\t\t\tnext('l');\n\t\t\treturn null;\n\t\tdefault:\n\t\t\terror(\"Unexpected '\" + ch + \"'\");\n\t}\n}\n\n// Parse an array value.\nfunction array() {\n\tvar arr = [];\n\n\tif (ch === '[') {\n\t\tnext('[');\n\t\twhite();\n\t\tif (ch === ']') {\n\t\t\tnext(']');\n\t\t\treturn arr; // empty array\n\t\t}\n\t\twhile (ch) {\n\t\t\tarr.push(value()); // eslint-disable-line no-use-before-define\n\t\t\twhite();\n\t\t\tif (ch === ']') {\n\t\t\t\tnext(']');\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\tnext(',');\n\t\t\twhite();\n\t\t}\n\t}\n\terror('Bad array');\n}\n\n// Parse an object value.\nfunction object() {\n\tvar key;\n\tvar obj = {};\n\n\tif (ch === '{') {\n\t\tnext('{');\n\t\twhite();\n\t\tif (ch === '}') {\n\t\t\tnext('}');\n\t\t\treturn obj; // empty object\n\t\t}\n\t\twhile (ch) {\n\t\t\tkey = string();\n\t\t\twhite();\n\t\t\tnext(':');\n\t\t\tif (Object.prototype.hasOwnProperty.call(obj, key)) {\n\t\t\t\terror('Duplicate key \"' + key + '\"');\n\t\t\t}\n\t\t\tobj[key] = value(); // eslint-disable-line no-use-before-define\n\t\t\twhite();\n\t\t\tif (ch === '}') {\n\t\t\t\tnext('}');\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t\tnext(',');\n\t\t\twhite();\n\t\t}\n\t}\n\terror('Bad object');\n}\n\n// Parse a JSON value. It could be an object, an array, a string, a number, or a word.\nfunction value() {\n\twhite();\n\tswitch (ch) {\n\t\tcase '{':\n\t\t\treturn object();\n\t\tcase '[':\n\t\t\treturn array();\n\t\tcase '\"':\n\t\t\treturn string();\n\t\tcase '-':\n\t\t\treturn number();\n\t\tdefault:\n\t\t\treturn ch >= '0' && ch <= '9' ? number() : word();\n\t}\n}\n\n// Return the json_parse function. It will have access to all of the above functions and variables.\nmodule.exports = function (source, reviver) {\n\tvar result;\n\n\ttext = source;\n\tat = 0;\n\tch = ' ';\n\tresult = value();\n\twhite();\n\tif (ch) {\n\t\terror('Syntax error');\n\t}\n\n\t// If there is a reviver function, we recursively walk the new structure,\n\t// passing each name/value pair to the reviver function for possible\n\t// transformation, starting with a temporary root object that holds the result\n\t// in an empty key. If there is not a reviver function, we simply return the\n\t// result.\n\n\treturn typeof reviver === 'function' ? (function walk(holder, key) {\n\t\tvar k;\n\t\tvar v;\n\t\tvar val = holder[key];\n\t\tif (val && typeof val === 'object') {\n\t\t\tfor (k in value) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(val, k)) {\n\t\t\t\t\tv = walk(val, k);\n\t\t\t\t\tif (typeof v === 'undefined') {\n\t\t\t\t\t\tdelete val[k];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tval[k] = v;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn reviver.call(holder, key, val);\n\t}({ '': result }, '')) : result;\n};\n","'use strict';\n\nvar escapable = /[\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\nvar gap;\nvar indent;\nvar meta = { // table of character substitutions\n\t'\\b': '\\\\b',\n\t'\\t': '\\\\t',\n\t'\\n': '\\\\n',\n\t'\\f': '\\\\f',\n\t'\\r': '\\\\r',\n\t'\"': '\\\\\"',\n\t'\\\\': '\\\\\\\\'\n};\nvar rep;\n\nfunction quote(string) {\n\t// If the string contains no control characters, no quote characters, and no\n\t// backslash characters, then we can safely slap some quotes around it.\n\t// Otherwise we must also replace the offending characters with safe escape sequences.\n\n\tescapable.lastIndex = 0;\n\treturn escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\n\t\tvar c = meta[a];\n\t\treturn typeof c === 'string' ? c\n\t\t\t: '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n\t}) + '\"' : '\"' + string + '\"';\n}\n\nfunction str(key, holder) {\n\t// Produce a string from holder[key].\n\tvar i; // The loop counter.\n\tvar k; // The member key.\n\tvar v; // The member value.\n\tvar length;\n\tvar mind = gap;\n\tvar partial;\n\tvar value = holder[key];\n\n\t// If the value has a toJSON method, call it to obtain a replacement value.\n\tif (value && typeof value === 'object' && typeof value.toJSON === 'function') {\n\t\tvalue = value.toJSON(key);\n\t}\n\n\t// If we were called with a replacer function, then call the replacer to obtain a replacement value.\n\tif (typeof rep === 'function') {\n\t\tvalue = rep.call(holder, key, value);\n\t}\n\n\t// What happens next depends on the value's type.\n\tswitch (typeof value) {\n\t\tcase 'string':\n\t\t\treturn quote(value);\n\n\t\tcase 'number':\n\t\t\t// JSON numbers must be finite. Encode non-finite numbers as null.\n\t\t\treturn isFinite(value) ? String(value) : 'null';\n\n\t\tcase 'boolean':\n\t\tcase 'null':\n\t\t\t// If the value is a boolean or null, convert it to a string. Note:\n\t\t\t// typeof null does not produce 'null'. The case is included here in\n\t\t\t// the remote chance that this gets fixed someday.\n\t\t\treturn String(value);\n\n\t\tcase 'object':\n\t\t\tif (!value) {\n\t\t\t\treturn 'null';\n\t\t\t}\n\t\t\tgap += indent;\n\t\t\tpartial = [];\n\n\t\t\t// Array.isArray\n\t\t\tif (Object.prototype.toString.apply(value) === '[object Array]') {\n\t\t\t\tlength = value.length;\n\t\t\t\tfor (i = 0; i < length; i += 1) {\n\t\t\t\t\tpartial[i] = str(i, value) || 'null';\n\t\t\t\t}\n\n\t\t\t\t// Join all of the elements together, separated with commas, and wrap them in brackets.\n\t\t\t\tv = partial.length === 0 ? '[]' : gap\n\t\t\t\t\t? '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']'\n\t\t\t\t\t: '[' + partial.join(',') + ']';\n\t\t\t\tgap = mind;\n\t\t\t\treturn v;\n\t\t\t}\n\n\t\t\t// If the replacer is an array, use it to select the members to be stringified.\n\t\t\tif (rep && typeof rep === 'object') {\n\t\t\t\tlength = rep.length;\n\t\t\t\tfor (i = 0; i < length; i += 1) {\n\t\t\t\t\tk = rep[i];\n\t\t\t\t\tif (typeof k === 'string') {\n\t\t\t\t\t\tv = str(k, value);\n\t\t\t\t\t\tif (v) {\n\t\t\t\t\t\t\tpartial.push(quote(k) + (gap ? ': ' : ':') + v);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, iterate through all of the keys in the object.\n\t\t\t\tfor (k in value) {\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(value, k)) {\n\t\t\t\t\t\tv = str(k, value);\n\t\t\t\t\t\tif (v) {\n\t\t\t\t\t\t\tpartial.push(quote(k) + (gap ? ': ' : ':') + v);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Join all of the member texts together, separated with commas, and wrap them in braces.\n\n\t\t\tv = partial.length === 0 ? '{}' : gap\n\t\t\t\t? '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}'\n\t\t\t\t: '{' + partial.join(',') + '}';\n\t\t\tgap = mind;\n\t\t\treturn v;\n\t\tdefault:\n\t}\n}\n\nmodule.exports = function (value, replacer, space) {\n\tvar i;\n\tgap = '';\n\tindent = '';\n\n\t// If the space parameter is a number, make an indent string containing that many spaces.\n\tif (typeof space === 'number') {\n\t\tfor (i = 0; i < space; i += 1) {\n\t\t\tindent += ' ';\n\t\t}\n\t} else if (typeof space === 'string') {\n\t\t// If the space parameter is a string, it will be used as the indent string.\n\t\tindent = space;\n\t}\n\n\t// If there is a replacer, it must be a function or an array. Otherwise, throw an error.\n\trep = replacer;\n\tif (\n\t\treplacer\n\t\t&& typeof replacer !== 'function'\n\t\t&& (typeof replacer !== 'object' || typeof replacer.length !== 'number')\n\t) {\n\t\tthrow new Error('JSON.stringify');\n\t}\n\n\t// Make a fake root object containing our value under the key of ''.\n\t// Return the result of stringifying the value.\n\treturn str('', { '': value });\n};\n","'use strict';\n\nexports.parse = require('./lib/parse');\nexports.stringify = require('./lib/stringify');\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + (adjustedLength > 0 ? adjustedLength : 0),\n\t\ttrue\n\t);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\n/** @type {typeof JSON.stringify} */\nvar jsonStringify = (typeof JSON !== 'undefined' ? JSON : require('jsonify')).stringify;\n\nvar isArray = require('isarray');\nvar objectKeys = require('object-keys');\nvar callBind = require('call-bind');\nvar callBound = require('call-bound');\n\nvar $join = callBound('Array.prototype.join');\nvar $indexOf = callBound('Array.prototype.indexOf');\nvar $splice = callBound('Array.prototype.splice');\nvar $sort = callBound('Array.prototype.sort');\n\n/** @type {(n: number, char: string) => string} */\nvar strRepeat = function repeat(n, char) {\n\tvar str = '';\n\tfor (var i = 0; i < n; i += 1) {\n\t\tstr += char;\n\t}\n\treturn str;\n};\n\n/** @type {(parent: import('.').Node, key: import('.').Key, value: unknown) => unknown} */\nvar defaultReplacer = function (_parent, _key, value) { return value; };\n\n/** @type {import('.')} */\nmodule.exports = function stableStringify(obj) {\n\t/** @type {Parameters<import('.')>[1]} */\n\tvar opts = arguments.length > 1 ? arguments[1] : void undefined;\n\tvar space = (opts && opts.space) || '';\n\tif (typeof space === 'number') { space = strRepeat(space, ' '); }\n\tvar cycles = !!opts && typeof opts.cycles === 'boolean' && opts.cycles;\n\t/** @type {undefined | typeof defaultReplacer} */\n\tvar replacer = opts && opts.replacer ? callBind(opts.replacer) : defaultReplacer;\n\tif (opts && typeof opts.collapseEmpty !== 'undefined' && typeof opts.collapseEmpty !== 'boolean') {\n\t\tthrow new TypeError('`collapseEmpty` must be a boolean, if provided');\n\t}\n\tvar collapseEmpty = !!opts && opts.collapseEmpty;\n\n\tvar cmpOpt = typeof opts === 'function' ? opts : opts && opts.cmp;\n\t/** @type {undefined | (<T extends import('.').NonArrayNode>(node: T) => (a: Exclude<keyof T, symbol | number>, b: Exclude<keyof T, symbol | number>) => number)} */\n\tvar cmp = cmpOpt && function (node) {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar get = /** @type {NonNullable<typeof cmpOpt>} */ (cmpOpt).length > 2\n\t\t\t&& /** @type {import('.').Getter['get']} */ function get(k) { return node[k]; };\n\t\treturn function (a, b) {\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\treturn /** @type {NonNullable<typeof cmpOpt>} */ (cmpOpt)(\n\t\t\t\t{ key: a, value: node[a] },\n\t\t\t\t{ key: b, value: node[b] },\n\t\t\t\t// @ts-expect-error TS doesn't understand the optimization used here\n\t\t\t\tget ? /** @type {import('.').Getter} */ { __proto__: null, get: get } : void undefined\n\t\t\t);\n\t\t};\n\t};\n\n\t/** @type {import('.').Node[]} */\n\tvar seen = [];\n\treturn (/** @type {(parent: import('.').Node, key: string | number, node: unknown, level: number) => string | undefined} */\n\t\tfunction stringify(parent, key, node, level) {\n\t\t\tvar indent = space ? '\\n' + strRepeat(level, space) : '';\n\t\t\tvar colonSeparator = space ? ': ' : ':';\n\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tif (node && /** @type {{ toJSON?: unknown }} */ (node).toJSON && typeof /** @type {{ toJSON?: unknown }} */ (node).toJSON === 'function') {\n\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\tnode = /** @type {{ toJSON: Function }} */ (node).toJSON();\n\t\t\t}\n\n\t\t\tnode = replacer(parent, key, node);\n\t\t\tif (node === undefined) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (typeof node !== 'object' || node === null) {\n\t\t\t\treturn jsonStringify(node);\n\t\t\t}\n\n\t\t\t/** @type {(out: string[], brackets: '[]' | '{}') => string} */\n\t\t\tvar groupOutput = function (out, brackets) {\n\t\t\t\treturn collapseEmpty && out.length === 0\n\t\t\t\t\t? brackets\n\t\t\t\t\t: (brackets === '[]' ? '[' : '{') + $join(out, ',') + indent + (brackets === '[]' ? ']' : '}');\n\t\t\t};\n\n\t\t\tif (isArray(node)) {\n\t\t\t\tvar out = [];\n\t\t\t\tfor (var i = 0; i < node.length; i++) {\n\t\t\t\t\tvar item = stringify(node, i, node[i], level + 1) || jsonStringify(null);\n\t\t\t\t\tout[out.length] = indent + space + item;\n\t\t\t\t}\n\t\t\t\treturn groupOutput(out, '[]');\n\t\t\t}\n\n\t\t\tif ($indexOf(seen, node) !== -1) {\n\t\t\t\tif (cycles) { return jsonStringify('__cycle__'); }\n\t\t\t\tthrow new TypeError('Converting circular structure to JSON');\n\t\t\t} else {\n\t\t\t\tseen[seen.length] = /** @type {import('.').NonArrayNode} */ (node);\n\t\t\t}\n\n\t\t\t/** @type {import('.').Key[]} */\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tvar keys = $sort(objectKeys(node), cmp && cmp(/** @type {import('.').NonArrayNode} */ (node)));\n\t\t\tvar out = [];\n\t\t\tfor (var i = 0; i < keys.length; i++) {\n\t\t\t\tvar key = keys[i];\n\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\tvar value = stringify(/** @type {import('.').Node} */ (node), key, /** @type {import('.').NonArrayNode} */ (node)[key], level + 1);\n\n\t\t\t\tif (!value) { continue; }\n\n\t\t\t\tvar keyValue = jsonStringify(key)\n\t\t\t\t\t+ colonSeparator\n\t\t\t\t\t+ value;\n\n\t\t\t\tout[out.length] = indent + space + keyValue;\n\t\t\t}\n\t\t\t$splice(seen, $indexOf(seen, node), 1);\n\t\t\treturn groupOutput(out, '{}');\n\t\t}({ '': obj }, '', obj, 0)\n\t);\n};\n","import stringify from 'json-stable-stringify';\nimport { isFlagEnabled } from './flags.js';\n\nexport const getHash = (str = ''): number => {\n return str\n .split('')\n .reduce((prevHash, currVal) => ((prevHash << 5) - prevHash + currVal.charCodeAt(0)) | 0, 0);\n};\n\nexport const getStableHash = (obj: unknown): number => {\n try {\n return getHash(stringify(obj));\n } catch (ex) {\n const isDebug = isFlagEnabled('script-runner-logging');\n\n if (isDebug) {\n console.warn('Failed to stringify object for hashing:', ex);\n }\n // If there's an error we want to err on the side of always updating,\n // so we return a random hash to ensure that the new value is treated as different from the old value\n return getHash(String(Math.random()));\n }\n};\n","export const isFlagEnabled = (identifier: string): boolean => {\n const flag = localStorage.getItem(`kizen-flag-${identifier}`);\n\n return flag === 'true';\n};\n","import {\n runExpression,\n type AutomationStepConfig,\n type CalendarSourceConfig,\n type FloatingFrameConfig,\n type ToolbarItemConfig,\n} from '../index.js';\nimport type { DataAdornmentConfig } from '../types/artifacts/dataAdornment.js';\nimport type { RoutablePageConfig } from '../types/artifacts/routablePage.js';\nimport type { RouteScriptConfig } from '../types/artifacts/routeScript.js';\nimport type { AppPlugin, UnknownJSON } from '../types/common.js';\nimport type { IncludeOption, SetupAssistantField } from '../types/modals.js';\nimport { getAllNestedInputsFromConfig } from '../workers/util.js';\nimport { getPartialLocation } from './run.js';\nimport DOMPurify, { type RemovedAttribute, type RemovedElement } from 'dompurify';\n\ntype AllowedConfig =\n | FloatingFrameConfig\n | RoutablePageConfig\n | DataAdornmentConfig\n | ToolbarItemConfig\n | RouteScriptConfig\n | CalendarSourceConfig\n | AutomationStepConfig;\n\nexport const pluginMapper = <T extends AllowedConfig>(\n config: T,\n apiName: string,\n plugin: AppPlugin,\n): T & {\n plugin_api_name: string;\n plugin_name: string;\n employee_config: unknown;\n args: unknown;\n} => {\n return {\n ...config,\n plugin_api_name: apiName,\n plugin_name: plugin.name,\n employee_config: plugin.employee_config,\n args: plugin.business_config,\n };\n};\n\nexport const getDisabledValue = (type?: string): false | undefined => {\n if (type === 'boolean') {\n return false;\n }\n\n return undefined;\n};\n\nexport const mergeConfig = (\n cleanConfig: Record<string, UnknownJSON>,\n disabledFieldKeys: string[],\n rawConfig: Record<string, UnknownJSON>,\n setupAssistantFields?: SetupAssistantField[],\n): Record<string, UnknownJSON> => {\n const keys = Object.keys(cleanConfig);\n const mergedConfig: Record<string, UnknownJSON> = {};\n\n keys.forEach((key) => {\n if (disabledFieldKeys.includes(key)) {\n mergedConfig[key] = {\n value: getDisabledValue(rawConfig[key]?.type as string),\n type: rawConfig[key]?.type,\n };\n } else {\n mergedConfig[key] = {\n value: cleanConfig[key],\n type: rawConfig[key]?.type,\n };\n }\n });\n\n const flattenedFields = getAllNestedInputsFromConfig({\n fields: setupAssistantFields ?? [],\n });\n\n flattenedFields.forEach((field) => {\n if (typeof mergedConfig[field.key] === 'undefined') {\n if (disabledFieldKeys.includes(field.key)) {\n mergedConfig[field.key] = {\n value: getDisabledValue(field.type),\n type: field.type,\n };\n } else {\n mergedConfig[field.key] = {\n value: field.default,\n type: field.type,\n };\n }\n }\n });\n\n return mergedConfig;\n};\n\nexport const replaceConfigValues = (when?: string): string => {\n if (!when) {\n return '';\n }\n\n const replaced = when\n .replaceAll('{{config.', '{{config__')\n .replaceAll('{{userConfig.', '{{userConfig__');\n\n return replaced;\n};\n\nexport const getEnabledState = async (\n when: string | undefined,\n state: Record<string, UnknownJSON>,\n): Promise<boolean> => {\n const replaced = replaceConfigValues(when);\n\n const enabled = await runExpression(replaced, state);\n\n return enabled;\n};\n\nexport const reduceEnabledResults = (\n results: { api_name?: string; enabled: boolean }[],\n): Record<string, boolean> => {\n return results.reduce((acc, curr) => {\n if (!curr.api_name) {\n return acc;\n }\n\n return {\n ...acc,\n [curr.api_name]: curr.enabled,\n };\n }, {});\n};\n\nexport const forceQualifiedUrl = (url: string): string => {\n let qualifiedUrl = url;\n\n if (/^(http|https):\\/\\//.test(url)) {\n qualifiedUrl = url;\n } else if (url.startsWith('/')) {\n qualifiedUrl = `${getPartialLocation().origin}${qualifiedUrl}`;\n } else {\n qualifiedUrl = `${getPartialLocation().origin}/${qualifiedUrl}`;\n }\n\n return qualifiedUrl;\n};\n\nexport type GetParamFunction = (key: IncludeOption) => string;\n\nconst getParams = (include?: IncludeOption[], getParam?: GetParamFunction): URLSearchParams => {\n const urlParams = new URLSearchParams();\n\n if (include) {\n include.forEach((field) => {\n if (field === 'base_url') {\n urlParams.append(field, getPartialLocation().origin);\n } else if (getParam) {\n urlParams.append(field, getParam(field));\n }\n });\n }\n\n return urlParams;\n};\n\nconst appendParams = (url: string, urlParams: URLSearchParams): string => {\n const params = urlParams.toString();\n\n if (!params) {\n return url;\n }\n\n const hashIndex = url.indexOf('#');\n const pathAndQuery = hashIndex === -1 ? url : url.slice(0, hashIndex);\n const fragment = hashIndex === -1 ? '' : url.slice(hashIndex);\n\n return `${pathAndQuery}${pathAndQuery.includes('?') ? '&' : '?'}${params}${fragment}`;\n};\n\nexport const getQrCodeValue = (\n value?: string,\n include?: IncludeOption[],\n getParam?: GetParamFunction,\n): string => {\n const baseValue = value ?? '';\n\n // Force qualified on QR codes since these will generally be scanned by another device\n const qualifiedUrl = forceQualifiedUrl(baseValue);\n\n const params = getParams(include, getParam);\n\n const result = appendParams(qualifiedUrl, params);\n\n return result;\n};\n\nexport const getLinkValue = (\n value?: string,\n include?: IncludeOption[],\n getParam?: GetParamFunction,\n): string => {\n const baseValue = value ?? '';\n\n // Don't force a qualified URL on links since these will generally be clicked on the same device,\n // so we should support relative\n\n const params = getParams(include, getParam);\n\n const result = appendParams(baseValue, params);\n\n return result;\n};\n\nexport type RemovedHTML = RemovedAttribute | RemovedElement;\n\nexport const getPluginSafeHTML = (\n html?: string,\n): { html: string; error: Error | null; removed: RemovedHTML[] } => {\n if (!html) {\n return { html: '', error: null, removed: [] };\n }\n\n try {\n const cleanHtml = DOMPurify.sanitize(html, {\n ADD_TAGS: ['iframe'],\n ADD_ATTR: [\n 'allow',\n 'allowfullscreen',\n 'frameborder',\n 'scrolling',\n 'src',\n 'sandbox',\n 'name',\n 'loading',\n 'width',\n 'height',\n 'title',\n ],\n });\n\n return { html: cleanHtml, error: null, removed: DOMPurify.removed as RemovedHTML[] };\n } catch (err) {\n return { html: '', error: err as Error, removed: [] };\n }\n};\n","import type { RefObject } from 'react';\nimport type {\n InternalSessionData,\n SetInternalSessionDataFn,\n ShowToastOptions,\n StateChangePayload,\n WorkerContextArgs,\n} from './types/contexts.js';\nimport type {\n AuthorizeEvent,\n CommonExecutionPlugin,\n ConsoleLogEvent,\n CommonPluginDefinition,\n CommunicateEvent,\n CopyToClipboardEvent,\n CreateFileIdFn,\n DoneEvent,\n DynamicPromptRequestEvent,\n ErrorEvent,\n GetPendingCacheCountFn,\n HideEvent,\n IframeOutputEvent,\n InstallThirdPartyScriptRequestEvent,\n InvalidateCacheFn,\n KizenFile,\n MessageEventData,\n OnClearToastsFn,\n OnConsoleLogFn,\n OnNetworkRequestFn,\n OnShowToastFn,\n OpenCreateRecordModalRequestEvent,\n OpenCreateRelatedRecordModalRequestEvent,\n OpenWindowEvent,\n PostFormDataRequestEvent,\n PromptRequestEvent,\n QueryRequestEvent,\n RecipientConfig,\n RefreshEntityEvent,\n RefreshTimelineEvent,\n RequestableQueryMethods,\n SetStateEvent,\n ShowEvent,\n ShowToastEvent,\n UIOutputEvent,\n UpdateSessionDataEvent,\n PerformKizenFileUploadFn,\n UploadFilePayload,\n UploadFileRequestEvent,\n ShowViewInModalRequestEvent,\n CloseModalRequestEvent,\n} from './types/run.js';\nimport type {\n ModalConfig,\n OnCloseModalFn,\n OnShowCreateRecordModalFn,\n OnShowCreateRelatedRecordModalFn,\n OnShowModalFn,\n ShowViewInModalOptions,\n} from './types/modals.js';\nimport type { OnNetworkErrorFn } from './types/request.js';\nimport { ACTIONS, COMMUNICATIONS, IFRAME_PREFIX, RESPONSES } from './communication/constants.js';\nimport type { UnknownJSON } from './types/common.js';\nimport {\n getScriptIntegrationType,\n thirdPartyGlobalNames,\n thirdPartyReadyPredicates,\n thirdPartySetupScripts,\n type ALLOWED_INTEGRATIONS,\n} from './communication/ThirdPartyScript.js';\nimport { generateUUIDV4, getPartialLocation } from './util/run.js';\nimport { deserializeConsoleArg } from './util/console.js';\nimport { KizenRequestError } from './util/errors.js';\nimport type { WorkerSetup } from './types/workers.js';\nimport { getPluginSafeHTML } from './util/values.js';\n\nconst isRelative = (url: string): boolean => {\n return url.startsWith('/');\n};\n\nconst allowedAllowValues = [\n 'microphone',\n 'speaker-selection',\n 'autoplay',\n 'camera',\n 'display-capture',\n 'hid',\n];\n\nconst allowedSandboxValues = ['allow-popups', 'allow-scripts', 'allow-same-origin'];\n\nconst refreshTimeout = 30000; // 30 seconds\nconst refreshInterval = 100;\n\nexport class WorkerManager {\n private worker: Worker;\n private scriptUIRef?: RefObject<HTMLDivElement | null> | undefined;\n private onStateChange?: ((state: StateChangePayload) => void) | undefined;\n private done: (preserve: boolean, result?: unknown) => void;\n private onError?: WorkerContextArgs['onError'];\n private waitForFrame = false;\n private plugin?: CommonPluginDefinition | undefined;\n private executionPlugin?: CommonExecutionPlugin | undefined;\n private frameId?: string;\n private onShowToast?: OnShowToastFn | undefined;\n private onClearToasts?: OnClearToastsFn | undefined;\n private sessionData: InternalSessionData = {};\n private setSessionData: (state: InternalSessionData) => void;\n private pluginComponentId: string;\n private onShowModal?: OnShowModalFn | undefined;\n private onCloseModal?: OnCloseModalFn | undefined;\n private onShowCreateRecordModal?: OnShowCreateRecordModalFn | undefined;\n private onShowCreateRelatedRecordModal?: OnShowCreateRelatedRecordModalFn | undefined;\n private onReleaseBlockingScript?: WorkerContextArgs['onReleaseBlockingScript'];\n private pluginApiName?: string;\n private onNetworkError?: OnNetworkErrorFn | undefined;\n private onNetworkRequest?: OnNetworkRequestFn | undefined;\n private invalidateCache?: InvalidateCacheFn | undefined; // todo\n private getPendingCacheCount?: GetPendingCacheCountFn | undefined; // todo\n private createFileId?: CreateFileIdFn | undefined;\n private performFileUpload?: PerformKizenFileUploadFn | undefined;\n private pushHistory?: ((path: string) => void) | undefined;\n private appPath: string;\n private onConsoleLog?: OnConsoleLogFn | undefined;\n\n constructor(args: {\n worker: Worker;\n done: (preserve: boolean, result?: unknown) => void;\n scriptUIRef?: RefObject<HTMLDivElement | null> | undefined;\n onStateChange?: ((state: StateChangePayload) => void) | undefined;\n onError?: WorkerContextArgs['onError'] | undefined;\n onReleaseBlockingScript?: WorkerContextArgs['onReleaseBlockingScript'] | undefined;\n plugin?: CommonPluginDefinition | undefined;\n executionPlugin?: CommonExecutionPlugin | undefined;\n onShowToast?: OnShowToastFn | undefined;\n onClearToasts?: OnClearToastsFn | undefined;\n sessionData: InternalSessionData;\n setSessionData?: SetInternalSessionDataFn | undefined;\n pluginComponentId: string;\n onShowModal?: OnShowModalFn | undefined;\n onCloseModal?: OnCloseModalFn | undefined;\n onShowCreateRecordModal: OnShowCreateRecordModalFn | undefined;\n onShowCreateRelatedRecordModal: OnShowCreateRelatedRecordModalFn | undefined;\n onNetworkError?: OnNetworkErrorFn | undefined;\n onNetworkRequest?: OnNetworkRequestFn | undefined;\n invalidateCache?: InvalidateCacheFn | undefined;\n getPendingCacheCount?: GetPendingCacheCountFn | undefined;\n createFileId?: CreateFileIdFn | undefined;\n performFileUpload?: PerformKizenFileUploadFn | undefined;\n pushHistory?: ((path: string) => void) | undefined;\n appPath: string;\n onConsoleLog?: OnConsoleLogFn | undefined;\n }) {\n this.scriptUIRef = args.scriptUIRef;\n this.onStateChange = args.onStateChange;\n this.done = args.done;\n this.onError = args.onError;\n this.onReleaseBlockingScript = args.onReleaseBlockingScript;\n this.worker = args.worker;\n this.worker.onmessage = this.handleMessage;\n this.plugin = args.plugin;\n this.executionPlugin = args.executionPlugin;\n this.onShowToast = args.onShowToast;\n this.onClearToasts = args.onClearToasts;\n this.pluginComponentId = args.pluginComponentId;\n this.onShowModal = args.onShowModal;\n this.onCloseModal = args.onCloseModal;\n this.onShowCreateRecordModal = args.onShowCreateRecordModal;\n this.onShowCreateRelatedRecordModal = args.onShowCreateRelatedRecordModal;\n this.onNetworkError = args.onNetworkError;\n this.onNetworkRequest = args.onNetworkRequest;\n this.invalidateCache = args.invalidateCache;\n this.getPendingCacheCount = args.getPendingCacheCount;\n this.createFileId = args.createFileId;\n this.performFileUpload = args.performFileUpload;\n this.pushHistory = args.pushHistory;\n this.appPath = args.appPath;\n this.onConsoleLog = args.onConsoleLog;\n\n if (this.plugin) {\n this.frameId = `${IFRAME_PREFIX}-${this.plugin.plugin_api_name}-${this.plugin.api_name}`;\n }\n\n this.pluginApiName =\n this.executionPlugin?.plugin_api_name ?? this.plugin?.plugin_api_name ?? '';\n\n if (this.pluginApiName) {\n this.sessionData = args.sessionData[this.pluginApiName] as InternalSessionData;\n this.setSessionData = (state: InternalSessionData) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n args.setSessionData?.(this.pluginApiName!, state);\n };\n } else {\n this.setSessionData = () => {\n this.onError?.({\n message: 'Script must be associated with a plugin to use session data',\n });\n };\n }\n }\n\n private handleMessage = async (rawEvent: MessageEvent): Promise<void> => {\n const event = JSON.parse(rawEvent.data as string) as MessageEventData;\n\n const { action } = event;\n\n switch (action) {\n case ACTIONS.QUERY_REQUEST: {\n const consideredEvent = event as QueryRequestEvent;\n await this.handleQueryRequest(\n consideredEvent.id,\n consideredEvent.method,\n consideredEvent.url,\n consideredEvent.payload,\n consideredEvent.options,\n );\n\n return;\n }\n case ACTIONS.UI_OUTPUT: {\n const consideredEvent = event as UIOutputEvent;\n\n this.handleUIOutput(consideredEvent.markup);\n\n return;\n }\n case ACTIONS.IFRAME_OUTPUT: {\n const consideredEvent = event as IframeOutputEvent;\n\n this.handleIframeOutput(\n consideredEvent.url,\n consideredEvent.allow,\n consideredEvent.sandbox,\n consideredEvent.preserve,\n );\n\n return;\n }\n case ACTIONS.POSTFORMDATA_REQUEST: {\n const consideredEvent = event as PostFormDataRequestEvent;\n\n this.handleFormPostRequest(\n consideredEvent.id,\n consideredEvent.url,\n consideredEvent.payload,\n consideredEvent.createNewTab,\n );\n\n return;\n }\n case ACTIONS.UPLOADFILE_REQUEST: {\n const consideredEvent = event as UploadFileRequestEvent;\n\n await this.handleUploadFileRequest(consideredEvent.id, consideredEvent.payload);\n\n return;\n }\n case ACTIONS.SETSTATE: {\n const consideredEvent = event as SetStateEvent;\n\n this.onStateChange?.(consideredEvent.state);\n\n return;\n }\n case ACTIONS.DONE: {\n const consideredEvent = event as DoneEvent;\n\n this.handleDone(consideredEvent.preserve, consideredEvent.result);\n\n return;\n }\n case RESPONSES.ERROR: {\n const consideredEvent = event as ErrorEvent;\n\n this.onError?.({ message: consideredEvent.error });\n\n return;\n }\n case ACTIONS.OPEN_WINDOW: {\n const consideredEvent = event as OpenWindowEvent;\n\n this.handleOpenWindow(\n consideredEvent.url,\n consideredEvent.target,\n consideredEvent.features,\n );\n\n return;\n }\n case ACTIONS.COMMUNICATE: {\n const consideredEvent = event as CommunicateEvent;\n\n this.handleCommunication(\n consideredEvent.type,\n consideredEvent.recipient,\n consideredEvent.args,\n consideredEvent.params,\n );\n\n return;\n }\n case ACTIONS.HIDE: {\n const consideredEvent = event as HideEvent;\n const { config } = consideredEvent;\n\n let triggerHidden = false;\n\n if (config.hideTrigger) {\n triggerHidden = true;\n }\n\n this.onStateChange?.({ hidden: true, triggerHidden });\n\n return;\n }\n case ACTIONS.SHOW: {\n const consideredEvent = event as ShowEvent;\n const { config } = consideredEvent;\n\n let triggerHidden = false;\n\n if (config.showTrigger === false) {\n triggerHidden = true;\n }\n\n this.onStateChange?.({ hidden: false, triggerHidden });\n\n return;\n }\n case ACTIONS.EXPAND: {\n this.onStateChange?.({ minimized: false });\n\n return;\n }\n case ACTIONS.COLLAPSE: {\n this.onStateChange?.({ minimized: true });\n\n return;\n }\n case ACTIONS.HIDE_HEADER: {\n this.onStateChange?.({ hideHeader: true });\n\n return;\n }\n case ACTIONS.SHOW_HEADER: {\n this.onStateChange?.({ hideHeader: false });\n\n return;\n }\n case ACTIONS.COPY_TO_CLIPBOARD: {\n const consideredEvent = event as CopyToClipboardEvent;\n\n await this.copyToClipboard(consideredEvent.text);\n\n return;\n }\n case ACTIONS.OPEN_CREATE_RECORD_MODAL_REQUEST: {\n const consideredEvent = event as OpenCreateRecordModalRequestEvent;\n\n this.handleCreateRecordRequest(consideredEvent.id, consideredEvent.entityId);\n\n return;\n }\n case ACTIONS.OPEN_CREATE_RELATED_RECORD_MODAL_REQUEST: {\n const consideredEvent = event as OpenCreateRelatedRecordModalRequestEvent;\n\n this.handleCreateRelatedRecordRequest(\n consideredEvent.id,\n consideredEvent.objectId,\n consideredEvent.relatedEntityId,\n );\n\n return;\n }\n case ACTIONS.SHOW_TOAST: {\n const consideredEvent = event as ShowToastEvent;\n\n this.showToast(consideredEvent.message, consideredEvent.toastOptions);\n\n return;\n }\n case ACTIONS.CLEAR_TOASTS: {\n this.clearToasts();\n\n return;\n }\n case ACTIONS.REFRESH_TIMELINE: {\n const consideredEvent = event as RefreshTimelineEvent;\n\n this.handleRefreshTimeline(consideredEvent.entityId);\n\n return;\n }\n case ACTIONS.REFRESH_ENTITY: {\n const consideredEvent = event as RefreshEntityEvent;\n\n await this.handleRefreshEntity(consideredEvent.entityId, consideredEvent.id);\n\n return;\n }\n case ACTIONS.UPDATE_SESSION_DATA: {\n const consideredEvent = event as UpdateSessionDataEvent;\n\n this.handleSetSessionData(consideredEvent.update);\n\n return;\n }\n case ACTIONS.INSTALL_THIRD_PARTY_SCRIPT_REQUEST: {\n const consideredEvent = event as InstallThirdPartyScriptRequestEvent;\n\n this.handleInstallThirdPartyScriptRequest(\n consideredEvent.id,\n consideredEvent.url,\n consideredEvent.args,\n );\n\n return;\n }\n case ACTIONS.PROMPT_REQUEST: {\n const consideredEvent = event as PromptRequestEvent;\n\n this.handlePromptRequest(consideredEvent.id, consideredEvent.config, false);\n\n return;\n }\n case ACTIONS.DYNAMIC_PROMPT_REQUEST: {\n const consideredEvent = event as DynamicPromptRequestEvent;\n\n this.handlePromptRequest(consideredEvent.id, consideredEvent.config, true);\n\n return;\n }\n case ACTIONS.SHOW_VIEW_IN_MODAL_REQUEST: {\n const consideredEvent = event as ShowViewInModalRequestEvent;\n\n this.handleShowViewInModalRequest(\n consideredEvent.id,\n consideredEvent.viewId,\n consideredEvent.args,\n consideredEvent.options,\n );\n\n return;\n }\n case ACTIONS.CLOSE_MODAL_REQUEST: {\n const consideredEvent = event as CloseModalRequestEvent;\n\n this.onCloseModal?.(consideredEvent.values, consideredEvent.canceled);\n\n return;\n }\n case ACTIONS.RELEASE_BLOCKING_SCRIPT: {\n this.handleReleaseBlockingScript();\n\n return;\n }\n case ACTIONS.AUTHORIZE: {\n const consideredEvent = event as AuthorizeEvent;\n\n this.handleAuthorize(consideredEvent.serviceName, consideredEvent.config);\n\n return;\n }\n case ACTIONS.CONSOLE_LOG: {\n const consideredEvent = event as ConsoleLogEvent;\n let deserializedArgs: unknown[] = [];\n try {\n deserializedArgs = consideredEvent.args.map(deserializeConsoleArg);\n } catch {\n deserializedArgs = ['[unparseable plugin log]'];\n }\n try {\n console[consideredEvent.level](...deserializedArgs);\n } catch {\n /* swallow */\n }\n try {\n this.onConsoleLog?.(consideredEvent.level, deserializedArgs);\n } catch {\n /* swallow */\n }\n\n return;\n }\n default:\n return;\n }\n };\n\n private handleCommunication = (\n type: string,\n recipient: RecipientConfig,\n args?: Record<string, unknown>,\n params?: unknown[],\n ): void => {\n if (type === COMMUNICATIONS.SEND_MESSAGE_TO_FRAME) {\n if (this.frameId) {\n const target = document.getElementById(this.frameId) as HTMLIFrameElement | undefined;\n\n if (target) {\n target.contentWindow?.postMessage(\n {\n ...(args?.payload ?? {}),\n __kizen: {\n recipient,\n frameId: this.frameId,\n },\n },\n args?.path ?? '*',\n );\n }\n }\n } else if (type === COMMUNICATIONS.CALL_THIRD_PARTY_SCRIPT) {\n this.handleCallThirdPartyScript(recipient.type, params);\n } else {\n const pluginApiName = this.executionPlugin?.plugin_api_name ?? this.plugin?.plugin_api_name;\n const event = new CustomEvent(`integration:${type}`, {\n detail: {\n recipient: {\n ...recipient,\n plugin: pluginApiName,\n },\n args,\n },\n });\n window.dispatchEvent(event);\n }\n };\n\n private handleDone = (preserve: boolean, result?: unknown): void => {\n if (!this.waitForFrame) {\n this.done(preserve, result);\n }\n };\n\n private postMessage = (action: string, data: Record<string, unknown>): void => {\n this.worker.postMessage(\n JSON.stringify({\n action,\n ...data,\n }),\n );\n };\n\n private handleSetSessionData = (state: InternalSessionData): void => {\n this.setSessionData(state);\n };\n\n private handleQueryRequest = async (\n id: string,\n method: RequestableQueryMethods,\n url: string,\n payload?: UnknownJSON,\n options?: UnknownJSON,\n ): Promise<void> => {\n try {\n const data = await this.onNetworkRequest?.(method, url, payload, options);\n\n this.postMessage(RESPONSES.QUERY_RESPONSE, { data, id });\n } catch (ex) {\n this.onNetworkError?.(ex);\n\n const error =\n ex instanceof KizenRequestError\n ? {\n __kizenError: true as const,\n proxyStatus: ex.proxyStatus,\n upstreamStatus: ex.upstreamStatus,\n upstreamResponse: ex.upstreamResponse,\n message: ex.message,\n }\n : (() => {\n if (ex instanceof Error) {\n return { message: ex.message, name: ex.name };\n }\n\n try {\n const serialized = JSON.parse(JSON.stringify(ex)) as UnknownJSON | null;\n\n if (\n typeof serialized === 'object' &&\n serialized !== null &&\n !Array.isArray(serialized)\n ) {\n return serialized;\n }\n } catch {\n // if we can't serialize the error, just return its string representation\n }\n\n return { message: String(ex) };\n })();\n\n this.postMessage(RESPONSES.QUERY_RESPONSE, { error, id });\n }\n };\n\n private handleUIOutput = (markup: string): void => {\n if (this.scriptUIRef?.current) {\n const sanitizedMarkup = getPluginSafeHTML(markup).html;\n\n this.scriptUIRef.current.innerHTML = sanitizedMarkup;\n }\n };\n\n private onLoad = (payload: { iframe?: HTMLIFrameElement; preserve: boolean }): void => {\n if (payload.iframe) {\n this.waitForFrame = false;\n this.handleDone(payload.preserve);\n }\n };\n\n private handleIframeOutput = (\n url: string,\n allow: string[] = [],\n sandbox: string[] = [],\n preserve = false,\n ): void => {\n if (this.scriptUIRef?.current) {\n const parsedAllowList = allow.filter((a) => allowedAllowValues.includes(a));\n const parsedSandboxList = sandbox.filter((s) => allowedSandboxValues.includes(s));\n this.waitForFrame = true;\n const element = document.createElement('iframe');\n element.src = url;\n element.allow = parsedAllowList.join('; ');\n parsedSandboxList.forEach((s) => {\n element.sandbox.add(s);\n });\n element.style.border = 'none';\n element.style.width = '100%';\n element.style.height = '100%';\n element.onload = this.onLoad.bind(this, { iframe: element, preserve });\n if (this.frameId) {\n element.id = this.frameId;\n }\n this.scriptUIRef.current.replaceChildren(element);\n }\n };\n\n private handleCreateRecordRequest = (promiseId: string, objectId: string): void => {\n this.onShowCreateRecordModal?.(objectId, (result: UnknownJSON) => {\n this.postMessage(RESPONSES.CREATE_RECORD_RESPONSE, {\n id: promiseId,\n data: result,\n });\n });\n };\n\n private handleCreateRelatedRecordRequest = (\n promiseId: string,\n objectId: string,\n relatedEntityId: string,\n ): void => {\n this.onShowCreateRelatedRecordModal?.(objectId, relatedEntityId, (result) => {\n this.postMessage(RESPONSES.CREATE_RELATED_RECORD_RESPONSE, {\n id: promiseId,\n data: result,\n });\n });\n };\n\n private showToast = (message: string, options?: ShowToastOptions): void => {\n this.onShowToast?.({\n message,\n variant: options?.variant ?? 'success',\n autohide: options?.autohide ?? true,\n });\n };\n\n private clearToasts = (): void => {\n this.onClearToasts?.();\n };\n\n private copyToClipboard = async (text: string): Promise<void> => {\n try {\n await navigator.clipboard.writeText(text);\n } catch (err) {\n this.onError?.({\n message: (err as Error).message,\n });\n }\n };\n\n private handleRefreshTimeline = (entityId: string): void => {\n this.invalidateCache?.('timeline', entityId);\n };\n\n // When we refresh a set of react-query keys, we need to wait for the queries to settle and finish refetching\n private waitForIdleState = (search: string): Promise<boolean> => {\n return new Promise((resolve) => {\n let count = 0;\n const interval = setInterval(() => {\n const fetchCount = this.getPendingCacheCount?.(search) ?? 0;\n\n if (fetchCount === 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n count += 1;\n if (count > Math.floor(refreshTimeout / refreshInterval)) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, refreshInterval);\n });\n };\n\n private handleRefreshEntity = async (entityId: string, promiseId: string): Promise<void> => {\n this.invalidateCache?.('entity', entityId);\n\n const result = await this.waitForIdleState(entityId);\n\n this.postMessage(RESPONSES.REFRESH_ENTITY_RESPONSE, {\n id: promiseId,\n data: {\n success: result,\n },\n });\n };\n\n private handleFormPostRequest = (\n id: string,\n url: string,\n payload: UnknownJSON,\n createNewTab?: boolean,\n ): void => {\n const form = document.createElement('form');\n form.method = 'POST';\n form.action = url;\n if (createNewTab) {\n form.target = '_blank';\n }\n\n for (const key in payload) {\n const field = document.createElement('input');\n field.type = 'hidden';\n field.name = key;\n field.value = payload[key] as string;\n form.appendChild(field);\n }\n\n document.body.appendChild(form);\n\n form.submit();\n\n if (createNewTab) {\n document.body.removeChild(form);\n }\n\n this.postMessage(RESPONSES.POSTFORMDATA_RESPONSE, { success: true, id });\n };\n\n private handleUploadFileRequest = async (\n id: string,\n payload: UploadFilePayload,\n ): Promise<void> => {\n if (!this.performFileUpload) {\n this.postMessage(RESPONSES.UPLOADFILE_RESPONSE, { error: 'File upload not supported', id });\n\n return;\n }\n\n const { file: encodedFile, isPublic = false, fileName } = payload;\n\n const decodedFile = await fetch(encodedFile);\n const fileBlob = await decodedFile.blob();\n\n const file = new File([fileBlob], fileName ?? `upload-${new Date().toISOString()}`, {\n type: fileBlob.type,\n }) as KizenFile;\n\n file.$id = this.createFileId?.() ?? generateUUIDV4();\n\n const result = await this.performFileUpload({\n file,\n id: file.$id,\n publicFile: isPublic,\n source: 'field_value',\n handleProgress: (p) => {\n this.postMessage(RESPONSES.UPLOADFILE_PROGRESS, {\n fileId: p.id,\n progress: p.progress,\n });\n },\n businessId: undefined,\n });\n\n this.postMessage(RESPONSES.UPLOADFILE_RESPONSE, { data: result, id });\n };\n\n private waitForReadyState = (\n predicate?: () => boolean,\n cb?: (matched: boolean) => void,\n iterations = 0,\n ): void => {\n if (!predicate) {\n cb?.(true);\n }\n\n if (predicate?.()) {\n cb?.(true);\n } else if (iterations < 20) {\n setTimeout(() => {\n this.waitForReadyState(predicate, cb, iterations + 1);\n }, iterations * 50);\n } else {\n cb?.(false);\n }\n };\n\n private handleCallThirdPartyScript = (\n scriptType?: (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS],\n args: unknown[] = [],\n ): void => {\n if (scriptType && thirdPartyGlobalNames[scriptType]) {\n const globalName = thirdPartyGlobalNames[scriptType];\n const fn = (window as unknown as Record<string, unknown>)[globalName] as\n | ((...args: unknown[]) => void)\n | undefined;\n\n fn?.(...args);\n }\n };\n\n private handleReleaseBlockingScript = (): void => {\n return this.onReleaseBlockingScript?.(this.executionPlugin);\n };\n\n private handlePromptRequest = (id: string, config: ModalConfig, dynamic = false): void => {\n if (this.onShowModal) {\n this.onShowModal(\n {\n ...config,\n pluginApiName: this.pluginApiName ?? '',\n dynamic,\n },\n (result = {}) => {\n this.postMessage(RESPONSES.PROMPT_RESPONSE, {\n id,\n data: result,\n });\n },\n );\n } else {\n this.postMessage(RESPONSES.PROMPT_RESPONSE, {\n id,\n data: { canceled: true },\n });\n }\n };\n\n private handleShowViewInModalRequest = (\n id: string,\n viewId: string,\n args?: UnknownJSON,\n options?: ShowViewInModalOptions,\n ): void => {\n if (this.onShowModal) {\n this.onShowModal(\n {\n viewId,\n ...(args !== undefined && { args }),\n pluginApiName: this.pluginApiName ?? '',\n ...(options?.size !== undefined && { size: options.size }),\n ...(options?.frameless\n ? { frameless: true }\n : {\n ...(options?.title !== undefined && { title: options.title }),\n ...(options?.confirmButton !== undefined && {\n confirmButton: options.confirmButton,\n }),\n ...(options?.cancelButton !== undefined && { cancelButton: options.cancelButton }),\n }),\n },\n (result = {}) => {\n this.postMessage(RESPONSES.PROMPT_RESPONSE, {\n id,\n data: result,\n });\n },\n );\n } else {\n this.postMessage(RESPONSES.PROMPT_RESPONSE, {\n id,\n data: { canceled: true },\n });\n }\n };\n\n private handleInstallThirdPartyScriptRequest = (\n id: string,\n url: string,\n args: UnknownJSON = {},\n ): void => {\n const type = getScriptIntegrationType(url);\n\n if (!type) {\n this.postMessage(RESPONSES.INSTALL_THIRD_PARTY_SCRIPT_RESPONSE, {\n data: { success: false, url },\n id,\n });\n return;\n }\n\n const setupFn = thirdPartySetupScripts[type];\n\n setupFn(args);\n\n const script = document.createElement('script');\n script.onload = () => {\n this.waitForReadyState(thirdPartyReadyPredicates[type], (matched: boolean) => {\n this.postMessage(RESPONSES.INSTALL_THIRD_PARTY_SCRIPT_RESPONSE, {\n data: { success: true, url, matched },\n id,\n });\n });\n };\n script.onerror = () => {\n this.postMessage(RESPONSES.INSTALL_THIRD_PARTY_SCRIPT_RESPONSE, {\n data: { success: false, url },\n id,\n });\n };\n\n script.src = url;\n script.setAttribute('data-script-url', url);\n\n const exists = document.querySelectorAll('[data-script-url=\"' + url + '\"]').length > 0;\n\n if (!exists) {\n document.documentElement.firstChild?.appendChild(script);\n } else {\n this.waitForReadyState(thirdPartyReadyPredicates[type], (matched: boolean) => {\n this.postMessage(RESPONSES.INSTALL_THIRD_PARTY_SCRIPT_RESPONSE, {\n data: { success: true, url, reused: true, matched },\n id,\n });\n });\n }\n };\n\n private handleOpenWindow = (url: string, target: string, features: string): void => {\n if (!isRelative(url) || target === '_blank' || !this.pushHistory) {\n window.open(url, target, features);\n } else {\n this.pushHistory(url);\n }\n };\n\n private handleAuthorize = (\n serviceName: string,\n config: { successRedirectPath?: string; errorRedirectPath?: string } = {},\n ): void => {\n const params = new URLSearchParams();\n if (config.successRedirectPath) {\n params.append('success_redirect_path', config.successRedirectPath);\n }\n if (config.errorRedirectPath) {\n params.append('error_redirect_path', config.errorRedirectPath);\n }\n\n if (!this.appPath) {\n this.onError?.({\n message: 'App path is not defined.',\n });\n return;\n }\n\n if (!this.pluginApiName) {\n this.onError?.({\n message: 'Plugin API name is not defined.',\n });\n return;\n }\n\n const paramString = params.toString();\n\n this.handleOpenWindow(\n `${this.appPath}/external-integrations/business-plugin-apps/${this.pluginApiName}/services/${encodeURIComponent(\n serviceName,\n )}/authorize${paramString ? `?${paramString}` : ''}`,\n '_blank',\n '',\n );\n };\n\n public run = (scriptBody: string, setup: WorkerSetup, args?: string): void => {\n const location = getPartialLocation();\n\n this.postMessage(ACTIONS.RUN, {\n script: scriptBody,\n setup,\n args,\n sessionData: this.sessionData,\n pluginComponentId: this.pluginComponentId,\n pluginApiName: this.pluginApiName,\n location,\n });\n };\n}\n","import type { SelectOption, UnknownJSON } from './types/common.js';\nimport type { RunScriptOptions } from './types/run.js';\nimport { getHash } from './util/encode.js';\nimport { isFlagEnabled } from './util/flags.js';\nimport { WorkerManager } from './WorkerManager.js';\n\nexport const runScript = async ({\n scriptBody,\n user,\n teamMember,\n business,\n onError,\n onReleaseBlockingScript,\n setLoadingState,\n clientObject,\n scriptUIRef,\n onStateChange,\n workerName,\n context,\n args = '',\n plugin,\n onShowToast,\n onClearToasts,\n terminators,\n executionPlugin,\n sessionData,\n setSessionData,\n onShowModal,\n onCloseModal,\n onShowCreateRecordModal,\n onShowCreateRelatedRecordModal,\n onNetworkError,\n onNetworkRequest,\n appPath,\n pushHistory,\n createFileId,\n performFileUpload,\n getPendingCacheCount,\n invalidateCache,\n onConsoleLog,\n}: RunScriptOptions): Promise<unknown> => {\n const isDebug = isFlagEnabled('script-runner-logging');\n\n let worker: Worker;\n\n // Webpack detects and bundles workers by precisely matching a statement that looks like this:\n // new Worker(new URL(<string>, import.meta.url))\n // This means we can't have any part of the building dynamic, and need to create the worker\n // like the following:\n if (workerName === 'recordDetail') {\n worker = new Worker(new URL('./workers/recordDetail.worker.js', import.meta.url), {\n type: 'module',\n });\n } else if (workerName === 'genericPlugin') {\n worker = new Worker(new URL('./workers/generic.worker.js', import.meta.url), {\n type: 'module',\n });\n } else if (workerName === 'floatingFramePlugin') {\n worker = new Worker(new URL('./workers/floatingFrame.worker.js', import.meta.url), {\n type: 'module',\n });\n } else {\n worker = new Worker(new URL('./workers/calendarSource.worker.js', import.meta.url), {\n type: 'module',\n });\n }\n\n return new Promise((resolve) => {\n const hashedScript = getHash(scriptBody);\n const hashedArgs = getHash(args);\n\n let workerId = `${plugin?.plugin_api_name ?? ''}-${plugin?.api_name ?? ''}-${String(hashedScript)}-${String(hashedArgs)}`;\n let componentId = `${plugin?.plugin_api_name ?? ''}-${plugin?.api_name ?? ''}`;\n\n if (executionPlugin?.field_type) {\n workerId = `${executionPlugin.plugin_api_name ?? ''}-${executionPlugin.field_type}-${String(hashedScript)}-${String(hashedArgs)}`;\n componentId = `${executionPlugin.plugin_api_name ?? ''}-${executionPlugin.field_type ?? executionPlugin.script_id}`;\n } else if (executionPlugin) {\n workerId = `${executionPlugin.plugin_api_name ?? ''}-${executionPlugin.api_name}-${String(hashedScript)}-${String(hashedArgs)}`;\n componentId = `${executionPlugin.plugin_api_name ?? ''}-${executionPlugin.api_name}`;\n }\n\n if (terminators.current[workerId]) {\n terminators.current[workerId]?.forEach((fn) => {\n fn();\n });\n\n terminators.current[workerId] = [];\n }\n\n terminators.current[workerId] ??= [];\n\n terminators.current[workerId]?.push(() => {\n worker.terminate();\n });\n\n const instance = new WorkerManager({\n worker,\n done: (preserve: boolean, result?: unknown) => {\n setLoadingState(false);\n if (!preserve) {\n terminators.current[workerId]?.forEach((fn) => {\n fn();\n });\n terminators.current[workerId] = [];\n }\n resolve(result);\n },\n onError,\n onReleaseBlockingScript,\n scriptUIRef,\n onStateChange,\n plugin,\n executionPlugin,\n onShowToast,\n onClearToasts,\n sessionData,\n setSessionData,\n pluginComponentId: componentId,\n onShowModal,\n onCloseModal,\n onShowCreateRecordModal,\n onShowCreateRelatedRecordModal,\n onNetworkError,\n pushHistory,\n onNetworkRequest,\n appPath,\n createFileId,\n performFileUpload,\n getPendingCacheCount,\n invalidateCache,\n onConsoleLog,\n });\n\n setLoadingState(true);\n\n instance.run(\n scriptBody,\n {\n ...context,\n user,\n teamMember,\n business,\n clientObject,\n appPath,\n isDebug,\n },\n args,\n );\n });\n};\n\nconst runUnknownExpression = (\n expression: string,\n values: Record<string, unknown>,\n): Promise<unknown> => {\n const worker = new Worker(new URL('./workers/expression.worker.js', import.meta.url), {\n type: 'module',\n });\n\n return new Promise((resolve) => {\n worker.onmessage = (e) => {\n const data = JSON.parse(e.data as string) as UnknownJSON;\n worker.terminate();\n resolve(data.result);\n };\n\n const isDebug = isFlagEnabled('script-runner-logging');\n\n worker.postMessage(JSON.stringify({ expression, args: values, isDebug }));\n });\n};\n\nexport const runExpression = async (expression: string, values: UnknownJSON): Promise<boolean> => {\n const result = await runUnknownExpression(expression, values);\n\n return result as boolean;\n};\n\nexport const runStringExpression = async (\n expression: string,\n values: UnknownJSON,\n): Promise<string> => {\n const result = await runUnknownExpression(expression, values);\n\n return result as string;\n};\n\nexport const runOptionExpression = async (\n expression: string,\n values: UnknownJSON,\n): Promise<SelectOption[]> => {\n const result = await runUnknownExpression(expression, values);\n\n return result as SelectOption[];\n};\n\nexport const runObjectExpression = async (\n expression: string,\n values: UnknownJSON,\n): Promise<Record<string, unknown>> => {\n const result = await runUnknownExpression(expression, values);\n\n return result as Record<string, unknown>;\n};\n","import type { WorkerPromise } from '../workers/WorkerPromise.js';\nimport type { SelectOption, UnknownJSON } from './common.js';\nimport type { Instance } from './contexts.js';\n\nexport const modalSize = {\n small: 400,\n medium: 900,\n large: 1200,\n} as const;\n\nexport type ModalSize = keyof typeof modalSize;\n\nexport interface ButtonConfig {\n label: string;\n variant?: 'text' | 'standard';\n color?: string;\n}\n\ninterface ModalDescription {\n type: 'description';\n content: string;\n widthPercent: 50 | 100;\n when?: string | undefined;\n key: string;\n}\n\ninterface ModalTextInput {\n type: 'text';\n label: string;\n placeholder: string;\n widthPercent: 50 | 100;\n id: string;\n defaultValue?: string;\n when?: string | undefined;\n key: string;\n}\n\ninterface ModalSpacer {\n type: 'spacer';\n height: number;\n widthPercent: 50 | 100;\n when?: string | undefined;\n key: string;\n}\n\ninterface ModalDropdown {\n type: 'dropdown';\n label: string;\n placeholder: string;\n widthPercent: 50 | 100;\n id: string;\n multiselect?: boolean;\n options: SelectOption[];\n defaultValue?: string;\n optionMapper?: UnknownFunction;\n getFetchUrl?: UnknownFunction;\n getHeaders?: UnknownFunction;\n getBody?: UnknownFunction;\n args?: UnknownJSON;\n when?: string | undefined;\n key: string;\n}\n\nexport interface ModalContainer {\n type: 'container';\n fields: ModalBlock[];\n when?: string | undefined;\n key: string;\n}\n\nexport type ModalBlock =\n | ModalDescription\n | ModalTextInput\n | ModalSpacer\n | ModalDropdown\n | ModalContainer;\n\nexport interface ModalConfig {\n title?: string;\n viewId?: string;\n args?: UnknownJSON;\n confirmButton?: ButtonConfig;\n cancelButton?: ButtonConfig;\n content?: ModalBlock[];\n dynamic?: boolean;\n pluginApiName?: string;\n frameless?: boolean;\n size?: ModalSize;\n}\n\nexport interface ShowViewInModalOptions {\n title?: string;\n confirmButton?: ButtonConfig;\n cancelButton?: ButtonConfig;\n frameless?: boolean;\n size?: ModalSize;\n}\n\nexport interface DynamicPromptConfig {\n title?: string;\n confirmButton?: ButtonConfig;\n cancelButton?: ButtonConfig;\n content?: ModalBlock[];\n registerUtils?: Record<string, (...args: unknown[]) => unknown>;\n size?: ModalSize;\n}\n\nexport type PromptState = Record<string, unknown>;\n\nexport type ShowViewInModalFn = (\n id: string,\n config?: { args?: UnknownJSON; options?: ShowViewInModalOptions },\n) => Promise<{\n canceled: boolean;\n result?: unknown;\n error?: unknown;\n}>;\n\nexport type CurriedShowViewInModalFn = (\n instance: Instance,\n promises: WorkerPromise,\n) => ShowViewInModalFn;\n\nexport type CloseModalFn = (values?: UnknownJSON, canceled?: boolean) => void;\n\nexport type CurriedCloseModalFn = (instance: Instance) => CloseModalFn;\n\nexport type DynamicPromptFn = (config: DynamicPromptConfig) => Promise<{\n values: Record<string, ValueStore>;\n}>;\n\nexport type CurriedDynamicPromptFn = (\n instance: Instance,\n promises: WorkerPromise,\n) => DynamicPromptFn;\n\nexport type UnknownFunction = (...args: unknown[]) => unknown;\n\nexport type SetupAssistantField = ModalBlock | AssistantField;\n\nexport type MatchSetupAssistantField = AssistantField & {\n match_hint?: string;\n};\n\nexport interface SetupAssistantConfig {\n fields?: SetupAssistantField[] | undefined;\n actions?: AssistantConfigAction[] | undefined;\n services?: ConfigService[] | undefined;\n}\n\nexport interface AssistantConfigAction {\n api_name: string;\n name: string;\n hint_object_name?: string;\n}\n\nexport interface AssistantLink {\n href: string;\n text: string;\n}\n\nexport type IncludeOption = 'email' | 'name' | 'business_id' | 'user_id' | 'base_url';\n\nexport interface AssistantField {\n key: string;\n type:\n | 'custom_object'\n | 'description'\n | 'container'\n | 'field'\n | 'text'\n | 'number'\n | 'select'\n | 'boolean'\n | 'qr'\n | 'image'\n | 'link';\n columns?: number;\n fields?: AssistantField[];\n content?: string;\n label?: string;\n object_id?: string;\n default?: string;\n options?: SelectOption[];\n allow_multiple?: boolean;\n placeholder?: string;\n when?: string;\n getFetchUrl?: string;\n typeahead?: boolean;\n optionMapper?: string;\n fetchMethod?: 'GET' | 'POST';\n getHeaders?: string;\n getBody?: string;\n getContextUrl?: string;\n autoSelect?: boolean;\n required?: boolean;\n tooltip?: string;\n dependencies?: string[];\n validation_pattern?: string;\n match_hint?: string;\n src?: string;\n link?: AssistantLink;\n title?: string;\n width?: number;\n height?: number;\n href?: string;\n text?: string;\n size?: number;\n value?: string;\n include?: IncludeOption[];\n}\n\nexport type BooleanCleanValue = boolean;\n\nexport interface BooleanValueStore {\n value: boolean;\n}\n\nexport interface CustomObjectCleanValue {\n objectId: string;\n objectName: string;\n}\n\nexport interface CustomObjectValueStore {\n value?: {\n id: string;\n objectName: string;\n };\n}\n\ninterface FieldCleanValueSingle {\n fieldId: string;\n fieldName: string;\n objectId?: string;\n objectName?: string;\n}\n\nexport type FieldCleanValue = FieldCleanValueSingle | FieldCleanValueSingle[];\n\nexport interface FieldValueStore {\n value: SelectOption | SelectOption[];\n associatedObject?: {\n id: string;\n name: string;\n };\n}\n\nexport type NumberCleanValue = number;\n\nexport interface NumberValueStore {\n value: number | string;\n}\n\nexport type SelectCleanValue = SelectOption | SelectOption[];\n\nexport interface SelectValueStore {\n value: SelectOption | SelectOption[];\n}\n\ntype TextCleanValue = string;\n\nexport interface TextValueStore {\n value: string;\n}\n\nexport type ValueStore =\n | BooleanValueStore\n | CustomObjectValueStore\n | FieldValueStore\n | NumberValueStore\n | SelectValueStore\n | TextValueStore;\n\nexport type CleanValueStoreType =\n | BooleanCleanValue\n | CustomObjectCleanValue\n | FieldCleanValue\n | NumberCleanValue\n | SelectCleanValue\n | TextCleanValue;\n\nexport type CleanValueStore = Record<string, CleanValueStoreType>;\n\nexport type OnShowModalFn = (config: ModalConfig, cb: (result?: UnknownJSON) => void) => void;\n\nexport type OnCloseModalFn = (values?: UnknownJSON, canceled?: boolean) => void;\n\nexport type OnShowCreateRecordModalFn = (\n objectId: string,\n cb: (result: UnknownJSON) => void,\n) => void;\n\nexport type OnShowCreateRelatedRecordModalFn = (\n objectId: string,\n relatedEntityId: string,\n cb: (result: UnknownJSON) => void,\n) => void;\n\nexport type ModalQueue = { config: ModalConfig; cb: (...args: unknown[]) => void }[];\nexport type CreateRecordModalQueue = { objectId: string; cb: (result: UnknownJSON) => void }[];\nexport type CreateRelatedRecordModalQueue = {\n objectId: string;\n relatedEntityId: string;\n cb: (result: UnknownJSON) => void;\n}[];\n\nexport type ModalCancelEventSource = 'button' | 'close' | 'script';\n\nexport interface ConfigService {\n api_name: string;\n prerequisite: boolean;\n required: boolean;\n}\n","export const version = __PKG_VERSION__;\n\nexport {\n runScript,\n runExpression,\n runObjectExpression,\n runOptionExpression,\n runStringExpression,\n} from './run.js';\n\nexport type * from './types/index.js';\nexport { modalSize } from './types/modals.js';\n"]}
@@ -1,6 +1,6 @@
1
- import { cleanConfig, serializeConsoleArg } from './chunk-36G3L5ZV.js';
2
- import { Communicate } from './chunk-4MQ4E7D6.js';
3
- import { RESPONSES, ACTIONS, ThirdPartyScript } from './chunk-DQECJSHA.js';
1
+ import { cleanConfig, serializeConsoleArg } from './chunk-ONOMSP4K.js';
2
+ import { Communicate } from './chunk-PU3QT2HI.js';
3
+ import { RESPONSES, ACTIONS, ThirdPartyScript } from './chunk-KZS4W7PY.js';
4
4
 
5
5
  // src/contexts/BaseWorkerContext.ts
6
6
  var buildErrorResponse = async (result) => {
@@ -772,5 +772,5 @@ ${this.scriptBody}`);
772
772
  };
773
773
 
774
774
  export { BaseWorkerContext };
775
- //# sourceMappingURL=chunk-6EG3BV5X.js.map
776
- //# sourceMappingURL=chunk-6EG3BV5X.js.map
775
+ //# sourceMappingURL=chunk-FXBESMDZ.js.map
776
+ //# sourceMappingURL=chunk-FXBESMDZ.js.map