@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
package/dist/types.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { U as UnknownJSON, b as PartialUser, c as PartialTeamMember, d as PartialBusiness, e as PartialClientObject, i as PartialLocation } from './ThirdPartyScript-DauYx3B5.js';
2
- export { q as AppPlugin, s as AppPlugins, A as Args, t as AssistantConfigAction, u as AssistantField, v as AssistantLink, B as BaseAPI, w as BooleanCleanValue, x as BooleanValueStore, y as ButtonConfig, z as CleanValueStore, E as CleanValueStoreType, F as CloseModalFn, H as ConfigService, n as ConsoleBridge, J as ConsoleLogLevel, K as CreateRecordModalQueue, L as CreateRelatedRecordModalQueue, C as CurrentUser, N as CurriedCloseModalFn, O as CurriedDynamicPromptFn, Q as CurriedInstallThirdPartyScriptFn, V as CurriedKizenRequestFn, X as CurriedOpenCreateRecordFn, Y as CurriedOpenCreateRelatedRecordFn, Z as CurriedPostFormDataFn, _ as CurriedPromptFn, $ as CurriedRefreshEntityFn, a0 as CurriedShowViewInModalFn, a1 as CurriedUploadFileFn, a2 as CustomObjectCleanValue, a3 as CustomObjectValueStore, D as DataCache, a4 as DataCacheEntry, a5 as DeleteReturnValue, m as DynamicPromptConfig, a6 as DynamicPromptFn, a7 as EmployeeConfig, a8 as ErrorHandler, a9 as ErrorResponse, aa as FieldCleanValue, ab as FieldValueStore, G as GetOptions, ac as GetReturnValue, o as IncludeOption, ad as InstallThirdPartyScriptFn, I as Instance, h as InternalSessionData, ae as JSONArray, af as JSONObject, ag as JSONPrimitive, ah as JSONValue, ai as KizenConfig, aj as KizenNetworkResponse, ak as KizenProxySuccessResponse, al as KizenRequestFn, am as KizenRequestFnHandler, an as KnownArgs, ao as MatchSetupAssistantField, ap as MaybeMessageError, aq as ModalBlock, ar as ModalCancelEventSource, M as ModalConfig, as as ModalContainer, at as ModalQueue, au as ModalSize, av as NumberCleanValue, aw as NumberValueStore, ax as OnCloseModalFn, ay as OnNetworkErrorFn, az as OnShowCreateRecordModalFn, aA as OnShowCreateRelatedRecordModalFn, aB as OnShowModalFn, aC as OpenCreateRecordFn, aD as OpenCreateRelatedRecordFn, a as PartialCustomObject, P as PartialEntity, aE as PartialRelatedObject, aF as PatchReturnValue, f as PostFormDataFn, aG as PostFormDataPayload, aH as PostReturnValue, aI as Profile, aJ as PromiseMap, aK as PromiseReject, aL as PromiseResolve, aM as PromiseState, aN as PromptFn, g as PromptState, aO as PutReturnValue, aP as RefreshEntityFn, aQ as ReleaseBlockingScriptHandler, j as RequestOptions, R as RequestWithErrorsResponse, aR as SelectCleanValue, r as SelectOption, aS as SelectValueStore, aT as SetInternalSessionDataFn, aU as SetupAssistantConfig, p as SetupAssistantField, k as ShowToastOptions, aV as ShowViewInModalFn, l as ShowViewInModalOptions, S as StateChangePayload, aW as TextValueStore, aX as UnknownFunction, aY as UploadFileData, aZ as UploadFileFn, a_ as UserConfig, a$ as ValueStore, W as WorkerContextArgs, b0 as modalSize } from './ThirdPartyScript-DauYx3B5.js';
3
- import { c as CommonPluginDefinition } from './automation-Dr26TnMo.js';
4
- export { e as AuthorizeEvent, A as AutomationStepConfig, B as BaseEvent, f as CalendarDefinition, g as CalendarScriptReturnData, C as CalendarSourceConfig, h as CalendarSourceMap, i as CalendarSources, j as CloseModalRequestEvent, b as CommonExecutionPlugin, k as CommunicateEvent, l as ConsoleLogEvent, m as CopyToClipboardEvent, n as CreateFileIdFn, D as DataAdornmentConfig, o as DoneEvent, p as DynamicPromptRequestEvent, E as ErrorEvent, q as ExecuteCalendarSourceScript, r as ExecuteFloatingFrameScript, F as FloatingFrameConfig, s as FloatingFrameEmployeeConfig, t as FrameQuadrant, G as GetPendingCacheCountFn, H as HideEvent, I as IframeOutputEvent, u as InstallThirdPartyScriptRequestEvent, v as InvalidateCacheFn, K as KizenFile, M as MessageEventData, w as MinimizedConfig, O as OnClearToastsFn, x as OnConsoleLogFn, y as OnNetworkRequestFn, z as OnRunEventScriptFn, J as OnShowToastFn, L as OpenCreateRecordModalRequestEvent, N as OpenCreateRelatedRecordModalRequestEvent, P as OpenWindowEvent, Q as PerformKizenFileUploadFn, S as PostFormDataRequestEvent, U as PromptRequestEvent, V as QueryRequestEvent, W as RecipientConfig, X as RefreshEntityEvent, Y as RefreshTimelineEvent, Z as RequestableQueryMethods, R as RoutablePageConfig, a as RouteScriptConfig, _ as RunEventScriptEvent, d as RunScriptOptions, $ as SchemaValidation, a0 as SetStateEvent, a1 as ShowEvent, a2 as ShowToastEvent, a3 as ShowViewInModalRequestEvent, a4 as TerminatorContent, a5 as Terminators, T as ToolbarItemConfig, a6 as UIOutputEvent, a7 as UpdateSessionDataEvent, a8 as UploadFilePayload, a9 as UploadFileRequestEvent, aa as WindowPosition } from './automation-Dr26TnMo.js';
1
+ import { U as UnknownJSON, b as PartialUser, c as PartialTeamMember, d as PartialBusiness, e as PartialClientObject, i as PartialLocation } from './ThirdPartyScript-BkCjYWLd.js';
2
+ export { r as AppPlugin, t as AppPlugins, A as Args, u as AssistantConfigAction, v as AssistantField, w as AssistantLink, B as BaseAPI, x as BooleanCleanValue, y as BooleanValueStore, z as ButtonConfig, E as CleanValueStore, F as CleanValueStoreType, H as CloseModalFn, J as CompleteSetupFn, K as CompleteSetupLevel, j as CompleteSetupOptions, L as ConfigService, o as ConsoleBridge, N as ConsoleLogLevel, O as CreateRecordModalQueue, Q as CreateRelatedRecordModalQueue, C as CurrentUser, V as CurriedCloseModalFn, X as CurriedCompleteSetupFn, Y as CurriedDynamicPromptFn, Z as CurriedInstallThirdPartyScriptFn, _ as CurriedKizenRequestFn, $ as CurriedOpenCreateRecordFn, a0 as CurriedOpenCreateRelatedRecordFn, a1 as CurriedPostFormDataFn, a2 as CurriedPromptFn, a3 as CurriedRefreshEntityFn, a4 as CurriedShowViewInModalFn, a5 as CurriedUploadFileFn, a6 as CustomObjectCleanValue, a7 as CustomObjectValueStore, D as DataCache, a8 as DataCacheEntry, a9 as DeleteReturnValue, n as DynamicPromptConfig, aa as DynamicPromptFn, ab as EmployeeConfig, ac as ErrorHandler, ad as ErrorResponse, ae as FieldCleanValue, af as FieldValueStore, G as GetOptions, ag as GetReturnValue, p as IncludeOption, ah as InstallThirdPartyScriptFn, I as Instance, h as InternalSessionData, ai as JSONArray, aj as JSONObject, ak as JSONPrimitive, al as JSONValue, am as KizenConfig, an as KizenNetworkResponse, ao as KizenProxySuccessResponse, ap as KizenRequestFn, aq as KizenRequestFnHandler, ar as KnownArgs, as as MatchSetupAssistantField, at as MaybeMessageError, au as ModalBlock, av as ModalCancelEventSource, M as ModalConfig, aw as ModalContainer, ax as ModalQueue, ay as ModalSize, az as NumberCleanValue, aA as NumberValueStore, aB as OnCloseModalFn, aC as OnNetworkErrorFn, aD as OnShowCreateRecordModalFn, aE as OnShowCreateRelatedRecordModalFn, aF as OnShowModalFn, aG as OpenCreateRecordFn, aH as OpenCreateRelatedRecordFn, a as PartialCustomObject, P as PartialEntity, aI as PartialRelatedObject, aJ as PatchReturnValue, f as PostFormDataFn, aK as PostFormDataPayload, aL as PostReturnValue, aM as Profile, aN as PromiseMap, aO as PromiseReject, aP as PromiseResolve, aQ as PromiseState, aR as PromptFn, g as PromptState, aS as PutReturnValue, aT as RefreshEntityFn, aU as ReleaseBlockingScriptHandler, k as RequestOptions, R as RequestWithErrorsResponse, aV as SelectCleanValue, s as SelectOption, aW as SelectValueStore, aX as SetInternalSessionDataFn, aY as SetupAssistantConfig, q as SetupAssistantField, l as ShowToastOptions, aZ as ShowViewInModalFn, m as ShowViewInModalOptions, S as StateChangePayload, a_ as TextValueStore, a$ as UnknownFunction, b0 as UploadFileData, b1 as UploadFileFn, b2 as UserConfig, b3 as ValueStore, W as WorkerContextArgs, b4 as modalSize } from './ThirdPartyScript-BkCjYWLd.js';
3
+ import { c as CommonPluginDefinition } from './automation-BuZbZjRB.js';
4
+ export { e as AuthorizeEvent, A as AutomationStepConfig, B as BaseEvent, f as CalendarDefinition, g as CalendarScriptReturnData, C as CalendarSourceConfig, h as CalendarSourceMap, i as CalendarSources, j as CloseModalRequestEvent, b as CommonExecutionPlugin, k as CommunicateEvent, l as CompleteSetupRequestEvent, m as ConsoleLogEvent, n as CopyToClipboardEvent, o as CreateFileIdFn, D as DataAdornmentConfig, p as DoneEvent, q as DynamicPromptRequestEvent, E as ErrorEvent, r as ExecuteCalendarSourceScript, s as ExecuteFloatingFrameScript, F as FloatingFrameConfig, t as FloatingFrameEmployeeConfig, u as FrameQuadrant, G as GetPendingCacheCountFn, H as HideEvent, v as HostCompleteSetupFn, I as IframeOutputEvent, w as InstallThirdPartyScriptRequestEvent, x as InvalidateCacheFn, K as KizenFile, M as MessageEventData, y as MinimizedConfig, O as OnClearToastsFn, z as OnCompleteSetupFn, J as OnConsoleLogFn, L as OnNetworkRequestFn, N as OnRunEventScriptFn, P as OnShowToastFn, Q as OpenCreateRecordModalRequestEvent, S as OpenCreateRelatedRecordModalRequestEvent, U as OpenWindowEvent, V as PerformKizenFileUploadFn, W as PostFormDataRequestEvent, X as PromptRequestEvent, Y as QueryRequestEvent, Z as RecipientConfig, _ as RefreshEntityEvent, $ as RefreshTimelineEvent, a0 as RequestableQueryMethods, R as RoutablePageConfig, a as RouteScriptConfig, a1 as RunEventScriptEvent, d as RunScriptOptions, a2 as SchemaValidation, a3 as SetStateEvent, a4 as ShowEvent, a5 as ShowToastEvent, a6 as ShowViewInModalRequestEvent, a7 as TerminatorContent, a8 as Terminators, T as ToolbarItemConfig, a9 as UIOutputEvent, aa as UpdateSessionDataEvent, ab as UploadFilePayload, ac as UploadFileRequestEvent, ad as WindowPosition } from './automation-BuZbZjRB.js';
5
5
  export { H as HideConfig, S as ShowConfig } from './floatingFrames-BzaoL7cq.js';
6
- export { B as BlockConfig, a as BlockType, E as ExecuteGenericScript, G as GenericPluginConfig } from './blocks-C0e9BCrR.js';
6
+ export { B as BlockConfig, a as BlockType, E as ExecuteGenericScript, G as GenericPluginConfig } from './blocks-1HdzUin7.js';
7
7
  import 'react';
8
8
  import './frames-AOHUyPDP.js';
9
9
 
@@ -63,6 +63,11 @@ interface InstallThirdPartyScriptResponsePayload {
63
63
  success: boolean;
64
64
  };
65
65
  }
66
+ interface CompleteSetupResponsePayload {
67
+ id: string;
68
+ success: boolean;
69
+ error?: string;
70
+ }
66
71
  interface PromptResponsePayload {
67
72
  id: string;
68
73
  data: unknown;
@@ -89,4 +94,4 @@ interface ObjectSettingsMenuItemConfig extends CommonPluginDefinition {
89
94
  when?: string;
90
95
  }
91
96
 
92
- export { type AsyncFunctionConstructor, type BuiltAsyncFn, CommonPluginDefinition, type CreateRecordResponsePayload, type CreateRelatedRecordResponsePayload, type ExpressionPayload, type FunctionWithReturn, type InstallThirdPartyScriptResponsePayload, type ObjectSettingsMenuItemConfig, PartialBusiness, PartialClientObject, PartialLocation, PartialTeamMember, PartialUser, type PostFormDataResponsePayload, type PromptResponsePayload, type QueryResponsePayload, type RefreshEntityResponsePayload, UnknownJSON, type UploadFileResponsePayload, type WorkerEvent, type WorkerSetup };
97
+ export { type AsyncFunctionConstructor, type BuiltAsyncFn, CommonPluginDefinition, type CompleteSetupResponsePayload, type CreateRecordResponsePayload, type CreateRelatedRecordResponsePayload, type ExpressionPayload, type FunctionWithReturn, type InstallThirdPartyScriptResponsePayload, type ObjectSettingsMenuItemConfig, PartialBusiness, PartialClientObject, PartialLocation, PartialTeamMember, PartialUser, type PostFormDataResponsePayload, type PromptResponsePayload, type QueryResponsePayload, type RefreshEntityResponsePayload, UnknownJSON, type UploadFileResponsePayload, type WorkerEvent, type WorkerSetup };
package/dist/util.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { i as PartialLocation, aU as SetupAssistantConfig, a$ as ValueStore, z as CleanValueStore, t as AssistantConfigAction, u as AssistantField, b1 as KizenRequestError, U as UnknownJSON, aj as KizenNetworkResponse, ak as KizenProxySuccessResponse } from './ThirdPartyScript-DauYx3B5.js';
2
- export { G as GetParamFunction, R as RemovedHTML, f as forceQualifiedUrl, g as getDisabledValue, a as getEnabledState, b as getLinkValue, c as getPluginSafeHTML, d as getQrCodeValue, m as mergeConfig, p as pluginMapper, r as reduceEnabledResults, e as replaceConfigValues } from './values-DCW2Il72.js';
1
+ import { i as PartialLocation, aY as SetupAssistantConfig, b3 as ValueStore, E as CleanValueStore, u as AssistantConfigAction, v as AssistantField, b5 as KizenRequestError, U as UnknownJSON, an as KizenNetworkResponse, ao as KizenProxySuccessResponse } from './ThirdPartyScript-BkCjYWLd.js';
2
+ export { G as GetParamFunction, R as RemovedHTML, f as forceQualifiedUrl, g as getDisabledValue, a as getEnabledState, b as getLinkValue, c as getPluginSafeHTML, d as getQrCodeValue, m as mergeConfig, p as pluginMapper, r as reduceEnabledResults, e as replaceConfigValues } from './values-08CsQDfa.js';
3
3
  import 'react';
4
4
  import './frames-AOHUyPDP.js';
5
- import './automation-Dr26TnMo.js';
5
+ import './automation-BuZbZjRB.js';
6
6
  import './floatingFrames-BzaoL7cq.js';
7
7
  import 'dompurify';
8
8
 
package/dist/util.js CHANGED
@@ -1,9 +1,9 @@
1
- import { getHash } from './chunk-IFLQXUV7.js';
2
- export { forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, pluginMapper, reduceEnabledResults, replaceConfigValues } from './chunk-IFLQXUV7.js';
3
- export { emitRouteChange, findMatchingAction, getPartialLocation } from './chunk-KVE4CAUJ.js';
4
- import { KizenRequestError, isActionMenuFieldKey, splitActionMenuFieldKey, getActionFieldKey, isActionFieldKey, cleanConfig } from './chunk-5M2LFHMD.js';
5
- export { KizenRequestError, cleanConfig, getActionContainerKey, getActionMenuFieldKey, getActionMenuHeadingKey, getFieldFromAction, isActionMenuFieldKey, splitActionFieldKey } from './chunk-5M2LFHMD.js';
6
- import './chunk-DW7EWU2Z.js';
1
+ import { getHash } from './chunk-CMFPH7ZI.js';
2
+ export { forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, pluginMapper, reduceEnabledResults, replaceConfigValues } from './chunk-CMFPH7ZI.js';
3
+ export { emitRouteChange, findMatchingAction, getPartialLocation } from './chunk-V2YSOGVX.js';
4
+ import { KizenRequestError, isActionMenuFieldKey, splitActionMenuFieldKey, getActionFieldKey, isActionFieldKey, cleanConfig } from './chunk-6ZZ7U3AM.js';
5
+ export { KizenRequestError, cleanConfig, getActionContainerKey, getActionMenuFieldKey, getActionMenuHeadingKey, getFieldFromAction, isActionMenuFieldKey, splitActionFieldKey } from './chunk-6ZZ7U3AM.js';
6
+ import './chunk-KCA5EK7O.js';
7
7
  import './chunk-5WRI5ZAA.js';
8
8
 
9
9
  // src/util/network.ts
@@ -1,6 +1,6 @@
1
- import { o as IncludeOption, U as UnknownJSON, p as SetupAssistantField, q as AppPlugin } from './ThirdPartyScript-DauYx3B5.js';
1
+ import { p as IncludeOption, U as UnknownJSON, q as SetupAssistantField, r as AppPlugin } from './ThirdPartyScript-BkCjYWLd.js';
2
2
  import { B as BuildIframeURLWithProxyOptions } from './frames-AOHUyPDP.js';
3
- import { F as FloatingFrameConfig, R as RoutablePageConfig, D as DataAdornmentConfig, T as ToolbarItemConfig, a as RouteScriptConfig, C as CalendarSourceConfig, A as AutomationStepConfig } from './automation-Dr26TnMo.js';
3
+ import { F as FloatingFrameConfig, R as RoutablePageConfig, D as DataAdornmentConfig, T as ToolbarItemConfig, a as RouteScriptConfig, C as CalendarSourceConfig, A as AutomationStepConfig } from './automation-BuZbZjRB.js';
4
4
  import { RemovedAttribute, RemovedElement } from 'dompurify';
5
5
 
6
6
  type AllowedConfig = FloatingFrameConfig | RoutablePageConfig | DataAdornmentConfig | ToolbarItemConfig | RouteScriptConfig | CalendarSourceConfig | AutomationStepConfig;
@@ -1,9 +1,9 @@
1
- import { WorkerPromise } from '../chunk-A3JR3VXF.js';
2
- import { buildCodeRunnerFunction } from '../chunk-KVE4CAUJ.js';
3
- import { BaseWorkerContext } from '../chunk-Y32HBIQ2.js';
4
- import { dynamicPromptHandler, promptHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-5M2LFHMD.js';
5
- import '../chunk-QYGHOK5P.js';
6
- import { ACTIONS } from '../chunk-DW7EWU2Z.js';
1
+ import { WorkerPromise } from '../chunk-OZGSC5IX.js';
2
+ import { buildCodeRunnerFunction } from '../chunk-V2YSOGVX.js';
3
+ import { BaseWorkerContext } from '../chunk-IWQF53YW.js';
4
+ import { dynamicPromptHandler, promptHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-6ZZ7U3AM.js';
5
+ import '../chunk-4F3ZPLL7.js';
6
+ import { ACTIONS } from '../chunk-KCA5EK7O.js';
7
7
  import '../chunk-5WRI5ZAA.js';
8
8
 
9
9
  // src/workers/calendarSource.worker.ts
@@ -55,6 +55,7 @@ self.onmessage = async (e) => {
55
55
  openCreateRelatedRecord: notAllowed("openCreateRelatedRecord"),
56
56
  showViewInModal: notAllowed("showViewInModal"),
57
57
  closeModal: notAllowedVoid("closeModal"),
58
+ completeSetup: notAllowed("completeSetup"),
58
59
  pluginApiName,
59
60
  location
60
61
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/workers/calendarSource.worker.ts"],"names":[],"mappings":";;;;;;;;;AAaA,IAAM,WAAW,IAAI,aAAA,CAAc,EAAE,OAAA,EAAS,OAAO,CAAA;AAErD,IAAI,MAAA,GAAmC,IAAA;AAEvC,IAAM,UAAA,GAAa,CAAC,MAAA,KAAmB,MAAsB;AAC3D,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,KAAW;AAChC,IAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,EAAG,MAAM,8CAA8C,CAAC,CAAA;AAAA,EAC3E,CAAC,CAAA;AACH,CAAA;AAEA,IAAM,cAAA,GAAiB,CAAC,MAAA,KAAmB,MAAY;AACrD,EAAA,MAAM,IAAI,KAAA,CAAM,CAAA,EAAG,MAAM,CAAA,4CAAA,CAA8C,CAAA;AACzE,CAAA;AAEA,IAAA,CAAK,SAAA,GAAY,OAAO,CAAA,KAA4B;AAClD,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,CAAA,CAAE,IAAI,CAAA;AAE9B,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAc,EAAC;AAAA,IACf,iBAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF,GAAI,IAAA;AAEJ,EAAA,IAAI,MAAA,KAAW,OAAA,CAAQ,GAAA,IAAO,KAAA,IAAS,MAAA,EAAQ;AAC7C,IAAA,MAAM,EAAE,EAAA,EAAI,YAAA,EAAa,GAAI,wBAAwB,MAAM,CAAA;AAE3D,IAAA,MAAA,GAAS,IAAI,iBAAA,CAAkB;AAAA,MAC7B,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,UAAA,EAAY,MAAA;AAAA,MACZ,YAAA;AAAA,MACA,QAAA,EAAU,IAAA;AAAA,MACV,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,UAAA,EAAY,WAAW,YAAY,CAAA;AAAA,MACnC,uBAAA,EAAyB,WAAW,yBAAyB,CAAA;AAAA,MAC7D,MAAM,IAAA,IAAQ,EAAA;AAAA,MACd,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,MAAA,EAAQ,aAAA,CAAc,IAAA,EAAM,QAAQ,CAAA;AAAA,MACpC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA,EAAe,WAAW,eAAe,CAAA;AAAA,MACzC,gBAAA,EAAkB,WAAW,kBAAkB,CAAA;AAAA,MAC/C,uBAAA,EAAyB,WAAW,yBAAyB,CAAA;AAAA,MAC7D,eAAA,EAAiB,WAAW,iBAAiB,CAAA;AAAA,MAC7C,UAAA,EAAY,eAAe,YAAY,CAAA;AAAA,MACvC,aAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAA,CAAG,IAAA,CAAK,MAAM,CAAA,EAAE;AAAA,EACxB,CAAA,MAAO;AACL,IAAA,oBAAA,CAAqB,MAAA,EAAQ,GAAG,QAAQ,CAAA;AAAA,EAC1C;AACF,CAAA","file":"calendarSource.worker.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport { BaseWorkerContext } from '../contexts/BaseWorkerContext.js';\nimport type { WorkerEvent } from '../types/workers.js';\nimport { buildCodeRunnerFunction } from '../util/run.js';\nimport {\n dynamicPromptHandler,\n handleCommonResponse,\n kizenRequestHandler,\n postFormDataHandler,\n promptHandler,\n} from './util.js';\nimport { WorkerPromise } from './WorkerPromise.js';\n\nconst promises = new WorkerPromise({ isDebug: false });\n\nlet runner: BaseWorkerContext | null = null;\n\nconst notAllowed = (fnName: string) => (): Promise<never> => {\n return new Promise((_, reject) => {\n reject(new Error(`${fnName} is not supported in calendar source scripts`));\n });\n};\n\nconst notAllowedVoid = (fnName: string) => (): void => {\n throw new Error(`${fnName} is not supported in calendar source scripts`);\n};\n\nself.onmessage = async (e: MessageEvent<string>) => {\n const data = JSON.parse(e.data) as WorkerEvent;\n\n const {\n action,\n script,\n setup,\n args,\n sessionData = {},\n pluginComponentId,\n pluginApiName,\n location,\n } = data;\n\n if (action === ACTIONS.RUN && setup && script) {\n const { fn, functionBody } = buildCodeRunnerFunction(script);\n\n runner = new BaseWorkerContext({\n user: setup.user,\n teamMember: setup.teamMember,\n business: setup.business,\n clientObject: setup.clientObject,\n isDebug: setup.isDebug,\n appPath: setup.appPath,\n scriptBody: script,\n functionBody,\n instance: self,\n kizenRequest: kizenRequestHandler(self, promises),\n postFormData: postFormDataHandler(self, promises),\n uploadFile: notAllowed('uploadFile'),\n installThirdPartyScript: notAllowed('installThirdPartyScript'),\n args: args ?? '',\n sessionData,\n pluginComponentId,\n prompt: promptHandler(self, promises),\n dynamicPrompt: dynamicPromptHandler(self, promises),\n refreshEntity: notAllowed('refreshEntity'),\n openCreateRecord: notAllowed('openCreateRecord'),\n openCreateRelatedRecord: notAllowed('openCreateRelatedRecord'),\n showViewInModal: notAllowed('showViewInModal'),\n closeModal: notAllowedVoid('closeModal'),\n pluginApiName,\n location,\n });\n\n await fn.bind(runner)();\n } else {\n handleCommonResponse(action, e, promises);\n }\n};\n"]}
1
+ {"version":3,"sources":["../../src/workers/calendarSource.worker.ts"],"names":[],"mappings":";;;;;;;;;AAaA,IAAM,WAAW,IAAI,aAAA,CAAc,EAAE,OAAA,EAAS,OAAO,CAAA;AAErD,IAAI,MAAA,GAAmC,IAAA;AAEvC,IAAM,UAAA,GAAa,CAAC,MAAA,KAAmB,MAAsB;AAC3D,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,KAAW;AAChC,IAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,EAAG,MAAM,8CAA8C,CAAC,CAAA;AAAA,EAC3E,CAAC,CAAA;AACH,CAAA;AAEA,IAAM,cAAA,GAAiB,CAAC,MAAA,KAAmB,MAAY;AACrD,EAAA,MAAM,IAAI,KAAA,CAAM,CAAA,EAAG,MAAM,CAAA,4CAAA,CAA8C,CAAA;AACzE,CAAA;AAEA,IAAA,CAAK,SAAA,GAAY,OAAO,CAAA,KAA4B;AAClD,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,CAAA,CAAE,IAAI,CAAA;AAE9B,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAc,EAAC;AAAA,IACf,iBAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF,GAAI,IAAA;AAEJ,EAAA,IAAI,MAAA,KAAW,OAAA,CAAQ,GAAA,IAAO,KAAA,IAAS,MAAA,EAAQ;AAC7C,IAAA,MAAM,EAAE,EAAA,EAAI,YAAA,EAAa,GAAI,wBAAwB,MAAM,CAAA;AAE3D,IAAA,MAAA,GAAS,IAAI,iBAAA,CAAkB;AAAA,MAC7B,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,UAAA,EAAY,MAAA;AAAA,MACZ,YAAA;AAAA,MACA,QAAA,EAAU,IAAA;AAAA,MACV,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,UAAA,EAAY,WAAW,YAAY,CAAA;AAAA,MACnC,uBAAA,EAAyB,WAAW,yBAAyB,CAAA;AAAA,MAC7D,MAAM,IAAA,IAAQ,EAAA;AAAA,MACd,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,MAAA,EAAQ,aAAA,CAAc,IAAA,EAAM,QAAQ,CAAA;AAAA,MACpC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA,EAAe,WAAW,eAAe,CAAA;AAAA,MACzC,gBAAA,EAAkB,WAAW,kBAAkB,CAAA;AAAA,MAC/C,uBAAA,EAAyB,WAAW,yBAAyB,CAAA;AAAA,MAC7D,eAAA,EAAiB,WAAW,iBAAiB,CAAA;AAAA,MAC7C,UAAA,EAAY,eAAe,YAAY,CAAA;AAAA,MACvC,aAAA,EAAe,WAAW,eAAe,CAAA;AAAA,MACzC,aAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAA,CAAG,IAAA,CAAK,MAAM,CAAA,EAAE;AAAA,EACxB,CAAA,MAAO;AACL,IAAA,oBAAA,CAAqB,MAAA,EAAQ,GAAG,QAAQ,CAAA;AAAA,EAC1C;AACF,CAAA","file":"calendarSource.worker.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport { BaseWorkerContext } from '../contexts/BaseWorkerContext.js';\nimport type { WorkerEvent } from '../types/workers.js';\nimport { buildCodeRunnerFunction } from '../util/run.js';\nimport {\n dynamicPromptHandler,\n handleCommonResponse,\n kizenRequestHandler,\n postFormDataHandler,\n promptHandler,\n} from './util.js';\nimport { WorkerPromise } from './WorkerPromise.js';\n\nconst promises = new WorkerPromise({ isDebug: false });\n\nlet runner: BaseWorkerContext | null = null;\n\nconst notAllowed = (fnName: string) => (): Promise<never> => {\n return new Promise((_, reject) => {\n reject(new Error(`${fnName} is not supported in calendar source scripts`));\n });\n};\n\nconst notAllowedVoid = (fnName: string) => (): void => {\n throw new Error(`${fnName} is not supported in calendar source scripts`);\n};\n\nself.onmessage = async (e: MessageEvent<string>) => {\n const data = JSON.parse(e.data) as WorkerEvent;\n\n const {\n action,\n script,\n setup,\n args,\n sessionData = {},\n pluginComponentId,\n pluginApiName,\n location,\n } = data;\n\n if (action === ACTIONS.RUN && setup && script) {\n const { fn, functionBody } = buildCodeRunnerFunction(script);\n\n runner = new BaseWorkerContext({\n user: setup.user,\n teamMember: setup.teamMember,\n business: setup.business,\n clientObject: setup.clientObject,\n isDebug: setup.isDebug,\n appPath: setup.appPath,\n scriptBody: script,\n functionBody,\n instance: self,\n kizenRequest: kizenRequestHandler(self, promises),\n postFormData: postFormDataHandler(self, promises),\n uploadFile: notAllowed('uploadFile'),\n installThirdPartyScript: notAllowed('installThirdPartyScript'),\n args: args ?? '',\n sessionData,\n pluginComponentId,\n prompt: promptHandler(self, promises),\n dynamicPrompt: dynamicPromptHandler(self, promises),\n refreshEntity: notAllowed('refreshEntity'),\n openCreateRecord: notAllowed('openCreateRecord'),\n openCreateRelatedRecord: notAllowed('openCreateRelatedRecord'),\n showViewInModal: notAllowed('showViewInModal'),\n closeModal: notAllowedVoid('closeModal'),\n completeSetup: notAllowed('completeSetup'),\n pluginApiName,\n location,\n });\n\n await fn.bind(runner)();\n } else {\n handleCommonResponse(action, e, promises);\n }\n};\n"]}
@@ -1,10 +1,10 @@
1
- import { FloatingFrameWorkerContext } from '../chunk-MY4MXCGX.js';
2
- import { WorkerPromise } from '../chunk-A3JR3VXF.js';
3
- import { buildCodeRunnerFunction } from '../chunk-KVE4CAUJ.js';
4
- import '../chunk-Y32HBIQ2.js';
5
- import { closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-5M2LFHMD.js';
6
- import '../chunk-QYGHOK5P.js';
7
- import { ACTIONS } from '../chunk-DW7EWU2Z.js';
1
+ import { FloatingFrameWorkerContext } from '../chunk-5IUXBYZK.js';
2
+ import { WorkerPromise } from '../chunk-OZGSC5IX.js';
3
+ import { buildCodeRunnerFunction } from '../chunk-V2YSOGVX.js';
4
+ import '../chunk-IWQF53YW.js';
5
+ import { completeSetupHandler, closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-6ZZ7U3AM.js';
6
+ import '../chunk-4F3ZPLL7.js';
7
+ import { ACTIONS } from '../chunk-KCA5EK7O.js';
8
8
  import '../chunk-5WRI5ZAA.js';
9
9
 
10
10
  // src/workers/floatingFrame.worker.ts
@@ -47,6 +47,7 @@ self.onmessage = async (e) => {
47
47
  openCreateRelatedRecord: openCreateRelatedRecordHandler(self, promises),
48
48
  showViewInModal: showViewInModalHandler(self, promises),
49
49
  closeModal: closeModalHandler(self),
50
+ completeSetup: completeSetupHandler(self, promises),
50
51
  pluginApiName,
51
52
  location
52
53
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/workers/floatingFrame.worker.ts"],"names":[],"mappings":";;;;;;;;;;AAoBA,IAAM,WAAW,IAAI,aAAA,CAAc,EAAE,OAAA,EAAS,OAAO,CAAA;AAErD,IAAA,CAAK,SAAA,GAAY,OAAO,CAAA,KAA4B;AAClD,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,CAAA,CAAE,IAAI,CAAA;AAE9B,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAc,EAAC;AAAA,IACf,iBAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF,GAAI,IAAA;AAEJ,EAAA,IAAI,MAAA,KAAW,OAAA,CAAQ,GAAA,IAAO,KAAA,IAAS,MAAA,EAAQ;AAC7C,IAAA,MAAM,EAAE,EAAA,EAAI,YAAA,EAAa,GAAI,wBAAwB,MAAM,CAAA;AAE3D,IAAA,MAAM,MAAA,GAAS,IAAI,0BAAA,CAA2B;AAAA,MAC5C,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,UAAA,EAAY,MAAA;AAAA,MACZ,YAAA;AAAA,MACA,QAAA,EAAU,IAAA;AAAA,MACV,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,UAAA,EAAY,iBAAA,CAAkB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAC5C,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,MAAM,IAAA,IAAQ,EAAA;AAAA,MACd,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,MAAA,EAAQ,aAAA,CAAc,IAAA,EAAM,QAAQ,CAAA;AAAA,MACpC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,gBAAA,EAAkB,uBAAA,CAAwB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACxD,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,eAAA,EAAiB,sBAAA,CAAuB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtD,UAAA,EAAY,kBAAkB,IAAI,CAAA;AAAA,MAClC,aAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAA,CAAG,IAAA,CAAK,MAAM,CAAA,EAAE;AAAA,EACxB,CAAA,MAAO;AACL,IAAA,oBAAA,CAAqB,MAAA,EAAQ,GAAG,QAAQ,CAAA;AAAA,EAC1C;AACF,CAAA","file":"floatingFrame.worker.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport { FloatingFrameWorkerContext } from '../contexts/FloatingFrameWorkerContext.js';\nimport type { WorkerEvent } from '../types/workers.js';\nimport { buildCodeRunnerFunction } from '../util/run.js';\nimport {\n closeModalHandler,\n dynamicPromptHandler,\n handleCommonResponse,\n installThirdPartyScriptHandler,\n kizenRequestHandler,\n openCreateRecordHandler,\n openCreateRelatedRecordHandler,\n postFormDataHandler,\n promptHandler,\n refreshEntityHandler,\n showViewInModalHandler,\n uploadFileHandler,\n} from './util.js';\nimport { WorkerPromise } from './WorkerPromise.js';\n\nconst promises = new WorkerPromise({ isDebug: false });\n\nself.onmessage = async (e: MessageEvent<string>) => {\n const data = JSON.parse(e.data) as WorkerEvent;\n\n const {\n action,\n script,\n setup,\n args,\n sessionData = {},\n pluginComponentId,\n pluginApiName,\n location,\n } = data;\n\n if (action === ACTIONS.RUN && setup && script) {\n const { fn, functionBody } = buildCodeRunnerFunction(script);\n\n const runner = new FloatingFrameWorkerContext({\n user: setup.user,\n teamMember: setup.teamMember,\n business: setup.business,\n clientObject: setup.clientObject,\n appPath: setup.appPath,\n isDebug: setup.isDebug,\n scriptBody: script,\n functionBody,\n instance: self,\n kizenRequest: kizenRequestHandler(self, promises),\n postFormData: postFormDataHandler(self, promises),\n uploadFile: uploadFileHandler(self, promises),\n installThirdPartyScript: installThirdPartyScriptHandler(self, promises),\n args: args ?? '',\n sessionData,\n pluginComponentId,\n prompt: promptHandler(self, promises),\n dynamicPrompt: dynamicPromptHandler(self, promises),\n refreshEntity: refreshEntityHandler(self, promises),\n openCreateRecord: openCreateRecordHandler(self, promises),\n openCreateRelatedRecord: openCreateRelatedRecordHandler(self, promises),\n showViewInModal: showViewInModalHandler(self, promises),\n closeModal: closeModalHandler(self),\n pluginApiName,\n location,\n });\n\n await fn.bind(runner)();\n } else {\n handleCommonResponse(action, e, promises);\n }\n};\n"]}
1
+ {"version":3,"sources":["../../src/workers/floatingFrame.worker.ts"],"names":[],"mappings":";;;;;;;;;;AAqBA,IAAM,WAAW,IAAI,aAAA,CAAc,EAAE,OAAA,EAAS,OAAO,CAAA;AAErD,IAAA,CAAK,SAAA,GAAY,OAAO,CAAA,KAA4B;AAClD,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,CAAA,CAAE,IAAI,CAAA;AAE9B,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAc,EAAC;AAAA,IACf,iBAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF,GAAI,IAAA;AAEJ,EAAA,IAAI,MAAA,KAAW,OAAA,CAAQ,GAAA,IAAO,KAAA,IAAS,MAAA,EAAQ;AAC7C,IAAA,MAAM,EAAE,EAAA,EAAI,YAAA,EAAa,GAAI,wBAAwB,MAAM,CAAA;AAE3D,IAAA,MAAM,MAAA,GAAS,IAAI,0BAAA,CAA2B;AAAA,MAC5C,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,UAAA,EAAY,MAAA;AAAA,MACZ,YAAA;AAAA,MACA,QAAA,EAAU,IAAA;AAAA,MACV,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,UAAA,EAAY,iBAAA,CAAkB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAC5C,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,MAAM,IAAA,IAAQ,EAAA;AAAA,MACd,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,MAAA,EAAQ,aAAA,CAAc,IAAA,EAAM,QAAQ,CAAA;AAAA,MACpC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,gBAAA,EAAkB,uBAAA,CAAwB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACxD,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,eAAA,EAAiB,sBAAA,CAAuB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtD,UAAA,EAAY,kBAAkB,IAAI,CAAA;AAAA,MAClC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAA,CAAG,IAAA,CAAK,MAAM,CAAA,EAAE;AAAA,EACxB,CAAA,MAAO;AACL,IAAA,oBAAA,CAAqB,MAAA,EAAQ,GAAG,QAAQ,CAAA;AAAA,EAC1C;AACF,CAAA","file":"floatingFrame.worker.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport { FloatingFrameWorkerContext } from '../contexts/FloatingFrameWorkerContext.js';\nimport type { WorkerEvent } from '../types/workers.js';\nimport { buildCodeRunnerFunction } from '../util/run.js';\nimport {\n closeModalHandler,\n completeSetupHandler,\n dynamicPromptHandler,\n handleCommonResponse,\n installThirdPartyScriptHandler,\n kizenRequestHandler,\n openCreateRecordHandler,\n openCreateRelatedRecordHandler,\n postFormDataHandler,\n promptHandler,\n refreshEntityHandler,\n showViewInModalHandler,\n uploadFileHandler,\n} from './util.js';\nimport { WorkerPromise } from './WorkerPromise.js';\n\nconst promises = new WorkerPromise({ isDebug: false });\n\nself.onmessage = async (e: MessageEvent<string>) => {\n const data = JSON.parse(e.data) as WorkerEvent;\n\n const {\n action,\n script,\n setup,\n args,\n sessionData = {},\n pluginComponentId,\n pluginApiName,\n location,\n } = data;\n\n if (action === ACTIONS.RUN && setup && script) {\n const { fn, functionBody } = buildCodeRunnerFunction(script);\n\n const runner = new FloatingFrameWorkerContext({\n user: setup.user,\n teamMember: setup.teamMember,\n business: setup.business,\n clientObject: setup.clientObject,\n appPath: setup.appPath,\n isDebug: setup.isDebug,\n scriptBody: script,\n functionBody,\n instance: self,\n kizenRequest: kizenRequestHandler(self, promises),\n postFormData: postFormDataHandler(self, promises),\n uploadFile: uploadFileHandler(self, promises),\n installThirdPartyScript: installThirdPartyScriptHandler(self, promises),\n args: args ?? '',\n sessionData,\n pluginComponentId,\n prompt: promptHandler(self, promises),\n dynamicPrompt: dynamicPromptHandler(self, promises),\n refreshEntity: refreshEntityHandler(self, promises),\n openCreateRecord: openCreateRecordHandler(self, promises),\n openCreateRelatedRecord: openCreateRelatedRecordHandler(self, promises),\n showViewInModal: showViewInModalHandler(self, promises),\n closeModal: closeModalHandler(self),\n completeSetup: completeSetupHandler(self, promises),\n pluginApiName,\n location,\n });\n\n await fn.bind(runner)();\n } else {\n handleCommonResponse(action, e, promises);\n }\n};\n"]}
@@ -1,9 +1,9 @@
1
- import { WorkerPromise } from '../chunk-A3JR3VXF.js';
2
- import { buildCodeRunnerFunction } from '../chunk-KVE4CAUJ.js';
3
- import { BaseWorkerContext } from '../chunk-Y32HBIQ2.js';
4
- import { closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-5M2LFHMD.js';
5
- import '../chunk-QYGHOK5P.js';
6
- import { ACTIONS } from '../chunk-DW7EWU2Z.js';
1
+ import { WorkerPromise } from '../chunk-OZGSC5IX.js';
2
+ import { buildCodeRunnerFunction } from '../chunk-V2YSOGVX.js';
3
+ import { BaseWorkerContext } from '../chunk-IWQF53YW.js';
4
+ import { completeSetupHandler, closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-6ZZ7U3AM.js';
5
+ import '../chunk-4F3ZPLL7.js';
6
+ import { ACTIONS } from '../chunk-KCA5EK7O.js';
7
7
  import '../chunk-5WRI5ZAA.js';
8
8
 
9
9
  // src/workers/generic.worker.ts
@@ -47,6 +47,7 @@ self.onmessage = async (e) => {
47
47
  openCreateRelatedRecord: openCreateRelatedRecordHandler(self, promises),
48
48
  showViewInModal: showViewInModalHandler(self, promises),
49
49
  closeModal: closeModalHandler(self),
50
+ completeSetup: completeSetupHandler(self, promises),
50
51
  pluginApiName,
51
52
  location
52
53
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/workers/generic.worker.ts"],"names":[],"mappings":";;;;;;;;;AAoBA,IAAM,WAAW,IAAI,aAAA,CAAc,EAAE,OAAA,EAAS,OAAO,CAAA;AAErD,IAAI,MAAA,GAAmC,IAAA;AAEvC,IAAA,CAAK,SAAA,GAAY,OAAO,CAAA,KAA4B;AAClD,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,CAAA,CAAE,IAAI,CAAA;AAE9B,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAc,EAAC;AAAA,IACf,iBAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF,GAAI,IAAA;AAEJ,EAAA,IAAI,MAAA,KAAW,OAAA,CAAQ,GAAA,IAAO,KAAA,IAAS,MAAA,EAAQ;AAC7C,IAAA,MAAM,EAAE,EAAA,EAAI,YAAA,EAAa,GAAI,wBAAwB,MAAM,CAAA;AAE3D,IAAA,MAAA,GAAS,IAAI,iBAAA,CAAkB;AAAA,MAC7B,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,UAAA,EAAY,MAAA;AAAA,MACZ,YAAA;AAAA,MACA,QAAA,EAAU,IAAA;AAAA,MACV,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,UAAA,EAAY,iBAAA,CAAkB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAC5C,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,MAAM,IAAA,IAAQ,EAAA;AAAA,MACd,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,MAAA,EAAQ,aAAA,CAAc,IAAA,EAAM,QAAQ,CAAA;AAAA,MACpC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,gBAAA,EAAkB,uBAAA,CAAwB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACxD,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,eAAA,EAAiB,sBAAA,CAAuB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtD,UAAA,EAAY,kBAAkB,IAAI,CAAA;AAAA,MAClC,aAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAA,CAAG,IAAA,CAAK,MAAM,CAAA,EAAE;AAAA,EACxB,CAAA,MAAO;AACL,IAAA,oBAAA,CAAqB,MAAA,EAAQ,GAAG,QAAQ,CAAA;AAAA,EAC1C;AACF,CAAA","file":"generic.worker.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport { BaseWorkerContext } from '../contexts/BaseWorkerContext.js';\nimport type { WorkerEvent } from '../types/workers.js';\nimport { buildCodeRunnerFunction } from '../util/run.js';\nimport {\n closeModalHandler,\n dynamicPromptHandler,\n handleCommonResponse,\n installThirdPartyScriptHandler,\n kizenRequestHandler,\n openCreateRecordHandler,\n openCreateRelatedRecordHandler,\n postFormDataHandler,\n promptHandler,\n refreshEntityHandler,\n showViewInModalHandler,\n uploadFileHandler,\n} from './util.js';\nimport { WorkerPromise } from './WorkerPromise.js';\n\nconst promises = new WorkerPromise({ isDebug: false });\n\nlet runner: BaseWorkerContext | null = null;\n\nself.onmessage = async (e: MessageEvent<string>) => {\n const data = JSON.parse(e.data) as WorkerEvent;\n\n const {\n action,\n script,\n setup,\n args,\n sessionData = {},\n pluginComponentId,\n pluginApiName,\n location,\n } = data;\n\n if (action === ACTIONS.RUN && setup && script) {\n const { fn, functionBody } = buildCodeRunnerFunction(script);\n\n runner = new BaseWorkerContext({\n user: setup.user,\n teamMember: setup.teamMember,\n business: setup.business,\n clientObject: setup.clientObject,\n isDebug: setup.isDebug,\n appPath: setup.appPath,\n scriptBody: script,\n functionBody,\n instance: self,\n kizenRequest: kizenRequestHandler(self, promises),\n postFormData: postFormDataHandler(self, promises),\n uploadFile: uploadFileHandler(self, promises),\n installThirdPartyScript: installThirdPartyScriptHandler(self, promises),\n args: args ?? '',\n sessionData,\n pluginComponentId,\n prompt: promptHandler(self, promises),\n dynamicPrompt: dynamicPromptHandler(self, promises),\n refreshEntity: refreshEntityHandler(self, promises),\n openCreateRecord: openCreateRecordHandler(self, promises),\n openCreateRelatedRecord: openCreateRelatedRecordHandler(self, promises),\n showViewInModal: showViewInModalHandler(self, promises),\n closeModal: closeModalHandler(self),\n pluginApiName,\n location,\n });\n\n await fn.bind(runner)();\n } else {\n handleCommonResponse(action, e, promises);\n }\n};\n"]}
1
+ {"version":3,"sources":["../../src/workers/generic.worker.ts"],"names":[],"mappings":";;;;;;;;;AAqBA,IAAM,WAAW,IAAI,aAAA,CAAc,EAAE,OAAA,EAAS,OAAO,CAAA;AAErD,IAAI,MAAA,GAAmC,IAAA;AAEvC,IAAA,CAAK,SAAA,GAAY,OAAO,CAAA,KAA4B;AAClD,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,CAAA,CAAE,IAAI,CAAA;AAE9B,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAc,EAAC;AAAA,IACf,iBAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF,GAAI,IAAA;AAEJ,EAAA,IAAI,MAAA,KAAW,OAAA,CAAQ,GAAA,IAAO,KAAA,IAAS,MAAA,EAAQ;AAC7C,IAAA,MAAM,EAAE,EAAA,EAAI,YAAA,EAAa,GAAI,wBAAwB,MAAM,CAAA;AAE3D,IAAA,MAAA,GAAS,IAAI,iBAAA,CAAkB;AAAA,MAC7B,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,UAAA,EAAY,MAAA;AAAA,MACZ,YAAA;AAAA,MACA,QAAA,EAAU,IAAA;AAAA,MACV,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,UAAA,EAAY,iBAAA,CAAkB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAC5C,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,MAAM,IAAA,IAAQ,EAAA;AAAA,MACd,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,MAAA,EAAQ,aAAA,CAAc,IAAA,EAAM,QAAQ,CAAA;AAAA,MACpC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,gBAAA,EAAkB,uBAAA,CAAwB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACxD,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,eAAA,EAAiB,sBAAA,CAAuB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtD,UAAA,EAAY,kBAAkB,IAAI,CAAA;AAAA,MAClC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAA,CAAG,IAAA,CAAK,MAAM,CAAA,EAAE;AAAA,EACxB,CAAA,MAAO;AACL,IAAA,oBAAA,CAAqB,MAAA,EAAQ,GAAG,QAAQ,CAAA;AAAA,EAC1C;AACF,CAAA","file":"generic.worker.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport { BaseWorkerContext } from '../contexts/BaseWorkerContext.js';\nimport type { WorkerEvent } from '../types/workers.js';\nimport { buildCodeRunnerFunction } from '../util/run.js';\nimport {\n closeModalHandler,\n completeSetupHandler,\n dynamicPromptHandler,\n handleCommonResponse,\n installThirdPartyScriptHandler,\n kizenRequestHandler,\n openCreateRecordHandler,\n openCreateRelatedRecordHandler,\n postFormDataHandler,\n promptHandler,\n refreshEntityHandler,\n showViewInModalHandler,\n uploadFileHandler,\n} from './util.js';\nimport { WorkerPromise } from './WorkerPromise.js';\n\nconst promises = new WorkerPromise({ isDebug: false });\n\nlet runner: BaseWorkerContext | null = null;\n\nself.onmessage = async (e: MessageEvent<string>) => {\n const data = JSON.parse(e.data) as WorkerEvent;\n\n const {\n action,\n script,\n setup,\n args,\n sessionData = {},\n pluginComponentId,\n pluginApiName,\n location,\n } = data;\n\n if (action === ACTIONS.RUN && setup && script) {\n const { fn, functionBody } = buildCodeRunnerFunction(script);\n\n runner = new BaseWorkerContext({\n user: setup.user,\n teamMember: setup.teamMember,\n business: setup.business,\n clientObject: setup.clientObject,\n isDebug: setup.isDebug,\n appPath: setup.appPath,\n scriptBody: script,\n functionBody,\n instance: self,\n kizenRequest: kizenRequestHandler(self, promises),\n postFormData: postFormDataHandler(self, promises),\n uploadFile: uploadFileHandler(self, promises),\n installThirdPartyScript: installThirdPartyScriptHandler(self, promises),\n args: args ?? '',\n sessionData,\n pluginComponentId,\n prompt: promptHandler(self, promises),\n dynamicPrompt: dynamicPromptHandler(self, promises),\n refreshEntity: refreshEntityHandler(self, promises),\n openCreateRecord: openCreateRecordHandler(self, promises),\n openCreateRelatedRecord: openCreateRelatedRecordHandler(self, promises),\n showViewInModal: showViewInModalHandler(self, promises),\n closeModal: closeModalHandler(self),\n completeSetup: completeSetupHandler(self, promises),\n pluginApiName,\n location,\n });\n\n await fn.bind(runner)();\n } else {\n handleCommonResponse(action, e, promises);\n }\n};\n"]}
@@ -1,10 +1,10 @@
1
- import { RecordDetailWorkerContext } from '../chunk-ANZLHJL2.js';
2
- import { WorkerPromise } from '../chunk-A3JR3VXF.js';
3
- import { buildCodeRunnerFunction } from '../chunk-KVE4CAUJ.js';
4
- import '../chunk-Y32HBIQ2.js';
5
- import { closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-5M2LFHMD.js';
6
- import '../chunk-QYGHOK5P.js';
7
- import { ACTIONS } from '../chunk-DW7EWU2Z.js';
1
+ import { RecordDetailWorkerContext } from '../chunk-LMH2CUPW.js';
2
+ import { WorkerPromise } from '../chunk-OZGSC5IX.js';
3
+ import { buildCodeRunnerFunction } from '../chunk-V2YSOGVX.js';
4
+ import '../chunk-IWQF53YW.js';
5
+ import { completeSetupHandler, closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-6ZZ7U3AM.js';
6
+ import '../chunk-4F3ZPLL7.js';
7
+ import { ACTIONS } from '../chunk-KCA5EK7O.js';
8
8
  import '../chunk-5WRI5ZAA.js';
9
9
 
10
10
  // src/workers/recordDetail.worker.ts
@@ -51,6 +51,7 @@ self.onmessage = async (e) => {
51
51
  openCreateRelatedRecord: openCreateRelatedRecordHandler(self, promises),
52
52
  showViewInModal: showViewInModalHandler(self, promises),
53
53
  closeModal: closeModalHandler(self),
54
+ completeSetup: completeSetupHandler(self, promises),
54
55
  pluginApiName,
55
56
  location
56
57
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/workers/recordDetail.worker.ts"],"names":[],"mappings":";;;;;;;;;;AAoBA,IAAM,WAAW,IAAI,aAAA,CAAc,EAAE,OAAA,EAAS,OAAO,CAAA;AAErD,IAAA,CAAK,SAAA,GAAY,OAAO,CAAA,KAA4B;AAClD,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,CAAA,CAAE,IAAI,CAAA;AAE9B,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAc,EAAC;AAAA,IACf,iBAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF,GAAI,IAAA;AAEJ,EAAA,IAAI,MAAA,KAAW,OAAA,CAAQ,GAAA,IAAO,KAAA,IAAS,MAAA,EAAQ;AAC7C,IAAA,MAAM,EAAE,EAAA,EAAI,YAAA,EAAa,GAAI,wBAAwB,MAAM,CAAA;AAE3D,IAAA,MAAM,MAAA,GAAS,IAAI,yBAAA,CAA0B;AAAA,MAC3C,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,QAAA,EAAU,MAAM,QAAA,IAAY,EAAA;AAAA,MAC5B,QAAA,EAAU,MAAM,QAAA,IAAY,EAAA;AAAA,MAC5B,cAAA,EAAgB,MAAM,cAAA,IAAkB,EAAA;AAAA,MACxC,cAAA,EAAgB,MAAM,cAAA,IAAkB,EAAA;AAAA,MACxC,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,UAAA,EAAY,MAAA;AAAA,MACZ,YAAA;AAAA,MACA,QAAA,EAAU,IAAA;AAAA,MACV,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,UAAA,EAAY,iBAAA,CAAkB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAC5C,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,MAAM,IAAA,IAAQ,EAAA;AAAA,MACd,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,MAAA,EAAQ,aAAA,CAAc,IAAA,EAAM,QAAQ,CAAA;AAAA,MACpC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,gBAAA,EAAkB,uBAAA,CAAwB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACxD,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,eAAA,EAAiB,sBAAA,CAAuB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtD,UAAA,EAAY,kBAAkB,IAAI,CAAA;AAAA,MAClC,aAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAA,CAAG,IAAA,CAAK,MAAM,CAAA,EAAE;AAAA,EACxB,CAAA,MAAO;AACL,IAAA,oBAAA,CAAqB,MAAA,EAAQ,GAAG,QAAQ,CAAA;AAAA,EAC1C;AACF,CAAA","file":"recordDetail.worker.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport { RecordDetailWorkerContext } from '../contexts/RecordDetailWorkerContext.js';\nimport type { WorkerEvent } from '../types/workers.js';\nimport { buildCodeRunnerFunction } from '../util/run.js';\nimport {\n closeModalHandler,\n dynamicPromptHandler,\n handleCommonResponse,\n installThirdPartyScriptHandler,\n kizenRequestHandler,\n openCreateRecordHandler,\n openCreateRelatedRecordHandler,\n postFormDataHandler,\n promptHandler,\n refreshEntityHandler,\n showViewInModalHandler,\n uploadFileHandler,\n} from './util.js';\nimport { WorkerPromise } from './WorkerPromise.js';\n\nconst promises = new WorkerPromise({ isDebug: false });\n\nself.onmessage = async (e: MessageEvent<string>) => {\n const data = JSON.parse(e.data) as WorkerEvent;\n\n const {\n action,\n script,\n setup,\n args,\n sessionData = {},\n pluginComponentId,\n pluginApiName,\n location,\n } = data;\n\n if (action === ACTIONS.RUN && setup && script) {\n const { fn, functionBody } = buildCodeRunnerFunction(script);\n\n const runner = new RecordDetailWorkerContext({\n user: setup.user,\n teamMember: setup.teamMember,\n business: setup.business,\n entityId: setup.entityId ?? '',\n objectId: setup.objectId ?? '',\n actionObjectId: setup.actionObjectId ?? '',\n actionEntityId: setup.actionEntityId ?? '',\n clientObject: setup.clientObject,\n appPath: setup.appPath,\n isDebug: setup.isDebug,\n scriptBody: script,\n functionBody,\n instance: self,\n kizenRequest: kizenRequestHandler(self, promises),\n postFormData: postFormDataHandler(self, promises),\n uploadFile: uploadFileHandler(self, promises),\n installThirdPartyScript: installThirdPartyScriptHandler(self, promises),\n args: args ?? '',\n sessionData,\n pluginComponentId,\n prompt: promptHandler(self, promises),\n dynamicPrompt: dynamicPromptHandler(self, promises),\n refreshEntity: refreshEntityHandler(self, promises),\n openCreateRecord: openCreateRecordHandler(self, promises),\n openCreateRelatedRecord: openCreateRelatedRecordHandler(self, promises),\n showViewInModal: showViewInModalHandler(self, promises),\n closeModal: closeModalHandler(self),\n pluginApiName,\n location,\n });\n\n await fn.bind(runner)();\n } else {\n handleCommonResponse(action, e, promises);\n }\n};\n"]}
1
+ {"version":3,"sources":["../../src/workers/recordDetail.worker.ts"],"names":[],"mappings":";;;;;;;;;;AAqBA,IAAM,WAAW,IAAI,aAAA,CAAc,EAAE,OAAA,EAAS,OAAO,CAAA;AAErD,IAAA,CAAK,SAAA,GAAY,OAAO,CAAA,KAA4B;AAClD,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,CAAA,CAAE,IAAI,CAAA;AAE9B,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAc,EAAC;AAAA,IACf,iBAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF,GAAI,IAAA;AAEJ,EAAA,IAAI,MAAA,KAAW,OAAA,CAAQ,GAAA,IAAO,KAAA,IAAS,MAAA,EAAQ;AAC7C,IAAA,MAAM,EAAE,EAAA,EAAI,YAAA,EAAa,GAAI,wBAAwB,MAAM,CAAA;AAE3D,IAAA,MAAM,MAAA,GAAS,IAAI,yBAAA,CAA0B;AAAA,MAC3C,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,QAAA,EAAU,MAAM,QAAA,IAAY,EAAA;AAAA,MAC5B,QAAA,EAAU,MAAM,QAAA,IAAY,EAAA;AAAA,MAC5B,cAAA,EAAgB,MAAM,cAAA,IAAkB,EAAA;AAAA,MACxC,cAAA,EAAgB,MAAM,cAAA,IAAkB,EAAA;AAAA,MACxC,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,UAAA,EAAY,MAAA;AAAA,MACZ,YAAA;AAAA,MACA,QAAA,EAAU,IAAA;AAAA,MACV,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,YAAA,EAAc,mBAAA,CAAoB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,UAAA,EAAY,iBAAA,CAAkB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAC5C,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,MAAM,IAAA,IAAQ,EAAA;AAAA,MACd,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,MAAA,EAAQ,aAAA,CAAc,IAAA,EAAM,QAAQ,CAAA;AAAA,MACpC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,gBAAA,EAAkB,uBAAA,CAAwB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACxD,uBAAA,EAAyB,8BAAA,CAA+B,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtE,eAAA,EAAiB,sBAAA,CAAuB,IAAA,EAAM,QAAQ,CAAA;AAAA,MACtD,UAAA,EAAY,kBAAkB,IAAI,CAAA;AAAA,MAClC,aAAA,EAAe,oBAAA,CAAqB,IAAA,EAAM,QAAQ,CAAA;AAAA,MAClD,aAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAA,CAAG,IAAA,CAAK,MAAM,CAAA,EAAE;AAAA,EACxB,CAAA,MAAO;AACL,IAAA,oBAAA,CAAqB,MAAA,EAAQ,GAAG,QAAQ,CAAA;AAAA,EAC1C;AACF,CAAA","file":"recordDetail.worker.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport { RecordDetailWorkerContext } from '../contexts/RecordDetailWorkerContext.js';\nimport type { WorkerEvent } from '../types/workers.js';\nimport { buildCodeRunnerFunction } from '../util/run.js';\nimport {\n closeModalHandler,\n completeSetupHandler,\n dynamicPromptHandler,\n handleCommonResponse,\n installThirdPartyScriptHandler,\n kizenRequestHandler,\n openCreateRecordHandler,\n openCreateRelatedRecordHandler,\n postFormDataHandler,\n promptHandler,\n refreshEntityHandler,\n showViewInModalHandler,\n uploadFileHandler,\n} from './util.js';\nimport { WorkerPromise } from './WorkerPromise.js';\n\nconst promises = new WorkerPromise({ isDebug: false });\n\nself.onmessage = async (e: MessageEvent<string>) => {\n const data = JSON.parse(e.data) as WorkerEvent;\n\n const {\n action,\n script,\n setup,\n args,\n sessionData = {},\n pluginComponentId,\n pluginApiName,\n location,\n } = data;\n\n if (action === ACTIONS.RUN && setup && script) {\n const { fn, functionBody } = buildCodeRunnerFunction(script);\n\n const runner = new RecordDetailWorkerContext({\n user: setup.user,\n teamMember: setup.teamMember,\n business: setup.business,\n entityId: setup.entityId ?? '',\n objectId: setup.objectId ?? '',\n actionObjectId: setup.actionObjectId ?? '',\n actionEntityId: setup.actionEntityId ?? '',\n clientObject: setup.clientObject,\n appPath: setup.appPath,\n isDebug: setup.isDebug,\n scriptBody: script,\n functionBody,\n instance: self,\n kizenRequest: kizenRequestHandler(self, promises),\n postFormData: postFormDataHandler(self, promises),\n uploadFile: uploadFileHandler(self, promises),\n installThirdPartyScript: installThirdPartyScriptHandler(self, promises),\n args: args ?? '',\n sessionData,\n pluginComponentId,\n prompt: promptHandler(self, promises),\n dynamicPrompt: dynamicPromptHandler(self, promises),\n refreshEntity: refreshEntityHandler(self, promises),\n openCreateRecord: openCreateRecordHandler(self, promises),\n openCreateRelatedRecord: openCreateRelatedRecordHandler(self, promises),\n showViewInModal: showViewInModalHandler(self, promises),\n closeModal: closeModalHandler(self),\n completeSetup: completeSetupHandler(self, promises),\n pluginApiName,\n location,\n });\n\n await fn.bind(runner)();\n } else {\n handleCommonResponse(action, e, promises);\n }\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kizenapps/engine",
3
- "version": "1.8.0",
3
+ "version": "1.9.0-ccfe3f0",
4
4
  "description": "Run JavaScript plugin apps inside Web Workers with host ↔ worker messaging",
5
5
  "license": "GPL-3.0",
6
6
  "type": "module",
@@ -1 +0,0 @@
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-5M2LFHMD.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 CurriedInstallThirdPartyScriptFn,\n CurriedOpenCreateRecordFn,\n CurriedOpenCreateRelatedRecordFn,\n CurriedPostFormDataFn,\n CurriedPromptFn,\n CurriedRefreshEntityFn,\n CurriedUploadFileFn,\n} from '../types/contexts.js';\nimport type {\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 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.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 +0,0 @@
1
- {"version":3,"sources":["../src/communication/constants.ts","../src/communication/ThirdPartyScript.ts"],"names":["INDICATOR_TYPE"],"mappings":"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","file":"chunk-DW7EWU2Z.js","sourcesContent":["export const ACTIONS = {\n QUERY_REQUEST: 'query:request',\n UI_OUTPUT: 'outputui',\n IFRAME_OUTPUT: 'iframeoutput',\n POSTFORMDATA_REQUEST: 'postformdata:request',\n SETSTATE: 'setstate',\n DONE: 'done',\n RUN: 'run',\n OPEN_WINDOW: 'openwindow',\n COMMUNICATE: 'communicate',\n HIDE: 'hide',\n SHOW: 'show',\n EXPAND: 'expand',\n COLLAPSE: 'collapse',\n HIDE_HEADER: 'hideheader',\n SHOW_HEADER: 'showheader',\n OPEN_CREATE_RECORD_MODAL_REQUEST: 'opencreaterecordmodal:request',\n OPEN_CREATE_RELATED_RECORD_MODAL_REQUEST: 'opencreaterelatedrecordmodal:request',\n SHOW_TOAST: 'showtoast',\n CLEAR_TOASTS: 'cleartoasts',\n REFRESH_TIMELINE: 'refreshtimeline',\n REFRESH_ENTITY: 'refreshentity',\n UPLOADFILE_REQUEST: 'uploadfile:request',\n UPDATE_SESSION_DATA: 'updatesessiondata',\n INSTALL_THIRD_PARTY_SCRIPT_REQUEST: 'installthirdpartyscript:request',\n PROMPT_REQUEST: 'prompt:request',\n // Note: We have a special request for dynamic prompts, but the regular response is sufficient\n // and no special dynamic one is needed\n DYNAMIC_PROMPT_REQUEST: 'dynamicprompt:request',\n RELEASE_BLOCKING_SCRIPT: 'releaseblockingscript',\n AUTHORIZE: 'authorize',\n COPY_TO_CLIPBOARD: 'copytoclipboard',\n SHOW_VIEW_IN_MODAL_REQUEST: 'showviewinmodal:request',\n CLOSE_MODAL_REQUEST: 'closemodal:request',\n CONSOLE_LOG: 'consolelog',\n RUN_EVENT_SCRIPT: 'runeventscript',\n};\n\nexport const RESPONSES = {\n QUERY_RESPONSE: 'query:response',\n POSTFORMDATA_RESPONSE: 'postformdata:response',\n ERROR: 'error',\n UPLOADFILE_RESPONSE: 'uploadfile:response',\n UPLOADFILE_PROGRESS: 'uploadfile:progress',\n INSTALL_THIRD_PARTY_SCRIPT_RESPONSE: 'installthirdpartyscript:response',\n PROMPT_RESPONSE: 'prompt:response',\n REFRESH_ENTITY_RESPONSE: 'refreshentity:response',\n CREATE_RECORD_RESPONSE: 'createrecord:response',\n CREATE_RELATED_RECORD_RESPONSE: 'createrelatedrecord:response',\n};\n\nexport const COMMUNICATIONS = {\n RUN_FRAME_SCRIPT: 'runframescript',\n RUN_BLOCK_SCRIPT: 'runblockscript',\n SEND_MESSAGE_TO_FRAME: 'sendmessagetoframe',\n CALL_THIRD_PARTY_SCRIPT: 'callthirdpartyscript',\n};\n\nexport enum INDICATOR_TYPE {\n NONE = 'none',\n BLOCK = 'block',\n BUTTON = 'button',\n SPINNER = 'spinner',\n}\n\nexport const ROUTE_CHANGE_INTERNAL_EVENT = 'integration:route-change';\nexport const ROUTE_CHANGE_IFRAME_EVENT = 'kizen-route-change';\nexport const IFRAME_PREFIX = 'kzn-integration-frame';\n\nconst PKG_VERSION = __PKG_VERSION__;\n\nconst BASE_QUERY_KEY = ['__plugin_engine', PKG_VERSION] as const;\n\nexport const QUERY_KEYS = {\n CALENDAR_SOURCE_CALENDAR_LIST: (pluginApiName: string, sourceApiName: string) =>\n [...BASE_QUERY_KEY, 'calendar-source', 'calendar-list', pluginApiName, sourceApiName] as const,\n CALENDAR_SOURCE_EVENTS: (\n pluginApiName: string,\n sourceApiName: string,\n calendarId: string,\n params: unknown,\n ) =>\n [\n ...BASE_QUERY_KEY,\n 'calendar-source',\n 'events',\n pluginApiName,\n sourceApiName,\n calendarId,\n params,\n ] as const,\n};\n","import type { Instance } from '../types/contexts.js';\nimport { ACTIONS, COMMUNICATIONS } from './constants.js';\n\nconst freshWorksPattern = /https:\\/\\/.*widget\\.freshworks\\.com\\/.*\\.js/;\nconst intercomPattern = /https:\\/\\/widget\\.intercom\\.io\\/widget\\/[a-z0-9]+/;\n\nexport const ALLOWED_INTEGRATIONS = {\n FRESHWORKS: 'freshworks',\n INTERCOM: 'intercom',\n} as const;\n\n/*\n Third party scripts must match an approved regex, and arbitrary scripts cannot be\n loaded by a plugin if they do not.\n*/\nexport const getScriptIntegrationType = (\n scriptUrl: string,\n): (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS] | undefined => {\n if (freshWorksPattern.test(scriptUrl)) {\n return ALLOWED_INTEGRATIONS.FRESHWORKS;\n }\n\n if (intercomPattern.test(scriptUrl)) {\n return ALLOWED_INTEGRATIONS.INTERCOM;\n }\n};\n\n/* \n The global name of the third-party integration. This is the variable where the\n integration code can be called from. For example, if the third-party integration\n is 'Freshworks', function calls will be made like window.FreshworksWidget(...args).\n*/\nexport const thirdPartyGlobalNames = {\n [ALLOWED_INTEGRATIONS.FRESHWORKS]: 'FreshworksWidget',\n [ALLOWED_INTEGRATIONS.INTERCOM]: 'Intercom',\n};\n\n/*\n For a predefined third-party integration, the setup script will be run\n BEFORE the third party javascript has been loaded.\n*/\nexport const thirdPartySetupScripts = {\n [ALLOWED_INTEGRATIONS.FRESHWORKS]: (args: Record<string, unknown>) => {\n (window as unknown as Record<string, unknown>).fwSettings = {\n widget_id: args.widgetId,\n };\n\n // Function adapted from https://developers.freshdesk.com/widget-api/#introduction\n (function (...rest) {\n if (\n 'function' !=\n typeof (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.FRESHWORKS]\n ]\n ) {\n const n: { q: unknown[]; __kizen_pending?: boolean } = function () {\n n.q.push(...rest);\n };\n\n n.__kizen_pending = true;\n\n // eslint-disable-next-line\n ((n.q = []), ((window as any)[thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.FRESHWORKS]] = n));\n }\n })();\n },\n // Function adapted from https://developers.intercom.com/installing-intercom/web/installation\n [ALLOWED_INTEGRATIONS.INTERCOM]: () => {\n (function () {\n if (\n 'function' !=\n typeof (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.INTERCOM]\n ]\n ) {\n const w = window as unknown as Record<string, unknown>;\n const i: { c: (args: unknown) => void; q: unknown[]; __kizen_pending?: boolean } =\n function () {\n // eslint-disable-next-line prefer-rest-params\n i.c(arguments);\n };\n\n i.q = [];\n i.c = function (args: unknown) {\n i.q.push(args);\n };\n\n i.__kizen_pending = true;\n\n w[thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.INTERCOM]] = i;\n }\n })();\n },\n};\n\n/*\n For a predefined third-party integration, the ready predicate will be run\n AFTER the third party javascript has been loaded, but before the worker has been\n notified that it is ready. This is optional, but gives a chance to wait for an arbitrary\n condition to be met before considering the third-party code initialized successfully.\n*/\nexport const thirdPartyReadyPredicates = {\n [ALLOWED_INTEGRATIONS.FRESHWORKS]: () => {\n return (\n (\n (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.FRESHWORKS]\n ] as { __kizen_pending?: boolean } | undefined\n )?.__kizen_pending !== true\n );\n },\n [ALLOWED_INTEGRATIONS.INTERCOM]: () => {\n return (\n (\n (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.INTERCOM]\n ] as { __kizen_pending?: boolean } | undefined\n )?.__kizen_pending !== true\n );\n },\n};\n\nexport class ThirdPartyScript {\n private instance: Instance;\n private scriptUrl: string;\n private integration: (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS];\n\n constructor(instance: Instance, scriptUrl: string) {\n this.instance = instance;\n this.scriptUrl = scriptUrl;\n const type = getScriptIntegrationType(scriptUrl);\n\n if (type) {\n this.integration = type;\n } else {\n throw new Error(`Error: Disallowed script url: ${scriptUrl}`);\n }\n }\n\n get type(): (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS] {\n return this.integration;\n }\n\n public call(...params: unknown[]): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.CALL_THIRD_PARTY_SCRIPT,\n eventName: `thirdParty:${COMMUNICATIONS.CALL_THIRD_PARTY_SCRIPT}`,\n recipient: {\n script: this.scriptUrl,\n type: this.type,\n },\n params,\n }),\n );\n }\n}\n"]}