@nocobase/plugin-flow-engine 2.0.0-alpha.10
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 +661 -0
- package/README.md +29 -0
- package/build.config.ts +22 -0
- package/client.d.ts +2 -0
- package/client.js +1 -0
- package/dist/client/index.d.ts +15 -0
- package/dist/client/index.js +10 -0
- package/dist/externalVersion.js +21 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +48 -0
- package/dist/locale/en-US.json +61 -0
- package/dist/locale/index.d.ts +141 -0
- package/dist/locale/index.js +79 -0
- package/dist/locale/zh-CN.json +61 -0
- package/dist/node_modules/ses/LICENSE +201 -0
- package/dist/node_modules/ses/LICENSE-aura +16 -0
- package/dist/node_modules/ses/LICENSE-caja +13 -0
- package/dist/node_modules/ses/LICENSE-corejs +19 -0
- package/dist/node_modules/ses/LICENSE-v8 +9 -0
- package/dist/node_modules/ses/assert-shim.js +1 -0
- package/dist/node_modules/ses/compartment-shim.js +1 -0
- package/dist/node_modules/ses/console-shim.js +1 -0
- package/dist/node_modules/ses/dist/lockdown.cjs +13912 -0
- package/dist/node_modules/ses/dist/lockdown.umd.js +13912 -0
- package/dist/node_modules/ses/dist/lockdown.umd.min.js +1 -0
- package/dist/node_modules/ses/dist/ses-hermes.cjs +13912 -0
- package/dist/node_modules/ses/dist/ses.cjs +1 -0
- package/dist/node_modules/ses/dist/ses.umd.js +13912 -0
- package/dist/node_modules/ses/dist/ses.umd.min.js +1 -0
- package/dist/node_modules/ses/dist/types.d.cts +606 -0
- package/dist/node_modules/ses/index.js +18 -0
- package/dist/node_modules/ses/lockdown-shim.js +1 -0
- package/dist/node_modules/ses/lockdown.js +1 -0
- package/dist/node_modules/ses/package.json +1 -0
- package/dist/node_modules/ses/src/assert-shim.js +4 -0
- package/dist/node_modules/ses/src/assert-sloppy-mode.js +11 -0
- package/dist/node_modules/ses/src/cauterize-property.js +69 -0
- package/dist/node_modules/ses/src/commons.js +425 -0
- package/dist/node_modules/ses/src/compartment-evaluate.js +93 -0
- package/dist/node_modules/ses/src/compartment-shim.js +22 -0
- package/dist/node_modules/ses/src/compartment.js +477 -0
- package/dist/node_modules/ses/src/console-shim.js +50 -0
- package/dist/node_modules/ses/src/enable-property-overrides.js +211 -0
- package/dist/node_modules/ses/src/enablements.js +244 -0
- package/dist/node_modules/ses/src/error/assert.js +584 -0
- package/dist/node_modules/ses/src/error/console.js +541 -0
- package/dist/node_modules/ses/src/error/fatal-assert.js +54 -0
- package/dist/node_modules/ses/src/error/internal-types.js +98 -0
- package/dist/node_modules/ses/src/error/note-log-args.js +77 -0
- package/dist/node_modules/ses/src/error/stringify-utils.js +195 -0
- package/dist/node_modules/ses/src/error/tame-console.js +197 -0
- package/dist/node_modules/ses/src/error/tame-error-constructor.js +284 -0
- package/dist/node_modules/ses/src/error/tame-v8-error-constructor.js +386 -0
- package/dist/node_modules/ses/src/error/types.js +59 -0
- package/dist/node_modules/ses/src/error/unhandled-rejection.js +122 -0
- package/dist/node_modules/ses/src/eval-scope.js +89 -0
- package/dist/node_modules/ses/src/get-anonymous-intrinsics.js +181 -0
- package/dist/node_modules/ses/src/get-source-url.js +50 -0
- package/dist/node_modules/ses/src/global-object.js +175 -0
- package/dist/node_modules/ses/src/intrinsics.js +192 -0
- package/dist/node_modules/ses/src/lockdown-shim.js +37 -0
- package/dist/node_modules/ses/src/lockdown.js +558 -0
- package/dist/node_modules/ses/src/make-eval-function.js +28 -0
- package/dist/node_modules/ses/src/make-evaluate.js +110 -0
- package/dist/node_modules/ses/src/make-function-constructor.js +79 -0
- package/dist/node_modules/ses/src/make-hardener.js +275 -0
- package/dist/node_modules/ses/src/make-safe-evaluator.js +112 -0
- package/dist/node_modules/ses/src/module-instance.js +497 -0
- package/dist/node_modules/ses/src/module-link.js +159 -0
- package/dist/node_modules/ses/src/module-load.js +719 -0
- package/dist/node_modules/ses/src/module-proxy.js +200 -0
- package/dist/node_modules/ses/src/permits-intrinsics.js +291 -0
- package/dist/node_modules/ses/src/permits.js +1761 -0
- package/dist/node_modules/ses/src/reporting-types.d.ts +13 -0
- package/dist/node_modules/ses/src/reporting.js +105 -0
- package/dist/node_modules/ses/src/scope-constants.js +180 -0
- package/dist/node_modules/ses/src/shim-arraybuffer-transfer.js +85 -0
- package/dist/node_modules/ses/src/sloppy-globals-scope-terminator.js +61 -0
- package/dist/node_modules/ses/src/strict-scope-terminator.js +99 -0
- package/dist/node_modules/ses/src/tame-date-constructor.js +127 -0
- package/dist/node_modules/ses/src/tame-domains.js +41 -0
- package/dist/node_modules/ses/src/tame-faux-data-properties.js +210 -0
- package/dist/node_modules/ses/src/tame-function-constructors.js +140 -0
- package/dist/node_modules/ses/src/tame-function-tostring.js +50 -0
- package/dist/node_modules/ses/src/tame-harden.js +29 -0
- package/dist/node_modules/ses/src/tame-locale-methods.js +78 -0
- package/dist/node_modules/ses/src/tame-math-object.js +41 -0
- package/dist/node_modules/ses/src/tame-module-source.js +51 -0
- package/dist/node_modules/ses/src/tame-regenerator-runtime.js +29 -0
- package/dist/node_modules/ses/src/tame-regexp-constructor.js +65 -0
- package/dist/node_modules/ses/src/tame-symbol-constructor.js +64 -0
- package/dist/node_modules/ses/src/transforms.js +267 -0
- package/dist/node_modules/ses/tools.js +25 -0
- package/dist/node_modules/ses/types.d.ts +606 -0
- package/dist/server/actions/ui-schema-action.d.ts +27 -0
- package/dist/server/actions/ui-schema-action.js +118 -0
- package/dist/server/collections/flowModelTreePath.d.ts +11 -0
- package/dist/server/collections/flowModelTreePath.js +74 -0
- package/dist/server/collections/flowModels.d.ts +11 -0
- package/dist/server/collections/flowModels.js +57 -0
- package/dist/server/collections/flowsql.d.ts +10 -0
- package/dist/server/collections/flowsql.js +51 -0
- package/dist/server/dao/ui_schema_node_dao.d.ts +26 -0
- package/dist/server/dao/ui_schema_node_dao.js +24 -0
- package/dist/server/helper.d.ts +8 -0
- package/dist/server/helper.js +9 -0
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.js +42 -0
- package/dist/server/model.d.ts +12 -0
- package/dist/server/model.js +38 -0
- package/dist/server/plugin.d.ts +25 -0
- package/dist/server/plugin.js +191 -0
- package/dist/server/repository.d.ts +116 -0
- package/dist/server/repository.js +1209 -0
- package/dist/server/server.d.ts +16 -0
- package/dist/server/server.js +198 -0
- package/dist/server/template/contexts.d.ts +73 -0
- package/dist/server/template/contexts.js +233 -0
- package/dist/server/template/resolver.d.ts +30 -0
- package/dist/server/template/resolver.js +225 -0
- package/dist/server/variables/registry.d.ts +52 -0
- package/dist/server/variables/registry.js +333 -0
- package/dist/server/variables/utils.d.ts +17 -0
- package/dist/server/variables/utils.js +113 -0
- package/package.json +28 -0
- package/server.d.ts +2 -0
- package/server.js +1 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var utils_exports = {};
|
|
28
|
+
__export(utils_exports, {
|
|
29
|
+
prefetchRecordsForResolve: () => prefetchRecordsForResolve
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(utils_exports);
|
|
32
|
+
var import_registry = require("./registry");
|
|
33
|
+
async function prefetchRecordsForResolve(koaCtx, items) {
|
|
34
|
+
var _a, _b, _c, _d, _e, _f;
|
|
35
|
+
try {
|
|
36
|
+
const log = (_b = (_a = koaCtx.app) == null ? void 0 : _a.logger) == null ? void 0 : _b.child({ module: "plugin-flow-engine", submodule: "variables.prefetch" });
|
|
37
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
38
|
+
const ensureGroup = (dataSourceKey, collection, filterByTk) => {
|
|
39
|
+
const groupKey = JSON.stringify({ ds: dataSourceKey, collection, tk: filterByTk });
|
|
40
|
+
let group = groupMap.get(groupKey);
|
|
41
|
+
if (!group) {
|
|
42
|
+
group = { dataSourceKey, collection, filterByTk, fields: /* @__PURE__ */ new Set(), appends: /* @__PURE__ */ new Set() };
|
|
43
|
+
groupMap.set(groupKey, group);
|
|
44
|
+
}
|
|
45
|
+
return group;
|
|
46
|
+
};
|
|
47
|
+
const normalizeNestedSeg = (segment) => /^\d+$/.test(segment) ? `[${segment}]` : segment;
|
|
48
|
+
for (const it of items) {
|
|
49
|
+
const template = (it == null ? void 0 : it.template) ?? {};
|
|
50
|
+
const contextParams = (it == null ? void 0 : it.contextParams) || {};
|
|
51
|
+
const usage = import_registry.variables.extractUsage(template);
|
|
52
|
+
for (const [cpKey, recordParams] of Object.entries(contextParams)) {
|
|
53
|
+
const parts = String(cpKey).split(".");
|
|
54
|
+
const varName = parts[0];
|
|
55
|
+
const nestedSeg = parts.slice(1).join(".");
|
|
56
|
+
const paths = (usage == null ? void 0 : usage[varName]) || [];
|
|
57
|
+
if (!paths.length) continue;
|
|
58
|
+
const segNorm = nestedSeg ? normalizeNestedSeg(nestedSeg) : "";
|
|
59
|
+
const remainders = [];
|
|
60
|
+
for (const p of paths) {
|
|
61
|
+
if (!segNorm) remainders.push(p);
|
|
62
|
+
else if (p === segNorm) remainders.push("");
|
|
63
|
+
else if (p.startsWith(`${segNorm}.`) || p.startsWith(`${segNorm}[`))
|
|
64
|
+
remainders.push(p.slice(segNorm.length + 1));
|
|
65
|
+
}
|
|
66
|
+
if (!remainders.length) continue;
|
|
67
|
+
const dataSourceKey = (recordParams == null ? void 0 : recordParams.dataSourceKey) || "main";
|
|
68
|
+
const collection = recordParams == null ? void 0 : recordParams.collection;
|
|
69
|
+
const filterByTk = recordParams == null ? void 0 : recordParams.filterByTk;
|
|
70
|
+
if (!collection || typeof filterByTk === "undefined") continue;
|
|
71
|
+
const group = ensureGroup(dataSourceKey, collection, filterByTk);
|
|
72
|
+
const { generatedAppends, generatedFields } = (0, import_registry.inferSelectsFromUsage)(remainders);
|
|
73
|
+
if (generatedFields == null ? void 0 : generatedFields.length) generatedFields.forEach((f) => group.fields.add(f));
|
|
74
|
+
if (generatedAppends == null ? void 0 : generatedAppends.length) generatedAppends.forEach((a) => group.appends.add(a));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (!groupMap.size) return;
|
|
78
|
+
const stateObj = koaCtx.state;
|
|
79
|
+
if (stateObj && !stateObj["__varResolveBatchCache"]) {
|
|
80
|
+
stateObj["__varResolveBatchCache"] = /* @__PURE__ */ new Map();
|
|
81
|
+
}
|
|
82
|
+
const cache = (_c = koaCtx.state) == null ? void 0 : _c["__varResolveBatchCache"];
|
|
83
|
+
for (const { dataSourceKey, collection, filterByTk, fields, appends } of groupMap.values()) {
|
|
84
|
+
try {
|
|
85
|
+
const ds = koaCtx.app.dataSourceManager.get(dataSourceKey);
|
|
86
|
+
const cm = ds.collectionManager;
|
|
87
|
+
if (!(cm == null ? void 0 : cm.db)) continue;
|
|
88
|
+
const repo = cm.db.getRepository(collection);
|
|
89
|
+
const fld = fields.size ? Array.from(fields).sort() : void 0;
|
|
90
|
+
const app = appends.size ? Array.from(appends).sort() : void 0;
|
|
91
|
+
const rec = await repo.findOne({ filterByTk, fields: fld, appends: app });
|
|
92
|
+
const json = rec ? rec.toJSON() : void 0;
|
|
93
|
+
if (cache) {
|
|
94
|
+
const key = JSON.stringify({ ds: dataSourceKey, c: collection, tk: filterByTk, f: fld, a: app });
|
|
95
|
+
cache.set(key, json);
|
|
96
|
+
}
|
|
97
|
+
} catch (e) {
|
|
98
|
+
log == null ? void 0 : log.debug("[variables.resolve] prefetch query error", {
|
|
99
|
+
ds: dataSourceKey,
|
|
100
|
+
collection,
|
|
101
|
+
tk: filterByTk,
|
|
102
|
+
error: (e == null ? void 0 : e.message) || String(e)
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
} catch (e) {
|
|
107
|
+
(_f = (_e = (_d = koaCtx.app) == null ? void 0 : _d.logger) == null ? void 0 : _e.child({ module: "plugin-flow-engine", submodule: "variables.prefetch" })) == null ? void 0 : _f.debug("[variables.resolve] prefetch fatal error", { error: (e == null ? void 0 : e.message) || String(e) });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
111
|
+
0 && (module.exports = {
|
|
112
|
+
prefetchRecordsForResolve
|
|
113
|
+
});
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nocobase/plugin-flow-engine",
|
|
3
|
+
"displayName": "Flow engine",
|
|
4
|
+
"displayName.zh-CN": "前端流引擎",
|
|
5
|
+
"description": "",
|
|
6
|
+
"description.zh-CN": "",
|
|
7
|
+
"version": "2.0.0-alpha.10",
|
|
8
|
+
"main": "./dist/server/index.js",
|
|
9
|
+
"license": "AGPL-3.0",
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"antd": "5.x",
|
|
12
|
+
"cronstrue": "^2.11.0",
|
|
13
|
+
"koa-send": "^5.0.1",
|
|
14
|
+
"koa-static": "^5.0.0"
|
|
15
|
+
},
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"ses": "^1.14.0"
|
|
18
|
+
},
|
|
19
|
+
"peerDependencies": {
|
|
20
|
+
"@nocobase/client": "2.x",
|
|
21
|
+
"@nocobase/database": "2.x",
|
|
22
|
+
"@nocobase/plugin-localization": "2.x",
|
|
23
|
+
"@nocobase/server": "2.x",
|
|
24
|
+
"@nocobase/test": "2.x",
|
|
25
|
+
"@nocobase/utils": "2.x"
|
|
26
|
+
},
|
|
27
|
+
"gitHead": "6422cfb6fa6c8450de2efa3294fd29a28b228990"
|
|
28
|
+
}
|
package/server.d.ts
ADDED
package/server.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./dist/server/index.js');
|