@lcap/nasl 3.12.1-rc.3 → 3.12.1-rc.4

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 (41) hide show
  1. package/out/generator/genBundleFiles.js +5 -2
  2. package/out/generator/genBundleFiles.js.map +1 -1
  3. package/out/generator/release-body/data.d.ts.map +1 -1
  4. package/out/generator/release-body/data.js +18 -4
  5. package/out/generator/release-body/data.js.map +1 -1
  6. package/out/server/naslServer.d.ts.map +1 -1
  7. package/out/server/naslServer.js +7 -2
  8. package/out/server/naslServer.js.map +1 -1
  9. package/out/service/instruct-ruler/ruler.d.ts +8 -6
  10. package/out/service/instruct-ruler/ruler.d.ts.map +1 -1
  11. package/out/service/instruct-ruler/ruler.js +45 -32
  12. package/out/service/instruct-ruler/ruler.js.map +1 -1
  13. package/out/service/instruct-ruler/rules/index.js +2 -2
  14. package/out/service/instruct-ruler/rules/index.js.map +1 -1
  15. package/out/service/instruct-ruler/rules/is-storage-changed.d.ts +3 -0
  16. package/out/service/instruct-ruler/rules/is-storage-changed.d.ts.map +1 -0
  17. package/out/service/instruct-ruler/rules/is-storage-changed.js +21 -0
  18. package/out/service/instruct-ruler/rules/is-storage-changed.js.map +1 -0
  19. package/out/service/instruct-ruler/storage.d.ts +22 -8
  20. package/out/service/instruct-ruler/storage.d.ts.map +1 -1
  21. package/out/service/instruct-ruler/storage.js +45 -20
  22. package/out/service/instruct-ruler/storage.js.map +1 -1
  23. package/out/service/instruct-ruler/types.d.ts +6 -1
  24. package/out/service/instruct-ruler/types.d.ts.map +1 -1
  25. package/out/service/instruct-ruler/types.js.map +1 -1
  26. package/out/service/storage/init.d.ts +1 -1
  27. package/out/service/storage/init.d.ts.map +1 -1
  28. package/out/service/storage/init.js +7 -2
  29. package/out/service/storage/init.js.map +1 -1
  30. package/out/service/storage/service.d.ts +2 -1
  31. package/out/service/storage/service.d.ts.map +1 -1
  32. package/out/service/storage/service.js +1 -1
  33. package/out/service/storage/service.js.map +1 -1
  34. package/out/service/storage/types.d.ts +1 -0
  35. package/out/service/storage/types.d.ts.map +1 -1
  36. package/out/service/storage/types.js.map +1 -1
  37. package/package.json +10 -10
  38. package/out/service/instruct-ruler/rules/is-element-text.d.ts +0 -3
  39. package/out/service/instruct-ruler/rules/is-element-text.d.ts.map +0 -1
  40. package/out/service/instruct-ruler/rules/is-element-text.js +0 -16
  41. package/out/service/instruct-ruler/rules/is-element-text.js.map +0 -1
@@ -1,18 +1,20 @@
1
- import { BaseRuleContext, DeploymentState, Operation } from './types';
1
+ import { BaseRuleContext, InstructState, DeploymentState, Operation } from './types';
2
2
  /** Nasl 变更后判断是否可以忽略后端发布 */
3
- export declare function assertBatchInstruct(appId: string, operationList: Operation[], context: BaseRuleContext): Promise<void>;
3
+ export declare function assertBatchInstruct(operationList: Operation[], context: BaseRuleContext): Promise<void>;
4
+ /** IDE 初始化时运行钩子 */
5
+ export declare function assertIdeInitialize(context: Omit<BaseRuleContext, 'naslServer'>): Promise<void>;
4
6
  /** 发布前判断是否可以忽略后端发布 */
5
- export declare function assertIgnoreBackend(appId: string, context: BaseRuleContext): Promise<boolean>;
7
+ export declare function assertIgnoreBackend(context: BaseRuleContext): Promise<boolean>;
6
8
  /** 发布开始 */
7
- export declare function deployStart(appId: string, type: 'normal' | 'preview'): Promise<DeploymentState | Record<string, DeploymentState>>;
9
+ export declare function deployStart(type: 'normal' | 'preview'): Promise<DeploymentState>;
8
10
  /**
9
11
  * 发布成功结束
10
12
  *
11
13
  * @description 此时一定发布成功
12
14
  */
13
- export declare function deploySuccess(appId: string): Promise<void>;
15
+ export declare function deploySuccess(): Promise<void>;
14
16
  /**
15
17
  * 发布失败时
16
18
  */
17
- export declare function deployFail(appId: string): Promise<void>;
19
+ export declare function deployFail(): Promise<[InstructState, DeploymentState, InstructState]>;
18
20
  //# sourceMappingURL=ruler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ruler.d.ts","sourceRoot":"","sources":["../../../src/service/instruct-ruler/ruler.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,eAAe,EAGf,eAAe,EAEf,SAAS,EACV,MAAM,SAAS,CAAC;AAwBjB,2BAA2B;AAC3B,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,eAAe,iBA0D5G;AAED,sBAAsB;AACtB,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,oBAmChF;AAED,WAAW;AACX,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,8DAE1E;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,iBA8BhD;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,iBAO7C"}
1
+ {"version":3,"file":"ruler.d.ts","sourceRoot":"","sources":["../../../src/service/instruct-ruler/ruler.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,eAAe,EAEf,aAAa,EACb,eAAe,EAEf,SAAS,EACV,MAAM,SAAS,CAAC;AAwBjB,2BAA2B;AAC3B,wBAAsB,mBAAmB,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,eAAe,iBA+D7F;AAED,mBAAmB;AACnB,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,iBAMrF;AAED,sBAAsB;AACtB,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,eAAe,oBAmCjE;AAED,WAAW;AACX,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,4BAE3D;AAED;;;;GAIG;AACH,wBAAsB,aAAa,kBAgClC;AAED;;GAEG;AACH,wBAAsB,UAAU,6DAS/B"}
@@ -1,26 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deployFail = exports.deploySuccess = exports.deployStart = exports.assertIgnoreBackend = exports.assertBatchInstruct = void 0;
3
+ exports.deployFail = exports.deploySuccess = exports.deployStart = exports.assertIgnoreBackend = exports.assertIdeInitialize = exports.assertBatchInstruct = void 0;
4
4
  const rules_1 = require("./rules");
5
5
  const nasl_utils_1 = require("@lcap/nasl-utils");
6
6
  const types_1 = require("./types");
7
7
  const storage_1 = require("./storage");
8
8
  /** 修改状态 */
9
- async function setInstructStateWithDeploy(appId, state) {
10
- const deployState = await (0, storage_1.getDeploymentState)(appId);
9
+ async function setInstructStateWithDeploy(state) {
10
+ const deployState = await (0, storage_1.getDeploymentState)();
11
11
  // 未发布时
12
12
  if (deployState === types_1.DeploymentState.NotDeployment) {
13
- await (0, storage_1.setInstructState)(appId, state);
13
+ await (0, storage_1.setInstructState)(state);
14
14
  }
15
15
  // 发布时
16
16
  else {
17
- await (0, storage_1.setInstructStateInDeploy)(appId, state);
17
+ await (0, storage_1.setInstructStateInDeploy)(state);
18
18
  }
19
19
  }
20
20
  /** Nasl 变更后判断是否可以忽略后端发布 */
21
- async function assertBatchInstruct(appId, operationList, context) {
22
- const isIgnoreBackendNow = await (0, storage_1.getInstructState)(appId);
23
- const deployState = await (0, storage_1.getDeploymentState)(appId);
21
+ async function assertBatchInstruct(operationList, context) {
22
+ const [isIgnoreBackendNow, deployState,] = await Promise.all([
23
+ (0, storage_1.getInstructState)(),
24
+ (0, storage_1.getDeploymentState)(),
25
+ ]);
24
26
  if (
25
27
  // 本地调试时每次都检查
26
28
  !nasl_utils_1.isLocalMode &&
@@ -51,7 +53,7 @@ async function assertBatchInstruct(appId, operationList, context) {
51
53
  ruleResult.includes(types_1.RuleResult.Backend) ||
52
54
  // 全部是未匹配,则为兜底,也设定为后端
53
55
  ruleResult.every((item) => item === types_1.RuleResult.UnMatch)) {
54
- await setInstructStateWithDeploy(appId, types_1.InstructState.HasBackendModify);
56
+ await setInstructStateWithDeploy(types_1.InstructState.HasBackendModify);
55
57
  if (nasl_utils_1.isDebugMode) {
56
58
  console.dir('判定为后端修改');
57
59
  }
@@ -62,12 +64,19 @@ async function assertBatchInstruct(appId, operationList, context) {
62
64
  if (nasl_utils_1.isDebugMode) {
63
65
  console.dir('判定为前端修改');
64
66
  }
65
- return setInstructStateWithDeploy(appId, types_1.InstructState.PureFrontendModify);
67
+ return setInstructStateWithDeploy(types_1.InstructState.PureFrontendModify);
66
68
  }
67
69
  exports.assertBatchInstruct = assertBatchInstruct;
70
+ /** IDE 初始化时运行钩子 */
71
+ async function assertIdeInitialize(context) {
72
+ await Promise.all(rules_1.rules
73
+ .filter((rule) => rule.afterInit)
74
+ .map((rule) => rule.afterInit(context)));
75
+ }
76
+ exports.assertIdeInitialize = assertIdeInitialize;
68
77
  /** 发布前判断是否可以忽略后端发布 */
69
- async function assertIgnoreBackend(appId, context) {
70
- const state = await (0, storage_1.getInstructState)(appId);
78
+ async function assertIgnoreBackend(context) {
79
+ const state = await (0, storage_1.getInstructState)();
71
80
  // 非纯前端时,不能忽略后端发布
72
81
  if (state !== types_1.InstructState.PureFrontendModify &&
73
82
  state !== types_1.InstructState.DeploymentRightNow) {
@@ -84,7 +93,7 @@ async function assertIgnoreBackend(appId, context) {
84
93
  ruleResult.includes(types_1.RuleResult.Backend) ||
85
94
  // 全部是未匹配,则为兜底,也设定为后端
86
95
  ruleResult.every((item) => item === types_1.RuleResult.UnMatch)) {
87
- await setInstructStateWithDeploy(appId, types_1.InstructState.HasBackendModify);
96
+ await setInstructStateWithDeploy(types_1.InstructState.HasBackendModify);
88
97
  if (nasl_utils_1.isDebugMode) {
89
98
  console.dir('判定必须发布后端');
90
99
  }
@@ -94,8 +103,8 @@ async function assertIgnoreBackend(appId, context) {
94
103
  }
95
104
  exports.assertIgnoreBackend = assertIgnoreBackend;
96
105
  /** 发布开始 */
97
- async function deployStart(appId, type) {
98
- return (0, storage_1.setDeploymentState)(appId, type === 'normal' ? types_1.DeploymentState.NormalDeploying : types_1.DeploymentState.PreviewDeploying);
106
+ async function deployStart(type) {
107
+ return (0, storage_1.setDeploymentState)(type === 'normal' ? types_1.DeploymentState.NormalDeploying : types_1.DeploymentState.PreviewDeploying);
99
108
  }
100
109
  exports.deployStart = deployStart;
101
110
  /**
@@ -103,43 +112,47 @@ exports.deployStart = deployStart;
103
112
  *
104
113
  * @description 此时一定发布成功
105
114
  */
106
- async function deploySuccess(appId) {
115
+ async function deploySuccess() {
107
116
  const [deployState, modifyState,] = await Promise.all([
108
- (0, storage_1.getDeploymentState)(appId),
109
- (0, storage_1.getInstructStateInDeploy)(appId),
117
+ (0, storage_1.getDeploymentState)(),
118
+ (0, storage_1.getInstructStateInDeploy)(),
110
119
  ]);
111
120
  // 普通发布
112
121
  if (deployState === types_1.DeploymentState.NormalDeploying) {
113
122
  // 有值的时候设置为修改状态
114
123
  if (modifyState === types_1.InstructState.HasBackendModify) {
115
- (0, storage_1.setInstructState)(appId, types_1.InstructState.HasBackendModify);
124
+ await (0, storage_1.setInstructState)(types_1.InstructState.HasBackendModify);
116
125
  }
117
126
  else {
118
- (0, storage_1.setInstructState)(appId, types_1.InstructState.DeploymentRightNow);
127
+ await (0, storage_1.setInstructState)(types_1.InstructState.DeploymentRightNow);
119
128
  }
120
129
  }
121
130
  else if (deployState === types_1.DeploymentState.PreviewDeploying) {
122
131
  // 有值的时候设置为修改状态,否则保持不变
123
132
  if (modifyState === types_1.InstructState.HasBackendModify) {
124
- (0, storage_1.setInstructState)(appId, types_1.InstructState.HasBackendModify);
133
+ await (0, storage_1.setInstructState)(types_1.InstructState.HasBackendModify);
125
134
  }
126
135
  }
127
- // 清空修改时的发布状态
128
- await (0, storage_1.setInstructStateInDeploy)(appId);
129
- // 清空发布状态
130
- await (0, storage_1.setDeploymentState)(appId, types_1.DeploymentState.NotDeployment);
136
+ await Promise.all([
137
+ // 清空修改时的发布状态
138
+ (0, storage_1.setInstructStateInDeploy)(),
139
+ // 清空发布状态
140
+ (0, storage_1.setDeploymentState)(types_1.DeploymentState.NotDeployment),
141
+ ]);
131
142
  }
132
143
  exports.deploySuccess = deploySuccess;
133
144
  /**
134
145
  * 发布失败时
135
146
  */
136
- async function deployFail(appId) {
137
- // 发布失败时下次一定全量发布
138
- await (0, storage_1.setInstructState)(appId, types_1.InstructState.HasBackendModify);
139
- // 清空发布状态
140
- await (0, storage_1.setDeploymentState)(appId, types_1.DeploymentState.NotDeployment);
141
- // 清空修改时的发布状态
142
- await (0, storage_1.setInstructStateInDeploy)(appId);
147
+ async function deployFail() {
148
+ return Promise.all([
149
+ // 发布失败时下次一定全量发布
150
+ (0, storage_1.setInstructState)(types_1.InstructState.HasBackendModify),
151
+ // 清空发布状态
152
+ (0, storage_1.setDeploymentState)(types_1.DeploymentState.NotDeployment),
153
+ // 清空修改时的发布状态
154
+ (0, storage_1.setInstructStateInDeploy)(),
155
+ ]);
143
156
  }
144
157
  exports.deployFail = deployFail;
145
158
  //# sourceMappingURL=ruler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ruler.js","sourceRoot":"","sources":["../../../src/service/instruct-ruler/ruler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruler.js","sourceRoot":"","sources":["../../../src/service/instruct-ruler/ruler.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ const is_frontend_static_style_1 = require("./is-frontend-static-style");
5
5
  const is_frontend_param_1 = require("./is-frontend-param");
6
6
  const is_frontend_variable_1 = require("./is-frontend-variable");
7
7
  const is_changed_time_1 = require("./is-changed-time");
8
- // import { isElementText } from './is-element-text';
9
8
  const is_view_logic_1 = require("./is-view-logic");
10
9
  const is_i18n_1 = require("./is-i18n");
11
10
  const is_theme_1 = require("./is-theme");
@@ -13,13 +12,13 @@ const is_logic_playground_1 = require("./is-logic-playground");
13
12
  const is_view_permission_1 = require("./is-view-permission");
14
13
  const is_element_permission_1 = require("./is-element-permission");
15
14
  const is_server_validation_1 = require("./is-server-validation");
15
+ const is_storage_changed_1 = require("./is-storage-changed");
16
16
  // 这里的顺序不要变动
17
17
  exports.rules = [
18
18
  is_changed_time_1.isChangedTime,
19
19
  is_logic_playground_1.isLogicPlayground,
20
20
  is_server_validation_1.isServerValidation,
21
21
  is_view_permission_1.isViewPermission,
22
- // isElementText,
23
22
  is_element_permission_1.isElementPermission,
24
23
  is_frontend_static_style_1.isFrontendStaticStyle,
25
24
  is_frontend_param_1.isFrontendParam,
@@ -27,5 +26,6 @@ exports.rules = [
27
26
  is_i18n_1.isI18n,
28
27
  is_theme_1.isTheme,
29
28
  is_view_logic_1.isViewLogic,
29
+ is_storage_changed_1.isStorageChanged,
30
30
  ];
31
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/service/instruct-ruler/rules/index.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AACnE,2DAAsD;AACtD,iEAA4D;AAC5D,uDAAkD;AAClD,qDAAqD;AACrD,mDAA8C;AAC9C,uCAAmC;AACnC,yCAAqC;AACrC,+DAA0D;AAC1D,6DAAwD;AACxD,mEAA8D;AAC9D,iEAA4D;AAE5D,YAAY;AACC,QAAA,KAAK,GAAG;IACnB,+BAAa;IACb,uCAAiB;IACjB,yCAAkB;IAClB,qCAAgB;IAChB,iBAAiB;IACjB,2CAAmB;IACnB,gDAAqB;IACrB,mCAAe;IACf,yCAAkB;IAClB,gBAAM;IACN,kBAAO;IACP,2BAAW;CACZ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/service/instruct-ruler/rules/index.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AACnE,2DAAsD;AACtD,iEAA4D;AAC5D,uDAAkD;AAClD,mDAA8C;AAC9C,uCAAmC;AACnC,yCAAqC;AACrC,+DAA0D;AAC1D,6DAAwD;AACxD,mEAA8D;AAC9D,iEAA4D;AAC5D,6DAAwD;AAExD,YAAY;AACC,QAAA,KAAK,GAAG;IACnB,+BAAa;IACb,uCAAiB;IACjB,yCAAkB;IAClB,qCAAgB;IAChB,2CAAmB;IACnB,gDAAqB;IACrB,mCAAe;IACf,yCAAkB;IAClB,gBAAM;IACN,kBAAO;IACP,2BAAW;IACX,qCAAgB;CACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Rule } from '../types';
2
+ export declare const isStorageChanged: Rule;
3
+ //# sourceMappingURL=is-storage-changed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-storage-changed.d.ts","sourceRoot":"","sources":["../../../../src/service/instruct-ruler/rules/is-storage-changed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAc,MAAM,UAAU,CAAC;AAG5C,eAAO,MAAM,gBAAgB,EAAE,IAe9B,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isStorageChanged = void 0;
4
+ const types_1 = require("../types");
5
+ const storage_1 = require("../storage");
6
+ exports.isStorageChanged = {
7
+ name: 'is-storage-changed',
8
+ async afterInit({ instructStatus: status }) {
9
+ const current = await (0, storage_1.getGlobalChangedTime)();
10
+ // 和服务端时间不一致,清除所有状态
11
+ if (current !== status.globalChangedTime) {
12
+ (0, storage_1.clearStorage)();
13
+ await (0, storage_1.setGlobalChangedTime)(status.globalChangedTime);
14
+ }
15
+ },
16
+ async afterInstruct(_, { instructStatus: status }) {
17
+ await (0, storage_1.setGlobalChangedTime)(status.globalChangedTime);
18
+ return types_1.RuleResult.UnMatch;
19
+ },
20
+ };
21
+ //# sourceMappingURL=is-storage-changed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-storage-changed.js","sourceRoot":"","sources":["../../../../src/service/instruct-ruler/rules/is-storage-changed.ts"],"names":[],"mappings":";;;AAAA,oCAA4C;AAC5C,wCAAsF;AAEzE,QAAA,gBAAgB,GAAS;IACpC,IAAI,EAAE,oBAAoB;IAC1B,KAAK,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE;QACxC,MAAM,OAAO,GAAG,MAAM,IAAA,8BAAoB,GAAE,CAAC;QAE7C,mBAAmB;QACnB,IAAI,OAAO,KAAK,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACzC,IAAA,sBAAY,GAAE,CAAC;YACf,MAAM,IAAA,8BAAoB,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE;QAC/C,MAAM,IAAA,8BAAoB,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACrD,OAAO,kBAAU,CAAC,OAAO,CAAC;IAC5B,CAAC;CACF,CAAC"}
@@ -1,28 +1,42 @@
1
1
  import { InstructState, DeploymentState } from './types';
2
- export declare function getStorageGetter<T>(key: string, defaultVal?: T): (appId: string) => Promise<T>;
3
- export declare function getStorageSetter<T>(key: string): (appId: string, val?: T) => Promise<T | Record<string, T>>;
2
+ export declare function getStorageGetter<T>(key: string, defaultVal?: T): () => Promise<T>;
3
+ export declare function getStorageSetter<T>(key: string): (val?: T) => Promise<T>;
4
+ /** 清空数据 */
5
+ export declare function clearStorage(): void;
4
6
  /**
5
7
  * 获取修改状态
6
8
  */
7
- export declare const getInstructState: (appId: string) => Promise<InstructState>;
9
+ export declare const getInstructState: () => Promise<InstructState>;
8
10
  /**
9
11
  * 获取发布状态状态
10
12
  */
11
- export declare const getDeploymentState: (appId: string) => Promise<DeploymentState>;
13
+ export declare const getDeploymentState: () => Promise<DeploymentState>;
12
14
  /**
13
15
  * 获取发布时的修改状态
14
16
  */
15
- export declare const getInstructStateInDeploy: (appId: string) => Promise<InstructState>;
17
+ export declare const getInstructStateInDeploy: () => Promise<InstructState>;
18
+ /**
19
+ * 获取后端变更时间
20
+ */
21
+ export declare const getGlobalChangedTime: () => Promise<number>;
16
22
  /**
17
23
  * 获取修改状态
18
24
  */
19
- export declare const setInstructState: (appId: string, val?: InstructState) => Promise<InstructState | Record<string, InstructState>>;
25
+ export declare const setInstructState: (val?: InstructState) => Promise<InstructState>;
20
26
  /**
21
27
  * 获取发布状态状态
22
28
  */
23
- export declare const setDeploymentState: (appId: string, val?: DeploymentState) => Promise<DeploymentState | Record<string, DeploymentState>>;
29
+ export declare const setDeploymentState: (val?: DeploymentState) => Promise<DeploymentState>;
24
30
  /**
25
31
  * 获取发布时的修改状态
26
32
  */
27
- export declare const setInstructStateInDeploy: (appId: string, val?: InstructState) => Promise<InstructState | Record<string, InstructState>>;
33
+ export declare const setInstructStateInDeploy: (val?: InstructState) => Promise<InstructState>;
34
+ /**
35
+ * 设置发布时间
36
+ */
37
+ export declare const setDeploymentTime: (val?: number) => Promise<number>;
38
+ /**
39
+ * 设置后端变更时间
40
+ */
41
+ export declare const setGlobalChangedTime: (val?: number) => Promise<number>;
28
42
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/service/instruct-ruler/storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAOzD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,WAC3B,MAAM,gBASzC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,WACL,MAAM,QAAQ,CAAC,oCAqBxD;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAtCO,MAAM,2BAsC8C,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,kBAAkB,UA3CK,MAAM,6BA2C2D,CAAC;AAEtG;;GAEG;AACH,eAAO,MAAM,wBAAwB,UAhDD,MAAM,2BAgDsD,CAAC;AAEjG;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAzCa,MAAM,gFAyCgC,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,kBAAkB,UA9CW,MAAM,sFA8CuC,CAAC;AAExF;;GAEG;AACH,eAAO,MAAM,wBAAwB,UAnDK,MAAM,gFAmDgD,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/service/instruct-ruler/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA2BzD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,oBAU9D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,UACN,CAAC,gBAOzC;AAED,WAAW;AACX,wBAAgB,YAAY,SAI3B;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,8BAA2D,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,kBAAkB,gCAAsE,CAAC;AAEtG;;GAEG;AACH,eAAO,MAAM,wBAAwB,8BAA2D,CAAC;AAEjG;;GAEG;AACH,eAAO,MAAM,oBAAoB,uBAA8C,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,gBAAgB,iDAAmD,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,kBAAkB,qDAAwD,CAAC;AAExF;;GAEG;AACH,eAAO,MAAM,wBAAwB,iDAA2D,CAAC;AAEjG;;GAEG;AACH,eAAO,MAAM,iBAAiB,mCAA+C,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,oBAAoB,mCAA8C,CAAC"}
@@ -3,44 +3,57 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.setInstructStateInDeploy = exports.setDeploymentState = exports.setInstructState = exports.getInstructStateInDeploy = exports.getDeploymentState = exports.getInstructState = exports.getStorageSetter = exports.getStorageGetter = void 0;
6
+ exports.setGlobalChangedTime = exports.setDeploymentTime = exports.setInstructStateInDeploy = exports.setDeploymentState = exports.setInstructState = exports.getGlobalChangedTime = exports.getInstructStateInDeploy = exports.getDeploymentState = exports.getInstructState = exports.clearStorage = exports.getStorageSetter = exports.getStorageGetter = void 0;
7
7
  const localforage_1 = __importDefault(require("localforage"));
8
- const types_1 = require("./types");
9
8
  const nasl_utils_1 = require("@lcap/nasl-utils");
9
+ const types_1 = require("./types");
10
10
  const stateStorageKey = '__instruct_state';
11
11
  const deploymentStateKey = '__deployment_state';
12
+ const globalChangedTime = '__global_changed_time';
12
13
  const stateInDeployStorageKey = '__instruct_state_deploy';
14
+ let storage;
15
+ let initFail = false;
16
+ function getStorage() {
17
+ if (!storage) {
18
+ if (!window.appData.id) {
19
+ console.error('发布状态数据表初始化失败,之后发布将会全是全量发布');
20
+ initFail = true;
21
+ return;
22
+ }
23
+ storage = localforage_1.default.createInstance({
24
+ name: 'deployment',
25
+ storeName: window.appData.id,
26
+ });
27
+ }
28
+ return storage;
29
+ }
13
30
  function getStorageGetter(key, defaultVal) {
14
- return function setStorage(appId) {
15
- if (nasl_utils_1.isNode) {
31
+ return function setStorage() {
32
+ if (!nasl_utils_1.isBrowser || initFail) {
16
33
  return Promise.resolve(defaultVal);
17
34
  }
18
- return localforage_1.default.getItem(key).then((data) => {
19
- return data?.[appId] ?? defaultVal;
35
+ return getStorage().getItem(key).then((data) => {
36
+ return data ?? defaultVal;
20
37
  });
21
38
  };
22
39
  }
23
40
  exports.getStorageGetter = getStorageGetter;
24
41
  function getStorageSetter(key) {
25
- return async function setStorage(appId, val) {
26
- if (nasl_utils_1.isNode) {
42
+ return async function setStorage(val) {
43
+ if (!nasl_utils_1.isBrowser || initFail) {
27
44
  return Promise.resolve(val);
28
45
  }
29
- let state = await localforage_1.default.getItem(key);
30
- // 数据兼容
31
- if (typeof state !== 'object' || !state) {
32
- state = {};
33
- }
34
- if (val === undefined || val === null) {
35
- delete state[appId];
36
- }
37
- else {
38
- state[appId] = val;
39
- }
40
- return localforage_1.default.setItem(key, state);
46
+ return getStorage().setItem(key, val);
41
47
  };
42
48
  }
43
49
  exports.getStorageSetter = getStorageSetter;
50
+ /** 清空数据 */
51
+ function clearStorage() {
52
+ if (nasl_utils_1.isBrowser) {
53
+ getStorage().clear();
54
+ }
55
+ }
56
+ exports.clearStorage = clearStorage;
44
57
  /**
45
58
  * 获取修改状态
46
59
  */
@@ -53,6 +66,10 @@ exports.getDeploymentState = getStorageGetter(deploymentStateKey, types_1.Deploy
53
66
  * 获取发布时的修改状态
54
67
  */
55
68
  exports.getInstructStateInDeploy = getStorageGetter(stateInDeployStorageKey);
69
+ /**
70
+ * 获取后端变更时间
71
+ */
72
+ exports.getGlobalChangedTime = getStorageGetter(globalChangedTime);
56
73
  /**
57
74
  * 获取修改状态
58
75
  */
@@ -65,4 +82,12 @@ exports.setDeploymentState = getStorageSetter(deploymentStateKey);
65
82
  * 获取发布时的修改状态
66
83
  */
67
84
  exports.setInstructStateInDeploy = getStorageSetter(stateInDeployStorageKey);
85
+ /**
86
+ * 设置发布时间
87
+ */
88
+ exports.setDeploymentTime = getStorageSetter(deploymentStateKey);
89
+ /**
90
+ * 设置后端变更时间
91
+ */
92
+ exports.setGlobalChangedTime = getStorageSetter(globalChangedTime);
68
93
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/service/instruct-ruler/storage.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAsC;AACtC,mCAAyD;AACzD,iDAA0C;AAE1C,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAC3C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,SAAgB,gBAAgB,CAAI,GAAW,EAAE,UAAc;IAC7D,OAAO,SAAS,UAAU,CAAC,KAAa;QACtC,IAAI,mBAAM,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,qBAAW,CAAC,OAAO,CAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/D,OAAO,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,4CAUC;AAED,SAAgB,gBAAgB,CAAI,GAAW;IAC7C,OAAO,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,GAAO;QACrD,IAAI,mBAAM,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,KAAK,GAAG,MAAM,qBAAW,CAAC,OAAO,CAAoB,GAAG,CAAC,CAAC;QAE9D,OAAO;QACP,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aACI,CAAC;YACJ,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACrB,CAAC;QAED,OAAO,qBAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC;AAtBD,4CAsBC;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAG,gBAAgB,CAAC,eAAe,EAAE,qBAAa,CAAC,OAAO,CAAC,CAAC;AAEzF;;GAEG;AACU,QAAA,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,uBAAe,CAAC,aAAa,CAAC,CAAC;AAEtG;;GAEG;AACU,QAAA,wBAAwB,GAAG,gBAAgB,CAAgB,uBAAuB,CAAC,CAAC;AAEjG;;GAEG;AACU,QAAA,gBAAgB,GAAG,gBAAgB,CAAgB,eAAe,CAAC,CAAC;AAEjF;;GAEG;AACU,QAAA,kBAAkB,GAAG,gBAAgB,CAAkB,kBAAkB,CAAC,CAAC;AAExF;;GAEG;AACU,QAAA,wBAAwB,GAAG,gBAAgB,CAAgB,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/service/instruct-ruler/storage.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAsC;AACtC,iDAA6C;AAC7C,mCAAyD;AAEzD,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAC3C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAClD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,IAAI,OAA2B,CAAC;AAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,SAAS,UAAU;IACjB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAE,MAAc,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC3C,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO,GAAG,qBAAW,CAAC,cAAc,CAAC;YACnC,IAAI,EAAE,YAAY;YAClB,SAAS,EAAG,MAAc,CAAC,OAAO,CAAC,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,gBAAgB,CAAI,GAAW,EAAE,UAAc;IAC7D,OAAO,SAAS,UAAU;QACxB,IAAI,CAAC,sBAAS,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,UAAU,EAAE,CAAC,OAAO,CAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,OAAO,IAAI,IAAI,UAAU,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,4CAUC;AAED,SAAgB,gBAAgB,CAAI,GAAW;IAC7C,OAAO,KAAK,UAAU,UAAU,CAAC,GAAO;QACtC,IAAI,CAAC,sBAAS,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC;AARD,4CAQC;AAED,WAAW;AACX,SAAgB,YAAY;IAC1B,IAAI,sBAAS,EAAE,CAAC;QACd,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAJD,oCAIC;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAG,gBAAgB,CAAC,eAAe,EAAE,qBAAa,CAAC,OAAO,CAAC,CAAC;AAEzF;;GAEG;AACU,QAAA,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,uBAAe,CAAC,aAAa,CAAC,CAAC;AAEtG;;GAEG;AACU,QAAA,wBAAwB,GAAG,gBAAgB,CAAgB,uBAAuB,CAAC,CAAC;AAEjG;;GAEG;AACU,QAAA,oBAAoB,GAAG,gBAAgB,CAAS,iBAAiB,CAAC,CAAC;AAEhF;;GAEG;AACU,QAAA,gBAAgB,GAAG,gBAAgB,CAAgB,eAAe,CAAC,CAAC;AAEjF;;GAEG;AACU,QAAA,kBAAkB,GAAG,gBAAgB,CAAkB,kBAAkB,CAAC,CAAC;AAExF;;GAEG;AACU,QAAA,wBAAwB,GAAG,gBAAgB,CAAgB,uBAAuB,CAAC,CAAC;AAEjG;;GAEG;AACU,QAAA,iBAAiB,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,CAAC;AAE9E;;GAEG;AACU,QAAA,oBAAoB,GAAG,gBAAgB,CAAS,iBAAiB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { App } from '@lcap/nasl-concepts';
2
2
  import type { NaslServer } from '../../server/naslServer';
3
- import type { InstructAction } from '../storage/types';
3
+ import type { InstructAction, InstructStatus } from '../storage/types';
4
4
  export { Instruct, Operation, InstructAction, } from '../storage/types';
5
5
  /** 规则判定状态 */
6
6
  export declare enum InstructState {
@@ -41,6 +41,7 @@ export declare enum DeploymentState {
41
41
  export interface BaseRuleContext {
42
42
  app: App;
43
43
  naslServer: NaslServer;
44
+ instructStatus: InstructStatus;
44
45
  }
45
46
  export interface RuleContext extends BaseRuleContext {
46
47
  actions: InstructAction[];
@@ -56,6 +57,10 @@ export declare enum RuleResult {
56
57
  export interface Rule {
57
58
  /** 规则名称 */
58
59
  name: string;
60
+ /**
61
+ * IDE 初始化时
62
+ */
63
+ afterInit?(context: Omit<BaseRuleContext, 'naslServer'>): void | Promise<void>;
59
64
  /**
60
65
  * Nasl 变更时的判定规则
61
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/service/instruct-ruler/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EACL,QAAQ,EACR,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,oBAAY,aAAa;IACvB;;;;OAIG;IACH,OAAO,IAAA;IACP;;;;OAIG;IACH,kBAAkB,IAAA;IAClB;;;;OAIG;IACH,kBAAkB,IAAA;IAClB;;;;OAIG;IACH,gBAAgB,IAAA;CACjB;AAED,WAAW;AACX,oBAAY,eAAe;IACzB,UAAU;IACV,aAAa,IAAA;IACb,YAAY;IACZ,eAAe,IAAA;IACf,aAAa;IACb,gBAAgB,IAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,oBAAY,UAAU;IACpB,WAAW;IACX,QAAQ,IAAA;IACR,WAAW;IACX,OAAO,IAAA;IACP,cAAc;IACd,OAAO,IAAA;CACR;AAED,MAAM,WAAW,IAAI;IACnB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/F;;OAEG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC3E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/service/instruct-ruler/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EACL,QAAQ,EACR,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,oBAAY,aAAa;IACvB;;;;OAIG;IACH,OAAO,IAAA;IACP;;;;OAIG;IACH,kBAAkB,IAAA;IAClB;;;;OAIG;IACH,kBAAkB,IAAA;IAClB;;;;OAIG;IACH,gBAAgB,IAAA;CACjB;AAED,WAAW;AACX,oBAAY,eAAe;IACzB,UAAU;IACV,aAAa,IAAA;IACb,YAAY;IACZ,eAAe,IAAA;IACf,aAAa;IACb,gBAAgB,IAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,oBAAY,UAAU;IACpB,WAAW;IACX,QAAQ,IAAA;IACR,WAAW;IACX,OAAO,IAAA;IACP,cAAc;IACd,OAAO,IAAA;CACR;AAED,MAAM,WAAW,IAAI;IACnB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E;;OAEG;IACH,aAAa,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/F;;OAEG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/service/instruct-ruler/types.ts"],"names":[],"mappings":";;;AAUA,aAAa;AACb,IAAY,aAyBX;AAzBD,WAAY,aAAa;IACvB;;;;OAIG;IACH,uDAAO,CAAA;IACP;;;;OAIG;IACH,6EAAkB,CAAA;IAClB;;;;OAIG;IACH,6EAAkB,CAAA;IAClB;;;;OAIG;IACH,yEAAgB,CAAA;AAClB,CAAC,EAzBW,aAAa,6BAAb,aAAa,QAyBxB;AAED,WAAW;AACX,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,UAAU;IACV,uEAAa,CAAA;IACb,YAAY;IACZ,2EAAe,CAAA;IACf,aAAa;IACb,6EAAgB,CAAA;AAClB,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAWD,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,WAAW;IACX,mDAAQ,CAAA;IACR,WAAW;IACX,iDAAO,CAAA;IACP,cAAc;IACd,iDAAO,CAAA;AACT,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/service/instruct-ruler/types.ts"],"names":[],"mappings":";;;AAUA,aAAa;AACb,IAAY,aAyBX;AAzBD,WAAY,aAAa;IACvB;;;;OAIG;IACH,uDAAO,CAAA;IACP;;;;OAIG;IACH,6EAAkB,CAAA;IAClB;;;;OAIG;IACH,6EAAkB,CAAA;IAClB;;;;OAIG;IACH,yEAAgB,CAAA;AAClB,CAAC,EAzBW,aAAa,6BAAb,aAAa,QAyBxB;AAED,WAAW;AACX,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,UAAU;IACV,uEAAa,CAAA;IACb,YAAY;IACZ,2EAAe,CAAA;IACf,aAAa;IACb,6EAAgB,CAAA;AAClB,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAYD,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,WAAW;IACX,mDAAQ,CAAA;IACR,WAAW;IACX,iDAAO,CAAA;IACP,cAAc;IACd,iDAAO,CAAA;AACT,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB"}
@@ -15,7 +15,7 @@ export declare const batchAction: ({ body, headers }: {
15
15
  export declare const batchInstruct: ({ body, headers }: {
16
16
  body: any[];
17
17
  headers: Record<string, string>;
18
- }) => any;
18
+ }) => Promise<BatchInstructResult>;
19
19
  export declare const breakpoint: ({ body }: {
20
20
  body: any;
21
21
  }) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/service/storage/init.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,mBAAmB,EAAkC,MAAM,kBAAkB,CAAC;AAQvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAY,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGpF,OAAO,EACL,GAAG,EAaJ,MAAM,gBAAgB,CAAC;AASxB,eAAO,MAAM,UAAU;;;;SAA4B,CAAC;AACpD,eAAO,MAAM,WAAW;;;SAA6B,CAAC;AACtD,eAAO,MAAM,aAAa;;;SAA+B,CAAC;AAC1D,eAAO,MAAM,UAAU;;SAA4B,CAAC;AACpD,eAAO,MAAM,mBAAmB;;SAAqC,CAAC;AAItE,eAAO,MAAM,aAAa;;SAA+B,CAAC;AA6N1D,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,iBAelF;AAoUD,cAAM,SAAS;IACb,KAAK,EAAE,UAAU,EAAE,CAAM;IACzB,SAAS,EAAE,UAAU,EAAE,CAAM;IAC7B,OAAO,EAAE,OAAO,CAAS;IACzB,YAAY,EAAE,MAAM,CAAM;IAC1B,MAAM,CAAC,EAAE,eAAe,CAAa;IAErC,OAAO,CAAC,IAAI,EAAE,UAAU;IAWxB,KAAK;IAOC,GAAG,CAAC,KAAK,eAAa;IAqD5B,KAAK;IAUC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,kBAAsC;IAqB3E,OAAO,CAAC,GAAG,EAAE,GAAG;CAYjB;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC;AAkHzC,MAAM,WAAW,QAAS,SAAQ,GAAG;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,QAgItC;AA2DD,eAAO,MAAM,QAAQ,UAAW,GAAG,SAIlC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,gBAgG3C;AAGD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,GAAG,iBA0DhD;AAED;;;GAGG;AACH,wBAAgB,WAAW,QAK1B"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/service/storage/init.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,mBAAmB,EAAkC,MAAM,kBAAkB,CAAC;AAQvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAY,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGpF,OAAO,EACL,GAAG,EAaJ,MAAM,gBAAgB,CAAC;AASxB,eAAO,MAAM,UAAU;;;;SAA4B,CAAC;AACpD,eAAO,MAAM,WAAW;;;SAA6B,CAAC;AACtD,eAAO,MAAM,aAAa;;;kCAA+B,CAAC;AAC1D,eAAO,MAAM,UAAU;;SAA4B,CAAC;AACpD,eAAO,MAAM,mBAAmB;;SAAqC,CAAC;AAItE,eAAO,MAAM,aAAa;;SAA+B,CAAC;AA6N1D,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,iBAelF;AAoUD,cAAM,SAAS;IACb,KAAK,EAAE,UAAU,EAAE,CAAM;IACzB,SAAS,EAAE,UAAU,EAAE,CAAM;IAC7B,OAAO,EAAE,OAAO,CAAS;IACzB,YAAY,EAAE,MAAM,CAAM;IAC1B,MAAM,CAAC,EAAE,eAAe,CAAa;IAErC,OAAO,CAAC,IAAI,EAAE,UAAU;IAWxB,KAAK;IAOC,GAAG,CAAC,KAAK,eAAa;IAqD5B,KAAK;IAUC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,kBAAsC;IAqB3E,OAAO,CAAC,GAAG,EAAE,GAAG;CAYjB;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC;AAmHzC,MAAM,WAAW,QAAS,SAAQ,GAAG;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,QAgItC;AA4DD,eAAO,MAAM,QAAQ,UAAW,GAAG,SAIlC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,gBAoG3C;AAGD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,GAAG,iBA0DhD;AAED;;;GAGG;AACH,wBAAgB,WAAW,QAK1B"}
@@ -785,9 +785,10 @@ async function _saveNasl(options) {
785
785
  },
786
786
  });
787
787
  });
788
- await (0, instruct_ruler_1.assertBatchInstruct)(app.id, operationList, {
788
+ await (0, instruct_ruler_1.assertBatchInstruct)(operationList, {
789
789
  app,
790
790
  naslServer: app.naslServer,
791
+ instructStatus: res,
791
792
  });
792
793
  }
793
794
  else if (config_1.config.storage.protocol === 'mock') {
@@ -953,6 +954,7 @@ async function getBatchAdditionalData(appId) {
953
954
  });
954
955
  return {
955
956
  globalChangedTime,
957
+ preGlobalChangedTime: 0,
956
958
  tabTimestamp: headers['tabtimestamp'],
957
959
  };
958
960
  }
@@ -1014,7 +1016,6 @@ async function loadApp(appId) {
1014
1016
  useCache ? Promise.resolve() : utils_1.LsCache.clearCache(appId),
1015
1017
  ];
1016
1018
  const [batchQueryRes] = await Promise.all(promises);
1017
- console.timeEnd('batchQuery');
1018
1019
  tabTimestamp = additionalData.tabTimestamp;
1019
1020
  if (utils_1.isDebugMode) {
1020
1021
  if (useCache) {
@@ -1032,6 +1033,10 @@ async function loadApp(appId) {
1032
1033
  ft.frameworkKind = 'vue2';
1033
1034
  }
1034
1035
  });
1036
+ await (0, instruct_ruler_1.assertIdeInitialize)({
1037
+ app,
1038
+ instructStatus: additionalData,
1039
+ });
1035
1040
  (async () => {
1036
1041
  const breakpointRes = await service_1.default.breakpoint({
1037
1042
  body: { appId }