@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,503 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uuidToRecordMap = void 0;
4
+ exports.buildUuidToIdentifierMap = buildUuidToIdentifierMap;
5
+ exports.extractInstanceShapeInfo = extractInstanceShapeInfo;
6
+ exports.rebuildCallExpressionWithDatapills = rebuildCallExpressionWithDatapills;
7
+ exports.rebuildInstanceWithDatapills = rebuildInstanceWithDatapills;
8
+ exports.isFlowLogicCallee = isFlowLogicCallee;
9
+ exports.flowLogicHasBody = flowLogicHasBody;
10
+ exports.extractFlowLogicBodies = extractFlowLogicBodies;
11
+ exports.rebuildFlowLogicWithDatapills = rebuildFlowLogicWithDatapills;
12
+ exports.processInstanceForDatapills = processInstanceForDatapills;
13
+ const sdk_build_core_1 = require("@servicenow/sdk-build-core");
14
+ const arrow_function_plugin_1 = require("../../arrow-function-plugin");
15
+ const flow_logic_constants_1 = require("../flow-logic/flow-logic-constants");
16
+ /**
17
+ * Flow logic types that have outputs and can be assigned to a variable
18
+ */
19
+ /**
20
+ * TODO: Extend this list as more flow logics with outputs are added also try to create map to identify arguments dynamically
21
+ * e.g., flow logic like waitForADuration has config at arg 0 and outputs, while others may have different positions
22
+ */
23
+ const FLOW_LOGIC_WITH_OUTPUTS = [flow_logic_constants_1.FLOW_LOGIC.WAIT_FOR_A_DURATION];
24
+ // Module-level map to store UUID-to-Record mapping for forEach detection
25
+ // This is populated by buildUuidToIdentifierMap and used by isForEachParameter
26
+ exports.uuidToRecordMap = new Map();
27
+ /**
28
+ * Build a map of UUID to variable identifiers from instance records and shapes
29
+ * This map is used to transform UUID-based datapills into property access expressions
30
+ * Uses ui_id from records (not $id from config) because datapills reference ui_id
31
+ *
32
+ * @param recordToShapeMap - Map of instance records to their corresponding shapes
33
+ * @returns Map of UUID strings (ui_id) to IdentifierShapes
34
+ */
35
+ function buildUuidToIdentifierMap(recordToShapeMap) {
36
+ const uuidToIdentifierMap = new Map();
37
+ // Clear and rebuild the module-level UUID-to-Record map
38
+ exports.uuidToRecordMap.clear();
39
+ for (const [record, instanceShape] of recordToShapeMap.entries()) {
40
+ // Extract ui_id from the record (this is what datapills reference)
41
+ const uiId = record.get('ui_id')?.getValue();
42
+ if (!uiId) {
43
+ continue;
44
+ }
45
+ // Handle VariableStatementShape (actions/subflows with variable assignments)
46
+ if (instanceShape instanceof sdk_build_core_1.VariableStatementShape) {
47
+ const variableStatement = instanceShape.as(sdk_build_core_1.VariableStatementShape);
48
+ const variableName = variableStatement.getVariableName();
49
+ const callExpression = variableStatement.getInitializer().as(sdk_build_core_1.CallExpressionShape);
50
+ const callee = callExpression.getCallee();
51
+ // For flow logic with outputs (e.g., waitForADuration), config is at position 0
52
+ // For actions/subflows, config is at position 1
53
+ const isFlowLogicWithOutputs = FLOW_LOGIC_WITH_OUTPUTS.includes(callee);
54
+ const configArgIndex = isFlowLogicWithOutputs ? 0 : 1;
55
+ const configArg = callExpression.getArgument(configArgIndex)?.asObject();
56
+ if (configArg) {
57
+ const uuid = configArg.get('uuid')?.ifString()?.getValue();
58
+ if (uuid && variableName) {
59
+ uuidToIdentifierMap.set(uuid, variableName);
60
+ exports.uuidToRecordMap.set(uuid, record);
61
+ }
62
+ }
63
+ }
64
+ // Handle CallExpressionShape (flow logic like forEach)
65
+ else if (instanceShape instanceof sdk_build_core_1.CallExpressionShape) {
66
+ const callExpression = instanceShape.as(sdk_build_core_1.CallExpressionShape);
67
+ const callee = callExpression.getCallee();
68
+ if (callee === 'wfa.flowLogic.forEach') {
69
+ // Get the arrow function body (3rd argument for forEach)
70
+ // NOTE: For nested forEach, parameter names are order-based (item_0, item_1, item_2, etc.)
71
+ // This allows distinguishing which parent forEach an 'item' reference belongs to
72
+ // Example:
73
+ // forEach at order 0: (item_0) => { ... }
74
+ // forEach at order 1: (item_1) => { ... }
75
+ // In XML, datapills are stored as {{forEachUUID.item.field}}
76
+ // which gets transformed to item_0.field, item_1.field, etc. based on the UUID mapping
77
+ const bodyArg = callExpression.getArgument(2);
78
+ if (bodyArg?.if(arrow_function_plugin_1.ArrowFunctionShape)) {
79
+ const arrowFunc = bodyArg.as(arrow_function_plugin_1.ArrowFunctionShape);
80
+ const params = arrowFunc.getParameters();
81
+ // getParameters() returns IdentifierShape[] - use directly
82
+ if (params && params.length > 0) {
83
+ const paramIdentifier = params[0];
84
+ if (paramIdentifier) {
85
+ uuidToIdentifierMap.set(uiId, paramIdentifier);
86
+ exports.uuidToRecordMap.set(uiId, record);
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+ return uuidToIdentifierMap;
94
+ }
95
+ /**
96
+ * Extract CallExpression and VariableStatement from an instance shape
97
+ * Handles both VariableStatementShape (for Action/Subflow) and bare CallExpressionShape (for flow logic)
98
+ *
99
+ * @param instanceShape - The shape to extract from
100
+ * @returns Object containing callExpression and variableStatement
101
+ */
102
+ function extractInstanceShapeInfo(instanceShape) {
103
+ let callExpression;
104
+ let variableStatement;
105
+ if (instanceShape instanceof sdk_build_core_1.VariableStatementShape) {
106
+ callExpression = instanceShape.getInitializer().as(sdk_build_core_1.CallExpressionShape);
107
+ variableStatement = instanceShape;
108
+ }
109
+ else {
110
+ callExpression = instanceShape.as(sdk_build_core_1.CallExpressionShape);
111
+ variableStatement = callExpression;
112
+ }
113
+ return { callExpression, variableStatement };
114
+ }
115
+ /**
116
+ * Rebuild a CallExpressionShape with transformed properties
117
+ * Creates a new CallExpression with the transformed props and cleaned config
118
+ *
119
+ * @param originalCallExpression - The original CallExpression
120
+ * @param transformedProps - The transformed properties object
121
+ * @param configShape - The config shape (possibly cleaned)
122
+ * @param record - The source record for shape creation
123
+ * @returns New CallExpressionShape with transformed properties
124
+ */
125
+ function rebuildCallExpressionWithDatapills(originalCallExpression, transformedProps, configShape, record) {
126
+ const originalActionDef = originalCallExpression.getArgument(0, false);
127
+ const newPropsArg = sdk_build_core_1.Shape.from(record, transformedProps);
128
+ return new sdk_build_core_1.CallExpressionShape({
129
+ source: originalCallExpression.getSource(),
130
+ callee: originalCallExpression.getCallee(),
131
+ args: [originalActionDef, configShape, newPropsArg],
132
+ });
133
+ }
134
+ /**
135
+ * Rebuild an instance shape (VariableStatement or CallExpression) with transformed datapills
136
+ *
137
+ * @param instanceShape - The original instance shape
138
+ * @param newCallExpression - The new CallExpression with transformed properties
139
+ * @param instanceShapeInfo - Information extracted from the instance shape
140
+ * @returns Rebuilt VariableStatementShape or the new CallExpression
141
+ */
142
+ function rebuildInstanceWithDatapills(instanceShape, newCallExpression, instanceShapeInfo) {
143
+ const { variableStatement } = instanceShapeInfo;
144
+ if (instanceShape instanceof sdk_build_core_1.VariableStatementShape) {
145
+ return new sdk_build_core_1.VariableStatementShape({
146
+ source: variableStatement.getSource(),
147
+ variableName: variableStatement instanceof sdk_build_core_1.VariableStatementShape
148
+ ? variableStatement.getVariableName()
149
+ : 'dummyVariable_removeLater', // For flow logic that returns outputs
150
+ initializer: newCallExpression,
151
+ isExported: false,
152
+ });
153
+ }
154
+ // Return the CallExpression directly for non-variable statements (flow logic)
155
+ return newCallExpression;
156
+ }
157
+ /**
158
+ * Check if a callee string represents a flow logic call
159
+ * @param callee - The callee string (e.g., 'wfa.flowLogic.if', 'wfa.action')
160
+ * @returns true if the callee is a flow logic call
161
+ */
162
+ function isFlowLogicCallee(callee) {
163
+ return callee.startsWith(flow_logic_constants_1.FLOW_LOGIC_PREFIX);
164
+ }
165
+ /**
166
+ * Check if a flow logic type has a body (arrow function)
167
+ * @param callee - The flow logic callee (e.g., 'wfa.flowLogic.if')
168
+ * @returns true if the flow logic has a body
169
+ */
170
+ function flowLogicHasBody(callee) {
171
+ // Flow logic with bodies: if, elseIf, else, forEach, tryCatch, doInParallel
172
+ // Flow logic without bodies: goBackTo, waitForADuration, exitLoop, endFlow, skipIteration
173
+ return [
174
+ flow_logic_constants_1.FLOW_LOGIC.IF,
175
+ flow_logic_constants_1.FLOW_LOGIC.ELSEIF,
176
+ flow_logic_constants_1.FLOW_LOGIC.ELSE,
177
+ flow_logic_constants_1.FLOW_LOGIC.FOR_EACH,
178
+ flow_logic_constants_1.FLOW_LOGIC.TRY_CATCH,
179
+ flow_logic_constants_1.FLOW_LOGIC.DO_IN_PARALLEL,
180
+ ].includes(callee);
181
+ }
182
+ /**
183
+ * Extract arrow function bodies from a flow logic call expression
184
+ * Different flow logic types have bodies in different positions:
185
+ * - If/ElseIf/Else: Single body at argument 1
186
+ * - ForEach: Body at argument 2 (arg 0 is items, arg 1 is config)
187
+ * - TryCatch: Object with 'try' and 'catch' properties containing arrow functions
188
+ * - DoInParallel: Variadic functions starting from argument 1
189
+ *
190
+ * @param callExpression - The flow logic call expression
191
+ * @param callee - The flow logic callee
192
+ * @returns Array of arrow function shapes
193
+ */
194
+ function extractFlowLogicBodies(callExpression, callee) {
195
+ const bodies = [];
196
+ if (callee === flow_logic_constants_1.FLOW_LOGIC.TRY_CATCH) {
197
+ // TryCatch: { try: () => {...}, catch: () => {...} }
198
+ const handlers = callExpression.getArgument(1)?.asObject();
199
+ if (handlers) {
200
+ const tryHandler = handlers.get('try');
201
+ const catchHandler = handlers.get('catch');
202
+ if (tryHandler?.if(arrow_function_plugin_1.ArrowFunctionShape)) {
203
+ bodies.push(tryHandler.as(arrow_function_plugin_1.ArrowFunctionShape));
204
+ }
205
+ if (catchHandler?.if(arrow_function_plugin_1.ArrowFunctionShape)) {
206
+ bodies.push(catchHandler.as(arrow_function_plugin_1.ArrowFunctionShape));
207
+ }
208
+ }
209
+ }
210
+ else if (callee === flow_logic_constants_1.FLOW_LOGIC.DO_IN_PARALLEL) {
211
+ // DoInParallel: config, fn1, fn2, fn3, ...
212
+ const allArgs = callExpression.getArguments();
213
+ for (let i = 1; i < allArgs.length; i++) {
214
+ const arg = callExpression.getArgument(i);
215
+ if (arg?.if(arrow_function_plugin_1.ArrowFunctionShape)) {
216
+ bodies.push(arg.as(arrow_function_plugin_1.ArrowFunctionShape));
217
+ }
218
+ }
219
+ }
220
+ else if (callee === flow_logic_constants_1.FLOW_LOGIC.FOR_EACH) {
221
+ // ForEach: items, config, body
222
+ const bodyArg = callExpression.getArgument(2);
223
+ if (bodyArg?.if(arrow_function_plugin_1.ArrowFunctionShape)) {
224
+ bodies.push(bodyArg.as(arrow_function_plugin_1.ArrowFunctionShape));
225
+ }
226
+ }
227
+ else {
228
+ // If/ElseIf/Else: config, body
229
+ const bodyArg = callExpression.getArgument(1);
230
+ if (bodyArg?.if(arrow_function_plugin_1.ArrowFunctionShape)) {
231
+ bodies.push(bodyArg.as(arrow_function_plugin_1.ArrowFunctionShape));
232
+ }
233
+ }
234
+ return bodies;
235
+ }
236
+ /**
237
+ * Rebuild a flow logic call expression with transformed config and bodies
238
+ * @param callExpression - Original call expression
239
+ * @param transformedConfig - Transformed config object
240
+ * @param transformedBodies - Transformed arrow function bodies
241
+ * @param callee - The flow logic callee
242
+ * @param record - The source record
243
+ * @returns Rebuilt CallExpressionShape
244
+ */
245
+ function rebuildFlowLogicWithDatapills(callExpression, transformedConfig, transformedBodies, callee, record, transformedItemsArg) {
246
+ if (callee === flow_logic_constants_1.FLOW_LOGIC.TRY_CATCH) {
247
+ // TryCatch: config, { try: fn1, catch: fn2 }
248
+ const handlersObj = sdk_build_core_1.Shape.from(record, {
249
+ try: transformedBodies[0],
250
+ catch: transformedBodies[1],
251
+ });
252
+ return new sdk_build_core_1.CallExpressionShape({
253
+ source: callExpression.getSource(),
254
+ callee: callExpression.getCallee(),
255
+ args: [transformedConfig, handlersObj],
256
+ });
257
+ }
258
+ if (callee === 'wfa.flowLogic.doInParallel') {
259
+ // DoInParallel: config, fn1, fn2, ...
260
+ return new sdk_build_core_1.CallExpressionShape({
261
+ source: callExpression.getSource(),
262
+ callee: callExpression.getCallee(),
263
+ args: [transformedConfig, ...transformedBodies],
264
+ });
265
+ }
266
+ if (callee === 'wfa.flowLogic.forEach') {
267
+ // ForEach: items, config, body
268
+ // Use transformed items if available, otherwise use original
269
+ const itemsArg = transformedItemsArg || callExpression.getArgument(0, false);
270
+ return new sdk_build_core_1.CallExpressionShape({
271
+ source: callExpression.getSource(),
272
+ callee: callExpression.getCallee(),
273
+ args: [itemsArg, transformedConfig, transformedBodies[0]],
274
+ });
275
+ }
276
+ // If/ElseIf/Else: config, body
277
+ return new sdk_build_core_1.CallExpressionShape({
278
+ source: callExpression.getSource(),
279
+ callee: callExpression.getCallee(),
280
+ args: [transformedConfig, transformedBodies[0]],
281
+ });
282
+ }
283
+ /**
284
+ * Recursively process an instance shape (Action, Subflow, or Flow Logic) to transform datapills
285
+ * This is the main entry point for datapill transformation that handles all instance types
286
+ *
287
+ * @param instanceShape - The instance shape to process (VariableStatementShape or CallExpressionShape)
288
+ * @param uuidToIdentifierMap - Map of UUID to variable identifiers for UUID-based datapills
289
+ * @param record - The source record for shape creation
290
+ * @param diagnostics - Diagnostics for error reporting
291
+ * @param paramName - Parameter name for semantic datapills (e.g., 'params')
292
+ * @param processShapeForDatapills - Recursive helper to process nested structures (objects/arrays)
293
+ * @param cleanupConfig - Optional callback to clean up Action/Subflow configs
294
+ * @returns DatapillTransformResult with transformed shape and change tracking
295
+ */
296
+ function processInstanceForDatapills(instanceShape, uuidToIdentifierMap, record, diagnostics, paramName, logger, processShapeForDatapills, cleanupConfig) {
297
+ // Step 1: Extract call expression and variable statement
298
+ const { callExpression, variableStatement } = extractInstanceShapeInfo(instanceShape);
299
+ const callee = callExpression.getCallee();
300
+ const isFlowLogic = isFlowLogicCallee(callee);
301
+ // Step 2: Determine which properties to transform based on instance type
302
+ let propsArg;
303
+ let configArgIndex;
304
+ if (isFlowLogic) {
305
+ // For SetFlowVariables and AssignSubflowOutputs, transform the values object (3rd argument)
306
+ // For ForEach, transform the config (2nd argument)
307
+ // For other flow logic, transform the config (1st argument)
308
+ if (callee === flow_logic_constants_1.FLOW_LOGIC.SET_FLOW_VARIABLES || callee === flow_logic_constants_1.FLOW_LOGIC.ASSIGN_SUBFLOW_OUTPUTS) {
309
+ configArgIndex = 2;
310
+ propsArg = callExpression.getArgument(2);
311
+ }
312
+ else if (callee === flow_logic_constants_1.FLOW_LOGIC.FOR_EACH) {
313
+ configArgIndex = 1;
314
+ propsArg = callExpression.getArgument(1);
315
+ }
316
+ else {
317
+ configArgIndex = 0;
318
+ propsArg = callExpression.getArgument(0);
319
+ }
320
+ }
321
+ else {
322
+ // For Action/Subflow, we transform the inputs (3rd argument)
323
+ configArgIndex = 2;
324
+ propsArg = callExpression.getArgument(configArgIndex);
325
+ }
326
+ let overallChanged = false;
327
+ if (!propsArg.isDefined()) {
328
+ return { shape: instanceShape, propsChanged: false };
329
+ }
330
+ // Step 3: Transform schema argument for SetFlowVariables and AssignSubflowOutputs
331
+ // The schema argument (arg 1) contains PropertyAccessShape with placeholder identifier (_params)
332
+ // that needs to be resolved to the actual parameter name
333
+ let transformedSchemaArg;
334
+ if (callee === flow_logic_constants_1.FLOW_LOGIC.SET_FLOW_VARIABLES || callee === flow_logic_constants_1.FLOW_LOGIC.ASSIGN_SUBFLOW_OUTPUTS) {
335
+ const schemaArg = callExpression.getArgument(1);
336
+ if (schemaArg) {
337
+ const schemaResult = processShapeForDatapills(schemaArg, uuidToIdentifierMap, record, diagnostics, logger, paramName);
338
+ transformedSchemaArg = schemaResult.shape;
339
+ if (schemaResult.propsChanged) {
340
+ overallChanged = true;
341
+ }
342
+ }
343
+ }
344
+ // Step 3.5: Transform items argument for ForEach
345
+ // The items argument (arg 0) contains data pill strings like "{{trigger.array_field}}"
346
+ // that need to be converted to PropertyAccessShape with the correct parameter name
347
+ let transformedItemsArg;
348
+ if (callee === flow_logic_constants_1.FLOW_LOGIC.FOR_EACH) {
349
+ const itemsArg = callExpression.getArgument(0);
350
+ if (itemsArg) {
351
+ const itemsResult = processShapeForDatapills(itemsArg, uuidToIdentifierMap, record, diagnostics, logger, paramName);
352
+ transformedItemsArg = itemsResult.shape;
353
+ if (itemsResult.propsChanged) {
354
+ overallChanged = true;
355
+ }
356
+ }
357
+ }
358
+ // Note: goBackTo step ID should remain as UUID string for XML serialization
359
+ // It will be resolved to an identifier during the flow-logic-plugin-helpers.ts transformation
360
+ // Step 4: Transform properties in config/inputs/values
361
+ let transformedConfig;
362
+ if (propsArg.isObject()) {
363
+ const propsObj = propsArg.asObject();
364
+ const propsEntries = propsObj.entries();
365
+ const transformedProps = {};
366
+ let propsChanged = false;
367
+ for (const [key, value] of propsEntries) {
368
+ const result = processShapeForDatapills(value, uuidToIdentifierMap, record, diagnostics, logger, paramName);
369
+ transformedProps[key] = result.shape;
370
+ if (result.propsChanged) {
371
+ propsChanged = true;
372
+ }
373
+ }
374
+ if (propsChanged) {
375
+ transformedConfig = new sdk_build_core_1.ObjectShape({
376
+ source: propsArg.getSource(),
377
+ properties: transformedProps,
378
+ });
379
+ overallChanged = true;
380
+ }
381
+ else {
382
+ transformedConfig = propsObj;
383
+ }
384
+ // Check if config cleanup would make changes (before overallChanged check)
385
+ // This ensures we don't early-return when cleanup is needed
386
+ if (cleanupConfig) {
387
+ // For Action/Subflow instances, check config (argument 1)
388
+ if (!isFlowLogic) {
389
+ const originalConfig = callExpression.getArgument(1);
390
+ if (originalConfig) {
391
+ const cleanedConfig = cleanupConfig(originalConfig, instanceShape);
392
+ if (cleanedConfig !== originalConfig) {
393
+ overallChanged = true;
394
+ }
395
+ }
396
+ }
397
+ // For flow logic with outputs (e.g., WaitForADuration), check config (argument 0)
398
+ const isFlowLogicWithOutputs = FLOW_LOGIC_WITH_OUTPUTS.includes(callee);
399
+ if (isFlowLogicWithOutputs && transformedConfig) {
400
+ const cleanedConfig = cleanupConfig(transformedConfig, callExpression);
401
+ if (cleanedConfig !== transformedConfig) {
402
+ overallChanged = true;
403
+ }
404
+ }
405
+ }
406
+ }
407
+ // Step 4: Handle flow logic with bodies (recursive processing of child instances)
408
+ const transformedBodies = [];
409
+ if (isFlowLogic && flowLogicHasBody(callee)) {
410
+ const bodies = extractFlowLogicBodies(callExpression, callee);
411
+ for (const body of bodies) {
412
+ const childInstances = body.getStatements();
413
+ const transformedChildren = [];
414
+ let anyChildChanged = false;
415
+ // Recursively process each child instance
416
+ for (const childInstance of childInstances) {
417
+ const childResult = processInstanceForDatapills(childInstance, uuidToIdentifierMap, record, diagnostics, paramName, logger, processShapeForDatapills, cleanupConfig);
418
+ transformedChildren.push(childResult.shape);
419
+ if (childResult.propsChanged) {
420
+ anyChildChanged = true;
421
+ }
422
+ }
423
+ // Rebuild body if children changed
424
+ const transformedBody = anyChildChanged
425
+ ? new arrow_function_plugin_1.ArrowFunctionShape({
426
+ source: body.getSource(),
427
+ parameters: body.getParameters(),
428
+ statements: transformedChildren,
429
+ })
430
+ : body;
431
+ transformedBodies.push(transformedBody);
432
+ if (anyChildChanged) {
433
+ overallChanged = true;
434
+ }
435
+ }
436
+ }
437
+ // Step 5: Rebuild instance if anything changed
438
+ if (!overallChanged) {
439
+ return {
440
+ shape: instanceShape,
441
+ propsChanged: false,
442
+ };
443
+ }
444
+ // Rebuild the call expression
445
+ let newCallExpression;
446
+ if (isFlowLogic && transformedBodies.length > 0 && transformedConfig) {
447
+ // Rebuild flow logic with transformed config and bodies
448
+ newCallExpression = rebuildFlowLogicWithDatapills(callExpression, transformedConfig, transformedBodies, callee, record, transformedItemsArg // Pass transformed items for ForEach
449
+ );
450
+ }
451
+ else {
452
+ // Rebuild Action/Subflow or flow logic without body
453
+ const originalActionDef = callExpression.getArgument(0, false);
454
+ let originalConfig = callExpression.getArgument(1);
455
+ // Apply config cleanup for Action/Subflow instances
456
+ if (!isFlowLogic && cleanupConfig && originalConfig) {
457
+ originalConfig = cleanupConfig(originalConfig, instanceShape);
458
+ }
459
+ const isFlowLogicWithOutputs = FLOW_LOGIC_WITH_OUTPUTS.includes(callee);
460
+ if (isFlowLogicWithOutputs && cleanupConfig && transformedConfig) {
461
+ transformedConfig = cleanupConfig(transformedConfig, callExpression).asObject();
462
+ }
463
+ const newArgs = [];
464
+ if (configArgIndex === 2) {
465
+ // Action/Subflow OR SetFlowVariables/AssignSubflowOutputs: definition/config, schema/config, inputs/values
466
+ newArgs.push(originalActionDef);
467
+ // For SetFlowVariables/AssignSubflowOutputs, use transformed schema arg if available
468
+ if (transformedSchemaArg) {
469
+ newArgs.push(transformedSchemaArg);
470
+ }
471
+ else if (originalConfig) {
472
+ newArgs.push(originalConfig);
473
+ }
474
+ newArgs.push(sdk_build_core_1.Shape.from(record, transformedConfig));
475
+ }
476
+ else if (configArgIndex === 1 && transformedConfig) {
477
+ // ForEach: items, config
478
+ // Use transformed items if available, otherwise use original
479
+ const itemsArg = transformedItemsArg || callExpression.getArgument(0, false);
480
+ newArgs.push(itemsArg);
481
+ newArgs.push(transformedConfig);
482
+ }
483
+ else if (configArgIndex === 0 && transformedConfig) {
484
+ // Flow logic without body: just config
485
+ newArgs.push(transformedConfig);
486
+ }
487
+ newCallExpression = new sdk_build_core_1.CallExpressionShape({
488
+ source: callExpression.getSource(),
489
+ callee: callExpression.getCallee(),
490
+ args: newArgs,
491
+ });
492
+ }
493
+ // Rebuild instance (VariableStatement or CallExpression)
494
+ const rebuiltInstance = rebuildInstanceWithDatapills(instanceShape, newCallExpression, {
495
+ callExpression,
496
+ variableStatement,
497
+ });
498
+ return {
499
+ shape: rebuiltInstance,
500
+ propsChanged: true,
501
+ };
502
+ }
503
+ //# sourceMappingURL=datapill-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapill-transformer.js","sourceRoot":"","sources":["../../../src/flow/utils/datapill-transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import { type Diagnostics, type Factory, type Record } from '@servicenow/sdk-build-core';
2
+ export declare const TRIGGER_INSTANCE_TABLE = "sys_hub_trigger_instance";
3
+ export declare const ACTION_INSTANCE_TABLE = "sys_hub_action_instance";
4
+ export declare const SUBFLOW_INSTANCE_TABLE = "sys_hub_sub_flow_instance";
5
+ export declare const SUBFLOW_INSTANCE_TABLE_V2 = "sys_hub_sub_flow_instance_v2";
6
+ export declare const FLOW_LOGIC_INSTANCE_TABLE = "sys_hub_flow_logic";
7
+ export declare const FLOW_STAGE_TABLE = "sys_hub_flow_stage";
8
+ export declare const PILL_COMPOUND_TABLE = "sys_hub_pill_compound";
9
+ export declare const CATALOG_ITEM_TABLE = "sc_cat_item";
10
+ export declare const CATALOG_VARIABLE_TABLE = "item_option_new";
11
+ export declare const CATALOG_VARIABLE_SET_TABLE = "io_set_item";
12
+ export declare const UNSUPPORTED_FLOW_DESCENDANTS: string[];
13
+ export declare const FLOW_API_NAME = "Flow";
14
+ export declare const SUBFLOW_API_NAME = "Subflow";
15
+ export declare const ACTION_DEFINITION_API_NAME = "ActionDefinition";
16
+ export declare const TRIGGER_DEFINITION_API_NAME = "TriggerDefinition";
17
+ export declare const TRIGGER_INSTANCE_API_NAME = "wfa.trigger";
18
+ export declare const ACTION_INSTANCE_API_NAME = "wfa.action";
19
+ export declare const SUBFLOW_INSTANCE_API_NAME = "wfa.subflow";
20
+ export declare const ACTION_STEP_INSTANCE_API_NAME = "wfa.action_step";
21
+ export declare const APPROVAL_RULES_API_NAME = "wfa.approvalRules";
22
+ export declare const APPROVAL_DUE_DATE_API_NAME = "wfa.approvalDueDate";
23
+ export declare const ELEMENT_MAPPING_PROVIDER = "com.glide.flow_design.action.data.FlowDesignVariableMapper";
24
+ export declare const TRIGGER_TYPE_KEY_NAME = "trigger_type";
25
+ export declare const ACTION_TYPE_KEY_NAME = "action_type";
26
+ export declare const APPROVAL_RULES_INTERNAL_TYPE = "approval_rules";
27
+ export declare const APPROVAL_ACTION_TYPE_APPROVE_VALUE = "Approves";
28
+ export declare const APPROVAL_ACTION_TYPES: string[];
29
+ export declare const STRING_API_NAME = "StringColumn";
30
+ export declare const STRING_FULL_UTF8_ATTRIBUTE_NAME = "isFullUTF8";
31
+ export declare const STRING_FULL_UTF8_DATA_TYPE_VALUE = "string_full_utf8";
32
+ export declare const TIME_DATA_TYPE_VALUE = "glide_time";
33
+ export declare const DURATION_DATA_TYPE_VALUE = "glide_duration";
34
+ export declare const TEMPLATE_DATA_TYPE_VALUE = "template_value";
35
+ export declare const APPROVAL_RULES_DATA_TYPE_VALUE = "approval_rules";
36
+ export declare const APPROVAL_DUE_DATE_DATA_TYPE_VALUE = "schedule_date_time";
37
+ export declare const UTC_TIMEZONE_VALUE = "UTC";
38
+ export declare const UNSUPPORTED_DATA_TYPES: string[];
39
+ export declare const ACTION_DEF_COLUMN_NAME = "action_type";
40
+ export declare const CORE_ACTIONS_PREFIX = "action.core";
41
+ export declare const RUN_ON_EXTENDED = "run_on_extended";
42
+ export declare const APPROVAL_DUE_DATE_INPUT_FIELD_ACTIONS: string[];
43
+ export declare const CORE_ACTIONS_SYS_ID_NAME_MAP: {
44
+ [sysId: string]: string;
45
+ };
46
+ export declare const COLUMN_DEFAULTS: {
47
+ string: string;
48
+ boolean: boolean;
49
+ integer: number;
50
+ };
51
+ export declare enum ChoiceDropdown {
52
+ DROPDOWN_WITH_NONE = 1,
53
+ DROPDOWN_WITHOUT_NONE = 3
54
+ }
55
+ export declare function createActionErrorAndStatusRecords(source: Record, tableName: string, varTable: string, factory: Factory, diagnostics: Diagnostics): Promise<Record[]>;
56
+ /**
57
+ * Converts arbitrary strings to snake_case slugs suitable for internal_name, etc.
58
+ * Handles:
59
+ * • Unicode accents (café → cafe)
60
+ * • Multiple / leading / trailing separators
61
+ * • Leading digits (prefixes with underscore)
62
+ * • Empty results (returns `fallback`)
63
+ */
64
+ export interface SlugifyOptions {
65
+ prefixIfDigit?: string;
66
+ fallback?: string;
67
+ }
68
+ export declare function slugifyString(value: unknown, opts?: SlugifyOptions): string;
69
+ /**
70
+ * Core actions that require special catalog variable handling
71
+ */
72
+ export declare const CATALOG_VARIABLE_ACTIONS: string[];