@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,266 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CatalogUiPolicyPlugin = void 0;
4
+ const sdk_build_core_1 = require("@servicenow/sdk-build-core");
5
+ const utils_1 = require("./utils");
6
+ const now_id_plugin_1 = require("../now-id-plugin");
7
+ const utils_2 = require("./utils");
8
+ const service_catalog_diagnostics_1 = require("./service-catalog-diagnostics");
9
+ // Define table names as constants since they're not exported from the core tables
10
+ const CATALOG_UI_POLICY = 'catalog_ui_policy';
11
+ const CATALOG_UI_POLICY_ACTION = 'catalog_ui_policy_action';
12
+ const DEFAULT_SCRIPT = 'function onCondition() {\n\n}';
13
+ /**
14
+ * Helper function to convert ServiceNow string format ('true'/'false'/'ignore') to boolean | 'ignore'
15
+ */
16
+ const getBooleanOrIgnore = (action, field) => {
17
+ const value = action.isRecord() ? action.asRecord() : action;
18
+ if (value.get(field)?.ifString()?.getValue() === 'ignore' || value.get(field)?.ifString()?.isEmpty()) {
19
+ return 'ignore';
20
+ }
21
+ return value.get(field)?.toBoolean()?.getValue();
22
+ };
23
+ /**
24
+ * Helper function to strip IO: prefix from variable names
25
+ */
26
+ const stripIOPrefix = (value) => {
27
+ return value.startsWith('IO:') ? value.substring(3) : value;
28
+ };
29
+ exports.CatalogUiPolicyPlugin = sdk_build_core_1.Plugin.create({
30
+ name: 'CatalogUiPolicyPlugin',
31
+ records: {
32
+ [CATALOG_UI_POLICY]: {
33
+ relationships: {
34
+ [CATALOG_UI_POLICY_ACTION]: {
35
+ via: 'ui_policy',
36
+ descendant: true,
37
+ },
38
+ },
39
+ async toShape(record, { descendants, database, transform }) {
40
+ let processedConditions;
41
+ // Handle catalog_condition - convert variables to PropertyAccessShape in template expression
42
+ if (!record.get('catalog_conditions')?.ifString()?.isEmpty()) {
43
+ processedConditions = (0, utils_1.processCatalogConditionsToShape)(record, database);
44
+ }
45
+ const { catalogItemReference, variableSetReference } = (0, utils_1.resolveCatalogReferences)(record, database);
46
+ const actions = descendants.query(CATALOG_UI_POLICY_ACTION).map((action) => {
47
+ const variableValue = action.get('catalog_variable')?.ifString()?.getValue();
48
+ if (!variableValue) {
49
+ return {
50
+ success: false,
51
+ };
52
+ }
53
+ const variableId = stripIOPrefix(variableValue);
54
+ const varRecord = database.get('item_option_new', variableId);
55
+ let variableName;
56
+ if (varRecord?.isRecord()) {
57
+ const appliesToRecord = (0, utils_1.getTargetRecord)(record, database);
58
+ variableName =
59
+ (appliesToRecord?.isRecord() &&
60
+ (0, utils_1.createVariablePropertyAccess)(varRecord, record, appliesToRecord)) ||
61
+ variableId;
62
+ }
63
+ else {
64
+ variableName = variableId;
65
+ }
66
+ return action.transform(({ $ }) => {
67
+ const visible = getBooleanOrIgnore(action, 'visible');
68
+ const readOnly = getBooleanOrIgnore(action, 'disabled');
69
+ const mandatory = getBooleanOrIgnore(action, 'mandatory');
70
+ const cleared = action.get('cleared')?.toBoolean()?.getValue();
71
+ const variableMessage = action.get('field_message')?.ifString()?.getValue();
72
+ const variableMessageType = action.get('field_message_type')?.ifString()?.getValue();
73
+ const valueActionDb = action.get('value_action')?.ifString()?.getValue();
74
+ const valueAction = valueActionDb ? (0, utils_2.getValueActionFromDb)(valueActionDb) : undefined;
75
+ const order = (0, utils_1.convertToNumber)(action.get('order'), 100);
76
+ const value = action.get('value')?.ifString()?.getValue();
77
+ return {
78
+ variableName: $.val(variableName),
79
+ ...(visible !== 'ignore' && visible !== undefined && { visible: $.val(visible) }),
80
+ ...(readOnly !== 'ignore' && readOnly !== undefined && { readOnly: $.val(readOnly) }),
81
+ ...(mandatory !== 'ignore' && mandatory !== undefined && { mandatory: $.val(mandatory) }),
82
+ ...(cleared && { cleared: $.val(cleared) }),
83
+ ...(variableMessageType &&
84
+ variableMessageType !== 'none' && {
85
+ variableMessageType: $.val(variableMessageType),
86
+ }),
87
+ ...(variableMessage &&
88
+ variableMessageType !== 'none' && {
89
+ variableMessage: $.val(variableMessage),
90
+ }),
91
+ ...(valueAction && { valueAction: $.val(valueAction) }),
92
+ ...(order && order !== 100 && { order: $.val(order) }),
93
+ ...(value && { value: $.val(value) }),
94
+ };
95
+ });
96
+ });
97
+ const executeIfTrue = await (0, utils_1.createScript)(record, record.get('script_true'), transform, 'script-true');
98
+ const executeIfFalse = await (0, utils_1.createScript)(record, record.get('script_false'), transform, 'script-false');
99
+ return {
100
+ success: true,
101
+ value: new sdk_build_core_1.CallExpressionShape({
102
+ source: record,
103
+ callee: 'CatalogUiPolicy',
104
+ args: [
105
+ record.transform(({ $ }) => ({
106
+ $id: $.val(now_id_plugin_1.NowIdShape.from(record)),
107
+ appliesTo: $.from('applies_to').def(utils_2.APPLIES_TO_CATALOG_ITEM),
108
+ catalogItem: $.val(catalogItemReference).def(''),
109
+ variableSet: $.val(variableSetReference).def(''),
110
+ shortDescription: $.from('short_description'),
111
+ active: $.toBoolean().def(true),
112
+ global: $.toBoolean().def(true),
113
+ onLoad: $.from('on_load').toBoolean().def(true),
114
+ reverseIfFalse: $.from('reverse_if_false').toBoolean().def(true),
115
+ inherit: $.toBoolean().def(false),
116
+ isolateScript: $.from('isolate_script').toBoolean().def(true),
117
+ conditions: $.def(''),
118
+ catalogCondition: $.val(processedConditions).def(''),
119
+ appliesOnCatalogItemView: $.from('applies_catalog').toBoolean().def(true),
120
+ appliesOnTargetRecord: $.from('applies_target_record').toBoolean().def(false),
121
+ appliesOnCatalogTasks: $.from('applies_sc_task').toBoolean().def(false),
122
+ appliesOnRequestedItems: $.from('applies_req_item').toBoolean().def(false),
123
+ runScripts: $.from('run_scripts').toBoolean().def(false),
124
+ executeIfTrue: $.val(executeIfTrue).def(DEFAULT_SCRIPT),
125
+ executeIfFalse: $.val(executeIfFalse).def(DEFAULT_SCRIPT),
126
+ description: $.from('description').def(''),
127
+ modelId: $.from('model_id').def(''),
128
+ modelTable: $.from('model_table').def(''),
129
+ order: $.map((c) => (0, utils_1.convertToNumber)(c, 100)).def(100),
130
+ setValues: $.from('set_values').def(''),
131
+ vaSupported: $.from('va_supported').toBoolean().def(true),
132
+ view: $.from('view').def(''),
133
+ publishedRef: $.from('published_ref').def(''),
134
+ runScriptsInUiType: $.from('ui_type')
135
+ .map((v) => v.ifString()?.isEmpty() ? undefined : (0, utils_2.getUITypeFromId)(v.toNumber()?.getValue()))
136
+ .def('desktop'),
137
+ actions: $.val(actions.length > 0 ? actions : []).def([]),
138
+ })),
139
+ ],
140
+ }),
141
+ };
142
+ },
143
+ },
144
+ [CATALOG_UI_POLICY_ACTION]: {
145
+ coalesce: ['ui_policy', 'catalog_variable'],
146
+ },
147
+ },
148
+ shapes: [
149
+ {
150
+ shape: sdk_build_core_1.CallExpressionShape,
151
+ fileTypes: ['fluent'],
152
+ async toRecord(callExpression, { diagnostics, factory }) {
153
+ if (callExpression.getCallee() !== 'CatalogUiPolicy') {
154
+ return { success: false };
155
+ }
156
+ const arg = callExpression.getArgument(0).asObject();
157
+ // Validate catalogItem and variableSet are mutually exclusive
158
+ (0, service_catalog_diagnostics_1.validateCatalogItemVariableSetExclusivity)(arg, diagnostics, 'CatalogUiPolicy');
159
+ const catalogConditionShape = arg.get('catalogCondition');
160
+ let catalogConditionIO;
161
+ const appliedTo = arg.get('appliesTo')?.toString()?.getValue() === 'set' ? 'set' : utils_2.APPLIES_TO_CATALOG_ITEM;
162
+ if (catalogConditionShape.isDefined()) {
163
+ catalogConditionIO = (0, utils_1.processCatalogCondition)(catalogConditionShape, appliedTo, arg.get('variableSet', false), arg.get('catalogItem', false), diagnostics);
164
+ }
165
+ // Create the Catalog UI Policy record
166
+ const catalogUiPolicyRecord = await factory.createRecord({
167
+ source: callExpression,
168
+ table: CATALOG_UI_POLICY,
169
+ explicitId: arg.get('$id'),
170
+ properties: arg.transform(({ $ }) => ({
171
+ catalog_item: $.from('catalogItem').def(''),
172
+ variable_set: $.from('variableSet').def(''),
173
+ applies_to: $.from('appliesTo').def(utils_2.APPLIES_TO_CATALOG_ITEM),
174
+ short_description: $.from('shortDescription'),
175
+ active: $.def(true),
176
+ global: $.def(true),
177
+ on_load: $.from('onLoad').def(true),
178
+ reverse_if_false: $.from('reverseIfFalse').def(true),
179
+ inherit: $.def(false),
180
+ isolate_script: $.from('isolateScript').def(true),
181
+ conditions: $.def(''),
182
+ catalog_conditions: $.val(catalogConditionIO).def(''),
183
+ applies_catalog: $.from('appliesOnCatalogItemView').def(true),
184
+ applies_target_record: $.from('appliesOnTargetRecord').def(false),
185
+ applies_sc_task: $.from('appliesOnCatalogTasks').def(false),
186
+ applies_req_item: $.from('appliesOnRequestedItems').def(false),
187
+ run_scripts: $.from('runScripts').def(false),
188
+ script_true: $.from('executeIfTrue').toCdata().def('function onCondition() {\n\n}'),
189
+ script_false: $.from('executeIfFalse').toCdata().def('function onCondition() {\n\n}'),
190
+ description: $.from('description').def(''),
191
+ model_id: $.from('modelId').def(''),
192
+ model_table: $.from('modelTable').def(''),
193
+ order: $.def(100),
194
+ set_values: $.from('setValues').def(''),
195
+ published_ref: $.from('publishedRef').def(''),
196
+ ui_type: $.from('runScriptsInUiType')
197
+ .map((v) => (v.isString() && !v.isEmpty() ? (0, utils_2.getUITypeId)(v.getValue()) : undefined))
198
+ .def(0),
199
+ table: $.def(''),
200
+ va_supported: $.from('vaSupported').def(true),
201
+ view: $.def(''),
202
+ })),
203
+ });
204
+ // Process actions if they exist
205
+ const actions = arg.get('actions')?.ifArray()?.getElements() ?? [];
206
+ const actionRecords = [];
207
+ if (actions?.length > 0) {
208
+ const variableNames = new Set();
209
+ // Process each action sequentially
210
+ for (const action of actions) {
211
+ const actionObj = action.asObject();
212
+ // Validate variableMessageType/variableMessage consistency
213
+ (0, service_catalog_diagnostics_1.validateUiPolicyActionMessage)(actionObj, diagnostics);
214
+ const variableNameShape = actionObj.get('variableName', false);
215
+ // Resolve and validate catalog_variable
216
+ const catalogVariable = (0, utils_1.resolveAndValidateVariableId)(variableNameShape, appliedTo, arg.get('variableSet', false), arg.get('catalogItem', false), diagnostics);
217
+ // Extract variable name for duplicate checking
218
+ let catalogVariableName;
219
+ if (variableNameShape?.is(sdk_build_core_1.PropertyAccessShape)) {
220
+ const variableAccess = (0, utils_1.resolveVariableAccess)(variableNameShape.as(sdk_build_core_1.PropertyAccessShape));
221
+ if (variableAccess) {
222
+ catalogVariableName = variableAccess.variableName;
223
+ }
224
+ else {
225
+ catalogVariableName = variableNameShape.toString()?.getValue();
226
+ }
227
+ }
228
+ else {
229
+ catalogVariableName = variableNameShape?.toString()?.getValue();
230
+ }
231
+ if (catalogVariableName) {
232
+ if (variableNames.has(catalogVariableName)) {
233
+ diagnostics.error(variableNameShape, `Duplicate variableName '${catalogVariableName}' found in actions. Each action must have a unique variableName.`);
234
+ }
235
+ variableNames.add(catalogVariableName);
236
+ }
237
+ actionRecords.push(await factory.createRecord({
238
+ source: action, // Use the action as source instead of callExpression
239
+ table: CATALOG_UI_POLICY_ACTION,
240
+ properties: actionObj.transform(({ $ }) => ({
241
+ ui_policy: $.val(catalogUiPolicyRecord.getId()),
242
+ catalog_item: $.val(arg.get('catalogItem')?.toString()?.getValue() ?? ''),
243
+ variable_set: $.val(arg.get('variableSet')?.toString()?.getValue() ?? ''),
244
+ catalog_variable: $.val(catalogVariable).def(''),
245
+ variable: $.val(catalogVariableName).def(''),
246
+ visible: $.from('visible').def('ignore'),
247
+ disabled: $.from('readOnly').def('ignore'),
248
+ mandatory: $.from('mandatory').def('ignore'),
249
+ order: $.def(100),
250
+ cleared: $.from('cleared').toBoolean().def(false),
251
+ field_message: $.from('variableMessage').def(''),
252
+ field_message_type: $.from('variableMessageType').def('none'),
253
+ value: $.from('value').def(''),
254
+ value_action: $.from('valueAction')
255
+ .map((v) => (0, utils_2.getValueActionToDb)(v.toString().getValue()))
256
+ .def('ignore'),
257
+ })),
258
+ }));
259
+ }
260
+ }
261
+ return { success: true, value: catalogUiPolicyRecord.with(...actionRecords) };
262
+ },
263
+ },
264
+ ],
265
+ });
266
+ //# sourceMappingURL=catalog-ui-policy-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-ui-policy-plugin.js","sourceRoot":"","sources":["../../src/service-catalog/catalog-ui-policy-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './variable-set-plugin';
2
+ export * from './catalog-item-plugin';
3
+ export * from './catalog-clientscript-plugin';
4
+ export * from './catalog-ui-policy-plugin';
5
+ export * from './sc-record-producer-plugin';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./variable-set-plugin"), exports);
18
+ __exportStar(require("./catalog-item-plugin"), exports);
19
+ __exportStar(require("./catalog-clientscript-plugin"), exports);
20
+ __exportStar(require("./catalog-ui-policy-plugin"), exports);
21
+ __exportStar(require("./sc-record-producer-plugin"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service-catalog/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,wDAAqC;AACrC,gEAA6C;AAC7C,6DAA0C;AAC1C,8DAA2C"}
@@ -0,0 +1,6 @@
1
+ import { CallExpressionShape, type Record, type Database, type Logger } from '@servicenow/sdk-build-core';
2
+ /**
3
+ * Converts a ServiceNow variable record to a CallExpressionShape for code generation.
4
+ * This function queries the database for variable data and delegates transformation to buildVariableTransform.
5
+ */
6
+ export declare function variableToCallExpression(variable: Record, descendants: Database, logger: Logger): CallExpressionShape;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.variableToCallExpression = variableToCallExpression;
4
+ const sdk_build_core_1 = require("@servicenow/sdk-build-core");
5
+ const variable_helper_1 = require("./variable-helper");
6
+ const utils_1 = require("./utils");
7
+ const variables_transform_1 = require("./variables-transform");
8
+ /**
9
+ * Converts a ServiceNow variable record to a CallExpressionShape for code generation.
10
+ * This function queries the database for variable data and delegates transformation to buildVariableTransform.
11
+ */
12
+ function variableToCallExpression(variable, descendants, logger) {
13
+ const typeCode = variable.get('type').ifString()?.getValue() || '';
14
+ const callExpression = variable_helper_1.VARIABLE_TYPE_TO_NAME[typeCode];
15
+ if (!callExpression) {
16
+ throw new Error(`Unknown variable type: ${typeCode}`);
17
+ }
18
+ const choicesData = {};
19
+ if (callExpression === variable_helper_1.VariableTypeName.MULTIPLE_CHOICE || callExpression === variable_helper_1.VariableTypeName.SELECT_BOX) {
20
+ const choices = descendants.query('question_choice', {
21
+ question: variable.getId()?.getValue(),
22
+ });
23
+ choices.forEach((choice) => {
24
+ const choicePriceDetails = descendants.query('fx_price', {
25
+ id: choice.getId()?.getValue(),
26
+ });
27
+ const choiceValue = choice.get('value')?.ifString()?.getValue() ?? choice.get('value')?.ifNumber()?.getValue();
28
+ const pricingDetailsArray = choicePriceDetails.map((price) => {
29
+ const amount = (0, utils_1.convertToNumber)(price.get('amount'), 0);
30
+ const currencyType = price.get('currency').ifString()?.getValue() || '';
31
+ const field = price.get('field').ifString()?.getValue() || '';
32
+ return { amount, currencyType, field };
33
+ });
34
+ if (choiceValue === undefined) {
35
+ return;
36
+ }
37
+ choicesData[choiceValue] = {
38
+ label: choice.get('text').ifString()?.getValue() || '',
39
+ inactive: choice.get('inactive').toBoolean().getValue() || false,
40
+ sequence: choice.get('order').ifString()?.isEmpty() || choice.get('order').isUndefined()
41
+ ? 0
42
+ : choice.get('order').toNumber().getValue(),
43
+ ...(pricingDetailsArray.length > 0 && { pricingDetails: pricingDetailsArray }),
44
+ };
45
+ });
46
+ }
47
+ const prices = descendants.query('fx_price', {
48
+ id: variable.getId()?.getValue(),
49
+ });
50
+ let varPricingDetails = [];
51
+ if (callExpression === variable_helper_1.VariableTypeName.CHECKBOX) {
52
+ varPricingDetails = prices.map((price) => {
53
+ const amount = (0, utils_1.convertToNumber)(price.get('amount'), 0);
54
+ const currencyType = price.get('currency').ifString()?.getValue() || '';
55
+ const field = price.get('field').ifString()?.getValue() || '';
56
+ return { amount, currencyType, field };
57
+ });
58
+ }
59
+ // Determine discriminated union types before transform
60
+ let qualifierType = 'simple';
61
+ if (callExpression === variable_helper_1.VariableTypeName.REFERENCE ||
62
+ callExpression === variable_helper_1.VariableTypeName.REQUESTED_FOR ||
63
+ callExpression === variable_helper_1.VariableTypeName.LIST_COLLECTOR) {
64
+ const useRefQual = variable.get('use_reference_qualifier')?.ifString()?.getValue();
65
+ if (useRefQual === 'dynamic') {
66
+ qualifierType = 'dynamic';
67
+ }
68
+ else if (useRefQual === 'advanced') {
69
+ qualifierType = 'advanced';
70
+ }
71
+ }
72
+ let lookupSource = 'table';
73
+ if (callExpression === variable_helper_1.VariableTypeName.LOOKUP_SELECT_BOX ||
74
+ callExpression === variable_helper_1.VariableTypeName.LOOKUP_MULTIPLE_CHOICE) {
75
+ const lookupSourceValue = variable.get('lookup_source')?.ifString()?.getValue();
76
+ if (lookupSourceValue === 'choices') {
77
+ lookupSource = 'choices';
78
+ }
79
+ }
80
+ return new sdk_build_core_1.CallExpressionShape({
81
+ source: variable,
82
+ callee: callExpression,
83
+ args: [
84
+ variable.transform(({ $ }) => (0, variables_transform_1.buildVariableTransform)(callExpression, $, {
85
+ choicesData,
86
+ varPricingDetails,
87
+ qualifierType,
88
+ lookupSource,
89
+ }, logger)),
90
+ ],
91
+ });
92
+ }
93
+ //# sourceMappingURL=record-to-shape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-to-shape.js","sourceRoot":"","sources":["../../src/service-catalog/record-to-shape.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Plugin } from '@servicenow/sdk-build-core';
2
+ export declare const CatalogItemRecordProducerPlugin: Plugin;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CatalogItemRecordProducerPlugin = void 0;
4
+ const sdk_build_core_1 = require("@servicenow/sdk-build-core");
5
+ const shape_to_record_1 = require("./shape-to-record");
6
+ const utils_1 = require("./utils");
7
+ const service_catalog_base_1 = require("./service-catalog-base");
8
+ const service_catalog_diagnostics_1 = require("./service-catalog-diagnostics");
9
+ const server_module_plugin_1 = require("../server-module-plugin");
10
+ exports.CatalogItemRecordProducerPlugin = sdk_build_core_1.Plugin.create({
11
+ name: 'CatalogItemRecordProducerPlugin',
12
+ records: {
13
+ sc_cat_item_producer: {
14
+ relationships: service_catalog_base_1.CatalogItemBaseRelationships,
15
+ async toShape(record, { descendants, transform, logger }) {
16
+ const variablesSchema = (0, service_catalog_base_1.buildVariablesSchema)(descendants, logger);
17
+ const script = await (0, utils_1.createScript)(record, record.get('script'), transform, 'script');
18
+ const postInsertScript = await (0, utils_1.createScript)(record, record.get('post_insert_script'), transform, 'post-insert-script');
19
+ const saveScript = await (0, utils_1.createScript)(record, record.get('save_script'), transform, 'save-script');
20
+ const callExpression = new sdk_build_core_1.CallExpressionShape({
21
+ source: record,
22
+ callee: 'CatalogItemRecordProducer',
23
+ args: [
24
+ record.transform(({ $ }) => ({
25
+ ...(0, service_catalog_base_1.transformCatalogBaseFieldsToShape)(record, $, descendants),
26
+ table: $.from('table_name'),
27
+ script: $.val(script).def(utils_1.defaultScript),
28
+ postInsertScript: $.val(postInsertScript).def(utils_1.defaultpostInsertScript),
29
+ saveScript: $.val(saveScript).def(utils_1.defaultSaveScript),
30
+ redirectUrl: $.from('redirect_url')
31
+ .map((v) => (0, utils_1.getRedirectUrlFromDb)(v.toString().getValue()))
32
+ .def('generatedRecord'),
33
+ view: $.def(''),
34
+ allowEdit: $.from('allow_edit').toBoolean().def(false),
35
+ canCancel: $.from('can_cancel').toBoolean().def(false),
36
+ saveOptions: $.from('save_options').def(''),
37
+ variables: $.val(variablesSchema).def({}),
38
+ })),
39
+ ],
40
+ });
41
+ return {
42
+ success: true,
43
+ value: (0, utils_1.shouldWriteAsCallExpression)(record)
44
+ ? callExpression
45
+ : new sdk_build_core_1.VariableStatementShape({
46
+ source: record,
47
+ isExported: true,
48
+ variableName: new sdk_build_core_1.IdentifierShape({
49
+ source: record,
50
+ name: (0, utils_1.toValidIdentifier)(record.get('name').asString().getValue()),
51
+ }),
52
+ initializer: callExpression,
53
+ }),
54
+ };
55
+ },
56
+ },
57
+ ...service_catalog_base_1.CatalogItemBaseCoalesce,
58
+ },
59
+ shapes: [
60
+ {
61
+ shape: sdk_build_core_1.CallExpressionShape,
62
+ fileTypes: ['fluent'],
63
+ async toRecord(callExpression, { diagnostics, factory }) {
64
+ if (callExpression.getCallee() !== 'CatalogItemRecordProducer') {
65
+ return { success: false };
66
+ }
67
+ const arg = callExpression.getArgument(0).asObject();
68
+ // Validate mutually exclusive fulfillment process fields (executionPlan/flow/workflow)
69
+ (0, service_catalog_diagnostics_1.validateFulfillmentProcessExclusivity)(arg, diagnostics);
70
+ // Validate categories require catalogs
71
+ (0, service_catalog_diagnostics_1.validateCategoriesRequireCatalogs)(arg, diagnostics);
72
+ const recordProducer = await factory.createRecord({
73
+ source: callExpression,
74
+ table: 'sc_cat_item_producer',
75
+ explicitId: arg.get('$id'),
76
+ properties: arg.transform(({ $ }) => ({
77
+ ...(0, service_catalog_base_1.transformCatalogItemBaseFieldsToRecord)($),
78
+ table_name: $.from('table'),
79
+ script: $.from('script')
80
+ .map((v) => v
81
+ .if(server_module_plugin_1.ModuleFunctionShape)
82
+ ?.toString((n) => `${n}({{PARAMS}})`, ['producer', 'current']) ?? v)
83
+ .toCdata()
84
+ .def(utils_1.defaultScript),
85
+ post_insert_script: $.from('postInsertScript')
86
+ .map((v) => v
87
+ .if(server_module_plugin_1.ModuleFunctionShape)
88
+ ?.toString((n) => `${n}({{PARAMS}})`, ['producer', 'current', 'cat_item']) ?? v)
89
+ .toCdata()
90
+ .def(utils_1.defaultpostInsertScript),
91
+ save_script: $.from('saveScript')
92
+ .map((v) => v
93
+ .if(server_module_plugin_1.ModuleFunctionShape)
94
+ ?.toString((n) => `${n}({{PARAMS}})`, ['producer', 'current', 'cat_item']) ?? v)
95
+ .toCdata()
96
+ .def(utils_1.defaultSaveScript),
97
+ redirect_url: $.from('redirectUrl')
98
+ .map((v) => (0, utils_1.getRedirectUrlToDb)(v.toString().getValue()))
99
+ .def('generated_record'),
100
+ view: $.def(''),
101
+ allow_edit: $.from('allowEdit').def(false),
102
+ can_cancel: $.from('canCancel').def(false),
103
+ save_options: $.from('saveOptions').def(''),
104
+ })),
105
+ });
106
+ let variableRecords = [];
107
+ // Validate all RequestedForVariable constraints (direct variables + variable sets) in a single optimized pass
108
+ if (!(0, utils_1.validateRequestedForVariableConflict)(arg, diagnostics, 'RecordProducer')) {
109
+ return { success: false };
110
+ }
111
+ // Validate that variable names don't conflict between direct variables and variable sets
112
+ if (!(0, utils_1.validateVariableNameConflicts)(arg, diagnostics, 'RecordProducer')) {
113
+ return { success: false };
114
+ }
115
+ const m2mRecords = await (0, service_catalog_base_1.createSharedM2MRecords)(callExpression, arg, recordProducer, factory);
116
+ if (arg.get('variables').isDefined()) {
117
+ const variablesConfig = arg.get('variables').asObject();
118
+ variableRecords = await (0, shape_to_record_1.buildVariableRecords)({
119
+ variablesConfig,
120
+ factory,
121
+ parent: recordProducer,
122
+ parentArg: arg,
123
+ diagnostics,
124
+ });
125
+ const recordProducerTable = arg.get('table').getValue();
126
+ variableRecords = variableRecords.map((variableRecord) => {
127
+ return variableRecord.merge({
128
+ record_producer_table: recordProducerTable,
129
+ });
130
+ });
131
+ }
132
+ return {
133
+ success: true,
134
+ value: recordProducer.with(...m2mRecords.catalogsRecords, ...m2mRecords.categoriesRecords, ...m2mRecords.variableSetRecords, ...m2mRecords.availableForRecords, ...m2mRecords.notAvailableForRecords, ...m2mRecords.assignedTopicsRecords, ...variableRecords),
135
+ };
136
+ },
137
+ },
138
+ ],
139
+ });
140
+ //# sourceMappingURL=sc-record-producer-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sc-record-producer-plugin.js","sourceRoot":"","sources":["../../src/service-catalog/sc-record-producer-plugin.ts"],"names":[],"mappings":"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"}