@nocobase/plugin-flow-engine 2.0.0-alpha.19 → 2.0.0-alpha.20
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/externalVersion.js
CHANGED
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/client": "2.0.0-alpha.
|
|
11
|
+
"@nocobase/client": "2.0.0-alpha.20",
|
|
12
12
|
"lodash": "4.17.21",
|
|
13
|
-
"@nocobase/database": "2.0.0-alpha.
|
|
14
|
-
"@nocobase/data-source-manager": "2.0.0-alpha.
|
|
15
|
-
"@nocobase/resourcer": "2.0.0-alpha.
|
|
16
|
-
"@nocobase/server": "2.0.0-alpha.
|
|
17
|
-
"@nocobase/cache": "2.0.0-alpha.
|
|
18
|
-
"@nocobase/utils": "2.0.0-alpha.
|
|
19
|
-
"@nocobase/plugin-localization": "2.0.0-alpha.
|
|
20
|
-
"@nocobase/actions": "2.0.0-alpha.
|
|
13
|
+
"@nocobase/database": "2.0.0-alpha.20",
|
|
14
|
+
"@nocobase/data-source-manager": "2.0.0-alpha.20",
|
|
15
|
+
"@nocobase/resourcer": "2.0.0-alpha.20",
|
|
16
|
+
"@nocobase/server": "2.0.0-alpha.20",
|
|
17
|
+
"@nocobase/cache": "2.0.0-alpha.20",
|
|
18
|
+
"@nocobase/utils": "2.0.0-alpha.20",
|
|
19
|
+
"@nocobase/plugin-localization": "2.0.0-alpha.20",
|
|
20
|
+
"@nocobase/actions": "2.0.0-alpha.20"
|
|
21
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"ses","version":"1.14.0","description":"Hardened JavaScript for Fearless Cooperation","keywords":["lockdown","harden","Compartment","assert","security","confinement","isolation","object capabilities","ocaps","secure execution","third-party code","prototype pollution","supply-chain attack","plugin"],"author":"Agoric","license":"Apache-2.0","homepage":"https://github.com/Agoric/SES-shim/tree/master/packages/ses#readme","repository":{"type":"git","url":"git+https://github.com/endojs/endo.git","directory":"packages/ses"},"bugs":{"url":"https://github.com/endojs/endo/issues"},"type":"module","main":"./dist/ses.cjs","module":"./index.js","unpkg":"./dist/ses.umd.js","types":"./types.d.ts","exports":{".":{"import":{"types":"./types.d.ts","xs":"./src-xs/index.js","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./lockdown":{"import":{"types":"./types.d.ts","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./hermes":{"require":{"types":"./dist/types.d.cts","default":"./dist/ses-hermes.cjs"}},"./tools.js":"./tools.js","./assert-shim.js":"./assert-shim.js","./lockdown-shim.js":{"xs":"./src-xs/lockdown-shim.js","default":"./lockdown-shim.js"},"./compartment-shim.js":{"xs":"./src-xs/compartment-shim.js","default":"./compartment-shim.js"},"./console-shim.js":"./console-shim.js","./package.json":"./package.json"},"scripts":{"build:vanilla":"node scripts/bundle.js","build:hermes":"node scripts/bundle.js hermes","build":"yarn build:vanilla && yarn build:hermes","clean":"rm -rf dist","cover":"c8 ava","demo":"python3 -m http.server","lint":"yarn lint:types && yarn lint:eslint","lint-fix":"eslint --fix .","lint:eslint":"eslint .","lint:types":"tsc","prepare":"npm run clean && npm run build","qt":"ava","test":"tsd && ava","test:hermes":"./scripts/hermes-test.sh","test:xs":"xst dist/ses.umd.js test/_lockdown-safe.js && node scripts/generate-test-xs.js && xst tmp/test-xs.js && rm -rf tmp","postpack":"git clean -fX \"*.d.ts*\" \"*.d.cts*\" \"*.d.mts*\" \"*.tsbuildinfo\""},"dependencies":{"@endo/cache-map":"^1.1.0","@endo/env-options":"^1.1.11","@endo/immutable-arraybuffer":"^1.1.2"},"devDependencies":{"@babel/generator":"^7.26.3","@babel/parser":"~7.26.2","@babel/traverse":"~7.25.9","@babel/types":"~7.26.0","@endo/compartment-mapper":"^1.6.3","@endo/module-source":"^1.3.3","@endo/test262-runner":"^0.1.48","@types/babel__traverse":"^7.20.5","ava":"^6.1.3","babel-eslint":"^10.1.0","c8":"^7.14.0","core-js":"^3.31.0","eslint":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.31.0","hermes-engine-cli":"^0.12.0","prettier":"^3.5.3","terser":"^5.16.6","tsd":"^0.31.2","typescript":"~5.8.3"},"files":["./*.d.ts","./*.js","./*.map","LICENSE*","SECURITY*","dist","lib","src","tools"],"publishConfig":{"access":"public"},"eslintConfig":{"extends":["plugin:@endo/ses"]},"ava":{"files":["test/**/*.test.*"],"timeout":"2m"},"typeCoverage":{"atLeast":81.17},"gitHead":"9815aea9541f241389d2135c6097a7442bdffa17","_lastModified":"2025-10-
|
|
1
|
+
{"name":"ses","version":"1.14.0","description":"Hardened JavaScript for Fearless Cooperation","keywords":["lockdown","harden","Compartment","assert","security","confinement","isolation","object capabilities","ocaps","secure execution","third-party code","prototype pollution","supply-chain attack","plugin"],"author":"Agoric","license":"Apache-2.0","homepage":"https://github.com/Agoric/SES-shim/tree/master/packages/ses#readme","repository":{"type":"git","url":"git+https://github.com/endojs/endo.git","directory":"packages/ses"},"bugs":{"url":"https://github.com/endojs/endo/issues"},"type":"module","main":"./dist/ses.cjs","module":"./index.js","unpkg":"./dist/ses.umd.js","types":"./types.d.ts","exports":{".":{"import":{"types":"./types.d.ts","xs":"./src-xs/index.js","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./lockdown":{"import":{"types":"./types.d.ts","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./hermes":{"require":{"types":"./dist/types.d.cts","default":"./dist/ses-hermes.cjs"}},"./tools.js":"./tools.js","./assert-shim.js":"./assert-shim.js","./lockdown-shim.js":{"xs":"./src-xs/lockdown-shim.js","default":"./lockdown-shim.js"},"./compartment-shim.js":{"xs":"./src-xs/compartment-shim.js","default":"./compartment-shim.js"},"./console-shim.js":"./console-shim.js","./package.json":"./package.json"},"scripts":{"build:vanilla":"node scripts/bundle.js","build:hermes":"node scripts/bundle.js hermes","build":"yarn build:vanilla && yarn build:hermes","clean":"rm -rf dist","cover":"c8 ava","demo":"python3 -m http.server","lint":"yarn lint:types && yarn lint:eslint","lint-fix":"eslint --fix .","lint:eslint":"eslint .","lint:types":"tsc","prepare":"npm run clean && npm run build","qt":"ava","test":"tsd && ava","test:hermes":"./scripts/hermes-test.sh","test:xs":"xst dist/ses.umd.js test/_lockdown-safe.js && node scripts/generate-test-xs.js && xst tmp/test-xs.js && rm -rf tmp","postpack":"git clean -fX \"*.d.ts*\" \"*.d.cts*\" \"*.d.mts*\" \"*.tsbuildinfo\""},"dependencies":{"@endo/cache-map":"^1.1.0","@endo/env-options":"^1.1.11","@endo/immutable-arraybuffer":"^1.1.2"},"devDependencies":{"@babel/generator":"^7.26.3","@babel/parser":"~7.26.2","@babel/traverse":"~7.25.9","@babel/types":"~7.26.0","@endo/compartment-mapper":"^1.6.3","@endo/module-source":"^1.3.3","@endo/test262-runner":"^0.1.48","@types/babel__traverse":"^7.20.5","ava":"^6.1.3","babel-eslint":"^10.1.0","c8":"^7.14.0","core-js":"^3.31.0","eslint":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.31.0","hermes-engine-cli":"^0.12.0","prettier":"^3.5.3","terser":"^5.16.6","tsd":"^0.31.2","typescript":"~5.8.3"},"files":["./*.d.ts","./*.js","./*.map","LICENSE*","SECURITY*","dist","lib","src","tools"],"publishConfig":{"access":"public"},"eslintConfig":{"extends":["plugin:@endo/ses"]},"ava":{"files":["test/**/*.test.*"],"timeout":"2m"},"typeCoverage":{"atLeast":81.17},"gitHead":"9815aea9541f241389d2135c6097a7442bdffa17","_lastModified":"2025-10-23T00:53:44.685Z"}
|
|
@@ -194,13 +194,14 @@ async function fetchRecordWithRequestCache(koaCtx, dataSourceKey, collection, fi
|
|
|
194
194
|
submodule: "variables.resolve",
|
|
195
195
|
method: "fetchRecordWithRequestCache"
|
|
196
196
|
});
|
|
197
|
-
|
|
197
|
+
const errMsg = e instanceof Error ? e.message : String(e);
|
|
198
|
+
log == null ? void 0 : log.warn("[variables.resolve] fetchRecordWithRequestCache error", {
|
|
198
199
|
ds: dataSourceKey,
|
|
199
200
|
collection,
|
|
200
201
|
tk: filterByTk,
|
|
201
202
|
fields,
|
|
202
203
|
appends,
|
|
203
|
-
error:
|
|
204
|
+
error: errMsg
|
|
204
205
|
});
|
|
205
206
|
return void 0;
|
|
206
207
|
}
|
|
@@ -261,29 +262,34 @@ function attachGenericRecordVariables(flowCtx, koaCtx, usage, contextParams) {
|
|
|
261
262
|
segmentMap.set(seg, arr);
|
|
262
263
|
}
|
|
263
264
|
const segEntries = Array.from(segmentMap.entries());
|
|
264
|
-
const
|
|
265
|
+
const oneLevelRecordChildren = segEntries.filter(([seg]) => {
|
|
265
266
|
const idx = parseIndexSegment(seg);
|
|
266
267
|
const nestedObj = import_lodash.default.get(contextParams, [varName, seg]) ?? (idx ? import_lodash.default.get(contextParams, [varName, idx]) : void 0);
|
|
267
268
|
const dotted = (contextParams || {})[`${varName}.${seg}`] ?? (idx ? (contextParams || {})[`${varName}.${idx}`] : void 0);
|
|
268
269
|
return isRecordParams(nestedObj) || isRecordParams(dotted);
|
|
269
270
|
});
|
|
270
|
-
|
|
271
|
+
const deepRecordMap = /* @__PURE__ */ new Map();
|
|
272
|
+
const cp = contextParams;
|
|
273
|
+
if (cp && typeof cp === "object") {
|
|
274
|
+
const cpRec = cp;
|
|
275
|
+
for (const key of Object.keys(cpRec)) {
|
|
276
|
+
if (!key || key !== varName && !key.startsWith(`${varName}.`)) continue;
|
|
277
|
+
if (key === varName) continue;
|
|
278
|
+
const val = cpRec[key];
|
|
279
|
+
if (!isRecordParams(val)) continue;
|
|
280
|
+
const relative = key.slice(varName.length + 1);
|
|
281
|
+
if (!relative) continue;
|
|
282
|
+
deepRecordMap.set(relative, val);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
if (!oneLevelRecordChildren.length && deepRecordMap.size === 0) continue;
|
|
271
286
|
flowCtx.defineProperty(varName, {
|
|
272
287
|
get: () => {
|
|
273
|
-
const
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
if (!effRemainders.length) {
|
|
279
|
-
const all = usedPaths.map(
|
|
280
|
-
(p) => p.startsWith(`${seg}.`) ? p.slice(seg.length + 1) : p.startsWith(`${seg}[`) ? p.slice(seg.length) : ""
|
|
281
|
-
).filter((x) => !!x);
|
|
282
|
-
if (all.length) effRemainders = all;
|
|
283
|
-
}
|
|
284
|
-
const { generatedAppends, generatedFields } = inferSelectsFromUsage(effRemainders, recordParams);
|
|
285
|
-
const definitionKey = idx ?? seg;
|
|
286
|
-
subContext.defineProperty(definitionKey, {
|
|
288
|
+
const root = new import_contexts.ServerBaseContext();
|
|
289
|
+
const definedFirstLevel = /* @__PURE__ */ new Set();
|
|
290
|
+
const defineRecordGetter = (container, key, recordParams, subPaths = []) => {
|
|
291
|
+
const { generatedAppends, generatedFields } = inferSelectsFromUsage(subPaths, recordParams);
|
|
292
|
+
container.defineProperty(key, {
|
|
287
293
|
get: async () => {
|
|
288
294
|
const dataSourceKey = (recordParams == null ? void 0 : recordParams.dataSourceKey) || "main";
|
|
289
295
|
return await fetchRecordWithRequestCache(
|
|
@@ -297,8 +303,54 @@ function attachGenericRecordVariables(flowCtx, koaCtx, usage, contextParams) {
|
|
|
297
303
|
},
|
|
298
304
|
cache: true
|
|
299
305
|
});
|
|
306
|
+
};
|
|
307
|
+
const subContainers = /* @__PURE__ */ new Map();
|
|
308
|
+
const ensureSubContainer = (parent, key) => {
|
|
309
|
+
let map = subContainers.get(parent);
|
|
310
|
+
if (!map) {
|
|
311
|
+
map = /* @__PURE__ */ new Map();
|
|
312
|
+
subContainers.set(parent, map);
|
|
313
|
+
}
|
|
314
|
+
let child = map.get(key);
|
|
315
|
+
if (!child) {
|
|
316
|
+
const inst = new import_contexts.ServerBaseContext();
|
|
317
|
+
parent.defineProperty(key, { get: () => inst.createProxy(), cache: true });
|
|
318
|
+
map.set(key, inst);
|
|
319
|
+
child = inst;
|
|
320
|
+
}
|
|
321
|
+
return child;
|
|
322
|
+
};
|
|
323
|
+
for (const [seg, remainders] of oneLevelRecordChildren) {
|
|
324
|
+
const idx = parseIndexSegment(seg);
|
|
325
|
+
const recordParams = import_lodash.default.get(contextParams, [varName, seg]) ?? (idx ? import_lodash.default.get(contextParams, [varName, idx]) : void 0) ?? (contextParams || {})[`${varName}.${seg}`] ?? (idx ? (contextParams || {})[`${varName}.${idx}`] : void 0);
|
|
326
|
+
let effRemainders = (remainders || []).filter((r) => !!r);
|
|
327
|
+
if (!effRemainders.length) {
|
|
328
|
+
const all = usedPaths.map(
|
|
329
|
+
(p) => p.startsWith(`${seg}.`) ? p.slice(seg.length + 1) : p.startsWith(`${seg}[`) ? p.slice(seg.length) : ""
|
|
330
|
+
).filter((x) => !!x);
|
|
331
|
+
if (all.length) effRemainders = all;
|
|
332
|
+
}
|
|
333
|
+
defineRecordGetter(root, idx ?? seg, recordParams, effRemainders);
|
|
334
|
+
definedFirstLevel.add(idx ?? seg);
|
|
335
|
+
}
|
|
336
|
+
for (const [relative, recordParams] of deepRecordMap.entries()) {
|
|
337
|
+
const segs = String(relative).split(".").filter(Boolean);
|
|
338
|
+
if (segs.length === 0) continue;
|
|
339
|
+
const first = segs[0];
|
|
340
|
+
let container;
|
|
341
|
+
if (definedFirstLevel.has(first)) {
|
|
342
|
+
continue;
|
|
343
|
+
} else {
|
|
344
|
+
container = root;
|
|
345
|
+
for (let i = 0; i < segs.length - 1; i++) {
|
|
346
|
+
container = ensureSubContainer(container, segs[i]);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
const leaf = segs[segs.length - 1];
|
|
350
|
+
const subPaths = (usedPaths || []).map((p) => p === relative ? "" : p.startsWith(relative + ".") ? p.slice(relative.length + 1) : "").filter((x) => x !== "");
|
|
351
|
+
defineRecordGetter(container, leaf, recordParams, subPaths);
|
|
300
352
|
}
|
|
301
|
-
return
|
|
353
|
+
return root.createProxy();
|
|
302
354
|
},
|
|
303
355
|
cache: true
|
|
304
356
|
});
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"displayName.zh-CN": "前端流引擎",
|
|
5
5
|
"description": "",
|
|
6
6
|
"description.zh-CN": "",
|
|
7
|
-
"version": "2.0.0-alpha.
|
|
7
|
+
"version": "2.0.0-alpha.20",
|
|
8
8
|
"main": "./dist/server/index.js",
|
|
9
9
|
"license": "AGPL-3.0",
|
|
10
10
|
"devDependencies": {
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"@nocobase/test": "2.x",
|
|
25
25
|
"@nocobase/utils": "2.x"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "af5ff4eaa490349420135405128da466d72ac74c"
|
|
28
28
|
}
|