@lcap/nasl 3.8.2-beta.9 → 3.8.3-beta.2

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 (233) hide show
  1. package/ai-engineer.config.js +617 -0
  2. package/out/common/BaseNode.d.ts +9 -4
  3. package/out/common/BaseNode.js +43 -10
  4. package/out/common/BaseNode.js.map +1 -1
  5. package/out/concepts/AuthLogicForCallInterface__.js +2 -50
  6. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  7. package/out/concepts/BackendVariable__.js +16 -1
  8. package/out/concepts/BackendVariable__.js.map +1 -1
  9. package/out/concepts/BindAttribute__.js +12 -4
  10. package/out/concepts/BindAttribute__.js.map +1 -1
  11. package/out/concepts/BindDirective__.js +1 -1
  12. package/out/concepts/BindDirective__.js.map +1 -1
  13. package/out/concepts/BindStyle__.js +1 -1
  14. package/out/concepts/BindStyle__.js.map +1 -1
  15. package/out/concepts/BusinessComponent__.js +2 -42
  16. package/out/concepts/BusinessComponent__.js.map +1 -1
  17. package/out/concepts/BusinessLogic__.js +2 -50
  18. package/out/concepts/BusinessLogic__.js.map +1 -1
  19. package/out/concepts/CallFunction__.d.ts +1 -1
  20. package/out/concepts/CallFunction__.js +1 -1
  21. package/out/concepts/CallLogic__.js +7 -1
  22. package/out/concepts/CallLogic__.js.map +1 -1
  23. package/out/concepts/CallQueryComponent__.d.ts +1 -0
  24. package/out/concepts/CallQueryComponent__.js +23 -12
  25. package/out/concepts/CallQueryComponent__.js.map +1 -1
  26. package/out/concepts/Destination__.js +11 -8
  27. package/out/concepts/Destination__.js.map +1 -1
  28. package/out/concepts/EntityProperty__.js +3 -2
  29. package/out/concepts/EntityProperty__.js.map +1 -1
  30. package/out/concepts/Entity__.js +1 -1
  31. package/out/concepts/Entity__.js.map +1 -1
  32. package/out/concepts/Identifier__.d.ts +2 -0
  33. package/out/concepts/Identifier__.js +51 -5
  34. package/out/concepts/Identifier__.js.map +1 -1
  35. package/out/concepts/Interface__.js +1 -1
  36. package/out/concepts/Interface__.js.map +1 -1
  37. package/out/concepts/Logic__.js +33 -111
  38. package/out/concepts/Logic__.js.map +1 -1
  39. package/out/concepts/MemberExpression__.d.ts +1 -1
  40. package/out/concepts/MemberExpression__.js +15 -3
  41. package/out/concepts/MemberExpression__.js.map +1 -1
  42. package/out/concepts/OqlQueryComponent__.js +37 -12
  43. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  44. package/out/concepts/OverriddenLogic__.js +2 -50
  45. package/out/concepts/OverriddenLogic__.js.map +1 -1
  46. package/out/concepts/Param__.js +5 -4
  47. package/out/concepts/Param__.js.map +1 -1
  48. package/out/concepts/ProcessElementV2__.js +4 -0
  49. package/out/concepts/ProcessElementV2__.js.map +1 -1
  50. package/out/concepts/ProcessElement__.js +4 -0
  51. package/out/concepts/ProcessElement__.js.map +1 -1
  52. package/out/concepts/ProcessV2__.js +4 -0
  53. package/out/concepts/ProcessV2__.js.map +1 -1
  54. package/out/concepts/Process__.js +4 -0
  55. package/out/concepts/Process__.js.map +1 -1
  56. package/out/concepts/QueryOrderByExpression__.d.ts +0 -1
  57. package/out/concepts/QueryOrderByExpression__.js +0 -1
  58. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  59. package/out/concepts/Structure__.js +5 -7
  60. package/out/concepts/Structure__.js.map +1 -1
  61. package/out/concepts/SubLogic__.js +5 -50
  62. package/out/concepts/SubLogic__.js.map +1 -1
  63. package/out/concepts/Variable__.js +5 -0
  64. package/out/concepts/Variable__.js.map +1 -1
  65. package/out/concepts/ViewElement__.d.ts +1 -0
  66. package/out/concepts/ViewElement__.js +16 -6
  67. package/out/concepts/ViewElement__.js.map +1 -1
  68. package/out/concepts/View__.js +48 -49
  69. package/out/concepts/View__.js.map +1 -1
  70. package/out/natural/genNaturalTS.d.ts +45 -10
  71. package/out/natural/genNaturalTS.js +57 -33
  72. package/out/natural/genNaturalTS.js.map +1 -1
  73. package/out/natural/getContext/getUILib.js +6 -3
  74. package/out/natural/getContext/getUILib.js.map +1 -1
  75. package/out/natural/getContext/index.d.ts +20 -7
  76. package/out/natural/getContext/index.js +143 -23
  77. package/out/natural/getContext/index.js.map +1 -1
  78. package/out/natural/getContext/naslStdlibMap.js +8 -8
  79. package/out/natural/getContext/naslStdlibMap.js.map +1 -1
  80. package/out/natural/tools.d.ts +16 -0
  81. package/out/natural/tools.js +110 -2
  82. package/out/natural/tools.js.map +1 -1
  83. package/out/natural/transformTS2UI.js +343 -292
  84. package/out/natural/transformTS2UI.js.map +1 -1
  85. package/out/natural/transformTSCode.d.ts +3 -5
  86. package/out/natural/transformTSCode.js +30 -1089
  87. package/out/natural/transformTSCode.js.map +1 -1
  88. package/out/natural/transforms/registerTransform.d.ts +7 -0
  89. package/out/natural/transforms/registerTransform.js +24 -0
  90. package/out/natural/transforms/registerTransform.js.map +1 -0
  91. package/out/natural/transforms/transform2LogicItem.d.ts +24 -0
  92. package/out/natural/transforms/transform2LogicItem.js +1240 -0
  93. package/out/natural/transforms/transform2LogicItem.js.map +1 -0
  94. package/out/natural/transforms/transform2TypeAnnotation.d.ts +2 -0
  95. package/out/natural/transforms/transform2TypeAnnotation.js +86 -0
  96. package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -0
  97. package/out/natural/transforms/utils.d.ts +8 -0
  98. package/out/natural/transforms/utils.js +59 -0
  99. package/out/natural/transforms/utils.js.map +1 -0
  100. package/out/server/getLogics.js +12 -12
  101. package/out/server/getLogics.js.map +1 -1
  102. package/out/server/naslServer.d.ts +2 -2
  103. package/out/server/naslServer.js +48 -18
  104. package/out/server/naslServer.js.map +1 -1
  105. package/out/server/semanticData.d.ts +32 -0
  106. package/out/server/semanticData.js +371 -0
  107. package/out/server/semanticData.js.map +1 -0
  108. package/out/server/translator.js +5 -0
  109. package/out/server/translator.js.map +1 -1
  110. package/out/templator/block2nasl/jsx2nasl/index.d.ts +5 -0
  111. package/out/templator/block2nasl/jsx2nasl/index.js +15 -0
  112. package/out/templator/block2nasl/jsx2nasl/index.js.map +1 -0
  113. package/out/templator/block2nasl/jsx2nasl/transform-expression2nasl.d.ts +3 -0
  114. package/out/templator/block2nasl/jsx2nasl/transform-expression2nasl.js +213 -0
  115. package/out/templator/block2nasl/jsx2nasl/transform-expression2nasl.js.map +1 -0
  116. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.d.ts +14 -0
  117. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js +201 -0
  118. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js.map +1 -0
  119. package/out/templator/block2nasl/jsx2nasl/transform-tstype2nasl.d.ts +4 -0
  120. package/out/templator/block2nasl/jsx2nasl/transform-tstype2nasl.js +186 -0
  121. package/out/templator/block2nasl/jsx2nasl/transform-tstype2nasl.js.map +1 -0
  122. package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.d.ts +28 -0
  123. package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js +336 -0
  124. package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js.map +1 -0
  125. package/out/templator/block2nasl/jsx2nasl/utils.d.ts +2 -0
  126. package/out/templator/block2nasl/jsx2nasl/utils.js +26 -0
  127. package/out/templator/block2nasl/jsx2nasl/utils.js.map +1 -0
  128. package/out/templator/block2nasl/transformBlock2Nasl.d.ts +10 -0
  129. package/out/templator/block2nasl/transformBlock2Nasl.js +122 -0
  130. package/out/templator/block2nasl/transformBlock2Nasl.js.map +1 -0
  131. package/out/templator/block2nasl/viewMergeBlock.d.ts +9 -0
  132. package/out/templator/block2nasl/viewMergeBlock.js +111 -0
  133. package/out/templator/block2nasl/viewMergeBlock.js.map +1 -0
  134. package/out/translator/types.d.ts +2 -0
  135. package/out/translator/utils.js +1 -1
  136. package/out/translator/utils.js.map +1 -1
  137. package/out/utils/index.js +0 -4
  138. package/out/utils/index.js.map +1 -1
  139. package/out/utils/language-cache/constant.d.ts +2 -1
  140. package/out/utils/language-cache/constant.js +1 -0
  141. package/out/utils/language-cache/constant.js.map +1 -1
  142. package/out/utils/language-cache/nasl.d.ts +1 -0
  143. package/out/utils/language-cache/nasl.js +9 -1
  144. package/out/utils/language-cache/nasl.js.map +1 -1
  145. package/package.json +6 -2
  146. package/sandbox-natural/stdlib/nasl.core.d.ts +54 -0
  147. package/sandbox-natural/stdlib/nasl.oql.d.ts +22 -0
  148. package/sandbox-natural/stdlib/nasl.ui.d.ts +78 -0
  149. package/sandbox-natural/stdlib/nasl.ui.h5.d.ts +1684 -1643
  150. package/sandbox-natural/stdlib/nasl.ui.h5.json +15746 -15045
  151. package/sandbox-natural/stdlib/nasl.ui.pc.d.ts +5341 -5154
  152. package/sandbox-natural/stdlib/nasl.ui.pc.json +31176 -30681
  153. package/sandbox-natural/stdlib/{nasl.util.ts → nasl.util.d.ts} +49 -43
  154. package/src/common/BaseNode.ts +50 -8
  155. package/src/concepts/AuthLogicForCallInterface__.ts +3 -56
  156. package/src/concepts/BackendVariable__.ts +16 -1
  157. package/src/concepts/BindAttribute__.ts +18 -13
  158. package/src/concepts/BindDirective__.ts +1 -1
  159. package/src/concepts/BindStyle__.ts +1 -1
  160. package/src/concepts/BusinessComponent__.ts +6 -51
  161. package/src/concepts/BusinessLogic__.ts +4 -56
  162. package/src/concepts/CallFunction__.ts +1 -1
  163. package/src/concepts/CallLogic__.ts +21 -16
  164. package/src/concepts/CallQueryComponent__.ts +26 -12
  165. package/src/concepts/Destination__.ts +14 -12
  166. package/src/concepts/EntityProperty__.ts +5 -5
  167. package/src/concepts/Entity__.ts +1 -1
  168. package/src/concepts/Identifier__.ts +57 -6
  169. package/src/concepts/Interface__.ts +1 -1
  170. package/src/concepts/Logic__.ts +44 -134
  171. package/src/concepts/MemberExpression__.ts +21 -7
  172. package/src/concepts/OqlQueryComponent__.ts +29 -5
  173. package/src/concepts/OverriddenLogic__.ts +4 -56
  174. package/src/concepts/Param__.ts +5 -4
  175. package/src/concepts/ProcessElementV2__.ts +4 -0
  176. package/src/concepts/ProcessElement__.ts +4 -0
  177. package/src/concepts/ProcessV2__.ts +5 -0
  178. package/src/concepts/Process__.ts +4 -0
  179. package/src/concepts/QueryOrderByExpression__.ts +0 -1
  180. package/src/concepts/Structure__.ts +5 -7
  181. package/src/concepts/SubLogic__.ts +6 -56
  182. package/src/concepts/Variable__.ts +9 -5
  183. package/src/concepts/ViewElement__.ts +24 -7
  184. package/src/concepts/View__.ts +75 -76
  185. package/src/natural/genNaturalTS.ts +88 -39
  186. package/src/natural/getContext/getUILib.ts +6 -3
  187. package/src/natural/getContext/index.ts +125 -23
  188. package/src/natural/getContext/naslStdlibMap.ts +8 -8
  189. package/src/natural/tools.ts +107 -2
  190. package/src/natural/transformTS2UI.ts +190 -137
  191. package/src/natural/transformTSCode.ts +29 -1055
  192. package/src/natural/transforms/registerTransform.ts +34 -0
  193. package/src/natural/transforms/transform2LogicItem.ts +1335 -0
  194. package/src/natural/transforms/transform2TypeAnnotation.ts +77 -0
  195. package/src/natural/transforms/utils.ts +25 -0
  196. package/src/server/getLogics.ts +12 -12
  197. package/src/server/naslServer.ts +54 -19
  198. package/src/server/semanticData.ts +447 -0
  199. package/src/server/translator.ts +5 -0
  200. package/src/templator/block2nasl/jsx2nasl/index.ts +11 -0
  201. package/src/templator/block2nasl/jsx2nasl/transform-expression2nasl.ts +238 -0
  202. package/src/templator/block2nasl/jsx2nasl/transform-func2nasl.ts +241 -0
  203. package/src/templator/block2nasl/jsx2nasl/transform-tstype2nasl.ts +213 -0
  204. package/src/templator/block2nasl/jsx2nasl/transform-tsx2nasl.ts +422 -0
  205. package/src/templator/block2nasl/jsx2nasl/utils.ts +19 -0
  206. package/src/templator/block2nasl/transformBlock2Nasl.ts +99 -0
  207. package/src/templator/block2nasl/viewMergeBlock.ts +150 -0
  208. package/src/translator/types.ts +2 -0
  209. package/src/translator/utils.ts +2 -2
  210. package/src/utils/index.ts +0 -4
  211. package/src/utils/language-cache/constant.ts +1 -0
  212. package/src/utils/language-cache/nasl.ts +6 -0
  213. package/test/concepts/logic/__snapshots__/toEmbeddedTS.spec.ts.snap +182 -0
  214. package/test/concepts/logic/constant.ts +5 -0
  215. package/test/concepts/logic/fixtures/variable-host-call-logic-member-expression.json +267 -0
  216. package/test/concepts/logic/fixtures/variable-host-call-logic-nested-member-expression copy.json +457 -0
  217. package/test/concepts/logic/fixtures/variable-host-call-logic-with-handle-error-member-expression.json +267 -0
  218. package/test/concepts/logic/toEmbeddedTS.spec.ts +15 -0
  219. package/test/tdd/dataQuery/QueryFieldExpression/case1/ast.json +7 -0
  220. package/test/tdd/dataQuery/QueryFieldExpression/case1/natural.ts.txt +1 -0
  221. package/test/tdd/dataQuery/QueryFieldExpression/case2/ast.json +7 -0
  222. package/test/tdd/dataQuery/QueryFieldExpression/case2/natural.ts.txt +1 -0
  223. package/test/tdd/transform/case1/ast.json +243 -0
  224. package/test/tdd/transform/case1/natural.ts.md +20 -0
  225. package/test/tdd/transform/case2/ast.json +207 -0
  226. package/test/tdd/transform/case2/natural.ts.md +12 -0
  227. package/test/tdd.test.js +10 -0
  228. package/test/tdd.transform.test.js +38 -0
  229. package/test/utils.js +40 -0
  230. package/sandbox-natural/stdlib/nasl.core.ts +0 -36
  231. package/sandbox-natural/stdlib/nasl.oql.ts +0 -14
  232. package/sandbox-natural/stdlib/nasl.ui.pre.d.ts +0 -90
  233. package/sandbox-natural/stdlib/nasl.ui.ts +0 -63
@@ -23,8 +23,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getUnImportedModulesForLogic = exports.getUsedModule = exports.getLogicType = void 0;
26
+ exports.deduceTypeAll = exports.deduceType = exports.getUnImportedModulesForLogic = exports.getUsedModule = exports.getLogicType = void 0;
27
27
  const utils = __importStar(require("../utils"));
28
+ const translator_1 = require("../translator");
28
29
  // 获取当前逻辑的类型
29
30
  const getLogicType = (activeLogic) => {
30
31
  const { parentNode } = activeLogic || {};
@@ -57,7 +58,7 @@ const getUsedModule = (json) => {
57
58
  useModule.push(item);
58
59
  }
59
60
  }
60
- if (node.concept === 'ViewElement') {
61
+ if (node.concept === 'ViewElement' && node?.tag) {
61
62
  const symbol = utils.kebab2Camel(node.tag);
62
63
  const item = {
63
64
  symbol,
@@ -159,4 +160,111 @@ const getUnImportedModulesForLogic = (json, app, material) => {
159
160
  return needImportModule;
160
161
  };
161
162
  exports.getUnImportedModulesForLogic = getUnImportedModulesForLogic;
163
+ /**
164
+ * 找到当前节点所使用的当前逻辑、服务端逻辑、组件相关的推导类型
165
+ * @param app: 当前应用
166
+ * @returns 推导类型集合
167
+ */
168
+ const deduceType = async (app, activeDesignerNode) => {
169
+ const typeMap = {};
170
+ const { logics } = app;
171
+ const state = (0, translator_1.createCompilerState)('', { descriptionComment: true, needNamespace: true });
172
+ logics.forEach((logic) => {
173
+ if (logic?.returns?.length && !logic.name.startsWith('LCAP')) {
174
+ const ret = logic.returns[0];
175
+ const typeAnnotation = ret?.typeAnnotation || ret?.__TypeAnnotation;
176
+ if (typeAnnotation)
177
+ typeMap[ret.nodePath] = typeAnnotation.toNaturalTS(state);
178
+ }
179
+ });
180
+ const params = activeDesignerNode?.params.concat(activeDesignerNode?.virtualParams || []);
181
+ if (params?.length) {
182
+ let code = '';
183
+ params?.forEach((param, index) => {
184
+ let curCode = '';
185
+ if (param.name === 'event')
186
+ curCode += '';
187
+ else
188
+ curCode += param.toNaturalTS(state);
189
+ if (curCode && index !== params.length - 1)
190
+ curCode += ', ';
191
+ code += curCode;
192
+ });
193
+ if (code)
194
+ typeMap[activeDesignerNode.nodePath] = code;
195
+ }
196
+ const view = activeDesignerNode?.concept === 'View' ? activeDesignerNode?.elements?.[0] : activeDesignerNode.getAncestor('View')?.elements?.[0];
197
+ if (view) {
198
+ const dataSchemaMap = {};
199
+ utils.traverse(({ node }) => {
200
+ if (node.concept === 'ViewElement') {
201
+ const dataSchema = node.bindAttrs.find((_) => _.name === 'dataSchema');
202
+ if (dataSchema)
203
+ dataSchemaMap[dataSchema.nodePath] = node;
204
+ }
205
+ }, { node: view });
206
+ await Promise.all(Object.entries(dataSchemaMap).map(async ([nodePath, node]) => {
207
+ const res = await app.naslServer.getDataSchemaStructureOrTypeAnnotation(node);
208
+ if (res) {
209
+ const dataSchemaTs = res.toNaturalTS(state);
210
+ typeMap[nodePath] = dataSchemaTs;
211
+ }
212
+ }));
213
+ }
214
+ return { typeMap };
215
+ };
216
+ exports.deduceType = deduceType;
217
+ /**
218
+ * 组合所有的可推导类型
219
+ * @param app: 当前应用
220
+ * @returns 推导类型集合
221
+ */
222
+ const deduceTypeAll = async (app) => {
223
+ const typeMap = {};
224
+ const { logics } = app;
225
+ const state = (0, translator_1.createCompilerState)('', { descriptionComment: true, needNamespace: true });
226
+ logics.forEach((logic) => {
227
+ if (logic?.returns?.length && !logic.name.startsWith('LCAP')) {
228
+ const ret = logic.returns[0];
229
+ const typeAnnotation = ret?.typeAnnotation || ret?.__TypeAnnotation;
230
+ if (typeAnnotation)
231
+ typeMap[ret.nodePath] = typeAnnotation.toNaturalTS(state);
232
+ }
233
+ });
234
+ const dataSchemaMap = {};
235
+ utils.traverse(({ node }) => {
236
+ if (node?.concept === 'ViewElement') {
237
+ const dataSchema = node.bindAttrs.find((_) => _.name === 'dataSchema');
238
+ if (dataSchema)
239
+ dataSchemaMap[dataSchema.nodePath] = node;
240
+ }
241
+ if (node?.concept === 'Logic' && node?.parentNode?.concept === 'BindEvent') {
242
+ const params = node?.params.concat(node?.virtualParams || []);
243
+ if (params?.length) {
244
+ let code = '';
245
+ params?.forEach((param, index) => {
246
+ let curCode = '';
247
+ if (param.name === 'event')
248
+ curCode += '';
249
+ else
250
+ curCode += param.toNaturalTS(state);
251
+ if (curCode && index !== params.length - 1)
252
+ curCode += ', ';
253
+ code += curCode;
254
+ });
255
+ if (code)
256
+ typeMap[node.nodePath] = code;
257
+ }
258
+ }
259
+ }, { node: app }, { mode: 'onlyArray' });
260
+ await Promise.all(Object.entries(dataSchemaMap).map(async ([nodePath, node]) => {
261
+ const res = await app.naslServer.getDataSchemaStructureOrTypeAnnotation(node);
262
+ if (res) {
263
+ const dataSchemaTs = res.toNaturalTS(state);
264
+ typeMap[nodePath] = dataSchemaTs;
265
+ }
266
+ }));
267
+ return { typeMapAll: typeMap };
268
+ };
269
+ exports.deduceTypeAll = deduceTypeAll;
162
270
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/natural/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/natural/tools.ts"],"names":[],"mappings":"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"}