@kizenapps/engine 1.9.3-bf7f7dc → 1.10.0-902e419
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-BkCjYWLd.d.ts → ThirdPartyScript-DxPk6YJY.d.ts} +16 -4
- package/dist/{automation-BuZbZjRB.d.ts → automation-WGLB_R74.d.ts} +1 -1
- package/dist/{blocks-1HdzUin7.d.ts → blocks-BOnF4OcC.d.ts} +2 -2
- package/dist/{chunk-47DPBQKI.js → chunk-6I3JOYPF.js} +12 -3
- package/dist/chunk-6I3JOYPF.js.map +1 -0
- package/dist/{chunk-6ADL5WHV.js → chunk-6SKBFHYX.js} +5 -5
- package/dist/{chunk-6ADL5WHV.js.map → chunk-6SKBFHYX.js.map} +1 -1
- package/dist/{chunk-VVPZFPDY.js → chunk-BQWJS4RP.js} +3 -3
- package/dist/{chunk-VVPZFPDY.js.map → chunk-BQWJS4RP.js.map} +1 -1
- package/dist/{chunk-IQF73DX4.js → chunk-FZ5F6QPV.js} +3 -3
- package/dist/{chunk-IQF73DX4.js.map → chunk-FZ5F6QPV.js.map} +1 -1
- package/dist/{chunk-IKDWO7WZ.js → chunk-KUBP4VBY.js} +3 -3
- package/dist/{chunk-IKDWO7WZ.js.map → chunk-KUBP4VBY.js.map} +1 -1
- package/dist/{chunk-3DAAR76O.js → chunk-LCLZCF7I.js} +31 -9
- package/dist/chunk-LCLZCF7I.js.map +1 -0
- package/dist/{chunk-E6OXPHFB.js → chunk-MRX2WNJ3.js} +3 -3
- package/dist/{chunk-E6OXPHFB.js.map → chunk-MRX2WNJ3.js.map} +1 -1
- package/dist/{chunk-ZO2FK25Z.js → chunk-N2DKKXXN.js} +4 -4
- package/dist/{chunk-ZO2FK25Z.js.map → chunk-N2DKKXXN.js.map} +1 -1
- package/dist/{chunk-JI4XARBZ.js → chunk-TCAO3QD3.js} +3 -3
- package/dist/chunk-TCAO3QD3.js.map +1 -0
- package/dist/communication.d.ts +2 -2
- package/dist/communication.js +2 -2
- package/dist/contexts/base.d.ts +1 -1
- 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 +5 -5
- package/dist/index.js +4 -4
- package/dist/react.d.ts +18 -16
- package/dist/react.js +28 -12
- package/dist/react.js.map +1 -1
- package/dist/types.d.ts +5 -5
- package/dist/util.d.ts +28 -6
- package/dist/util.js +62 -10
- package/dist/util.js.map +1 -1
- package/dist/{values-08CsQDfa.d.ts → values-ClHf3SXM.d.ts} +4 -3
- package/dist/workers/calendarSource.worker.js +6 -6
- package/dist/workers/floatingFrame.worker.js +7 -7
- package/dist/workers/generic.worker.js +6 -6
- package/dist/workers/recordDetail.worker.js +7 -7
- package/package.json +1 -1
- package/dist/chunk-3DAAR76O.js.map +0 -1
- package/dist/chunk-47DPBQKI.js.map +0 -1
- package/dist/chunk-JI4XARBZ.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { U as UnknownJSON, b as PartialUser, c as PartialTeamMember, d as PartialBusiness, e as PartialClientObject, i as PartialLocation } from './ThirdPartyScript-
|
|
2
|
-
export { r as AppPlugin,
|
|
3
|
-
import { c as CommonPluginDefinition } from './automation-
|
|
4
|
-
export { e as AuthorizeEvent, A as AutomationStepConfig, B as BaseEvent, f as CalendarDefinition, g as CalendarScriptReturnData, C as CalendarSourceConfig, h as CalendarSourceMap, i as CalendarSources, j as CloseModalRequestEvent, b as CommonExecutionPlugin, k as CommunicateEvent, l as CompleteSetupRequestEvent, m as ConsoleLogEvent, n as CopyToClipboardEvent, o as CreateFileIdFn, D as DataAdornmentConfig, p as DoneEvent, q as DynamicPromptRequestEvent, E as ErrorEvent, r as ExecuteCalendarSourceScript, s as ExecuteFloatingFrameScript, F as FloatingFrameConfig, t as FloatingFrameEmployeeConfig, u as FrameQuadrant, G as GetPendingCacheCountFn, H as HideEvent, v as HostCompleteSetupFn, I as IframeOutputEvent, w as InstallThirdPartyScriptRequestEvent, x as InvalidateCacheFn, K as KizenFile, M as MessageEventData, y as MinimizedConfig, O as OnClearToastsFn, z as OnCompleteSetupFn, J as OnConsoleLogFn, L as OnNetworkRequestFn, N as OnRunEventScriptFn, P as OnShowToastFn, Q as OpenCreateRecordModalRequestEvent, S as OpenCreateRelatedRecordModalRequestEvent, U as OpenWindowEvent, V as PerformKizenFileUploadFn, W as PostFormDataRequestEvent, X as PromptRequestEvent, Y as QueryRequestEvent, Z as RecipientConfig, _ as RefreshEntityEvent, $ as RefreshTimelineEvent, a0 as RequestableQueryMethods, R as RoutablePageConfig, a as RouteScriptConfig, a1 as RunEventScriptEvent, d as RunScriptOptions, a2 as SchemaValidation, a3 as SetStateEvent, a4 as ShowEvent, a5 as ShowToastEvent, a6 as ShowViewInModalRequestEvent, a7 as TerminatorContent, a8 as Terminators, T as ToolbarItemConfig, a9 as UIOutputEvent, aa as UpdateSessionDataEvent, ab as UploadFilePayload, ac as UploadFileRequestEvent, ad as WindowPosition } from './automation-
|
|
1
|
+
import { U as UnknownJSON, b as PartialUser, c as PartialTeamMember, d as PartialBusiness, e as PartialClientObject, i as PartialLocation } from './ThirdPartyScript-DxPk6YJY.js';
|
|
2
|
+
export { t as ApiKeyValueStore, r as AppPlugin, u as AppPlugins, A as Args, v as AssistantConfigAction, w as AssistantField, x as AssistantLink, B as BaseAPI, y as BooleanCleanValue, z as BooleanValueStore, E as ButtonConfig, F as CleanValueStore, H as CleanValueStoreType, K as CloseModalFn, L as CompleteSetupFn, N as CompleteSetupLevel, j as CompleteSetupOptions, O as ConfigService, o as ConsoleBridge, Q as ConsoleLogLevel, V as CreateRecordModalQueue, X as CreateRelatedRecordModalQueue, C as CurrentUser, Y as CurriedCloseModalFn, Z as CurriedCompleteSetupFn, _ as CurriedDynamicPromptFn, $ as CurriedInstallThirdPartyScriptFn, a0 as CurriedKizenRequestFn, a1 as CurriedOpenCreateRecordFn, a2 as CurriedOpenCreateRelatedRecordFn, a3 as CurriedPostFormDataFn, a4 as CurriedPromptFn, a5 as CurriedRefreshEntityFn, a6 as CurriedShowViewInModalFn, a7 as CurriedUploadFileFn, a8 as CustomObjectCleanValue, a9 as CustomObjectValueStore, D as DataCache, aa as DataCacheEntry, ab as DeleteReturnValue, n as DynamicPromptConfig, ac as DynamicPromptFn, ad as EmployeeConfig, ae as ErrorHandler, af as ErrorResponse, ag as FieldCleanValue, ah as FieldValueStore, G as GetOptions, ai as GetReturnValue, p as IncludeOption, aj as InstallThirdPartyScriptFn, I as Instance, h as InternalSessionData, ak as JSONArray, al as JSONObject, am as JSONPrimitive, J as JSONValue, an as KizenConfig, ao as KizenNetworkResponse, ap as KizenProxySuccessResponse, aq as KizenRequestFn, ar as KizenRequestFnHandler, as as KnownArgs, at as MatchSetupAssistantField, au as MaybeMessageError, av as ModalBlock, aw as ModalCancelEventSource, M as ModalConfig, ax as ModalContainer, ay as ModalQueue, az as ModalSize, aA as NumberCleanValue, aB as NumberValueStore, aC as OnCloseModalFn, aD as OnNetworkErrorFn, aE as OnShowCreateRecordModalFn, aF as OnShowCreateRelatedRecordModalFn, aG as OnShowModalFn, aH as OpenCreateRecordFn, aI as OpenCreateRelatedRecordFn, a as PartialCustomObject, P as PartialEntity, aJ as PartialRelatedObject, aK as PatchReturnValue, f as PostFormDataFn, aL as PostFormDataPayload, aM as PostReturnValue, aN as Profile, aO as PromiseMap, aP as PromiseReject, aQ as PromiseResolve, aR as PromiseState, aS as PromptFn, g as PromptState, aT as PutReturnValue, aU as RadioCleanValue, aV as RadioValueStore, aW as RefreshEntityFn, aX as ReleaseBlockingScriptHandler, k as RequestOptions, R as RequestWithErrorsResponse, aY as SelectCleanValue, s as SelectOption, aZ as SelectValueStore, a_ as SetInternalSessionDataFn, a$ as SetupAssistantConfig, q as SetupAssistantField, l as ShowToastOptions, b0 as ShowViewInModalFn, m as ShowViewInModalOptions, S as StateChangePayload, b1 as TextValueStore, b2 as UnknownFunction, b3 as UploadFileData, b4 as UploadFileFn, b5 as UserConfig, b6 as ValueStore, W as WorkerContextArgs, b7 as modalSize } from './ThirdPartyScript-DxPk6YJY.js';
|
|
3
|
+
import { c as CommonPluginDefinition } from './automation-WGLB_R74.js';
|
|
4
|
+
export { e as AuthorizeEvent, A as AutomationStepConfig, B as BaseEvent, f as CalendarDefinition, g as CalendarScriptReturnData, C as CalendarSourceConfig, h as CalendarSourceMap, i as CalendarSources, j as CloseModalRequestEvent, b as CommonExecutionPlugin, k as CommunicateEvent, l as CompleteSetupRequestEvent, m as ConsoleLogEvent, n as CopyToClipboardEvent, o as CreateFileIdFn, D as DataAdornmentConfig, p as DoneEvent, q as DynamicPromptRequestEvent, E as ErrorEvent, r as ExecuteCalendarSourceScript, s as ExecuteFloatingFrameScript, F as FloatingFrameConfig, t as FloatingFrameEmployeeConfig, u as FrameQuadrant, G as GetPendingCacheCountFn, H as HideEvent, v as HostCompleteSetupFn, I as IframeOutputEvent, w as InstallThirdPartyScriptRequestEvent, x as InvalidateCacheFn, K as KizenFile, M as MessageEventData, y as MinimizedConfig, O as OnClearToastsFn, z as OnCompleteSetupFn, J as OnConsoleLogFn, L as OnNetworkRequestFn, N as OnRunEventScriptFn, P as OnShowToastFn, Q as OpenCreateRecordModalRequestEvent, S as OpenCreateRelatedRecordModalRequestEvent, U as OpenWindowEvent, V as PerformKizenFileUploadFn, W as PostFormDataRequestEvent, X as PromptRequestEvent, Y as QueryRequestEvent, Z as RecipientConfig, _ as RefreshEntityEvent, $ as RefreshTimelineEvent, a0 as RequestableQueryMethods, R as RoutablePageConfig, a as RouteScriptConfig, a1 as RunEventScriptEvent, d as RunScriptOptions, a2 as SchemaValidation, a3 as SetStateEvent, a4 as ShowEvent, a5 as ShowToastEvent, a6 as ShowViewInModalRequestEvent, a7 as TerminatorContent, a8 as Terminators, T as ToolbarItemConfig, a9 as UIOutputEvent, aa as UpdateSessionDataEvent, ab as UploadFilePayload, ac as UploadFileRequestEvent, ad as WindowPosition } from './automation-WGLB_R74.js';
|
|
5
5
|
export { H as HideConfig, S as ShowConfig } from './floatingFrames-BzaoL7cq.js';
|
|
6
|
-
export { B as BlockConfig, a as BlockType, E as ExecuteGenericScript, G as GenericPluginConfig } from './blocks-
|
|
6
|
+
export { B as BlockConfig, a as BlockType, E as ExecuteGenericScript, G as GenericPluginConfig } from './blocks-BOnF4OcC.js';
|
|
7
7
|
import 'react';
|
|
8
8
|
import './frames-AOHUyPDP.js';
|
|
9
9
|
|
package/dist/util.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as PartialLocation,
|
|
2
|
-
export { G as GetParamFunction, R as RemovedHTML, f as forceQualifiedUrl, g as getDisabledValue,
|
|
1
|
+
import { i as PartialLocation, a$ as SetupAssistantConfig, b6 as ValueStore, F as CleanValueStore, w as AssistantField, v as AssistantConfigAction, b8 as KizenRequestError, U as UnknownJSON, ao as KizenNetworkResponse, ap as KizenProxySuccessResponse } from './ThirdPartyScript-DxPk6YJY.js';
|
|
2
|
+
export { G as GetParamFunction, R as RemovedHTML, f as flattenReservedState, a as forceQualifiedUrl, g as getDisabledValue, b as getEnabledState, c as getLinkValue, d as getPluginSafeHTML, e as getQrCodeValue, m as mergeConfig, p as pluginMapper, r as reduceEnabledResults, h as replaceConfigValues } from './values-ClHf3SXM.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import './frames-AOHUyPDP.js';
|
|
5
|
-
import './automation-
|
|
5
|
+
import './automation-WGLB_R74.js';
|
|
6
6
|
import './floatingFrames-BzaoL7cq.js';
|
|
7
7
|
import 'dompurify';
|
|
8
8
|
|
|
@@ -16,6 +16,7 @@ declare const findMatchingAction: (availableActions: {
|
|
|
16
16
|
}[], apiName?: string) => unknown;
|
|
17
17
|
|
|
18
18
|
declare const getFieldFromAction: (action: AssistantConfigAction) => AssistantField;
|
|
19
|
+
declare const getAllNestedInputsFromConfig: (config: SetupAssistantConfig, parentWhen?: string) => AssistantField[];
|
|
19
20
|
declare const cleanConfig: (setupAssistantConfig: SetupAssistantConfig, configValues: Record<string, ValueStore>) => CleanValueStore;
|
|
20
21
|
|
|
21
22
|
declare const getHash: (str?: string) => number;
|
|
@@ -35,14 +36,35 @@ declare const handleKizenNetworkResponse: (originalResponse: KizenNetworkRespons
|
|
|
35
36
|
type ActionsToLink = Record<string, ValueStore & {
|
|
36
37
|
menuFlags?: Record<string, boolean>;
|
|
37
38
|
}>;
|
|
38
|
-
|
|
39
|
+
interface SecretToCreate {
|
|
40
|
+
fieldKey: string;
|
|
41
|
+
secretName: string;
|
|
42
|
+
value: string;
|
|
43
|
+
}
|
|
44
|
+
interface SaveSecretParams {
|
|
45
|
+
pluginApiName: string;
|
|
46
|
+
secretName: string;
|
|
47
|
+
value: string;
|
|
48
|
+
}
|
|
49
|
+
type SaveSecretFn = (params: SaveSecretParams) => Promise<void>;
|
|
50
|
+
interface ProcessAssistantConfigOptions {
|
|
51
|
+
/** Required together with `saveSecret` - identifies the plugin each secret belongs to. */
|
|
52
|
+
pluginApiName?: string;
|
|
53
|
+
includedKeys?: string[];
|
|
54
|
+
/** When provided, each fresh api_key value is persisted via this callback before it's
|
|
55
|
+
* stripped from the returned config, so callers don't need a second pass over
|
|
56
|
+
* `secretsToCreate` (which is still returned, for callers that persist it themselves). */
|
|
57
|
+
saveSecret?: SaveSecretFn;
|
|
58
|
+
}
|
|
59
|
+
declare const getProcessedAssistantConfig: (currentAssistantConfig: Record<string, ValueStore | undefined>, setupAssistantConfig: SetupAssistantConfig, options?: ProcessAssistantConfigOptions) => Promise<{
|
|
39
60
|
partialNewConfig: {
|
|
40
61
|
__kizen_setup_assistant_values: Record<string, ValueStore>;
|
|
41
62
|
__kizen_setup_assistant_hash: number;
|
|
42
63
|
__kizen_clean_config: CleanValueStore;
|
|
43
64
|
};
|
|
44
65
|
actionsToLink: ActionsToLink;
|
|
45
|
-
|
|
66
|
+
secretsToCreate: SecretToCreate[];
|
|
67
|
+
}>;
|
|
46
68
|
|
|
47
69
|
declare const getActionContainerKey: (actionApiName: string) => string;
|
|
48
70
|
declare const getActionMenuHeadingKey: (actionApiName: string) => string;
|
|
@@ -50,4 +72,4 @@ declare const getActionMenuFieldKey: (actionApiName: string, objectId: string) =
|
|
|
50
72
|
declare const isActionMenuFieldKey: (key: string) => boolean;
|
|
51
73
|
declare const splitActionFieldKey: (key: string) => string;
|
|
52
74
|
|
|
53
|
-
export { KizenRequestError, cleanConfig, createKizenProxyError, createKizenRequestError, emitRouteChange, findMatchingAction, getActionContainerKey, getActionMenuFieldKey, getActionMenuHeadingKey, getFieldFromAction, getHash, getModifiedResponse, getPartialLocation, getProcessedAssistantConfig, getStableHash, handleKizenNetworkResponse, isActionMenuFieldKey, isFlagEnabled, splitActionFieldKey };
|
|
75
|
+
export { KizenRequestError, type SaveSecretFn, type SaveSecretParams, type SecretToCreate, cleanConfig, createKizenProxyError, createKizenRequestError, emitRouteChange, findMatchingAction, getActionContainerKey, getActionMenuFieldKey, getActionMenuHeadingKey, getAllNestedInputsFromConfig, getFieldFromAction, getHash, getModifiedResponse, getPartialLocation, getProcessedAssistantConfig, getStableHash, handleKizenNetworkResponse, isActionMenuFieldKey, isFlagEnabled, splitActionFieldKey };
|
package/dist/util.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { getHash } from './chunk-
|
|
2
|
-
export { forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, pluginMapper, reduceEnabledResults, replaceConfigValues } from './chunk-
|
|
3
|
-
export { emitRouteChange, findMatchingAction, getPartialLocation } from './chunk-
|
|
4
|
-
import { KizenRequestError, isActionMenuFieldKey, splitActionMenuFieldKey, getActionFieldKey, isActionFieldKey, cleanConfig } from './chunk-
|
|
5
|
-
export { KizenRequestError, cleanConfig, getActionContainerKey, getActionMenuFieldKey, getActionMenuHeadingKey, getFieldFromAction, isActionMenuFieldKey, splitActionFieldKey } from './chunk-
|
|
6
|
-
import './chunk-
|
|
1
|
+
import { getHash } from './chunk-LCLZCF7I.js';
|
|
2
|
+
export { flattenReservedState, forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, pluginMapper, reduceEnabledResults, replaceConfigValues } from './chunk-LCLZCF7I.js';
|
|
3
|
+
export { emitRouteChange, findMatchingAction, getPartialLocation } from './chunk-BQWJS4RP.js';
|
|
4
|
+
import { KizenRequestError, isActionMenuFieldKey, splitActionMenuFieldKey, getActionFieldKey, isActionFieldKey, cleanConfig, getAllNestedInputsFromConfig } from './chunk-6I3JOYPF.js';
|
|
5
|
+
export { KizenRequestError, cleanConfig, getActionContainerKey, getActionMenuFieldKey, getActionMenuHeadingKey, getAllNestedInputsFromConfig, getFieldFromAction, isActionMenuFieldKey, splitActionFieldKey } from './chunk-6I3JOYPF.js';
|
|
6
|
+
import './chunk-TCAO3QD3.js';
|
|
7
7
|
import './chunk-5WRI5ZAA.js';
|
|
8
8
|
|
|
9
9
|
// src/util/network.ts
|
|
@@ -40,7 +40,41 @@ var handleKizenNetworkResponse = (originalResponse) => {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
// src/util/assistant.ts
|
|
43
|
-
var
|
|
43
|
+
var extractApiKeySecrets = (currentAssistantConfig, setupAssistantConfig, includedKeys) => {
|
|
44
|
+
const apiKeyFields = getAllNestedInputsFromConfig(setupAssistantConfig).filter(
|
|
45
|
+
(field) => field.type === "api_key"
|
|
46
|
+
);
|
|
47
|
+
if (apiKeyFields.length === 0) {
|
|
48
|
+
return { sanitized: currentAssistantConfig, secretsToCreate: [] };
|
|
49
|
+
}
|
|
50
|
+
const includedKeySet = includedKeys ? new Set(includedKeys) : void 0;
|
|
51
|
+
const sanitized = { ...currentAssistantConfig };
|
|
52
|
+
const secretsToCreate = [];
|
|
53
|
+
for (const field of apiKeyFields) {
|
|
54
|
+
const entry = currentAssistantConfig[field.key];
|
|
55
|
+
if (!entry) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (includedKeySet && !includedKeySet.has(field.key)) {
|
|
59
|
+
sanitized[field.key] = { type: "api_key", hasValue: Boolean(entry.hasValue) };
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (entry.value) {
|
|
63
|
+
if (!field.secret) {
|
|
64
|
+
throw new Error(`api_key field "${field.key}" does not declare a secret`);
|
|
65
|
+
}
|
|
66
|
+
secretsToCreate.push({ fieldKey: field.key, secretName: field.secret, value: entry.value });
|
|
67
|
+
sanitized[field.key] = { type: "api_key", hasValue: true };
|
|
68
|
+
} else {
|
|
69
|
+
sanitized[field.key] = {
|
|
70
|
+
type: "api_key",
|
|
71
|
+
hasValue: Boolean(entry.hasValue)
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return { sanitized, secretsToCreate };
|
|
76
|
+
};
|
|
77
|
+
var getProcessedAssistantConfig = async (currentAssistantConfig, setupAssistantConfig, options) => {
|
|
44
78
|
const actionsToLink = {};
|
|
45
79
|
const configValuesToSet = {};
|
|
46
80
|
const configKeys = Object.keys(currentAssistantConfig);
|
|
@@ -68,14 +102,32 @@ var getProcessedAssistantConfig = (currentAssistantConfig, setupAssistantConfig)
|
|
|
68
102
|
configValuesToSet[configKey] = currentAssistantConfig[configKey];
|
|
69
103
|
}
|
|
70
104
|
}
|
|
71
|
-
const
|
|
105
|
+
const { sanitized: sanitizedConfigValues, secretsToCreate } = extractApiKeySecrets(
|
|
106
|
+
configValuesToSet,
|
|
107
|
+
setupAssistantConfig,
|
|
108
|
+
options?.includedKeys
|
|
109
|
+
);
|
|
110
|
+
if (options?.saveSecret) {
|
|
111
|
+
for (const secret of secretsToCreate) {
|
|
112
|
+
await options.saveSecret({
|
|
113
|
+
pluginApiName: options.pluginApiName ?? "",
|
|
114
|
+
secretName: secret.secretName,
|
|
115
|
+
value: secret.value
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const cleanConfigValue = cleanConfig(
|
|
120
|
+
setupAssistantConfig,
|
|
121
|
+
sanitizedConfigValues
|
|
122
|
+
);
|
|
72
123
|
return {
|
|
73
124
|
partialNewConfig: {
|
|
74
|
-
__kizen_setup_assistant_values:
|
|
125
|
+
__kizen_setup_assistant_values: sanitizedConfigValues,
|
|
75
126
|
__kizen_setup_assistant_hash: configHash,
|
|
76
127
|
__kizen_clean_config: cleanConfigValue
|
|
77
128
|
},
|
|
78
|
-
actionsToLink
|
|
129
|
+
actionsToLink,
|
|
130
|
+
secretsToCreate
|
|
79
131
|
};
|
|
80
132
|
};
|
|
81
133
|
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util/network.ts","../src/util/assistant.ts"],"names":[],"mappings":";;;;;;;;;AAIO,IAAM,mBAAA,GAAsB,CACjC,QAAA,KAKG;AACH,EAAA,MAAM,gBAAA,GAAmB;AAAA,IACvB,GAAG,QAAA;AAAA,IACH,IAAA,EAAM,QAAA,CAAS,IAAA,CAAK,IAAA,IAAQ,QAAA,CAAS,IAAA;AAAA,IACrC,MAAA,EAAQ,QAAA,CAAS,IAAA,CAAK,WAAA,IAAe,QAAA,CAAS;AAAA,GAChD;AAEA,EAAA,OAAO;AAAA,IACL,QAAA,EAAU,gBAAA;AAAA,IACV,gBAAgB,gBAAA,CAAiB,MAAA;AAAA,IACjC,gBAAA,EAAkB,SAAS,IAAA,CAAK;AAAA,GAClC;AACF;AAEO,IAAM,uBAAA,GAA0B,CACrC,WAAA,EACA,cAAA,EACA,gBAAA,KACsB;AACtB,EAAA,OAAO,IAAI,iBAAA,CAAkB,WAAA,EAAa,cAAA,EAAgB,gBAAgB,CAAA;AAC5E;AAEO,IAAM,qBAAA,GAAwB,CACnC,WAAA,EACA,UAAA,KACsB;AACtB,EAAA,OAAO,IAAI,iBAAA;AAAA,IACT,WAAA,IAAe,GAAA;AAAA,IACf,MAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA,IAAc;AAAA,GAChB;AACF;AAEO,IAAM,0BAAA,GAA6B,CACxC,gBAAA,KACsC;AACtC,EAAA,MAAM,EAAE,QAAA,EAAU,cAAA,EAAgB,gBAAA,EAAiB,GAAI,oBAAoB,gBAAgB,CAAA;AAE3F,EAAA,MAAM,cAAc,cAAA,IAAkB,GAAA;AAEtC,EAAA,IAAI,WAAA,EAAa;AAGf,IAAA,MAAM,uBAAA,CAAwB,GAAA,EAAK,cAAA,EAAgB,gBAA+B,CAAA;AAAA,EACpF;AAEA,EAAA,OAAO,QAAA;AACT;;;AC9CO,IAAM,2BAAA,GAA8B,CACzC,sBAAA,EACA,oBAAA,KAQG;AACH,EAAA,MAAM,gBAA+B,EAAC;AACtC,EAAA,MAAM,oBAAgD,EAAC;AAEvD,EAAA,MAAM,UAAA,GAAa,MAAA,CAAO,IAAA,CAAK,sBAAsB,CAAA;AACrD,EAAA,MAAM,UAAA,GAAa,OAAA,CAAQ,IAAA,CAAK,SAAA,CAAU,oBAAoB,CAAC,CAAA;AAE/D,EAAA,KAAA,MAAW,aAAa,UAAA,EAAY;AAClC,IAAA,IAAI,oBAAA,CAAqB,SAAS,CAAA,EAAG;AACnC,MAAA,MAAM,EAAE,aAAA,EAAe,QAAA,EAAS,GAAI,wBAAwB,SAAS,CAAA;AAErE,MAAA,IAAI,iBAAiB,QAAA,EAAU;AAC7B,QAAA,MAAM,SAAA,GAAY,kBAAkB,aAAa,CAAA;AAEjD,QAAA,MAAM,QAAA,GAAW,aAAA,CAAc,SAAS,CAAA,IAAK,EAAC;AAC9C,QAAA,aAAA,CAAc,SAAS,CAAA,GAAI;AAAA,UACzB,GAAG,QAAA;AAAA,UACH,SAAA,EAAW;AAAA,YACT,GAAI,QAAA,CAAS,SAAA,IAAa,EAAC;AAAA,YAC3B,CAAC,QAAQ,GAAG,QAAQ,sBAAA,CAAuB,SAAS,GAAG,KAAK;AAAA;AAC9D,SACF;AAAA,MACF;AAAA,IACF,CAAA,MAAA,IAAW,gBAAA,CAAiB,SAAS,CAAA,EAAG;AACtC,MAAA,aAAA,CAAc,SAAS,CAAA,GAAI;AAAA,QACzB,GAAG,cAAc,SAAS,CAAA;AAAA,QAC1B,GAAG,uBAAuB,SAAS;AAAA,OACrC;AAAA,IACF,CAAA,MAAA,IAAW,sBAAA,CAAuB,SAAS,CAAA,EAAG;AAC5C,MAAA,iBAAA,CAAkB,SAAS,CAAA,GAAI,sBAAA,CAAuB,SAAS,CAAA;AAAA,IACjE;AAAA,EACF;AAEA,EAAA,MAAM,gBAAA,GAAmB,WAAA,CAAY,oBAAA,EAAsB,iBAAiB,CAAA;AAE5E,EAAA,OAAO;AAAA,IACL,gBAAA,EAAkB;AAAA,MAChB,8BAAA,EAAgC,iBAAA;AAAA,MAChC,4BAAA,EAA8B,UAAA;AAAA,MAC9B,oBAAA,EAAsB;AAAA,KACxB;AAAA,IACA;AAAA,GACF;AACF","file":"util.js","sourcesContent":["import type { KizenNetworkResponse, KizenProxySuccessResponse } from '../types/request.js';\nimport type { UnknownJSON } from '../types/common.js';\nimport { KizenRequestError } from './errors.js';\n\nexport const getModifiedResponse = (\n response: KizenNetworkResponse<KizenProxySuccessResponse>,\n): {\n response: KizenNetworkResponse;\n upstreamStatus: number;\n upstreamResponse: unknown;\n} => {\n const modifiedResponse = {\n ...response,\n data: response.data.body ?? response.data,\n status: response.data.status_code ?? response.status,\n };\n\n return {\n response: modifiedResponse,\n upstreamStatus: modifiedResponse.status,\n upstreamResponse: response.data.body,\n };\n};\n\nexport const createKizenRequestError = (\n proxyStatus: number,\n upstreamStatus?: number,\n upstreamResponse?: UnknownJSON,\n): KizenRequestError => {\n return new KizenRequestError(proxyStatus, upstreamStatus, upstreamResponse);\n};\n\nexport const createKizenProxyError = (\n proxyStatus?: number,\n proxyError?: string,\n): KizenRequestError => {\n return new KizenRequestError(\n proxyStatus ?? 500,\n undefined,\n undefined,\n proxyError ?? 'An unknown error occurred in the proxy',\n );\n};\n\nexport const handleKizenNetworkResponse = (\n originalResponse: KizenNetworkResponse<KizenProxySuccessResponse>,\n): KizenNetworkResponse<UnknownJSON> => {\n const { response, upstreamStatus, upstreamResponse } = getModifiedResponse(originalResponse);\n\n const isErrorCode = upstreamStatus >= 400;\n\n if (isErrorCode) {\n // If we manually throw an error, it means the proxy request succeeded but the upstream request failed.\n // In this case, always indicate a 200 status for the proxy.\n throw createKizenRequestError(200, upstreamStatus, upstreamResponse as UnknownJSON);\n }\n\n return response as KizenNetworkResponse<UnknownJSON>;\n};\n","import type { CleanValueStore, SetupAssistantConfig, ValueStore } from '../types/modals.js';\nimport { cleanConfig } from '../workers/util.js';\nimport {\n getActionFieldKey,\n isActionFieldKey,\n isActionMenuFieldKey,\n splitActionMenuFieldKey,\n} from './assistantKeys.js';\nimport { getHash } from './encode.js';\n\ntype ActionsToLink = Record<string, ValueStore & { menuFlags?: Record<string, boolean> }>;\n\nexport const getProcessedAssistantConfig = (\n currentAssistantConfig: Record<string, ValueStore | undefined>,\n setupAssistantConfig: SetupAssistantConfig,\n): {\n partialNewConfig: {\n __kizen_setup_assistant_values: Record<string, ValueStore>;\n __kizen_setup_assistant_hash: number;\n __kizen_clean_config: CleanValueStore;\n };\n actionsToLink: ActionsToLink;\n} => {\n const actionsToLink: ActionsToLink = {};\n const configValuesToSet: Record<string, ValueStore> = {};\n\n const configKeys = Object.keys(currentAssistantConfig);\n const configHash = getHash(JSON.stringify(setupAssistantConfig));\n\n for (const configKey of configKeys) {\n if (isActionMenuFieldKey(configKey)) {\n const { actionApiName, objectId } = splitActionMenuFieldKey(configKey);\n\n if (actionApiName && objectId) {\n const actionKey = getActionFieldKey(actionApiName);\n\n const existing = actionsToLink[actionKey] ?? {};\n actionsToLink[actionKey] = {\n ...existing,\n menuFlags: {\n ...(existing.menuFlags ?? {}),\n [objectId]: Boolean(currentAssistantConfig[configKey]?.value),\n },\n };\n }\n } else if (isActionFieldKey(configKey)) {\n actionsToLink[configKey] = {\n ...actionsToLink[configKey],\n ...currentAssistantConfig[configKey],\n };\n } else if (currentAssistantConfig[configKey]) {\n configValuesToSet[configKey] = currentAssistantConfig[configKey];\n }\n }\n\n const cleanConfigValue = cleanConfig(setupAssistantConfig, configValuesToSet);\n\n return {\n partialNewConfig: {\n __kizen_setup_assistant_values: configValuesToSet,\n __kizen_setup_assistant_hash: configHash,\n __kizen_clean_config: cleanConfigValue,\n },\n actionsToLink,\n };\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/util/network.ts","../src/util/assistant.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { KizenNetworkResponse, KizenProxySuccessResponse } from '../types/request.js';\nimport type { UnknownJSON } from '../types/common.js';\nimport { KizenRequestError } from './errors.js';\n\nexport const getModifiedResponse = (\n response: KizenNetworkResponse<KizenProxySuccessResponse>,\n): {\n response: KizenNetworkResponse;\n upstreamStatus: number;\n upstreamResponse: unknown;\n} => {\n const modifiedResponse = {\n ...response,\n data: response.data.body ?? response.data,\n status: response.data.status_code ?? response.status,\n };\n\n return {\n response: modifiedResponse,\n upstreamStatus: modifiedResponse.status,\n upstreamResponse: response.data.body,\n };\n};\n\nexport const createKizenRequestError = (\n proxyStatus: number,\n upstreamStatus?: number,\n upstreamResponse?: UnknownJSON,\n): KizenRequestError => {\n return new KizenRequestError(proxyStatus, upstreamStatus, upstreamResponse);\n};\n\nexport const createKizenProxyError = (\n proxyStatus?: number,\n proxyError?: string,\n): KizenRequestError => {\n return new KizenRequestError(\n proxyStatus ?? 500,\n undefined,\n undefined,\n proxyError ?? 'An unknown error occurred in the proxy',\n );\n};\n\nexport const handleKizenNetworkResponse = (\n originalResponse: KizenNetworkResponse<KizenProxySuccessResponse>,\n): KizenNetworkResponse<UnknownJSON> => {\n const { response, upstreamStatus, upstreamResponse } = getModifiedResponse(originalResponse);\n\n const isErrorCode = upstreamStatus >= 400;\n\n if (isErrorCode) {\n // If we manually throw an error, it means the proxy request succeeded but the upstream request failed.\n // In this case, always indicate a 200 status for the proxy.\n throw createKizenRequestError(200, upstreamStatus, upstreamResponse as UnknownJSON);\n }\n\n return response as KizenNetworkResponse<UnknownJSON>;\n};\n","import type {\n ApiKeyValueStore,\n AssistantField,\n CleanValueStore,\n SetupAssistantConfig,\n ValueStore,\n} from '../types/modals.js';\nimport { cleanConfig, getAllNestedInputsFromConfig } from '../workers/util.js';\nimport {\n getActionFieldKey,\n isActionFieldKey,\n isActionMenuFieldKey,\n splitActionMenuFieldKey,\n} from './assistantKeys.js';\nimport { getHash } from './encode.js';\n\ntype ActionsToLink = Record<string, ValueStore & { menuFlags?: Record<string, boolean> }>;\n\nexport interface SecretToCreate {\n fieldKey: string;\n secretName: string;\n value: string;\n}\n\nexport interface SaveSecretParams {\n pluginApiName: string;\n secretName: string;\n value: string;\n}\n\nexport type SaveSecretFn = (params: SaveSecretParams) => Promise<void>;\n\ninterface ExtractedApiKeySecrets {\n sanitized: Record<string, ValueStore | undefined>;\n secretsToCreate: SecretToCreate[];\n}\n\nconst extractApiKeySecrets = (\n currentAssistantConfig: Record<string, ValueStore | undefined>,\n setupAssistantConfig: SetupAssistantConfig,\n includedKeys?: string[],\n): ExtractedApiKeySecrets => {\n const apiKeyFields = getAllNestedInputsFromConfig(setupAssistantConfig).filter(\n (field): field is AssistantField & { type: 'api_key' } => field.type === 'api_key',\n );\n\n if (apiKeyFields.length === 0) {\n return { sanitized: currentAssistantConfig, secretsToCreate: [] };\n }\n\n const includedKeySet = includedKeys ? new Set(includedKeys) : undefined;\n const sanitized = { ...currentAssistantConfig };\n const secretsToCreate: SecretToCreate[] = [];\n\n for (const field of apiKeyFields) {\n const entry = currentAssistantConfig[field.key] as ApiKeyValueStore | undefined;\n\n if (!entry) {\n continue;\n }\n\n // Drop the plaintext value while keeping hasValue, so the field doesn't\n // look empty if/when it's shown again.\n if (includedKeySet && !includedKeySet.has(field.key)) {\n sanitized[field.key] = { type: 'api_key', hasValue: Boolean(entry.hasValue) };\n continue;\n }\n\n if (entry.value) {\n if (!field.secret) {\n throw new Error(`api_key field \"${field.key}\" does not declare a secret`);\n }\n\n secretsToCreate.push({ fieldKey: field.key, secretName: field.secret, value: entry.value });\n sanitized[field.key] = { type: 'api_key', hasValue: true };\n } else {\n sanitized[field.key] = {\n type: 'api_key',\n hasValue: Boolean(entry.hasValue),\n };\n }\n }\n\n return { sanitized, secretsToCreate };\n};\n\nexport interface ProcessAssistantConfigOptions {\n /** Required together with `saveSecret` - identifies the plugin each secret belongs to. */\n pluginApiName?: string;\n includedKeys?: string[];\n /** When provided, each fresh api_key value is persisted via this callback before it's\n * stripped from the returned config, so callers don't need a second pass over\n * `secretsToCreate` (which is still returned, for callers that persist it themselves). */\n saveSecret?: SaveSecretFn;\n}\n\nexport const getProcessedAssistantConfig = async (\n currentAssistantConfig: Record<string, ValueStore | undefined>,\n setupAssistantConfig: SetupAssistantConfig,\n options?: ProcessAssistantConfigOptions,\n): Promise<{\n partialNewConfig: {\n __kizen_setup_assistant_values: Record<string, ValueStore>;\n __kizen_setup_assistant_hash: number;\n __kizen_clean_config: CleanValueStore;\n };\n actionsToLink: ActionsToLink;\n secretsToCreate: SecretToCreate[];\n}> => {\n const actionsToLink: ActionsToLink = {};\n const configValuesToSet: Record<string, ValueStore> = {};\n\n const configKeys = Object.keys(currentAssistantConfig);\n const configHash = getHash(JSON.stringify(setupAssistantConfig));\n\n for (const configKey of configKeys) {\n if (isActionMenuFieldKey(configKey)) {\n const { actionApiName, objectId } = splitActionMenuFieldKey(configKey);\n\n if (actionApiName && objectId) {\n const actionKey = getActionFieldKey(actionApiName);\n\n const existing = actionsToLink[actionKey] ?? {};\n actionsToLink[actionKey] = {\n ...existing,\n menuFlags: {\n ...(existing.menuFlags ?? {}),\n [objectId]: Boolean(currentAssistantConfig[configKey]?.value),\n },\n };\n }\n } else if (isActionFieldKey(configKey)) {\n actionsToLink[configKey] = {\n ...actionsToLink[configKey],\n ...currentAssistantConfig[configKey],\n };\n } else if (currentAssistantConfig[configKey]) {\n configValuesToSet[configKey] = currentAssistantConfig[configKey];\n }\n }\n\n const { sanitized: sanitizedConfigValues, secretsToCreate } = extractApiKeySecrets(\n configValuesToSet,\n setupAssistantConfig,\n options?.includedKeys,\n );\n\n if (options?.saveSecret) {\n for (const secret of secretsToCreate) {\n await options.saveSecret({\n pluginApiName: options.pluginApiName ?? '',\n secretName: secret.secretName,\n value: secret.value,\n });\n }\n }\n\n const cleanConfigValue = cleanConfig(\n setupAssistantConfig,\n sanitizedConfigValues as Record<string, ValueStore>,\n );\n\n return {\n partialNewConfig: {\n __kizen_setup_assistant_values: sanitizedConfigValues as Record<string, ValueStore>,\n __kizen_setup_assistant_hash: configHash,\n __kizen_clean_config: cleanConfigValue,\n },\n actionsToLink,\n secretsToCreate,\n };\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { p as IncludeOption, U as UnknownJSON, q as SetupAssistantField, r as AppPlugin } from './ThirdPartyScript-
|
|
1
|
+
import { p as IncludeOption, J as JSONValue, U as UnknownJSON, q as SetupAssistantField, r as AppPlugin } from './ThirdPartyScript-DxPk6YJY.js';
|
|
2
2
|
import { B as BuildIframeURLWithProxyOptions } from './frames-AOHUyPDP.js';
|
|
3
|
-
import { F as FloatingFrameConfig, R as RoutablePageConfig, D as DataAdornmentConfig, T as ToolbarItemConfig, a as RouteScriptConfig, C as CalendarSourceConfig, A as AutomationStepConfig } from './automation-
|
|
3
|
+
import { F as FloatingFrameConfig, R as RoutablePageConfig, D as DataAdornmentConfig, T as ToolbarItemConfig, a as RouteScriptConfig, C as CalendarSourceConfig, A as AutomationStepConfig } from './automation-WGLB_R74.js';
|
|
4
4
|
import { RemovedAttribute, RemovedElement } from 'dompurify';
|
|
5
5
|
|
|
6
6
|
type AllowedConfig = FloatingFrameConfig | RoutablePageConfig | DataAdornmentConfig | ToolbarItemConfig | RouteScriptConfig | CalendarSourceConfig | AutomationStepConfig;
|
|
@@ -12,6 +12,7 @@ declare const pluginMapper: <T extends AllowedConfig>(config: T, apiName: string
|
|
|
12
12
|
};
|
|
13
13
|
declare const getDisabledValue: (type?: string) => false | undefined;
|
|
14
14
|
declare const mergeConfig: (cleanConfig: Record<string, UnknownJSON>, disabledFieldKeys: string[], rawConfig: Record<string, UnknownJSON>, setupAssistantFields?: SetupAssistantField[]) => Record<string, UnknownJSON>;
|
|
15
|
+
declare const flattenReservedState: (plan?: Record<string, Record<string, JSONValue>>, entitlements?: Record<string, JSONValue>) => Record<string, UnknownJSON>;
|
|
15
16
|
declare const replaceConfigValues: (when?: string) => string;
|
|
16
17
|
declare const getEnabledState: (when: string | undefined, state: Record<string, UnknownJSON>) => Promise<boolean>;
|
|
17
18
|
declare const reduceEnabledResults: (results: {
|
|
@@ -29,4 +30,4 @@ declare const getPluginSafeHTML: (html?: string, pluginApiName?: string, options
|
|
|
29
30
|
removed: RemovedHTML[];
|
|
30
31
|
};
|
|
31
32
|
|
|
32
|
-
export { type GetParamFunction as G, type RemovedHTML as R,
|
|
33
|
+
export { type GetParamFunction as G, type RemovedHTML as R, forceQualifiedUrl as a, getEnabledState as b, getLinkValue as c, getPluginSafeHTML as d, getQrCodeValue as e, flattenReservedState as f, getDisabledValue as g, replaceConfigValues as h, mergeConfig as m, pluginMapper as p, reduceEnabledResults as r };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { WorkerPromise } from '../chunk-
|
|
2
|
-
import { buildCodeRunnerFunction } from '../chunk-
|
|
3
|
-
import { BaseWorkerContext } from '../chunk-
|
|
4
|
-
import { dynamicPromptHandler, promptHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import { ACTIONS } from '../chunk-
|
|
1
|
+
import { WorkerPromise } from '../chunk-MRX2WNJ3.js';
|
|
2
|
+
import { buildCodeRunnerFunction } from '../chunk-BQWJS4RP.js';
|
|
3
|
+
import { BaseWorkerContext } from '../chunk-6SKBFHYX.js';
|
|
4
|
+
import { dynamicPromptHandler, promptHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-6I3JOYPF.js';
|
|
5
|
+
import '../chunk-KUBP4VBY.js';
|
|
6
|
+
import { ACTIONS } from '../chunk-TCAO3QD3.js';
|
|
7
7
|
import '../chunk-5WRI5ZAA.js';
|
|
8
8
|
|
|
9
9
|
// src/workers/calendarSource.worker.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { FloatingFrameWorkerContext } from '../chunk-
|
|
2
|
-
import { WorkerPromise } from '../chunk-
|
|
3
|
-
import { buildCodeRunnerFunction } from '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import { completeSetupHandler, closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import { ACTIONS } from '../chunk-
|
|
1
|
+
import { FloatingFrameWorkerContext } from '../chunk-N2DKKXXN.js';
|
|
2
|
+
import { WorkerPromise } from '../chunk-MRX2WNJ3.js';
|
|
3
|
+
import { buildCodeRunnerFunction } from '../chunk-BQWJS4RP.js';
|
|
4
|
+
import '../chunk-6SKBFHYX.js';
|
|
5
|
+
import { completeSetupHandler, closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-6I3JOYPF.js';
|
|
6
|
+
import '../chunk-KUBP4VBY.js';
|
|
7
|
+
import { ACTIONS } from '../chunk-TCAO3QD3.js';
|
|
8
8
|
import '../chunk-5WRI5ZAA.js';
|
|
9
9
|
|
|
10
10
|
// src/workers/floatingFrame.worker.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { WorkerPromise } from '../chunk-
|
|
2
|
-
import { buildCodeRunnerFunction } from '../chunk-
|
|
3
|
-
import { BaseWorkerContext } from '../chunk-
|
|
4
|
-
import { completeSetupHandler, closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import { ACTIONS } from '../chunk-
|
|
1
|
+
import { WorkerPromise } from '../chunk-MRX2WNJ3.js';
|
|
2
|
+
import { buildCodeRunnerFunction } from '../chunk-BQWJS4RP.js';
|
|
3
|
+
import { BaseWorkerContext } from '../chunk-6SKBFHYX.js';
|
|
4
|
+
import { completeSetupHandler, closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-6I3JOYPF.js';
|
|
5
|
+
import '../chunk-KUBP4VBY.js';
|
|
6
|
+
import { ACTIONS } from '../chunk-TCAO3QD3.js';
|
|
7
7
|
import '../chunk-5WRI5ZAA.js';
|
|
8
8
|
|
|
9
9
|
// src/workers/generic.worker.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { RecordDetailWorkerContext } from '../chunk-
|
|
2
|
-
import { WorkerPromise } from '../chunk-
|
|
3
|
-
import { buildCodeRunnerFunction } from '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import { completeSetupHandler, closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import { ACTIONS } from '../chunk-
|
|
1
|
+
import { RecordDetailWorkerContext } from '../chunk-FZ5F6QPV.js';
|
|
2
|
+
import { WorkerPromise } from '../chunk-MRX2WNJ3.js';
|
|
3
|
+
import { buildCodeRunnerFunction } from '../chunk-BQWJS4RP.js';
|
|
4
|
+
import '../chunk-6SKBFHYX.js';
|
|
5
|
+
import { completeSetupHandler, closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-6I3JOYPF.js';
|
|
6
|
+
import '../chunk-KUBP4VBY.js';
|
|
7
|
+
import { ACTIONS } from '../chunk-TCAO3QD3.js';
|
|
8
8
|
import '../chunk-5WRI5ZAA.js';
|
|
9
9
|
|
|
10
10
|
// src/workers/recordDetail.worker.ts
|