@kizenapps/engine 1.5.1 → 1.5.2-065350b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/{chunk-RTZBCNTI.js → chunk-KWHKLJVW.js} +3 -3
  2. package/dist/{chunk-RTZBCNTI.js.map → chunk-KWHKLJVW.js.map} +1 -1
  3. package/dist/{chunk-RTOGPAOD.js → chunk-MLEJMH2T.js} +3 -3
  4. package/dist/{chunk-RTOGPAOD.js.map → chunk-MLEJMH2T.js.map} +1 -1
  5. package/dist/{chunk-A7ZZXW7L.js → chunk-N2EE7JZP.js} +6 -6
  6. package/dist/{chunk-A7ZZXW7L.js.map → chunk-N2EE7JZP.js.map} +1 -1
  7. package/dist/{chunk-CKCBJ7OI.js → chunk-N6FXIBTB.js} +3 -3
  8. package/dist/{chunk-CKCBJ7OI.js.map → chunk-N6FXIBTB.js.map} +1 -1
  9. package/dist/{chunk-YBU2ZFAD.js → chunk-Q227EJ6P.js} +3 -3
  10. package/dist/{chunk-YBU2ZFAD.js.map → chunk-Q227EJ6P.js.map} +1 -1
  11. package/dist/{chunk-E6OJJLFL.js → chunk-QNBRMIZJ.js} +4 -4
  12. package/dist/{chunk-E6OJJLFL.js.map → chunk-QNBRMIZJ.js.map} +1 -1
  13. package/dist/{chunk-2S7R33UH.js → chunk-S66EWYBT.js} +3 -3
  14. package/dist/{chunk-2S7R33UH.js.map → chunk-S66EWYBT.js.map} +1 -1
  15. package/dist/{chunk-PLPP66QJ.js → chunk-SBGLMAOP.js} +54 -5
  16. package/dist/chunk-SBGLMAOP.js.map +1 -0
  17. package/dist/{chunk-F5BVMX7I.js → chunk-UCQWTSOW.js} +5 -5
  18. package/dist/{chunk-F5BVMX7I.js.map → chunk-UCQWTSOW.js.map} +1 -1
  19. package/dist/communication.js +2 -2
  20. package/dist/contexts/base.js +4 -4
  21. package/dist/contexts/floatingFrame.js +5 -5
  22. package/dist/contexts/recordDetail.js +5 -5
  23. package/dist/index.js +4 -4
  24. package/dist/react.d.ts +1 -0
  25. package/dist/react.js +16 -6
  26. package/dist/react.js.map +1 -1
  27. package/dist/util.d.ts +19 -1
  28. package/dist/util.js +47 -6
  29. package/dist/util.js.map +1 -1
  30. package/dist/workers/calendarSource.worker.js +6 -6
  31. package/dist/workers/floatingFrame.worker.js +7 -7
  32. package/dist/workers/generic.worker.js +6 -6
  33. package/dist/workers/recordDetail.worker.js +7 -7
  34. package/package.json +6 -3
  35. package/dist/chunk-PLPP66QJ.js.map +0 -1
package/dist/util.d.ts CHANGED
@@ -31,4 +31,22 @@ declare const createKizenRequestError: (proxyStatus: number, upstreamStatus?: nu
31
31
  declare const createKizenProxyError: (proxyStatus?: number, proxyError?: string) => KizenRequestError;
32
32
  declare const handleKizenNetworkResponse: (originalResponse: KizenNetworkResponse<KizenProxySuccessResponse>) => KizenNetworkResponse<UnknownJSON>;
33
33
 
34
- export { KizenRequestError, cleanConfig, createKizenProxyError, createKizenRequestError, emitRouteChange, findMatchingAction, getFieldFromAction, getHash, getModifiedResponse, getPartialLocation, getStableHash, handleKizenNetworkResponse, isFlagEnabled };
34
+ type ActionsToLink = Record<string, ValueStore & {
35
+ menuFlags?: Record<string, boolean>;
36
+ }>;
37
+ declare const getProcessedAssistantConfig: (currentAssistantConfig: Record<string, ValueStore | undefined>, setupAssistantConfig: SetupAssistantConfig) => {
38
+ partialNewConfig: {
39
+ __kizen_setup_assistant_values: Record<string, ValueStore>;
40
+ __kizen_setup_assistant_hash: number;
41
+ __kizen_clean_config: CleanValueStore;
42
+ };
43
+ actionsToLink: ActionsToLink;
44
+ };
45
+
46
+ declare const getActionContainerKey: (actionApiName: string) => string;
47
+ declare const getActionMenuHeadingKey: (actionApiName: string) => string;
48
+ declare const getActionMenuFieldKey: (actionApiName: string, objectId: string) => string;
49
+ declare const isActionMenuFieldKey: (key: string) => boolean;
50
+ declare const splitActionFieldKey: (key: string) => string;
51
+
52
+ export { KizenRequestError, cleanConfig, createKizenProxyError, createKizenRequestError, emitRouteChange, findMatchingAction, getActionContainerKey, getActionMenuFieldKey, getActionMenuHeadingKey, getFieldFromAction, getHash, getModifiedResponse, getPartialLocation, getProcessedAssistantConfig, getStableHash, handleKizenNetworkResponse, isActionMenuFieldKey, isFlagEnabled, splitActionFieldKey };
package/dist/util.js CHANGED
@@ -1,8 +1,9 @@
1
- export { forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, pluginMapper, reduceEnabledResults, replaceConfigValues } from './chunk-A7ZZXW7L.js';
2
- export { emitRouteChange, findMatchingAction, getPartialLocation } from './chunk-RTOGPAOD.js';
3
- import { KizenRequestError } from './chunk-PLPP66QJ.js';
4
- export { KizenRequestError, cleanConfig, getFieldFromAction } from './chunk-PLPP66QJ.js';
5
- import './chunk-RTZBCNTI.js';
1
+ import { getHash } from './chunk-N2EE7JZP.js';
2
+ export { forceQualifiedUrl, getDisabledValue, getEnabledState, getHash, getLinkValue, getPluginSafeHTML, getQrCodeValue, getStableHash, isFlagEnabled, mergeConfig, pluginMapper, reduceEnabledResults, replaceConfigValues } from './chunk-N2EE7JZP.js';
3
+ export { emitRouteChange, findMatchingAction, getPartialLocation } from './chunk-MLEJMH2T.js';
4
+ import { KizenRequestError, isActionMenuFieldKey, splitActionMenuFieldKey, getActionFieldKey, isActionFieldKey, cleanConfig } from './chunk-SBGLMAOP.js';
5
+ export { KizenRequestError, cleanConfig, getActionContainerKey, getActionMenuFieldKey, getActionMenuHeadingKey, getFieldFromAction, isActionMenuFieldKey, splitActionFieldKey } from './chunk-SBGLMAOP.js';
6
+ import './chunk-KWHKLJVW.js';
6
7
  import './chunk-5WRI5ZAA.js';
7
8
 
8
9
  // src/util/network.ts
@@ -38,6 +39,46 @@ var handleKizenNetworkResponse = (originalResponse) => {
38
39
  return response;
39
40
  };
40
41
 
41
- export { createKizenProxyError, createKizenRequestError, getModifiedResponse, handleKizenNetworkResponse };
42
+ // src/util/assistant.ts
43
+ var getProcessedAssistantConfig = (currentAssistantConfig, setupAssistantConfig) => {
44
+ const actionsToLink = {};
45
+ const configValuesToSet = {};
46
+ const configKeys = Object.keys(currentAssistantConfig);
47
+ const configHash = getHash(JSON.stringify(setupAssistantConfig));
48
+ for (const configKey of configKeys) {
49
+ if (isActionMenuFieldKey(configKey)) {
50
+ const { actionApiName, objectId } = splitActionMenuFieldKey(configKey);
51
+ if (actionApiName && objectId) {
52
+ const actionKey = getActionFieldKey(actionApiName);
53
+ const existing = actionsToLink[actionKey] ?? {};
54
+ actionsToLink[actionKey] = {
55
+ ...existing,
56
+ menuFlags: {
57
+ ...existing.menuFlags ?? {},
58
+ [objectId]: Boolean(currentAssistantConfig[configKey]?.value)
59
+ }
60
+ };
61
+ }
62
+ } else if (isActionFieldKey(configKey)) {
63
+ actionsToLink[configKey] = {
64
+ ...actionsToLink[configKey],
65
+ ...currentAssistantConfig[configKey]
66
+ };
67
+ } else if (currentAssistantConfig[configKey]) {
68
+ configValuesToSet[configKey] = currentAssistantConfig[configKey];
69
+ }
70
+ }
71
+ const cleanConfigValue = cleanConfig(setupAssistantConfig, configValuesToSet);
72
+ return {
73
+ partialNewConfig: {
74
+ __kizen_setup_assistant_values: configValuesToSet,
75
+ __kizen_setup_assistant_hash: configHash,
76
+ __kizen_clean_config: cleanConfigValue
77
+ },
78
+ actionsToLink
79
+ };
80
+ };
81
+
82
+ export { createKizenProxyError, createKizenRequestError, getModifiedResponse, getProcessedAssistantConfig, handleKizenNetworkResponse };
42
83
  //# sourceMappingURL=util.js.map
43
84
  //# sourceMappingURL=util.js.map
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/network.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","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"]}
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 { 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,9 +1,9 @@
1
- import { WorkerPromise } from '../chunk-2S7R33UH.js';
2
- import { getFnWithReturn } from '../chunk-RTOGPAOD.js';
3
- import { BaseWorkerContext } from '../chunk-F5BVMX7I.js';
4
- import { dynamicPromptHandler, promptHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-PLPP66QJ.js';
5
- import '../chunk-YBU2ZFAD.js';
6
- import { ACTIONS } from '../chunk-RTZBCNTI.js';
1
+ import { WorkerPromise } from '../chunk-S66EWYBT.js';
2
+ import { getFnWithReturn } from '../chunk-MLEJMH2T.js';
3
+ import { BaseWorkerContext } from '../chunk-UCQWTSOW.js';
4
+ import { dynamicPromptHandler, promptHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-SBGLMAOP.js';
5
+ import '../chunk-Q227EJ6P.js';
6
+ import { ACTIONS } from '../chunk-KWHKLJVW.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-E6OJJLFL.js';
2
- import { WorkerPromise } from '../chunk-2S7R33UH.js';
3
- import { getFn } from '../chunk-RTOGPAOD.js';
4
- import '../chunk-F5BVMX7I.js';
5
- import { closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-PLPP66QJ.js';
6
- import '../chunk-YBU2ZFAD.js';
7
- import { ACTIONS } from '../chunk-RTZBCNTI.js';
1
+ import { FloatingFrameWorkerContext } from '../chunk-QNBRMIZJ.js';
2
+ import { WorkerPromise } from '../chunk-S66EWYBT.js';
3
+ import { getFn } from '../chunk-MLEJMH2T.js';
4
+ import '../chunk-UCQWTSOW.js';
5
+ import { closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-SBGLMAOP.js';
6
+ import '../chunk-Q227EJ6P.js';
7
+ import { ACTIONS } from '../chunk-KWHKLJVW.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-2S7R33UH.js';
2
- import { getFn } from '../chunk-RTOGPAOD.js';
3
- import { BaseWorkerContext } from '../chunk-F5BVMX7I.js';
4
- import { closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-PLPP66QJ.js';
5
- import '../chunk-YBU2ZFAD.js';
6
- import { ACTIONS } from '../chunk-RTZBCNTI.js';
1
+ import { WorkerPromise } from '../chunk-S66EWYBT.js';
2
+ import { getFn } from '../chunk-MLEJMH2T.js';
3
+ import { BaseWorkerContext } from '../chunk-UCQWTSOW.js';
4
+ import { closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-SBGLMAOP.js';
5
+ import '../chunk-Q227EJ6P.js';
6
+ import { ACTIONS } from '../chunk-KWHKLJVW.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-CKCBJ7OI.js';
2
- import { WorkerPromise } from '../chunk-2S7R33UH.js';
3
- import { getFn } from '../chunk-RTOGPAOD.js';
4
- import '../chunk-F5BVMX7I.js';
5
- import { closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-PLPP66QJ.js';
6
- import '../chunk-YBU2ZFAD.js';
7
- import { ACTIONS } from '../chunk-RTZBCNTI.js';
1
+ import { RecordDetailWorkerContext } from '../chunk-N6FXIBTB.js';
2
+ import { WorkerPromise } from '../chunk-S66EWYBT.js';
3
+ import { getFn } from '../chunk-MLEJMH2T.js';
4
+ import '../chunk-UCQWTSOW.js';
5
+ import { closeModalHandler, showViewInModalHandler, openCreateRelatedRecordHandler, openCreateRecordHandler, refreshEntityHandler, dynamicPromptHandler, promptHandler, installThirdPartyScriptHandler, uploadFileHandler, postFormDataHandler, kizenRequestHandler, handleCommonResponse } from '../chunk-SBGLMAOP.js';
6
+ import '../chunk-Q227EJ6P.js';
7
+ import { ACTIONS } from '../chunk-KWHKLJVW.js';
8
8
  import '../chunk-5WRI5ZAA.js';
9
9
 
10
10
  // src/workers/recordDetail.worker.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kizenapps/engine",
3
- "version": "1.5.1",
3
+ "version": "1.5.2-065350b",
4
4
  "description": "Run JavaScript plugin apps inside Web Workers with host ↔ worker messaging",
5
5
  "license": "GPL-3.0",
6
6
  "type": "module",
@@ -75,8 +75,9 @@
75
75
  },
76
76
  "scripts": {
77
77
  "extract-translations": "i18next --config i18next-parser.config.cjs",
78
- "build": "pnpm run extract-translations && tsup && cp locales/en/translation.json dist/translation.json && cp -r src/scripts/ dist/scripts/",
78
+ "build": "pnpm run extract-translations && tsup && pnpm run copy:translations && pnpm run copy:scripts && pnpm run build:verify",
79
79
  "build:watch": "tsup --watch",
80
+ "build:verify": "node scripts/check-worker-bundles.js",
80
81
  "typecheck": "tsc --noEmit",
81
82
  "lint": "eslint src",
82
83
  "lint:fix": "eslint src --fix",
@@ -85,6 +86,8 @@
85
86
  "version:prerelease": "node scripts/version-prerelease.js",
86
87
  "version:check": "node scripts/version-release.js",
87
88
  "publish:prerelease": "pnpm run version:prerelease && pnpm publish --no-git-checks --access public --tag next",
88
- "merge-translations": "node dist/merge-translations.js"
89
+ "merge-translations": "node dist/merge-translations.js",
90
+ "copy:translations": "cp locales/en/translation.json dist/translation.json",
91
+ "copy:scripts": "cp -r src/scripts/ dist/scripts/"
89
92
  }
90
93
  }
@@ -1 +0,0 @@
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-PLPP66QJ.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"]}