@lcap/nasl 3.4.0-alpha.1 → 3.4.0-alpha.2

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