@lcap/nasl 3.3.0-beta.0 → 3.4.0-alpha.1

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 (790) hide show
  1. package/out/bak/translator.js +5 -8
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/breakpoint/generator/AfterStartNode.js +1 -2
  4. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  5. package/out/breakpoint/generator/BeforeEndNode.js +1 -2
  6. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  7. package/out/breakpoint/generator/BreakpointNode.js +9 -30
  8. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  9. package/out/breakpoint/shared/constants.d.ts +0 -1
  10. package/out/breakpoint/shared/constants.js +1 -7
  11. package/out/breakpoint/shared/constants.js.map +1 -1
  12. package/out/breakpoint/shared/utils.d.ts +1 -3
  13. package/out/breakpoint/shared/utils.js +4 -25
  14. package/out/breakpoint/shared/utils.js.map +1 -1
  15. package/out/common/BaseNode.d.ts +8 -21
  16. package/out/common/BaseNode.js +69 -115
  17. package/out/common/BaseNode.js.map +1 -1
  18. package/out/common/Command.js +1 -6
  19. package/out/common/Command.js.map +1 -1
  20. package/out/common/EventEmitter.d.ts +1 -1
  21. package/out/common/EventEmitter.js +3 -1
  22. package/out/common/EventEmitter.js.map +1 -1
  23. package/out/common/classMap.d.ts +4 -0
  24. package/out/common/classMap.js +5 -0
  25. package/out/common/classMap.js.map +1 -0
  26. package/out/common/index.d.ts +1 -0
  27. package/out/common/index.js +1 -0
  28. package/out/common/index.js.map +1 -1
  29. package/out/concepts/Abort__.d.ts +2 -3
  30. package/out/concepts/Abort__.js +18 -15
  31. package/out/concepts/Abort__.js.map +1 -1
  32. package/out/concepts/Anchor__.d.ts +3 -3
  33. package/out/concepts/Anchor__.js +35 -18
  34. package/out/concepts/Anchor__.js.map +1 -1
  35. package/out/concepts/AnonymousFunction__.d.ts +3 -3
  36. package/out/concepts/AnonymousFunction__.js +53 -29
  37. package/out/concepts/AnonymousFunction__.js.map +1 -1
  38. package/out/concepts/App__.d.ts +157 -160
  39. package/out/concepts/App__.js +80 -106
  40. package/out/concepts/App__.js.map +1 -1
  41. package/out/concepts/Argument__.d.ts +3 -3
  42. package/out/concepts/Argument__.js +42 -22
  43. package/out/concepts/Argument__.js.map +1 -1
  44. package/out/concepts/Assignee__.d.ts +2 -3
  45. package/out/concepts/Assignee__.js +21 -19
  46. package/out/concepts/Assignee__.js.map +1 -1
  47. package/out/concepts/AssignmentLine__.d.ts +2 -3
  48. package/out/concepts/AssignmentLine__.js +17 -15
  49. package/out/concepts/AssignmentLine__.js.map +1 -1
  50. package/out/concepts/Assignment__.d.ts +3 -3
  51. package/out/concepts/Assignment__.js +42 -34
  52. package/out/concepts/Assignment__.js.map +1 -1
  53. package/out/concepts/Attribute__.d.ts +2 -3
  54. package/out/concepts/Attribute__.js +28 -36
  55. package/out/concepts/Attribute__.js.map +1 -1
  56. package/out/concepts/AuthInterface__.d.ts +3 -4
  57. package/out/concepts/AuthInterface__.js +17 -16
  58. package/out/concepts/AuthInterface__.js.map +1 -1
  59. package/out/concepts/AuthLogicForCallInterface__.d.ts +3 -4
  60. package/out/concepts/AuthLogicForCallInterface__.js +27 -37
  61. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  62. package/out/concepts/AuthLogic__.d.ts +3 -4
  63. package/out/concepts/AuthLogic__.js +19 -18
  64. package/out/concepts/AuthLogic__.js.map +1 -1
  65. package/out/concepts/BackendVariable__.d.ts +7 -8
  66. package/out/concepts/BackendVariable__.js +34 -39
  67. package/out/concepts/BackendVariable__.js.map +1 -1
  68. package/out/concepts/Backend__.d.ts +31 -32
  69. package/out/concepts/Backend__.js +22 -23
  70. package/out/concepts/Backend__.js.map +1 -1
  71. package/out/concepts/BatchAssignment__.d.ts +3 -3
  72. package/out/concepts/BatchAssignment__.js +54 -46
  73. package/out/concepts/BatchAssignment__.js.map +1 -1
  74. package/out/concepts/BinaryExpression__.d.ts +3 -3
  75. package/out/concepts/BinaryExpression__.js +62 -30
  76. package/out/concepts/BinaryExpression__.js.map +1 -1
  77. package/out/concepts/BindAttribute__.d.ts +9 -12
  78. package/out/concepts/BindAttribute__.js +102 -81
  79. package/out/concepts/BindAttribute__.js.map +1 -1
  80. package/out/concepts/BindDirective__.d.ts +3 -5
  81. package/out/concepts/BindDirective__.js +28 -34
  82. package/out/concepts/BindDirective__.js.map +1 -1
  83. package/out/concepts/BindEvent__.d.ts +3 -3
  84. package/out/concepts/BindEvent__.js +74 -51
  85. package/out/concepts/BindEvent__.js.map +1 -1
  86. package/out/concepts/BindStyle__.d.ts +3 -5
  87. package/out/concepts/BindStyle__.js +23 -24
  88. package/out/concepts/BindStyle__.js.map +1 -1
  89. package/out/concepts/BooleanLiteral__.d.ts +3 -3
  90. package/out/concepts/BooleanLiteral__.js +24 -17
  91. package/out/concepts/BooleanLiteral__.js.map +1 -1
  92. package/out/concepts/CallAuthInterface__.d.ts +2 -3
  93. package/out/concepts/CallAuthInterface__.js +19 -17
  94. package/out/concepts/CallAuthInterface__.js.map +1 -1
  95. package/out/concepts/CallConnector__.d.ts +4 -5
  96. package/out/concepts/CallConnector__.js +34 -41
  97. package/out/concepts/CallConnector__.js.map +1 -1
  98. package/out/concepts/CallFunction__.d.ts +3 -3
  99. package/out/concepts/CallFunction__.js +71 -33
  100. package/out/concepts/CallFunction__.js.map +1 -1
  101. package/out/concepts/CallInterface__.d.ts +3 -3
  102. package/out/concepts/CallInterface__.js +57 -26
  103. package/out/concepts/CallInterface__.js.map +1 -1
  104. package/out/concepts/CallLogic__.d.ts +6 -6
  105. package/out/concepts/CallLogic__.js +180 -135
  106. package/out/concepts/CallLogic__.js.map +1 -1
  107. package/out/concepts/CallQueryComponent__.d.ts +2 -3
  108. package/out/concepts/CallQueryComponent__.js +41 -57
  109. package/out/concepts/CallQueryComponent__.js.map +1 -1
  110. package/out/concepts/Comment__.d.ts +3 -3
  111. package/out/concepts/Comment__.js +24 -17
  112. package/out/concepts/Comment__.js.map +1 -1
  113. package/out/concepts/CompletionProperty__.d.ts +2 -3
  114. package/out/concepts/CompletionProperty__.js +25 -30
  115. package/out/concepts/CompletionProperty__.js.map +1 -1
  116. package/out/concepts/ConfigGroup__.d.ts +2 -3
  117. package/out/concepts/ConfigGroup__.js +20 -21
  118. package/out/concepts/ConfigGroup__.js.map +1 -1
  119. package/out/concepts/ConfigPropertyValue__.d.ts +2 -3
  120. package/out/concepts/ConfigPropertyValue__.js +16 -16
  121. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  122. package/out/concepts/ConfigProperty__.d.ts +2 -3
  123. package/out/concepts/ConfigProperty__.js +23 -26
  124. package/out/concepts/ConfigProperty__.js.map +1 -1
  125. package/out/concepts/Configuration__.d.ts +2 -3
  126. package/out/concepts/Configuration__.js +18 -16
  127. package/out/concepts/Configuration__.js.map +1 -1
  128. package/out/concepts/Connection__.d.ts +4 -4
  129. package/out/concepts/Connection__.js +18 -22
  130. package/out/concepts/Connection__.js.map +1 -1
  131. package/out/concepts/ConnectorTrigger__.d.ts +6 -7
  132. package/out/concepts/ConnectorTrigger__.js +21 -22
  133. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  134. package/out/concepts/Connector__.d.ts +33 -139
  135. package/out/concepts/Connector__.js +34 -191
  136. package/out/concepts/Connector__.js.map +1 -1
  137. package/out/concepts/Constant__.d.ts +2 -3
  138. package/out/concepts/Constant__.js +23 -25
  139. package/out/concepts/Constant__.js.map +1 -1
  140. package/out/concepts/DataElement__.d.ts +46 -0
  141. package/out/concepts/DataElement__.js +118 -0
  142. package/out/concepts/DataElement__.js.map +1 -0
  143. package/out/concepts/DataSource__.d.ts +2 -7
  144. package/out/concepts/DataSource__.js +23 -31
  145. package/out/concepts/DataSource__.js.map +1 -1
  146. package/out/concepts/DatabaseTypeAnnotation__.d.ts +4 -5
  147. package/out/concepts/DatabaseTypeAnnotation__.js +18 -18
  148. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  149. package/out/concepts/Destination__.d.ts +11 -11
  150. package/out/concepts/Destination__.js +89 -39
  151. package/out/concepts/Destination__.js.map +1 -1
  152. package/out/concepts/End__.d.ts +2 -3
  153. package/out/concepts/End__.js +17 -15
  154. package/out/concepts/End__.js.map +1 -1
  155. package/out/concepts/EntityIndex__.d.ts +3 -4
  156. package/out/concepts/EntityIndex__.js +21 -23
  157. package/out/concepts/EntityIndex__.js.map +1 -1
  158. package/out/concepts/EntityProperty__.d.ts +4 -4
  159. package/out/concepts/EntityProperty__.js +67 -51
  160. package/out/concepts/EntityProperty__.js.map +1 -1
  161. package/out/concepts/Entity__.d.ts +3 -3
  162. package/out/concepts/Entity__.js +51 -32
  163. package/out/concepts/Entity__.js.map +1 -1
  164. package/out/concepts/EnumItem__.d.ts +3 -3
  165. package/out/concepts/EnumItem__.js +25 -19
  166. package/out/concepts/EnumItem__.js.map +1 -1
  167. package/out/concepts/Enum__.d.ts +3 -3
  168. package/out/concepts/Enum__.js +35 -23
  169. package/out/concepts/Enum__.js.map +1 -1
  170. package/out/concepts/Event__.d.ts +2 -3
  171. package/out/concepts/Event__.js +21 -24
  172. package/out/concepts/Event__.js.map +1 -1
  173. package/out/concepts/ExternalDestination__.d.ts +5 -6
  174. package/out/concepts/ExternalDestination__.js +25 -25
  175. package/out/concepts/ExternalDestination__.js.map +1 -1
  176. package/out/concepts/ForEachStatement__.d.ts +3 -3
  177. package/out/concepts/ForEachStatement__.js +60 -21
  178. package/out/concepts/ForEachStatement__.js.map +1 -1
  179. package/out/concepts/FrontendLibrary__.d.ts +3 -4
  180. package/out/concepts/FrontendLibrary__.js +25 -27
  181. package/out/concepts/FrontendLibrary__.js.map +1 -1
  182. package/out/concepts/FrontendVariable__.d.ts +3 -4
  183. package/out/concepts/FrontendVariable__.js +12 -12
  184. package/out/concepts/FrontendVariable__.js.map +1 -1
  185. package/out/concepts/Frontend__.d.ts +6 -8
  186. package/out/concepts/Frontend__.js +39 -47
  187. package/out/concepts/Frontend__.js.map +1 -1
  188. package/out/concepts/Function__.d.ts +3 -3
  189. package/out/concepts/Function__.js +60 -37
  190. package/out/concepts/Function__.js.map +1 -1
  191. package/out/concepts/Identifier__.d.ts +3 -4
  192. package/out/concepts/Identifier__.js +29 -30
  193. package/out/concepts/Identifier__.js.map +1 -1
  194. package/out/concepts/IfStatement__.d.ts +3 -3
  195. package/out/concepts/IfStatement__.js +51 -21
  196. package/out/concepts/IfStatement__.js.map +1 -1
  197. package/out/concepts/Integration__.d.ts +2 -93
  198. package/out/concepts/Integration__.js +19 -157
  199. package/out/concepts/Integration__.js.map +1 -1
  200. package/out/concepts/InterfaceParam__.d.ts +4 -30
  201. package/out/concepts/InterfaceParam__.js +24 -58
  202. package/out/concepts/InterfaceParam__.js.map +1 -1
  203. package/out/concepts/Interface__.d.ts +5 -31
  204. package/out/concepts/Interface__.js +34 -89
  205. package/out/concepts/Interface__.js.map +1 -1
  206. package/out/concepts/JSBlock__.d.ts +3 -3
  207. package/out/concepts/JSBlock__.js +24 -17
  208. package/out/concepts/JSBlock__.js.map +1 -1
  209. package/out/concepts/JavaLogic__.d.ts +3 -4
  210. package/out/concepts/JavaLogic__.js +21 -22
  211. package/out/concepts/JavaLogic__.js.map +1 -1
  212. package/out/concepts/LogicItem__.d.ts +8 -3
  213. package/out/concepts/LogicItem__.js +30 -23
  214. package/out/concepts/LogicItem__.js.map +1 -1
  215. package/out/concepts/Logic__.d.ts +18 -17
  216. package/out/concepts/Logic__.js +188 -113
  217. package/out/concepts/Logic__.js.map +1 -1
  218. package/out/concepts/MatchCase__.d.ts +3 -3
  219. package/out/concepts/MatchCase__.js +110 -23
  220. package/out/concepts/MatchCase__.js.map +1 -1
  221. package/out/concepts/Match__.d.ts +3 -3
  222. package/out/concepts/Match__.js +64 -20
  223. package/out/concepts/Match__.js.map +1 -1
  224. package/out/concepts/MemberExpression__.d.ts +3 -3
  225. package/out/concepts/MemberExpression__.js +59 -65
  226. package/out/concepts/MemberExpression__.js.map +1 -1
  227. package/out/concepts/MicroApp__.d.ts +2 -3
  228. package/out/concepts/MicroApp__.js +21 -26
  229. package/out/concepts/MicroApp__.js.map +1 -1
  230. package/out/concepts/Module__.d.ts +47 -219
  231. package/out/concepts/Module__.js +32 -232
  232. package/out/concepts/Module__.js.map +1 -1
  233. package/out/concepts/MsgTriggerEvent__.d.ts +3 -4
  234. package/out/concepts/MsgTriggerEvent__.js +18 -16
  235. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  236. package/out/concepts/MsgTriggerLauncher__.d.ts +3 -4
  237. package/out/concepts/MsgTriggerLauncher__.js +19 -18
  238. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  239. package/out/concepts/Namespace__.d.ts +2 -4
  240. package/out/concepts/Namespace__.js +46 -64
  241. package/out/concepts/Namespace__.js.map +1 -1
  242. package/out/concepts/NewComposite__.d.ts +3 -4
  243. package/out/concepts/NewComposite__.js +133 -71
  244. package/out/concepts/NewComposite__.js.map +1 -1
  245. package/out/concepts/NewList__.d.ts +4 -5
  246. package/out/concepts/NewList__.js +41 -35
  247. package/out/concepts/NewList__.js.map +1 -1
  248. package/out/concepts/NewMap__.d.ts +4 -5
  249. package/out/concepts/NewMap__.js +38 -39
  250. package/out/concepts/NewMap__.js.map +1 -1
  251. package/out/concepts/New__.d.ts +2 -3
  252. package/out/concepts/New__.js +17 -15
  253. package/out/concepts/New__.js.map +1 -1
  254. package/out/concepts/NullLiteral__.d.ts +2 -3
  255. package/out/concepts/NullLiteral__.js +17 -15
  256. package/out/concepts/NullLiteral__.js.map +1 -1
  257. package/out/concepts/NumericLiteral__.d.ts +3 -3
  258. package/out/concepts/NumericLiteral__.js +27 -21
  259. package/out/concepts/NumericLiteral__.js.map +1 -1
  260. package/out/concepts/OqlQueryComponent__.d.ts +3 -3
  261. package/out/concepts/OqlQueryComponent__.js +30 -26
  262. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  263. package/out/concepts/OverriddenLogic__.d.ts +22 -14
  264. package/out/concepts/OverriddenLogic__.js +62 -73
  265. package/out/concepts/OverriddenLogic__.js.map +1 -1
  266. package/out/concepts/Param__.d.ts +3 -3
  267. package/out/concepts/Param__.js +69 -34
  268. package/out/concepts/Param__.js.map +1 -1
  269. package/out/concepts/Point__.d.ts +2 -3
  270. package/out/concepts/Point__.js +16 -16
  271. package/out/concepts/Point__.js.map +1 -1
  272. package/out/concepts/ProcessComponent__.d.ts +2 -3
  273. package/out/concepts/ProcessComponent__.js +22 -24
  274. package/out/concepts/ProcessComponent__.js.map +1 -1
  275. package/out/concepts/ProcessElement__.d.ts +2 -3
  276. package/out/concepts/ProcessElement__.js +46 -61
  277. package/out/concepts/ProcessElement__.js.map +1 -1
  278. package/out/concepts/ProcessOutcome__.d.ts +2 -3
  279. package/out/concepts/ProcessOutcome__.js +18 -17
  280. package/out/concepts/ProcessOutcome__.js.map +1 -1
  281. package/out/concepts/ProcessOutcomes__.d.ts +2 -3
  282. package/out/concepts/ProcessOutcomes__.js +17 -15
  283. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  284. package/out/concepts/Process__.d.ts +7 -5
  285. package/out/concepts/Process__.js +35 -46
  286. package/out/concepts/Process__.js.map +1 -1
  287. package/out/concepts/QueryAggregateExpression__.d.ts +2 -3
  288. package/out/concepts/QueryAggregateExpression__.js +22 -23
  289. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  290. package/out/concepts/QueryFieldExpression__.d.ts +3 -4
  291. package/out/concepts/QueryFieldExpression__.js +20 -21
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +3 -4
  294. package/out/concepts/QueryFromExpression__.js +22 -23
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +2 -3
  297. package/out/concepts/QueryGroupByExpression__.js +19 -18
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +3 -4
  300. package/out/concepts/QueryJoinExpression__.js +25 -29
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +2 -3
  303. package/out/concepts/QueryLimitExpression__.js +22 -22
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +2 -3
  306. package/out/concepts/QueryOrderByExpression__.js +22 -22
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +2 -3
  309. package/out/concepts/QuerySelectExpression__.js +21 -23
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.d.ts +2 -3
  312. package/out/concepts/Rect__.js +18 -20
  313. package/out/concepts/Rect__.js.map +1 -1
  314. package/out/concepts/Return__.d.ts +3 -3
  315. package/out/concepts/Return__.js +45 -29
  316. package/out/concepts/Return__.js.map +1 -1
  317. package/out/concepts/Role__.d.ts +2 -3
  318. package/out/concepts/Role__.js +21 -22
  319. package/out/concepts/Role__.js.map +1 -1
  320. package/out/concepts/SelectMembers__.d.ts +2 -3
  321. package/out/concepts/SelectMembers__.js +21 -20
  322. package/out/concepts/SelectMembers__.js.map +1 -1
  323. package/out/concepts/Slot__.d.ts +2 -3
  324. package/out/concepts/Slot__.js +22 -26
  325. package/out/concepts/Slot__.js.map +1 -1
  326. package/out/concepts/SqlQueryComponent__.d.ts +3 -3
  327. package/out/concepts/SqlQueryComponent__.js +31 -28
  328. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  329. package/out/concepts/Start__.d.ts +2 -3
  330. package/out/concepts/Start__.js +17 -15
  331. package/out/concepts/Start__.js.map +1 -1
  332. package/out/concepts/StringInterpolation__.d.ts +3 -3
  333. package/out/concepts/StringInterpolation__.js +37 -17
  334. package/out/concepts/StringInterpolation__.js.map +1 -1
  335. package/out/concepts/StringLiteral__.d.ts +3 -3
  336. package/out/concepts/StringLiteral__.js +22 -14
  337. package/out/concepts/StringLiteral__.js.map +1 -1
  338. package/out/concepts/StructureProperty__.d.ts +5 -5
  339. package/out/concepts/StructureProperty__.js +40 -33
  340. package/out/concepts/StructureProperty__.js.map +1 -1
  341. package/out/concepts/Structure__.d.ts +12 -3
  342. package/out/concepts/Structure__.js +46 -45
  343. package/out/concepts/Structure__.js.map +1 -1
  344. package/out/concepts/SwitchCase__.d.ts +3 -3
  345. package/out/concepts/SwitchCase__.js +54 -19
  346. package/out/concepts/SwitchCase__.js.map +1 -1
  347. package/out/concepts/SwitchStatement__.d.ts +3 -3
  348. package/out/concepts/SwitchStatement__.js +39 -23
  349. package/out/concepts/SwitchStatement__.js.map +1 -1
  350. package/out/concepts/Theme__.d.ts +2 -3
  351. package/out/concepts/Theme__.js +14 -12
  352. package/out/concepts/Theme__.js.map +1 -1
  353. package/out/concepts/Transactional__.d.ts +2 -3
  354. package/out/concepts/Transactional__.js +17 -18
  355. package/out/concepts/Transactional__.js.map +1 -1
  356. package/out/concepts/TriggerEvent__.d.ts +2 -3
  357. package/out/concepts/TriggerEvent__.js +18 -19
  358. package/out/concepts/TriggerEvent__.js.map +1 -1
  359. package/out/concepts/TriggerLauncher__.d.ts +17 -6
  360. package/out/concepts/TriggerLauncher__.js +63 -26
  361. package/out/concepts/TriggerLauncher__.js.map +1 -1
  362. package/out/concepts/TypeAnnotation__.d.ts +6 -8
  363. package/out/concepts/TypeAnnotation__.js +79 -56
  364. package/out/concepts/TypeAnnotation__.js.map +1 -1
  365. package/out/concepts/TypeParam__.d.ts +3 -3
  366. package/out/concepts/TypeParam__.js +23 -16
  367. package/out/concepts/TypeParam__.js.map +1 -1
  368. package/out/concepts/UnaryExpression__.d.ts +3 -3
  369. package/out/concepts/UnaryExpression__.js +39 -21
  370. package/out/concepts/UnaryExpression__.js.map +1 -1
  371. package/out/concepts/Unparsed__.d.ts +3 -3
  372. package/out/concepts/Unparsed__.js +23 -16
  373. package/out/concepts/Unparsed__.js.map +1 -1
  374. package/out/concepts/UseComponent__.d.ts +2 -3
  375. package/out/concepts/UseComponent__.js +16 -16
  376. package/out/concepts/UseComponent__.js.map +1 -1
  377. package/out/concepts/ValidationRule__.d.ts +16 -17
  378. package/out/concepts/ValidationRule__.js +15 -18
  379. package/out/concepts/ValidationRule__.js.map +1 -1
  380. package/out/concepts/Variable__.d.ts +3 -3
  381. package/out/concepts/Variable__.js +45 -29
  382. package/out/concepts/Variable__.js.map +1 -1
  383. package/out/concepts/ViewBlock__.d.ts +3 -4
  384. package/out/concepts/ViewBlock__.js +19 -20
  385. package/out/concepts/ViewBlock__.js.map +1 -1
  386. package/out/concepts/ViewComponent__.d.ts +31 -32
  387. package/out/concepts/ViewComponent__.js +32 -35
  388. package/out/concepts/ViewComponent__.js.map +1 -1
  389. package/out/concepts/ViewElement__.d.ts +81 -82
  390. package/out/concepts/ViewElement__.js +155 -259
  391. package/out/concepts/ViewElement__.js.map +1 -1
  392. package/out/concepts/View__.d.ts +4 -5
  393. package/out/concepts/View__.js +207 -141
  394. package/out/concepts/View__.js.map +1 -1
  395. package/out/concepts/WhileStatement__.d.ts +3 -3
  396. package/out/concepts/WhileStatement__.js +41 -20
  397. package/out/concepts/WhileStatement__.js.map +1 -1
  398. package/out/concepts/index__.d.ts +1 -0
  399. package/out/concepts/index__.js +1 -0
  400. package/out/concepts/index__.js.map +1 -1
  401. package/out/concepts/types__.d.ts +2 -2
  402. package/out/decorators/index.d.ts +0 -2
  403. package/out/decorators/index.js +8 -12
  404. package/out/decorators/index.js.map +1 -1
  405. package/out/generator/genBundleFiles.d.ts +2 -2
  406. package/out/generator/genBundleFiles.js +4 -11
  407. package/out/generator/genBundleFiles.js.map +1 -1
  408. package/out/generator/genReleaseBody.d.ts +2 -4
  409. package/out/generator/genReleaseBody.js +136 -192
  410. package/out/generator/genReleaseBody.js.map +1 -1
  411. package/out/index.d.ts +1 -0
  412. package/out/index.js +1 -0
  413. package/out/index.js.map +1 -1
  414. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  415. package/out/natural/RequirementAnalyzer.js +196 -0
  416. package/out/natural/RequirementAnalyzer.js.map +1 -0
  417. package/out/natural/RequirementExecutor.d.ts +51 -0
  418. package/out/natural/RequirementExecutor.js +692 -0
  419. package/out/natural/RequirementExecutor.js.map +1 -0
  420. package/out/natural/componentData.d.ts +31 -0
  421. package/out/natural/componentData.js +85 -0
  422. package/out/natural/componentData.js.map +1 -0
  423. package/out/natural/genNaturalTS.d.ts +3 -0
  424. package/out/natural/genNaturalTS.js +90 -0
  425. package/out/natural/genNaturalTS.js.map +1 -0
  426. package/out/natural/index.d.ts +4 -0
  427. package/out/natural/index.js +21 -0
  428. package/out/natural/index.js.map +1 -0
  429. package/out/natural/knowledgeMap.d.ts +4 -0
  430. package/out/natural/knowledgeMap.js +40 -0
  431. package/out/natural/knowledgeMap.js.map +1 -0
  432. package/out/natural/naslStdlibMap.d.ts +2 -0
  433. package/out/natural/naslStdlibMap.js +26 -0
  434. package/out/natural/naslStdlibMap.js.map +1 -0
  435. package/out/natural/transformTSCode.d.ts +7 -0
  436. package/out/natural/transformTSCode.js +878 -0
  437. package/out/natural/transformTSCode.js.map +1 -0
  438. package/out/sentry/index.js +2 -2
  439. package/out/sentry/index.js.map +1 -1
  440. package/out/server/createUiTs.js +1 -34
  441. package/out/server/createUiTs.js.map +1 -1
  442. package/out/server/extendBaseNode.js +17 -17
  443. package/out/server/extendBaseNode.js.map +1 -1
  444. package/out/server/formatTsUtils.js +10 -0
  445. package/out/server/formatTsUtils.js.map +1 -1
  446. package/out/server/getConnector.d.ts +0 -3
  447. package/out/server/getConnector.js +1 -38
  448. package/out/server/getConnector.js.map +1 -1
  449. package/out/server/getMemberIdentifier.js +2 -1
  450. package/out/server/getMemberIdentifier.js.map +1 -1
  451. package/out/server/index.js +0 -2
  452. package/out/server/index.js.map +1 -1
  453. package/out/server/naslServer.d.ts +6 -17
  454. package/out/server/naslServer.js +213 -321
  455. package/out/server/naslServer.js.map +1 -1
  456. package/out/server/translator.js +4 -2
  457. package/out/server/translator.js.map +1 -1
  458. package/out/service/creator/add.configs.js +0 -26
  459. package/out/service/creator/add.configs.js.map +1 -1
  460. package/out/service/creator/errHandles.js +3 -5
  461. package/out/service/creator/errHandles.js.map +1 -1
  462. package/out/service/creator/index.js +0 -13
  463. package/out/service/creator/index.js.map +1 -1
  464. package/out/service/storage/init.js +16 -0
  465. package/out/service/storage/init.js.map +1 -1
  466. package/out/service/storage/jsoner.js +1 -1
  467. package/out/service/storage/jsoner.js.map +1 -1
  468. package/out/templator/genCurdEditMultipleKeyBlock.js +3 -3
  469. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  470. package/out/templator/genCurdMultipleKeyBlock.js +3 -3
  471. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  472. package/out/templator/genTableBlock.js +1 -1
  473. package/out/templator/genTableBlock.js.map +1 -1
  474. package/out/translator/index.d.ts +48 -3
  475. package/out/translator/index.js +110 -17
  476. package/out/translator/index.js.map +1 -1
  477. package/out/translator/lsp.d.ts +45 -0
  478. package/out/translator/lsp.js +6 -0
  479. package/out/translator/lsp.js.map +1 -0
  480. package/out/translator/tsp.d.ts +12 -0
  481. package/out/translator/{types.js → tsp.js} +1 -1
  482. package/out/translator/tsp.js.map +1 -0
  483. package/out/utils/index.d.ts +0 -2
  484. package/out/utils/index.js +0 -2
  485. package/out/utils/index.js.map +1 -1
  486. package/out/utils/logger.d.ts +0 -4
  487. package/out/utils/logger.js +1 -13
  488. package/out/utils/logger.js.map +1 -1
  489. package/out/utils/time-slicing.js +1 -1
  490. package/out/utils/time-slicing.js.map +1 -1
  491. package/package.json +11 -5
  492. package/sandbox/stdlib/nasl.oql.ts +0 -2
  493. package/sandbox/stdlib/nasl.ui.definition.ts +1415 -2218
  494. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  495. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  496. package/sandbox-natural/stdlib/nasl.ui.ts +63 -0
  497. package/sandbox-natural/stdlib/nasl.util.ts +119 -0
  498. package/sandbox-natural/tsconfig.json +12 -0
  499. package/src/bak/translator.js +5 -8
  500. package/src/breakpoint/generator/AfterStartNode.ts +1 -2
  501. package/src/breakpoint/generator/BeforeEndNode.ts +1 -2
  502. package/src/breakpoint/generator/BreakpointNode.ts +9 -36
  503. package/src/breakpoint/shared/constants.ts +0 -7
  504. package/src/breakpoint/shared/utils.ts +3 -36
  505. package/src/common/BaseNode.ts +81 -140
  506. package/src/common/Command.ts +1 -6
  507. package/src/common/EventEmitter.ts +4 -2
  508. package/src/common/classMap.ts +3 -0
  509. package/src/common/index.ts +1 -0
  510. package/src/concepts/Abort__.ts +22 -20
  511. package/src/concepts/Anchor__.ts +38 -23
  512. package/src/concepts/AnonymousFunction__.ts +63 -39
  513. package/src/concepts/App__.ts +314 -364
  514. package/src/concepts/Argument__.ts +44 -27
  515. package/src/concepts/Assignee__.ts +39 -41
  516. package/src/concepts/AssignmentLine__.ts +23 -20
  517. package/src/concepts/Assignment__.ts +58 -54
  518. package/src/concepts/Attribute__.ts +34 -40
  519. package/src/concepts/AuthInterface__.ts +24 -22
  520. package/src/concepts/AuthLogicForCallInterface__.ts +41 -71
  521. package/src/concepts/AuthLogic__.ts +30 -21
  522. package/src/concepts/BackendVariable__.ts +54 -55
  523. package/src/concepts/Backend__.ts +59 -58
  524. package/src/concepts/BatchAssignment__.ts +78 -88
  525. package/src/concepts/BinaryExpression__.ts +66 -72
  526. package/src/concepts/BindAttribute__.ts +155 -135
  527. package/src/concepts/BindDirective__.ts +41 -45
  528. package/src/concepts/BindEvent__.ts +89 -80
  529. package/src/concepts/BindStyle__.ts +36 -37
  530. package/src/concepts/BooleanLiteral__.ts +28 -22
  531. package/src/concepts/CallAuthInterface__.ts +32 -29
  532. package/src/concepts/CallConnector__.ts +41 -50
  533. package/src/concepts/CallFunction__.ts +77 -45
  534. package/src/concepts/CallInterface__.ts +68 -36
  535. package/src/concepts/CallLogic__.ts +213 -166
  536. package/src/concepts/CallQueryComponent__.ts +88 -156
  537. package/src/concepts/Comment__.ts +29 -22
  538. package/src/concepts/CompletionProperty__.ts +30 -34
  539. package/src/concepts/ConfigGroup__.ts +29 -28
  540. package/src/concepts/ConfigPropertyValue__.ts +23 -22
  541. package/src/concepts/ConfigProperty__.ts +36 -42
  542. package/src/concepts/Configuration__.ts +26 -23
  543. package/src/concepts/Connection__.ts +21 -26
  544. package/src/concepts/ConnectorTrigger__.ts +34 -30
  545. package/src/concepts/Connector__.ts +87 -342
  546. package/src/concepts/Constant__.ts +36 -30
  547. package/src/concepts/DataElement__.ts +131 -0
  548. package/src/concepts/DataSource__.ts +33 -37
  549. package/src/concepts/DatabaseTypeAnnotation__.ts +24 -24
  550. package/src/concepts/Destination__.ts +104 -51
  551. package/src/concepts/End__.ts +25 -23
  552. package/src/concepts/EntityIndex__.ts +33 -36
  553. package/src/concepts/EntityProperty__.ts +84 -64
  554. package/src/concepts/Entity__.ts +67 -41
  555. package/src/concepts/EnumItem__.ts +32 -24
  556. package/src/concepts/Enum__.ts +42 -28
  557. package/src/concepts/Event__.ts +33 -33
  558. package/src/concepts/ExternalDestination__.ts +29 -29
  559. package/src/concepts/ForEachStatement__.ts +73 -34
  560. package/src/concepts/FrontendLibrary__.ts +38 -37
  561. package/src/concepts/FrontendVariable__.ts +20 -18
  562. package/src/concepts/Frontend__.ts +62 -66
  563. package/src/concepts/Function__.ts +80 -54
  564. package/src/concepts/Identifier__.ts +34 -37
  565. package/src/concepts/IfStatement__.ts +77 -40
  566. package/src/concepts/Integration__.ts +24 -244
  567. package/src/concepts/InterfaceParam__.ts +33 -69
  568. package/src/concepts/Interface__.ts +46 -104
  569. package/src/concepts/JSBlock__.ts +28 -22
  570. package/src/concepts/JavaLogic__.ts +26 -27
  571. package/src/concepts/LogicItem__.ts +47 -29
  572. package/src/concepts/Logic__.ts +226 -168
  573. package/src/concepts/MatchCase__.ts +128 -38
  574. package/src/concepts/Match__.ts +73 -28
  575. package/src/concepts/MemberExpression__.ts +139 -174
  576. package/src/concepts/MicroApp__.ts +27 -32
  577. package/src/concepts/Module__.ts +107 -527
  578. package/src/concepts/MsgTriggerEvent__.ts +33 -25
  579. package/src/concepts/MsgTriggerLauncher__.ts +30 -27
  580. package/src/concepts/Namespace__.ts +99 -109
  581. package/src/concepts/NewComposite__.ts +161 -130
  582. package/src/concepts/NewList__.ts +51 -45
  583. package/src/concepts/NewMap__.ts +48 -51
  584. package/src/concepts/New__.ts +22 -20
  585. package/src/concepts/NullLiteral__.ts +22 -20
  586. package/src/concepts/NumericLiteral__.ts +31 -26
  587. package/src/concepts/OqlQueryComponent__.ts +34 -33
  588. package/src/concepts/OverriddenLogic__.ts +94 -128
  589. package/src/concepts/Param__.ts +90 -51
  590. package/src/concepts/Point__.ts +22 -22
  591. package/src/concepts/ProcessComponent__.ts +37 -36
  592. package/src/concepts/ProcessElement__.ts +86 -114
  593. package/src/concepts/ProcessOutcome__.ts +23 -22
  594. package/src/concepts/ProcessOutcomes__.ts +22 -20
  595. package/src/concepts/Process__.ts +63 -69
  596. package/src/concepts/QueryAggregateExpression__.ts +27 -28
  597. package/src/concepts/QueryFieldExpression__.ts +25 -26
  598. package/src/concepts/QueryFromExpression__.ts +28 -29
  599. package/src/concepts/QueryGroupByExpression__.ts +23 -22
  600. package/src/concepts/QueryJoinExpression__.ts +41 -62
  601. package/src/concepts/QueryLimitExpression__.ts +27 -27
  602. package/src/concepts/QueryOrderByExpression__.ts +27 -27
  603. package/src/concepts/QuerySelectExpression__.ts +54 -105
  604. package/src/concepts/Rect__.ts +24 -26
  605. package/src/concepts/Return__.ts +67 -42
  606. package/src/concepts/Role__.ts +25 -25
  607. package/src/concepts/SelectMembers__.ts +32 -30
  608. package/src/concepts/Slot__.ts +30 -32
  609. package/src/concepts/SqlQueryComponent__.ts +37 -41
  610. package/src/concepts/Start__.ts +22 -20
  611. package/src/concepts/StringInterpolation__.ts +45 -25
  612. package/src/concepts/StringLiteral__.ts +26 -19
  613. package/src/concepts/StructureProperty__.ts +47 -38
  614. package/src/concepts/Structure__.ts +58 -55
  615. package/src/concepts/SwitchCase__.ts +74 -40
  616. package/src/concepts/SwitchStatement__.ts +44 -29
  617. package/src/concepts/Theme__.ts +21 -18
  618. package/src/concepts/Transactional__.ts +31 -24
  619. package/src/concepts/TriggerEvent__.ts +29 -28
  620. package/src/concepts/TriggerLauncher__.ts +82 -32
  621. package/src/concepts/TypeAnnotation__.ts +98 -92
  622. package/src/concepts/TypeParam__.ts +28 -21
  623. package/src/concepts/UnaryExpression__.ts +45 -26
  624. package/src/concepts/Unparsed__.ts +25 -20
  625. package/src/concepts/UseComponent__.ts +22 -22
  626. package/src/concepts/ValidationRule__.ts +555 -539
  627. package/src/concepts/Variable__.ts +67 -43
  628. package/src/concepts/ViewBlock__.ts +25 -26
  629. package/src/concepts/ViewComponent__.ts +91 -87
  630. package/src/concepts/ViewElement__.ts +2437 -2696
  631. package/src/concepts/View__.ts +407 -345
  632. package/src/concepts/WhileStatement__.ts +59 -36
  633. package/src/concepts/index__.ts +1 -0
  634. package/src/concepts/types__.ts +124 -124
  635. package/src/decorators/index.ts +7 -11
  636. package/src/generator/genBundleFiles.ts +4 -14
  637. package/src/generator/genReleaseBody.ts +182 -198
  638. package/src/index.ts +1 -0
  639. package/src/natural/RequirementAnalyzer.ts +208 -0
  640. package/src/natural/RequirementExecutor.ts +685 -0
  641. package/src/natural/componentData.ts +81 -0
  642. package/src/natural/genNaturalTS.ts +90 -0
  643. package/src/natural/index.ts +4 -0
  644. package/src/natural/knowledgeMap.ts +39 -0
  645. package/src/natural/naslStdlibMap.ts +24 -0
  646. package/src/natural/transformTSCode.ts +834 -0
  647. package/src/sentry/index.ts +2 -2
  648. package/src/server/createUiTs.ts +1 -30
  649. package/src/server/extendBaseNode.ts +18 -18
  650. package/src/server/formatTsUtils.ts +11 -0
  651. package/src/server/getConnector.ts +27 -63
  652. package/src/server/getMemberIdentifier.ts +3 -2
  653. package/src/server/index.ts +1 -4
  654. package/src/server/naslServer.ts +212 -302
  655. package/src/server/translator.ts +3 -1
  656. package/src/service/creator/add.configs.js +1 -26
  657. package/src/service/creator/errHandles.js +4 -5
  658. package/src/service/creator/index.js +0 -12
  659. package/src/service/storage/init.ts +17 -0
  660. package/src/service/storage/jsoner.ts +1 -1
  661. package/src/templator/genCurdEditMultipleKeyBlock.ts +3 -3
  662. package/src/templator/genCurdMultipleKeyBlock.ts +3 -3
  663. package/src/templator/genTableBlock.ts +1 -1
  664. package/src/test/examples/app1.json +1406 -0
  665. package/src/test/fixtures/env.ts +19 -0
  666. package/src/test/integration/connect-create-file.ts +14 -0
  667. package/src/test/integration/connect-file.ts +24 -0
  668. package/src/test/integration/node-nasl-server.ts +14 -0
  669. package/src/test/units/baseTypes/Assignment.spec.ts +20 -0
  670. package/src/test/units/baseTypes/CallLogic.spec.ts +22 -0
  671. package/src/test/units/baseTypes/StringLiteral.spec.ts +60 -0
  672. package/src/test/units/baseTypes/new.spec.ts +13 -0
  673. package/src/test/units/common/Vertex.spec.ts +23 -0
  674. package/src/test/units/data/Entity.spec.ts +10 -0
  675. package/src/test/units/login.spec.ts +10 -0
  676. package/src/test/units/page/Block.spec.ts +15 -0
  677. package/src/test/units/page/Element.spec.ts +45 -0
  678. package/src/test/units/page/example.dashboard.html +46 -0
  679. package/src/test/units/page/example.view1.html +63 -0
  680. package/src/test/units/temp/temp.spec.ts +66 -0
  681. package/src/translator/index.ts +137 -3
  682. package/src/translator/lsp.ts +50 -0
  683. package/src/translator/tsp.ts +14 -0
  684. package/src/utils/index.ts +0 -2
  685. package/src/utils/logger.ts +0 -13
  686. package/src/utils/time-slicing.ts +1 -1
  687. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +6 -6
  688. package/test/concepts/call-interface/toJS.spec.ts +6 -6
  689. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -45
  690. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +0 -102
  691. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +6 -6
  692. package/test/concepts/call-logic/toJS.spec.ts +6 -6
  693. package/test/concepts/match/toEmbeddedTS.spec.ts +6 -6
  694. package/test/concepts/match/toJS.spec.ts +6 -6
  695. package/test/concepts/utils.ts +43 -46
  696. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +6 -6
  697. package/test/concepts/validation-rule/toJS.spec.ts +6 -6
  698. package/test/concepts/validation-rule/validation-rule.spec.ts +8 -8
  699. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -592
  700. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -308
  701. package/test/concepts/view-element/fixtures/default-not-found.json +313 -313
  702. package/test/concepts/view-element/toEmbeddedTS.spec.ts +6 -6
  703. package/test/concepts/view-element/toVue.spec.ts +6 -6
  704. package/ts-worker/package-lock.json +101 -6663
  705. package/ts-worker/webpack.config.js +1 -1
  706. package/out/translator/constant.d.ts +0 -6
  707. package/out/translator/constant.js +0 -10
  708. package/out/translator/constant.js.map +0 -1
  709. package/out/translator/types.d.ts +0 -32
  710. package/out/translator/types.js.map +0 -1
  711. package/out/translator/utils.d.ts +0 -17
  712. package/out/translator/utils.js +0 -102
  713. package/out/translator/utils.js.map +0 -1
  714. package/out/utils/cookie.d.ts +0 -9
  715. package/out/utils/cookie.js +0 -62
  716. package/out/utils/cookie.js.map +0 -1
  717. package/out/utils/types.d.ts +0 -1
  718. package/out/utils/types.js +0 -3
  719. package/out/utils/types.js.map +0 -1
  720. package/out/utils/window.d.ts +0 -7
  721. package/out/utils/window.js +0 -14
  722. package/out/utils/window.js.map +0 -1
  723. package/src/translator/constant.ts +0 -7
  724. package/src/translator/types.ts +0 -40
  725. package/src/translator/utils.ts +0 -104
  726. package/src/utils/cookie.ts +0 -60
  727. package/src/utils/types.ts +0 -1
  728. package/src/utils/window.ts +0 -9
  729. package/test/concepts/boolean-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -11
  730. package/test/concepts/boolean-literal/__snapshots__/toJS.spec.ts.snap +0 -11
  731. package/test/concepts/boolean-literal/__snapshots__/toVue.spec.ts.snap +0 -11
  732. package/test/concepts/boolean-literal/constant.ts +0 -5
  733. package/test/concepts/boolean-literal/fixtures/false.json +0 -4
  734. package/test/concepts/boolean-literal/fixtures/true.json +0 -4
  735. package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +0 -14
  736. package/test/concepts/boolean-literal/toJS.spec.ts +0 -14
  737. package/test/concepts/boolean-literal/toVue.spec.ts +0 -14
  738. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +0 -106
  739. package/test/concepts/call-logic/fixtures/nested-call-logic.json +0 -860
  740. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +0 -23
  741. package/test/concepts/identifier/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -16
  742. package/test/concepts/identifier/__snapshots__/toJS.spec.ts.snap +0 -16
  743. package/test/concepts/identifier/__snapshots__/toVue.spec.ts.snap +0 -16
  744. package/test/concepts/identifier/constant.ts +0 -5
  745. package/test/concepts/identifier/fixtures/data-source.json +0 -5
  746. package/test/concepts/identifier/fixtures/no-namespace.json +0 -4
  747. package/test/concepts/identifier/fixtures/view-variable.json +0 -201
  748. package/test/concepts/identifier/toEmbeddedTS.spec.ts +0 -14
  749. package/test/concepts/identifier/toJS.spec.ts +0 -14
  750. package/test/concepts/identifier/toVue.spec.ts +0 -14
  751. package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -21
  752. package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +0 -21
  753. package/test/concepts/member-expression/__snapshots__/toVue.spec.ts.snap +0 -21
  754. package/test/concepts/member-expression/constant.ts +0 -5
  755. package/test/concepts/member-expression/fixtures/app.enums.UserStatusEnum.json +0 -13
  756. package/test/concepts/member-expression/fixtures/elements.table-view.data.json +0 -13
  757. package/test/concepts/member-expression/fixtures/entry.created-by.json +0 -18
  758. package/test/concepts/member-expression/fixtures/nasl.auth.userInfo.json +0 -19
  759. package/test/concepts/member-expression/toEmbeddedTS.spec.ts +0 -14
  760. package/test/concepts/member-expression/toJS.spec.ts +0 -14
  761. package/test/concepts/member-expression/toVue.spec.ts +0 -14
  762. package/test/concepts/null-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -6
  763. package/test/concepts/null-literal/__snapshots__/toJS.spec.ts.snap +0 -6
  764. package/test/concepts/null-literal/__snapshots__/toVue.spec.ts.snap +0 -6
  765. package/test/concepts/null-literal/constant.ts +0 -5
  766. package/test/concepts/null-literal/fixtures/null.json +0 -3
  767. package/test/concepts/null-literal/toEmbeddedTS.spec.ts +0 -14
  768. package/test/concepts/null-literal/toJS.spec.ts +0 -14
  769. package/test/concepts/null-literal/toVue.spec.ts +0 -14
  770. package/test/concepts/numeric-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -6
  771. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +0 -6
  772. package/test/concepts/numeric-literal/__snapshots__/toVue.spec.ts.snap +0 -6
  773. package/test/concepts/numeric-literal/constant.ts +0 -5
  774. package/test/concepts/numeric-literal/fixtures/number.json +0 -10
  775. package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +0 -14
  776. package/test/concepts/numeric-literal/toJS.spec.ts +0 -14
  777. package/test/concepts/numeric-literal/toVue.spec.ts +0 -14
  778. package/test/concepts/string-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -16
  779. package/test/concepts/string-literal/__snapshots__/toJS.spec.ts.snap +0 -16
  780. package/test/concepts/string-literal/__snapshots__/toVue.spec.ts.snap +0 -16
  781. package/test/concepts/string-literal/constant.ts +0 -5
  782. package/test/concepts/string-literal/fixtures/escape.json +0 -4
  783. package/test/concepts/string-literal/fixtures/space.json +0 -4
  784. package/test/concepts/string-literal/fixtures/string.json +0 -4
  785. package/test/concepts/string-literal/toEmbeddedTS.spec.ts +0 -14
  786. package/test/concepts/string-literal/toJS.spec.ts +0 -14
  787. package/test/concepts/string-literal/toVue.spec.ts +0 -14
  788. package/test/concepts/view-element/fixtures/default-login.json +0 -333
  789. package/test/concepts/view-element/fixtures/with-role-auth.json +0 -148
  790. package/test/concepts/view-element/fixtures/with-table.json +0 -3473
@@ -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