@lcap/nasl 3.2.0-beta.3 → 3.3.0-alpha

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 (842) hide show
  1. package/out/automate/engine/utils.js +4 -0
  2. package/out/automate/engine/utils.js.map +1 -1
  3. package/out/automate/upgrader/2.20.js +1 -1
  4. package/out/automate/upgrader/2.20.js.map +1 -1
  5. package/out/bak/translator.js +11 -15
  6. package/out/bak/translator.js.map +1 -1
  7. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  8. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  9. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  10. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  11. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  12. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  13. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  14. package/out/breakpoint/generator/CallbackNode.js +22 -0
  15. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  16. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  17. package/out/breakpoint/generator/FragmentNode.js +18 -0
  18. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  19. package/out/breakpoint/generator/index.js +25 -4
  20. package/out/breakpoint/generator/index.js.map +1 -1
  21. package/out/breakpoint/shared/constants.d.ts +3 -0
  22. package/out/breakpoint/shared/constants.js +6 -1
  23. package/out/breakpoint/shared/constants.js.map +1 -1
  24. package/out/breakpoint/shared/operations.js.map +1 -1
  25. package/out/breakpoint/shared/socket.d.ts +1 -1
  26. package/out/breakpoint/shared/socket.js +36 -7
  27. package/out/breakpoint/shared/socket.js.map +1 -1
  28. package/out/breakpoint/shared/utils.d.ts +2 -0
  29. package/out/breakpoint/shared/utils.js +15 -2
  30. package/out/breakpoint/shared/utils.js.map +1 -1
  31. package/out/breakpoint/store/core.d.ts +48 -2
  32. package/out/breakpoint/store/core.js +58 -32
  33. package/out/breakpoint/store/core.js.map +1 -1
  34. package/out/breakpoint/store/dock.js +1 -1
  35. package/out/breakpoint/store/dock.js.map +1 -1
  36. package/out/common/BaseNode.d.ts +2 -2
  37. package/out/common/BaseNode.js +110 -53
  38. package/out/common/BaseNode.js.map +1 -1
  39. package/out/common/Command.d.ts +13 -2
  40. package/out/common/Command.js +37 -9
  41. package/out/common/Command.js.map +1 -1
  42. package/out/common/EventEmitter.js.map +1 -1
  43. package/out/common/Messager.d.ts +3 -3
  44. package/out/common/Messager.js +6 -7
  45. package/out/common/Messager.js.map +1 -1
  46. package/out/common/asyncFuncMap.js.map +1 -1
  47. package/out/concepts/Abort__.js +6 -5
  48. package/out/concepts/Abort__.js.map +1 -1
  49. package/out/concepts/Anchor__.d.ts +4 -3
  50. package/out/concepts/Anchor__.js +24 -7
  51. package/out/concepts/Anchor__.js.map +1 -1
  52. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  53. package/out/concepts/AnonymousFunction__.js +48 -22
  54. package/out/concepts/AnonymousFunction__.js.map +1 -1
  55. package/out/concepts/App__.d.ts +421 -247
  56. package/out/concepts/App__.js +288 -54
  57. package/out/concepts/App__.js.map +1 -1
  58. package/out/concepts/Argument__.d.ts +4 -3
  59. package/out/concepts/Argument__.js +42 -11
  60. package/out/concepts/Argument__.js.map +1 -1
  61. package/out/concepts/Assignee__.d.ts +45 -45
  62. package/out/concepts/Assignee__.js +15 -15
  63. package/out/concepts/Assignee__.js.map +1 -1
  64. package/out/concepts/AssignmentLine__.js +6 -5
  65. package/out/concepts/AssignmentLine__.js.map +1 -1
  66. package/out/concepts/Assignment__.d.ts +7 -6
  67. package/out/concepts/Assignment__.js +41 -23
  68. package/out/concepts/Assignment__.js.map +1 -1
  69. package/out/concepts/Attribute__.d.ts +3 -3
  70. package/out/concepts/Attribute__.js +8 -7
  71. package/out/concepts/Attribute__.js.map +1 -1
  72. package/out/concepts/AuthInterface__.js +4 -3
  73. package/out/concepts/AuthInterface__.js.map +1 -1
  74. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  75. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  76. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  77. package/out/concepts/AuthLogic__.js +27 -13
  78. package/out/concepts/AuthLogic__.js.map +1 -1
  79. package/out/concepts/BackendVariable__.d.ts +5 -5
  80. package/out/concepts/BackendVariable__.js +23 -26
  81. package/out/concepts/BackendVariable__.js.map +1 -1
  82. package/out/concepts/Backend__.d.ts +18 -18
  83. package/out/concepts/Backend__.js +13 -13
  84. package/out/concepts/Backend__.js.map +1 -1
  85. package/out/concepts/BatchAssignment__.d.ts +34 -33
  86. package/out/concepts/BatchAssignment__.js +83 -43
  87. package/out/concepts/BatchAssignment__.js.map +1 -1
  88. package/out/concepts/BinaryExpression__.d.ts +7 -6
  89. package/out/concepts/BinaryExpression__.js +60 -24
  90. package/out/concepts/BinaryExpression__.js.map +1 -1
  91. package/out/concepts/BindAttribute__.d.ts +37 -37
  92. package/out/concepts/BindAttribute__.js +102 -58
  93. package/out/concepts/BindAttribute__.js.map +1 -1
  94. package/out/concepts/BindDirective__.d.ts +13 -13
  95. package/out/concepts/BindDirective__.js +23 -21
  96. package/out/concepts/BindDirective__.js.map +1 -1
  97. package/out/concepts/BindEvent__.d.ts +28 -28
  98. package/out/concepts/BindEvent__.js +150 -57
  99. package/out/concepts/BindEvent__.js.map +1 -1
  100. package/out/concepts/BindStyle__.d.ts +14 -15
  101. package/out/concepts/BindStyle__.js +16 -16
  102. package/out/concepts/BindStyle__.js.map +1 -1
  103. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  104. package/out/concepts/BooleanLiteral__.js +12 -5
  105. package/out/concepts/BooleanLiteral__.js.map +1 -1
  106. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  107. package/out/concepts/CallAuthInterface__.js +23 -22
  108. package/out/concepts/CallAuthInterface__.js.map +1 -1
  109. package/out/concepts/CallConnector__.d.ts +11 -9
  110. package/out/concepts/CallConnector__.js +79 -36
  111. package/out/concepts/CallConnector__.js.map +1 -1
  112. package/out/concepts/CallFunction__.d.ts +17 -16
  113. package/out/concepts/CallFunction__.js +95 -63
  114. package/out/concepts/CallFunction__.js.map +1 -1
  115. package/out/concepts/CallInterface__.d.ts +9 -8
  116. package/out/concepts/CallInterface__.js +109 -80
  117. package/out/concepts/CallInterface__.js.map +1 -1
  118. package/out/concepts/CallLogic__.d.ts +24 -20
  119. package/out/concepts/CallLogic__.js +209 -162
  120. package/out/concepts/CallLogic__.js.map +1 -1
  121. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  122. package/out/concepts/CallQueryComponent__.js +66 -63
  123. package/out/concepts/CallQueryComponent__.js.map +1 -1
  124. package/out/concepts/Comment__.d.ts +1 -0
  125. package/out/concepts/Comment__.js +13 -6
  126. package/out/concepts/Comment__.js.map +1 -1
  127. package/out/concepts/CompletionProperty__.d.ts +3 -3
  128. package/out/concepts/CompletionProperty__.js +16 -8
  129. package/out/concepts/CompletionProperty__.js.map +1 -1
  130. package/out/concepts/ConfigGroup__.d.ts +15 -15
  131. package/out/concepts/ConfigGroup__.js +9 -9
  132. package/out/concepts/ConfigGroup__.js.map +1 -1
  133. package/out/concepts/ConfigPropertyValue__.js +4 -3
  134. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  135. package/out/concepts/ConfigProperty__.d.ts +15 -15
  136. package/out/concepts/ConfigProperty__.js +10 -10
  137. package/out/concepts/ConfigProperty__.js.map +1 -1
  138. package/out/concepts/Configuration__.d.ts +15 -15
  139. package/out/concepts/Configuration__.js +9 -9
  140. package/out/concepts/Configuration__.js.map +1 -1
  141. package/out/concepts/Connection__.d.ts +166 -0
  142. package/out/concepts/Connection__.js +332 -0
  143. package/out/concepts/Connection__.js.map +1 -0
  144. package/out/concepts/ConnectorTrigger__.js +4 -3
  145. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  146. package/out/concepts/Connector__.d.ts +66 -66
  147. package/out/concepts/Connector__.js +16 -15
  148. package/out/concepts/Connector__.js.map +1 -1
  149. package/out/concepts/Constant__.d.ts +3 -3
  150. package/out/concepts/Constant__.js +8 -7
  151. package/out/concepts/Constant__.js.map +1 -1
  152. package/out/concepts/DataElement__.d.ts +3 -3
  153. package/out/concepts/DataElement__.js +6 -5
  154. package/out/concepts/DataElement__.js.map +1 -1
  155. package/out/concepts/DataSource__.d.ts +15 -15
  156. package/out/concepts/DataSource__.js +55 -39
  157. package/out/concepts/DataSource__.js.map +1 -1
  158. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  159. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  160. package/out/concepts/Destination__.d.ts +12 -11
  161. package/out/concepts/Destination__.js +93 -36
  162. package/out/concepts/Destination__.js.map +1 -1
  163. package/out/concepts/End__.js +15 -13
  164. package/out/concepts/End__.js.map +1 -1
  165. package/out/concepts/EntityIndex__.d.ts +1 -1
  166. package/out/concepts/EntityIndex__.js +6 -5
  167. package/out/concepts/EntityIndex__.js.map +1 -1
  168. package/out/concepts/EntityProperty__.d.ts +8 -7
  169. package/out/concepts/EntityProperty__.js +39 -24
  170. package/out/concepts/EntityProperty__.js.map +1 -1
  171. package/out/concepts/Entity__.d.ts +31 -30
  172. package/out/concepts/Entity__.js +40 -16
  173. package/out/concepts/Entity__.js.map +1 -1
  174. package/out/concepts/EnumItem__.d.ts +1 -0
  175. package/out/concepts/EnumItem__.js +12 -5
  176. package/out/concepts/EnumItem__.js.map +1 -1
  177. package/out/concepts/Enum__.d.ts +9 -8
  178. package/out/concepts/Enum__.js +24 -11
  179. package/out/concepts/Enum__.js.map +1 -1
  180. package/out/concepts/Event__.d.ts +15 -15
  181. package/out/concepts/Event__.js +6 -5
  182. package/out/concepts/Event__.js.map +1 -1
  183. package/out/concepts/ExternalDestination__.d.ts +6 -6
  184. package/out/concepts/ExternalDestination__.js +12 -11
  185. package/out/concepts/ExternalDestination__.js.map +1 -1
  186. package/out/concepts/ForEachStatement__.d.ts +25 -24
  187. package/out/concepts/ForEachStatement__.js +101 -36
  188. package/out/concepts/ForEachStatement__.js.map +1 -1
  189. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  190. package/out/concepts/FrontendLibrary__.js +12 -13
  191. package/out/concepts/FrontendLibrary__.js.map +1 -1
  192. package/out/concepts/FrontendVariable__.js +4 -3
  193. package/out/concepts/FrontendVariable__.js.map +1 -1
  194. package/out/concepts/Frontend__.d.ts +64 -65
  195. package/out/concepts/Frontend__.js +23 -27
  196. package/out/concepts/Frontend__.js.map +1 -1
  197. package/out/concepts/Function__.d.ts +64 -63
  198. package/out/concepts/Function__.js +49 -21
  199. package/out/concepts/Function__.js.map +1 -1
  200. package/out/concepts/Identifier__.js +37 -31
  201. package/out/concepts/Identifier__.js.map +1 -1
  202. package/out/concepts/IfStatement__.d.ts +20 -19
  203. package/out/concepts/IfStatement__.js +64 -34
  204. package/out/concepts/IfStatement__.js.map +1 -1
  205. package/out/concepts/Integration__.d.ts +3 -3
  206. package/out/concepts/Integration__.js +8 -7
  207. package/out/concepts/Integration__.js.map +1 -1
  208. package/out/concepts/InterfaceParam__.d.ts +3 -3
  209. package/out/concepts/InterfaceParam__.js +7 -6
  210. package/out/concepts/InterfaceParam__.js.map +1 -1
  211. package/out/concepts/Interface__.d.ts +33 -33
  212. package/out/concepts/Interface__.js +19 -20
  213. package/out/concepts/Interface__.js.map +1 -1
  214. package/out/concepts/JSBlock__.d.ts +1 -0
  215. package/out/concepts/JSBlock__.js +12 -5
  216. package/out/concepts/JSBlock__.js.map +1 -1
  217. package/out/concepts/JavaLogic__.js +10 -9
  218. package/out/concepts/JavaLogic__.js.map +1 -1
  219. package/out/concepts/LogicItem__.d.ts +6 -0
  220. package/out/concepts/LogicItem__.js +14 -5
  221. package/out/concepts/LogicItem__.js.map +1 -1
  222. package/out/concepts/Logic__.d.ts +80 -79
  223. package/out/concepts/Logic__.js +204 -58
  224. package/out/concepts/Logic__.js.map +1 -1
  225. package/out/concepts/MatchCase__.d.ts +39 -38
  226. package/out/concepts/MatchCase__.js +122 -37
  227. package/out/concepts/MatchCase__.js.map +1 -1
  228. package/out/concepts/Match__.d.ts +13 -11
  229. package/out/concepts/Match__.js +128 -60
  230. package/out/concepts/Match__.js.map +1 -1
  231. package/out/concepts/MemberExpression__.d.ts +7 -6
  232. package/out/concepts/MemberExpression__.js +52 -22
  233. package/out/concepts/MemberExpression__.js.map +1 -1
  234. package/out/concepts/MicroApp__.js +4 -3
  235. package/out/concepts/MicroApp__.js.map +1 -1
  236. package/out/concepts/Module__.d.ts +242 -154
  237. package/out/concepts/Module__.js +139 -33
  238. package/out/concepts/Module__.js.map +1 -1
  239. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  240. package/out/concepts/MsgTriggerEvent__.js +6 -5
  241. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  242. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  243. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  244. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  245. package/out/concepts/Namespace__.d.ts +180 -180
  246. package/out/concepts/Namespace__.js +33 -34
  247. package/out/concepts/Namespace__.js.map +1 -1
  248. package/out/concepts/NewComposite__.d.ts +49 -48
  249. package/out/concepts/NewComposite__.js +164 -49
  250. package/out/concepts/NewComposite__.js.map +1 -1
  251. package/out/concepts/NewList__.d.ts +19 -18
  252. package/out/concepts/NewList__.js +29 -12
  253. package/out/concepts/NewList__.js.map +1 -1
  254. package/out/concepts/NewMap__.d.ts +34 -33
  255. package/out/concepts/NewMap__.js +81 -72
  256. package/out/concepts/NewMap__.js.map +1 -1
  257. package/out/concepts/New__.js +6 -5
  258. package/out/concepts/New__.js.map +1 -1
  259. package/out/concepts/NullLiteral__.js +6 -5
  260. package/out/concepts/NullLiteral__.js.map +1 -1
  261. package/out/concepts/NumericLiteral__.d.ts +4 -3
  262. package/out/concepts/NumericLiteral__.js +15 -8
  263. package/out/concepts/NumericLiteral__.js.map +1 -1
  264. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  265. package/out/concepts/OqlQueryComponent__.js +25 -16
  266. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  267. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  268. package/out/concepts/OverriddenLogic__.js +79 -58
  269. package/out/concepts/OverriddenLogic__.js.map +1 -1
  270. package/out/concepts/Param__.d.ts +6 -5
  271. package/out/concepts/Param__.js +66 -29
  272. package/out/concepts/Param__.js.map +1 -1
  273. package/out/concepts/Point__.js +4 -3
  274. package/out/concepts/Point__.js.map +1 -1
  275. package/out/concepts/ProcessComponent__.d.ts +30 -30
  276. package/out/concepts/ProcessComponent__.js +8 -7
  277. package/out/concepts/ProcessComponent__.js.map +1 -1
  278. package/out/concepts/ProcessElement__.d.ts +96 -96
  279. package/out/concepts/ProcessElement__.js +34 -34
  280. package/out/concepts/ProcessElement__.js.map +1 -1
  281. package/out/concepts/ProcessOutcome__.js +6 -5
  282. package/out/concepts/ProcessOutcome__.js.map +1 -1
  283. package/out/concepts/ProcessOutcomes__.js +6 -5
  284. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  285. package/out/concepts/Process__.d.ts +75 -75
  286. package/out/concepts/Process__.js +33 -30
  287. package/out/concepts/Process__.js.map +1 -1
  288. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  289. package/out/concepts/QueryAggregateExpression__.js +8 -7
  290. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  291. package/out/concepts/QueryFieldExpression__.js +7 -6
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  294. package/out/concepts/QueryFromExpression__.js +8 -7
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  297. package/out/concepts/QueryGroupByExpression__.js +9 -10
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  300. package/out/concepts/QueryJoinExpression__.js +11 -10
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  303. package/out/concepts/QueryLimitExpression__.js +9 -8
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  306. package/out/concepts/QueryOrderByExpression__.js +9 -8
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  309. package/out/concepts/QuerySelectExpression__.js +9 -8
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.js +4 -3
  312. package/out/concepts/Rect__.js.map +1 -1
  313. package/out/concepts/Return__.d.ts +4 -3
  314. package/out/concepts/Return__.js +37 -18
  315. package/out/concepts/Return__.js.map +1 -1
  316. package/out/concepts/Role__.js +9 -9
  317. package/out/concepts/Role__.js.map +1 -1
  318. package/out/concepts/SelectMembers__.d.ts +18 -18
  319. package/out/concepts/SelectMembers__.js +10 -9
  320. package/out/concepts/SelectMembers__.js.map +1 -1
  321. package/out/concepts/Slot__.d.ts +3 -3
  322. package/out/concepts/Slot__.js +6 -5
  323. package/out/concepts/Slot__.js.map +1 -1
  324. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  325. package/out/concepts/SqlQueryComponent__.js +21 -12
  326. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  327. package/out/concepts/Start__.js +6 -5
  328. package/out/concepts/Start__.js.map +1 -1
  329. package/out/concepts/StringInterpolation__.d.ts +16 -15
  330. package/out/concepts/StringInterpolation__.js +37 -14
  331. package/out/concepts/StringInterpolation__.js.map +1 -1
  332. package/out/concepts/StringLiteral__.d.ts +1 -0
  333. package/out/concepts/StringLiteral__.js +13 -8
  334. package/out/concepts/StringLiteral__.js.map +1 -1
  335. package/out/concepts/StructureProperty__.d.ts +4 -3
  336. package/out/concepts/StructureProperty__.js +22 -9
  337. package/out/concepts/StructureProperty__.js.map +1 -1
  338. package/out/concepts/Structure__.d.ts +31 -30
  339. package/out/concepts/Structure__.js +27 -15
  340. package/out/concepts/Structure__.js.map +1 -1
  341. package/out/concepts/SwitchCase__.d.ts +12 -11
  342. package/out/concepts/SwitchCase__.js +69 -31
  343. package/out/concepts/SwitchCase__.js.map +1 -1
  344. package/out/concepts/SwitchStatement__.d.ts +9 -8
  345. package/out/concepts/SwitchStatement__.js +27 -7
  346. package/out/concepts/SwitchStatement__.js.map +1 -1
  347. package/out/concepts/Theme__.js +4 -3
  348. package/out/concepts/Theme__.js.map +1 -1
  349. package/out/concepts/Transactional__.js +4 -3
  350. package/out/concepts/Transactional__.js.map +1 -1
  351. package/out/concepts/TriggerEvent__.d.ts +15 -15
  352. package/out/concepts/TriggerEvent__.js +6 -5
  353. package/out/concepts/TriggerEvent__.js.map +1 -1
  354. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  355. package/out/concepts/TriggerLauncher__.js +54 -32
  356. package/out/concepts/TriggerLauncher__.js.map +1 -1
  357. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  358. package/out/concepts/TypeAnnotation__.js +144 -124
  359. package/out/concepts/TypeAnnotation__.js.map +1 -1
  360. package/out/concepts/TypeParam__.d.ts +1 -0
  361. package/out/concepts/TypeParam__.js +12 -5
  362. package/out/concepts/TypeParam__.js.map +1 -1
  363. package/out/concepts/UnaryExpression__.d.ts +4 -3
  364. package/out/concepts/UnaryExpression__.js +31 -20
  365. package/out/concepts/UnaryExpression__.js.map +1 -1
  366. package/out/concepts/Unparsed__.d.ts +1 -0
  367. package/out/concepts/Unparsed__.js +12 -5
  368. package/out/concepts/Unparsed__.js.map +1 -1
  369. package/out/concepts/UseComponent__.js +4 -3
  370. package/out/concepts/UseComponent__.js.map +1 -1
  371. package/out/concepts/ValidationRule__.d.ts +14 -14
  372. package/out/concepts/ValidationRule__.js +19 -17
  373. package/out/concepts/ValidationRule__.js.map +1 -1
  374. package/out/concepts/Variable__.d.ts +4 -3
  375. package/out/concepts/Variable__.js +39 -23
  376. package/out/concepts/Variable__.js.map +1 -1
  377. package/out/concepts/ViewBlock__.js +4 -3
  378. package/out/concepts/ViewBlock__.js.map +1 -1
  379. package/out/concepts/ViewComponent__.d.ts +90 -90
  380. package/out/concepts/ViewComponent__.js +16 -15
  381. package/out/concepts/ViewComponent__.js.map +1 -1
  382. package/out/concepts/ViewElement__.d.ts +92 -86
  383. package/out/concepts/ViewElement__.js +258 -200
  384. package/out/concepts/ViewElement__.js.map +1 -1
  385. package/out/concepts/View__.d.ts +92 -92
  386. package/out/concepts/View__.js +173 -63
  387. package/out/concepts/View__.js.map +1 -1
  388. package/out/concepts/WhileStatement__.d.ts +12 -11
  389. package/out/concepts/WhileStatement__.js +46 -23
  390. package/out/concepts/WhileStatement__.js.map +1 -1
  391. package/out/concepts/basics/stdlib/index.js +17 -1
  392. package/out/concepts/basics/stdlib/index.js.map +1 -1
  393. package/out/concepts/basics/stdlib/nasl.browser.js +36 -0
  394. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  395. package/out/concepts/basics/stdlib/nasl.event.d.ts +3 -0
  396. package/out/concepts/basics/stdlib/nasl.event.js +23 -0
  397. package/out/concepts/basics/stdlib/nasl.event.js.map +1 -0
  398. package/out/concepts/basics/stdlib/nasl.ui.js +45 -0
  399. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  400. package/out/concepts/basics/stdlib/nasl.util.js +6 -22
  401. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  402. package/out/concepts/index__.d.ts +2 -1
  403. package/out/concepts/index__.js +2 -1
  404. package/out/concepts/index__.js.map +1 -1
  405. package/out/concepts/types__.d.ts +2 -1
  406. package/out/decorators/index.d.ts +1 -1
  407. package/out/decorators/index.js +20 -7
  408. package/out/decorators/index.js.map +1 -1
  409. package/out/decorators/promise.d.ts +7 -0
  410. package/out/decorators/promise.js +28 -0
  411. package/out/decorators/promise.js.map +1 -0
  412. package/out/enums/KEYWORDS.js.map +1 -1
  413. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  414. package/out/generator/compileComponent.js.map +1 -1
  415. package/out/generator/genBundleFiles.d.ts +4 -1
  416. package/out/generator/genBundleFiles.js +15 -11
  417. package/out/generator/genBundleFiles.js.map +1 -1
  418. package/out/generator/genHash.js.map +1 -1
  419. package/out/generator/genMetaData.js +12 -8
  420. package/out/generator/genMetaData.js.map +1 -1
  421. package/out/generator/genReleaseBody.js +33 -35
  422. package/out/generator/genReleaseBody.js.map +1 -1
  423. package/out/generator/microApp.js +2 -1
  424. package/out/generator/microApp.js.map +1 -1
  425. package/out/generator/permission.js +31 -30
  426. package/out/generator/permission.js.map +1 -1
  427. package/out/generator/styleReplacer.js +4 -7
  428. package/out/generator/styleReplacer.js.map +1 -1
  429. package/out/index.d.ts +0 -2
  430. package/out/index.js +0 -3
  431. package/out/index.js.map +1 -1
  432. package/out/manager/diagnostic.d.ts +1 -1
  433. package/out/manager/diagnostic.js.map +1 -1
  434. package/out/manager/stepRecorder.js +13 -9
  435. package/out/manager/stepRecorder.js.map +1 -1
  436. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  437. package/out/natural/RequirementAnalyzer.js +196 -0
  438. package/out/natural/RequirementAnalyzer.js.map +1 -0
  439. package/out/natural/RequirementExecutor.d.ts +51 -0
  440. package/out/natural/RequirementExecutor.js +692 -0
  441. package/out/natural/RequirementExecutor.js.map +1 -0
  442. package/out/natural/componentData.d.ts +31 -0
  443. package/out/natural/componentData.js +85 -0
  444. package/out/natural/componentData.js.map +1 -0
  445. package/out/natural/genNaturalTS.d.ts +3 -0
  446. package/out/natural/genNaturalTS.js +76 -0
  447. package/out/natural/genNaturalTS.js.map +1 -0
  448. package/out/natural/index.d.ts +4 -0
  449. package/out/natural/index.js +21 -0
  450. package/out/natural/index.js.map +1 -0
  451. package/out/natural/knowledgeMap.d.ts +4 -0
  452. package/out/natural/knowledgeMap.js +40 -0
  453. package/out/natural/knowledgeMap.js.map +1 -0
  454. package/out/natural/naslStdlibMap.d.ts +2 -0
  455. package/out/natural/naslStdlibMap.js +26 -0
  456. package/out/natural/naslStdlibMap.js.map +1 -0
  457. package/out/natural/transformTSCode.d.ts +7 -0
  458. package/out/natural/transformTSCode.js +760 -0
  459. package/out/natural/transformTSCode.js.map +1 -0
  460. package/out/sentry/index.d.ts +2 -1
  461. package/out/sentry/index.js.map +1 -1
  462. package/out/server/createUiTs.js +28 -16
  463. package/out/server/createUiTs.js.map +1 -1
  464. package/out/server/entity2LogicNamespace.js +24 -22
  465. package/out/server/entity2LogicNamespace.js.map +1 -1
  466. package/out/server/event.d.ts +12 -0
  467. package/out/server/event.js +52 -28
  468. package/out/server/event.js.map +1 -1
  469. package/out/server/extendBaseNode.js +55 -70
  470. package/out/server/extendBaseNode.js.map +1 -1
  471. package/out/server/formatTsUtils.js +46 -50
  472. package/out/server/formatTsUtils.js.map +1 -1
  473. package/out/server/getConnector.d.ts +3 -3
  474. package/out/server/getConnector.js +7 -8
  475. package/out/server/getConnector.js.map +1 -1
  476. package/out/server/getExtensionModules.js +2 -2
  477. package/out/server/getExtensionModules.js.map +1 -1
  478. package/out/server/getFunctions.js.map +1 -1
  479. package/out/server/getInterfaces.js.map +1 -1
  480. package/out/server/getLogging.js.map +1 -1
  481. package/out/server/getLogics.d.ts +1 -1
  482. package/out/server/getLogics.js +55 -8
  483. package/out/server/getLogics.js.map +1 -1
  484. package/out/server/getMemberIdentifier.js +13 -10
  485. package/out/server/getMemberIdentifier.js.map +1 -1
  486. package/out/server/getProcessComponents.js.map +1 -1
  487. package/out/server/getProcesses.js +21 -29
  488. package/out/server/getProcesses.js.map +1 -1
  489. package/out/server/getScope.js.map +1 -1
  490. package/out/server/getValidates.js.map +1 -1
  491. package/out/server/index.js +0 -1
  492. package/out/server/index.js.map +1 -1
  493. package/out/server/naslServer.d.ts +99 -94
  494. package/out/server/naslServer.js +490 -469
  495. package/out/server/naslServer.js.map +1 -1
  496. package/out/server/naslStdlibMap.js +6 -2
  497. package/out/server/naslStdlibMap.js.map +1 -1
  498. package/out/server/process2LogicNamespace.js.map +1 -1
  499. package/out/server/translator.d.ts +1 -1
  500. package/out/server/translator.js +52 -47
  501. package/out/server/translator.js.map +1 -1
  502. package/out/service/storage/init.d.ts +15 -1
  503. package/out/service/storage/init.js +65 -56
  504. package/out/service/storage/init.js.map +1 -1
  505. package/out/templator/genCallComponentLogic.js +1 -2
  506. package/out/templator/genCallComponentLogic.js.map +1 -1
  507. package/out/templator/genCreateBlock.js +14 -9
  508. package/out/templator/genCreateBlock.js.map +1 -1
  509. package/out/templator/genCurdEditMultipleKeyBlock.js +23 -14
  510. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  511. package/out/templator/genCurdMultipleKeyBlock.js +26 -30
  512. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  513. package/out/templator/genEditTableBlock.d.ts +1 -1
  514. package/out/templator/genEditTableBlock.js +14 -19
  515. package/out/templator/genEditTableBlock.js.map +1 -1
  516. package/out/templator/genEnumSelectBlock.js +1 -1
  517. package/out/templator/genEnumSelectBlock.js.map +1 -1
  518. package/out/templator/genGetBlock.js +2 -2
  519. package/out/templator/genGetBlock.js.map +1 -1
  520. package/out/templator/genGridViewBlock.d.ts +2 -2
  521. package/out/templator/genGridViewBlock.js +18 -28
  522. package/out/templator/genGridViewBlock.js.map +1 -1
  523. package/out/templator/genListViewBlock.d.ts +2 -2
  524. package/out/templator/genListViewBlock.js +9 -16
  525. package/out/templator/genListViewBlock.js.map +1 -1
  526. package/out/templator/genQueryComponent.js +22 -15
  527. package/out/templator/genQueryComponent.js.map +1 -1
  528. package/out/templator/genSelectBlock.d.ts +2 -2
  529. package/out/templator/genSelectBlock.js +21 -48
  530. package/out/templator/genSelectBlock.js.map +1 -1
  531. package/out/templator/genTableBlock.d.ts +1 -1
  532. package/out/templator/genTableBlock.js +11 -17
  533. package/out/templator/genTableBlock.js.map +1 -1
  534. package/out/templator/genUpdateBlock.js +13 -8
  535. package/out/templator/genUpdateBlock.js.map +1 -1
  536. package/out/templator/index.d.ts +4 -2
  537. package/out/templator/index.js +2 -2
  538. package/out/templator/index.js.map +1 -1
  539. package/out/templator/utils.d.ts +9 -2
  540. package/out/templator/utils.js +22 -22
  541. package/out/templator/utils.js.map +1 -1
  542. package/out/translator/index.js +27 -28
  543. package/out/translator/index.js.map +1 -1
  544. package/out/utils/index.d.ts +2 -1
  545. package/out/utils/index.js +8 -14
  546. package/out/utils/index.js.map +1 -1
  547. package/out/utils/logger.js.map +1 -1
  548. package/out/utils/sortTsString.js +3 -1
  549. package/out/utils/sortTsString.js.map +1 -1
  550. package/out/utils/string.js +8 -11
  551. package/out/utils/string.js.map +1 -1
  552. package/out/utils/time-slicing.d.ts +41 -0
  553. package/out/utils/time-slicing.js +81 -0
  554. package/out/utils/time-slicing.js.map +1 -0
  555. package/out/utils/traverse.js +4 -6
  556. package/out/utils/traverse.js.map +1 -1
  557. package/package.json +22 -20
  558. package/sandbox/stdlib/nasl.auth.ts +49 -46
  559. package/sandbox/stdlib/nasl.browser.ts +1 -0
  560. package/sandbox/stdlib/nasl.event.ts +4 -0
  561. package/sandbox/stdlib/nasl.http.ts +29 -31
  562. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  563. package/sandbox/stdlib/nasl.ui.ts +11 -0
  564. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  565. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  566. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  567. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  568. package/sandbox-natural/tsconfig.json +12 -0
  569. package/src/automate/engine/utils.js +3 -0
  570. package/src/automate/upgrader/2.20.js +1 -1
  571. package/src/bak/translator.js +92 -99
  572. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  573. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  574. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  575. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  576. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  577. package/src/breakpoint/generator/index.ts +107 -80
  578. package/src/breakpoint/shared/constants.ts +59 -53
  579. package/src/breakpoint/shared/operations.ts +6 -6
  580. package/src/breakpoint/shared/socket.ts +277 -223
  581. package/src/breakpoint/shared/utils.ts +166 -146
  582. package/src/breakpoint/store/core.ts +326 -297
  583. package/src/breakpoint/store/dock.ts +103 -103
  584. package/src/breakpoint/types/index.d.ts +11 -11
  585. package/src/common/BaseNode.ts +1103 -1020
  586. package/src/common/Command.ts +46 -16
  587. package/src/common/ComponentAPI.ts +72 -72
  588. package/src/common/EventEmitter.ts +80 -76
  589. package/src/common/Messager.ts +223 -224
  590. package/src/common/asyncFuncMap.ts +12 -12
  591. package/src/concepts/Abort__.ts +53 -60
  592. package/src/concepts/Anchor__.ts +158 -149
  593. package/src/concepts/AnonymousFunction__.ts +584 -551
  594. package/src/concepts/App__.ts +4278 -3669
  595. package/src/concepts/Argument__.ts +234 -210
  596. package/src/concepts/Assignee__.ts +680 -656
  597. package/src/concepts/AssignmentLine__.ts +80 -84
  598. package/src/concepts/Assignment__.ts +276 -264
  599. package/src/concepts/Attribute__.ts +183 -184
  600. package/src/concepts/AuthInterface__.ts +61 -63
  601. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  602. package/src/concepts/AuthLogic__.ts +210 -194
  603. package/src/concepts/BackendVariable__.ts +414 -415
  604. package/src/concepts/Backend__.ts +317 -303
  605. package/src/concepts/BatchAssignment__.ts +987 -939
  606. package/src/concepts/BinaryExpression__.ts +370 -341
  607. package/src/concepts/BindAttribute__.ts +1056 -1011
  608. package/src/concepts/BindDirective__.ts +540 -542
  609. package/src/concepts/BindEvent__.ts +992 -866
  610. package/src/concepts/BindStyle__.ts +442 -451
  611. package/src/concepts/BooleanLiteral__.ts +89 -90
  612. package/src/concepts/CallAuthInterface__.ts +458 -433
  613. package/src/concepts/CallConnector__.ts +209 -164
  614. package/src/concepts/CallFunction__.ts +600 -600
  615. package/src/concepts/CallInterface__.ts +752 -725
  616. package/src/concepts/CallLogic__.ts +1328 -1236
  617. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  618. package/src/concepts/Comment__.ts +69 -68
  619. package/src/concepts/CompletionProperty__.ts +250 -250
  620. package/src/concepts/ConfigGroup__.ts +312 -296
  621. package/src/concepts/ConfigPropertyValue__.ts +81 -82
  622. package/src/concepts/ConfigProperty__.ts +374 -357
  623. package/src/concepts/Configuration__.ts +288 -276
  624. package/src/concepts/Connection__.ts +426 -0
  625. package/src/concepts/ConnectorTrigger__.ts +146 -142
  626. package/src/concepts/Connector__.ts +1090 -1048
  627. package/src/concepts/Constant__.ts +226 -219
  628. package/src/concepts/DataElement__.ts +108 -115
  629. package/src/concepts/DataSource__.ts +508 -472
  630. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  631. package/src/concepts/Destination__.ts +808 -746
  632. package/src/concepts/End__.ts +85 -89
  633. package/src/concepts/EntityIndex__.ts +206 -202
  634. package/src/concepts/EntityProperty__.ts +825 -791
  635. package/src/concepts/Entity__.ts +921 -864
  636. package/src/concepts/EnumItem__.ts +133 -125
  637. package/src/concepts/Enum__.ts +347 -337
  638. package/src/concepts/Event__.ts +305 -292
  639. package/src/concepts/ExternalDestination__.ts +269 -280
  640. package/src/concepts/ForEachStatement__.ts +583 -531
  641. package/src/concepts/FrontendLibrary__.ts +507 -485
  642. package/src/concepts/FrontendVariable__.ts +44 -49
  643. package/src/concepts/Frontend__.ts +1239 -1187
  644. package/src/concepts/Function__.ts +1110 -1045
  645. package/src/concepts/Identifier__.ts +276 -272
  646. package/src/concepts/IfStatement__.ts +467 -436
  647. package/src/concepts/Integration__.ts +136 -137
  648. package/src/concepts/InterfaceParam__.ts +239 -238
  649. package/src/concepts/Interface__.ts +969 -948
  650. package/src/concepts/JSBlock__.ts +83 -83
  651. package/src/concepts/JavaLogic__.ts +101 -106
  652. package/src/concepts/LogicItem__.ts +307 -237
  653. package/src/concepts/Logic__.ts +2301 -2088
  654. package/src/concepts/MatchCase__.ts +886 -779
  655. package/src/concepts/Match__.ts +728 -659
  656. package/src/concepts/MemberExpression__.ts +330 -311
  657. package/src/concepts/MicroApp__.ts +91 -97
  658. package/src/concepts/Module__.ts +2590 -2275
  659. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  660. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  661. package/src/concepts/Namespace__.ts +2579 -2466
  662. package/src/concepts/NewComposite__.ts +1487 -1350
  663. package/src/concepts/NewList__.ts +464 -450
  664. package/src/concepts/NewMap__.ts +691 -674
  665. package/src/concepts/New__.ts +42 -49
  666. package/src/concepts/NullLiteral__.ts +66 -72
  667. package/src/concepts/NumericLiteral__.ts +169 -169
  668. package/src/concepts/OqlQueryComponent__.ts +282 -279
  669. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  670. package/src/concepts/Param__.ts +500 -442
  671. package/src/concepts/Point__.ts +53 -59
  672. package/src/concepts/ProcessComponent__.ts +497 -475
  673. package/src/concepts/ProcessElement__.ts +1852 -1780
  674. package/src/concepts/ProcessOutcome__.ts +59 -64
  675. package/src/concepts/ProcessOutcomes__.ts +59 -64
  676. package/src/concepts/Process__.ts +1491 -1428
  677. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  678. package/src/concepts/QueryFieldExpression__.ts +138 -142
  679. package/src/concepts/QueryFromExpression__.ts +246 -254
  680. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  681. package/src/concepts/QueryJoinExpression__.ts +441 -438
  682. package/src/concepts/QueryLimitExpression__.ts +159 -166
  683. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  684. package/src/concepts/QuerySelectExpression__.ts +464 -439
  685. package/src/concepts/Rect__.ts +73 -79
  686. package/src/concepts/Return__.ts +366 -345
  687. package/src/concepts/Role__.ts +146 -147
  688. package/src/concepts/SelectMembers__.ts +358 -350
  689. package/src/concepts/Slot__.ts +152 -153
  690. package/src/concepts/SqlQueryComponent__.ts +230 -228
  691. package/src/concepts/Start__.ts +45 -52
  692. package/src/concepts/StringInterpolation__.ts +323 -296
  693. package/src/concepts/StringLiteral__.ts +113 -115
  694. package/src/concepts/StructureProperty__.ts +306 -295
  695. package/src/concepts/Structure__.ts +615 -578
  696. package/src/concepts/SwitchCase__.ts +326 -290
  697. package/src/concepts/SwitchStatement__.ts +236 -229
  698. package/src/concepts/Theme__.ts +64 -68
  699. package/src/concepts/Transactional__.ts +159 -153
  700. package/src/concepts/TriggerEvent__.ts +285 -274
  701. package/src/concepts/TriggerLauncher__.ts +232 -196
  702. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  703. package/src/concepts/TypeParam__.ts +48 -50
  704. package/src/concepts/UnaryExpression__.ts +163 -153
  705. package/src/concepts/Unparsed__.ts +81 -82
  706. package/src/concepts/UseComponent__.ts +53 -59
  707. package/src/concepts/ValidationRule__.ts +524 -544
  708. package/src/concepts/Variable__.ts +419 -397
  709. package/src/concepts/ViewBlock__.ts +58 -64
  710. package/src/concepts/ViewComponent__.ts +1323 -1261
  711. package/src/concepts/ViewElement__.ts +2537 -2351
  712. package/src/concepts/View__.ts +2461 -2245
  713. package/src/concepts/WhileStatement__.ts +293 -272
  714. package/src/concepts/basics/stdlib/index.ts +17 -1
  715. package/src/concepts/basics/stdlib/nasl.browser.ts +36 -0
  716. package/src/concepts/basics/stdlib/nasl.event.ts +18 -0
  717. package/src/concepts/basics/stdlib/nasl.ui.ts +45 -0
  718. package/src/concepts/basics/stdlib/nasl.util.ts +6 -22
  719. package/src/concepts/index__.ts +2 -1
  720. package/src/concepts/types__.ts +123 -121
  721. package/src/decorators/index.ts +75 -77
  722. package/src/decorators/promise.ts +28 -0
  723. package/src/enums/KEYWORDS.ts +1228 -1228
  724. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  725. package/src/generator/compileComponent.ts +10 -10
  726. package/src/generator/genBundleFiles.ts +300 -291
  727. package/src/generator/genHash.ts +2 -2
  728. package/src/generator/genMetaData.ts +280 -261
  729. package/src/generator/genReleaseBody.ts +312 -291
  730. package/src/generator/icestark.ts +1 -1
  731. package/src/generator/microApp.ts +17 -20
  732. package/src/generator/permission.ts +241 -232
  733. package/src/generator/qiankun.ts +1 -1
  734. package/src/generator/styleReplacer.ts +28 -31
  735. package/src/index.ts +0 -3
  736. package/src/manager/diagnostic.ts +84 -82
  737. package/src/manager/stepRecorder.ts +106 -94
  738. package/src/natural/RequirementAnalyzer.ts +208 -0
  739. package/src/natural/RequirementExecutor.ts +685 -0
  740. package/src/natural/componentData.ts +81 -0
  741. package/src/natural/genNaturalTS.ts +77 -0
  742. package/src/natural/index.ts +4 -0
  743. package/src/natural/knowledgeMap.ts +39 -0
  744. package/src/natural/naslStdlibMap.ts +24 -0
  745. package/src/natural/transformTSCode.ts +692 -0
  746. package/src/sentry/index.ts +109 -104
  747. package/src/server/createUiTs.ts +190 -184
  748. package/src/server/entity2LogicNamespace.ts +379 -359
  749. package/src/server/event.js +145 -121
  750. package/src/server/extendBaseNode.ts +461 -456
  751. package/src/server/formatTsUtils.ts +712 -713
  752. package/src/server/getConnector.ts +33 -33
  753. package/src/server/getExtensionModules.ts +23 -22
  754. package/src/server/getFunctions.ts +6 -6
  755. package/src/server/getInterfaces.ts +38 -37
  756. package/src/server/getLogging.ts +1 -1
  757. package/src/server/getLogics.ts +391 -312
  758. package/src/server/getMemberIdentifier.ts +286 -281
  759. package/src/server/getProcessComponents.ts +2 -2
  760. package/src/server/getProcesses.ts +548 -534
  761. package/src/server/getScope.ts +51 -51
  762. package/src/server/getValidates.ts +3 -3
  763. package/src/server/index.ts +29 -30
  764. package/src/server/naslServer.ts +4303 -4222
  765. package/src/server/naslStdlibMap.ts +43 -39
  766. package/src/server/process2LogicNamespace.ts +97 -97
  767. package/src/server/translator.ts +740 -746
  768. package/src/service/storage/init.ts +761 -728
  769. package/src/templator/genCallComponentLogic.ts +14 -15
  770. package/src/templator/genCreateBlock.ts +257 -229
  771. package/src/templator/genCurdEditMultipleKeyBlock.ts +333 -317
  772. package/src/templator/genCurdMultipleKeyBlock.ts +503 -475
  773. package/src/templator/genEditTableBlock.ts +194 -187
  774. package/src/templator/genEnumSelectBlock.ts +13 -7
  775. package/src/templator/genGetBlock.ts +57 -55
  776. package/src/templator/genGridViewBlock.ts +195 -211
  777. package/src/templator/genListViewBlock.ts +62 -72
  778. package/src/templator/genQueryComponent.ts +337 -287
  779. package/src/templator/genSelectBlock.ts +283 -297
  780. package/src/templator/genTableBlock.ts +160 -166
  781. package/src/templator/genUpdateBlock.ts +269 -255
  782. package/src/templator/index.ts +4 -4
  783. package/src/templator/utils.ts +491 -463
  784. package/src/translator/index.ts +84 -84
  785. package/src/translator/lsp.ts +22 -22
  786. package/src/translator/tsp.ts +6 -6
  787. package/src/utils/index.ts +115 -117
  788. package/src/utils/logger.ts +3 -4
  789. package/src/utils/sortTsString.ts +34 -32
  790. package/src/utils/string.ts +47 -48
  791. package/src/utils/time-slicing.ts +109 -0
  792. package/src/utils/traverse.ts +114 -126
  793. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +71 -0
  794. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +140 -0
  795. package/test/concepts/call-interface/constant.ts +5 -0
  796. package/test/concepts/call-interface/fixtures/only-interface.json +158 -0
  797. package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +455 -0
  798. package/test/concepts/call-interface/fixtures/with-body-no-argument.json +187 -0
  799. package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +225 -0
  800. package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +213 -0
  801. package/test/concepts/call-interface/fixtures/with-headers.json +192 -0
  802. package/test/concepts/call-interface/fixtures/with-query-no-argument.json +213 -0
  803. package/test/concepts/call-interface/fixtures/with-query.json +192 -0
  804. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +14 -0
  805. package/test/concepts/call-interface/toJS.spec.ts +14 -0
  806. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
  807. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +141 -0
  808. package/test/concepts/call-logic/constant.ts +5 -0
  809. package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +223 -0
  810. package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +359 -0
  811. package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +209 -0
  812. package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +311 -0
  813. package/test/concepts/call-logic/fixtures/only-call-logic.json +10 -0
  814. package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +128 -0
  815. package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +126 -0
  816. package/test/concepts/call-logic/fixtures/view-component-with-validation.json +244 -0
  817. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +14 -0
  818. package/test/concepts/call-logic/toJS.spec.ts +14 -0
  819. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  820. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  821. package/test/concepts/match/constant.ts +5 -0
  822. package/test/concepts/match/fixtures/isExpression.json +259 -0
  823. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  824. package/test/concepts/match/fixtures/noExpression.json +176 -0
  825. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  826. package/test/concepts/match/toJS.spec.ts +14 -0
  827. package/test/concepts/utils.ts +76 -3
  828. package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  829. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +16 -0
  830. package/test/concepts/validation-rule/constant.ts +5 -0
  831. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +10 -17
  832. package/test/concepts/validation-rule/toJS.spec.ts +14 -0
  833. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +68 -0
  834. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +44 -0
  835. package/test/concepts/view-element/constant.ts +5 -0
  836. package/test/concepts/view-element/fixtures/default-not-found.json +322 -0
  837. package/test/concepts/view-element/toEmbeddedTS.spec.ts +14 -0
  838. package/test/concepts/view-element/toVue.spec.ts +14 -0
  839. package/test/setup.ts +7 -0
  840. package/ts-worker/src/index.js +0 -2
  841. package/tsconfig.json +21 -21
  842. package/bin/naslc +0 -3
@@ -0,0 +1,692 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.RequirementExecutor = void 0;
30
+ const storage_1 = __importDefault(require("../service/storage"));
31
+ const knowledgeMap_1 = __importStar(require("./knowledgeMap"));
32
+ const componentData_1 = require("./componentData");
33
+ function tryFixJSON(str) {
34
+ let lastIndex = 0;
35
+ let inQuote = false;
36
+ let output = '';
37
+ str = str.replace(/\\\\"/g, '\\\\\\"');
38
+ function push(index) {
39
+ let part = str.slice(lastIndex, index);
40
+ // console.log('part---', part);
41
+ if (inQuote)
42
+ part = part.replace(/\n/g, '\\n');
43
+ lastIndex = index + 1;
44
+ output += part + (index === str.length ? '' : '"');
45
+ inQuote = !inQuote;
46
+ }
47
+ for (let i = 0; i < str.length; i++) {
48
+ if (str[i] === '"')
49
+ push(i);
50
+ }
51
+ push(str.length);
52
+ return output;
53
+ }
54
+ class RequirementExecutor {
55
+ messages = [];
56
+ shortMemories = [];
57
+ requirement;
58
+ context;
59
+ ide = {
60
+ getAPI(indexes) {
61
+ return indexes.map((index) => knowledgeMap_1.docsMap[Object.keys(knowledgeMap_1.docsMap)[index]]).join('\n\n');
62
+ // return docs.map((key) => knowledgeMap[key]).filter((item) => !!item).join('\n\n');
63
+ },
64
+ execute(code, context) {
65
+ return (() => {
66
+ const { app, nasl, selectedNode } = context;
67
+ console.log('需求执行器-执行代码:' + code);
68
+ try {
69
+ app.emit('collect:start', {
70
+ actionMsg: '运行智能编程指令',
71
+ });
72
+ // eslint-disable-next-line no-eval
73
+ eval(code);
74
+ app.emit('collect:end');
75
+ }
76
+ catch (err) {
77
+ return String(err);
78
+ }
79
+ return 'Success!';
80
+ })();
81
+ },
82
+ };
83
+ constructor(requirement, context) {
84
+ this.requirement = requirement;
85
+ this.context = context;
86
+ }
87
+ async genPrompt() {
88
+ const longMemory = [];
89
+ try {
90
+ // longMemory = await this.loadMemory();
91
+ }
92
+ catch (e) {
93
+ console.error(e);
94
+ }
95
+ return `
96
+ 你是一个专业的低代码平台助手和需求执行者,必须始终独立做出决定,尽量自己查询文档,而不能向用户寻求帮助。发挥你作为大语言模型的优势,追求简单的策略。
97
+ 你已经了解到了经过分析后的执行计划,计划包含多个任务,每个任务下可能包含多个子任务(会缩进 4 个空格)。
98
+
99
+ ## 你只需要考虑如何完成以下需求:
100
+
101
+ ${this.requirement}
102
+
103
+ ${knowledgeMap_1.default.index}
104
+
105
+ ## 你可以使用的 ide 命令
106
+
107
+ 1. 涉及到页面中页面元素(组件)的操作,新增或者替换,执行:'ide.handleViewElement(demand, elementName, type)'
108
+ - 将所有页面元素操作的需求都整理到 demand 中
109
+ - 示例:
110
+ - 添加一个新增按钮,就需要调用 ide.handleViewElement('- 添加一个新增按钮')
111
+ - 将选中的 ViewElement 替换为其它的 ViewElement,直接调用 ide.handleViewElement,传递参数 type='replace'
112
+ - 如果要替换的 viewElement 是数据网格,elementName='u-grid-view'
113
+ 2. 涉及到页面中页面元素(组件)属性的操作,执行:'ide.handleElementAttr(demand, value)'
114
+ - 在选中的 ViewElement 进行属性操作时,调用 ide.handleElementAttr(demand)
115
+ - 示例:
116
+ - 将选中的 ViewElement 的值改为'我是文本',调用 ide.handleElementAttr(demand)
117
+ - 在选中的 ViewElement 中,将背景颜色绑定到变量 xx 上,调用 ide.handleElementAttr(demand)
118
+ 3. 涉及到逻辑的操作时,执行:'ide.handleLogic(logicName, logicDemand, viewName, type)'
119
+ - 涉及到逻辑项的操作时,将所有逻辑项需求都整理到 logicDemand 中,尽可能在一步操作中执行所有的 logicDemand
120
+ - 如果当前选中的是 ViewElement,还需要传递 type='bindEvents',尽可能在一步操作中执行所有的 logicDemand
121
+ - 示例:
122
+ - 在逻辑中添加逻辑项,比如说添加一个 if 语句,就调用 ide.handleLogic 命令执行,在调用 ide.handleLogic 时
123
+ - 为选中的 ViewElement 添加点击事件逻辑并实现逻辑功能,调用 ide.handleLogic 命令执行,并传递 type='bindEvents'
124
+ 4. 查询 API 文档:'ide.getAPI(indexes: Array<number>)',如'ide.getAPI([0, 1, 2])'
125
+ - 当前面的命令无法匹配用户需求时,你可以查询 API 文档,尽可能一次性多的获取相关文档
126
+ - 如果要添加实体属性,需要考虑类型,请加入查询:类型标注相关文档
127
+ - 如果要了解默认数据源在哪里,请加入查询:应用和默认数据库相关文档
128
+ - 当需求中需要考虑类型时,请加入查询:类型标注文档。
129
+ 5. 执行 IDE 的操作,其中代码为 JS 脚本:'ide.execute(code: string)'
130
+ 6. 当完成计划时:command name 及 args 为 'ide.complete(reason: string)'
131
+ 1. 优先执行以上命令,对比原始需求和解决当前需求的短期记忆,如果已经完成原始需求的执行,调用 ide.complete 命令
132
+
133
+ ## 目前 API 文档目录
134
+
135
+ ${Object.keys(knowledgeMap_1.docsMap).map((key, index) => `${index}. ${key}`).join('\n')}
136
+
137
+ ### 限制
138
+
139
+ - 由于 8000 左右 token 数的限制,一次处理多个任务、查询多个文档容易溢出,建议一次只处理一个任务。
140
+ - 在记忆中已经查询过的文档不要再去查询了。
141
+ - 你只能使用已列举出的 ide 中的命令
142
+ - ide 下的命令需串行执行,不能嵌套
143
+ - 将 ide.execute 和 ide.handleLogic 分别执行,不要在 ide.execute 中执行 ide.handleLogic 或者 handleLogic 方法以及其他 ide 的命令!
144
+ - 替换组件和绑定变量的操作需要分开执行,依次调用 ide.handleViewElement 和 ide.handleElementAttr
145
+ - 涉及到逻辑的操作,整理逻辑相关的所有需求,调用 ide.handleLogic,在一次命令调用中执行完所有的需求
146
+ - 例如: 为已存在的 ViewElement 添加点击事件并实现事件逻辑,直接执行 ide.handleLogic、传入参数 type='bindEvents' 即可
147
+ - 所有命令传参的值必须匹配正则: /^[a-zA-Z0-9_]+$/,如 viewName、logicName 等
148
+
149
+ ## 你解决当前需求的短期记忆
150
+
151
+ ${this.shortMemories.slice(-9).map((memory, index) => `
152
+
153
+ ### 你的思考和命令${index}
154
+
155
+ ${JSON.stringify(memory.reply, null, 4)}
156
+
157
+ ### 结果${index}
158
+
159
+ ${memory.result}
160
+ `).join('\n') || '暂无'}
161
+
162
+ ## 你曾经解决需求的长期记忆
163
+
164
+ ${(longMemory.join('\n')) || '暂无'}
165
+
166
+ ## 资源
167
+
168
+ - 短期和长期的记忆管理
169
+ - GPT-4
170
+
171
+ ## 要求
172
+
173
+ 1. 在后续的所有回答中,你必须以 JSON 格式回复,内容用中文作答,格式如下:
174
+
175
+ {
176
+ "thoughts": {
177
+ "text": "thought",
178
+ "reasoning": "reasoning",
179
+ "criticism": "我生成的这段代码,可能在 API 中没有定义",
180
+ "currentTask": "- 任务 2\\n - 子任务 1\\n - 子任务 2\\n - 子任务 3"
181
+ },
182
+ "command": {
183
+ "name": "command name",
184
+ "args": {
185
+ "code": "value",
186
+ "logicDemand": "- 子任务 1\\n - 子任务 2\\n - 子任务 3"
187
+ }
188
+ }
189
+ }
190
+
191
+ 1. 按照上述格式,内容用中文作答,把你的思考放在"thoughts.text"字段中
192
+ 2. 确保回复可以被 JavaScript 的 JSON.parse 解析!
193
+ `;
194
+ }
195
+ async chatWithGPT() {
196
+ const res = await storage_1.default.post('/api/gpt/chatGPT', {
197
+ messages: this.messages,
198
+ });
199
+ const result = res.data.result;
200
+ if (result) {
201
+ const answer = result.choices[0]?.message.content.trim() + '\n';
202
+ // this.messages.push({
203
+ // role: 'assistant',
204
+ // content: answer,
205
+ // });
206
+ console.log(result.usage);
207
+ return answer;
208
+ }
209
+ else {
210
+ console.error(res.data);
211
+ throw new Error(res.data);
212
+ }
213
+ }
214
+ async saveMemory(memory) {
215
+ const res = await storage_1.default.post('/api/memory/saveMemory', `
216
+ ### 你的思考和命令
217
+ ${JSON.stringify(memory.reply, null, 4)}
218
+
219
+ ### 结果
220
+ ${memory.result}
221
+ `);
222
+ const data = res.data;
223
+ if (data.code === 200) {
224
+ //
225
+ }
226
+ else {
227
+ console.error(res.data);
228
+ throw new Error(res.data);
229
+ }
230
+ }
231
+ async loadMemory() {
232
+ const res = await storage_1.default.post('/api/memory/loadMemory', {
233
+ text: `### 你的需求
234
+ ${this.requirement}
235
+ ` + this.shortMemories.slice(-9).map((memory, index) => `
236
+ ### 你的思考和命令${index}
237
+ ${JSON.stringify(memory.reply, null, 4)}
238
+
239
+ ### 结果${index}
240
+ ${memory.result}
241
+ `).join('\n'),
242
+ k: 5,
243
+ });
244
+ const data = res.data;
245
+ if (data.code === 200) {
246
+ const result = data.result;
247
+ return result;
248
+ }
249
+ else {
250
+ console.error(res.data);
251
+ throw new Error(res.data);
252
+ }
253
+ }
254
+ async chatWithGPTAndParseJSON() {
255
+ const answer = await this.chatWithGPT();
256
+ let json;
257
+ try {
258
+ json = JSON.parse(answer);
259
+ console.log('需求执行器-回复:' + JSON.stringify(json, null, 4));
260
+ return json;
261
+ }
262
+ catch (e) {
263
+ const fixed = tryFixJSON(answer);
264
+ try {
265
+ json = JSON.parse(fixed);
266
+ console.log('需求执行器-回复:' + JSON.stringify(json, null, 4));
267
+ return json;
268
+ }
269
+ catch (ee) {
270
+ console.log(fixed);
271
+ throw e;
272
+ }
273
+ }
274
+ }
275
+ async next() {
276
+ this.messages = [{
277
+ role: 'system',
278
+ content: await this.genPrompt(),
279
+ }];
280
+ if (!this.shortMemories.length)
281
+ console.log(this.messages[0].content);
282
+ return this.chatWithGPTAndParseJSON();
283
+ }
284
+ async execute(context, cb) {
285
+ const reply = await this.next();
286
+ cb && cb(reply);
287
+ if (this.shortMemories.length > 10) {
288
+ throw new Error('执行超过10次,可能存在问题!');
289
+ }
290
+ else if (reply.command.name === 'ide.complete') {
291
+ //
292
+ }
293
+ else {
294
+ let result;
295
+ if (reply.command.name === 'ide.getAPI')
296
+ result = this.ide.getAPI(reply.command.args.indexes);
297
+ else if (reply.command.name === 'ide.execute')
298
+ result = this.ide.execute(reply.command.args.code, context);
299
+ else if (reply.command.name === 'ide.handleLogic')
300
+ result = await this.handleLogic({ ...reply.command.args, context });
301
+ else if (reply.command.name === 'ide.handleViewElement')
302
+ result = await this.handleViewElement({ ...reply.command.args, context });
303
+ else if (reply.command.name === 'ide.handleElementAttr')
304
+ result = await this.handleElementAttr({ ...reply.command.args, context });
305
+ console.log('需求执行器-执行结果:' + result);
306
+ const memory = { requirement: this.requirement, reply, result };
307
+ this.shortMemories.push(memory);
308
+ // this.shortMemories = this.shortMemories.slice(-2);
309
+ // const lastMemory = this.shortMemories[this.shortMemories.length - 1];
310
+ if (reply.command.name === 'ide.execute') {
311
+ try {
312
+ await this.saveMemory(memory);
313
+ }
314
+ catch (e) { }
315
+ // if (result === 'Success!' && reply.thoughts.currentTaskIndex === reply.thoughts.totalTaskCount) {
316
+ // return;
317
+ // }
318
+ }
319
+ // 重复执行
320
+ await this.execute(context, cb);
321
+ }
322
+ }
323
+ async handleLogic(logicParams) {
324
+ const { logicDemand, context, type } = logicParams;
325
+ let { app, nasl, selectedNode } = context;
326
+ const Window = window;
327
+ selectedNode = Window.globalData.$n0;
328
+ const requirements = [
329
+ '如果要查询,则使用 nasl.oql.query,尽量用一句 SQL 包含更多信息',
330
+ '优先使用 nasl.util 中的内置函数',
331
+ '禁止使用 Array 的方法,其中 map 方法请使用 ListTransform',
332
+ '禁止使用 Number 的 toFixed 方法,保留小数使用 FormatNumber',
333
+ '禁止使用 String 的 方法,字符串截取用 SubString 函数',
334
+ '当前日期请使用 CurrDateTime()',
335
+ // '声明过的变量已经初始化',
336
+ '分支情况请使用 switch',
337
+ '数字循环请使用 while',
338
+ '禁止使用 import',
339
+ '禁止打印结果日志',
340
+ '直接输出代码结果,其他描述请以注释的形式出现',
341
+ '返回的实现须为函数并且必须使用符合语法的语句',
342
+ ];
343
+ let logicItem;
344
+ console.log('lemon ~ selectedNode:', selectedNode);
345
+ if (selectedNode.concept === 'Logic') {
346
+ logicItem = selectedNode;
347
+ }
348
+ else if (selectedNode.concept === 'ViewElement' && type === 'bindEvents') {
349
+ logicItem = selectedNode.addBindEvent('click').addLogic('click');
350
+ }
351
+ const getRequirement = () => `/*
352
+ 有以下要求:
353
+ ${requirements.map((line) => '- ' + line).join('\n')}
354
+
355
+ 请在当前函数的“当前位置”中只要实现:
356
+ ${logicDemand}
357
+
358
+ ## 返回示例1
359
+ // 筛选商品
360
+ function load1(params: nasl.ui.DataSourceParams) {
361
+ result.list = nasl.util.ListFilter(result.list, (item) => item.product.supplierId === id);
362
+ // 不要 return
363
+ }
364
+ ## 返回示例2
365
+ // 校验表单输入
366
+ function formValidate() {
367
+ const validateResult: ValidateEvent = $refs.form1.validate();
368
+ if (validateResult.valid) {
369
+ const newProduct = product;
370
+ newProduct.suppilerId = id;
371
+ ProductEntity.create(newProduct);
372
+ nasl.ui.showMessage("创建成功");
373
+ $refs.modal1.close();
374
+ $refs.gridView.reload();
375
+ } else{
376
+ nasl.ui.showMessage("创建失败");
377
+ }
378
+ }
379
+ */`;
380
+ console.log('lemon', logicItem);
381
+ let prompt = nasl.genNaturalTS(app, logicItem);
382
+ prompt += getRequirement();
383
+ this.messages = [{
384
+ role: 'user',
385
+ content: prompt,
386
+ }];
387
+ const res = await storage_1.default.post('/api/gpt/chatGPT', {
388
+ messages: this.messages,
389
+ });
390
+ const result = res.data.result;
391
+ if (result) {
392
+ const answer = result.choices[0]?.message.content.trim() + '\n';
393
+ try {
394
+ await nasl.transformTSCodeEx(answer, logicItem, context);
395
+ return 'Success!';
396
+ }
397
+ catch (e) {
398
+ console.log('TS 转换 NASL 失败!请检查浏览器日志。');
399
+ return String(e);
400
+ }
401
+ }
402
+ else {
403
+ return String(res.data);
404
+ }
405
+ }
406
+ // 处理页面上对于元素的操作
407
+ async handleViewElement(elementParams) {
408
+ const { demand, context, viewName, elementName = 'uLinearLayout1', type } = elementParams;
409
+ let { app, nasl, selectedNode } = context;
410
+ if (type === 'bindEvents') {
411
+ const result = await this.handleLogic({ context, type, logicDemand: demand });
412
+ return result;
413
+ }
414
+ if (type === 'replace') {
415
+ selectedNode.delete();
416
+ selectedNode = selectedNode.parentNode;
417
+ }
418
+ if (elementParams.elementName === 'u-grid-view') {
419
+ selectedNode.addGridViewByEntity('Product');
420
+ return 'Success';
421
+ }
422
+ let templateList;
423
+ try {
424
+ templateList = await this.getViewElementTemplate(demand, context);
425
+ if (templateList.length <= 0)
426
+ throw new Error('请求失败');
427
+ console.log('lemon ~ templateList:', templateList);
428
+ try {
429
+ const codeList = await this.handleViewElementTemplate(demand, templateList, context);
430
+ console.log('lemon ~ codeList:', codeList);
431
+ let nodePath;
432
+ if (viewName && app.findViewByName(viewName)) {
433
+ nodePath = app.findViewByName(viewName).findElementByName(elementName).nodePath;
434
+ }
435
+ else if (selectedNode.concept === 'View') {
436
+ nodePath = selectedNode.findElementByName(elementName).nodePath;
437
+ }
438
+ else if (selectedNode.concept === 'ViewElement') {
439
+ nodePath = selectedNode.nodePath;
440
+ }
441
+ else {
442
+ return 'error';
443
+ }
444
+ const position = 'append';
445
+ codeList.forEach((code) => {
446
+ const data = {
447
+ code,
448
+ nodePath,
449
+ position, // 没有时会添加到最顶层
450
+ };
451
+ selectedNode.addBlock(data);
452
+ });
453
+ console.log('lemon', selectedNode);
454
+ return 'Success!';
455
+ }
456
+ catch (e) {
457
+ return String(e);
458
+ }
459
+ }
460
+ catch (e) {
461
+ return String(e);
462
+ }
463
+ }
464
+ // 根据用户需求获取到对应的组件 code
465
+ async getViewElementTemplate(demand, context) {
466
+ this.messages = [{
467
+ role: 'user',
468
+ content: this.getViewPrompt(demand),
469
+ }];
470
+ const res = await storage_1.default.post('/api/gpt/chatGPT', {
471
+ messages: this.messages,
472
+ });
473
+ const result = res.data.result;
474
+ if (result) {
475
+ const answer = result.choices[0]?.message.content.trim() + '\n';
476
+ const elementList = Object.keys(JSON.parse(answer));
477
+ console.log('lemon getViewElementTemplate', elementList, answer);
478
+ const templateList = elementList.map((el) => {
479
+ const ind = JSON.parse(answer)[el].index;
480
+ const code = context.nasl.config.allNodesAPI[el]?.blocks[ind]?.code;
481
+ if (!code)
482
+ throw new Error('组件名称错误,获取组件模板失败, 请重试');
483
+ return code;
484
+ });
485
+ return templateList;
486
+ }
487
+ }
488
+ getViewPrompt(demand) {
489
+ return `
490
+ ## 组件定义如下:
491
+ ${JSON.stringify(componentData_1.componentData)}
492
+
493
+ ## 用户的需求如下:
494
+ ${demand}
495
+
496
+ ## 注意:
497
+ 1. 你需要根据用户的需求参照组件定义获取到对应的组件名称,除了i-ico之外,其它组件都是 'u-' 的格式
498
+ 1. 必须按照下面指定的格式的格式返回,确保回复可以被 JavaScript 的 JSON.parse 解析!
499
+
500
+ { "componentName": { "reason": "原因", index: "模板索引" } }
501
+
502
+ ## 示例:
503
+ { "i-ico": { "reason": "用于展示刷新图标和文本", "index": 1 } }
504
+ { "u-rate": { "reason": "用于替换文本组件为五星评分组件", "index": 0 } }
505
+ { "u-button": { "reason": "用于添加一个图标按钮组件", "index": 3 } }
506
+ `;
507
+ }
508
+ // 再次处理组件模板,得到与需求融合后的组件模板
509
+ async handleViewElementTemplate(demand, templateList, context) {
510
+ const prompt = `
511
+ ## 组件的 template 如下
512
+ ${JSON.stringify(templateList)}
513
+
514
+ ## 用户的需求如下
515
+ ${demand}
516
+
517
+ ## 注意
518
+ 1. 请根据需求,在 template 基础上仅替换默认文字信息,但是不要修改标签名称
519
+ 1. 仅可以使用template中提供的标签名称,不能修改
520
+ - 例如 不能修改标签组件名称 <u-grid-view>
521
+ 1. 按照提供的原 template 格式返回新的 template!
522
+ eg:
523
+ "[新的template]"
524
+ `;
525
+ this.messages = [{
526
+ role: 'user',
527
+ content: prompt,
528
+ }];
529
+ const res = await storage_1.default.post('/api/gpt/chatGPT', {
530
+ messages: this.messages,
531
+ });
532
+ const result = res.data.result;
533
+ if (result) {
534
+ const answer = result.choices[0]?.message.content.trim() + '\n';
535
+ const codeList = JSON.parse(answer);
536
+ return codeList;
537
+ }
538
+ }
539
+ async handleElementAttr(elementParams) {
540
+ const { demand, context } = elementParams;
541
+ const { app, nasl, selectedNode } = context;
542
+ try {
543
+ const options = await this.getCorrectParams(demand, selectedNode);
544
+ console.log('lemonhandle-getCorrectParams-传入的option', options);
545
+ try {
546
+ for (let i = 0; i < options.length; i++) {
547
+ let option = options[i];
548
+ option = {
549
+ ...option,
550
+ // eslint-disable-next-line no-await-in-loop
551
+ value: option.type === 'dynamic' ? await this.getExpression(option.demand, context) : option.value,
552
+ };
553
+ console.log('lemonhandle-最终拿到的option', option);
554
+ try {
555
+ selectedNode.updateBindAttr(option);
556
+ }
557
+ catch (e) {
558
+ return String(e);
559
+ }
560
+ }
561
+ return 'Success';
562
+ }
563
+ catch (e) {
564
+ return String(e);
565
+ }
566
+ }
567
+ catch (e) {
568
+ return String(e);
569
+ }
570
+ }
571
+ async getCorrectParams(demand, selectedNode) {
572
+ const curAttrGroups = selectedNode.getCurrentElementAttrGroups();
573
+ const prompt = `
574
+ ## 组件的所有属性定义如下
575
+ ${JSON.stringify(curAttrGroups)}
576
+
577
+ ## 用户的需求如下
578
+ ${demand}
579
+
580
+ ## 注意
581
+ 1. 请根据需求结合属性定义,分析并返回用户想要修改属性的 name、value,以及所属的 concept
582
+ 2. 如果涉及到表达式或者绑定或者动态的值时,type的值为'dynamic'
583
+ 3. 按照以下格式返回数据,确保回复可以被 JavaScript 的 JSON.parse 解析!
584
+
585
+ [{ concept, type, name, value, demand }]
586
+ `;
587
+ this.messages = [{
588
+ role: 'user',
589
+ content: prompt,
590
+ }];
591
+ const res = await storage_1.default.post('/api/gpt/chatGPT', {
592
+ messages: this.messages,
593
+ });
594
+ const result = res.data.result;
595
+ if (result) {
596
+ const answer = result.choices[0]?.message.content.trim() + '\n';
597
+ return JSON.parse(answer);
598
+ }
599
+ }
600
+ async getExpression(demand, context) {
601
+ const { app, nasl, selectedNode } = context;
602
+ const requirements = [
603
+ '如果要查询,则使用 nasl.oql.query,尽量用一句 SQL 包含更多信息',
604
+ '优先使用 nasl.util 中的内置函数',
605
+ '禁止使用 Array 的方法,其中 map 方法请使用 ListTransform',
606
+ '禁止使用 Number 的 toFixed 方法,保留小数使用 FormatNumber',
607
+ '禁止使用 String 的 方法,字符串截取用 SubString 函数',
608
+ '当前日期请使用 CurrDateTime()',
609
+ '分支情况请使用 switch',
610
+ '禁止使用 import',
611
+ '禁止打印结果日志',
612
+ '不要新建变量',
613
+ '涉及到颜色转换为 HEX 格式的值',
614
+ '直接输出代码结果,其他描述请以注释的形式出现',
615
+ '回复必须是函数并且必须使用符合语法的语句',
616
+ ];
617
+ const getRequirement = () => `/*
618
+ ## 有以下要求:
619
+ ${requirements.map((line) => '- ' + line).join('\n')}
620
+
621
+ ## 返回示例 1
622
+ export function logic2() {
623
+ return nasl.util.FormatDateTime(variable1, "YYYY-MM-DD HH:mm");
624
+ }
625
+ ## 返回示例 2
626
+ export function setBackgroundColor(): string {
627
+ switch (varibable) {
628
+ case SupplierStatusEnum.enable:
629
+ return "#0f0";
630
+ case SupplierStatusEnum.disable:
631
+ return "#7f827f";
632
+ }
633
+ }
634
+ ## 返回示例 3
635
+ export function bindLevel() {
636
+ return current.item.supplier.level;
637
+ }
638
+
639
+ ## 请在当前函数的“当前位置”中只要实现:
640
+ ${demand}
641
+ */`;
642
+ let prompt = nasl.genNaturalTS(app, selectedNode);
643
+ prompt += getRequirement();
644
+ this.messages = [{
645
+ role: 'user',
646
+ content: prompt,
647
+ }];
648
+ const res = await storage_1.default.post('/api/gpt/chatGPT', {
649
+ messages: this.messages,
650
+ });
651
+ const result = res.data.result;
652
+ if (result) {
653
+ const answer = result.choices[0]?.message.content.trim() + '\n';
654
+ console.log('lemon ~ getExpression ~ answer:', answer);
655
+ try {
656
+ const body = nasl.transformTSCodeToExpression(answer, context);
657
+ console.log('lemon ~ RequirementExecutor ~ getExpression ~ body:', body);
658
+ return body[0];
659
+ }
660
+ catch (e) {
661
+ console.log('TS 转换 NASL 失败!请检查浏览器日志。');
662
+ return String(e);
663
+ }
664
+ }
665
+ }
666
+ }
667
+ exports.RequirementExecutor = RequirementExecutor;
668
+ exports.default = RequirementExecutor;
669
+ // console.log(tryFixJSON(`{
670
+ // {
671
+ // "thoughts": {
672
+ // "text": "thought",
673
+ // "reasoning": "reasoning",
674
+ // "currentTask": "- 任务1
675
+ // - 任务2
676
+ // - 任务3",
677
+ // "criticism": "我生成的这段代码,可能在 API 中没有定义"
678
+ // },
679
+ // "command": {
680
+ // "name": "command name",
681
+ // "args": {
682
+ // "code": "value"
683
+ // }
684
+ // }
685
+ // }
686
+ // }`));
687
+ // - 对于不清楚定义的 API,先不要急着生成执行脚本,考虑是不是要先获取一下 API 文档,然后在后面的步骤中再生成执行脚本
688
+ // - 一般初次执行时,你最好先获取需要的 API 文档。尽可能一次性多的获取相关文档
689
+ // 2. 把当前执行的任务放在"thoughts.currentTask"中,把当前执行的任务的索引(从1开始)放在"thoughts.currentTaskIndex"中
690
+ // "currentTaskIndex": 2,
691
+ // "totalTaskCount": 3,
692
+ //# sourceMappingURL=RequirementExecutor.js.map