@servicenow/sdk-build-plugins 4.2.0 → 4.4.0

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 (349) hide show
  1. package/dist/acl-plugin.js +11 -0
  2. package/dist/acl-plugin.js.map +1 -1
  3. package/dist/applicability-plugin.d.ts +2 -0
  4. package/dist/applicability-plugin.js +72 -0
  5. package/dist/applicability-plugin.js.map +1 -0
  6. package/dist/atf/test-plugin.js +5 -2
  7. package/dist/atf/test-plugin.js.map +1 -1
  8. package/dist/basic-syntax-plugin.js +7 -1
  9. package/dist/basic-syntax-plugin.js.map +1 -1
  10. package/dist/business-rule-plugin.js +1 -0
  11. package/dist/business-rule-plugin.js.map +1 -1
  12. package/dist/call-expression-plugin.js +1 -107
  13. package/dist/call-expression-plugin.js.map +1 -1
  14. package/dist/column/column-to-record.d.ts +10 -3
  15. package/dist/column/column-to-record.js +44 -7
  16. package/dist/column/column-to-record.js.map +1 -1
  17. package/dist/column-plugin.d.ts +3 -1
  18. package/dist/column-plugin.js +12 -12
  19. package/dist/column-plugin.js.map +1 -1
  20. package/dist/dashboard/dashboard-component-property-defaults.d.ts +152 -0
  21. package/dist/dashboard/dashboard-component-property-defaults.js +264 -0
  22. package/dist/dashboard/dashboard-component-property-defaults.js.map +1 -0
  23. package/dist/dashboard/dashboard-component-resolver.d.ts +13 -0
  24. package/dist/dashboard/dashboard-component-resolver.js +69 -0
  25. package/dist/dashboard/dashboard-component-resolver.js.map +1 -0
  26. package/dist/dashboard/dashboard-plugin.d.ts +12 -0
  27. package/dist/dashboard/dashboard-plugin.js +397 -0
  28. package/dist/dashboard/dashboard-plugin.js.map +1 -0
  29. package/dist/data-plugin.d.ts +3 -0
  30. package/dist/data-plugin.js +61 -113
  31. package/dist/data-plugin.js.map +1 -1
  32. package/dist/email-notification-plugin.d.ts +2 -0
  33. package/dist/email-notification-plugin.js +541 -0
  34. package/dist/email-notification-plugin.js.map +1 -0
  35. package/dist/flow/constants/flow-plugin-constants.d.ts +58 -0
  36. package/dist/flow/constants/flow-plugin-constants.js +70 -0
  37. package/dist/flow/constants/flow-plugin-constants.js.map +1 -0
  38. package/dist/flow/flow-logic/flow-logic-constants.d.ts +38 -0
  39. package/dist/flow/flow-logic/flow-logic-constants.js +118 -0
  40. package/dist/flow/flow-logic/flow-logic-constants.js.map +1 -0
  41. package/dist/flow/flow-logic/flow-logic-diagnostics.d.ts +19 -0
  42. package/dist/flow/flow-logic/flow-logic-diagnostics.js +503 -0
  43. package/dist/flow/flow-logic/flow-logic-diagnostics.js.map +1 -0
  44. package/dist/flow/flow-logic/flow-logic-plugin-helpers.d.ts +62 -0
  45. package/dist/flow/flow-logic/flow-logic-plugin-helpers.js +2092 -0
  46. package/dist/flow/flow-logic/flow-logic-plugin-helpers.js.map +1 -0
  47. package/dist/flow/flow-logic/flow-logic-plugin.d.ts +52 -0
  48. package/dist/flow/flow-logic/flow-logic-plugin.js +283 -0
  49. package/dist/flow/flow-logic/flow-logic-plugin.js.map +1 -0
  50. package/dist/flow/flow-logic/flow-logic-shapes.d.ts +104 -0
  51. package/dist/flow/flow-logic/flow-logic-shapes.js +201 -0
  52. package/dist/flow/flow-logic/flow-logic-shapes.js.map +1 -0
  53. package/dist/flow/plugins/approval-rules-plugin.d.ts +2 -0
  54. package/dist/flow/plugins/approval-rules-plugin.js +49 -0
  55. package/dist/flow/plugins/approval-rules-plugin.js.map +1 -0
  56. package/dist/flow/plugins/flow-action-definition-plugin.d.ts +2 -0
  57. package/dist/flow/plugins/flow-action-definition-plugin.js +286 -0
  58. package/dist/flow/plugins/flow-action-definition-plugin.js.map +1 -0
  59. package/dist/flow/plugins/flow-data-pill-plugin.d.ts +9 -0
  60. package/dist/flow/plugins/flow-data-pill-plugin.js +212 -0
  61. package/dist/flow/plugins/flow-data-pill-plugin.js.map +1 -0
  62. package/dist/flow/plugins/flow-definition-plugin.d.ts +2 -0
  63. package/dist/flow/plugins/flow-definition-plugin.js +1668 -0
  64. package/dist/flow/plugins/flow-definition-plugin.js.map +1 -0
  65. package/dist/flow/plugins/flow-diagnostics-plugin.d.ts +26 -0
  66. package/dist/flow/plugins/flow-diagnostics-plugin.js +217 -0
  67. package/dist/flow/plugins/flow-diagnostics-plugin.js.map +1 -0
  68. package/dist/flow/plugins/flow-instance-plugin.d.ts +12 -0
  69. package/dist/flow/plugins/flow-instance-plugin.js +1205 -0
  70. package/dist/flow/plugins/flow-instance-plugin.js.map +1 -0
  71. package/dist/flow/plugins/flow-trigger-instance-plugin.d.ts +2 -0
  72. package/dist/flow/plugins/flow-trigger-instance-plugin.js +338 -0
  73. package/dist/flow/plugins/flow-trigger-instance-plugin.js.map +1 -0
  74. package/dist/flow/plugins/inline-script-plugin.d.ts +39 -0
  75. package/dist/flow/plugins/inline-script-plugin.js +80 -0
  76. package/dist/flow/plugins/inline-script-plugin.js.map +1 -0
  77. package/dist/flow/plugins/step-definition-plugin.d.ts +5 -0
  78. package/dist/flow/plugins/step-definition-plugin.js +71 -0
  79. package/dist/flow/plugins/step-definition-plugin.js.map +1 -0
  80. package/dist/flow/plugins/step-instance-plugin.d.ts +31 -0
  81. package/dist/flow/plugins/step-instance-plugin.js +339 -0
  82. package/dist/flow/plugins/step-instance-plugin.js.map +1 -0
  83. package/dist/flow/plugins/trigger-plugin.d.ts +2 -0
  84. package/dist/flow/plugins/trigger-plugin.js +96 -0
  85. package/dist/flow/plugins/trigger-plugin.js.map +1 -0
  86. package/dist/flow/plugins/wfa-datapill-plugin.d.ts +15 -0
  87. package/dist/flow/plugins/wfa-datapill-plugin.js +178 -0
  88. package/dist/flow/plugins/wfa-datapill-plugin.js.map +1 -0
  89. package/dist/flow/utils/approval-rules-processor.d.ts +13 -0
  90. package/dist/flow/utils/approval-rules-processor.js +267 -0
  91. package/dist/flow/utils/approval-rules-processor.js.map +1 -0
  92. package/dist/flow/utils/built-in-complex-objects.d.ts +19 -0
  93. package/dist/flow/utils/built-in-complex-objects.js +62 -0
  94. package/dist/flow/utils/built-in-complex-objects.js.map +1 -0
  95. package/dist/flow/utils/complex-object-resolver.d.ts +8 -0
  96. package/dist/flow/utils/complex-object-resolver.js +614 -0
  97. package/dist/flow/utils/complex-object-resolver.js.map +1 -0
  98. package/dist/flow/utils/complex-objects.d.ts +36 -0
  99. package/dist/flow/utils/complex-objects.js +481 -0
  100. package/dist/flow/utils/complex-objects.js.map +1 -0
  101. package/dist/flow/utils/data-pill-shapes.d.ts +58 -0
  102. package/dist/flow/utils/data-pill-shapes.js +135 -0
  103. package/dist/flow/utils/data-pill-shapes.js.map +1 -0
  104. package/dist/flow/utils/datapill-transformer.d.ts +110 -0
  105. package/dist/flow/utils/datapill-transformer.js +503 -0
  106. package/dist/flow/utils/datapill-transformer.js.map +1 -0
  107. package/dist/flow/utils/flow-constants.d.ts +72 -0
  108. package/dist/flow/utils/flow-constants.js +230 -0
  109. package/dist/flow/utils/flow-constants.js.map +1 -0
  110. package/dist/flow/utils/flow-io-to-record.d.ts +44 -0
  111. package/dist/flow/utils/flow-io-to-record.js +409 -0
  112. package/dist/flow/utils/flow-io-to-record.js.map +1 -0
  113. package/dist/flow/utils/flow-shapes.d.ts +161 -0
  114. package/dist/flow/utils/flow-shapes.js +255 -0
  115. package/dist/flow/utils/flow-shapes.js.map +1 -0
  116. package/dist/flow/utils/flow-to-xml.d.ts +16 -0
  117. package/dist/flow/utils/flow-to-xml.js +237 -0
  118. package/dist/flow/utils/flow-to-xml.js.map +1 -0
  119. package/dist/flow/utils/flow-variable-processor.d.ts +51 -0
  120. package/dist/flow/utils/flow-variable-processor.js +69 -0
  121. package/dist/flow/utils/flow-variable-processor.js.map +1 -0
  122. package/dist/flow/utils/label-cache-parser.d.ts +7 -0
  123. package/dist/flow/utils/label-cache-parser.js +24 -0
  124. package/dist/flow/utils/label-cache-parser.js.map +1 -0
  125. package/dist/flow/utils/label-cache-processor.d.ts +119 -0
  126. package/dist/flow/utils/label-cache-processor.js +719 -0
  127. package/dist/flow/utils/label-cache-processor.js.map +1 -0
  128. package/dist/flow/utils/pill-string-parser.d.ts +88 -0
  129. package/dist/flow/utils/pill-string-parser.js +306 -0
  130. package/dist/flow/utils/pill-string-parser.js.map +1 -0
  131. package/dist/flow/utils/schema-to-flow-object.d.ts +22 -0
  132. package/dist/flow/utils/schema-to-flow-object.js +318 -0
  133. package/dist/flow/utils/schema-to-flow-object.js.map +1 -0
  134. package/dist/flow/utils/service-catalog.d.ts +47 -0
  135. package/dist/flow/utils/service-catalog.js +137 -0
  136. package/dist/flow/utils/service-catalog.js.map +1 -0
  137. package/dist/flow/utils/utils.d.ts +117 -0
  138. package/dist/flow/utils/utils.js +345 -0
  139. package/dist/flow/utils/utils.js.map +1 -0
  140. package/dist/index.d.ts +20 -1
  141. package/dist/index.js +21 -1
  142. package/dist/index.js.map +1 -1
  143. package/dist/list-plugin.js +1 -1
  144. package/dist/list-plugin.js.map +1 -1
  145. package/dist/now-attach-plugin.d.ts +1 -0
  146. package/dist/now-attach-plugin.js +10 -10
  147. package/dist/now-attach-plugin.js.map +1 -1
  148. package/dist/now-ref-plugin.js +1 -1
  149. package/dist/now-ref-plugin.js.map +1 -1
  150. package/dist/record-plugin.d.ts +29 -0
  151. package/dist/record-plugin.js +66 -7
  152. package/dist/record-plugin.js.map +1 -1
  153. package/dist/repack/index.d.ts +2 -0
  154. package/dist/repack/index.js +8 -0
  155. package/dist/repack/index.js.map +1 -1
  156. package/dist/rest-api-plugin.js +54 -44
  157. package/dist/rest-api-plugin.js.map +1 -1
  158. package/dist/server-module-plugin/index.d.ts +10 -0
  159. package/dist/server-module-plugin/index.js +83 -59
  160. package/dist/server-module-plugin/index.js.map +1 -1
  161. package/dist/service-catalog/catalog-clientscript-plugin.d.ts +2 -0
  162. package/dist/service-catalog/catalog-clientscript-plugin.js +117 -0
  163. package/dist/service-catalog/catalog-clientscript-plugin.js.map +1 -0
  164. package/dist/service-catalog/catalog-item-plugin.d.ts +2 -0
  165. package/dist/service-catalog/catalog-item-plugin.js +115 -0
  166. package/dist/service-catalog/catalog-item-plugin.js.map +1 -0
  167. package/dist/service-catalog/catalog-ui-policy-plugin.d.ts +2 -0
  168. package/dist/service-catalog/catalog-ui-policy-plugin.js +266 -0
  169. package/dist/service-catalog/catalog-ui-policy-plugin.js.map +1 -0
  170. package/dist/service-catalog/index.d.ts +5 -0
  171. package/dist/service-catalog/index.js +22 -0
  172. package/dist/service-catalog/index.js.map +1 -0
  173. package/dist/service-catalog/record-to-shape.d.ts +6 -0
  174. package/dist/service-catalog/record-to-shape.js +93 -0
  175. package/dist/service-catalog/record-to-shape.js.map +1 -0
  176. package/dist/service-catalog/sc-record-producer-plugin.d.ts +2 -0
  177. package/dist/service-catalog/sc-record-producer-plugin.js +140 -0
  178. package/dist/service-catalog/sc-record-producer-plugin.js.map +1 -0
  179. package/dist/service-catalog/service-catalog-base.d.ts +311 -0
  180. package/dist/service-catalog/service-catalog-base.js +542 -0
  181. package/dist/service-catalog/service-catalog-base.js.map +1 -0
  182. package/dist/service-catalog/service-catalog-diagnostics.d.ts +45 -0
  183. package/dist/service-catalog/service-catalog-diagnostics.js +172 -0
  184. package/dist/service-catalog/service-catalog-diagnostics.js.map +1 -0
  185. package/dist/service-catalog/shape-to-record.d.ts +8 -0
  186. package/dist/service-catalog/shape-to-record.js +235 -0
  187. package/dist/service-catalog/shape-to-record.js.map +1 -0
  188. package/dist/service-catalog/utils.d.ts +323 -0
  189. package/dist/service-catalog/utils.js +1216 -0
  190. package/dist/service-catalog/utils.js.map +1 -0
  191. package/dist/service-catalog/variable-helper.d.ts +43 -0
  192. package/dist/service-catalog/variable-helper.js +92 -0
  193. package/dist/service-catalog/variable-helper.js.map +1 -0
  194. package/dist/service-catalog/variable-set-plugin.d.ts +2 -0
  195. package/dist/service-catalog/variable-set-plugin.js +175 -0
  196. package/dist/service-catalog/variable-set-plugin.js.map +1 -0
  197. package/dist/service-catalog/variables-transform.d.ts +139 -0
  198. package/dist/service-catalog/variables-transform.js +403 -0
  199. package/dist/service-catalog/variables-transform.js.map +1 -0
  200. package/dist/sla/sla-validators.d.ts +61 -0
  201. package/dist/sla/sla-validators.js +224 -0
  202. package/dist/sla/sla-validators.js.map +1 -0
  203. package/dist/sla-plugin.d.ts +5 -0
  204. package/dist/sla-plugin.js +280 -0
  205. package/dist/sla-plugin.js.map +1 -0
  206. package/dist/static-content-plugin.js +25 -2
  207. package/dist/static-content-plugin.js.map +1 -1
  208. package/dist/table-plugin.js +32 -15
  209. package/dist/table-plugin.js.map +1 -1
  210. package/dist/ui-page-plugin.js +832 -19
  211. package/dist/ui-page-plugin.js.map +1 -1
  212. package/dist/ui-policy-plugin.js +5 -7
  213. package/dist/ui-policy-plugin.js.map +1 -1
  214. package/dist/utils.d.ts +10 -1
  215. package/dist/utils.js +16 -0
  216. package/dist/utils.js.map +1 -1
  217. package/dist/ux-list-menu-config-plugin.d.ts +2 -0
  218. package/dist/ux-list-menu-config-plugin.js +292 -0
  219. package/dist/ux-list-menu-config-plugin.js.map +1 -0
  220. package/dist/workspace-plugin/chrome-tab.d.ts +2 -0
  221. package/dist/workspace-plugin/chrome-tab.js +46 -0
  222. package/dist/workspace-plugin/chrome-tab.js.map +1 -0
  223. package/dist/workspace-plugin/constants.d.ts +52 -0
  224. package/dist/workspace-plugin/constants.js +56 -0
  225. package/dist/workspace-plugin/constants.js.map +1 -0
  226. package/dist/workspace-plugin/fluent-utils.d.ts +9 -0
  227. package/dist/workspace-plugin/fluent-utils.js +60 -0
  228. package/dist/workspace-plugin/fluent-utils.js.map +1 -0
  229. package/dist/workspace-plugin/page.d.ts +8 -0
  230. package/dist/workspace-plugin/page.js +108 -0
  231. package/dist/workspace-plugin/page.js.map +1 -0
  232. package/dist/workspace-plugin/screen.d.ts +1 -0
  233. package/dist/workspace-plugin/screen.js +38 -0
  234. package/dist/workspace-plugin/screen.js.map +1 -0
  235. package/dist/workspace-plugin/templates/index.d.ts +10 -0
  236. package/dist/workspace-plugin/templates/index.js +20 -0
  237. package/dist/workspace-plugin/templates/index.js.map +1 -0
  238. package/dist/workspace-plugin/templates/record-page-composition.d.ts +1 -0
  239. package/dist/workspace-plugin/templates/record-page-composition.js +4043 -0
  240. package/dist/workspace-plugin/templates/record-page-composition.js.map +1 -0
  241. package/dist/workspace-plugin/templates/record-page-data.d.ts +1 -0
  242. package/dist/workspace-plugin/templates/record-page-data.js +527 -0
  243. package/dist/workspace-plugin/templates/record-page-data.js.map +1 -0
  244. package/dist/workspace-plugin/templates/record-page-interalEventMappings.d.ts +1 -0
  245. package/dist/workspace-plugin/templates/record-page-interalEventMappings.js +39 -0
  246. package/dist/workspace-plugin/templates/record-page-interalEventMappings.js.map +1 -0
  247. package/dist/workspace-plugin/templates/record-page-layoutModel.d.ts +1 -0
  248. package/dist/workspace-plugin/templates/record-page-layoutModel.js +55 -0
  249. package/dist/workspace-plugin/templates/record-page-layoutModel.js.map +1 -0
  250. package/dist/workspace-plugin/templates/record-page-properties.d.ts +1 -0
  251. package/dist/workspace-plugin/templates/record-page-properties.js +135 -0
  252. package/dist/workspace-plugin/templates/record-page-properties.js.map +1 -0
  253. package/dist/workspace-plugin/templates/record-page.d.ts +3 -0
  254. package/dist/workspace-plugin/templates/record-page.js +8 -0
  255. package/dist/workspace-plugin/templates/record-page.js.map +1 -0
  256. package/dist/workspace-plugin.d.ts +2 -0
  257. package/dist/workspace-plugin.js +453 -0
  258. package/dist/workspace-plugin.js.map +1 -0
  259. package/package.json +10 -12
  260. package/src/acl-plugin.ts +16 -1
  261. package/src/applicability-plugin.ts +82 -0
  262. package/src/atf/test-plugin.ts +6 -3
  263. package/src/basic-syntax-plugin.ts +10 -1
  264. package/src/business-rule-plugin.ts +2 -1
  265. package/src/call-expression-plugin.ts +2 -130
  266. package/src/column/column-to-record.ts +54 -8
  267. package/src/column-plugin.ts +29 -13
  268. package/src/dashboard/dashboard-component-property-defaults.ts +277 -0
  269. package/src/dashboard/dashboard-component-resolver.ts +69 -0
  270. package/src/dashboard/dashboard-plugin.ts +450 -0
  271. package/src/data-plugin.ts +67 -139
  272. package/src/email-notification-plugin.ts +850 -0
  273. package/src/flow/constants/flow-plugin-constants.ts +79 -0
  274. package/src/flow/flow-logic/flow-logic-constants.ts +120 -0
  275. package/src/flow/flow-logic/flow-logic-diagnostics.ts +591 -0
  276. package/src/flow/flow-logic/flow-logic-plugin-helpers.ts +2550 -0
  277. package/src/flow/flow-logic/flow-logic-plugin.ts +337 -0
  278. package/src/flow/flow-logic/flow-logic-shapes.ts +215 -0
  279. package/src/flow/plugins/approval-rules-plugin.ts +48 -0
  280. package/src/flow/plugins/flow-action-definition-plugin.ts +295 -0
  281. package/src/flow/plugins/flow-data-pill-plugin.ts +258 -0
  282. package/src/flow/plugins/flow-definition-plugin.ts +2173 -0
  283. package/src/flow/plugins/flow-diagnostics-plugin.ts +280 -0
  284. package/src/flow/plugins/flow-instance-plugin.ts +1499 -0
  285. package/src/flow/plugins/flow-trigger-instance-plugin.ts +444 -0
  286. package/src/flow/plugins/inline-script-plugin.ts +83 -0
  287. package/src/flow/plugins/step-definition-plugin.ts +67 -0
  288. package/src/flow/plugins/step-instance-plugin.ts +431 -0
  289. package/src/flow/plugins/trigger-plugin.ts +95 -0
  290. package/src/flow/plugins/wfa-datapill-plugin.ts +213 -0
  291. package/src/flow/utils/approval-rules-processor.ts +298 -0
  292. package/src/flow/utils/built-in-complex-objects.ts +81 -0
  293. package/src/flow/utils/complex-object-resolver.ts +875 -0
  294. package/src/flow/utils/complex-objects.ts +656 -0
  295. package/src/flow/utils/data-pill-shapes.ts +165 -0
  296. package/src/flow/utils/datapill-transformer.ts +632 -0
  297. package/src/flow/utils/flow-constants.ts +285 -0
  298. package/src/flow/utils/flow-io-to-record.ts +533 -0
  299. package/src/flow/utils/flow-shapes.ts +296 -0
  300. package/src/flow/utils/flow-to-xml.ts +318 -0
  301. package/src/flow/utils/flow-variable-processor.ts +100 -0
  302. package/src/flow/utils/label-cache-parser.ts +37 -0
  303. package/src/flow/utils/label-cache-processor.ts +870 -0
  304. package/src/flow/utils/pill-string-parser.ts +375 -0
  305. package/src/flow/utils/schema-to-flow-object.ts +385 -0
  306. package/src/flow/utils/service-catalog.ts +174 -0
  307. package/src/flow/utils/utils.ts +395 -0
  308. package/src/index.ts +20 -1
  309. package/src/list-plugin.ts +1 -1
  310. package/src/now-attach-plugin.ts +14 -11
  311. package/src/now-ref-plugin.ts +1 -1
  312. package/src/record-plugin.ts +76 -11
  313. package/src/repack/index.ts +14 -0
  314. package/src/rest-api-plugin.ts +62 -50
  315. package/src/server-module-plugin/index.ts +112 -86
  316. package/src/service-catalog/catalog-clientscript-plugin.ts +140 -0
  317. package/src/service-catalog/catalog-item-plugin.ts +162 -0
  318. package/src/service-catalog/catalog-ui-policy-plugin.ts +324 -0
  319. package/src/service-catalog/index.ts +5 -0
  320. package/src/service-catalog/record-to-shape.ts +109 -0
  321. package/src/service-catalog/sc-record-producer-plugin.ts +201 -0
  322. package/src/service-catalog/service-catalog-base.ts +600 -0
  323. package/src/service-catalog/service-catalog-diagnostics.ts +254 -0
  324. package/src/service-catalog/shape-to-record.ts +279 -0
  325. package/src/service-catalog/utils.ts +1455 -0
  326. package/src/service-catalog/variable-helper.ts +135 -0
  327. package/src/service-catalog/variable-set-plugin.ts +197 -0
  328. package/src/service-catalog/variables-transform.ts +438 -0
  329. package/src/sla/sla-validators.ts +331 -0
  330. package/src/sla-plugin.ts +358 -0
  331. package/src/static-content-plugin.ts +25 -2
  332. package/src/table-plugin.ts +49 -16
  333. package/src/ui-page-plugin.ts +1063 -20
  334. package/src/ui-policy-plugin.ts +5 -9
  335. package/src/utils.ts +24 -1
  336. package/src/ux-list-menu-config-plugin.ts +312 -0
  337. package/src/workspace-plugin/chrome-tab.ts +44 -0
  338. package/src/workspace-plugin/constants.ts +53 -0
  339. package/src/workspace-plugin/fluent-utils.ts +60 -0
  340. package/src/workspace-plugin/page.ts +139 -0
  341. package/src/workspace-plugin/screen.ts +34 -0
  342. package/src/workspace-plugin/templates/index.ts +17 -0
  343. package/src/workspace-plugin/templates/record-page-composition.ts +4051 -0
  344. package/src/workspace-plugin/templates/record-page-data.ts +523 -0
  345. package/src/workspace-plugin/templates/record-page-interalEventMappings.ts +35 -0
  346. package/src/workspace-plugin/templates/record-page-layoutModel.ts +51 -0
  347. package/src/workspace-plugin/templates/record-page-properties.ts +131 -0
  348. package/src/workspace-plugin/templates/record-page.ts +6 -0
  349. package/src/workspace-plugin.ts +574 -0
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ForEachItemShape = exports.PillTemplateShape = exports.PillShape = void 0;
4
+ const sdk_build_core_1 = require("@servicenow/sdk-build-core");
5
+ class PillShape extends sdk_build_core_1.PropertyAccessShape {
6
+ uiId;
7
+ path;
8
+ type = undefined;
9
+ parentTableName = undefined;
10
+ columnName = undefined;
11
+ reference = undefined;
12
+ constructor({ source, uiId, path, type }) {
13
+ super({ source, elements: [uiId, path] });
14
+ this.uiId = uiId;
15
+ this.path = path;
16
+ this.type = type;
17
+ }
18
+ setType(type) {
19
+ this.type = type;
20
+ }
21
+ getType() {
22
+ return this.type;
23
+ }
24
+ setParentTableName(parentTableName) {
25
+ this.parentTableName = parentTableName;
26
+ }
27
+ getParentTableName() {
28
+ return this.parentTableName;
29
+ }
30
+ setColumnName(columnName) {
31
+ this.columnName = columnName;
32
+ }
33
+ getColumnName() {
34
+ return this.columnName;
35
+ }
36
+ setReference(reference) {
37
+ this.reference = reference;
38
+ }
39
+ getReference() {
40
+ return this.reference;
41
+ }
42
+ setRootIdentifier(arg0) {
43
+ this.uiId = arg0;
44
+ }
45
+ getRootIdentifier() {
46
+ return this.uiId;
47
+ }
48
+ getValue() {
49
+ // For schema references (empty path), don't include the dot
50
+ // e.g., {{flowVariables}} or {{outputs}}
51
+ // For property access, include the dot
52
+ // e.g., {{flow_variable.someVar}} or {{trigger.current.sys_id}}
53
+ const typePart = this.type !== undefined ? `|${this.type}` : '';
54
+ const metaPart = this.parentTableName || this.columnName || this.reference
55
+ ? `|meta:${this.parentTableName || ''}:${this.columnName || ''}:${this.reference || ''}`
56
+ : '';
57
+ return this.path ? `{{${this.uiId}.${this.path}${typePart}${metaPart}}}` : `{{${this.uiId}}}`;
58
+ }
59
+ }
60
+ exports.PillShape = PillShape;
61
+ class PillTemplateShape extends sdk_build_core_1.TemplateExpressionShape {
62
+ parts;
63
+ constructor({ source, parts }) {
64
+ super({ source, literalText: '', spans: [] });
65
+ this.parts = new sdk_build_core_1.ArrayShape({ source, elements: parts });
66
+ }
67
+ getParts() {
68
+ return this.parts;
69
+ }
70
+ getValue() {
71
+ const parts = this.parts.getElements(false);
72
+ let result = '';
73
+ for (const part of parts) {
74
+ const value = part.getValue();
75
+ if (typeof value === 'string') {
76
+ // For string literals, add them directly
77
+ result += value;
78
+ }
79
+ else if (value instanceof PillShape) {
80
+ result += value.getValue();
81
+ }
82
+ }
83
+ return result;
84
+ }
85
+ }
86
+ exports.PillTemplateShape = PillTemplateShape;
87
+ class ForEachItemShape extends sdk_build_core_1.IdentifierShape {
88
+ uiId;
89
+ path;
90
+ type = undefined;
91
+ parentTableName = undefined;
92
+ columnName = undefined;
93
+ reference = undefined;
94
+ constructor({ source, uiId, path }) {
95
+ super({ source, name: uiId });
96
+ this.uiId = uiId;
97
+ this.path = path;
98
+ }
99
+ setType(type) {
100
+ this.type = type;
101
+ }
102
+ getType() {
103
+ return this.type;
104
+ }
105
+ setParentTableName(parentTableName) {
106
+ this.parentTableName = parentTableName;
107
+ }
108
+ getParentTableName() {
109
+ return this.parentTableName;
110
+ }
111
+ setColumnName(columnName) {
112
+ this.columnName = columnName;
113
+ }
114
+ getColumnName() {
115
+ return this.columnName;
116
+ }
117
+ setReference(reference) {
118
+ this.reference = reference;
119
+ }
120
+ getReference() {
121
+ return this.reference;
122
+ }
123
+ getRootIdentifier() {
124
+ return this.uiId;
125
+ }
126
+ getValue() {
127
+ const typePart = this.type !== undefined ? `|${this.type}` : '';
128
+ const metaPart = this.parentTableName || this.columnName || this.reference
129
+ ? `|meta:${this.parentTableName || ''}:${this.columnName || ''}:${this.reference || ''}`
130
+ : '';
131
+ return `{{${this.uiId}.${this.path}${typePart}${metaPart}}}`;
132
+ }
133
+ }
134
+ exports.ForEachItemShape = ForEachItemShape;
135
+ //# sourceMappingURL=data-pill-shapes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-pill-shapes.js","sourceRoot":"","sources":["../../../src/flow/utils/data-pill-shapes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import { CallExpressionShape, type IdentifierShape, type Record, Shape, VariableStatementShape, ObjectShape, type Diagnostics, type Logger } from '@servicenow/sdk-build-core';
2
+ import { ArrowFunctionShape } from '../../arrow-function-plugin';
3
+ /**
4
+ * Result of datapill transformation
5
+ */
6
+ export interface DatapillTransformResult {
7
+ shape: Shape;
8
+ propsChanged: boolean;
9
+ }
10
+ /**
11
+ * Information about a flow instance shape for processing
12
+ */
13
+ export interface FlowInstanceShapeInfo {
14
+ callExpression: CallExpressionShape;
15
+ variableStatement: VariableStatementShape | CallExpressionShape;
16
+ }
17
+ export declare const uuidToRecordMap: Map<string, Record>;
18
+ /**
19
+ * Build a map of UUID to variable identifiers from instance records and shapes
20
+ * This map is used to transform UUID-based datapills into property access expressions
21
+ * Uses ui_id from records (not $id from config) because datapills reference ui_id
22
+ *
23
+ * @param recordToShapeMap - Map of instance records to their corresponding shapes
24
+ * @returns Map of UUID strings (ui_id) to IdentifierShapes
25
+ */
26
+ export declare function buildUuidToIdentifierMap(recordToShapeMap: Map<Record, Shape>): Map<string, IdentifierShape>;
27
+ /**
28
+ * Extract CallExpression and VariableStatement from an instance shape
29
+ * Handles both VariableStatementShape (for Action/Subflow) and bare CallExpressionShape (for flow logic)
30
+ *
31
+ * @param instanceShape - The shape to extract from
32
+ * @returns Object containing callExpression and variableStatement
33
+ */
34
+ export declare function extractInstanceShapeInfo(instanceShape: Shape): FlowInstanceShapeInfo;
35
+ /**
36
+ * Rebuild a CallExpressionShape with transformed properties
37
+ * Creates a new CallExpression with the transformed props and cleaned config
38
+ *
39
+ * @param originalCallExpression - The original CallExpression
40
+ * @param transformedProps - The transformed properties object
41
+ * @param configShape - The config shape (possibly cleaned)
42
+ * @param record - The source record for shape creation
43
+ * @returns New CallExpressionShape with transformed properties
44
+ */
45
+ export declare function rebuildCallExpressionWithDatapills(originalCallExpression: CallExpressionShape, transformedProps: {
46
+ [key: string]: Shape;
47
+ }, configShape: Shape, record: Record): CallExpressionShape;
48
+ /**
49
+ * Rebuild an instance shape (VariableStatement or CallExpression) with transformed datapills
50
+ *
51
+ * @param instanceShape - The original instance shape
52
+ * @param newCallExpression - The new CallExpression with transformed properties
53
+ * @param instanceShapeInfo - Information extracted from the instance shape
54
+ * @returns Rebuilt VariableStatementShape or the new CallExpression
55
+ */
56
+ export declare function rebuildInstanceWithDatapills(instanceShape: Shape, newCallExpression: CallExpressionShape, instanceShapeInfo: FlowInstanceShapeInfo): Shape;
57
+ /**
58
+ * Check if a callee string represents a flow logic call
59
+ * @param callee - The callee string (e.g., 'wfa.flowLogic.if', 'wfa.action')
60
+ * @returns true if the callee is a flow logic call
61
+ */
62
+ export declare function isFlowLogicCallee(callee: string): boolean;
63
+ /**
64
+ * Check if a flow logic type has a body (arrow function)
65
+ * @param callee - The flow logic callee (e.g., 'wfa.flowLogic.if')
66
+ * @returns true if the flow logic has a body
67
+ */
68
+ export declare function flowLogicHasBody(callee: string): boolean;
69
+ /**
70
+ * Extract arrow function bodies from a flow logic call expression
71
+ * Different flow logic types have bodies in different positions:
72
+ * - If/ElseIf/Else: Single body at argument 1
73
+ * - ForEach: Body at argument 2 (arg 0 is items, arg 1 is config)
74
+ * - TryCatch: Object with 'try' and 'catch' properties containing arrow functions
75
+ * - DoInParallel: Variadic functions starting from argument 1
76
+ *
77
+ * @param callExpression - The flow logic call expression
78
+ * @param callee - The flow logic callee
79
+ * @returns Array of arrow function shapes
80
+ */
81
+ export declare function extractFlowLogicBodies(callExpression: CallExpressionShape, callee: string): ArrowFunctionShape[];
82
+ /**
83
+ * Rebuild a flow logic call expression with transformed config and bodies
84
+ * @param callExpression - Original call expression
85
+ * @param transformedConfig - Transformed config object
86
+ * @param transformedBodies - Transformed arrow function bodies
87
+ * @param callee - The flow logic callee
88
+ * @param record - The source record
89
+ * @returns Rebuilt CallExpressionShape
90
+ */
91
+ export declare function rebuildFlowLogicWithDatapills(callExpression: CallExpressionShape, transformedConfig: ObjectShape, transformedBodies: ArrowFunctionShape[], callee: string, record: Record, transformedItemsArg?: Shape): CallExpressionShape;
92
+ /**
93
+ * Type for config cleanup callback function
94
+ * Used to clean up Action/Subflow configs after transformation
95
+ */
96
+ export type ConfigCleanupCallback = (configShape: Shape, instanceSource: Shape) => Shape;
97
+ /**
98
+ * Recursively process an instance shape (Action, Subflow, or Flow Logic) to transform datapills
99
+ * This is the main entry point for datapill transformation that handles all instance types
100
+ *
101
+ * @param instanceShape - The instance shape to process (VariableStatementShape or CallExpressionShape)
102
+ * @param uuidToIdentifierMap - Map of UUID to variable identifiers for UUID-based datapills
103
+ * @param record - The source record for shape creation
104
+ * @param diagnostics - Diagnostics for error reporting
105
+ * @param paramName - Parameter name for semantic datapills (e.g., 'params')
106
+ * @param processShapeForDatapills - Recursive helper to process nested structures (objects/arrays)
107
+ * @param cleanupConfig - Optional callback to clean up Action/Subflow configs
108
+ * @returns DatapillTransformResult with transformed shape and change tracking
109
+ */
110
+ export declare function processInstanceForDatapills(instanceShape: Shape, uuidToIdentifierMap: Map<string, IdentifierShape>, record: Record, diagnostics: Diagnostics, paramName: string, logger: Logger, processShapeForDatapills: (value: Shape, uuidToIdentifierMap: Map<string, IdentifierShape>, source: Record, diagnostics: Diagnostics, logger: Logger, parameterName?: string) => DatapillTransformResult, cleanupConfig?: ConfigCleanupCallback): DatapillTransformResult;