@servicenow/sdk-build-plugins 4.2.0 → 4.3.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 (330) hide show
  1. package/dist/acl-plugin.js +9 -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-plugin.js +1 -1
  15. package/dist/column-plugin.js.map +1 -1
  16. package/dist/dashboard/dashboard-component-property-defaults.d.ts +152 -0
  17. package/dist/dashboard/dashboard-component-property-defaults.js +264 -0
  18. package/dist/dashboard/dashboard-component-property-defaults.js.map +1 -0
  19. package/dist/dashboard/dashboard-component-resolver.d.ts +13 -0
  20. package/dist/dashboard/dashboard-component-resolver.js +69 -0
  21. package/dist/dashboard/dashboard-component-resolver.js.map +1 -0
  22. package/dist/dashboard/dashboard-plugin.d.ts +12 -0
  23. package/dist/dashboard/dashboard-plugin.js +397 -0
  24. package/dist/dashboard/dashboard-plugin.js.map +1 -0
  25. package/dist/data-plugin.d.ts +3 -0
  26. package/dist/data-plugin.js +61 -113
  27. package/dist/data-plugin.js.map +1 -1
  28. package/dist/email-notification-plugin.d.ts +2 -0
  29. package/dist/email-notification-plugin.js +541 -0
  30. package/dist/email-notification-plugin.js.map +1 -0
  31. package/dist/flow/constants/flow-plugin-constants.d.ts +58 -0
  32. package/dist/flow/constants/flow-plugin-constants.js +70 -0
  33. package/dist/flow/constants/flow-plugin-constants.js.map +1 -0
  34. package/dist/flow/flow-logic/flow-logic-constants.d.ts +38 -0
  35. package/dist/flow/flow-logic/flow-logic-constants.js +118 -0
  36. package/dist/flow/flow-logic/flow-logic-constants.js.map +1 -0
  37. package/dist/flow/flow-logic/flow-logic-diagnostics.d.ts +19 -0
  38. package/dist/flow/flow-logic/flow-logic-diagnostics.js +503 -0
  39. package/dist/flow/flow-logic/flow-logic-diagnostics.js.map +1 -0
  40. package/dist/flow/flow-logic/flow-logic-plugin-helpers.d.ts +62 -0
  41. package/dist/flow/flow-logic/flow-logic-plugin-helpers.js +2092 -0
  42. package/dist/flow/flow-logic/flow-logic-plugin-helpers.js.map +1 -0
  43. package/dist/flow/flow-logic/flow-logic-plugin.d.ts +52 -0
  44. package/dist/flow/flow-logic/flow-logic-plugin.js +283 -0
  45. package/dist/flow/flow-logic/flow-logic-plugin.js.map +1 -0
  46. package/dist/flow/flow-logic/flow-logic-shapes.d.ts +104 -0
  47. package/dist/flow/flow-logic/flow-logic-shapes.js +201 -0
  48. package/dist/flow/flow-logic/flow-logic-shapes.js.map +1 -0
  49. package/dist/flow/plugins/approval-rules-plugin.d.ts +2 -0
  50. package/dist/flow/plugins/approval-rules-plugin.js +49 -0
  51. package/dist/flow/plugins/approval-rules-plugin.js.map +1 -0
  52. package/dist/flow/plugins/flow-action-definition-plugin.d.ts +2 -0
  53. package/dist/flow/plugins/flow-action-definition-plugin.js +286 -0
  54. package/dist/flow/plugins/flow-action-definition-plugin.js.map +1 -0
  55. package/dist/flow/plugins/flow-data-pill-plugin.d.ts +9 -0
  56. package/dist/flow/plugins/flow-data-pill-plugin.js +212 -0
  57. package/dist/flow/plugins/flow-data-pill-plugin.js.map +1 -0
  58. package/dist/flow/plugins/flow-definition-plugin.d.ts +2 -0
  59. package/dist/flow/plugins/flow-definition-plugin.js +1668 -0
  60. package/dist/flow/plugins/flow-definition-plugin.js.map +1 -0
  61. package/dist/flow/plugins/flow-diagnostics-plugin.d.ts +26 -0
  62. package/dist/flow/plugins/flow-diagnostics-plugin.js +217 -0
  63. package/dist/flow/plugins/flow-diagnostics-plugin.js.map +1 -0
  64. package/dist/flow/plugins/flow-instance-plugin.d.ts +12 -0
  65. package/dist/flow/plugins/flow-instance-plugin.js +930 -0
  66. package/dist/flow/plugins/flow-instance-plugin.js.map +1 -0
  67. package/dist/flow/plugins/flow-trigger-instance-plugin.d.ts +2 -0
  68. package/dist/flow/plugins/flow-trigger-instance-plugin.js +324 -0
  69. package/dist/flow/plugins/flow-trigger-instance-plugin.js.map +1 -0
  70. package/dist/flow/plugins/inline-script-plugin.d.ts +39 -0
  71. package/dist/flow/plugins/inline-script-plugin.js +80 -0
  72. package/dist/flow/plugins/inline-script-plugin.js.map +1 -0
  73. package/dist/flow/plugins/step-definition-plugin.d.ts +5 -0
  74. package/dist/flow/plugins/step-definition-plugin.js +71 -0
  75. package/dist/flow/plugins/step-definition-plugin.js.map +1 -0
  76. package/dist/flow/plugins/step-instance-plugin.d.ts +31 -0
  77. package/dist/flow/plugins/step-instance-plugin.js +339 -0
  78. package/dist/flow/plugins/step-instance-plugin.js.map +1 -0
  79. package/dist/flow/plugins/trigger-plugin.d.ts +2 -0
  80. package/dist/flow/plugins/trigger-plugin.js +96 -0
  81. package/dist/flow/plugins/trigger-plugin.js.map +1 -0
  82. package/dist/flow/plugins/wfa-datapill-plugin.d.ts +15 -0
  83. package/dist/flow/plugins/wfa-datapill-plugin.js +178 -0
  84. package/dist/flow/plugins/wfa-datapill-plugin.js.map +1 -0
  85. package/dist/flow/utils/approval-rules-processor.d.ts +13 -0
  86. package/dist/flow/utils/approval-rules-processor.js +267 -0
  87. package/dist/flow/utils/approval-rules-processor.js.map +1 -0
  88. package/dist/flow/utils/built-in-complex-objects.d.ts +19 -0
  89. package/dist/flow/utils/built-in-complex-objects.js +62 -0
  90. package/dist/flow/utils/built-in-complex-objects.js.map +1 -0
  91. package/dist/flow/utils/complex-object-resolver.d.ts +8 -0
  92. package/dist/flow/utils/complex-object-resolver.js +614 -0
  93. package/dist/flow/utils/complex-object-resolver.js.map +1 -0
  94. package/dist/flow/utils/complex-objects.d.ts +36 -0
  95. package/dist/flow/utils/complex-objects.js +481 -0
  96. package/dist/flow/utils/complex-objects.js.map +1 -0
  97. package/dist/flow/utils/data-pill-shapes.d.ts +58 -0
  98. package/dist/flow/utils/data-pill-shapes.js +135 -0
  99. package/dist/flow/utils/data-pill-shapes.js.map +1 -0
  100. package/dist/flow/utils/datapill-transformer.d.ts +110 -0
  101. package/dist/flow/utils/datapill-transformer.js +503 -0
  102. package/dist/flow/utils/datapill-transformer.js.map +1 -0
  103. package/dist/flow/utils/flow-constants.d.ts +65 -0
  104. package/dist/flow/utils/flow-constants.js +223 -0
  105. package/dist/flow/utils/flow-constants.js.map +1 -0
  106. package/dist/flow/utils/flow-io-to-record.d.ts +44 -0
  107. package/dist/flow/utils/flow-io-to-record.js +409 -0
  108. package/dist/flow/utils/flow-io-to-record.js.map +1 -0
  109. package/dist/flow/utils/flow-shapes.d.ts +161 -0
  110. package/dist/flow/utils/flow-shapes.js +255 -0
  111. package/dist/flow/utils/flow-shapes.js.map +1 -0
  112. package/dist/flow/utils/flow-to-xml.d.ts +16 -0
  113. package/dist/flow/utils/flow-to-xml.js +237 -0
  114. package/dist/flow/utils/flow-to-xml.js.map +1 -0
  115. package/dist/flow/utils/flow-variable-processor.d.ts +51 -0
  116. package/dist/flow/utils/flow-variable-processor.js +69 -0
  117. package/dist/flow/utils/flow-variable-processor.js.map +1 -0
  118. package/dist/flow/utils/label-cache-parser.d.ts +7 -0
  119. package/dist/flow/utils/label-cache-parser.js +24 -0
  120. package/dist/flow/utils/label-cache-parser.js.map +1 -0
  121. package/dist/flow/utils/label-cache-processor.d.ts +119 -0
  122. package/dist/flow/utils/label-cache-processor.js +719 -0
  123. package/dist/flow/utils/label-cache-processor.js.map +1 -0
  124. package/dist/flow/utils/pill-string-parser.d.ts +88 -0
  125. package/dist/flow/utils/pill-string-parser.js +306 -0
  126. package/dist/flow/utils/pill-string-parser.js.map +1 -0
  127. package/dist/flow/utils/schema-to-flow-object.d.ts +22 -0
  128. package/dist/flow/utils/schema-to-flow-object.js +318 -0
  129. package/dist/flow/utils/schema-to-flow-object.js.map +1 -0
  130. package/dist/flow/utils/utils.d.ts +117 -0
  131. package/dist/flow/utils/utils.js +345 -0
  132. package/dist/flow/utils/utils.js.map +1 -0
  133. package/dist/index.d.ts +20 -1
  134. package/dist/index.js +21 -1
  135. package/dist/index.js.map +1 -1
  136. package/dist/list-plugin.js +1 -1
  137. package/dist/list-plugin.js.map +1 -1
  138. package/dist/now-attach-plugin.d.ts +1 -0
  139. package/dist/now-attach-plugin.js +3 -0
  140. package/dist/now-attach-plugin.js.map +1 -1
  141. package/dist/record-plugin.d.ts +29 -0
  142. package/dist/record-plugin.js +66 -7
  143. package/dist/record-plugin.js.map +1 -1
  144. package/dist/repack/index.d.ts +2 -0
  145. package/dist/repack/index.js +8 -0
  146. package/dist/repack/index.js.map +1 -1
  147. package/dist/rest-api-plugin.js +54 -44
  148. package/dist/rest-api-plugin.js.map +1 -1
  149. package/dist/server-module-plugin/index.js +38 -4
  150. package/dist/server-module-plugin/index.js.map +1 -1
  151. package/dist/service-catalog/catalog-clientscript-plugin.d.ts +2 -0
  152. package/dist/service-catalog/catalog-clientscript-plugin.js +117 -0
  153. package/dist/service-catalog/catalog-clientscript-plugin.js.map +1 -0
  154. package/dist/service-catalog/catalog-item-plugin.d.ts +2 -0
  155. package/dist/service-catalog/catalog-item-plugin.js +115 -0
  156. package/dist/service-catalog/catalog-item-plugin.js.map +1 -0
  157. package/dist/service-catalog/catalog-ui-policy-plugin.d.ts +2 -0
  158. package/dist/service-catalog/catalog-ui-policy-plugin.js +266 -0
  159. package/dist/service-catalog/catalog-ui-policy-plugin.js.map +1 -0
  160. package/dist/service-catalog/index.d.ts +5 -0
  161. package/dist/service-catalog/index.js +22 -0
  162. package/dist/service-catalog/index.js.map +1 -0
  163. package/dist/service-catalog/record-to-shape.d.ts +6 -0
  164. package/dist/service-catalog/record-to-shape.js +93 -0
  165. package/dist/service-catalog/record-to-shape.js.map +1 -0
  166. package/dist/service-catalog/sc-record-producer-plugin.d.ts +2 -0
  167. package/dist/service-catalog/sc-record-producer-plugin.js +139 -0
  168. package/dist/service-catalog/sc-record-producer-plugin.js.map +1 -0
  169. package/dist/service-catalog/service-catalog-base.d.ts +311 -0
  170. package/dist/service-catalog/service-catalog-base.js +542 -0
  171. package/dist/service-catalog/service-catalog-base.js.map +1 -0
  172. package/dist/service-catalog/service-catalog-diagnostics.d.ts +45 -0
  173. package/dist/service-catalog/service-catalog-diagnostics.js +169 -0
  174. package/dist/service-catalog/service-catalog-diagnostics.js.map +1 -0
  175. package/dist/service-catalog/shape-to-record.d.ts +7 -0
  176. package/dist/service-catalog/shape-to-record.js +232 -0
  177. package/dist/service-catalog/shape-to-record.js.map +1 -0
  178. package/dist/service-catalog/utils.d.ts +313 -0
  179. package/dist/service-catalog/utils.js +1144 -0
  180. package/dist/service-catalog/utils.js.map +1 -0
  181. package/dist/service-catalog/variable-helper.d.ts +43 -0
  182. package/dist/service-catalog/variable-helper.js +92 -0
  183. package/dist/service-catalog/variable-helper.js.map +1 -0
  184. package/dist/service-catalog/variable-set-plugin.d.ts +2 -0
  185. package/dist/service-catalog/variable-set-plugin.js +175 -0
  186. package/dist/service-catalog/variable-set-plugin.js.map +1 -0
  187. package/dist/service-catalog/variables-transform.d.ts +139 -0
  188. package/dist/service-catalog/variables-transform.js +403 -0
  189. package/dist/service-catalog/variables-transform.js.map +1 -0
  190. package/dist/sla/sla-validators.d.ts +61 -0
  191. package/dist/sla/sla-validators.js +224 -0
  192. package/dist/sla/sla-validators.js.map +1 -0
  193. package/dist/sla-plugin.d.ts +5 -0
  194. package/dist/sla-plugin.js +280 -0
  195. package/dist/sla-plugin.js.map +1 -0
  196. package/dist/table-plugin.js +16 -2
  197. package/dist/table-plugin.js.map +1 -1
  198. package/dist/ui-policy-plugin.js +5 -7
  199. package/dist/ui-policy-plugin.js.map +1 -1
  200. package/dist/utils.d.ts +10 -1
  201. package/dist/utils.js +16 -0
  202. package/dist/utils.js.map +1 -1
  203. package/dist/ux-list-menu-config-plugin.d.ts +2 -0
  204. package/dist/ux-list-menu-config-plugin.js +292 -0
  205. package/dist/ux-list-menu-config-plugin.js.map +1 -0
  206. package/dist/workspace-plugin/chrome-tab.d.ts +2 -0
  207. package/dist/workspace-plugin/chrome-tab.js +46 -0
  208. package/dist/workspace-plugin/chrome-tab.js.map +1 -0
  209. package/dist/workspace-plugin/constants.d.ts +52 -0
  210. package/dist/workspace-plugin/constants.js +56 -0
  211. package/dist/workspace-plugin/constants.js.map +1 -0
  212. package/dist/workspace-plugin/fluent-utils.d.ts +9 -0
  213. package/dist/workspace-plugin/fluent-utils.js +60 -0
  214. package/dist/workspace-plugin/fluent-utils.js.map +1 -0
  215. package/dist/workspace-plugin/page.d.ts +8 -0
  216. package/dist/workspace-plugin/page.js +108 -0
  217. package/dist/workspace-plugin/page.js.map +1 -0
  218. package/dist/workspace-plugin/screen.d.ts +1 -0
  219. package/dist/workspace-plugin/screen.js +38 -0
  220. package/dist/workspace-plugin/screen.js.map +1 -0
  221. package/dist/workspace-plugin/templates/index.d.ts +10 -0
  222. package/dist/workspace-plugin/templates/index.js +20 -0
  223. package/dist/workspace-plugin/templates/index.js.map +1 -0
  224. package/dist/workspace-plugin/templates/record-page-composition.d.ts +1 -0
  225. package/dist/workspace-plugin/templates/record-page-composition.js +4043 -0
  226. package/dist/workspace-plugin/templates/record-page-composition.js.map +1 -0
  227. package/dist/workspace-plugin/templates/record-page-data.d.ts +1 -0
  228. package/dist/workspace-plugin/templates/record-page-data.js +527 -0
  229. package/dist/workspace-plugin/templates/record-page-data.js.map +1 -0
  230. package/dist/workspace-plugin/templates/record-page-interalEventMappings.d.ts +1 -0
  231. package/dist/workspace-plugin/templates/record-page-interalEventMappings.js +39 -0
  232. package/dist/workspace-plugin/templates/record-page-interalEventMappings.js.map +1 -0
  233. package/dist/workspace-plugin/templates/record-page-layoutModel.d.ts +1 -0
  234. package/dist/workspace-plugin/templates/record-page-layoutModel.js +55 -0
  235. package/dist/workspace-plugin/templates/record-page-layoutModel.js.map +1 -0
  236. package/dist/workspace-plugin/templates/record-page-properties.d.ts +1 -0
  237. package/dist/workspace-plugin/templates/record-page-properties.js +135 -0
  238. package/dist/workspace-plugin/templates/record-page-properties.js.map +1 -0
  239. package/dist/workspace-plugin/templates/record-page.d.ts +3 -0
  240. package/dist/workspace-plugin/templates/record-page.js +8 -0
  241. package/dist/workspace-plugin/templates/record-page.js.map +1 -0
  242. package/dist/workspace-plugin.d.ts +2 -0
  243. package/dist/workspace-plugin.js +453 -0
  244. package/dist/workspace-plugin.js.map +1 -0
  245. package/package.json +10 -12
  246. package/src/acl-plugin.ts +14 -1
  247. package/src/applicability-plugin.ts +82 -0
  248. package/src/atf/test-plugin.ts +6 -3
  249. package/src/basic-syntax-plugin.ts +10 -1
  250. package/src/business-rule-plugin.ts +2 -1
  251. package/src/call-expression-plugin.ts +2 -130
  252. package/src/column-plugin.ts +1 -1
  253. package/src/dashboard/dashboard-component-property-defaults.ts +277 -0
  254. package/src/dashboard/dashboard-component-resolver.ts +69 -0
  255. package/src/dashboard/dashboard-plugin.ts +450 -0
  256. package/src/data-plugin.ts +67 -139
  257. package/src/email-notification-plugin.ts +850 -0
  258. package/src/flow/constants/flow-plugin-constants.ts +79 -0
  259. package/src/flow/flow-logic/flow-logic-constants.ts +120 -0
  260. package/src/flow/flow-logic/flow-logic-diagnostics.ts +591 -0
  261. package/src/flow/flow-logic/flow-logic-plugin-helpers.ts +2550 -0
  262. package/src/flow/flow-logic/flow-logic-plugin.ts +337 -0
  263. package/src/flow/flow-logic/flow-logic-shapes.ts +215 -0
  264. package/src/flow/plugins/approval-rules-plugin.ts +48 -0
  265. package/src/flow/plugins/flow-action-definition-plugin.ts +295 -0
  266. package/src/flow/plugins/flow-data-pill-plugin.ts +258 -0
  267. package/src/flow/plugins/flow-definition-plugin.ts +2173 -0
  268. package/src/flow/plugins/flow-diagnostics-plugin.ts +280 -0
  269. package/src/flow/plugins/flow-instance-plugin.ts +1148 -0
  270. package/src/flow/plugins/flow-trigger-instance-plugin.ts +426 -0
  271. package/src/flow/plugins/inline-script-plugin.ts +83 -0
  272. package/src/flow/plugins/step-definition-plugin.ts +67 -0
  273. package/src/flow/plugins/step-instance-plugin.ts +431 -0
  274. package/src/flow/plugins/trigger-plugin.ts +95 -0
  275. package/src/flow/plugins/wfa-datapill-plugin.ts +213 -0
  276. package/src/flow/utils/approval-rules-processor.ts +298 -0
  277. package/src/flow/utils/built-in-complex-objects.ts +81 -0
  278. package/src/flow/utils/complex-object-resolver.ts +875 -0
  279. package/src/flow/utils/complex-objects.ts +656 -0
  280. package/src/flow/utils/data-pill-shapes.ts +165 -0
  281. package/src/flow/utils/datapill-transformer.ts +632 -0
  282. package/src/flow/utils/flow-constants.ts +276 -0
  283. package/src/flow/utils/flow-io-to-record.ts +533 -0
  284. package/src/flow/utils/flow-shapes.ts +296 -0
  285. package/src/flow/utils/flow-to-xml.ts +318 -0
  286. package/src/flow/utils/flow-variable-processor.ts +100 -0
  287. package/src/flow/utils/label-cache-parser.ts +37 -0
  288. package/src/flow/utils/label-cache-processor.ts +870 -0
  289. package/src/flow/utils/pill-string-parser.ts +375 -0
  290. package/src/flow/utils/schema-to-flow-object.ts +385 -0
  291. package/src/flow/utils/utils.ts +395 -0
  292. package/src/index.ts +21 -1
  293. package/src/list-plugin.ts +1 -1
  294. package/src/now-attach-plugin.ts +4 -0
  295. package/src/record-plugin.ts +76 -11
  296. package/src/repack/index.ts +14 -0
  297. package/src/rest-api-plugin.ts +62 -50
  298. package/src/server-module-plugin/index.ts +53 -17
  299. package/src/service-catalog/catalog-clientscript-plugin.ts +140 -0
  300. package/src/service-catalog/catalog-item-plugin.ts +162 -0
  301. package/src/service-catalog/catalog-ui-policy-plugin.ts +324 -0
  302. package/src/service-catalog/index.ts +5 -0
  303. package/src/service-catalog/record-to-shape.ts +109 -0
  304. package/src/service-catalog/sc-record-producer-plugin.ts +201 -0
  305. package/src/service-catalog/service-catalog-base.ts +600 -0
  306. package/src/service-catalog/service-catalog-diagnostics.ts +251 -0
  307. package/src/service-catalog/shape-to-record.ts +275 -0
  308. package/src/service-catalog/utils.ts +1362 -0
  309. package/src/service-catalog/variable-helper.ts +135 -0
  310. package/src/service-catalog/variable-set-plugin.ts +197 -0
  311. package/src/service-catalog/variables-transform.ts +438 -0
  312. package/src/sla/sla-validators.ts +331 -0
  313. package/src/sla-plugin.ts +358 -0
  314. package/src/table-plugin.ts +19 -2
  315. package/src/ui-policy-plugin.ts +5 -9
  316. package/src/utils.ts +24 -1
  317. package/src/ux-list-menu-config-plugin.ts +312 -0
  318. package/src/workspace-plugin/chrome-tab.ts +44 -0
  319. package/src/workspace-plugin/constants.ts +53 -0
  320. package/src/workspace-plugin/fluent-utils.ts +60 -0
  321. package/src/workspace-plugin/page.ts +139 -0
  322. package/src/workspace-plugin/screen.ts +34 -0
  323. package/src/workspace-plugin/templates/index.ts +17 -0
  324. package/src/workspace-plugin/templates/record-page-composition.ts +4051 -0
  325. package/src/workspace-plugin/templates/record-page-data.ts +523 -0
  326. package/src/workspace-plugin/templates/record-page-interalEventMappings.ts +35 -0
  327. package/src/workspace-plugin/templates/record-page-layoutModel.ts +51 -0
  328. package/src/workspace-plugin/templates/record-page-properties.ts +131 -0
  329. package/src/workspace-plugin/templates/record-page.ts +6 -0
  330. package/src/workspace-plugin.ts +574 -0
@@ -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,139 @@
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
+ diagnostics,
123
+ });
124
+ const recordProducerTable = arg.get('table').getValue();
125
+ variableRecords = variableRecords.map((variableRecord) => {
126
+ return variableRecord.merge({
127
+ record_producer_table: recordProducerTable,
128
+ });
129
+ });
130
+ }
131
+ return {
132
+ success: true,
133
+ value: recordProducer.with(...m2mRecords.catalogsRecords, ...m2mRecords.categoriesRecords, ...m2mRecords.variableSetRecords, ...m2mRecords.availableForRecords, ...m2mRecords.notAvailableForRecords, ...m2mRecords.assignedTopicsRecords, ...variableRecords),
134
+ };
135
+ },
136
+ },
137
+ ],
138
+ });
139
+ //# 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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"}
@@ -0,0 +1,311 @@
1
+ import { Shape } from '@servicenow/sdk-build-core';
2
+ import type { Record, Database, Logger, ObjectShape, Factory, ShapeTransform } from '@servicenow/sdk-build-core';
3
+ /**
4
+ * Shared relationship definitions for both CatalogItem and CatalogItemRecordProducer
5
+ * These relationships are identical since CatalogItemRecordProducer extends CatalogItem
6
+ */
7
+ export declare const CatalogItemBaseRelationships: {
8
+ readonly sc_cat_item_user_criteria_mtom: {
9
+ readonly via: "sc_cat_item";
10
+ readonly descendant: true;
11
+ readonly relationships: {
12
+ readonly user_criteria: {
13
+ readonly via: "user_criteria";
14
+ readonly inverse: true;
15
+ };
16
+ };
17
+ };
18
+ readonly sc_cat_item_user_criteria_no_mtom: {
19
+ readonly via: "sc_cat_item";
20
+ readonly descendant: true;
21
+ readonly relationships: {
22
+ readonly user_criteria: {
23
+ readonly via: "user_criteria";
24
+ readonly inverse: true;
25
+ };
26
+ };
27
+ };
28
+ readonly io_set_item: {
29
+ readonly via: "sc_cat_item";
30
+ readonly descendant: true;
31
+ readonly relationships: {
32
+ readonly item_option_new_set: {
33
+ readonly via: "variable_set";
34
+ readonly inverse: true;
35
+ };
36
+ };
37
+ };
38
+ readonly sc_cat_item_catalog: {
39
+ readonly via: "sc_cat_item";
40
+ readonly descendant: true;
41
+ readonly relationships: {
42
+ readonly sc_catalog: {
43
+ readonly via: "sc_catalog";
44
+ readonly inverse: true;
45
+ };
46
+ };
47
+ };
48
+ readonly sc_cat_item_category: {
49
+ readonly via: "sc_cat_item";
50
+ readonly descendant: true;
51
+ readonly relationships: {
52
+ readonly sc_category: {
53
+ readonly via: "sc_category";
54
+ readonly inverse: true;
55
+ };
56
+ };
57
+ };
58
+ readonly m2m_connected_content: {
59
+ readonly via: "catalog_item";
60
+ readonly descendant: true;
61
+ readonly relationships: {
62
+ readonly topic: {
63
+ readonly via: "topic";
64
+ readonly inverse: true;
65
+ };
66
+ };
67
+ };
68
+ readonly fx_price: {
69
+ readonly via: "id";
70
+ readonly descendant: true;
71
+ };
72
+ readonly item_option_new: {
73
+ readonly via: "cat_item";
74
+ readonly descendant: true;
75
+ readonly relationships: {
76
+ readonly question_choice: {
77
+ readonly via: "question";
78
+ readonly descendant: true;
79
+ readonly relationships: {
80
+ readonly fx_price: {
81
+ readonly via: "id";
82
+ readonly descendant: true;
83
+ };
84
+ };
85
+ };
86
+ readonly fx_price: {
87
+ readonly via: "id";
88
+ readonly descendant: true;
89
+ };
90
+ };
91
+ };
92
+ };
93
+ /**
94
+ * Shared coalesce definitions for both CatalogItem and CatalogItemRecordProducer
95
+ * These define unique key combinations for M2M and related records
96
+ */
97
+ export declare const CatalogItemBaseCoalesce: {
98
+ sc_cat_item_user_criteria_mtom: {
99
+ coalesce: [string, string];
100
+ };
101
+ sc_cat_item_user_criteria_no_mtom: {
102
+ coalesce: [string, string];
103
+ };
104
+ io_set_item: {
105
+ coalesce: [string, string];
106
+ };
107
+ sc_cat_item_catalog: {
108
+ coalesce: [string, string];
109
+ };
110
+ sc_cat_item_category: {
111
+ coalesce: [string, string];
112
+ };
113
+ m2m_connected_content: {
114
+ coalesce: [string, string];
115
+ };
116
+ fx_price: {
117
+ coalesce: [string, string];
118
+ };
119
+ item_option_new: {
120
+ coalesce: [string, string, string];
121
+ };
122
+ question_choice: {
123
+ coalesce: [string, string];
124
+ };
125
+ };
126
+ /**
127
+ * Builds variables schema from item_option_new descendants
128
+ * Shared logic for both CatalogItem and CatalogItemRecordProducer
129
+ * Variables are sorted by order field (defaulting to 0 if empty) and empty names are skipped
130
+ */
131
+ export declare function buildVariablesSchema(descendants: Database, logger: Logger): globalThis.Record<string, unknown>;
132
+ /**
133
+ * Common field data extraction - fields with HIGH usage in BOTH CatalogItem AND CatalogItemRecordProducer
134
+ * These fields appear on both forms and are frequently used
135
+ */
136
+ export declare function buildCommonCatalogFields(descendants: Database): {
137
+ categories: Shape<unknown>[];
138
+ availableFor: Shape<unknown>[];
139
+ notAvailableFor: Shape<unknown>[];
140
+ variableSets: {
141
+ variableSet: Shape<unknown>;
142
+ order: number;
143
+ }[];
144
+ assignedTopics: Shape<unknown>[];
145
+ };
146
+ /**
147
+ * Transforms common catalog fields from record to shape (record → fluent)
148
+ * These fields have HIGH usage in both CatalogItem and CatalogItemRecordProducer forms
149
+ */
150
+ export declare function transformCatalogBaseFieldsToShape(record: Record, $: ShapeTransform, descendants: Database): {
151
+ $id: ShapeTransform;
152
+ name: ShapeTransform;
153
+ active: ShapeTransform;
154
+ accessType: ShapeTransform;
155
+ assignedTopics: ShapeTransform;
156
+ availability: ShapeTransform;
157
+ availableFor: ShapeTransform;
158
+ catalogs: ShapeTransform;
159
+ categories: ShapeTransform;
160
+ checkedOut: ShapeTransform;
161
+ description: ShapeTransform;
162
+ hideAttachment: ShapeTransform;
163
+ hideSaveAsDraft: ShapeTransform;
164
+ icon: ShapeTransform;
165
+ mandatoryAttachment: ShapeTransform;
166
+ meta: ShapeTransform;
167
+ mobilePicture: ShapeTransform;
168
+ notAvailableFor: ShapeTransform;
169
+ order: ShapeTransform;
170
+ owner: ShapeTransform;
171
+ picture: ShapeTransform;
172
+ roles: ShapeTransform;
173
+ shortDescription: ShapeTransform;
174
+ showVariableHelpOnLoad: ShapeTransform;
175
+ startClosed: ShapeTransform;
176
+ state: ShapeTransform;
177
+ type: ShapeTransform;
178
+ useScLayout: ShapeTransform;
179
+ variableSets: ShapeTransform;
180
+ version: ShapeTransform;
181
+ view: ShapeTransform;
182
+ visibleBundle: ShapeTransform;
183
+ visibleGuide: ShapeTransform;
184
+ visibleStandalone: ShapeTransform;
185
+ };
186
+ /**
187
+ * Transforms common catalog fields from shape to record (fluent → platform)
188
+ * These fields have HIGH usage in both CatalogItem and CatalogItemRecordProducer forms
189
+ */
190
+ export declare function transformCatalogItemBaseFieldsToRecord($: ShapeTransform): {
191
+ name: ShapeTransform;
192
+ active: ShapeTransform;
193
+ access_type: ShapeTransform;
194
+ availability: ShapeTransform;
195
+ category: ShapeTransform;
196
+ checked_out: ShapeTransform;
197
+ description: ShapeTransform;
198
+ icon: ShapeTransform;
199
+ mandatory_attachment: ShapeTransform;
200
+ meta: ShapeTransform;
201
+ mobile_picture: ShapeTransform;
202
+ no_attachment_v2: ShapeTransform;
203
+ no_save_as_draft: ShapeTransform;
204
+ order: ShapeTransform;
205
+ owner: ShapeTransform;
206
+ picture: ShapeTransform;
207
+ roles: ShapeTransform;
208
+ sc_catalogs: ShapeTransform;
209
+ short_description: ShapeTransform;
210
+ show_variable_help_on_load: ShapeTransform;
211
+ state: ShapeTransform;
212
+ start_closed: ShapeTransform;
213
+ taxonomy_topic: ShapeTransform;
214
+ type: ShapeTransform;
215
+ use_sc_layout: ShapeTransform;
216
+ version: ShapeTransform;
217
+ view: ShapeTransform;
218
+ visible_bundle: ShapeTransform;
219
+ visible_guide: ShapeTransform;
220
+ visible_standalone: ShapeTransform;
221
+ };
222
+ /**
223
+ * CatalogItem-ONLY field transformations (LOW/RARE usage in CatalogItemRecordProducer)
224
+ * These fields are not commonly shown on CatalogItemRecordProducer forms
225
+ */
226
+ export declare function transformCatalogItemSpecificFieldsToShape(record: Record, $: ShapeTransform, descendants: Database): {
227
+ billable: ShapeTransform;
228
+ cost: ShapeTransform;
229
+ ignorePrice: ShapeTransform;
230
+ omitPrice: ShapeTransform;
231
+ pricingDetails: ShapeTransform;
232
+ mobileHidePrice: ShapeTransform;
233
+ executionPlan: ShapeTransform;
234
+ flow: ShapeTransform;
235
+ fulfillmentAutomationLevel: ShapeTransform;
236
+ fulfillmentGroup: ShapeTransform;
237
+ workflow: ShapeTransform;
238
+ deliveryTime: ShapeTransform;
239
+ displayPriceProperty: ShapeTransform;
240
+ requestMethod: ShapeTransform;
241
+ hideAddToCart: ShapeTransform;
242
+ hideQuantitySelector: ShapeTransform;
243
+ hideDeliveryTime: ShapeTransform;
244
+ customCart: ShapeTransform;
245
+ recurringFrequency: ShapeTransform;
246
+ noCart: ShapeTransform;
247
+ noOrder: ShapeTransform;
248
+ noOrderNow: ShapeTransform;
249
+ noProceedCheckout: ShapeTransform;
250
+ noQuantity: ShapeTransform;
251
+ noSearch: ShapeTransform;
252
+ hideAddToWishList: ShapeTransform;
253
+ hideSP: ShapeTransform;
254
+ image: ShapeTransform;
255
+ makeItemNonConversational: ShapeTransform;
256
+ mobilePictureType: ShapeTransform;
257
+ model: ShapeTransform;
258
+ vendor: ShapeTransform;
259
+ location: ShapeTransform;
260
+ };
261
+ /**
262
+ * CatalogItem-ONLY field transformations for toRecord (fluent → platform)
263
+ */
264
+ export declare function transformCatalogItemSpecificFieldsToRecord(arg: ObjectShape, $: ShapeTransform): {
265
+ billable: ShapeTransform;
266
+ cost: ShapeTransform;
267
+ ignore_price: ShapeTransform;
268
+ omit_price: ShapeTransform;
269
+ mobile_hide_price: ShapeTransform;
270
+ delivery_plan: ShapeTransform;
271
+ flow_designer_flow: ShapeTransform;
272
+ fulfillment_automation_level: ShapeTransform;
273
+ group: ShapeTransform;
274
+ workflow: ShapeTransform;
275
+ delivery_time: ShapeTransform;
276
+ delivery_plan_script: ShapeTransform;
277
+ display_price_property: ShapeTransform;
278
+ entitlement_script: ShapeTransform;
279
+ request_method: ShapeTransform;
280
+ no_cart_v2: ShapeTransform;
281
+ no_quantity_v2: ShapeTransform;
282
+ no_delivery_time_v2: ShapeTransform;
283
+ custom_cart: ShapeTransform;
284
+ recurring_frequency: ShapeTransform;
285
+ no_cart: ShapeTransform;
286
+ no_order: ShapeTransform;
287
+ no_order_now: ShapeTransform;
288
+ no_proceed_checkout: ShapeTransform;
289
+ no_quantity: ShapeTransform;
290
+ no_search: ShapeTransform;
291
+ no_wishlist_v2: ShapeTransform;
292
+ hide_sp: ShapeTransform;
293
+ image: ShapeTransform;
294
+ make_item_non_conversational: ShapeTransform;
295
+ mobile_picture_type: ShapeTransform;
296
+ model: ShapeTransform;
297
+ vendor: ShapeTransform;
298
+ location: ShapeTransform;
299
+ };
300
+ /**
301
+ * Creates M2M records for catalogs, categories, variable sets, etc.
302
+ * This logic is shared between CatalogItem and CatalogItemRecordProducer
303
+ */
304
+ export declare function createSharedM2MRecords(callExpression: Shape, arg: ObjectShape, parentRecord: Record, factory: Factory): Promise<{
305
+ catalogsRecords: Record[];
306
+ categoriesRecords: Record[];
307
+ variableSetRecords: Record[];
308
+ availableForRecords: Record[];
309
+ notAvailableForRecords: Record[];
310
+ assignedTopicsRecords: Record[];
311
+ }>;