@kizenapps/engine 1.8.0 → 1.9.0-ccfe3f0

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 (51) hide show
  1. package/dist/{ThirdPartyScript-DauYx3B5.d.ts → ThirdPartyScript-BkCjYWLd.d.ts} +10 -1
  2. package/dist/{automation-Dr26TnMo.d.ts → automation-BuZbZjRB.d.ts} +11 -3
  3. package/dist/{blocks-C0e9BCrR.d.ts → blocks-1HdzUin7.d.ts} +2 -2
  4. package/dist/{chunk-QYGHOK5P.js → chunk-4F3ZPLL7.js} +3 -3
  5. package/dist/{chunk-QYGHOK5P.js.map → chunk-4F3ZPLL7.js.map} +1 -1
  6. package/dist/{chunk-MY4MXCGX.js → chunk-5IUXBYZK.js} +4 -4
  7. package/dist/{chunk-MY4MXCGX.js.map → chunk-5IUXBYZK.js.map} +1 -1
  8. package/dist/{chunk-5M2LFHMD.js → chunk-6ZZ7U3AM.js} +26 -4
  9. package/dist/chunk-6ZZ7U3AM.js.map +1 -0
  10. package/dist/{chunk-IFLQXUV7.js → chunk-CMFPH7ZI.js} +39 -6
  11. package/dist/chunk-CMFPH7ZI.js.map +1 -0
  12. package/dist/{chunk-Y32HBIQ2.js → chunk-IWQF53YW.js} +24 -5
  13. package/dist/chunk-IWQF53YW.js.map +1 -0
  14. package/dist/{chunk-DW7EWU2Z.js → chunk-KCA5EK7O.js} +7 -5
  15. package/dist/chunk-KCA5EK7O.js.map +1 -0
  16. package/dist/{chunk-ANZLHJL2.js → chunk-LMH2CUPW.js} +3 -3
  17. package/dist/{chunk-ANZLHJL2.js.map → chunk-LMH2CUPW.js.map} +1 -1
  18. package/dist/{chunk-A3JR3VXF.js → chunk-OZGSC5IX.js} +3 -3
  19. package/dist/{chunk-A3JR3VXF.js.map → chunk-OZGSC5IX.js.map} +1 -1
  20. package/dist/{chunk-KVE4CAUJ.js → chunk-V2YSOGVX.js} +3 -3
  21. package/dist/{chunk-KVE4CAUJ.js.map → chunk-V2YSOGVX.js.map} +1 -1
  22. package/dist/communication.d.ts +2 -2
  23. package/dist/communication.js +2 -2
  24. package/dist/contexts/base.d.ts +4 -2
  25. package/dist/contexts/base.js +4 -4
  26. package/dist/contexts/floatingFrame.d.ts +1 -1
  27. package/dist/contexts/floatingFrame.js +5 -5
  28. package/dist/contexts/recordDetail.d.ts +1 -1
  29. package/dist/contexts/recordDetail.js +5 -5
  30. package/dist/index.d.ts +7 -7
  31. package/dist/index.js +4 -4
  32. package/dist/react.d.ts +5 -4
  33. package/dist/react.js +33 -16
  34. package/dist/react.js.map +1 -1
  35. package/dist/types.d.ts +11 -6
  36. package/dist/util.d.ts +3 -3
  37. package/dist/util.js +6 -6
  38. package/dist/{values-DCW2Il72.d.ts → values-08CsQDfa.d.ts} +2 -2
  39. package/dist/workers/calendarSource.worker.js +7 -6
  40. package/dist/workers/calendarSource.worker.js.map +1 -1
  41. package/dist/workers/floatingFrame.worker.js +8 -7
  42. package/dist/workers/floatingFrame.worker.js.map +1 -1
  43. package/dist/workers/generic.worker.js +7 -6
  44. package/dist/workers/generic.worker.js.map +1 -1
  45. package/dist/workers/recordDetail.worker.js +8 -7
  46. package/dist/workers/recordDetail.worker.js.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/chunk-5M2LFHMD.js.map +0 -1
  49. package/dist/chunk-DW7EWU2Z.js.map +0 -1
  50. package/dist/chunk-IFLQXUV7.js.map +0 -1
  51. package/dist/chunk-Y32HBIQ2.js.map +0 -1
@@ -211,6 +211,7 @@ interface SetupAssistantConfig {
211
211
  fields?: SetupAssistantField[] | undefined;
212
212
  actions?: AssistantConfigAction[] | undefined;
213
213
  services?: ConfigService[] | undefined;
214
+ view?: string | undefined;
214
215
  }
215
216
  interface AssistantConfigAction {
216
217
  api_name: string;
@@ -404,6 +405,7 @@ declare const ACTIONS: {
404
405
  CLOSE_MODAL_REQUEST: string;
405
406
  CONSOLE_LOG: string;
406
407
  RUN_EVENT_SCRIPT: string;
408
+ COMPLETE_SETUP_REQUEST: string;
407
409
  };
408
410
  declare enum INDICATOR_TYPE {
409
411
  NONE = "none",
@@ -455,6 +457,12 @@ type InstallThirdPartyScriptFn = (url: string, args: Record<string, unknown>) =>
455
457
  url: string;
456
458
  }>;
457
459
  type CurriedInstallThirdPartyScriptFn = (instance: Instance, promises: WorkerPromise) => InstallThirdPartyScriptFn;
460
+ type CompleteSetupLevel = 'business' | 'user';
461
+ interface CompleteSetupOptions {
462
+ level?: CompleteSetupLevel | undefined;
463
+ }
464
+ type CompleteSetupFn = (payload: UnknownJSON, options?: CompleteSetupOptions) => Promise<unknown>;
465
+ type CurriedCompleteSetupFn = (instance: Instance, promises: WorkerPromise) => CompleteSetupFn;
458
466
  type PromptFn = (config: ModalConfig) => Promise<unknown>;
459
467
  type CurriedPromptFn = (instance: Instance, promises: WorkerPromise) => PromptFn;
460
468
  type RefreshEntityFn = (entityId: string) => Promise<unknown>;
@@ -493,6 +501,7 @@ interface WorkerContextArgs {
493
501
  location: PartialLocation;
494
502
  showViewInModal: ShowViewInModalFn;
495
503
  closeModal: CloseModalFn;
504
+ completeSetup: CompleteSetupFn;
496
505
  }
497
506
  type KizenConfig = Record<string, unknown>;
498
507
  interface KnownArgs {
@@ -524,4 +533,4 @@ declare class ThirdPartyScript {
524
533
  call(...params: unknown[]): void;
525
534
  }
526
535
 
527
- 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, INDICATOR_TYPE as b4, IFRAME_PREFIX 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 };
536
+ export { type CurriedOpenCreateRecordFn as $, type Args as A, type BaseAPI as B, type CurrentUser as C, type DataCache as D, type CleanValueStore as E, type CleanValueStoreType as F, type GetOptions as G, type CloseModalFn as H, type Instance as I, type CompleteSetupFn as J, type CompleteSetupLevel as K, type ConfigService as L, type ModalConfig as M, type ConsoleLogLevel as N, type CreateRecordModalQueue as O, type PartialEntity as P, type CreateRelatedRecordModalQueue as Q, type RequestWithErrorsResponse as R, type StateChangePayload as S, ThirdPartyScript as T, type UnknownJSON as U, type CurriedCloseModalFn as V, type WorkerContextArgs as W, type CurriedCompleteSetupFn as X, type CurriedDynamicPromptFn as Y, type CurriedInstallThirdPartyScriptFn as Z, type CurriedKizenRequestFn as _, type PartialCustomObject as a, type UnknownFunction as a$, type CurriedOpenCreateRelatedRecordFn as a0, type CurriedPostFormDataFn as a1, type CurriedPromptFn as a2, type CurriedRefreshEntityFn as a3, type CurriedShowViewInModalFn as a4, type CurriedUploadFileFn as a5, type CustomObjectCleanValue as a6, type CustomObjectValueStore as a7, type DataCacheEntry as a8, type DeleteReturnValue as a9, type NumberValueStore as aA, type OnCloseModalFn as aB, type OnNetworkErrorFn as aC, type OnShowCreateRecordModalFn as aD, type OnShowCreateRelatedRecordModalFn as aE, type OnShowModalFn as aF, type OpenCreateRecordFn as aG, type OpenCreateRelatedRecordFn as aH, type PartialRelatedObject as aI, type PatchReturnValue as aJ, type PostFormDataPayload as aK, type PostReturnValue as aL, type Profile as aM, type PromiseMap as aN, type PromiseReject as aO, type PromiseResolve as aP, type PromiseState as aQ, type PromptFn as aR, type PutReturnValue as aS, type RefreshEntityFn as aT, type ReleaseBlockingScriptHandler as aU, type SelectCleanValue as aV, type SelectValueStore as aW, type SetInternalSessionDataFn as aX, type SetupAssistantConfig as aY, type ShowViewInModalFn as aZ, type TextValueStore as a_, type DynamicPromptFn as aa, type EmployeeConfig as ab, type ErrorHandler as ac, type ErrorResponse as ad, type FieldCleanValue as ae, type FieldValueStore as af, type GetReturnValue as ag, type InstallThirdPartyScriptFn as ah, type JSONArray as ai, type JSONObject as aj, type JSONPrimitive as ak, type JSONValue as al, type KizenConfig as am, type KizenNetworkResponse as an, type KizenProxySuccessResponse as ao, type KizenRequestFn as ap, type KizenRequestFnHandler as aq, type KnownArgs as ar, type MatchSetupAssistantField as as, type MaybeMessageError as at, type ModalBlock as au, type ModalCancelEventSource as av, type ModalContainer as aw, type ModalQueue as ax, type ModalSize as ay, type NumberCleanValue as az, type PartialUser as b, type UploadFileData as b0, type UploadFileFn as b1, type UserConfig as b2, type ValueStore as b3, modalSize as b4, KizenRequestError as b5, ACTIONS as b6, ALLOWED_INTEGRATIONS as b7, INDICATOR_TYPE as b8, IFRAME_PREFIX as b9, 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 CompleteSetupOptions as j, type RequestOptions as k, type ShowToastOptions as l, type ShowViewInModalOptions as m, type DynamicPromptConfig as n, type ConsoleBridge as o, type IncludeOption as p, type SetupAssistantField as q, type AppPlugin as r, type SelectOption as s, type AppPlugins as t, type AssistantConfigAction as u, type AssistantField as v, type AssistantLink as w, type BooleanCleanValue as x, type BooleanValueStore as y, type ButtonConfig as z };
@@ -1,4 +1,4 @@
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-DauYx3B5.js';
1
+ import { b6 as ACTIONS, U as UnknownJSON, b7 as ALLOWED_INTEGRATIONS, j as CompleteSetupOptions, N as ConsoleLogLevel, M as ModalConfig, S as StateChangePayload, l as ShowToastOptions, h as InternalSessionData, m as ShowViewInModalOptions, aX as SetInternalSessionDataFn, aF as OnShowModalFn, aD as OnShowCreateRecordModalFn, aE as OnShowCreateRelatedRecordModalFn, aB as OnCloseModalFn, aC as OnNetworkErrorFn, W as WorkerContextArgs, ab as EmployeeConfig } from './ThirdPartyScript-BkCjYWLd.js';
2
2
  import { H as HideConfig, S as ShowConfig } from './floatingFrames-BzaoL7cq.js';
3
3
  import { B as BuildIframeURLWithProxyOptions } from './frames-AOHUyPDP.js';
4
4
 
@@ -38,6 +38,7 @@ interface RunScriptOptions {
38
38
  sessionData: InternalSessionData;
39
39
  setSessionData: SetInternalSessionDataFn;
40
40
  onShowModal: OnShowModalFn;
41
+ onCompleteSetup?: OnCompleteSetupFn | undefined;
41
42
  onShowCreateRecordModal: OnShowCreateRecordModalFn;
42
43
  onShowCreateRelatedRecordModal: OnShowCreateRelatedRecordModalFn;
43
44
  onCloseModal?: OnCloseModalFn;
@@ -80,6 +81,11 @@ interface UIOutputEvent extends BaseEvent {
80
81
  markup: string;
81
82
  options?: BuildIframeURLWithProxyOptions;
82
83
  }
84
+ interface CompleteSetupRequestEvent extends BaseEvent {
85
+ id: string;
86
+ payload: UnknownJSON;
87
+ options?: CompleteSetupOptions;
88
+ }
83
89
  interface IframeOutputEvent extends BaseEvent {
84
90
  url: string;
85
91
  allow?: string[];
@@ -203,7 +209,9 @@ interface RunEventScriptEvent extends BaseEvent {
203
209
  }
204
210
  type OnConsoleLogFn = (level: ConsoleLogLevel, args: unknown[]) => void;
205
211
  type OnRunEventScriptFn = (scriptName: string, args?: UnknownJSON) => void;
206
- type MessageEventData = QueryRequestEvent | UIOutputEvent | IframeOutputEvent | PostFormDataRequestEvent | UploadFileRequestEvent | SetStateEvent | DoneEvent | ErrorEvent | OpenWindowEvent | CommunicateEvent | HideEvent | ShowEvent | CopyToClipboardEvent | OpenCreateRecordModalRequestEvent | OpenCreateRelatedRecordModalRequestEvent | ShowToastEvent | RefreshTimelineEvent | RefreshEntityEvent | UpdateSessionDataEvent | InstallThirdPartyScriptRequestEvent | PromptRequestEvent | DynamicPromptRequestEvent | ShowViewInModalRequestEvent | CloseModalRequestEvent | AuthorizeEvent | ConsoleLogEvent | RunEventScriptEvent;
212
+ type OnCompleteSetupFn = (payload: UnknownJSON, options?: CompleteSetupOptions) => Promise<unknown>;
213
+ type HostCompleteSetupFn = (pluginApiName: string, payload: UnknownJSON, options?: CompleteSetupOptions) => Promise<unknown>;
214
+ type MessageEventData = QueryRequestEvent | UIOutputEvent | CompleteSetupRequestEvent | IframeOutputEvent | PostFormDataRequestEvent | UploadFileRequestEvent | SetStateEvent | DoneEvent | ErrorEvent | OpenWindowEvent | CommunicateEvent | HideEvent | ShowEvent | CopyToClipboardEvent | OpenCreateRecordModalRequestEvent | OpenCreateRelatedRecordModalRequestEvent | ShowToastEvent | RefreshTimelineEvent | RefreshEntityEvent | UpdateSessionDataEvent | InstallThirdPartyScriptRequestEvent | PromptRequestEvent | DynamicPromptRequestEvent | ShowViewInModalRequestEvent | CloseModalRequestEvent | AuthorizeEvent | ConsoleLogEvent | RunEventScriptEvent;
207
215
  type InvalidateCacheFn = (category: 'timeline' | 'entity', entityId: string) => void;
208
216
  type GetPendingCacheCountFn = (search: string) => number;
209
217
  interface KizenFile extends File {
@@ -364,4 +372,4 @@ interface AutomationStepConfig<T = unknown> {
364
372
  plugin_api_name?: string;
365
373
  }
366
374
 
367
- export type { SchemaValidation as $, AutomationStepConfig as A, BaseEvent as B, CalendarSourceConfig as C, DataAdornmentConfig as D, ErrorEvent as E, FloatingFrameConfig as F, GetPendingCacheCountFn as G, HideEvent as H, IframeOutputEvent as I, OnShowToastFn as J, KizenFile as K, OpenCreateRecordModalRequestEvent as L, MessageEventData as M, OpenCreateRelatedRecordModalRequestEvent as N, OnClearToastsFn as O, OpenWindowEvent as P, PerformKizenFileUploadFn as Q, RoutablePageConfig as R, PostFormDataRequestEvent as S, ToolbarItemConfig as T, PromptRequestEvent as U, QueryRequestEvent as V, RecipientConfig as W, RefreshEntityEvent as X, RefreshTimelineEvent as Y, RequestableQueryMethods as Z, RunEventScriptEvent as _, RouteScriptConfig as a, SetStateEvent as a0, ShowEvent as a1, ShowToastEvent as a2, ShowViewInModalRequestEvent as a3, TerminatorContent as a4, Terminators as a5, UIOutputEvent as a6, UpdateSessionDataEvent as a7, UploadFilePayload as a8, UploadFileRequestEvent as a9, WindowPosition as aa, CommonExecutionPlugin as b, CommonPluginDefinition as c, RunScriptOptions as d, AuthorizeEvent as e, CalendarDefinition as f, CalendarScriptReturnData as g, CalendarSourceMap as h, CalendarSources as i, CloseModalRequestEvent as j, CommunicateEvent as k, ConsoleLogEvent as l, CopyToClipboardEvent as m, CreateFileIdFn as n, DoneEvent as o, DynamicPromptRequestEvent as p, ExecuteCalendarSourceScript as q, ExecuteFloatingFrameScript as r, FloatingFrameEmployeeConfig as s, FrameQuadrant as t, InstallThirdPartyScriptRequestEvent as u, InvalidateCacheFn as v, MinimizedConfig as w, OnConsoleLogFn as x, OnNetworkRequestFn as y, OnRunEventScriptFn as z };
375
+ export type { RefreshTimelineEvent as $, AutomationStepConfig as A, BaseEvent as B, CalendarSourceConfig as C, DataAdornmentConfig as D, ErrorEvent as E, FloatingFrameConfig as F, GetPendingCacheCountFn as G, HideEvent as H, IframeOutputEvent as I, OnConsoleLogFn as J, KizenFile as K, OnNetworkRequestFn as L, MessageEventData as M, OnRunEventScriptFn as N, OnClearToastsFn as O, OnShowToastFn as P, OpenCreateRecordModalRequestEvent as Q, RoutablePageConfig as R, OpenCreateRelatedRecordModalRequestEvent as S, ToolbarItemConfig as T, OpenWindowEvent as U, PerformKizenFileUploadFn as V, PostFormDataRequestEvent as W, PromptRequestEvent as X, QueryRequestEvent as Y, RecipientConfig as Z, RefreshEntityEvent as _, RouteScriptConfig as a, RequestableQueryMethods as a0, RunEventScriptEvent as a1, SchemaValidation as a2, SetStateEvent as a3, ShowEvent as a4, ShowToastEvent as a5, ShowViewInModalRequestEvent as a6, TerminatorContent as a7, Terminators as a8, UIOutputEvent as a9, UpdateSessionDataEvent as aa, UploadFilePayload as ab, UploadFileRequestEvent as ac, WindowPosition as ad, CommonExecutionPlugin as b, CommonPluginDefinition as c, RunScriptOptions as d, AuthorizeEvent as e, CalendarDefinition as f, CalendarScriptReturnData as g, CalendarSourceMap as h, CalendarSources as i, CloseModalRequestEvent as j, CommunicateEvent as k, CompleteSetupRequestEvent as l, ConsoleLogEvent as m, CopyToClipboardEvent as n, CreateFileIdFn as o, DoneEvent as p, DynamicPromptRequestEvent as q, ExecuteCalendarSourceScript as r, ExecuteFloatingFrameScript as s, FloatingFrameEmployeeConfig as t, FrameQuadrant as u, HostCompleteSetupFn as v, InstallThirdPartyScriptRequestEvent as w, InvalidateCacheFn as x, MinimizedConfig as y, OnCompleteSetupFn as z };
@@ -1,5 +1,5 @@
1
- import { b as CommonExecutionPlugin, c as CommonPluginDefinition } from './automation-Dr26TnMo.js';
2
- import { U as UnknownJSON } from './ThirdPartyScript-DauYx3B5.js';
1
+ import { b as CommonExecutionPlugin, c as CommonPluginDefinition } from './automation-BuZbZjRB.js';
2
+ import { U as UnknownJSON } from './ThirdPartyScript-BkCjYWLd.js';
3
3
 
4
4
  interface GenericPluginConfig extends CommonPluginDefinition {
5
5
  api_name: string;
@@ -1,4 +1,4 @@
1
- import { COMMUNICATIONS, ACTIONS } from './chunk-DW7EWU2Z.js';
1
+ import { COMMUNICATIONS, ACTIONS } from './chunk-KCA5EK7O.js';
2
2
 
3
3
  // src/communication/Communicate.ts
4
4
  var runFrameScriptEventName = `integration:${COMMUNICATIONS.RUN_FRAME_SCRIPT}`;
@@ -51,5 +51,5 @@ var Communicate = class {
51
51
  };
52
52
 
53
53
  export { Communicate, runBlockScriptEventName, runFrameScriptEventName };
54
- //# sourceMappingURL=chunk-QYGHOK5P.js.map
55
- //# sourceMappingURL=chunk-QYGHOK5P.js.map
54
+ //# sourceMappingURL=chunk-4F3ZPLL7.js.map
55
+ //# sourceMappingURL=chunk-4F3ZPLL7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/communication/Communicate.ts"],"names":[],"mappings":";;;AAGO,IAAM,uBAAA,GAA0B,CAAA,YAAA,EAAe,cAAA,CAAe,gBAAgB,CAAA;AAC9E,IAAM,uBAAA,GAA0B,CAAA,YAAA,EAAe,cAAA,CAAe,gBAAgB,CAAA;AAE9E,IAAM,cAAN,MAAkB;AAAA,EACf,QAAA;AAAA,EAER,YAAY,QAAA,EAAoB;AAC9B,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAAA,EAClB;AAAA,EAEO,cAAA,CACL,YAAA,EACA,QAAA,EACA,IAAA,EACM;AACN,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,WAAA;AAAA,QAChB,MAAM,cAAA,CAAe,gBAAA;AAAA,QACrB,SAAA,EAAW,uBAAA;AAAA,QACX,SAAA,EAAW;AAAA,UACT,KAAA,EAAO,YAAA;AAAA,UACP,MAAA,EAAQ;AAAA,SACV;AAAA,QACA;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,cAAA,CACL,YAAA,EACA,QAAA,EACA,IAAA,EACM;AACN,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,WAAA;AAAA,QAChB,MAAM,cAAA,CAAe,gBAAA;AAAA,QACrB,SAAA,EAAW,uBAAA;AAAA,QACX,SAAA,EAAW;AAAA,UACT,KAAA,EAAO,YAAA;AAAA,UACP,MAAA,EAAQ;AAAA,SACV;AAAA,QACA;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,qBAAA,CAAsB,SAAkB,IAAA,EAAoB;AACjE,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,WAAA;AAAA,QAChB,MAAM,cAAA,CAAe,qBAAA;AAAA,QACrB,IAAA,EAAM;AAAA,UACJ,OAAA;AAAA,UACA;AAAA;AACF,OACD;AAAA,KACH;AAAA,EACF;AACF","file":"chunk-QYGHOK5P.js","sourcesContent":["import type { Instance } from '../types/contexts.js';\nimport { ACTIONS, COMMUNICATIONS } from './constants.js';\n\nexport const runFrameScriptEventName = `integration:${COMMUNICATIONS.RUN_FRAME_SCRIPT}`;\nexport const runBlockScriptEventName = `integration:${COMMUNICATIONS.RUN_BLOCK_SCRIPT}`;\n\nexport class Communicate {\n private instance: Instance;\n\n constructor(instance: Instance) {\n this.instance = instance;\n }\n\n public runFrameScript(\n frameAPIName: string,\n scriptId: string,\n args?: Record<string, string | number>,\n ): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.RUN_FRAME_SCRIPT,\n eventName: runFrameScriptEventName,\n recipient: {\n frame: frameAPIName,\n script: scriptId,\n },\n args,\n }),\n );\n }\n\n public runBlockScript(\n blockAPIName: string,\n scriptId: string,\n args?: Record<string, string | number>,\n ): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.RUN_BLOCK_SCRIPT,\n eventName: runBlockScriptEventName,\n recipient: {\n block: blockAPIName,\n script: scriptId,\n },\n args,\n }),\n );\n }\n\n public sendMessageToOwnFrame(payload: unknown, path: string): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.SEND_MESSAGE_TO_FRAME,\n args: {\n payload,\n path,\n },\n }),\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/communication/Communicate.ts"],"names":[],"mappings":";;;AAGO,IAAM,uBAAA,GAA0B,CAAA,YAAA,EAAe,cAAA,CAAe,gBAAgB,CAAA;AAC9E,IAAM,uBAAA,GAA0B,CAAA,YAAA,EAAe,cAAA,CAAe,gBAAgB,CAAA;AAE9E,IAAM,cAAN,MAAkB;AAAA,EACf,QAAA;AAAA,EAER,YAAY,QAAA,EAAoB;AAC9B,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAAA,EAClB;AAAA,EAEO,cAAA,CACL,YAAA,EACA,QAAA,EACA,IAAA,EACM;AACN,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,WAAA;AAAA,QAChB,MAAM,cAAA,CAAe,gBAAA;AAAA,QACrB,SAAA,EAAW,uBAAA;AAAA,QACX,SAAA,EAAW;AAAA,UACT,KAAA,EAAO,YAAA;AAAA,UACP,MAAA,EAAQ;AAAA,SACV;AAAA,QACA;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,cAAA,CACL,YAAA,EACA,QAAA,EACA,IAAA,EACM;AACN,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,WAAA;AAAA,QAChB,MAAM,cAAA,CAAe,gBAAA;AAAA,QACrB,SAAA,EAAW,uBAAA;AAAA,QACX,SAAA,EAAW;AAAA,UACT,KAAA,EAAO,YAAA;AAAA,UACP,MAAA,EAAQ;AAAA,SACV;AAAA,QACA;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,qBAAA,CAAsB,SAAkB,IAAA,EAAoB;AACjE,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,WAAA;AAAA,QAChB,MAAM,cAAA,CAAe,qBAAA;AAAA,QACrB,IAAA,EAAM;AAAA,UACJ,OAAA;AAAA,UACA;AAAA;AACF,OACD;AAAA,KACH;AAAA,EACF;AACF","file":"chunk-4F3ZPLL7.js","sourcesContent":["import type { Instance } from '../types/contexts.js';\nimport { ACTIONS, COMMUNICATIONS } from './constants.js';\n\nexport const runFrameScriptEventName = `integration:${COMMUNICATIONS.RUN_FRAME_SCRIPT}`;\nexport const runBlockScriptEventName = `integration:${COMMUNICATIONS.RUN_BLOCK_SCRIPT}`;\n\nexport class Communicate {\n private instance: Instance;\n\n constructor(instance: Instance) {\n this.instance = instance;\n }\n\n public runFrameScript(\n frameAPIName: string,\n scriptId: string,\n args?: Record<string, string | number>,\n ): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.RUN_FRAME_SCRIPT,\n eventName: runFrameScriptEventName,\n recipient: {\n frame: frameAPIName,\n script: scriptId,\n },\n args,\n }),\n );\n }\n\n public runBlockScript(\n blockAPIName: string,\n scriptId: string,\n args?: Record<string, string | number>,\n ): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.RUN_BLOCK_SCRIPT,\n eventName: runBlockScriptEventName,\n recipient: {\n block: blockAPIName,\n script: scriptId,\n },\n args,\n }),\n );\n }\n\n public sendMessageToOwnFrame(payload: unknown, path: string): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.SEND_MESSAGE_TO_FRAME,\n args: {\n payload,\n path,\n },\n }),\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { BaseWorkerContext } from './chunk-Y32HBIQ2.js';
2
- import { ACTIONS } from './chunk-DW7EWU2Z.js';
1
+ import { BaseWorkerContext } from './chunk-IWQF53YW.js';
2
+ import { ACTIONS } from './chunk-KCA5EK7O.js';
3
3
 
4
4
  // src/contexts/FloatingFrameWorkerContext.ts
5
5
  var FloatingFrameWorkerContext = class extends BaseWorkerContext {
@@ -57,5 +57,5 @@ var FloatingFrameWorkerContext = class extends BaseWorkerContext {
57
57
  };
58
58
 
59
59
  export { FloatingFrameWorkerContext };
60
- //# sourceMappingURL=chunk-MY4MXCGX.js.map
61
- //# sourceMappingURL=chunk-MY4MXCGX.js.map
60
+ //# sourceMappingURL=chunk-5IUXBYZK.js.map
61
+ //# sourceMappingURL=chunk-5IUXBYZK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/contexts/FloatingFrameWorkerContext.ts"],"names":[],"mappings":";;;;AAKO,IAAM,0BAAA,GAAN,cAAyC,iBAAA,CAAkB;AAAA,EAChE,YAAY,IAAA,EAAyB;AACnC,IAAA,KAAA,CAAM,IAAI,CAAA;AACV,IAAA,IAAA,CAAK,UAAA,GAAa,eAAA;AAAA,EACpB;AAAA,EAEO,IAAA,CAAK,MAAA,GAAqB,EAAC,EAAS;AACzC,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,IAAA;AAAA,QAChB;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,UAAA,GAAmB;AACxB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,UAAA,GAAmB;AACxB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,IAAA,CAAK,MAAA,GAAqB,EAAC,EAAS;AACzC,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,IAAA;AAAA,QAChB;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,MAAA,GAAe;AACpB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,QAAA,GAAiB;AACtB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEmB,UAAA,GAAmB;AACpC,IAAA,IAAA,CAAK,IAAA,EAAK;AAAA,EACZ;AACF","file":"chunk-MY4MXCGX.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport type { WorkerContextArgs } from '../types/contexts.js';\nimport type { HideConfig, ShowConfig } from '../types/floatingFrames.js';\nimport { BaseWorkerContext } from './BaseWorkerContext.js';\n\nexport class FloatingFrameWorkerContext extends BaseWorkerContext {\n constructor(args: WorkerContextArgs) {\n super(args);\n this.runnerType = 'floatingFrame';\n }\n\n public hide(config: HideConfig = {}): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.HIDE,\n config,\n }),\n );\n }\n\n public hideHeader(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.HIDE_HEADER,\n }),\n );\n }\n\n public showHeader(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.SHOW_HEADER,\n }),\n );\n }\n\n public show(config: ShowConfig = {}): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.SHOW,\n config,\n }),\n );\n }\n\n public expand(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.EXPAND,\n }),\n );\n }\n\n public collapse(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COLLAPSE,\n }),\n );\n }\n\n protected override afterSetup(): void {\n this.show();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/contexts/FloatingFrameWorkerContext.ts"],"names":[],"mappings":";;;;AAKO,IAAM,0BAAA,GAAN,cAAyC,iBAAA,CAAkB;AAAA,EAChE,YAAY,IAAA,EAAyB;AACnC,IAAA,KAAA,CAAM,IAAI,CAAA;AACV,IAAA,IAAA,CAAK,UAAA,GAAa,eAAA;AAAA,EACpB;AAAA,EAEO,IAAA,CAAK,MAAA,GAAqB,EAAC,EAAS;AACzC,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,IAAA;AAAA,QAChB;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,UAAA,GAAmB;AACxB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,UAAA,GAAmB;AACxB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,IAAA,CAAK,MAAA,GAAqB,EAAC,EAAS;AACzC,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,IAAA;AAAA,QAChB;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,MAAA,GAAe;AACpB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,QAAA,GAAiB;AACtB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEmB,UAAA,GAAmB;AACpC,IAAA,IAAA,CAAK,IAAA,EAAK;AAAA,EACZ;AACF","file":"chunk-5IUXBYZK.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport type { WorkerContextArgs } from '../types/contexts.js';\nimport type { HideConfig, ShowConfig } from '../types/floatingFrames.js';\nimport { BaseWorkerContext } from './BaseWorkerContext.js';\n\nexport class FloatingFrameWorkerContext extends BaseWorkerContext {\n constructor(args: WorkerContextArgs) {\n super(args);\n this.runnerType = 'floatingFrame';\n }\n\n public hide(config: HideConfig = {}): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.HIDE,\n config,\n }),\n );\n }\n\n public hideHeader(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.HIDE_HEADER,\n }),\n );\n }\n\n public showHeader(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.SHOW_HEADER,\n }),\n );\n }\n\n public show(config: ShowConfig = {}): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.SHOW,\n config,\n }),\n );\n }\n\n public expand(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.EXPAND,\n }),\n );\n }\n\n public collapse(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COLLAPSE,\n }),\n );\n }\n\n protected override afterSetup(): void {\n this.show();\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { ACTIONS, RESPONSES } from './chunk-DW7EWU2Z.js';
1
+ import { ACTIONS, RESPONSES } from './chunk-KCA5EK7O.js';
2
2
 
3
3
  // src/util/console.ts
4
4
  var UNSERIALIZABLE = (reason) => ({
@@ -449,6 +449,19 @@ var uploadFileHandler = (instance, promises) => (payload) => {
449
449
  );
450
450
  });
451
451
  };
452
+ var completeSetupHandler = (instance, promises) => (payload, options) => {
453
+ return new Promise((resolve, reject) => {
454
+ const id = promises.register(resolve, reject);
455
+ instance.postMessage(
456
+ JSON.stringify({
457
+ action: ACTIONS.COMPLETE_SETUP_REQUEST,
458
+ id,
459
+ payload,
460
+ options
461
+ })
462
+ );
463
+ });
464
+ };
452
465
  var installThirdPartyScriptHandler = (instance, promises) => (url, args) => {
453
466
  return new Promise((resolve, reject) => {
454
467
  const id = promises.register(resolve, reject);
@@ -534,6 +547,15 @@ var handleCommonResponse = (action, e, promises) => {
534
547
  }
535
548
  break;
536
549
  }
550
+ case RESPONSES.COMPLETE_SETUP_RESPONSE: {
551
+ const { id, success, error } = JSON.parse(e.data);
552
+ if (success) {
553
+ promises.resolve(id);
554
+ } else {
555
+ promises.reject(id, new Error(error ?? "Setup configuration could not be saved"));
556
+ }
557
+ break;
558
+ }
537
559
  case RESPONSES.INSTALL_THIRD_PARTY_SCRIPT_RESPONSE: {
538
560
  const { id, data } = JSON.parse(e.data);
539
561
  if (data.success) {
@@ -658,6 +680,6 @@ var getParentFrameAllowParam = () => {
658
680
  return values.join("; ");
659
681
  };
660
682
 
661
- export { KizenRequestError, buildIframeURLWithProxy, cleanConfig, closeModalHandler, deserializeConsoleArg, dynamicPromptHandler, filterAllowList, filterSandboxList, getActionContainerKey, getActionFieldKey, getActionMenuFieldKey, getActionMenuHeadingKey, getAllNestedInputsFromConfig, getFieldFromAction, getParentFrameAllowParam, handleCommonResponse, installThirdPartyScriptHandler, isActionFieldKey, isActionMenuFieldKey, kizenRequestHandler, openCreateRecordHandler, openCreateRelatedRecordHandler, postFormDataHandler, promptHandler, refreshEntityHandler, serializeConsoleArg, showViewInModalHandler, splitActionFieldKey, splitActionMenuFieldKey, unwrapProxyMessage, uploadFileHandler };
662
- //# sourceMappingURL=chunk-5M2LFHMD.js.map
663
- //# sourceMappingURL=chunk-5M2LFHMD.js.map
683
+ export { KizenRequestError, buildIframeURLWithProxy, cleanConfig, closeModalHandler, completeSetupHandler, deserializeConsoleArg, dynamicPromptHandler, filterAllowList, filterSandboxList, getActionContainerKey, getActionFieldKey, getActionMenuFieldKey, getActionMenuHeadingKey, getAllNestedInputsFromConfig, getFieldFromAction, getParentFrameAllowParam, handleCommonResponse, installThirdPartyScriptHandler, isActionFieldKey, isActionMenuFieldKey, kizenRequestHandler, openCreateRecordHandler, openCreateRelatedRecordHandler, postFormDataHandler, promptHandler, refreshEntityHandler, serializeConsoleArg, showViewInModalHandler, splitActionFieldKey, splitActionMenuFieldKey, unwrapProxyMessage, uploadFileHandler };
684
+ //# sourceMappingURL=chunk-6ZZ7U3AM.js.map
685
+ //# sourceMappingURL=chunk-6ZZ7U3AM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/util/console.ts","../src/util/errors.ts","../src/util/assistantKeys.ts","../src/workers/util.ts","../src/util/frames.ts"],"names":["cleanConfig","consideredValue"],"mappings":"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","file":"chunk-6ZZ7U3AM.js","sourcesContent":["type SerializedMarker =\n | { __kzConsole: 'undefined' }\n | { __kzConsole: 'bigint'; value: string }\n | { __kzConsole: 'symbol'; value: string }\n | { __kzConsole: 'function'; name: string }\n | { __kzConsole: 'error'; name: string; message: string; stack?: string | undefined }\n | { __kzConsole: 'date'; value: string }\n | { __kzConsole: 'regexp'; value: string }\n | { __kzConsole: 'circular' }\n | { __kzConsole: 'unserializable'; reason: string };\n\nconst UNSERIALIZABLE = (reason: string): SerializedMarker => ({\n __kzConsole: 'unserializable',\n reason,\n});\n\nconst safeToString = (value: unknown): string => {\n try {\n return String(value);\n } catch {\n return '[unserializable]';\n }\n};\n\nconst isMarker = (value: unknown): value is SerializedMarker =>\n typeof value === 'object' &&\n value !== null &&\n '__kzConsole' in (value as Record<string, unknown>);\n\nconst serialize = (value: unknown, seen: WeakSet<object>): unknown => {\n try {\n if (value === undefined) {\n return { __kzConsole: 'undefined' } satisfies SerializedMarker;\n }\n\n if (value === null) {\n return null;\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return value;\n }\n\n if (typeof value === 'bigint') {\n return { __kzConsole: 'bigint', value: value.toString() } satisfies SerializedMarker;\n }\n\n if (typeof value === 'symbol') {\n return { __kzConsole: 'symbol', value: value.toString() } satisfies SerializedMarker;\n }\n\n if (typeof value === 'function') {\n return {\n __kzConsole: 'function',\n name: value.name || 'anonymous',\n } satisfies SerializedMarker;\n }\n\n if (value instanceof Error) {\n let name = 'Error';\n let message = '';\n let stack: string | undefined;\n\n try {\n name = value.name;\n } catch {\n /* ignore */\n }\n\n try {\n message = value.message;\n } catch {\n /* ignore */\n }\n\n try {\n stack = value.stack;\n } catch {\n /* ignore */\n }\n\n return { __kzConsole: 'error', name, message, stack } satisfies SerializedMarker;\n }\n if (value instanceof Date) {\n try {\n return { __kzConsole: 'date', value: value.toISOString() } satisfies SerializedMarker;\n } catch {\n return UNSERIALIZABLE('invalid Date');\n }\n }\n if (value instanceof RegExp) {\n return { __kzConsole: 'regexp', value: safeToString(value) } satisfies SerializedMarker;\n }\n\n if (seen.has(value as object)) {\n return { __kzConsole: 'circular' } satisfies SerializedMarker;\n }\n\n seen.add(value as object);\n\n if (Array.isArray(value)) {\n const arr: unknown[] = [];\n\n for (const item of value) {\n try {\n arr.push(serialize(item, seen));\n } catch {\n arr.push(UNSERIALIZABLE('threw during read'));\n }\n }\n return arr;\n }\n\n const out: Record<string, unknown> = {};\n\n let keys: string[] = [];\n\n try {\n keys = Object.keys(value as Record<string, unknown>);\n } catch {\n return UNSERIALIZABLE('cannot enumerate keys');\n }\n\n for (const k of keys) {\n try {\n out[k] = serialize((value as Record<string, unknown>)[k], seen);\n } catch {\n out[k] = UNSERIALIZABLE('threw during read');\n }\n }\n return out;\n } catch {\n return UNSERIALIZABLE('serialization failed');\n }\n};\n\nexport const serializeConsoleArg = (value: unknown): unknown => {\n try {\n return serialize(value, new WeakSet());\n } catch {\n return UNSERIALIZABLE('serialization failed');\n }\n};\n\nconst REGEXP_PATTERN = /^\\/(.*)\\/([dgimsuvy]*)$/;\n\nexport const deserializeConsoleArg = (value: unknown): unknown => {\n try {\n if (value === null || typeof value !== 'object') return value;\n if (Array.isArray(value)) return value.map(deserializeConsoleArg);\n\n if (isMarker(value)) {\n switch (value.__kzConsole) {\n case 'undefined':\n return undefined;\n case 'bigint':\n try {\n return BigInt(value.value);\n } catch {\n return value.value;\n }\n case 'symbol':\n return value.value;\n case 'function':\n return `[Function: ${value.name}]`;\n case 'error': {\n const err = new Error(value.message);\n err.name = value.name;\n if (value.stack) err.stack = value.stack;\n return err;\n }\n case 'date':\n return new Date(value.value);\n case 'regexp': {\n const match = REGEXP_PATTERN.exec(value.value);\n if (!match) return value.value;\n try {\n return new RegExp(match[1] ?? '', match[2]);\n } catch {\n return value.value;\n }\n }\n case 'circular':\n return '[Circular]';\n case 'unserializable':\n return `[Unserializable: ${value.reason}]`;\n }\n }\n\n const out: Record<string, unknown> = {};\n\n for (const [k, v] of Object.entries(value as Record<string, unknown>)) {\n out[k] = deserializeConsoleArg(v);\n }\n return out;\n } catch {\n return '[Unserializable]';\n }\n};\n","import type { UnknownJSON } from '../types/common.js';\n\nexport class KizenRequestError extends Error {\n public proxyStatus: number;\n public upstreamStatus?: number | undefined;\n public upstreamResponse?: UnknownJSON | undefined;\n\n constructor(\n proxyStatus: number,\n upstreamStatus?: number,\n upstreamResponse?: UnknownJSON,\n overrideMessage?: string,\n ) {\n super(\n overrideMessage ??\n (upstreamResponse?.error as { message?: string } | undefined)?.message ??\n (upstreamStatus\n ? `Request failed with status code ${String(upstreamStatus)}`\n : `Request failed with proxy status code ${String(proxyStatus)}`),\n );\n\n this.name = 'KizenRequestError';\n this.proxyStatus = proxyStatus;\n this.upstreamStatus = upstreamStatus;\n this.upstreamResponse = upstreamResponse;\n\n Object.setPrototypeOf(this, KizenRequestError.prototype);\n }\n}\n","/*\n * These helpers can be used in a worker context, so we avoid inflating the worker bundle\n * by keeping them in a separate file from assistant.ts\n */\n\nconst KIZEN_ACTION_PREFIX = '__kizen__action__';\nconst KIZEN_ACTION_MENU_PREFIX = '__kizen__actionmenu__';\nconst KIZEN_ACTION_MENU_HEADING_PREFIX = '__kizen__actionmenuheading__';\nconst KIZEN_ACTION_CONTAINER_PREFIX = '__kizen__actioncontainer__';\n\nexport const getActionContainerKey = (actionApiName: string): string => {\n return `${KIZEN_ACTION_CONTAINER_PREFIX}${actionApiName}`;\n};\n\nexport const getActionFieldKey = (actionApiName: string): string => {\n return `${KIZEN_ACTION_PREFIX}${actionApiName}`;\n};\n\nconst getActionMenuKey = (actionApiName: string): string => {\n return `${KIZEN_ACTION_MENU_PREFIX}${actionApiName}`;\n};\n\nexport const getActionMenuHeadingKey = (actionApiName: string): string => {\n return `${KIZEN_ACTION_MENU_HEADING_PREFIX}${actionApiName}`;\n};\n\nexport const getActionMenuFieldKey = (actionApiName: string, objectId: string): string => {\n return `${getActionMenuKey(actionApiName)}_${objectId}`;\n};\n\nexport const isActionMenuFieldKey = (key: string): boolean => {\n return key.startsWith(KIZEN_ACTION_MENU_PREFIX);\n};\n\nexport const isActionFieldKey = (key: string): boolean => {\n return key.startsWith(KIZEN_ACTION_PREFIX);\n};\n\nexport const splitActionFieldKey = (key: string): string => {\n if (!isActionFieldKey(key)) {\n return '';\n }\n\n return key.slice(KIZEN_ACTION_PREFIX.length);\n};\n\nexport const splitActionMenuFieldKey = (\n key: string,\n): { actionApiName: string; objectId: string } => {\n if (!isActionMenuFieldKey(key)) {\n return { actionApiName: '', objectId: '' };\n }\n\n const suffix = key.slice(KIZEN_ACTION_MENU_PREFIX.length);\n const lastUnderscore = suffix.lastIndexOf('_');\n\n if (lastUnderscore === -1) {\n return { actionApiName: '', objectId: '' };\n }\n\n const apiName = suffix.slice(0, lastUnderscore);\n const objectId = suffix.slice(lastUnderscore + 1);\n\n return {\n actionApiName: apiName,\n objectId,\n };\n};\n","/*\n * Note - this file contains utility functions used in the worker threads for the plugin engine.\n * These functions must be self-contained and cannot rely on imports that would inadvertently\n * include React, which would break local development and bloat the worker in production.\n */\n\nimport { ACTIONS, RESPONSES } from '../communication/constants.js';\nimport type {\n AssistantConfigAction,\n AssistantField,\n BooleanValueStore,\n CleanValueStore,\n CurriedCloseModalFn,\n CurriedDynamicPromptFn,\n CurriedShowViewInModalFn,\n CustomObjectCleanValue,\n CustomObjectValueStore,\n FieldCleanValue,\n FieldValueStore,\n ModalContainer,\n NumberValueStore,\n SelectValueStore,\n SetupAssistantConfig,\n TextValueStore,\n ValueStore,\n} from '../types/modals.js';\nimport type { CurriedKizenRequestFn } from '../types/request.js';\nimport type { PromiseResolve } from '../types/promise.js';\nimport type {\n CurriedCompleteSetupFn,\n CurriedInstallThirdPartyScriptFn,\n CurriedOpenCreateRecordFn,\n CurriedOpenCreateRelatedRecordFn,\n CurriedPostFormDataFn,\n CurriedPromptFn,\n CurriedRefreshEntityFn,\n CurriedUploadFileFn,\n} from '../types/contexts.js';\nimport type {\n CompleteSetupResponsePayload,\n CreateRecordResponsePayload,\n CreateRelatedRecordResponsePayload,\n InstallThirdPartyScriptResponsePayload,\n PostFormDataResponsePayload,\n PromptResponsePayload,\n QueryResponsePayload,\n RefreshEntityResponsePayload,\n UploadFileResponsePayload,\n} from '../types/workers.js';\nimport type { WorkerPromise } from './WorkerPromise.js';\nimport { KizenRequestError } from '../util/errors.js';\nimport type { UnknownJSON } from '../types/common.js';\nimport { getActionFieldKey } from '../util/assistantKeys.js';\n\ninterface KizenErrorPayload {\n __kizenError: true;\n proxyStatus: number;\n upstreamStatus?: number;\n upstreamResponse?: UnknownJSON;\n message: string;\n}\n\nexport const getFieldFromAction = (action: AssistantConfigAction): AssistantField => {\n return {\n key: getActionFieldKey(action.api_name),\n type: 'custom_object',\n label: action.name,\n allow_multiple: true,\n };\n};\n\nexport const NON_INPUT_FIELD_TYPES = ['description', 'container', 'qr', 'image', 'link'];\n\nexport const getAllNestedInputsFromConfig = (\n config: SetupAssistantConfig,\n parentWhen?: string,\n): AssistantField[] => {\n const regular = (config.fields ?? [])\n .filter((entry) => !NON_INPUT_FIELD_TYPES.includes(entry.type))\n .map((r) => {\n return {\n ...r,\n when: parentWhen ? `(${parentWhen}) && (${r.when ?? 'true'})` : r.when,\n };\n }) as AssistantField[];\n\n const containers = (config.fields ?? []).filter((entry) => entry.type === 'container');\n\n const recursiveRegulars = containers.flatMap((container) =>\n getAllNestedInputsFromConfig(container as ModalContainer, container.when),\n );\n\n const actionObjects = config.actions?.filter((action) => action.hint_object_name) ?? [];\n\n return [\n ...regular,\n ...recursiveRegulars,\n ...actionObjects.map((action) => {\n return {\n ...getFieldFromAction(action),\n match_hint: action.hint_object_name ?? '',\n };\n }),\n ];\n};\n\nexport const cleanConfig = (\n setupAssistantConfig: SetupAssistantConfig,\n configValues: Record<string, ValueStore>,\n): CleanValueStore => {\n const flattened = getAllNestedInputsFromConfig(setupAssistantConfig);\n\n const configReference: Record<string, AssistantField> = flattened.reduce((acc, curr) => {\n return {\n ...acc,\n [curr.key]: curr,\n };\n }, {});\n\n const configKeysToClean = Object.keys(configValues);\n\n const cleanConfig: CleanValueStore = {};\n\n configKeysToClean.forEach((key) => {\n const value = configValues[key];\n const configReferenceValue = configReference[key];\n\n if (!configReferenceValue?.type) {\n return;\n }\n\n switch (configReferenceValue.type) {\n case 'boolean':\n const consideredValue = value as BooleanValueStore | undefined;\n\n if (!consideredValue) {\n return;\n }\n\n cleanConfig[key] = consideredValue.value;\n\n return;\n case 'custom_object': {\n const consideredValue = value as CustomObjectValueStore | undefined;\n\n if (!consideredValue) {\n return;\n }\n\n cleanConfig[key] = {\n objectId: consideredValue.value?.id,\n objectName: consideredValue.value?.objectName,\n } as CustomObjectCleanValue;\n\n return;\n }\n case 'field': {\n const consideredValue = value as FieldValueStore | undefined;\n\n if (!consideredValue?.value) {\n return;\n }\n\n if (Array.isArray(consideredValue.value)) {\n cleanConfig[key] = consideredValue.value.map((item) => ({\n fieldId: item.value,\n fieldName: item.label,\n objectId: consideredValue.associatedObject?.id,\n objectName: consideredValue.associatedObject?.name,\n })) as FieldCleanValue;\n } else if (\n typeof consideredValue.value === 'object' &&\n typeof consideredValue.associatedObject === 'object'\n ) {\n cleanConfig[key] = {\n fieldId: consideredValue.value.value,\n fieldName: consideredValue.value.label,\n objectId: consideredValue.associatedObject.id,\n objectName: consideredValue.associatedObject.name,\n } as FieldCleanValue;\n }\n return;\n }\n case 'number': {\n const consideredValue = value as NumberValueStore | undefined;\n\n if (!consideredValue) {\n return;\n }\n\n try {\n const parsed = Number(consideredValue.value);\n\n if (!parsed && parsed !== 0) {\n return;\n }\n\n cleanConfig[key] = parsed;\n } catch {\n cleanConfig[key] = NaN;\n }\n\n return;\n }\n case 'select': {\n const consideredValue = value as SelectValueStore | undefined;\n\n if (!consideredValue) {\n return;\n }\n\n cleanConfig[key] = consideredValue.value;\n return;\n }\n case 'text': {\n const consideredValue = value as TextValueStore | undefined;\n\n const textValue = consideredValue?.value;\n\n if (textValue) {\n cleanConfig[key] = textValue;\n return;\n }\n\n const defaultValue = configReferenceValue.default;\n\n if (defaultValue) {\n cleanConfig[key] = defaultValue;\n }\n\n return;\n }\n case 'description':\n case 'container':\n case 'qr':\n case 'image':\n case 'link':\n return;\n }\n\n return value?.value;\n });\n\n return cleanConfig;\n};\n\nexport const kizenRequestHandler: CurriedKizenRequestFn =\n (instance, promises) => (method) => async (url, payload, options) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve as PromiseResolve, reject);\n\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.QUERY_REQUEST,\n id,\n method,\n url,\n payload,\n options,\n }),\n );\n });\n };\n\nexport const postFormDataHandler: CurriedPostFormDataFn =\n (instance, promises) =>\n (url, payload, createNewTab = true) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.POSTFORMDATA_REQUEST,\n url,\n id,\n payload,\n createNewTab,\n }),\n );\n });\n };\n\nexport const promptHandler: CurriedPromptFn = (instance, promises) => (config) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.PROMPT_REQUEST,\n id,\n config,\n }),\n );\n });\n};\n\nexport const dynamicPromptHandler: CurriedDynamicPromptFn = (instance, promises) => (config) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve as PromiseResolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.DYNAMIC_PROMPT_REQUEST,\n id,\n config,\n }),\n );\n });\n};\n\nexport const showViewInModalHandler: CurriedShowViewInModalFn =\n (instance, promises) => (viewId, config) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve as PromiseResolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.SHOW_VIEW_IN_MODAL_REQUEST,\n id,\n viewId,\n args: config?.args,\n options: config?.options,\n }),\n );\n });\n };\n\nexport const closeModalHandler: CurriedCloseModalFn =\n (instance) =>\n (values, canceled): void => {\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.CLOSE_MODAL_REQUEST,\n values,\n canceled,\n }),\n );\n };\n\nexport const uploadFileHandler: CurriedUploadFileFn = (instance, promises) => (payload) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.UPLOADFILE_REQUEST,\n id,\n payload,\n }),\n );\n });\n};\n\nexport const completeSetupHandler: CurriedCompleteSetupFn =\n (instance, promises) => (payload, options) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMPLETE_SETUP_REQUEST,\n id,\n payload,\n options,\n }),\n );\n });\n };\n\nexport const installThirdPartyScriptHandler: CurriedInstallThirdPartyScriptFn =\n (instance, promises) => (url, args) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve as PromiseResolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.INSTALL_THIRD_PARTY_SCRIPT_REQUEST,\n url,\n id,\n args,\n }),\n );\n });\n };\n\nexport const refreshEntityHandler: CurriedRefreshEntityFn =\n (instance, promises) => (entityId: string) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.REFRESH_ENTITY,\n id,\n entityId,\n }),\n );\n });\n };\n\nexport const openCreateRecordHandler: CurriedOpenCreateRecordFn =\n (instance, promises) => (objectId: string) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.OPEN_CREATE_RECORD_MODAL_REQUEST,\n id,\n entityId: objectId,\n }),\n );\n });\n };\n\nexport const openCreateRelatedRecordHandler: CurriedOpenCreateRelatedRecordFn =\n (instance, promises) => (objectId: string, relatedEntityId: string) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.OPEN_CREATE_RELATED_RECORD_MODAL_REQUEST,\n id,\n objectId,\n relatedEntityId,\n }),\n );\n });\n };\n\nexport const handleCommonResponse = (\n action: string,\n e: MessageEvent<string>,\n promises: WorkerPromise,\n): void => {\n switch (action) {\n case RESPONSES.QUERY_RESPONSE: {\n const { id, data, error } = JSON.parse(e.data) as QueryResponsePayload;\n if (error) {\n const reconstructed =\n typeof error === 'object' && '__kizenError' in error\n ? new KizenRequestError(\n (error as KizenErrorPayload).proxyStatus,\n (error as KizenErrorPayload).upstreamStatus,\n (error as KizenErrorPayload).upstreamResponse,\n (error as KizenErrorPayload).message,\n )\n : error;\n\n promises.reject(id, reconstructed);\n } else {\n promises.resolve(id, data);\n }\n\n break;\n }\n case RESPONSES.POSTFORMDATA_RESPONSE: {\n const { id, success } = JSON.parse(e.data) as PostFormDataResponsePayload;\n if (success) {\n promises.resolve(id);\n } else {\n promises.reject(id);\n }\n\n break;\n }\n\n case RESPONSES.UPLOADFILE_RESPONSE: {\n const { id, data, error } = JSON.parse(e.data) as UploadFileResponsePayload;\n if (data) {\n promises.resolve(id, data);\n } else {\n promises.reject(id, error);\n }\n\n break;\n }\n\n case RESPONSES.COMPLETE_SETUP_RESPONSE: {\n const { id, success, error } = JSON.parse(e.data) as CompleteSetupResponsePayload;\n if (success) {\n promises.resolve(id);\n } else {\n promises.reject(id, new Error(error ?? 'Setup configuration could not be saved'));\n }\n\n break;\n }\n\n case RESPONSES.INSTALL_THIRD_PARTY_SCRIPT_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as InstallThirdPartyScriptResponsePayload;\n if (data.success) {\n promises.resolve(id, data);\n } else {\n promises.reject(id);\n }\n\n break;\n }\n\n case RESPONSES.PROMPT_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as PromptResponsePayload;\n promises.resolve(id, data);\n\n break;\n }\n\n case RESPONSES.CREATE_RECORD_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as CreateRecordResponsePayload;\n promises.resolve(id, data);\n\n break;\n }\n\n case RESPONSES.CREATE_RELATED_RECORD_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as CreateRelatedRecordResponsePayload;\n promises.resolve(id, data);\n\n break;\n }\n\n case RESPONSES.REFRESH_ENTITY_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as RefreshEntityResponsePayload;\n if (data.success) {\n promises.resolve(id, true);\n } else {\n promises.reject(id);\n }\n\n break;\n }\n }\n};\n","export const FRAME_PROXY_DOMAIN_DEV = 'plugin-assets.kizen.dev';\nexport const FRAME_PROXY_DOMAIN_PROD = 'plugin-assets.kizen.com';\n\nexport const frameProxyDomains = [FRAME_PROXY_DOMAIN_DEV, FRAME_PROXY_DOMAIN_PROD];\n\n// Local-proxy dev override (off by default). When the engine is built with the\n// env var KIZEN_LOCAL_PROXY_ORIGIN=<origin> — see tsup.config.ts, which injects it\n// as __LOCAL_PROXY_ORIGIN__ — plugin iframes are routed through that locally-served\n// plugin-frame-proxy\nconst isLocalhostOrigin = (origin: string): boolean => {\n try {\n const { hostname } = new URL(origin);\n return hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '[::1]';\n } catch {\n return false;\n }\n};\n\nconst localProxyOrigin = (() => {\n if (!__LOCAL_PROXY_ORIGIN__ || !isLocalhostOrigin(__LOCAL_PROXY_ORIGIN__)) {\n return '';\n }\n\n try {\n return new URL(__LOCAL_PROXY_ORIGIN__).origin;\n } catch {\n return '';\n }\n})();\n\nconst hasLocalProxy = localProxyOrigin !== '';\n\nexport const isFrameProxyOrigin = (origin: string): boolean =>\n (hasLocalProxy && origin === localProxyOrigin) ||\n frameProxyDomains.some((domain) => origin === `https://${domain}`);\n\nconst isProxiedUrl = (candidate: string): boolean => {\n try {\n return isFrameProxyOrigin(new URL(candidate).origin);\n } catch {\n return false;\n }\n};\n\nexport interface FrameProxyEnvelope<T = unknown> {\n plugin_api_name: string;\n source_url: string;\n event: 'message' | 'loaded' | 'error';\n data?: T;\n error?: string;\n _kizen_proxy_nonce: string;\n}\n\nexport type UnwrappedProxyMessage = { handled: true; data: unknown } | { handled: false };\n\nexport const unwrapProxyMessage = (event: MessageEvent): UnwrappedProxyMessage => {\n const data: unknown = event.data;\n\n // Messages pass through as-is that aren't from the proxy\n if (!isFrameProxyOrigin(event.origin)) {\n return { handled: true, data };\n }\n\n const envelope = data as FrameProxyEnvelope;\n\n if (typeof data !== 'object' || data === null || envelope.event !== 'message') {\n return { handled: false };\n }\n\n return { handled: true, data: envelope.data };\n};\n\nexport const allowedAllowFields = [\n 'microphone',\n 'speaker-selection',\n 'autoplay',\n 'camera',\n 'display-capture',\n 'hid',\n];\n\nexport const allowedSandboxValues = ['allow-popups', 'allow-scripts', 'allow-same-origin'];\n\nconst defaultOptions = {\n useDevMode: false,\n __dangerouslySkipProxy: false,\n};\n\nexport type BuildIframeURLWithProxyOptions = Partial<typeof defaultOptions>;\n\nexport const buildIframeURLWithProxy = (\n originalURL: string,\n options: BuildIframeURLWithProxyOptions = defaultOptions,\n allowString = '',\n): {\n url: string;\n isUsingProxy: boolean;\n} => {\n const { useDevMode, __dangerouslySkipProxy } = options;\n\n let url = '';\n\n if (__dangerouslySkipProxy) {\n url = originalURL;\n } else {\n try {\n const parsed = new URL(originalURL);\n\n if (isFrameProxyOrigin(parsed.origin)) {\n url = originalURL;\n } else {\n const proxyBase = hasLocalProxy\n ? localProxyOrigin\n : `https://${useDevMode ? FRAME_PROXY_DOMAIN_DEV : FRAME_PROXY_DOMAIN_PROD}`;\n\n url = `${proxyBase}?url=${encodeURIComponent(originalURL)}&allow=${encodeURIComponent(allowString)}`;\n }\n } catch (ex) {\n console.warn(\n `Failed to parse URL: ${originalURL}. Apps should not attempt to display invalid URLs. Error: ${(ex as Error).message}`,\n );\n\n url = '';\n }\n }\n\n const isUsingProxy = isProxiedUrl(url);\n\n return {\n url,\n isUsingProxy,\n };\n};\n\nexport const filterAllowList = (allow: string[]): string[] => {\n const parsedAllowList = allow.filter((allowEntry) => {\n return allowedAllowFields.some((allowedField) => allowEntry.startsWith(allowedField));\n });\n\n return parsedAllowList;\n};\n\nexport const filterSandboxList = (sandbox: string[]): string[] => {\n const parsedSandboxList = sandbox.filter((sandboxEntry) =>\n allowedSandboxValues.includes(sandboxEntry),\n );\n\n return parsedSandboxList;\n};\n\nexport const getParentFrameAllowParam = (): string => {\n const values = allowedAllowFields.map((field) => {\n return `${field} *`;\n });\n\n return values.join('; ');\n};\n"]}
@@ -1,6 +1,6 @@
1
- import { getPartialLocation, generateUUIDV4 } from './chunk-KVE4CAUJ.js';
2
- import { getAllNestedInputsFromConfig, buildIframeURLWithProxy, getParentFrameAllowParam, deserializeConsoleArg, KizenRequestError, filterSandboxList, filterAllowList } from './chunk-5M2LFHMD.js';
3
- import { IFRAME_PREFIX, ACTIONS, RESPONSES, COMMUNICATIONS, thirdPartyGlobalNames, getScriptIntegrationType, thirdPartySetupScripts, thirdPartyReadyPredicates } from './chunk-DW7EWU2Z.js';
1
+ import { getPartialLocation, generateUUIDV4 } from './chunk-V2YSOGVX.js';
2
+ import { getAllNestedInputsFromConfig, buildIframeURLWithProxy, getParentFrameAllowParam, deserializeConsoleArg, KizenRequestError, filterSandboxList, filterAllowList } from './chunk-6ZZ7U3AM.js';
3
+ import { IFRAME_PREFIX, ACTIONS, RESPONSES, COMMUNICATIONS, thirdPartyGlobalNames, getScriptIntegrationType, thirdPartySetupScripts, thirdPartyReadyPredicates } from './chunk-KCA5EK7O.js';
4
4
  import { __commonJS, __toESM } from './chunk-5WRI5ZAA.js';
5
5
  import DOMPurify from 'dompurify';
6
6
 
@@ -1891,6 +1891,7 @@ var WorkerManager = class {
1891
1891
  appPath;
1892
1892
  onConsoleLog;
1893
1893
  onRunEventScript;
1894
+ onCompleteSetup;
1894
1895
  isDebug;
1895
1896
  constructor(args) {
1896
1897
  this.scriptUIRef = args.scriptUIRef;
@@ -1919,6 +1920,7 @@ var WorkerManager = class {
1919
1920
  this.appPath = args.appPath;
1920
1921
  this.onConsoleLog = args.onConsoleLog;
1921
1922
  this.onRunEventScript = args.onRunEventScript;
1923
+ this.onCompleteSetup = args.onCompleteSetup;
1922
1924
  this.isDebug = args.isDebug ?? false;
1923
1925
  if (this.plugin) {
1924
1926
  this.frameId = `${IFRAME_PREFIX}-${this.plugin.plugin_api_name}-${this.plugin.api_name}`;
@@ -1957,6 +1959,15 @@ var WorkerManager = class {
1957
1959
  this.handleUIOutput(consideredEvent.markup, consideredEvent.options);
1958
1960
  return;
1959
1961
  }
1962
+ case ACTIONS.COMPLETE_SETUP_REQUEST: {
1963
+ const consideredEvent = event;
1964
+ await this.handleCompleteSetupRequest(
1965
+ consideredEvent.id,
1966
+ consideredEvent.payload,
1967
+ consideredEvent.options
1968
+ );
1969
+ return;
1970
+ }
1960
1971
  case ACTIONS.IFRAME_OUTPUT: {
1961
1972
  const consideredEvent = event;
1962
1973
  this.handleIframeOutput(
@@ -2253,6 +2264,26 @@ var WorkerManager = class {
2253
2264
  this.scriptUIRef.current.innerHTML = sanitizedMarkup;
2254
2265
  }
2255
2266
  };
2267
+ handleCompleteSetupRequest = async (id, payload, options) => {
2268
+ if (!this.onCompleteSetup) {
2269
+ this.postMessage(RESPONSES.COMPLETE_SETUP_RESPONSE, {
2270
+ id,
2271
+ success: false,
2272
+ error: "Completing setup is not supported by this host"
2273
+ });
2274
+ return;
2275
+ }
2276
+ try {
2277
+ await this.onCompleteSetup(payload, options);
2278
+ this.postMessage(RESPONSES.COMPLETE_SETUP_RESPONSE, { id, success: true });
2279
+ } catch (err) {
2280
+ this.postMessage(RESPONSES.COMPLETE_SETUP_RESPONSE, {
2281
+ id,
2282
+ success: false,
2283
+ error: err instanceof Error ? err.message : "Setup configuration could not be saved"
2284
+ });
2285
+ }
2286
+ };
2256
2287
  onLoad = (payload) => {
2257
2288
  if (payload.iframe) {
2258
2289
  this.waitForFrame = false;
@@ -2634,6 +2665,7 @@ var runScript = async ({
2634
2665
  sessionData,
2635
2666
  setSessionData,
2636
2667
  onShowModal,
2668
+ onCompleteSetup,
2637
2669
  onCloseModal,
2638
2670
  onShowCreateRecordModal,
2639
2671
  onShowCreateRelatedRecordModal,
@@ -2713,6 +2745,7 @@ var runScript = async ({
2713
2745
  setSessionData,
2714
2746
  pluginComponentId: componentId,
2715
2747
  onShowModal,
2748
+ onCompleteSetup,
2716
2749
  onCloseModal,
2717
2750
  onShowCreateRecordModal,
2718
2751
  onShowCreateRelatedRecordModal,
@@ -2783,8 +2816,8 @@ var modalSize = {
2783
2816
  };
2784
2817
 
2785
2818
  // src/index.ts
2786
- var version = "1.8.0";
2819
+ var version = "1.9.0-ccfe3f0";
2787
2820
 
2788
2821
  export { clearNavigationContext, consumeNavigationContext, forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, modalSize, pluginMapper, readNavigationContext, reduceEnabledResults, replaceConfigValues, runExpression, runObjectExpression, runOptionExpression, runScript, runStringExpression, version };
2789
- //# sourceMappingURL=chunk-IFLQXUV7.js.map
2790
- //# sourceMappingURL=chunk-IFLQXUV7.js.map
2822
+ //# sourceMappingURL=chunk-CMFPH7ZI.js.map
2823
+ //# sourceMappingURL=chunk-CMFPH7ZI.js.map