@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
@@ -1,13 +1,32 @@
1
1
  import {
2
2
  App,
3
+ Assignment,
4
+ BatchAssignment,
5
+ CallFunction,
6
+ CallInterface,
7
+ CallLogic,
8
+ ForEachStatement,
9
+ IfStatement,
10
+ Logic,
11
+ LogicItem,
12
+ Match,
13
+ MatchCase,
14
+ MemberExpression,
3
15
  Role,
16
+ SwitchCase,
17
+ SwitchStatement,
4
18
  View,
5
19
  ViewElement,
20
+ WhileStatement,
21
+ StringInterpolation,
6
22
  Frontend,
23
+ ExternalDestination,
24
+ NewComposite,
25
+ SelectMembers,
26
+ NewList,
7
27
  } from '../concepts';
8
28
  import { genFrontendBundleFiles } from './genBundleFiles';
9
29
  import { genPermissionData, genLogicAuthFlag } from './permission';
10
-
11
30
  import * as utils from '../utils';
12
31
 
13
32
  interface ServerValidationData {
@@ -16,6 +35,11 @@ interface ServerValidationData {
16
35
  uuid: string;
17
36
  }
18
37
 
38
+ interface FileData {
39
+ name: string;
40
+ content: string;
41
+ }
42
+
19
43
  interface ReleaseData {
20
44
  env: string;
21
45
  debug: boolean;
@@ -37,178 +61,154 @@ interface ReleaseData {
37
61
  frontends: Array<Frontend>;
38
62
  validations: InputServerValidationData;
39
63
  logPublishFunc: Function;
40
- appSpecification?: number;
41
64
  }
42
65
 
43
66
  type InputServerValidationData = { [key in string]: ServerValidationData[] };
44
67
 
45
- async function mergeBodyData(app: App, opt: ReleaseData) {
46
- await utils.delay(500);
47
- utils.timeline.time('组装初始 Body 数据');
68
+ function getValidationMap(serverData: InputServerValidationData) {
69
+ const map = new Map<string, ServerValidationData>();
48
70
 
49
- const authReport: ReturnType<typeof getAuthReport> = getAuthReport(app, opt.frontends);
50
- opt.logPublishFunc?.(`[权限] "[${app.title}]" 分析权限数据成功!`);
51
- const logicPageResourceDtoList = await genPermissionData(app);
52
- const releaseFrontends = app.frontends.map((frontend) => ({
53
- name: frontend.name,
54
- type: frontend.type,
55
- path: frontend.path,
56
- selected: opt.frontends.includes(frontend),
57
- title: frontend.title,
58
- }));
59
- const body = {
60
- ...authReport, // 如果发布需要上报权限,导出源码不需要
61
- logicPageResourceDtoList,
62
- logicAuthFlag: genLogicAuthFlag(app),
63
- reportIdList: findAllReportIdList(app, opt.frontends),
64
- appId: app.id,
65
- env: opt.env,
66
- replicas: opt.replicas,
67
- appSpecification: opt.appSpecification,
68
- callbackLogicsName: app.getExtensionsCallbackLogics(),
69
- frontends: releaseFrontends,
70
- callLogicValidations: {},
71
- files: [] as Array<{ name: string; content: string }>,
72
- };
73
-
74
- if (logicPageResourceDtoList) {
75
- Object.assign(body, { logicPageResourceDtoList });
76
- }
71
+ Object.values(serverData).forEach((logic) => {
72
+ logic.forEach((item) => {
73
+ map.set(item.uuid, item);
74
+ });
75
+ });
77
76
 
78
- utils.timeline.timeEnd('组装初始 Body 数据');
79
- return body;
77
+ return map;
80
78
  }
81
79
 
82
- async function getCalllogicData(app: App, releaseData: ReleaseData) {
83
- function getValidationMap(serverData: InputServerValidationData) {
84
- const map = new Map<string, ServerValidationData>();
85
- Object.values(serverData).forEach((logic) => {
86
- logic.forEach((item) => {
87
- map.set(item.uuid, item);
88
- });
80
+ function clearValidationMap(serverData: InputServerValidationData) {
81
+ Object.values(serverData).forEach((logic) => {
82
+ logic.forEach((item) => {
83
+ item.rules = [];
84
+ item.failureRules = [];
89
85
  });
90
- return map;
91
- }
86
+ });
92
87
 
93
- function clearValidationMap(serverData: InputServerValidationData) {
94
- Object.values(serverData).forEach((logic) => {
95
- logic.forEach((item) => {
96
- item.rules = [];
97
- item.failureRules = [];
98
- });
99
- });
100
- return serverData;
101
- }
88
+ return serverData;
89
+ }
90
+
91
+ function mergeValidation(serverData: InputServerValidationData, nasl: App) {
92
+ const map = getValidationMap(serverData);
102
93
 
103
- function mergeValidation(serverData: InputServerValidationData, nasl: App) {
104
- const map = getValidationMap(serverData);
94
+ if (map.size === 0) {
95
+ return {};
96
+ }
105
97
 
106
- if (map.size === 0) {
107
- return {};
98
+ nasl.traverseChildren((node) => {
99
+ if (node.concept === 'CallLogic' && 'uuid' in node && node.validation && map.has(node.uuid)) {
100
+ const data = map.get(node.uuid);
101
+ const naslRules = node.validation.rules.map((rule) => rule.toJSON());
102
+ data.rules = [...naslRules, ...data.rules];
108
103
  }
104
+ });
109
105
 
110
- nasl.traverseChildren((node) => {
111
- if (
112
- node.concept === 'CallLogic' &&
113
- 'uuid' in node &&
114
- node.validation &&
115
- map.has(node.uuid)
116
- ) {
117
- const data = map.get(node.uuid)!;
118
- const naslRules = node.validation.rules.map((rule) => rule.toJSON());
119
- data.rules = [...naslRules, ...data.rules];
120
- }
121
- });
106
+ return serverData;
107
+ }
122
108
 
123
- return serverData;
124
- }
109
+ /**
110
+ * 移除密码的验证规则
111
+ * @description 之后可能移除
112
+ */
113
+ function removePasswordValidation(serverData: InputServerValidationData, nasl: App) {
114
+ const validationMap = getValidationMap(serverData);
125
115
 
126
- /**
127
- * 移除密码的验证规则
128
- * @description 之后可能移除
129
- */
130
- function removePasswordValidation(serverData: InputServerValidationData, nasl: App) {
131
- const validationMap = getValidationMap(serverData);
116
+ if (validationMap.size === 0) {
117
+ return {};
118
+ }
132
119
 
133
- if (validationMap.size === 0) {
134
- return {};
120
+ const passwordCallLogicUuid = new Set<string>();
121
+ const removeRuleNames = [
122
+ 'rangeLength',
123
+ 'pattern',
124
+ '^az',
125
+ '^az09',
126
+ '^az09_',
127
+ '^azAZ',
128
+ '^azAZ09',
129
+ '^azAZ09_',
130
+ 'az09$',
131
+ 'azAZ09$',
132
+ '^09$',
133
+ '^az09$',
134
+ '^az09-$',
135
+ '^az09-.$',
136
+ '^azAZ09$',
137
+ '^azAZ09-$',
138
+ '^azAZ09_$',
139
+ '^azAZ09-_$',
140
+ ];
141
+
142
+ // 获取所有调用加密函数的调用节点 uuid
143
+ nasl.traverseChildren((node) => {
144
+ if (node.concept !== 'CallLogic' || !('uuid' in node)) {
145
+ return;
135
146
  }
136
147
 
137
- const passwordCallLogicUuid = new Set<string>();
138
- const removeRuleNames = [
139
- "rangeLength",
140
- "pattern",
141
- "^az",
142
- "^az09",
143
- "^az09_",
144
- "^azAZ",
145
- "^azAZ09",
146
- "^azAZ09_",
147
- "az09$",
148
- "azAZ09$",
149
- "^09$",
150
- "^az09$",
151
- "^az09-$",
152
- "^az09-.$",
153
- "^azAZ09$",
154
- "^azAZ09-$",
155
- "^azAZ09_$",
156
- "^azAZ09-_$",
157
- ];
158
-
159
- // 获取所有调用加密函数的调用节点 uuid
160
- nasl.traverseChildren((node) => {
161
- if (node.concept !== 'CallLogic' || !('uuid' in node)) {
162
- return;
163
- }
164
- const calledLogicPath = `${node.calleeNamespace}.${node.calleeName}`;
165
-
166
- if (
167
- Boolean(node.uuid) &&
168
- (
169
- calledLogicPath === 'app.dataSources.defaultDS.entities.LCAPUser.logics.update' ||
170
- calledLogicPath === 'app.dataSources.defaultDS.entities.LCAPUser.logics.create' ||
171
- calledLogicPath.includes('encrypt')
172
- )
173
- ) {
174
- passwordCallLogicUuid.add(node.uuid);
175
- }
176
- });
148
+ const calledLogicPath = `${node.calleeNamespace}.${node.calleeName}`;
177
149
 
178
- if (passwordCallLogicUuid.size === 0) {
179
- return serverData;
150
+ if (
151
+ Boolean(node.uuid) &&
152
+ (calledLogicPath === 'app.dataSources.defaultDS.entities.LCAPUser.logics.update' ||
153
+ calledLogicPath === 'app.dataSources.defaultDS.entities.LCAPUser.logics.create' ||
154
+ calledLogicPath.includes('encrypt'))
155
+ ) {
156
+ passwordCallLogicUuid.add(node.uuid);
180
157
  }
158
+ });
181
159
 
182
- passwordCallLogicUuid.forEach((uuid) => {
183
- const validation = validationMap.get(uuid);
160
+ if (passwordCallLogicUuid.size === 0) {
161
+ return serverData;
162
+ }
184
163
 
185
- if (!validation) {
186
- return;
187
- }
164
+ passwordCallLogicUuid.forEach((uuid) => {
165
+ const validation = validationMap.get(uuid);
188
166
 
189
- for (let i = 0; i < validation.rules.length; i++) {
190
- const current = validation.rules[i];
167
+ if (!validation) {
168
+ return;
169
+ }
191
170
 
192
- if (removeRuleNames.includes((current as any).calleeName)) {
193
- validation.rules.splice(i, 1);
194
- i--;
195
- }
196
- }
197
- });
171
+ for (let i = 0; i < validation.rules.length; i++) {
172
+ const current = validation.rules[i];
198
173
 
199
- return serverData;
200
- }
174
+ if (removeRuleNames.includes((current as any).calleeName)) {
175
+ validation.rules.splice(i, 1);
176
+ i--;
177
+ }
178
+ }
179
+ });
201
180
 
202
- await utils.delay(500);
181
+ return serverData;
182
+ }
203
183
 
184
+ export async function genReleaseBody(app: App, releaseData: ReleaseData) {
204
185
  const {
186
+ env,
187
+ debug,
188
+ replicas,
189
+ realRelease,
190
+ appInfo,
191
+ staticUrl,
192
+ frontends = [],
205
193
  validations = {},
194
+ logPublishFunc = (): void => undefined,
206
195
  } = releaseData;
207
196
  const {
208
- preferenceMap: {
209
- serverValidationRules,
210
- },
197
+ preferenceMap: { serverValidationRules },
211
198
  } = app;
199
+
200
+ const authReport: ReturnType<typeof getAuthReport> = getAuthReport(app, frontends);
201
+ logPublishFunc(`[权限] "[${app.title}]" 分析权限数据成功!`);
202
+ const logicPageResourceDtoList = await genPermissionData(app);
203
+
204
+ const releaseFrontends = app.frontends.map((frontend) => ({
205
+ name: frontend.name,
206
+ type: frontend.type,
207
+ path: frontend.path,
208
+ selected: frontends.includes(frontend),
209
+ title: frontend.title,
210
+ }));
211
+
212
212
  const serverValidationRulesBySwitch =
213
213
  serverValidationRules === 'custom'
214
214
  ? // 自定义
@@ -218,85 +218,69 @@ async function getCalllogicData(app: App, releaseData: ReleaseData) {
218
218
  validations
219
219
  : // 关闭
220
220
  clearValidationMap(validations);
221
+ const removedPasswordValidation = removePasswordValidation(serverValidationRulesBySwitch, app);
222
+ const body = {
223
+ ...authReport, // 如果发布需要上报权限,导出源码不需要
224
+ logicPageResourceDtoList,
225
+ logicAuthFlag: genLogicAuthFlag(app),
226
+ reportIdList: findAllReportIdList(app, frontends),
227
+ appId: app.id,
228
+ env,
229
+ replicas,
230
+ callbackLogicsName: app.getExtensionsCallbackLogics(),
231
+ frontends: releaseFrontends,
232
+ callLogicValidations: removedPasswordValidation,
233
+ files: [] as Array<{ name: string; content: string }>,
234
+ };
221
235
 
222
- return removePasswordValidation(serverValidationRulesBySwitch, app);
223
- }
224
-
225
- async function getNaslAnnotatedJSON(app: App, opt: ReleaseData) {
226
- await utils.delay(500);
227
-
228
- utils.timeline.time('获取全量标注');
236
+ if (logicPageResourceDtoList) {
237
+ Object.assign(body, { logicPageResourceDtoList });
238
+ }
229
239
 
230
- let NaslAnnotatedJSON: any;
240
+ let NaslAnnotatedJSON;
231
241
  try {
232
242
  NaslAnnotatedJSON = await (app as any).naslServer.getNaslAnnotatedJSON(app, true);
233
- opt.logPublishFunc?.(`[语言] "[${app.title}]" 获取类型标注成功!`);
234
-
235
- // 打印传给服务端的 nasl,为了服务端排查问题方便
236
- if (globalThis.window) {
237
- console.info(NaslAnnotatedJSON, '标注后的nasl');
238
- }
243
+ logPublishFunc(`[语言] "[${app.title}]" 获取类型标注成功!`);
239
244
  } catch (err) {
240
245
  console.error(err);
241
- throw new Error('代码标注失败,请稍后重试!或刷新后重试!');
242
- }
243
- // 如果是发布,就排除 views,导出源码就不排除
244
- if (opt.realRelease) {
245
- NaslAnnotatedJSON.frontends.forEach((frontend: Frontend) => {
246
- delete (frontend as any).views;
247
- });
246
+ throw new Error(`代码标注失败,原因是:${err.message},请稍后重试!或刷新后重试!`);
248
247
  }
249
248
 
250
- utils.timeline.timeEnd('获取全量标注');
251
-
252
- return {
253
- name: 'nasl-annotated.json',
254
- content: JSON.stringify(NaslAnnotatedJSON),
255
- };
256
- }
257
-
258
- async function getFrontendBundleFiles(app: App, opt: ReleaseData) {
259
- await utils.delay(500);
260
-
261
- utils.timeline.time('生成页面代码');
262
-
263
- let files: utils.GetPromise<ReturnType<typeof genFrontendBundleFiles>> = [];
264
-
265
- if (opt.frontends && opt.frontends.length) {
266
- opt.logPublishFunc?.(`[代码] "[${app.title}]" appApi.staticResourceSync生成页面代码:开始`);
267
- files = await genFrontendBundleFiles(app, opt.frontends, {
268
- ...opt.appInfo,
269
- env: opt.env,
270
- debug: opt.debug,
249
+ // 可能所有的前端都不选
250
+ let files: FileData[] = [];
251
+ if (frontends && frontends.length) {
252
+ logPublishFunc(`[代码] "[${app.title}]" 生成页面代码:开始`);
253
+ files = genFrontendBundleFiles(app, frontends, {
254
+ ...appInfo,
255
+ env,
256
+ debug,
271
257
  appid: app.id,
272
258
  devDnsAddr: (app as any).devDnsAddr,
273
259
  miniEnable: (app as any).miniEnable,
274
260
  } as any);
275
-
276
261
  if (files && files.length === 0) {
277
262
  throw new Error('前端代码生成失败');
278
263
  }
279
264
 
280
- if (opt.staticUrl) {
281
- files = replaceAssetUrl(files, opt.appInfo.USER_STATIC_URL, opt.staticUrl);
282
- }
283
-
284
- opt.logPublishFunc?.(`[代码] "[${app.title}]" 生成页面代码:完成!`);
265
+ if (staticUrl) files = replaceAssetUrl(files, appInfo.USER_STATIC_URL, staticUrl);
266
+ logPublishFunc(`[代码] "[${app.title}]" 生成页面代码:完成!`);
285
267
  }
286
268
 
287
- utils.timeline.timeEnd('生成页面代码');
288
- return files;
289
- }
269
+ // 如果是发布,就排除views,导出源码就不排除
270
+ if (realRelease) {
271
+ NaslAnnotatedJSON.frontends.forEach((frontend: Frontend) => {
272
+ delete frontend.views;
273
+ });
274
+ }
275
+ const jsonString = JSON.stringify(NaslAnnotatedJSON);
290
276
 
291
- export async function genReleaseBody(app: App, opt: ReleaseData) {
292
- const body = await mergeBodyData(app, opt);
293
- const callLogicValidations = await getCalllogicData(app, opt);
294
- const annotationFile = await getNaslAnnotatedJSON(app, opt);
295
- const files = await getFrontendBundleFiles(app, opt);
277
+ // 打印传给服务端的nasl,为了服务端排查问题方便
278
+ if (globalThis.window) {
279
+ console.info(NaslAnnotatedJSON, '标注后的nasl');
280
+ }
296
281
 
297
- files.push(annotationFile);
282
+ files.push({ name: 'nasl-annotated.json', content: jsonString });
298
283
  body.files = files;
299
- body.callLogicValidations = callLogicValidations;
300
284
 
301
285
  return body;
302
286
  }
package/src/index.ts CHANGED
@@ -10,3 +10,4 @@ export * from './eventBus';
10
10
  export * as breakpoint from './breakpoint';
11
11
  export { loadApp, loadAppSync, handleApp, batchAction, batchQuery, mountDatabaseTypes } from './service/storage/init';
12
12
  export { createService } from './service/creator';
13
+ export * from './natural';
@@ -0,0 +1,208 @@
1
+ import axios from '../service/storage';
2
+ import knowledgeMap from './knowledgeMap';
3
+
4
+ interface GPTAnalyzerReply {
5
+ thoughts: {
6
+ text: string,
7
+ reasoning: string,
8
+ plan: string,
9
+ criticism: string
10
+ },
11
+ executable: boolean,
12
+ }
13
+
14
+ export class RequirementAnalyzer {
15
+ messages: Array<{ role: 'system' | 'user' | 'assistant', content: string }> = [];
16
+ requirement: string;
17
+ context: any;
18
+
19
+ genPrompt() {
20
+ return `
21
+ 你是一个专业的低代码平台助手和需求分析师。
22
+
23
+ 现在用户的需求是:
24
+ ${this.requirement}
25
+
26
+ ## 示例
27
+ 你需要尽可能的帮助用户梳理成可执行的计划,汇总到"thoughts.plan"字段中。计划包含多个任务,每个任务下可能包含多个子任务(会缩进4个空格)。
28
+ 如果你认为需求比较明确并且该计划可执行,那么将 executable 设置为 true。
29
+ 如果你认为该计划还不完善,将 executable 设置为 false,继续询问用户的问题放入"thoughts.text"字段中。
30
+
31
+ ### 示例1
32
+ 当用户的需求非常明确时,你可以直接用 confirm 命令问用户是否确认执行;
33
+
34
+ 比如用户的需求是:“删除一个 Student 实体”,那么你可以生成执行计划:
35
+ - 在默认数据源中,删除一个 Student 实体
36
+
37
+ ### 示例2
38
+ 当用户的需求非常明确时,你可以直接用 confirm 命令问用户是否确认执行;
39
+
40
+ 比如用户的需求是:“添加一个任务面板”,你可以分析:
41
+ 面板为一个页面组件,这个组件下没有东西
42
+ 那么你可以生成执行计划:
43
+ - 在当前选中节点中,添加一个任务面板组件
44
+
45
+ ### 示例3
46
+ 当用户的需求比较明确时,你可以列出你的计划,然后用 confirm 命令问用户是否确认执行;
47
+
48
+ 比如用户的需求是:“添加一个学生实体”,那么你可以生成执行计划:
49
+
50
+ - 添加一个 Student 实体
51
+ - 添加一个 name 实体属性
52
+ - 添加一个 gender 实体属性
53
+ - 添加一个 age 实体属性
54
+
55
+ ### 示例4
56
+ 当用户的需求比较明确时,你可以列出你的计划,然后用 confirm 命令问用户是否确认执行;
57
+
58
+ 比如用户的需求是:“添加一个学生实体,以及添加一组管理页面”,那么你可以生成执行计划:
59
+
60
+ - 添加一个 Student 实体
61
+ - 添加一个 name 实体属性
62
+ - 添加一个 gender 实体属性
63
+ - 添加一个 age 实体属性
64
+ - 根据 Student 实体,在 dashboard 页面下,添加一组增删改查的管理页面
65
+
66
+ ### 示例5
67
+ 如果用户的需求是搭建xxx系统,一般是分解成两个任务:添加相关实体,然后再添加各实体的管理页面。
68
+
69
+ 比如用户的需求是:“我要搭建一个学生管理系统”,那么你可以生成执行计划:
70
+
71
+ - 添加一个 Student 实体
72
+ - (你可以补充)
73
+ - 添加一个 Teacher 实体
74
+ - (你可以补充)
75
+ - 根据 Student 实体,在 dashboard 页面下,添加一组增删改查的管理页面
76
+ - 根据 Teacher 实体,在 dashboard 页面下,添加一组增删改查的管理页面
77
+
78
+ ### 示例6
79
+
80
+ 当用户想要替换组件时,对应两步操作:替换组件+绑定变量到新组件;参考以下两个例子:
81
+
82
+ - 比如用户的需求是 '将组件替换为五星评分组件',那么你可以生成计划
83
+ - 将选中的组件替换为五星评分组件
84
+ - 将评分值绑定当前项的等级变量
85
+ - 比如用户的需求是 '当前选中替换为标签,...',那么你可以生成计划
86
+ - 将选中的组件替换为标签组件
87
+ - 设置文本值为变量 supplier.status 转换的 text
88
+ - 设置背景颜色为启用时绿色、禁用时灰色
89
+ - 设置字体颜色为启用时白色、禁用时黑色
90
+
91
+ ### 示例7
92
+
93
+ 当用户想要新增按钮组件时,按钮组件分为主要按钮和图标按钮,明确用户想要添加的是哪一种:
94
+ - 主要按钮只设置文本
95
+ - 图标按钮可设置图标+文本,也可仅设置图标
96
+ - 导出图标名称为 upload
97
+
98
+ 例如:
99
+ - 用户需求为'添加一个按钮,图标为刷新,点击后刷新表格', 那么你可以生成计划
100
+ - 在当前选中组件中,添加一个纯图标按钮组件
101
+ - 设置图标为刷新
102
+ - 为按钮添加点击事件
103
+ - 在点击事件中,执行刷新表格 tabView 的操作
104
+ - 用户需求为'添加一个按钮,按钮文本为“导出 excel”,并加一个图标。点击后能将表格导出 excel',那么你可以生成计划
105
+ - 在选中的组件中添加一个按钮组件
106
+ - 设置按钮图标为 upload
107
+ - 设置按钮文本为 '导出 excel'
108
+ - 为按钮添加点击事件
109
+ - 调用 tabView 的导出 excel 方法
110
+
111
+ ${knowledgeMap.index}
112
+
113
+ - 当前低代码平台暂时不支持实体之间的关联关系,不需要询问或处理关联关系的事情。
114
+ - 添加一组增删改查的管理页面作为一个任务,不需要展开子任务。
115
+ - 你需要将plan尽可能的概括,使用'总分'的格式,不要破坏任务的连贯性
116
+ - 替换组件和绑定变量的操作需要分步执行
117
+ - 涉及到组件替换、属性、逻辑的操作,直接执行即可
118
+
119
+ ## 用户上下文
120
+
121
+ ${this.context.selectedNode ? '用户选中了一个 name 为' + this.context.selectedNode.name + '的 ' + this.context.selectedNode.concept : '用户未选择任何节点'}
122
+
123
+ ## 注意
124
+
125
+ 1. 尽量帮用户想象一些细节,再问用户是否确认执行
126
+ 1. 在后续的所有回答中,你必须按照 以下指定的JSON 格式回复!格式如下:
127
+
128
+ {
129
+ "thoughts": {
130
+ "text": "thought",
131
+ "reasoning": "reasoning",
132
+ "plan": "- 任务1\\n- 任务2\\n - 子任务1\\n - 子任务2\\n - 子任务3\\n- 任务3",
133
+ "criticism": "constructive self-criticism"
134
+ },
135
+ "executable": true
136
+ }
137
+
138
+ ## 要求
139
+ 1. 按照上述格式,内容用中文作答,把你想问用户的内容以问题的形式放在"thoughts.text"字段中
140
+ 2. 当用户已经选中了一个 View 时,默认用户决定在选中的 View 操作,不要再询问用户要在哪个页面操作!
141
+ 3. 确保你回复的整体内容可以被 JavaScript 的 JSON.parse 解析!
142
+ `;
143
+ }
144
+
145
+ async chatWithGPT() {
146
+ const res = await axios.post('/api/gpt/chatGPT', {
147
+ messages: this.messages,
148
+ });
149
+ const result = res.data.result;
150
+ if (result) {
151
+ const answer = result.choices[0]?.message.content.trim() + '\n';
152
+ this.messages.push({
153
+ role: 'assistant',
154
+ content: answer,
155
+ });
156
+ console.log(result.usage);
157
+ return answer;
158
+ } else {
159
+ return JSON.stringify({ status: 'error' });
160
+ }
161
+ }
162
+
163
+ async chatWithGPTAndParseJSON() {
164
+ const answer = await this.chatWithGPT();
165
+ const json: GPTAnalyzerReply = JSON.parse(answer);
166
+ console.log('需求分析器-回复:' + JSON.stringify(json, null, 4));
167
+ return json;
168
+ }
169
+
170
+ async next(input: string | boolean) {
171
+ if (!this.messages.length) {
172
+ const prompt = this.genPrompt();
173
+ console.log(prompt);
174
+ this.messages = [{
175
+ role: 'system',
176
+ content: prompt,
177
+ }];
178
+ } else if (typeof input === 'string') {
179
+ this.messages.push({
180
+ role: 'user',
181
+ content: input,
182
+ });
183
+ } else {
184
+ throw new Error();
185
+ }
186
+
187
+ return this.chatWithGPTAndParseJSON();
188
+ }
189
+ }
190
+
191
+ export default RequirementAnalyzer;
192
+
193
+ // 你可以使用的命令,无需参数
194
+ // 1. 询问:'ask'
195
+ // 2. 确认是否要执行:'confirm',
196
+
197
+ // ### 示例四
198
+
199
+ // 当用户的需求不明确时,你可以大致列出你不完善的计划,将 executable 设置为 false。
200
+
201
+ // 比如用户的需求是:“我要一个实体”,那么你可以生成执行计划:
202
+
203
+ // - 添加一个客户实体
204
+ // - 添加一组客户的增删改查的管理页面
205
+
206
+ // 以及如下问题
207
+ // - 只需要添加一个客户实体吗?
208
+ // - 客户管理页面需要添加在哪个页面下?