@kizenapps/engine 1.4.0 → 1.5.0-53bcfe4
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/LICENSE.md +1 -1
- package/dist/{ThirdPartyScript-CoMDaLsq.d.ts → ThirdPartyScript-cM_3Ut1L.d.ts} +31 -3
- package/dist/{automation-CWET9vfs.d.ts → automation-DdbPK8-Z.d.ts} +20 -3
- package/dist/{chunk-3B5P6QRP.js → chunk-36G3L5ZV.js} +184 -4
- package/dist/chunk-36G3L5ZV.js.map +1 -0
- package/dist/{chunk-6V2UT4RS.js → chunk-4MQ4E7D6.js} +3 -3
- package/dist/{chunk-6V2UT4RS.js.map → chunk-4MQ4E7D6.js.map} +1 -1
- package/dist/{chunk-L2Z7F5W6.js → chunk-6EG3BV5X.js} +52 -6
- package/dist/chunk-6EG3BV5X.js.map +1 -0
- package/dist/{chunk-TLWBUPHD.js → chunk-ANAHYJTV.js} +5 -3
- package/dist/chunk-ANAHYJTV.js.map +1 -0
- package/dist/{chunk-GOD2MD2O.js → chunk-D54DBKHM.js} +78 -8
- package/dist/chunk-D54DBKHM.js.map +1 -0
- package/dist/{chunk-LTOTDWXB.js → chunk-DQECJSHA.js} +7 -4
- package/dist/chunk-DQECJSHA.js.map +1 -0
- package/dist/{chunk-S2GWVVYT.js → chunk-ETFBGH26.js} +3 -3
- package/dist/{chunk-S2GWVVYT.js.map → chunk-ETFBGH26.js.map} +1 -1
- package/dist/{chunk-6Q22X2IU.js → chunk-MQCYS74W.js} +4 -4
- package/dist/{chunk-6Q22X2IU.js.map → chunk-MQCYS74W.js.map} +1 -1
- package/dist/{chunk-LXBIPXUE.js → chunk-Q7UJXNJH.js} +3 -3
- package/dist/{chunk-LXBIPXUE.js.map → chunk-Q7UJXNJH.js.map} +1 -1
- package/dist/communication.d.ts +2 -2
- package/dist/communication.js +2 -2
- package/dist/contexts/base.d.ts +10 -3
- 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/{generic-CQyBACwP.d.ts → generic-CCLPwofS.d.ts} +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +4 -4
- package/dist/react.d.ts +19 -6
- package/dist/react.js +118 -74
- package/dist/react.js.map +1 -1
- package/dist/types.d.ts +5 -5
- package/dist/util.d.ts +3 -3
- package/dist/util.js +5 -5
- package/dist/{values-BwAd85Ee.d.ts → values-BA8dwWnM.d.ts} +2 -2
- package/dist/workers/calendarSource.worker.js +11 -6
- package/dist/workers/calendarSource.worker.js.map +1 -1
- package/dist/workers/floatingFrame.worker.js +9 -7
- package/dist/workers/floatingFrame.worker.js.map +1 -1
- package/dist/workers/generic.worker.js +8 -6
- package/dist/workers/generic.worker.js.map +1 -1
- package/dist/workers/recordDetail.worker.js +9 -7
- package/dist/workers/recordDetail.worker.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-3B5P6QRP.js.map +0 -1
- package/dist/chunk-GOD2MD2O.js.map +0 -1
- package/dist/chunk-L2Z7F5W6.js.map +0 -1
- package/dist/chunk-LTOTDWXB.js.map +0 -1
- package/dist/chunk-TLWBUPHD.js.map +0 -1
package/LICENSE.md
CHANGED
|
@@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you
|
|
|
671
671
|
may consider it more useful to permit linking proprietary applications with
|
|
672
672
|
the library. If this is what you want to do, use the GNU Lesser General
|
|
673
673
|
Public License instead of this License. But first, please read
|
|
674
|
-
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
|
674
|
+
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
|
@@ -74,6 +74,8 @@ type MaybeMessageError = {
|
|
|
74
74
|
message?: string;
|
|
75
75
|
} | undefined;
|
|
76
76
|
type EmployeeConfig<T = unknown> = Record<string, T>;
|
|
77
|
+
type ConsoleLogLevel = 'log' | 'warn' | 'error' | 'info' | 'debug';
|
|
78
|
+
type ConsoleBridge = Pick<Console, ConsoleLogLevel>;
|
|
77
79
|
|
|
78
80
|
type PromiseResolve = (value: unknown) => void;
|
|
79
81
|
type PromiseReject = (reason?: unknown) => void;
|
|
@@ -153,11 +155,20 @@ interface ModalContainer {
|
|
|
153
155
|
type ModalBlock = ModalDescription | ModalTextInput | ModalSpacer | ModalDropdown | ModalContainer;
|
|
154
156
|
interface ModalConfig {
|
|
155
157
|
title?: string;
|
|
158
|
+
viewId?: string;
|
|
159
|
+
args?: UnknownJSON;
|
|
156
160
|
confirmButton?: ButtonConfig;
|
|
157
161
|
cancelButton?: ButtonConfig;
|
|
158
162
|
content?: ModalBlock[];
|
|
159
163
|
dynamic?: boolean;
|
|
160
164
|
pluginApiName?: string;
|
|
165
|
+
frameless?: boolean;
|
|
166
|
+
}
|
|
167
|
+
interface ShowViewInModalOptions {
|
|
168
|
+
title?: string;
|
|
169
|
+
confirmButton?: ButtonConfig;
|
|
170
|
+
cancelButton?: ButtonConfig;
|
|
171
|
+
frameless?: boolean;
|
|
161
172
|
}
|
|
162
173
|
interface DynamicPromptConfig {
|
|
163
174
|
title?: string;
|
|
@@ -167,6 +178,17 @@ interface DynamicPromptConfig {
|
|
|
167
178
|
registerUtils?: Record<string, (...args: unknown[]) => unknown>;
|
|
168
179
|
}
|
|
169
180
|
type PromptState = Record<string, unknown>;
|
|
181
|
+
type ShowViewInModalFn = (id: string, config?: {
|
|
182
|
+
args?: UnknownJSON;
|
|
183
|
+
options?: ShowViewInModalOptions;
|
|
184
|
+
}) => Promise<{
|
|
185
|
+
canceled: boolean;
|
|
186
|
+
result?: unknown;
|
|
187
|
+
error?: unknown;
|
|
188
|
+
}>;
|
|
189
|
+
type CurriedShowViewInModalFn = (instance: Instance, promises: WorkerPromise) => ShowViewInModalFn;
|
|
190
|
+
type CloseModalFn = (values?: UnknownJSON, canceled?: boolean) => void;
|
|
191
|
+
type CurriedCloseModalFn = (instance: Instance) => CloseModalFn;
|
|
170
192
|
type DynamicPromptFn = (config: DynamicPromptConfig) => Promise<{
|
|
171
193
|
values: Record<string, ValueStore>;
|
|
172
194
|
}>;
|
|
@@ -271,7 +293,8 @@ interface TextValueStore {
|
|
|
271
293
|
type ValueStore = BooleanValueStore | CustomObjectValueStore | FieldValueStore | NumberValueStore | SelectValueStore | TextValueStore;
|
|
272
294
|
type CleanValueStoreType = BooleanCleanValue | CustomObjectCleanValue | FieldCleanValue | NumberCleanValue | SelectCleanValue | TextCleanValue;
|
|
273
295
|
type CleanValueStore = Record<string, CleanValueStoreType>;
|
|
274
|
-
type OnShowModalFn = (config: ModalConfig, cb: () => void) => void;
|
|
296
|
+
type OnShowModalFn = (config: ModalConfig, cb: (result?: UnknownJSON) => void) => void;
|
|
297
|
+
type OnCloseModalFn = (values?: UnknownJSON, canceled?: boolean) => void;
|
|
275
298
|
type OnShowCreateRecordModalFn = (objectId: string, cb: (result: UnknownJSON) => void) => void;
|
|
276
299
|
type OnShowCreateRelatedRecordModalFn = (objectId: string, relatedEntityId: string, cb: (result: UnknownJSON) => void) => void;
|
|
277
300
|
type ModalQueue = {
|
|
@@ -287,7 +310,7 @@ type CreateRelatedRecordModalQueue = {
|
|
|
287
310
|
relatedEntityId: string;
|
|
288
311
|
cb: (result: UnknownJSON) => void;
|
|
289
312
|
}[];
|
|
290
|
-
type ModalCancelEventSource = 'button' | 'close';
|
|
313
|
+
type ModalCancelEventSource = 'button' | 'close' | 'script';
|
|
291
314
|
interface ConfigService {
|
|
292
315
|
api_name: string;
|
|
293
316
|
prerequisite: boolean;
|
|
@@ -368,6 +391,9 @@ declare const ACTIONS: {
|
|
|
368
391
|
RELEASE_BLOCKING_SCRIPT: string;
|
|
369
392
|
AUTHORIZE: string;
|
|
370
393
|
COPY_TO_CLIPBOARD: string;
|
|
394
|
+
SHOW_VIEW_IN_MODAL_REQUEST: string;
|
|
395
|
+
CLOSE_MODAL_REQUEST: string;
|
|
396
|
+
CONSOLE_LOG: string;
|
|
371
397
|
};
|
|
372
398
|
declare enum INDICATOR_TYPE {
|
|
373
399
|
NONE = "none",
|
|
@@ -455,6 +481,8 @@ interface WorkerContextArgs {
|
|
|
455
481
|
openCreateRelatedRecord: OpenCreateRelatedRecordFn;
|
|
456
482
|
pluginApiName: string;
|
|
457
483
|
location: PartialLocation;
|
|
484
|
+
showViewInModal: ShowViewInModalFn;
|
|
485
|
+
closeModal: CloseModalFn;
|
|
458
486
|
}
|
|
459
487
|
type KizenConfig = Record<string, unknown>;
|
|
460
488
|
interface KnownArgs {
|
|
@@ -486,4 +514,4 @@ declare class ThirdPartyScript {
|
|
|
486
514
|
call(...params: unknown[]): void;
|
|
487
515
|
}
|
|
488
516
|
|
|
489
|
-
export { type
|
|
517
|
+
export { type CurriedRefreshEntityFn as $, type Args as A, type BaseAPI as B, type CurrentUser as C, type DataCache as D, type CleanValueStoreType as E, type CloseModalFn as F, type GetOptions as G, type ConfigService as H, type Instance as I, type ConsoleLogLevel as J, type CreateRecordModalQueue as K, type CreateRelatedRecordModalQueue as L, type ModalConfig as M, type CurriedCloseModalFn as N, type CurriedDynamicPromptFn as O, type PartialEntity as P, type CurriedInstallThirdPartyScriptFn as Q, type RequestWithErrorsResponse as R, type StateChangePayload as S, ThirdPartyScript as T, type UnknownJSON as U, type CurriedKizenRequestFn as V, type WorkerContextArgs as W, type CurriedOpenCreateRecordFn as X, type CurriedOpenCreateRelatedRecordFn as Y, type CurriedPostFormDataFn as Z, type CurriedPromptFn as _, type PartialCustomObject as a, KizenRequestError as a$, type CurriedShowViewInModalFn as a0, type CurriedUploadFileFn as a1, type CustomObjectCleanValue as a2, type CustomObjectValueStore as a3, type DataCacheEntry as a4, type DeleteReturnValue as a5, type DynamicPromptFn as a6, type EmployeeConfig as a7, type ErrorHandler as a8, type ErrorResponse as a9, type OnShowModalFn as aA, type OpenCreateRecordFn as aB, type OpenCreateRelatedRecordFn as aC, type PartialRelatedObject as aD, type PatchReturnValue as aE, type PostFormDataPayload as aF, type PostReturnValue as aG, type Profile as aH, type PromiseMap as aI, type PromiseReject as aJ, type PromiseResolve as aK, type PromiseState as aL, type PromptFn as aM, type PutReturnValue as aN, type RefreshEntityFn as aO, type ReleaseBlockingScriptHandler as aP, type SelectCleanValue as aQ, type SelectValueStore as aR, type SetInternalSessionDataFn as aS, type SetupAssistantConfig as aT, type ShowViewInModalFn as aU, type TextValueStore as aV, type UnknownFunction as aW, type UploadFileData as aX, type UploadFileFn as aY, type UserConfig as aZ, type ValueStore as a_, type FieldCleanValue as aa, type FieldValueStore as ab, type GetReturnValue as ac, type InstallThirdPartyScriptFn as ad, type JSONArray as ae, type JSONObject as af, type JSONPrimitive as ag, type JSONValue as ah, type KizenConfig as ai, type KizenNetworkResponse as aj, type KizenProxySuccessResponse as ak, type KizenRequestFn as al, type KizenRequestFnHandler as am, type KnownArgs as an, type MatchSetupAssistantField as ao, type MaybeMessageError as ap, type ModalBlock as aq, type ModalCancelEventSource as ar, type ModalContainer as as, type ModalQueue as at, type NumberCleanValue as au, type NumberValueStore as av, type OnCloseModalFn as aw, type OnNetworkErrorFn as ax, type OnShowCreateRecordModalFn as ay, type OnShowCreateRelatedRecordModalFn as az, type PartialUser as b, ACTIONS as b0, ALLOWED_INTEGRATIONS as b1, IFRAME_PREFIX as b2, INDICATOR_TYPE as b3, type PartialTeamMember as c, type PartialBusiness as d, type PartialClientObject as e, type PostFormDataFn as f, type PromptState as g, type InternalSessionData as h, type PartialLocation as i, type RequestOptions as j, type ShowToastOptions as k, type ShowViewInModalOptions as l, type DynamicPromptConfig as m, type ConsoleBridge as n, type IncludeOption as o, type SetupAssistantField as p, type AppPlugin as q, type SelectOption as r, type AppPlugins as s, type AssistantConfigAction as t, type AssistantField as u, type AssistantLink as v, type BooleanCleanValue as w, type BooleanValueStore as x, type ButtonConfig as y, type CleanValueStore as z };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { b0 as ACTIONS, U as UnknownJSON, b1 as ALLOWED_INTEGRATIONS, J as ConsoleLogLevel, M as ModalConfig, S as StateChangePayload, k as ShowToastOptions, h as InternalSessionData, l as ShowViewInModalOptions, aS as SetInternalSessionDataFn, aA as OnShowModalFn, ay as OnShowCreateRecordModalFn, az as OnShowCreateRelatedRecordModalFn, aw as OnCloseModalFn, ax as OnNetworkErrorFn, W as WorkerContextArgs, a7 as EmployeeConfig } from './ThirdPartyScript-cM_3Ut1L.js';
|
|
2
2
|
import { H as HideConfig, S as ShowConfig } from './floatingFrames-BzaoL7cq.js';
|
|
3
3
|
|
|
4
4
|
interface CommonPluginDefinition {
|
|
@@ -37,6 +37,7 @@ interface RunScriptOptions {
|
|
|
37
37
|
onShowModal: OnShowModalFn;
|
|
38
38
|
onShowCreateRecordModal: OnShowCreateRecordModalFn;
|
|
39
39
|
onShowCreateRelatedRecordModal: OnShowCreateRelatedRecordModalFn;
|
|
40
|
+
onCloseModal?: OnCloseModalFn;
|
|
40
41
|
onNetworkError?: OnNetworkErrorFn;
|
|
41
42
|
scriptBody: WorkerContextArgs['scriptBody'];
|
|
42
43
|
user: WorkerContextArgs['user'];
|
|
@@ -55,6 +56,7 @@ interface RunScriptOptions {
|
|
|
55
56
|
performFileUpload?: PerformKizenFileUploadFn | undefined;
|
|
56
57
|
getPendingCacheCount?: GetPendingCacheCountFn | undefined;
|
|
57
58
|
invalidateCache?: InvalidateCacheFn | undefined;
|
|
59
|
+
onConsoleLog?: OnConsoleLogFn;
|
|
58
60
|
}
|
|
59
61
|
type RequestableQueryMethods = 'get' | 'post' | 'patch' | 'delete';
|
|
60
62
|
type OnNetworkRequestFn = (method: RequestableQueryMethods, url: string, payload?: UnknownJSON, options?: UnknownJSON) => Promise<{
|
|
@@ -172,7 +174,22 @@ interface AuthorizeEvent extends BaseEvent {
|
|
|
172
174
|
errorRedirectPath?: string;
|
|
173
175
|
};
|
|
174
176
|
}
|
|
175
|
-
|
|
177
|
+
interface ShowViewInModalRequestEvent extends BaseEvent {
|
|
178
|
+
id: string;
|
|
179
|
+
viewId: string;
|
|
180
|
+
args?: UnknownJSON;
|
|
181
|
+
options?: ShowViewInModalOptions;
|
|
182
|
+
}
|
|
183
|
+
interface CloseModalRequestEvent extends BaseEvent {
|
|
184
|
+
values?: UnknownJSON;
|
|
185
|
+
canceled?: boolean;
|
|
186
|
+
}
|
|
187
|
+
interface ConsoleLogEvent extends BaseEvent {
|
|
188
|
+
level: ConsoleLogLevel;
|
|
189
|
+
args: unknown[];
|
|
190
|
+
}
|
|
191
|
+
type OnConsoleLogFn = (level: ConsoleLogLevel, args: unknown[]) => void;
|
|
192
|
+
type MessageEventData = QueryRequestEvent | UIOutputEvent | IframeOutputEvent | PostFormDataRequestEvent | UploadFileRequestEvent | SetStateEvent | DoneEvent | ErrorEvent | OpenWindowEvent | CommunicateEvent | HideEvent | ShowEvent | CopyToClipboardEvent | OpenCreateRecordModalRequestEvent | OpenCreateRelatedRecordModalRequestEvent | ShowToastEvent | RefreshTimelineEvent | RefreshEntityEvent | UpdateSessionDataEvent | InstallThirdPartyScriptRequestEvent | PromptRequestEvent | DynamicPromptRequestEvent | ShowViewInModalRequestEvent | CloseModalRequestEvent | AuthorizeEvent | ConsoleLogEvent;
|
|
176
193
|
type InvalidateCacheFn = (category: 'timeline' | 'entity', entityId: string) => void;
|
|
177
194
|
type GetPendingCacheCountFn = (search: string) => number;
|
|
178
195
|
interface KizenFile extends File {
|
|
@@ -333,4 +350,4 @@ interface AutomationStepConfig<T = unknown> {
|
|
|
333
350
|
plugin_api_name?: string;
|
|
334
351
|
}
|
|
335
352
|
|
|
336
|
-
export type {
|
|
353
|
+
export type { ShowEvent as $, AutomationStepConfig as A, BaseEvent as B, CommonExecutionPlugin as C, DataAdornmentConfig as D, ErrorEvent as E, FloatingFrameConfig as F, GetPendingCacheCountFn as G, HideEvent as H, IframeOutputEvent as I, OpenCreateRecordModalRequestEvent as J, KizenFile as K, OpenCreateRelatedRecordModalRequestEvent as L, MessageEventData as M, OpenWindowEvent as N, OnClearToastsFn as O, PerformKizenFileUploadFn as P, PostFormDataRequestEvent as Q, RoutablePageConfig as R, PromptRequestEvent as S, ToolbarItemConfig as T, QueryRequestEvent as U, RecipientConfig as V, RefreshEntityEvent as W, RefreshTimelineEvent as X, RequestableQueryMethods as Y, SchemaValidation as Z, SetStateEvent as _, CommonPluginDefinition as a, ShowToastEvent as a0, ShowViewInModalRequestEvent as a1, TerminatorContent as a2, Terminators as a3, UIOutputEvent as a4, UpdateSessionDataEvent as a5, UploadFilePayload as a6, UploadFileRequestEvent as a7, WindowPosition as a8, RouteScriptConfig as b, CalendarSourceConfig as c, RunScriptOptions as d, AuthorizeEvent as e, CalendarDefinition as f, CalendarScriptReturnData as g, CalendarSourceMap as h, CalendarSources as i, CloseModalRequestEvent as j, CommunicateEvent as k, ConsoleLogEvent as l, CopyToClipboardEvent as m, CreateFileIdFn as n, DoneEvent as o, DynamicPromptRequestEvent as p, ExecuteCalendarSourceScript as q, ExecuteFloatingFrameScript as r, FloatingFrameEmployeeConfig as s, FrameQuadrant as t, InstallThirdPartyScriptRequestEvent as u, InvalidateCacheFn as v, MinimizedConfig as w, OnConsoleLogFn as x, OnNetworkRequestFn as y, OnShowToastFn as z };
|
|
@@ -1,4 +1,161 @@
|
|
|
1
|
-
import { ACTIONS, RESPONSES } from './chunk-
|
|
1
|
+
import { ACTIONS, RESPONSES } from './chunk-DQECJSHA.js';
|
|
2
|
+
|
|
3
|
+
// src/util/console.ts
|
|
4
|
+
var UNSERIALIZABLE = (reason) => ({
|
|
5
|
+
__kzConsole: "unserializable",
|
|
6
|
+
reason
|
|
7
|
+
});
|
|
8
|
+
var safeToString = (value) => {
|
|
9
|
+
try {
|
|
10
|
+
return String(value);
|
|
11
|
+
} catch {
|
|
12
|
+
return "[unserializable]";
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var isMarker = (value) => typeof value === "object" && value !== null && "__kzConsole" in value;
|
|
16
|
+
var serialize = (value, seen) => {
|
|
17
|
+
try {
|
|
18
|
+
if (value === void 0) {
|
|
19
|
+
return { __kzConsole: "undefined" };
|
|
20
|
+
}
|
|
21
|
+
if (value === null) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
if (typeof value === "bigint") {
|
|
28
|
+
return { __kzConsole: "bigint", value: value.toString() };
|
|
29
|
+
}
|
|
30
|
+
if (typeof value === "symbol") {
|
|
31
|
+
return { __kzConsole: "symbol", value: value.toString() };
|
|
32
|
+
}
|
|
33
|
+
if (typeof value === "function") {
|
|
34
|
+
return {
|
|
35
|
+
__kzConsole: "function",
|
|
36
|
+
name: value.name || "anonymous"
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (value instanceof Error) {
|
|
40
|
+
let name = "Error";
|
|
41
|
+
let message = "";
|
|
42
|
+
let stack;
|
|
43
|
+
try {
|
|
44
|
+
name = value.name;
|
|
45
|
+
} catch {
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
message = value.message;
|
|
49
|
+
} catch {
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
stack = value.stack;
|
|
53
|
+
} catch {
|
|
54
|
+
}
|
|
55
|
+
return { __kzConsole: "error", name, message, stack };
|
|
56
|
+
}
|
|
57
|
+
if (value instanceof Date) {
|
|
58
|
+
try {
|
|
59
|
+
return { __kzConsole: "date", value: value.toISOString() };
|
|
60
|
+
} catch {
|
|
61
|
+
return UNSERIALIZABLE("invalid Date");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (value instanceof RegExp) {
|
|
65
|
+
return { __kzConsole: "regexp", value: safeToString(value) };
|
|
66
|
+
}
|
|
67
|
+
if (seen.has(value)) {
|
|
68
|
+
return { __kzConsole: "circular" };
|
|
69
|
+
}
|
|
70
|
+
seen.add(value);
|
|
71
|
+
if (Array.isArray(value)) {
|
|
72
|
+
const arr = [];
|
|
73
|
+
for (const item of value) {
|
|
74
|
+
try {
|
|
75
|
+
arr.push(serialize(item, seen));
|
|
76
|
+
} catch {
|
|
77
|
+
arr.push(UNSERIALIZABLE("threw during read"));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return arr;
|
|
81
|
+
}
|
|
82
|
+
const out = {};
|
|
83
|
+
let keys = [];
|
|
84
|
+
try {
|
|
85
|
+
keys = Object.keys(value);
|
|
86
|
+
} catch {
|
|
87
|
+
return UNSERIALIZABLE("cannot enumerate keys");
|
|
88
|
+
}
|
|
89
|
+
for (const k of keys) {
|
|
90
|
+
try {
|
|
91
|
+
out[k] = serialize(value[k], seen);
|
|
92
|
+
} catch {
|
|
93
|
+
out[k] = UNSERIALIZABLE("threw during read");
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return out;
|
|
97
|
+
} catch {
|
|
98
|
+
return UNSERIALIZABLE("serialization failed");
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
var serializeConsoleArg = (value) => {
|
|
102
|
+
try {
|
|
103
|
+
return serialize(value, /* @__PURE__ */ new WeakSet());
|
|
104
|
+
} catch {
|
|
105
|
+
return UNSERIALIZABLE("serialization failed");
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
var REGEXP_PATTERN = /^\/(.*)\/([dgimsuvy]*)$/;
|
|
109
|
+
var deserializeConsoleArg = (value) => {
|
|
110
|
+
try {
|
|
111
|
+
if (value === null || typeof value !== "object") return value;
|
|
112
|
+
if (Array.isArray(value)) return value.map(deserializeConsoleArg);
|
|
113
|
+
if (isMarker(value)) {
|
|
114
|
+
switch (value.__kzConsole) {
|
|
115
|
+
case "undefined":
|
|
116
|
+
return void 0;
|
|
117
|
+
case "bigint":
|
|
118
|
+
try {
|
|
119
|
+
return BigInt(value.value);
|
|
120
|
+
} catch {
|
|
121
|
+
return value.value;
|
|
122
|
+
}
|
|
123
|
+
case "symbol":
|
|
124
|
+
return value.value;
|
|
125
|
+
case "function":
|
|
126
|
+
return `[Function: ${value.name}]`;
|
|
127
|
+
case "error": {
|
|
128
|
+
const err = new Error(value.message);
|
|
129
|
+
err.name = value.name;
|
|
130
|
+
if (value.stack) err.stack = value.stack;
|
|
131
|
+
return err;
|
|
132
|
+
}
|
|
133
|
+
case "date":
|
|
134
|
+
return new Date(value.value);
|
|
135
|
+
case "regexp": {
|
|
136
|
+
const match = REGEXP_PATTERN.exec(value.value);
|
|
137
|
+
if (!match) return value.value;
|
|
138
|
+
try {
|
|
139
|
+
return new RegExp(match[1] ?? "", match[2]);
|
|
140
|
+
} catch {
|
|
141
|
+
return value.value;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
case "circular":
|
|
145
|
+
return "[Circular]";
|
|
146
|
+
case "unserializable":
|
|
147
|
+
return `[Unserializable: ${value.reason}]`;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
const out = {};
|
|
151
|
+
for (const [k, v] of Object.entries(value)) {
|
|
152
|
+
out[k] = deserializeConsoleArg(v);
|
|
153
|
+
}
|
|
154
|
+
return out;
|
|
155
|
+
} catch {
|
|
156
|
+
return "[Unserializable]";
|
|
157
|
+
}
|
|
158
|
+
};
|
|
2
159
|
|
|
3
160
|
// src/util/errors.ts
|
|
4
161
|
var KizenRequestError = class _KizenRequestError extends Error {
|
|
@@ -208,6 +365,29 @@ var dynamicPromptHandler = (instance, promises) => (config) => {
|
|
|
208
365
|
);
|
|
209
366
|
});
|
|
210
367
|
};
|
|
368
|
+
var showViewInModalHandler = (instance, promises) => (viewId, config) => {
|
|
369
|
+
return new Promise((resolve, reject) => {
|
|
370
|
+
const id = promises.register(resolve, reject);
|
|
371
|
+
instance.postMessage(
|
|
372
|
+
JSON.stringify({
|
|
373
|
+
action: ACTIONS.SHOW_VIEW_IN_MODAL_REQUEST,
|
|
374
|
+
id,
|
|
375
|
+
viewId,
|
|
376
|
+
args: config?.args,
|
|
377
|
+
options: config?.options
|
|
378
|
+
})
|
|
379
|
+
);
|
|
380
|
+
});
|
|
381
|
+
};
|
|
382
|
+
var closeModalHandler = (instance) => (values, canceled) => {
|
|
383
|
+
instance.postMessage(
|
|
384
|
+
JSON.stringify({
|
|
385
|
+
action: ACTIONS.CLOSE_MODAL_REQUEST,
|
|
386
|
+
values,
|
|
387
|
+
canceled
|
|
388
|
+
})
|
|
389
|
+
);
|
|
390
|
+
};
|
|
211
391
|
var uploadFileHandler = (instance, promises) => (payload) => {
|
|
212
392
|
return new Promise((resolve, reject) => {
|
|
213
393
|
const id = promises.register(resolve, reject);
|
|
@@ -341,6 +521,6 @@ var handleCommonResponse = (action, e, promises) => {
|
|
|
341
521
|
}
|
|
342
522
|
};
|
|
343
523
|
|
|
344
|
-
export { KizenRequestError, cleanConfig, dynamicPromptHandler, getAllNestedInputsFromConfig, getFieldFromAction, handleCommonResponse, installThirdPartyScriptHandler, kizenRequestHandler, openCreateRecordHandler, openCreateRelatedRecordHandler, postFormDataHandler, promptHandler, refreshEntityHandler, uploadFileHandler };
|
|
345
|
-
//# sourceMappingURL=chunk-
|
|
346
|
-
//# sourceMappingURL=chunk-
|
|
524
|
+
export { KizenRequestError, cleanConfig, closeModalHandler, deserializeConsoleArg, dynamicPromptHandler, getAllNestedInputsFromConfig, getFieldFromAction, handleCommonResponse, installThirdPartyScriptHandler, kizenRequestHandler, openCreateRecordHandler, openCreateRelatedRecordHandler, postFormDataHandler, promptHandler, refreshEntityHandler, serializeConsoleArg, showViewInModalHandler, uploadFileHandler };
|
|
525
|
+
//# sourceMappingURL=chunk-36G3L5ZV.js.map
|
|
526
|
+
//# sourceMappingURL=chunk-36G3L5ZV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/util/console.ts","../src/util/errors.ts","../src/workers/util.ts"],"names":["cleanConfig","consideredValue"],"mappings":"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","file":"chunk-36G3L5ZV.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 * 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';\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: `action__${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"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { COMMUNICATIONS, ACTIONS } from './chunk-
|
|
1
|
+
import { COMMUNICATIONS, ACTIONS } from './chunk-DQECJSHA.js';
|
|
2
2
|
|
|
3
3
|
// src/communication/Communicate.ts
|
|
4
4
|
var runFrameScriptEventName = `integration:${COMMUNICATIONS.RUN_FRAME_SCRIPT}`;
|
|
@@ -36,5 +36,5 @@ var Communicate = class {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
export { Communicate, runFrameScriptEventName };
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-4MQ4E7D6.js.map
|
|
40
|
+
//# sourceMappingURL=chunk-4MQ4E7D6.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;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,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;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,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-4MQ4E7D6.js","sourcesContent":["import type { Instance } from '../types/contexts.js';\nimport { ACTIONS, COMMUNICATIONS } from './constants.js';\n\nexport const runFrameScriptEventName = `integration:${COMMUNICATIONS.RUN_FRAME_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 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,6 +1,6 @@
|
|
|
1
|
-
import { cleanConfig } from './chunk-
|
|
2
|
-
import { Communicate } from './chunk-
|
|
3
|
-
import { RESPONSES, ACTIONS, ThirdPartyScript } from './chunk-
|
|
1
|
+
import { cleanConfig, serializeConsoleArg } from './chunk-36G3L5ZV.js';
|
|
2
|
+
import { Communicate } from './chunk-4MQ4E7D6.js';
|
|
3
|
+
import { RESPONSES, ACTIONS, ThirdPartyScript } from './chunk-DQECJSHA.js';
|
|
4
4
|
|
|
5
5
|
// src/contexts/BaseWorkerContext.ts
|
|
6
6
|
var buildErrorResponse = async (result) => {
|
|
@@ -39,7 +39,6 @@ var BaseWorkerContext = class {
|
|
|
39
39
|
isDebug = false;
|
|
40
40
|
scriptBody;
|
|
41
41
|
internalState = { indicator: "none" /* NONE */ };
|
|
42
|
-
console = console;
|
|
43
42
|
instance;
|
|
44
43
|
breakOnException = false;
|
|
45
44
|
args;
|
|
@@ -51,6 +50,8 @@ var BaseWorkerContext = class {
|
|
|
51
50
|
installThirdPartyScriptHandler;
|
|
52
51
|
promptHandler;
|
|
53
52
|
dynamicPromptHandler;
|
|
53
|
+
showViewInModalHandler;
|
|
54
|
+
closeModalHandler;
|
|
54
55
|
refreshEntityHandler;
|
|
55
56
|
openCreateRecordHandler;
|
|
56
57
|
openCreateRelatedRecordHandler;
|
|
@@ -80,6 +81,8 @@ var BaseWorkerContext = class {
|
|
|
80
81
|
openCreateRelatedRecord,
|
|
81
82
|
pluginApiName,
|
|
82
83
|
dynamicPrompt,
|
|
84
|
+
showViewInModal,
|
|
85
|
+
closeModal,
|
|
83
86
|
location
|
|
84
87
|
}) {
|
|
85
88
|
this.user = user;
|
|
@@ -111,6 +114,8 @@ var BaseWorkerContext = class {
|
|
|
111
114
|
this.runnerType = "base";
|
|
112
115
|
this.pluginApiName = pluginApiName;
|
|
113
116
|
this.dynamicPromptHandler = dynamicPrompt;
|
|
117
|
+
this.showViewInModalHandler = showViewInModal;
|
|
118
|
+
this.closeModalHandler = closeModal;
|
|
114
119
|
try {
|
|
115
120
|
this.args = JSON.parse(args ?? "{}");
|
|
116
121
|
} catch {
|
|
@@ -508,6 +513,12 @@ var BaseWorkerContext = class {
|
|
|
508
513
|
prompt(config) {
|
|
509
514
|
return this.promptHandler(config);
|
|
510
515
|
}
|
|
516
|
+
async showViewInModal(id, config) {
|
|
517
|
+
return this.showViewInModalHandler(id, config);
|
|
518
|
+
}
|
|
519
|
+
closeModal(values, canceled) {
|
|
520
|
+
this.closeModalHandler(values, canceled);
|
|
521
|
+
}
|
|
511
522
|
async dynamicPrompt(_config) {
|
|
512
523
|
const replacementVar = "__kizen_state";
|
|
513
524
|
let prepend = "const __kizen_utils = {};\n";
|
|
@@ -723,8 +734,43 @@ ${this.scriptBody}`);
|
|
|
723
734
|
formatDateForResponse(date) {
|
|
724
735
|
return date.getTime();
|
|
725
736
|
}
|
|
737
|
+
get console() {
|
|
738
|
+
const supported = /* @__PURE__ */ new Set(["log", "warn", "error", "info", "debug"]);
|
|
739
|
+
return new Proxy({}, {
|
|
740
|
+
get: (_, prop) => {
|
|
741
|
+
const level = supported.has(String(prop)) ? String(prop) : "log";
|
|
742
|
+
return (...args) => {
|
|
743
|
+
try {
|
|
744
|
+
const serializedArgs = args.map((arg) => {
|
|
745
|
+
try {
|
|
746
|
+
return serializeConsoleArg(arg);
|
|
747
|
+
} catch {
|
|
748
|
+
return null;
|
|
749
|
+
}
|
|
750
|
+
});
|
|
751
|
+
let payload;
|
|
752
|
+
try {
|
|
753
|
+
payload = JSON.stringify({
|
|
754
|
+
action: ACTIONS.CONSOLE_LOG,
|
|
755
|
+
level,
|
|
756
|
+
args: serializedArgs
|
|
757
|
+
});
|
|
758
|
+
} catch {
|
|
759
|
+
payload = JSON.stringify({
|
|
760
|
+
action: ACTIONS.CONSOLE_LOG,
|
|
761
|
+
level,
|
|
762
|
+
args: ["[unserializable log payload]"]
|
|
763
|
+
});
|
|
764
|
+
}
|
|
765
|
+
this.instance.postMessage(payload);
|
|
766
|
+
} catch {
|
|
767
|
+
}
|
|
768
|
+
};
|
|
769
|
+
}
|
|
770
|
+
});
|
|
771
|
+
}
|
|
726
772
|
};
|
|
727
773
|
|
|
728
774
|
export { BaseWorkerContext };
|
|
729
|
-
//# sourceMappingURL=chunk-
|
|
730
|
-
//# sourceMappingURL=chunk-
|
|
775
|
+
//# sourceMappingURL=chunk-6EG3BV5X.js.map
|
|
776
|
+
//# sourceMappingURL=chunk-6EG3BV5X.js.map
|