@kizenapps/engine 1.8.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ThirdPartyScript-DauYx3B5.d.ts → ThirdPartyScript-BkCjYWLd.d.ts} +10 -1
- package/dist/{automation-Dr26TnMo.d.ts → automation-BuZbZjRB.d.ts} +11 -3
- package/dist/{blocks-C0e9BCrR.d.ts → blocks-1HdzUin7.d.ts} +2 -2
- package/dist/{chunk-5M2LFHMD.js → chunk-5S77RQJE.js} +26 -4
- package/dist/chunk-5S77RQJE.js.map +1 -0
- package/dist/{chunk-DW7EWU2Z.js → chunk-63VOSIWY.js} +7 -5
- package/dist/chunk-63VOSIWY.js.map +1 -0
- package/dist/{chunk-QYGHOK5P.js → chunk-CLH6CL7O.js} +3 -3
- package/dist/{chunk-QYGHOK5P.js.map → chunk-CLH6CL7O.js.map} +1 -1
- package/dist/{chunk-A3JR3VXF.js → chunk-HSACOTTF.js} +3 -3
- package/dist/{chunk-A3JR3VXF.js.map → chunk-HSACOTTF.js.map} +1 -1
- package/dist/{chunk-KVE4CAUJ.js → chunk-N4H5FKRI.js} +3 -3
- package/dist/{chunk-KVE4CAUJ.js.map → chunk-N4H5FKRI.js.map} +1 -1
- package/dist/{chunk-Y32HBIQ2.js → chunk-O27DGZEU.js} +24 -5
- package/dist/chunk-O27DGZEU.js.map +1 -0
- package/dist/{chunk-MY4MXCGX.js → chunk-PCKPJAWF.js} +4 -4
- package/dist/{chunk-MY4MXCGX.js.map → chunk-PCKPJAWF.js.map} +1 -1
- package/dist/{chunk-IFLQXUV7.js → chunk-PNHNBHR3.js} +39 -6
- package/dist/chunk-PNHNBHR3.js.map +1 -0
- package/dist/{chunk-ANZLHJL2.js → chunk-Q3TA5O6X.js} +3 -3
- package/dist/{chunk-ANZLHJL2.js.map → chunk-Q3TA5O6X.js.map} +1 -1
- package/dist/communication.d.ts +2 -2
- package/dist/communication.js +2 -2
- package/dist/contexts/base.d.ts +4 -2
- package/dist/contexts/base.js +4 -4
- package/dist/contexts/floatingFrame.d.ts +1 -1
- package/dist/contexts/floatingFrame.js +5 -5
- package/dist/contexts/recordDetail.d.ts +1 -1
- package/dist/contexts/recordDetail.js +5 -5
- package/dist/index.d.ts +7 -7
- package/dist/index.js +4 -4
- package/dist/react.d.ts +5 -4
- package/dist/react.js +33 -16
- package/dist/react.js.map +1 -1
- package/dist/types.d.ts +11 -6
- package/dist/util.d.ts +3 -3
- package/dist/util.js +6 -6
- package/dist/{values-DCW2Il72.d.ts → values-08CsQDfa.d.ts} +2 -2
- package/dist/workers/calendarSource.worker.js +7 -6
- package/dist/workers/calendarSource.worker.js.map +1 -1
- package/dist/workers/floatingFrame.worker.js +8 -7
- package/dist/workers/floatingFrame.worker.js.map +1 -1
- package/dist/workers/generic.worker.js +7 -6
- package/dist/workers/generic.worker.js.map +1 -1
- package/dist/workers/recordDetail.worker.js +8 -7
- package/dist/workers/recordDetail.worker.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-5M2LFHMD.js.map +0 -1
- package/dist/chunk-DW7EWU2Z.js.map +0 -1
- package/dist/chunk-IFLQXUV7.js.map +0 -1
- 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
|
|
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 {
|
|
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
|
|
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 {
|
|
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-
|
|
2
|
-
import { U as UnknownJSON } from './ThirdPartyScript-
|
|
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 { ACTIONS, RESPONSES } from './chunk-
|
|
1
|
+
import { ACTIONS, RESPONSES } from './chunk-63VOSIWY.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-
|
|
663
|
-
//# sourceMappingURL=chunk-
|
|
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-5S77RQJE.js.map
|
|
685
|
+
//# sourceMappingURL=chunk-5S77RQJE.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-5S77RQJE.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"]}
|
|
@@ -34,7 +34,8 @@ var ACTIONS = {
|
|
|
34
34
|
SHOW_VIEW_IN_MODAL_REQUEST: "showviewinmodal:request",
|
|
35
35
|
CLOSE_MODAL_REQUEST: "closemodal:request",
|
|
36
36
|
CONSOLE_LOG: "consolelog",
|
|
37
|
-
RUN_EVENT_SCRIPT: "runeventscript"
|
|
37
|
+
RUN_EVENT_SCRIPT: "runeventscript",
|
|
38
|
+
COMPLETE_SETUP_REQUEST: "completesetup:request"
|
|
38
39
|
};
|
|
39
40
|
var RESPONSES = {
|
|
40
41
|
QUERY_RESPONSE: "query:response",
|
|
@@ -46,7 +47,8 @@ var RESPONSES = {
|
|
|
46
47
|
PROMPT_RESPONSE: "prompt:response",
|
|
47
48
|
REFRESH_ENTITY_RESPONSE: "refreshentity:response",
|
|
48
49
|
CREATE_RECORD_RESPONSE: "createrecord:response",
|
|
49
|
-
CREATE_RELATED_RECORD_RESPONSE: "createrelatedrecord:response"
|
|
50
|
+
CREATE_RELATED_RECORD_RESPONSE: "createrelatedrecord:response",
|
|
51
|
+
COMPLETE_SETUP_RESPONSE: "completesetup:response"
|
|
50
52
|
};
|
|
51
53
|
var COMMUNICATIONS = {
|
|
52
54
|
RUN_FRAME_SCRIPT: "runframescript",
|
|
@@ -64,7 +66,7 @@ var INDICATOR_TYPE = /* @__PURE__ */ ((INDICATOR_TYPE2) => {
|
|
|
64
66
|
var ROUTE_CHANGE_INTERNAL_EVENT = "integration:route-change";
|
|
65
67
|
var ROUTE_CHANGE_IFRAME_EVENT = "kizen-route-change";
|
|
66
68
|
var IFRAME_PREFIX = "kzn-integration-frame";
|
|
67
|
-
var PKG_VERSION = "1.
|
|
69
|
+
var PKG_VERSION = "1.9.0";
|
|
68
70
|
var BASE_QUERY_KEY = ["__plugin_engine", PKG_VERSION];
|
|
69
71
|
var QUERY_KEYS = {
|
|
70
72
|
CALENDAR_SOURCE_CALENDAR_LIST: (pluginApiName, sourceApiName) => [...BASE_QUERY_KEY, "calendar-source", "calendar-list", pluginApiName, sourceApiName],
|
|
@@ -173,5 +175,5 @@ var ThirdPartyScript = class {
|
|
|
173
175
|
};
|
|
174
176
|
|
|
175
177
|
export { ACTIONS, COMMUNICATIONS, IFRAME_PREFIX, INDICATOR_TYPE, QUERY_KEYS, RESPONSES, ROUTE_CHANGE_IFRAME_EVENT, ROUTE_CHANGE_INTERNAL_EVENT, ThirdPartyScript, getScriptIntegrationType, thirdPartyGlobalNames, thirdPartyReadyPredicates, thirdPartySetupScripts };
|
|
176
|
-
//# sourceMappingURL=chunk-
|
|
177
|
-
//# sourceMappingURL=chunk-
|
|
178
|
+
//# sourceMappingURL=chunk-63VOSIWY.js.map
|
|
179
|
+
//# sourceMappingURL=chunk-63VOSIWY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/communication/constants.ts","../src/communication/ThirdPartyScript.ts"],"names":["INDICATOR_TYPE"],"mappings":"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","file":"chunk-63VOSIWY.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 COMPLETE_SETUP_REQUEST: 'completesetup:request',\n};\n\nexport const RESPONSES = {\n QUERY_RESPONSE: 'query:response',\n POSTFORMDATA_RESPONSE: 'postformdata:response',\n ERROR: 'error',\n UPLOADFILE_RESPONSE: 'uploadfile:response',\n UPLOADFILE_PROGRESS: 'uploadfile:progress',\n INSTALL_THIRD_PARTY_SCRIPT_RESPONSE: 'installthirdpartyscript:response',\n PROMPT_RESPONSE: 'prompt:response',\n REFRESH_ENTITY_RESPONSE: 'refreshentity:response',\n CREATE_RECORD_RESPONSE: 'createrecord:response',\n CREATE_RELATED_RECORD_RESPONSE: 'createrelatedrecord:response',\n COMPLETE_SETUP_RESPONSE: 'completesetup:response',\n};\n\nexport const COMMUNICATIONS = {\n RUN_FRAME_SCRIPT: 'runframescript',\n RUN_BLOCK_SCRIPT: 'runblockscript',\n SEND_MESSAGE_TO_FRAME: 'sendmessagetoframe',\n CALL_THIRD_PARTY_SCRIPT: 'callthirdpartyscript',\n};\n\nexport enum INDICATOR_TYPE {\n NONE = 'none',\n BLOCK = 'block',\n BUTTON = 'button',\n SPINNER = 'spinner',\n}\n\nexport const ROUTE_CHANGE_INTERNAL_EVENT = 'integration:route-change';\nexport const ROUTE_CHANGE_IFRAME_EVENT = 'kizen-route-change';\nexport const IFRAME_PREFIX = 'kzn-integration-frame';\n\nconst PKG_VERSION = __PKG_VERSION__;\n\nconst BASE_QUERY_KEY = ['__plugin_engine', PKG_VERSION] as const;\n\nexport const QUERY_KEYS = {\n CALENDAR_SOURCE_CALENDAR_LIST: (pluginApiName: string, sourceApiName: string) =>\n [...BASE_QUERY_KEY, 'calendar-source', 'calendar-list', pluginApiName, sourceApiName] as const,\n CALENDAR_SOURCE_EVENTS: (\n pluginApiName: string,\n sourceApiName: string,\n calendarId: string,\n params: unknown,\n ) =>\n [\n ...BASE_QUERY_KEY,\n 'calendar-source',\n 'events',\n pluginApiName,\n sourceApiName,\n calendarId,\n params,\n ] as const,\n};\n","import type { Instance } from '../types/contexts.js';\nimport { ACTIONS, COMMUNICATIONS } from './constants.js';\n\nconst freshWorksPattern = /https:\\/\\/.*widget\\.freshworks\\.com\\/.*\\.js/;\nconst intercomPattern = /https:\\/\\/widget\\.intercom\\.io\\/widget\\/[a-z0-9]+/;\n\nexport const ALLOWED_INTEGRATIONS = {\n FRESHWORKS: 'freshworks',\n INTERCOM: 'intercom',\n} as const;\n\n/*\n Third party scripts must match an approved regex, and arbitrary scripts cannot be\n loaded by a plugin if they do not.\n*/\nexport const getScriptIntegrationType = (\n scriptUrl: string,\n): (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS] | undefined => {\n if (freshWorksPattern.test(scriptUrl)) {\n return ALLOWED_INTEGRATIONS.FRESHWORKS;\n }\n\n if (intercomPattern.test(scriptUrl)) {\n return ALLOWED_INTEGRATIONS.INTERCOM;\n }\n};\n\n/* \n The global name of the third-party integration. This is the variable where the\n integration code can be called from. For example, if the third-party integration\n is 'Freshworks', function calls will be made like window.FreshworksWidget(...args).\n*/\nexport const thirdPartyGlobalNames = {\n [ALLOWED_INTEGRATIONS.FRESHWORKS]: 'FreshworksWidget',\n [ALLOWED_INTEGRATIONS.INTERCOM]: 'Intercom',\n};\n\n/*\n For a predefined third-party integration, the setup script will be run\n BEFORE the third party javascript has been loaded.\n*/\nexport const thirdPartySetupScripts = {\n [ALLOWED_INTEGRATIONS.FRESHWORKS]: (args: Record<string, unknown>) => {\n (window as unknown as Record<string, unknown>).fwSettings = {\n widget_id: args.widgetId,\n };\n\n // Function adapted from https://developers.freshdesk.com/widget-api/#introduction\n (function (...rest) {\n if (\n 'function' !=\n typeof (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.FRESHWORKS]\n ]\n ) {\n const n: { q: unknown[]; __kizen_pending?: boolean } = function () {\n n.q.push(...rest);\n };\n\n n.__kizen_pending = true;\n\n // eslint-disable-next-line\n ((n.q = []), ((window as any)[thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.FRESHWORKS]] = n));\n }\n })();\n },\n // Function adapted from https://developers.intercom.com/installing-intercom/web/installation\n [ALLOWED_INTEGRATIONS.INTERCOM]: () => {\n (function () {\n if (\n 'function' !=\n typeof (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.INTERCOM]\n ]\n ) {\n const w = window as unknown as Record<string, unknown>;\n const i: { c: (args: unknown) => void; q: unknown[]; __kizen_pending?: boolean } =\n function () {\n // eslint-disable-next-line prefer-rest-params\n i.c(arguments);\n };\n\n i.q = [];\n i.c = function (args: unknown) {\n i.q.push(args);\n };\n\n i.__kizen_pending = true;\n\n w[thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.INTERCOM]] = i;\n }\n })();\n },\n};\n\n/*\n For a predefined third-party integration, the ready predicate will be run\n AFTER the third party javascript has been loaded, but before the worker has been\n notified that it is ready. This is optional, but gives a chance to wait for an arbitrary\n condition to be met before considering the third-party code initialized successfully.\n*/\nexport const thirdPartyReadyPredicates = {\n [ALLOWED_INTEGRATIONS.FRESHWORKS]: () => {\n return (\n (\n (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.FRESHWORKS]\n ] as { __kizen_pending?: boolean } | undefined\n )?.__kizen_pending !== true\n );\n },\n [ALLOWED_INTEGRATIONS.INTERCOM]: () => {\n return (\n (\n (window as unknown as Record<string, unknown>)[\n thirdPartyGlobalNames[ALLOWED_INTEGRATIONS.INTERCOM]\n ] as { __kizen_pending?: boolean } | undefined\n )?.__kizen_pending !== true\n );\n },\n};\n\nexport class ThirdPartyScript {\n private instance: Instance;\n private scriptUrl: string;\n private integration: (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS];\n\n constructor(instance: Instance, scriptUrl: string) {\n this.instance = instance;\n this.scriptUrl = scriptUrl;\n const type = getScriptIntegrationType(scriptUrl);\n\n if (type) {\n this.integration = type;\n } else {\n throw new Error(`Error: Disallowed script url: ${scriptUrl}`);\n }\n }\n\n get type(): (typeof ALLOWED_INTEGRATIONS)[keyof typeof ALLOWED_INTEGRATIONS] {\n return this.integration;\n }\n\n public call(...params: unknown[]): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.CALL_THIRD_PARTY_SCRIPT,\n eventName: `thirdParty:${COMMUNICATIONS.CALL_THIRD_PARTY_SCRIPT}`,\n recipient: {\n script: this.scriptUrl,\n type: this.type,\n },\n params,\n }),\n );\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { COMMUNICATIONS, ACTIONS } from './chunk-
|
|
1
|
+
import { COMMUNICATIONS, ACTIONS } from './chunk-63VOSIWY.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-
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
54
|
+
//# sourceMappingURL=chunk-CLH6CL7O.js.map
|
|
55
|
+
//# sourceMappingURL=chunk-CLH6CL7O.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-
|
|
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-CLH6CL7O.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,4 +1,4 @@
|
|
|
1
|
-
import { generateUUIDV4 } from './chunk-
|
|
1
|
+
import { generateUUIDV4 } from './chunk-N4H5FKRI.js';
|
|
2
2
|
|
|
3
3
|
// src/workers/WorkerPromise.ts
|
|
4
4
|
var WorkerPromise = class {
|
|
@@ -42,5 +42,5 @@ var WorkerPromise = class {
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
export { WorkerPromise };
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
46
|
-
//# sourceMappingURL=chunk-
|
|
45
|
+
//# sourceMappingURL=chunk-HSACOTTF.js.map
|
|
46
|
+
//# sourceMappingURL=chunk-HSACOTTF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/workers/WorkerPromise.ts"],"names":[],"mappings":";;;AAGO,IAAM,gBAAN,MAAoB;AAAA,EACjB,QAAA;AAAA,EACA,OAAA;AAAA,EAER,WAAA,CAAY,EAAE,OAAA,GAAU,KAAA,EAAM,EAA0B;AACtD,IAAA,IAAA,CAAK,QAAA,uBAAe,GAAA,EAAI;AACxB,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AAAA,EAEQ,OAAO,EAAA,EAAkB;AAC/B,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,iBAAA,EAAoB,EAAE,CAAA,CAAE,CAAA;AAAA,IACtC;AACA,IAAA,IAAA,CAAK,QAAA,CAAS,OAAO,EAAE,CAAA;AAAA,EACzB;AAAA,EAEQ,IAAI,EAAA,EAAsC;AAChD,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,gBAAA,EAAmB,EAAE,CAAA,CAAE,CAAA;AAAA,IACrC;AACA,IAAA,OAAO,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,EAAE,CAAA;AAAA,EAC7B;AAAA,EAEQ,GAAA,CAAI,EAAA,EAAY,OAAA,EAAyB,MAAA,EAA6B;AAC5E,IAAA,IAAA,CAAK,SAAS,GAAA,CAAI,EAAA,EAAI,EAAE,OAAA,EAAS,QAAQ,CAAA;AAAA,EAC3C;AAAA,EAEQ,EAAA,GAAa;AACnB,IAAA,OAAO,cAAA,EAAe;AAAA,EACxB;AAAA,EAEO,QAAA,CAAS,SAAyB,MAAA,EAA+B;AACtE,IAAA,MAAM,EAAA,GAAK,KAAK,EAAA,EAAG;AACnB,IAAA,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,OAAA,EAAS,MAAM,CAAA;AAE5B,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEO,OAAA,CAAQ,IAAY,IAAA,EAAsB;AAC/C,IAAA,IAAA,CAAK,GAAA,CAAI,EAAE,CAAA,EAAG,OAAA,CAAQ,IAAI,CAAA;AAC1B,IAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAAA,EAChB;AAAA,EAEO,MAAA,CAAO,IAAY,MAAA,EAAwB;AAChD,IAAA,IAAA,CAAK,GAAA,CAAI,EAAE,CAAA,EAAG,MAAA,CAAO,MAAM,CAAA;AAC3B,IAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAAA,EAChB;AACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/workers/WorkerPromise.ts"],"names":[],"mappings":";;;AAGO,IAAM,gBAAN,MAAoB;AAAA,EACjB,QAAA;AAAA,EACA,OAAA;AAAA,EAER,WAAA,CAAY,EAAE,OAAA,GAAU,KAAA,EAAM,EAA0B;AACtD,IAAA,IAAA,CAAK,QAAA,uBAAe,GAAA,EAAI;AACxB,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AAAA,EAEQ,OAAO,EAAA,EAAkB;AAC/B,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,iBAAA,EAAoB,EAAE,CAAA,CAAE,CAAA;AAAA,IACtC;AACA,IAAA,IAAA,CAAK,QAAA,CAAS,OAAO,EAAE,CAAA;AAAA,EACzB;AAAA,EAEQ,IAAI,EAAA,EAAsC;AAChD,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,gBAAA,EAAmB,EAAE,CAAA,CAAE,CAAA;AAAA,IACrC;AACA,IAAA,OAAO,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,EAAE,CAAA;AAAA,EAC7B;AAAA,EAEQ,GAAA,CAAI,EAAA,EAAY,OAAA,EAAyB,MAAA,EAA6B;AAC5E,IAAA,IAAA,CAAK,SAAS,GAAA,CAAI,EAAA,EAAI,EAAE,OAAA,EAAS,QAAQ,CAAA;AAAA,EAC3C;AAAA,EAEQ,EAAA,GAAa;AACnB,IAAA,OAAO,cAAA,EAAe;AAAA,EACxB;AAAA,EAEO,QAAA,CAAS,SAAyB,MAAA,EAA+B;AACtE,IAAA,MAAM,EAAA,GAAK,KAAK,EAAA,EAAG;AACnB,IAAA,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,OAAA,EAAS,MAAM,CAAA;AAE5B,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEO,OAAA,CAAQ,IAAY,IAAA,EAAsB;AAC/C,IAAA,IAAA,CAAK,GAAA,CAAI,EAAE,CAAA,EAAG,OAAA,CAAQ,IAAI,CAAA;AAC1B,IAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAAA,EAChB;AAAA,EAEO,MAAA,CAAO,IAAY,MAAA,EAAwB;AAChD,IAAA,IAAA,CAAK,GAAA,CAAI,EAAE,CAAA,EAAG,MAAA,CAAO,MAAM,CAAA;AAC3B,IAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAAA,EAChB;AACF","file":"chunk-HSACOTTF.js","sourcesContent":["import type { PromiseMap, PromiseReject, PromiseResolve, PromiseState } from '../types/promise.js';\nimport { generateUUIDV4 } from '../util/run.js';\n\nexport class WorkerPromise {\n private promises: PromiseMap;\n private isDebug: boolean;\n\n constructor({ isDebug = false }: { isDebug?: boolean }) {\n this.promises = new Map();\n this.isDebug = isDebug;\n }\n\n private delete(id: string): void {\n if (this.isDebug) {\n console.log(`Deleting promise ${id}`);\n }\n this.promises.delete(id);\n }\n\n private get(id: string): PromiseState | undefined {\n if (this.isDebug) {\n console.log(`Getting promise ${id}`);\n }\n return this.promises.get(id);\n }\n\n private set(id: string, resolve: PromiseResolve, reject: PromiseReject): void {\n this.promises.set(id, { resolve, reject });\n }\n\n private id(): string {\n return generateUUIDV4();\n }\n\n public register(resolve: PromiseResolve, reject: PromiseReject): string {\n const id = this.id();\n this.set(id, resolve, reject);\n\n return id;\n }\n\n public resolve(id: string, data?: unknown): void {\n this.get(id)?.resolve(data);\n this.delete(id);\n }\n\n public reject(id: string, reason?: unknown): void {\n this.get(id)?.reject(reason);\n this.delete(id);\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ROUTE_CHANGE_INTERNAL_EVENT } from './chunk-
|
|
1
|
+
import { ROUTE_CHANGE_INTERNAL_EVENT } from './chunk-63VOSIWY.js';
|
|
2
2
|
|
|
3
3
|
// src/util/run.ts
|
|
4
4
|
var getPartialLocation = () => {
|
|
@@ -96,5 +96,5 @@ var findMatchingAction = (availableActions, apiName) => {
|
|
|
96
96
|
};
|
|
97
97
|
|
|
98
98
|
export { buildCodeRunnerFunction, emitRouteChange, findMatchingAction, generateExecutionKey, generateUUIDV4, getPartialLocation };
|
|
99
|
-
//# sourceMappingURL=chunk-
|
|
100
|
-
//# sourceMappingURL=chunk-
|
|
99
|
+
//# sourceMappingURL=chunk-N4H5FKRI.js.map
|
|
100
|
+
//# sourceMappingURL=chunk-N4H5FKRI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util/run.ts"],"names":["action"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/util/run.ts"],"names":["action"],"mappings":"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","file":"chunk-N4H5FKRI.js","sourcesContent":["import { ROUTE_CHANGE_INTERNAL_EVENT } from '../communication/constants.js';\nimport type { PartialLocation } from '../types/common.js';\nimport type { CommonExecutionPlugin, CommonPluginDefinition } from '../types/run.js';\nimport type { AsyncFunctionConstructor, BuiltAsyncFn } from '../types/workers.js';\n\nexport const getPartialLocation = (): PartialLocation => {\n return {\n host: window.location.host,\n hash: window.location.hash,\n href: window.location.href,\n origin: window.location.origin,\n pathname: window.location.pathname,\n search: window.location.search,\n port: window.location.port,\n protocol: window.location.protocol,\n };\n};\n\nexport const generateUUIDV4 = (): string => {\n let d = new Date().getTime();\n\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n d += performance.now();\n }\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = ((d + Math.random() * 16) % 16) | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nconst AsyncFunction = (\n Object.getPrototypeOf(async function () {\n /* empty */\n }) as { constructor: AsyncFunctionConstructor }\n).constructor;\n\nexport const buildCodeRunnerFunction = (script: string): BuiltAsyncFn => {\n const functionBody = `\n const __cleanup = this.__cleanup.bind(this);\n const __error = this.onError.bind(this);\n\n const console = this.console;\n\n let __kizen_internal_result;\n\n {\n this.__setup();\n }\n\n try {\n __kizen_internal_result = await (async () => { ${script} })();\n } catch (ex) {\n __error(ex);\n } finally {\n __cleanup(__kizen_internal_result);\n }\n `;\n\n try {\n const fn = new AsyncFunction(functionBody);\n\n return { fn, functionBody };\n } catch {\n const errorFnBody = `\n this.__setup();\n\n this.onError({ message: \"The script has a syntax error and could not be parsed\" });\n \n this.__cleanup();\n `;\n\n const fn = new AsyncFunction(errorFnBody);\n\n return { fn, functionBody: errorFnBody };\n }\n};\n\nexport const generateExecutionKey = (\n pluginConfig?: CommonPluginDefinition | CommonExecutionPlugin,\n): string => {\n return `${pluginConfig?.plugin_api_name ?? ''}-${pluginConfig?.id ?? ''}-${pluginConfig?.api_name ?? ''}-${pluginConfig?.script_id ?? ''}`;\n};\n\nexport const emitRouteChange = (): void => {\n const event = new CustomEvent(ROUTE_CHANGE_INTERNAL_EVENT, {\n detail: {\n location: getPartialLocation(),\n },\n });\n\n window.dispatchEvent(event);\n};\n\nconst splitScriptApiName = (\n scriptApiName: string,\n): { pluginApiName: string | undefined; actionApiName: string | undefined } => {\n const [pluginApiName, actionApiName] = scriptApiName.split('.');\n\n return {\n pluginApiName,\n actionApiName,\n };\n};\n\nexport const findMatchingAction = (\n availableActions: {\n pluginApp?: {\n apiName: string;\n };\n apiName: string;\n }[],\n apiName?: string,\n): unknown => {\n if (!apiName) {\n return null;\n }\n\n const { pluginApiName, actionApiName } = splitScriptApiName(apiName);\n\n if (!pluginApiName) {\n const action = availableActions.find((act) => !act.pluginApp && act.apiName === actionApiName);\n\n return action;\n }\n\n const action = availableActions.find(\n (act) => act.apiName === actionApiName && act.pluginApp?.apiName === pluginApiName,\n );\n\n return action;\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { cleanConfig, buildIframeURLWithProxy, serializeConsoleArg } from './chunk-
|
|
2
|
-
import { Communicate } from './chunk-
|
|
3
|
-
import { RESPONSES, ACTIONS, ThirdPartyScript } from './chunk-
|
|
1
|
+
import { cleanConfig, buildIframeURLWithProxy, serializeConsoleArg } from './chunk-5S77RQJE.js';
|
|
2
|
+
import { Communicate } from './chunk-CLH6CL7O.js';
|
|
3
|
+
import { RESPONSES, ACTIONS, ThirdPartyScript } from './chunk-63VOSIWY.js';
|
|
4
4
|
|
|
5
5
|
// src/contexts/BaseWorkerContext.ts
|
|
6
6
|
var buildErrorResponse = async (result) => {
|
|
@@ -55,6 +55,7 @@ var BaseWorkerContext = class {
|
|
|
55
55
|
refreshEntityHandler;
|
|
56
56
|
openCreateRecordHandler;
|
|
57
57
|
openCreateRelatedRecordHandler;
|
|
58
|
+
completeSetupHandler;
|
|
58
59
|
runnerType;
|
|
59
60
|
pluginApiName;
|
|
60
61
|
tempPromptState = {};
|
|
@@ -83,6 +84,7 @@ var BaseWorkerContext = class {
|
|
|
83
84
|
dynamicPrompt,
|
|
84
85
|
showViewInModal,
|
|
85
86
|
closeModal,
|
|
87
|
+
completeSetup,
|
|
86
88
|
location
|
|
87
89
|
}) {
|
|
88
90
|
this.user = user;
|
|
@@ -116,6 +118,7 @@ var BaseWorkerContext = class {
|
|
|
116
118
|
this.dynamicPromptHandler = dynamicPrompt;
|
|
117
119
|
this.showViewInModalHandler = showViewInModal;
|
|
118
120
|
this.closeModalHandler = closeModal;
|
|
121
|
+
this.completeSetupHandler = completeSetup;
|
|
119
122
|
try {
|
|
120
123
|
this.args = JSON.parse(args ?? "{}");
|
|
121
124
|
} catch {
|
|
@@ -353,6 +356,22 @@ var BaseWorkerContext = class {
|
|
|
353
356
|
});
|
|
354
357
|
return mutationResult;
|
|
355
358
|
}
|
|
359
|
+
async completeSetup(payload, options) {
|
|
360
|
+
if (!this.pluginApiName) {
|
|
361
|
+
throw new Error(
|
|
362
|
+
"completeSetup is not available for scripts not associated to a plugin"
|
|
363
|
+
);
|
|
364
|
+
}
|
|
365
|
+
const candidate = payload;
|
|
366
|
+
if (typeof candidate !== "object" || candidate === null || Array.isArray(candidate)) {
|
|
367
|
+
throw new Error("completeSetup requires a configuration object");
|
|
368
|
+
}
|
|
369
|
+
const prototype = Object.getPrototypeOf(candidate);
|
|
370
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
371
|
+
throw new Error("completeSetup requires a plain configuration object");
|
|
372
|
+
}
|
|
373
|
+
await this.completeSetupHandler(payload, options);
|
|
374
|
+
}
|
|
356
375
|
async patch(url, body, options) {
|
|
357
376
|
try {
|
|
358
377
|
if (this.isRelativeUrl(url)) {
|
|
@@ -793,5 +812,5 @@ ${this.scriptBody}`);
|
|
|
793
812
|
};
|
|
794
813
|
|
|
795
814
|
export { BaseWorkerContext };
|
|
796
|
-
//# sourceMappingURL=chunk-
|
|
797
|
-
//# sourceMappingURL=chunk-
|
|
815
|
+
//# sourceMappingURL=chunk-O27DGZEU.js.map
|
|
816
|
+
//# sourceMappingURL=chunk-O27DGZEU.js.map
|