@lcap/nasl 4.1.0-beta.2 → 4.1.0-beta.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.
Files changed (80) hide show
  1. package/out/generator/genBundleFiles.d.ts.map +1 -1
  2. package/out/generator/genBundleFiles.js +18 -116
  3. package/out/generator/genBundleFiles.js.map +1 -1
  4. package/out/generator/permission.d.ts.map +1 -1
  5. package/out/generator/permission.js +70 -34
  6. package/out/generator/permission.js.map +1 -1
  7. package/out/generator/release-body/body.d.ts +5 -3
  8. package/out/generator/release-body/body.d.ts.map +1 -1
  9. package/out/generator/release-body/body.js +395 -392
  10. package/out/generator/release-body/body.js.map +1 -1
  11. package/out/generator/release-body/data.d.ts +4 -2
  12. package/out/generator/release-body/data.d.ts.map +1 -1
  13. package/out/generator/release-body/data.js +67 -52
  14. package/out/generator/release-body/data.js.map +1 -1
  15. package/out/generator/release-body/index.d.ts +1 -0
  16. package/out/generator/release-body/index.d.ts.map +1 -1
  17. package/out/generator/release-body/index.js +1 -0
  18. package/out/generator/release-body/index.js.map +1 -1
  19. package/out/generator/release-body/memory-optimization.d.ts +47 -0
  20. package/out/generator/release-body/memory-optimization.d.ts.map +1 -0
  21. package/out/generator/release-body/memory-optimization.js +267 -0
  22. package/out/generator/release-body/memory-optimization.js.map +1 -0
  23. package/out/generator/release-body/utils.d.ts +11 -4
  24. package/out/generator/release-body/utils.d.ts.map +1 -1
  25. package/out/generator/release-body/utils.js +55 -23
  26. package/out/generator/release-body/utils.js.map +1 -1
  27. package/out/generator/ui-library-declaration/basic.d.ts.map +1 -1
  28. package/out/generator/ui-library-declaration/basic.js +6 -0
  29. package/out/generator/ui-library-declaration/basic.js.map +1 -1
  30. package/out/generator/ui-library-declaration/dependency.d.ts.map +1 -1
  31. package/out/generator/ui-library-declaration/dependency.js +2 -0
  32. package/out/generator/ui-library-declaration/dependency.js.map +1 -1
  33. package/out/generator/ui-library-declaration/types.d.ts +2 -0
  34. package/out/generator/ui-library-declaration/types.d.ts.map +1 -1
  35. package/out/index.d.ts +1 -1
  36. package/out/index.d.ts.map +1 -1
  37. package/out/index.js +3 -1
  38. package/out/index.js.map +1 -1
  39. package/out/natural/transforms/transform2LogicItem.d.ts +2 -1
  40. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  41. package/out/natural/transforms/transform2LogicItem.js +92 -13
  42. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  43. package/out/natural/transforms/utils.d.ts +1 -1
  44. package/out/natural/transforms/utils.d.ts.map +1 -1
  45. package/out/natural/transforms/utils.js +10 -4
  46. package/out/natural/transforms/utils.js.map +1 -1
  47. package/out/server/client/nasl-server-client.d.ts +7 -0
  48. package/out/server/client/nasl-server-client.d.ts.map +1 -0
  49. package/out/server/client/nasl-server-client.js +9 -0
  50. package/out/server/client/nasl-server-client.js.map +1 -0
  51. package/out/server/extendBaseNode.d.ts.map +1 -1
  52. package/out/server/extendBaseNode.js +19 -10
  53. package/out/server/extendBaseNode.js.map +1 -1
  54. package/out/server/findReference.d.ts.map +1 -1
  55. package/out/server/findReference.js +5 -1
  56. package/out/server/findReference.js.map +1 -1
  57. package/out/server/index.d.ts +0 -1
  58. package/out/server/index.d.ts.map +1 -1
  59. package/out/server/index.js +1 -2
  60. package/out/server/index.js.map +1 -1
  61. package/out/server/naslServer.d.ts +9 -11
  62. package/out/server/naslServer.d.ts.map +1 -1
  63. package/out/server/naslServer.js +121 -109
  64. package/out/server/naslServer.js.map +1 -1
  65. package/out/service/storage/api.d.ts +13 -4
  66. package/out/service/storage/api.js +6 -0
  67. package/out/service/storage/api.js.map +1 -1
  68. package/out/service/storage/init.d.ts +11 -0
  69. package/out/service/storage/init.d.ts.map +1 -1
  70. package/out/service/storage/init.js +43 -18
  71. package/out/service/storage/init.js.map +1 -1
  72. package/out/service/storage/service.d.ts +9 -0
  73. package/out/service/storage/service.d.ts.map +1 -1
  74. package/out/service/storage/service.js +17 -0
  75. package/out/service/storage/service.js.map +1 -1
  76. package/out/templator/utils.d.ts.map +1 -1
  77. package/out/templator/utils.js +1 -0
  78. package/out/templator/utils.js.map +1 -1
  79. package/package.json +11 -12
  80. package/sandbox/stdlib/nasl.util.ts +18 -4
@@ -23,13 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.replaceAssetsPrefix = exports.genReleaseBodyForParallel = exports.genReleaseBody = exports.getFrontendBundleFiles = exports.getNaslAnnotatedJSONFile = exports.addEntityToNaslAnnotatedJSON = exports.__getNaslAnnotatedJSON = exports.replaceAssets = exports.replaceFrontendTypesAssets = void 0;
26
+ exports.replaceAssetsPrefix = exports.genReleaseBodyForParallel = exports.genReleaseBody = exports.getFrontendBundleFiles = exports.getNaslAnnotatedJSONFile = exports.addEntityToDefaultDS = exports.__getNaslAnnotatedJSON = exports.replaceAssets = exports.replaceFrontendTypesAssets = void 0;
27
27
  const concepts_1 = require("../../concepts");
28
28
  const genBundleFiles_1 = require("../genBundleFiles");
29
29
  const is_view_logic_1 = require("../../service/instruct-ruler/rules/is-view-logic");
30
30
  const utils_1 = require("./utils");
31
31
  const permission_1 = require("../permission");
32
32
  const validation_1 = require("./validation");
33
+ const memory_optimization_1 = require("./memory-optimization");
33
34
  const utils = __importStar(require("../../utils"));
34
35
  const config_1 = require("../../config");
35
36
  const share_content_1 = require("./share-content");
@@ -61,11 +62,10 @@ function replaceAssets(app, json, opt) {
61
62
  });
62
63
  });
63
64
  }
64
- const assets = opt?.assets ?? [];
65
65
  if (opt?.isExport) {
66
+ const assetsMap = opt.assetsMap;
66
67
  // 导出前端源码+后端源码
67
- if (opt?.ignoreFiles && Array.isArray(assets) && assets.length) {
68
- const assetsMap = opt.assetsMap;
68
+ if (opt?.ignoreFiles && assetsMap?.size) {
69
69
  // 正则
70
70
  const regex = utils.MediaURLOrPathRegex;
71
71
  /**
@@ -118,13 +118,16 @@ function replaceAssets(app, json, opt) {
118
118
  exports.replaceAssets = replaceAssets;
119
119
  /** 获取全量标注数据 */
120
120
  async function __getNaslAnnotatedJSON(app, opt) {
121
- let NaslAnnotatedJSON;
121
+ let json;
122
122
  try {
123
- NaslAnnotatedJSON = await app.naslServer.fastGetNaslAnnotatedJSON(app);
124
- await opt?.logPublishFunc?.('语言', '获取全量类型标注成功');
123
+ json = await app.naslServer.fastGetNaslAnnotatedJSON(app);
124
+ await opt?.logPublishFunc?.('准备数据', '【语言】获取全量类型标注成功');
125
+ // Memory optimization is now integrated into the annotation process
126
+ // No need for separate compaction step - saves memory and time
127
+ // await opt?.logPublishFunc?.('准备数据', '【优化】内存优化已集成到标注过程');
125
128
  // 打印传给服务端的 nasl,为了服务端排查问题方便
126
129
  if (utils.isDebugMode) {
127
- console.dir(NaslAnnotatedJSON, '标注后的nasl');
130
+ console.dir(json, '标注后的nasl');
128
131
  }
129
132
  }
130
133
  catch (err) {
@@ -132,403 +135,400 @@ async function __getNaslAnnotatedJSON(app, opt) {
132
135
  throw err;
133
136
  }
134
137
  app.curDeployEnv = opt?.env;
135
- replaceAssets(app, NaslAnnotatedJSON, opt);
136
- await opt?.logPublishFunc?.('资源', '前端静态资源替换完成');
137
- return NaslAnnotatedJSON;
138
+ replaceAssets(app, json, opt);
139
+ await opt?.logPublishFunc?.('准备数据', '【资源】前端静态资源替换完成');
140
+ return json;
138
141
  }
139
142
  exports.__getNaslAnnotatedJSON = __getNaslAnnotatedJSON;
140
143
  // 暂时发布的时候加一个实体
141
144
  // 为了服务端发布,使用文件系统,标注的nasl 强制增加一个
142
145
  // 服务端承诺 2024年10月份会挪走, @钟春燕 @杨剑飞
143
- function addEntityToNaslAnnotatedJSON(app, NaslAnnotatedJSON, validations) {
144
- if (Object.keys(validations?.downloadFileTasks || {}).length) {
145
- const defaultDS = NaslAnnotatedJSON.dataSources.find((item) => item.name === 'defaultDS');
146
- const tableName = 'lcap_async_task_' + (app.id || '').slice(0, 6);
147
- defaultDS.entities.push({
148
- "concept": "Entity",
149
- "name": "LCAPAsyncTask",
150
- "uuid": "fe2cef1efd9c4189951b1f0bb6eacf11",
151
- "tableName": tableName,
152
- "description": null,
153
- "origin": "ide",
154
- "composedBy": null,
155
- "properties": [
156
- {
157
- "concept": "EntityProperty",
158
- "name": "id",
159
- "uuid": "af657c05c1e545769887cfd2104257bb",
160
- "columnName": "id",
161
- "label": "主键",
162
- "description": "主键",
163
- "required": true,
164
- "primaryKey": true,
165
- "relationNamespace": null,
166
- "relationEntity": null,
167
- "relationProperty": null,
168
- "deleteRule": null,
169
- "display": {
170
- "inTable": false,
171
- "inFilter": false,
172
- "inForm": false,
173
- "inDetail": false
174
- },
175
- "rules": [],
176
- "generationRule": "auto",
177
- "sequence": "Entity11299220825",
178
- "composedBy": null,
179
- "typeAnnotation": {
180
- "concept": "TypeAnnotation",
181
- "typeKind": "primitive",
182
- "typeNamespace": "nasl.core",
183
- "typeName": "Long"
184
- },
185
- "databaseTypeAnnotation": null,
186
- "defaultValue": null
146
+ function addEntityToDefaultDS(app, defaultDS) {
147
+ const tableName = 'lcap_async_task_' + (app.id || '').slice(0, 6);
148
+ defaultDS.entities.push({
149
+ "concept": "Entity",
150
+ "name": "LCAPAsyncTask",
151
+ "uuid": "fe2cef1efd9c4189951b1f0bb6eacf11",
152
+ "tableName": tableName,
153
+ "description": null,
154
+ "origin": "ide",
155
+ "composedBy": null,
156
+ "properties": [
157
+ {
158
+ "concept": "EntityProperty",
159
+ "name": "id",
160
+ "uuid": "af657c05c1e545769887cfd2104257bb",
161
+ "columnName": "id",
162
+ "label": "主键",
163
+ "description": "主键",
164
+ "required": true,
165
+ "primaryKey": true,
166
+ "relationNamespace": null,
167
+ "relationEntity": null,
168
+ "relationProperty": null,
169
+ "deleteRule": null,
170
+ "display": {
171
+ "inTable": false,
172
+ "inFilter": false,
173
+ "inForm": false,
174
+ "inDetail": false
187
175
  },
188
- {
189
- "concept": "EntityProperty",
190
- "name": "task_id",
191
- "uuid": "1ee6f95909b34416bc091775766e9733",
192
- "columnName": "task_id",
193
- "label": "任务id",
194
- "description": null,
195
- "required": true,
196
- "primaryKey": false,
197
- "relationNamespace": null,
198
- "relationEntity": null,
199
- "relationProperty": null,
200
- "deleteRule": null,
201
- "display": {
202
- "inTable": true,
203
- "inFilter": true,
204
- "inForm": true,
205
- "inDetail": true
206
- },
207
- "rules": [],
208
- "generationRule": "manual",
209
- "sequence": null,
210
- "composedBy": null,
211
- "typeAnnotation": {
212
- "concept": "TypeAnnotation",
213
- "typeKind": "primitive",
214
- "typeNamespace": "nasl.core",
215
- "typeName": "String"
216
- },
217
- "databaseTypeAnnotation": null,
218
- "defaultValue": null
176
+ "rules": [],
177
+ "generationRule": "auto",
178
+ "sequence": "Entity11299220825",
179
+ "composedBy": null,
180
+ "typeAnnotation": {
181
+ "concept": "TypeAnnotation",
182
+ "typeKind": "primitive",
183
+ "typeNamespace": "nasl.core",
184
+ "typeName": "Long"
219
185
  },
220
- {
221
- "concept": "EntityProperty",
222
- "name": "task_status",
223
- "uuid": "4b11c717968d43e7a5dccb329d444cc1",
224
- "columnName": "task_status",
225
- "label": "任务状态",
226
- "description": null,
227
- "required": true,
228
- "primaryKey": false,
229
- "relationNamespace": null,
230
- "relationEntity": null,
231
- "relationProperty": null,
232
- "deleteRule": null,
233
- "display": {
234
- "inTable": true,
235
- "inFilter": true,
236
- "inForm": true,
237
- "inDetail": true
238
- },
239
- "rules": [],
240
- "generationRule": "manual",
241
- "sequence": null,
242
- "composedBy": null,
243
- "typeAnnotation": {
244
- "concept": "TypeAnnotation",
245
- "typeKind": "primitive",
246
- "typeNamespace": "nasl.core",
247
- "typeName": "String"
248
- },
249
- "databaseTypeAnnotation": null,
250
- "defaultValue": null
186
+ "databaseTypeAnnotation": null,
187
+ "defaultValue": null
188
+ },
189
+ {
190
+ "concept": "EntityProperty",
191
+ "name": "task_id",
192
+ "uuid": "1ee6f95909b34416bc091775766e9733",
193
+ "columnName": "task_id",
194
+ "label": "任务id",
195
+ "description": null,
196
+ "required": true,
197
+ "primaryKey": false,
198
+ "relationNamespace": null,
199
+ "relationEntity": null,
200
+ "relationProperty": null,
201
+ "deleteRule": null,
202
+ "display": {
203
+ "inTable": true,
204
+ "inFilter": true,
205
+ "inForm": true,
206
+ "inDetail": true
251
207
  },
252
- {
253
- "concept": "EntityProperty",
254
- "name": "task_name",
255
- "uuid": "e069c6541835457483a37df8c0cdafc0",
256
- "columnName": "task_name",
257
- "label": "任务名称",
258
- "description": null,
259
- "required": true,
260
- "primaryKey": false,
261
- "relationNamespace": null,
262
- "relationEntity": null,
263
- "relationProperty": null,
264
- "deleteRule": null,
265
- "display": {
266
- "inTable": true,
267
- "inFilter": true,
268
- "inForm": true,
269
- "inDetail": true
270
- },
271
- "rules": [],
272
- "generationRule": "manual",
273
- "sequence": null,
274
- "composedBy": null,
275
- "typeAnnotation": {
276
- "concept": "TypeAnnotation",
277
- "typeKind": "primitive",
278
- "typeNamespace": "nasl.core",
279
- "typeName": "String"
280
- },
281
- "databaseTypeAnnotation": null,
282
- "defaultValue": null
208
+ "rules": [],
209
+ "generationRule": "manual",
210
+ "sequence": null,
211
+ "composedBy": null,
212
+ "typeAnnotation": {
213
+ "concept": "TypeAnnotation",
214
+ "typeKind": "primitive",
215
+ "typeNamespace": "nasl.core",
216
+ "typeName": "String"
283
217
  },
284
- {
285
- "concept": "EntityProperty",
286
- "name": "result",
287
- "uuid": "6a6a3b70e5d04831a1da89e6d72b445c",
288
- "columnName": "result",
289
- "label": "任务结果",
290
- "description": null,
291
- "required": false,
292
- "primaryKey": false,
293
- "relationNamespace": null,
294
- "relationEntity": null,
295
- "relationProperty": null,
296
- "deleteRule": null,
297
- "display": {
298
- "inTable": true,
299
- "inFilter": true,
300
- "inForm": true,
301
- "inDetail": true
302
- },
303
- "rules": [
304
- "maxLength(16777215)"
305
- ],
306
- "generationRule": "manual",
307
- "sequence": null,
308
- "composedBy": null,
309
- "typeAnnotation": {
310
- "concept": "TypeAnnotation",
311
- "typeKind": "primitive",
312
- "typeNamespace": "nasl.core",
313
- "typeName": "String"
314
- },
315
- "databaseTypeAnnotation": null,
316
- "defaultValue": null
218
+ "databaseTypeAnnotation": null,
219
+ "defaultValue": null
220
+ },
221
+ {
222
+ "concept": "EntityProperty",
223
+ "name": "task_status",
224
+ "uuid": "4b11c717968d43e7a5dccb329d444cc1",
225
+ "columnName": "task_status",
226
+ "label": "任务状态",
227
+ "description": null,
228
+ "required": true,
229
+ "primaryKey": false,
230
+ "relationNamespace": null,
231
+ "relationEntity": null,
232
+ "relationProperty": null,
233
+ "deleteRule": null,
234
+ "display": {
235
+ "inTable": true,
236
+ "inFilter": true,
237
+ "inForm": true,
238
+ "inDetail": true
317
239
  },
318
- {
319
- "concept": "EntityProperty",
320
- "name": "error_msg",
321
- "uuid": "7c1c143003784277882b044aa88224d9",
322
- "columnName": "error_msg",
323
- "label": "任务异常信息",
324
- "description": null,
325
- "required": false,
326
- "primaryKey": false,
327
- "relationNamespace": null,
328
- "relationEntity": null,
329
- "relationProperty": null,
330
- "deleteRule": null,
331
- "display": {
332
- "inTable": true,
333
- "inFilter": true,
334
- "inForm": true,
335
- "inDetail": true
336
- },
337
- "rules": [
338
- "maxLength(16777215)"
339
- ],
340
- "generationRule": "manual",
341
- "sequence": null,
342
- "composedBy": null,
343
- "typeAnnotation": {
344
- "concept": "TypeAnnotation",
345
- "typeKind": "primitive",
346
- "typeNamespace": "nasl.core",
347
- "typeName": "String"
348
- },
349
- "databaseTypeAnnotation": null,
350
- "defaultValue": null
240
+ "rules": [],
241
+ "generationRule": "manual",
242
+ "sequence": null,
243
+ "composedBy": null,
244
+ "typeAnnotation": {
245
+ "concept": "TypeAnnotation",
246
+ "typeKind": "primitive",
247
+ "typeNamespace": "nasl.core",
248
+ "typeName": "String"
351
249
  },
352
- {
353
- "concept": "EntityProperty",
354
- "name": "job_parameters",
355
- "uuid": "82f83a95684642568701562d9d91571c",
356
- "columnName": "job_parameters",
357
- "label": "任务参数",
358
- "description": null,
359
- "required": false,
360
- "primaryKey": false,
361
- "relationNamespace": null,
362
- "relationEntity": null,
363
- "relationProperty": null,
364
- "deleteRule": null,
365
- "display": {
366
- "inTable": true,
367
- "inFilter": true,
368
- "inForm": true,
369
- "inDetail": true
370
- },
371
- "rules": [
372
- "maxLength(16777215)"
373
- ],
374
- "generationRule": "manual",
375
- "sequence": null,
376
- "composedBy": null,
377
- "typeAnnotation": {
378
- "concept": "TypeAnnotation",
379
- "typeKind": "primitive",
380
- "typeNamespace": "nasl.core",
381
- "typeName": "String"
382
- },
383
- "databaseTypeAnnotation": null,
384
- "defaultValue": null
250
+ "databaseTypeAnnotation": null,
251
+ "defaultValue": null
252
+ },
253
+ {
254
+ "concept": "EntityProperty",
255
+ "name": "task_name",
256
+ "uuid": "e069c6541835457483a37df8c0cdafc0",
257
+ "columnName": "task_name",
258
+ "label": "任务名称",
259
+ "description": null,
260
+ "required": true,
261
+ "primaryKey": false,
262
+ "relationNamespace": null,
263
+ "relationEntity": null,
264
+ "relationProperty": null,
265
+ "deleteRule": null,
266
+ "display": {
267
+ "inTable": true,
268
+ "inFilter": true,
269
+ "inForm": true,
270
+ "inDetail": true
385
271
  },
386
- {
387
- "concept": "EntityProperty",
388
- "name": "file_plugin_code",
389
- "uuid": "f05f15779bd84edb8f358ef8483acc23",
390
- "columnName": "file_plugin_code",
391
- "label": "文件插件唯一标识",
392
- "description": "文件插件唯一标识",
393
- "required": false,
394
- "primaryKey": false,
395
- "relationNamespace": null,
396
- "relationEntity": null,
397
- "relationProperty": null,
398
- "deleteRule": null,
399
- "display": {
400
- "inTable": true,
401
- "inFilter": true,
402
- "inForm": true,
403
- "inDetail": true
404
- },
405
- "rules": [],
406
- "generationRule": "manual",
407
- "sequence": null,
408
- "composedBy": null,
409
- "typeAnnotation": {
410
- "concept": "TypeAnnotation",
411
- "typeKind": "primitive",
412
- "typeNamespace": "nasl.core",
413
- "typeName": "String"
414
- },
415
- "databaseTypeAnnotation": null,
416
- "defaultValue": null
272
+ "rules": [],
273
+ "generationRule": "manual",
274
+ "sequence": null,
275
+ "composedBy": null,
276
+ "typeAnnotation": {
277
+ "concept": "TypeAnnotation",
278
+ "typeKind": "primitive",
279
+ "typeNamespace": "nasl.core",
280
+ "typeName": "String"
417
281
  },
418
- {
419
- "concept": "EntityProperty",
420
- "name": "file_type",
421
- "uuid": "79355d76950a48609b123417e08f85bc",
422
- "columnName": "file_type",
423
- "label": "需要生成的文件类型",
424
- "description": null,
425
- "required": false,
426
- "primaryKey": false,
427
- "relationNamespace": null,
428
- "relationEntity": null,
429
- "relationProperty": null,
430
- "deleteRule": null,
431
- "display": {
432
- "inTable": true,
433
- "inFilter": true,
434
- "inForm": true,
435
- "inDetail": true
436
- },
437
- "rules": [],
438
- "generationRule": "manual",
439
- "sequence": null,
440
- "composedBy": null,
441
- "typeAnnotation": {
442
- "concept": "TypeAnnotation",
443
- "typeKind": "primitive",
444
- "typeNamespace": "nasl.core",
445
- "typeName": "String"
446
- },
447
- "databaseTypeAnnotation": null,
448
- "defaultValue": null
282
+ "databaseTypeAnnotation": null,
283
+ "defaultValue": null
284
+ },
285
+ {
286
+ "concept": "EntityProperty",
287
+ "name": "result",
288
+ "uuid": "6a6a3b70e5d04831a1da89e6d72b445c",
289
+ "columnName": "result",
290
+ "label": "任务结果",
291
+ "description": null,
292
+ "required": false,
293
+ "primaryKey": false,
294
+ "relationNamespace": null,
295
+ "relationEntity": null,
296
+ "relationProperty": null,
297
+ "deleteRule": null,
298
+ "display": {
299
+ "inTable": true,
300
+ "inFilter": true,
301
+ "inForm": true,
302
+ "inDetail": true
449
303
  },
450
- {
451
- "concept": "EntityProperty",
452
- "name": "createdTime",
453
- "uuid": "273fa6230d8b4c068b57a76f7b08bdfa",
454
- "columnName": "created_time",
455
- "label": "创建时间",
456
- "description": "创建时间",
457
- "required": false,
458
- "primaryKey": false,
459
- "relationNamespace": null,
460
- "relationEntity": null,
461
- "relationProperty": null,
462
- "deleteRule": null,
463
- "display": {
464
- "inTable": true,
465
- "inFilter": false,
466
- "inForm": false,
467
- "inDetail": false
468
- },
469
- "rules": [],
470
- "generationRule": "auto",
471
- "sequence": null,
472
- "composedBy": null,
473
- "typeAnnotation": {
474
- "concept": "TypeAnnotation",
475
- "typeKind": "primitive",
476
- "typeNamespace": "nasl.core",
477
- "typeName": "DateTime"
478
- },
479
- "databaseTypeAnnotation": null,
480
- "defaultValue": null
304
+ "rules": [
305
+ "maxLength(16777215)"
306
+ ],
307
+ "generationRule": "manual",
308
+ "sequence": null,
309
+ "composedBy": null,
310
+ "typeAnnotation": {
311
+ "concept": "TypeAnnotation",
312
+ "typeKind": "primitive",
313
+ "typeNamespace": "nasl.core",
314
+ "typeName": "String"
481
315
  },
482
- {
483
- "concept": "EntityProperty",
484
- "name": "updatedTime",
485
- "uuid": "7d2ec9616309424fbd37830b1e8f1a9d",
486
- "columnName": "updated_time",
487
- "label": "更新时间",
488
- "description": "更新时间",
489
- "required": false,
490
- "primaryKey": false,
491
- "relationNamespace": null,
492
- "relationEntity": null,
493
- "relationProperty": null,
494
- "deleteRule": null,
495
- "display": {
496
- "inTable": true,
497
- "inFilter": false,
498
- "inForm": false,
499
- "inDetail": false
500
- },
501
- "rules": [],
502
- "generationRule": "auto",
503
- "sequence": null,
504
- "composedBy": null,
505
- "typeAnnotation": {
506
- "concept": "TypeAnnotation",
507
- "typeKind": "primitive",
508
- "typeNamespace": "nasl.core",
509
- "typeName": "DateTime"
510
- },
511
- "databaseTypeAnnotation": null,
512
- "defaultValue": null
513
- }
514
- ],
515
- "indexes": [
516
- {
517
- "concept": "EntityIndex",
518
- "name": "uni_task_id",
519
- "indexName": null,
520
- "propertyNames": [
521
- "task_id"
522
- ],
523
- "unique": true,
524
- "description": null
525
- }
526
- ],
527
- "applyAnnotations": null
528
- });
529
- }
316
+ "databaseTypeAnnotation": null,
317
+ "defaultValue": null
318
+ },
319
+ {
320
+ "concept": "EntityProperty",
321
+ "name": "error_msg",
322
+ "uuid": "7c1c143003784277882b044aa88224d9",
323
+ "columnName": "error_msg",
324
+ "label": "任务异常信息",
325
+ "description": null,
326
+ "required": false,
327
+ "primaryKey": false,
328
+ "relationNamespace": null,
329
+ "relationEntity": null,
330
+ "relationProperty": null,
331
+ "deleteRule": null,
332
+ "display": {
333
+ "inTable": true,
334
+ "inFilter": true,
335
+ "inForm": true,
336
+ "inDetail": true
337
+ },
338
+ "rules": [
339
+ "maxLength(16777215)"
340
+ ],
341
+ "generationRule": "manual",
342
+ "sequence": null,
343
+ "composedBy": null,
344
+ "typeAnnotation": {
345
+ "concept": "TypeAnnotation",
346
+ "typeKind": "primitive",
347
+ "typeNamespace": "nasl.core",
348
+ "typeName": "String"
349
+ },
350
+ "databaseTypeAnnotation": null,
351
+ "defaultValue": null
352
+ },
353
+ {
354
+ "concept": "EntityProperty",
355
+ "name": "job_parameters",
356
+ "uuid": "82f83a95684642568701562d9d91571c",
357
+ "columnName": "job_parameters",
358
+ "label": "任务参数",
359
+ "description": null,
360
+ "required": false,
361
+ "primaryKey": false,
362
+ "relationNamespace": null,
363
+ "relationEntity": null,
364
+ "relationProperty": null,
365
+ "deleteRule": null,
366
+ "display": {
367
+ "inTable": true,
368
+ "inFilter": true,
369
+ "inForm": true,
370
+ "inDetail": true
371
+ },
372
+ "rules": [
373
+ "maxLength(16777215)"
374
+ ],
375
+ "generationRule": "manual",
376
+ "sequence": null,
377
+ "composedBy": null,
378
+ "typeAnnotation": {
379
+ "concept": "TypeAnnotation",
380
+ "typeKind": "primitive",
381
+ "typeNamespace": "nasl.core",
382
+ "typeName": "String"
383
+ },
384
+ "databaseTypeAnnotation": null,
385
+ "defaultValue": null
386
+ },
387
+ {
388
+ "concept": "EntityProperty",
389
+ "name": "file_plugin_code",
390
+ "uuid": "f05f15779bd84edb8f358ef8483acc23",
391
+ "columnName": "file_plugin_code",
392
+ "label": "文件插件唯一标识",
393
+ "description": "文件插件唯一标识",
394
+ "required": false,
395
+ "primaryKey": false,
396
+ "relationNamespace": null,
397
+ "relationEntity": null,
398
+ "relationProperty": null,
399
+ "deleteRule": null,
400
+ "display": {
401
+ "inTable": true,
402
+ "inFilter": true,
403
+ "inForm": true,
404
+ "inDetail": true
405
+ },
406
+ "rules": [],
407
+ "generationRule": "manual",
408
+ "sequence": null,
409
+ "composedBy": null,
410
+ "typeAnnotation": {
411
+ "concept": "TypeAnnotation",
412
+ "typeKind": "primitive",
413
+ "typeNamespace": "nasl.core",
414
+ "typeName": "String"
415
+ },
416
+ "databaseTypeAnnotation": null,
417
+ "defaultValue": null
418
+ },
419
+ {
420
+ "concept": "EntityProperty",
421
+ "name": "file_type",
422
+ "uuid": "79355d76950a48609b123417e08f85bc",
423
+ "columnName": "file_type",
424
+ "label": "需要生成的文件类型",
425
+ "description": null,
426
+ "required": false,
427
+ "primaryKey": false,
428
+ "relationNamespace": null,
429
+ "relationEntity": null,
430
+ "relationProperty": null,
431
+ "deleteRule": null,
432
+ "display": {
433
+ "inTable": true,
434
+ "inFilter": true,
435
+ "inForm": true,
436
+ "inDetail": true
437
+ },
438
+ "rules": [],
439
+ "generationRule": "manual",
440
+ "sequence": null,
441
+ "composedBy": null,
442
+ "typeAnnotation": {
443
+ "concept": "TypeAnnotation",
444
+ "typeKind": "primitive",
445
+ "typeNamespace": "nasl.core",
446
+ "typeName": "String"
447
+ },
448
+ "databaseTypeAnnotation": null,
449
+ "defaultValue": null
450
+ },
451
+ {
452
+ "concept": "EntityProperty",
453
+ "name": "createdTime",
454
+ "uuid": "273fa6230d8b4c068b57a76f7b08bdfa",
455
+ "columnName": "created_time",
456
+ "label": "创建时间",
457
+ "description": "创建时间",
458
+ "required": false,
459
+ "primaryKey": false,
460
+ "relationNamespace": null,
461
+ "relationEntity": null,
462
+ "relationProperty": null,
463
+ "deleteRule": null,
464
+ "display": {
465
+ "inTable": true,
466
+ "inFilter": false,
467
+ "inForm": false,
468
+ "inDetail": false
469
+ },
470
+ "rules": [],
471
+ "generationRule": "auto",
472
+ "sequence": null,
473
+ "composedBy": null,
474
+ "typeAnnotation": {
475
+ "concept": "TypeAnnotation",
476
+ "typeKind": "primitive",
477
+ "typeNamespace": "nasl.core",
478
+ "typeName": "DateTime"
479
+ },
480
+ "databaseTypeAnnotation": null,
481
+ "defaultValue": null
482
+ },
483
+ {
484
+ "concept": "EntityProperty",
485
+ "name": "updatedTime",
486
+ "uuid": "7d2ec9616309424fbd37830b1e8f1a9d",
487
+ "columnName": "updated_time",
488
+ "label": "更新时间",
489
+ "description": "更新时间",
490
+ "required": false,
491
+ "primaryKey": false,
492
+ "relationNamespace": null,
493
+ "relationEntity": null,
494
+ "relationProperty": null,
495
+ "deleteRule": null,
496
+ "display": {
497
+ "inTable": true,
498
+ "inFilter": false,
499
+ "inForm": false,
500
+ "inDetail": false
501
+ },
502
+ "rules": [],
503
+ "generationRule": "auto",
504
+ "sequence": null,
505
+ "composedBy": null,
506
+ "typeAnnotation": {
507
+ "concept": "TypeAnnotation",
508
+ "typeKind": "primitive",
509
+ "typeNamespace": "nasl.core",
510
+ "typeName": "DateTime"
511
+ },
512
+ "databaseTypeAnnotation": null,
513
+ "defaultValue": null
514
+ }
515
+ ],
516
+ "indexes": [
517
+ {
518
+ "concept": "EntityIndex",
519
+ "name": "uni_task_id",
520
+ "indexName": null,
521
+ "propertyNames": [
522
+ "task_id"
523
+ ],
524
+ "unique": true,
525
+ "description": null
526
+ }
527
+ ],
528
+ "applyAnnotations": null
529
+ });
530
530
  }
531
- exports.addEntityToNaslAnnotatedJSON = addEntityToNaslAnnotatedJSON;
531
+ exports.addEntityToDefaultDS = addEntityToDefaultDS;
532
532
  /**
533
533
  * 获取全量标注文件
534
534
  * @description 数据将会被 stringify
@@ -550,7 +550,7 @@ async function getFrontendBundleFiles(app, opt) {
550
550
  miniEnable: app.miniEnable,
551
551
  };
552
552
  if (opt.frontends && opt.frontends.length) {
553
- await opt.logPublishFunc?.('页面', '生成页面代码:开始');
553
+ await opt.logPublishFunc?.('生成前端资源', '生成页面代码:开始');
554
554
  app.naslServer.logger.time('生成前端页面');
555
555
  files = await (0, genBundleFiles_1.genFrontendBundleFiles)(app, opt.frontends, config);
556
556
  if (files && files.length === 0) {
@@ -560,14 +560,14 @@ async function getFrontendBundleFiles(app, opt) {
560
560
  files = (0, utils_1.replaceAssetUrl)(files, opt.appInfo.USER_STATIC_URL, opt.staticUrl);
561
561
  }
562
562
  app.naslServer.logger.timeEnd('生成前端页面');
563
- await opt.logPublishFunc?.('页面', '生成页面代码:完成');
563
+ await opt.logPublishFunc?.('生成前端资源', '生成页面代码:完成');
564
564
  }
565
565
  return files;
566
566
  }
567
567
  exports.getFrontendBundleFiles = getFrontendBundleFiles;
568
568
  async function mergeBodyData(app, opt) {
569
569
  const authReport = (0, utils_1.getAuthReport)(app, opt.frontends);
570
- await opt.logPublishFunc?.('权限', '分析权限数据成功!');
570
+ await opt.logPublishFunc?.('准备数据', '【权限】分析权限数据成功!');
571
571
  const logicPageResourceDtoList = (0, permission_1.genPermissionData)(app);
572
572
  // 缓存应用权限数据
573
573
  await (0, is_view_logic_1.cachePermission)(logicPageResourceDtoList);
@@ -595,6 +595,7 @@ async function mergeBodyData(app, opt) {
595
595
  env: opt.env,
596
596
  branchId: opt.branchId,
597
597
  replicas: opt.replicas,
598
+ logGraph: true,
598
599
  pipelineVersion: opt.isIncremental ? '2.0' : '2.1', // 2.1 版本用于前后端并行发布的版本
599
600
  appSpecification: opt.appSpecification,
600
601
  callbackLogicsName,
@@ -646,6 +647,8 @@ async function genReleaseBody(_app, opt) {
646
647
  if (!opt?.isBackendValidation) {
647
648
  body.callLogicValidations = callLogicValidations;
648
649
  }
650
+ // Add memory-aware delay to allow GC
651
+ await (0, memory_optimization_1.smartDelay)(50);
649
652
  const exportShareContent = (0, share_content_1.genShareContent)(app);
650
653
  Object.assign(body, {
651
654
  exportShareContent: Object.keys(exportShareContent.dependOn).length ? exportShareContent : null,