@pitcher/js-api 1.26.1 → 1.27.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 (761) hide show
  1. package/js-api.esm.d.ts +1 -2
  2. package/js-api.esm.js +142 -0
  3. package/js-api.esm.js.map +1 -1
  4. package/js-api.umd.min.js +17 -10
  5. package/js-api.umd.min.js.map +1 -1
  6. package/package.json +1 -1
  7. package/{lib → src/lib}/apps/browser/appTypes.d.ts +2 -1
  8. package/{lib → src/lib}/apps/browser/stores/api.d.ts +22 -2
  9. package/{lib → src/lib}/apps/browser/stores/app.d.ts +6 -1
  10. package/src/lib/apps/browser/util/sortOrder.d.ts +36 -0
  11. package/{lib → src/lib}/apps/canvas-builder/components/ui/DataCharts/types.d.ts +7 -1
  12. package/{lib → src/lib}/apps/canvas-builder/components/ui/DynamicContent/useDynamicContent.d.ts +11 -1
  13. package/src/lib/apps/canvas-builder/composables/lazySections.d.ts +53 -0
  14. package/{lib → src/lib}/apps/canvas-builder/composables/useCanvas.d.ts +108 -14
  15. package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasBlocks.d.ts +4 -0
  16. package/src/lib/apps/canvas-builder/composables/useHtmlUserPropertyFields.d.ts +4 -0
  17. package/{lib → src/lib}/apps/canvas-builder/types/canvas.d.ts +77 -2
  18. package/{lib → src/lib}/apps/canvas-selector/stores/app.d.ts +14 -0
  19. package/{lib → src/lib}/apps/collection-player/stores/app.store.d.ts +1 -0
  20. package/{lib → src/lib}/components/savedCanvases/CSavedCanvasesManagement.use.d.ts +2 -0
  21. package/{lib → src/lib}/components/savedCanvases/smartFolders/SmartFolders.use.d.ts +8 -0
  22. package/src/lib/composables/useCanvasRendererExcludedTags.d.ts +15 -0
  23. package/{lib → src/lib}/composables/useThemeVars.d.ts +2 -0
  24. package/{lib → src/lib}/constants/cdp.const.d.ts +1 -0
  25. package/{lib → src/lib}/main.lib.d.ts +5 -1
  26. package/{lib → src/lib}/sdk/api/HighLevelApi.d.ts +17 -0
  27. package/src/lib/sdk/api/modules/ai.d.ts +52 -0
  28. package/{lib → src/lib}/sdk/api/modules/canvas.d.ts +42 -1
  29. package/{lib → src/lib}/sdk/api/modules/index.d.ts +1 -0
  30. package/{lib → src/lib}/sdk/interfaces.d.ts +13 -1
  31. package/{lib → src/lib}/sdk/main.d.ts +39 -0
  32. package/{lib → src/lib}/sdk/payload.types.d.ts +121 -0
  33. package/{lib → src/lib}/theme/light.d.ts +2 -0
  34. package/{lib → src/lib}/theme/theme.types.d.ts +1 -0
  35. package/src/lib/types/ai-tasks.const.d.ts +80 -0
  36. package/{lib → src/lib}/types/instanceSettings.types.d.ts +2 -0
  37. package/src/lib/types/launchDarkly.types.d.ts +69 -0
  38. package/{lib → src/lib}/types/organizationSettings.types.d.ts +18 -0
  39. package/{lib → src/lib}/util/fullscreen.util.d.ts +12 -1
  40. package/{lib → src/lib}/util/handlebars.d.ts +19 -0
  41. package/src/lib/util/network.d.ts +42 -0
  42. package/src/lib/util/sfdc.util.spec.d.ts +1 -0
  43. package/src/lib/util/smart-store.util.spec.d.ts +1 -0
  44. package/src/lib/util/soql.util.spec.d.ts +1 -0
  45. package/src/lib/util/string.d.ts +18 -0
  46. package/src/lib/util/timer.spec.d.ts +1 -0
  47. package/src/lib/util/translations.spec.d.ts +1 -0
  48. package/src/lib/util/tree-transformation.util.spec.d.ts +1 -0
  49. package/{types → src/types}/openapi/index.d.ts +1 -0
  50. package/{types → src/types}/openapi/models/Canvas.d.ts +2 -2
  51. package/{types → src/types}/openapi/models/CanvasCreate.d.ts +2 -2
  52. package/{types → src/types}/openapi/models/CanvasRetrieve.d.ts +10 -2
  53. package/{types → src/types}/openapi/models/CanvasUpdate.d.ts +2 -2
  54. package/{types → src/types}/openapi/models/DeletedCanvas.d.ts +2 -2
  55. package/{types → src/types}/openapi/models/FolderFolder.d.ts +4 -0
  56. package/{types → src/types}/openapi/models/FolderRetrieve.d.ts +1 -0
  57. package/{types → src/types}/openapi/models/MetadataTemplateFieldTypeEnum.d.ts +3 -1
  58. package/src/types/openapi/models/MiniCanvasWithTags.d.ts +5 -0
  59. package/lib/types/launchDarkly.types.d.ts +0 -53
  60. package/lib/util/network.d.ts +0 -21
  61. package/lib/util/string.d.ts +0 -5
  62. /package/{lib → src/lib}/api/apps/apps.queries.d.ts +0 -0
  63. /package/{lib → src/lib}/api/canvases/canvases.queries.d.ts +0 -0
  64. /package/{lib → src/lib}/api/events/events.helpers.d.ts +0 -0
  65. /package/{lib → src/lib}/api/users/users.queries.d.ts +0 -0
  66. /package/{lib → src/lib}/apps/agenda-selector/composables/application-block-selector-modal.use.d.ts +0 -0
  67. /package/{lib → src/lib}/apps/agenda-selector/composables/content-warning.use.d.ts +0 -0
  68. /package/{lib → src/lib}/apps/agenda-selector/composables/move-item-modal.use.d.ts +0 -0
  69. /package/{lib → src/lib}/apps/agenda-selector/composables/table-input.use.d.ts +0 -0
  70. /package/{lib → src/lib}/apps/agenda-selector/constants.d.ts +0 -0
  71. /package/{lib → src/lib}/apps/agenda-selector/export.d.ts +0 -0
  72. /package/{lib → src/lib}/apps/agenda-selector/stores/app.store.d.ts +0 -0
  73. /package/{lib → src/lib}/apps/agenda-selector/types/agenda.type.d.ts +0 -0
  74. /package/{lib → src/lib}/apps/agenda-selector/types/common.type.d.ts +0 -0
  75. /package/{lib → src/lib}/apps/agenda-selector/types/move-item-modal.type.d.ts +0 -0
  76. /package/{lib → src/lib}/apps/agenda-selector/utils/data.util.d.ts +0 -0
  77. /package/{lib → src/lib}/apps/agenda-selector/utils/theme-overrides.util.d.ts +0 -0
  78. /package/{lib → src/lib}/apps/browser/components/UploadFilesModal/UploadFilesModalInput.test.d.ts +0 -0
  79. /package/{lib → src/lib}/apps/browser/composables/useAppEmit.d.ts +0 -0
  80. /package/{lib → src/lib}/apps/browser/stores/api.test.d.ts +0 -0
  81. /package/{lib → src/lib}/apps/browser/stores/app.test.d.ts +0 -0
  82. /package/{lib → src/lib}/apps/browser/stores/fileSmartFolderStore.d.ts +0 -0
  83. /package/{lib → src/lib}/apps/browser/stores/repUploadsStore.d.ts +0 -0
  84. /package/{lib → src/lib}/apps/browser/stores/upload.d.ts +0 -0
  85. /package/{lib → src/lib}/apps/browser/stores/upload.test.d.ts +0 -0
  86. /package/{lib → src/lib}/apps/browser/stores/upload.types.d.ts +0 -0
  87. /package/{lib → src/lib}/apps/browser/types/actionKeys.d.ts +0 -0
  88. /package/{lib → src/lib}/apps/browser/util/file.d.ts +0 -0
  89. /package/{lib/apps/canvas-builder/components/ui/DynamicContent/useDynamicContent.spec.d.ts → src/lib/apps/browser/util/sortOrder.test.d.ts} +0 -0
  90. /package/{lib → src/lib}/apps/canvas-builder/App.helpers.d.ts +0 -0
  91. /package/{lib → src/lib}/apps/canvas-builder/components/container/CanvasContent/canvas-component-map.const.d.ts +0 -0
  92. /package/{lib → src/lib}/apps/canvas-builder/components/ui/Block/Block.helpers.d.ts +0 -0
  93. /package/{lib → src/lib}/apps/canvas-builder/components/ui/Block/Block.types.d.ts +0 -0
  94. /package/{lib → src/lib}/apps/canvas-builder/components/ui/ContentList/content.store.d.ts +0 -0
  95. /package/{lib → src/lib}/apps/canvas-builder/components/ui/ContentList/contentList.helpers.d.ts +0 -0
  96. /package/{lib → src/lib}/apps/canvas-builder/components/ui/CustomDataTable/CustomDataTable.utils.d.ts +0 -0
  97. /package/{lib/apps/canvas-builder/components/ui/SectionList/SectionSelector.helpers.test.d.ts → src/lib/apps/canvas-builder/components/ui/DataCharts/types.spec.d.ts} +0 -0
  98. /package/{lib → src/lib}/apps/canvas-builder/components/ui/DynamicContent/dynamicContent.const.d.ts +0 -0
  99. /package/{lib → src/lib}/apps/canvas-builder/components/ui/DynamicContent/section-component-map.const.d.ts +0 -0
  100. /package/{lib/apps/canvas-builder/composables/canvasUpdateStrategy.spec.d.ts → src/lib/apps/canvas-builder/components/ui/DynamicContent/useDynamicContent.spec.d.ts} +0 -0
  101. /package/{lib → src/lib}/apps/canvas-builder/components/ui/DynamicDataTable/DynamicDataTable.utils.d.ts +0 -0
  102. /package/{lib → src/lib}/apps/canvas-builder/components/ui/Link/Link.util.d.ts +0 -0
  103. /package/{lib → src/lib}/apps/canvas-builder/components/ui/Scribble/scribble.helpers.d.ts +0 -0
  104. /package/{lib → src/lib}/apps/canvas-builder/components/ui/SectionList/SectionSelector.helpers.d.ts +0 -0
  105. /package/{lib/apps/canvas-builder/composables/useCanvasPages.spec.d.ts → src/lib/apps/canvas-builder/components/ui/SectionList/SectionSelector.helpers.test.d.ts} +0 -0
  106. /package/{lib → src/lib}/apps/canvas-builder/composables/canvasUpdateStrategy.d.ts +0 -0
  107. /package/{lib/apps/canvas-builder/composables/useCrmShapeWithSectionContext.spec.d.ts → src/lib/apps/canvas-builder/composables/canvasUpdateStrategy.spec.d.ts} +0 -0
  108. /package/{lib/apps/canvas-builder/util/canvas.util.test.d.ts → src/lib/apps/canvas-builder/composables/lazySections.spec.d.ts} +0 -0
  109. /package/{lib → src/lib}/apps/canvas-builder/composables/useAiPrompt.d.ts +0 -0
  110. /package/{lib → src/lib}/apps/canvas-builder/composables/useAnnotation.d.ts +0 -0
  111. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasCompletionWizard.d.ts +0 -0
  112. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasDnd.d.ts +0 -0
  113. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasExit.d.ts +0 -0
  114. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasHistory.d.ts +0 -0
  115. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasHooks.d.ts +0 -0
  116. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasNodes.d.ts +0 -0
  117. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasPages.d.ts +0 -0
  118. /package/{lib/apps/canvas-builder/util/tree.test.d.ts → src/lib/apps/canvas-builder/composables/useCanvasPages.spec.d.ts} +0 -0
  119. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasSectionOverrides.d.ts +0 -0
  120. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasTheme.d.ts +0 -0
  121. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasThemeAssets.d.ts +0 -0
  122. /package/{lib → src/lib}/apps/canvas-builder/composables/useCanvasVisibility.d.ts +0 -0
  123. /package/{lib → src/lib}/apps/canvas-builder/composables/useCollapsibles.d.ts +0 -0
  124. /package/{lib → src/lib}/apps/canvas-builder/composables/useCollectionSelector.d.ts +0 -0
  125. /package/{lib → src/lib}/apps/canvas-builder/composables/useComponentPermissions.d.ts +0 -0
  126. /package/{lib → src/lib}/apps/canvas-builder/composables/useComponentStyle.d.ts +0 -0
  127. /package/{lib → src/lib}/apps/canvas-builder/composables/useContentSelector.d.ts +0 -0
  128. /package/{lib → src/lib}/apps/canvas-builder/composables/useControlBarCollapse.d.ts +0 -0
  129. /package/{lib → src/lib}/apps/canvas-builder/composables/useCrmShape.d.ts +0 -0
  130. /package/{lib → src/lib}/apps/canvas-builder/composables/useCrmShapeWithSectionContext.d.ts +0 -0
  131. /package/{lib/apps/canvas-builder/util/url.test.d.ts → src/lib/apps/canvas-builder/composables/useCrmShapeWithSectionContext.spec.d.ts} +0 -0
  132. /package/{lib → src/lib}/apps/canvas-builder/composables/useDataTablePrint.d.ts +0 -0
  133. /package/{lib → src/lib}/apps/canvas-builder/composables/useEmbeddable.d.ts +0 -0
  134. /package/{lib → src/lib}/apps/canvas-builder/composables/useFetchMostPopularFiles.d.ts +0 -0
  135. /package/{lib → src/lib}/apps/canvas-builder/composables/useInstalledEmbeddables.d.ts +0 -0
  136. /package/{lib → src/lib}/apps/canvas-builder/composables/useNavigatorDrawer.d.ts +0 -0
  137. /package/{lib → src/lib}/apps/canvas-builder/composables/usePitcherEvents.d.ts +0 -0
  138. /package/{lib → src/lib}/apps/canvas-builder/composables/usePopularity.d.ts +0 -0
  139. /package/{lib → src/lib}/apps/canvas-builder/composables/usePopupApps.d.ts +0 -0
  140. /package/{lib → src/lib}/apps/canvas-builder/composables/usePrintMode.d.ts +0 -0
  141. /package/{lib → src/lib}/apps/canvas-builder/composables/useRecommendations.d.ts +0 -0
  142. /package/{lib → src/lib}/apps/canvas-builder/composables/useReorderComponent.d.ts +0 -0
  143. /package/{lib → src/lib}/apps/canvas-builder/composables/useScribbleChild.d.ts +0 -0
  144. /package/{lib → src/lib}/apps/canvas-builder/composables/useScribbleToolbar.d.ts +0 -0
  145. /package/{lib → src/lib}/apps/canvas-builder/composables/useSectionNavigation.d.ts +0 -0
  146. /package/{lib → src/lib}/apps/canvas-builder/composables/useSectionPopularity.d.ts +0 -0
  147. /package/{lib → src/lib}/apps/canvas-builder/composables/useTemporaryContext.d.ts +0 -0
  148. /package/{lib → src/lib}/apps/canvas-builder/constants/canvas.const.d.ts +0 -0
  149. /package/{lib → src/lib}/apps/canvas-builder/constants/defaults.const.d.ts +0 -0
  150. /package/{lib → src/lib}/apps/canvas-builder/constants/index.d.ts +0 -0
  151. /package/{lib → src/lib}/apps/canvas-builder/constants/sizes.d.ts +0 -0
  152. /package/{lib → src/lib}/apps/canvas-builder/constants/theme.const.d.ts +0 -0
  153. /package/{lib/apps/ppt-conversion-selector/utils/data.util.test.d.ts → src/lib/apps/canvas-builder/courseMode.spec.d.ts} +0 -0
  154. /package/{lib → src/lib}/apps/canvas-builder/types/font-awesome.types.d.ts +0 -0
  155. /package/{lib → src/lib}/apps/canvas-builder/types/recommendations.types.d.ts +0 -0
  156. /package/{lib → src/lib}/apps/canvas-builder/util/canvas.util.d.ts +0 -0
  157. /package/{lib/components/CBatchMoveItemsModal/__tests__/copy-mode.test.d.ts → src/lib/apps/canvas-builder/util/canvas.util.test.d.ts} +0 -0
  158. /package/{lib → src/lib}/apps/canvas-builder/util/clone.d.ts +0 -0
  159. /package/{lib → src/lib}/apps/canvas-builder/util/fetchAnalyticsPopularity.d.ts +0 -0
  160. /package/{lib → src/lib}/apps/canvas-builder/util/file.util.d.ts +0 -0
  161. /package/{lib → src/lib}/apps/canvas-builder/util/iframe.util.d.ts +0 -0
  162. /package/{lib → src/lib}/apps/canvas-builder/util/print.util.d.ts +0 -0
  163. /package/{lib → src/lib}/apps/canvas-builder/util/tiptap-table.util.d.ts +0 -0
  164. /package/{lib → src/lib}/apps/canvas-builder/util/tree.d.ts +0 -0
  165. /package/{lib/components/CFolderTreeMultiPicker/__tests__/CFolderTreeMultiPicker.test.d.ts → src/lib/apps/canvas-builder/util/tree.test.d.ts} +0 -0
  166. /package/{lib → src/lib}/apps/canvas-builder/util/url.d.ts +0 -0
  167. /package/{lib/components/CMultiSelect/CMultiSelect.test.d.ts → src/lib/apps/canvas-builder/util/url.test.d.ts} +0 -0
  168. /package/{lib → src/lib}/apps/canvas-selector/appTypes.d.ts +0 -0
  169. /package/{lib → src/lib}/apps/canvas-selector/constants/index.d.ts +0 -0
  170. /package/{lib → src/lib}/apps/collection-player/composables/annotation-layer.use.d.ts +0 -0
  171. /package/{lib → src/lib}/apps/collection-player/composables/focus-trap.use.d.ts +0 -0
  172. /package/{lib → src/lib}/apps/collection-player/composables/fullscreen.use.d.ts +0 -0
  173. /package/{lib → src/lib}/apps/collection-player/composables/image-cache.use.d.ts +0 -0
  174. /package/{lib → src/lib}/apps/collection-player/composables/keyboard-bindings.use.d.ts +0 -0
  175. /package/{lib → src/lib}/apps/collection-player/composables/laser-pointer-marker.use.d.ts +0 -0
  176. /package/{lib → src/lib}/apps/collection-player/composables/markerjs.use.d.ts +0 -0
  177. /package/{lib → src/lib}/apps/collection-player/composables/moving-group-gestures.use.d.ts +0 -0
  178. /package/{lib → src/lib}/apps/collection-player/composables/navigation-cache.use.d.ts +0 -0
  179. /package/{lib → src/lib}/apps/collection-player/composables/new-zoom.use.d.ts +0 -0
  180. /package/{lib → src/lib}/apps/collection-player/composables/slide-direction.use.d.ts +0 -0
  181. /package/{lib → src/lib}/apps/collection-player/composables/tracking.use.d.ts +0 -0
  182. /package/{lib → src/lib}/apps/collection-player/composables/zoom.use.d.ts +0 -0
  183. /package/{lib → src/lib}/apps/collection-player/export.d.ts +0 -0
  184. /package/{lib → src/lib}/apps/collection-player/types/collection-player.type.d.ts +0 -0
  185. /package/{lib → src/lib}/apps/collection-player/utils/node.util.d.ts +0 -0
  186. /package/{lib → src/lib}/apps/collection-player/utils/slide-type.util.d.ts +0 -0
  187. /package/{lib → src/lib}/apps/collection-selector/composables/content-warning.use.d.ts +0 -0
  188. /package/{lib → src/lib}/apps/collection-selector/composables/move-slide-modal.use.d.ts +0 -0
  189. /package/{lib → src/lib}/apps/collection-selector/composables/table-input.use.d.ts +0 -0
  190. /package/{lib → src/lib}/apps/collection-selector/constants.d.ts +0 -0
  191. /package/{lib → src/lib}/apps/collection-selector/export.d.ts +0 -0
  192. /package/{lib → src/lib}/apps/collection-selector/stores/app.store.d.ts +0 -0
  193. /package/{lib → src/lib}/apps/collection-selector/types/collection-selector.type.d.ts +0 -0
  194. /package/{lib → src/lib}/apps/collection-selector/types/common.type.d.ts +0 -0
  195. /package/{lib → src/lib}/apps/collection-selector/types/move-slide-modal.type.d.ts +0 -0
  196. /package/{lib → src/lib}/apps/collection-selector/utils/content-selector-adapter.util.d.ts +0 -0
  197. /package/{lib → src/lib}/apps/collection-selector/utils/data.util.d.ts +0 -0
  198. /package/{lib → src/lib}/apps/collection-selector/utils/theme-overrides.util.d.ts +0 -0
  199. /package/{lib → src/lib}/apps/content-selector/appTypes.d.ts +0 -0
  200. /package/{lib → src/lib}/apps/content-selector/composables/useMultimediaSelectorApps.d.ts +0 -0
  201. /package/{lib → src/lib}/apps/content-selector/composables/useStore.d.ts +0 -0
  202. /package/{lib → src/lib}/apps/content-selector/stores/api.d.ts +0 -0
  203. /package/{lib → src/lib}/apps/content-selector/stores/app.d.ts +0 -0
  204. /package/{lib → src/lib}/apps/content-selector/util/file.d.ts +0 -0
  205. /package/{lib → src/lib}/apps/content-selector/util/media-type.util.d.ts +0 -0
  206. /package/{lib → src/lib}/apps/notes/composables/useFullscreenNotesHeartbeat.d.ts +0 -0
  207. /package/{lib → src/lib}/apps/notes/composables/useNotesApp.d.ts +0 -0
  208. /package/{lib → src/lib}/apps/ppt-conversion-selector/composables/canvas.use.d.ts +0 -0
  209. /package/{lib → src/lib}/apps/ppt-conversion-selector/composables/move-slide-modal.use.d.ts +0 -0
  210. /package/{lib → src/lib}/apps/ppt-conversion-selector/composables/table-input.use.d.ts +0 -0
  211. /package/{lib → src/lib}/apps/ppt-conversion-selector/constants.d.ts +0 -0
  212. /package/{lib → src/lib}/apps/ppt-conversion-selector/export.d.ts +0 -0
  213. /package/{lib → src/lib}/apps/ppt-conversion-selector/stores/app.store.d.ts +0 -0
  214. /package/{lib → src/lib}/apps/ppt-conversion-selector/types/model.type.d.ts +0 -0
  215. /package/{lib → src/lib}/apps/ppt-conversion-selector/types/move-slide-modal.type.d.ts +0 -0
  216. /package/{lib → src/lib}/apps/ppt-conversion-selector/utils/content-selector-adapter.util.d.ts +0 -0
  217. /package/{lib → src/lib}/apps/ppt-conversion-selector/utils/data.util.d.ts +0 -0
  218. /package/{lib/components/CSideBar/CSideBar.spec.d.ts → src/lib/apps/ppt-conversion-selector/utils/data.util.test.d.ts} +0 -0
  219. /package/{lib → src/lib}/apps/ppt-conversion-selector/utils/theme-overrides.util.d.ts +0 -0
  220. /package/{lib → src/lib}/apps/ppt-conversion-selector/utils/thumbnail.util.d.ts +0 -0
  221. /package/{lib/components/CSideBar/CSideBarDivider.spec.d.ts → src/lib/components/CBatchMoveItemsModal/__tests__/copy-mode.test.d.ts} +0 -0
  222. /package/{lib → src/lib}/components/CCatalogIqSwitcher/CCatalogIqSwitcher.types.d.ts +0 -0
  223. /package/{lib → src/lib}/components/CConfigEditor/CConfigEditor.types.d.ts +0 -0
  224. /package/{lib → src/lib}/components/CConfigEditor/CConfigEditor.validators.d.ts +0 -0
  225. /package/{lib → src/lib}/components/CContactSelector/CContactSelector.types.d.ts +0 -0
  226. /package/{lib → src/lib}/components/CDataTable/CDataTableEdit.use.d.ts +0 -0
  227. /package/{lib → src/lib}/components/CFilePanel/CFilePanel.use.d.ts +0 -0
  228. /package/{lib → src/lib}/components/CFileViewer/CFileViewer.types.d.ts +0 -0
  229. /package/{lib → src/lib}/components/CFileViewer/pdf/CFileViewer.events.pdf.use.d.ts +0 -0
  230. /package/{lib → src/lib}/components/CFileViewer/pdf/CFileViewer.pageThumbMetadata.pdf.use.d.ts +0 -0
  231. /package/{lib → src/lib}/components/CFileViewer/pdf/CFileViewer.pdf.annotations.use.d.ts +0 -0
  232. /package/{lib → src/lib}/components/CFileViewer/pdf/CFileViewer.pdf.link.types.d.ts +0 -0
  233. /package/{lib → src/lib}/components/CFileViewer/pdf/CFileViewer.pdf.link.use.d.ts +0 -0
  234. /package/{lib → src/lib}/components/CFileViewer/pdf/CFileViewer.pdf.overlayItems.use.d.ts +0 -0
  235. /package/{lib → src/lib}/components/CFileViewer/pdf/CFileViewer.pdf.use.d.ts +0 -0
  236. /package/{lib → src/lib}/components/CFileViewer/pdf/CFileViewerFullscreen.pdf.use.d.ts +0 -0
  237. /package/{lib/components/CSideBar/CSideBarItem.spec.d.ts → src/lib/components/CFolderTreeMultiPicker/__tests__/CFolderTreeMultiPicker.test.d.ts} +0 -0
  238. /package/{lib → src/lib}/components/CGlobalSearch/CGlobalSearch.types.d.ts +0 -0
  239. /package/{lib → src/lib}/components/CGlobalSearch/GlobalSearch.use.d.ts +0 -0
  240. /package/{lib → src/lib}/components/CGlobalSearch/Shortcuts.use.d.ts +0 -0
  241. /package/{lib/components/CSideBar/CSideBarLabel.spec.d.ts → src/lib/components/CMultiSelect/CMultiSelect.test.d.ts} +0 -0
  242. /package/{lib → src/lib}/components/CQuickFilters/CQuickFilters.types.d.ts +0 -0
  243. /package/{lib → src/lib}/components/CRichTextEditor/constants.d.ts +0 -0
  244. /package/{lib → src/lib}/components/CRichTextEditor/extensions/bulletListExtended.d.ts +0 -0
  245. /package/{lib → src/lib}/components/CRichTextEditor/extensions/contentLink.d.ts +0 -0
  246. /package/{lib → src/lib}/components/CRichTextEditor/extensions/headingExtended.d.ts +0 -0
  247. /package/{lib → src/lib}/components/CRichTextEditor/extensions/mentionSuggestions.d.ts +0 -0
  248. /package/{lib → src/lib}/components/CRichTextEditor/extensions/paragraphExtended.d.ts +0 -0
  249. /package/{lib → src/lib}/components/CRichTextEditor/extensions/textStyleExtended.d.ts +0 -0
  250. /package/{lib → src/lib}/components/CSearchFilters/CSearchFilters.types.d.ts +0 -0
  251. /package/{lib/components/CSideBar/CSideBarToggle.spec.d.ts → src/lib/components/CSideBar/CSideBar.spec.d.ts} +0 -0
  252. /package/{lib/components/CSingleSelect/CSingleSelect.test.d.ts → src/lib/components/CSideBar/CSideBarDivider.spec.d.ts} +0 -0
  253. /package/{lib/components/CVirtualTable/CVirtualTable.test.d.ts → src/lib/components/CSideBar/CSideBarItem.spec.d.ts} +0 -0
  254. /package/{lib/components/CVirtualTable/CVirtualTableRow.test.d.ts → src/lib/components/CSideBar/CSideBarLabel.spec.d.ts} +0 -0
  255. /package/{lib/components/filters/CDateRangeFilter.test.d.ts → src/lib/components/CSideBar/CSideBarToggle.spec.d.ts} +0 -0
  256. /package/{lib → src/lib}/components/CSideBar/index.d.ts +0 -0
  257. /package/{lib → src/lib}/components/CSideBar/types.d.ts +0 -0
  258. /package/{lib/components/filters/CSelectFilter.test.d.ts → src/lib/components/CSingleSelect/CSingleSelect.test.d.ts} +0 -0
  259. /package/{lib → src/lib}/components/CUsersGroupsAccessManage/CUsersGroupsAccessManage.types.d.ts +0 -0
  260. /package/{lib → src/lib}/components/CVideo/CVideo.types.d.ts +0 -0
  261. /package/{lib/components/filters/filter.util.spec.d.ts → src/lib/components/CVirtualTable/CVirtualTable.test.d.ts} +0 -0
  262. /package/{lib/components/savedCanvases/CSavedCanvasesManagement.use.spec.d.ts → src/lib/components/CVirtualTable/CVirtualTableRow.test.d.ts} +0 -0
  263. /package/{lib → src/lib}/components/HomeCustomizeCog/index.d.ts +0 -0
  264. /package/{lib → src/lib}/components/HomeCustomizeEmptyState/index.d.ts +0 -0
  265. /package/{lib → src/lib}/components/HomeCustomizePanel/index.d.ts +0 -0
  266. /package/{lib → src/lib}/components/HomeCustomizeRow/index.d.ts +0 -0
  267. /package/{lib → src/lib}/components/canvases/CanvasesManagementBulk.use.d.ts +0 -0
  268. /package/{lib → src/lib}/components/canvases/CanvasesManagementFilters.use.d.ts +0 -0
  269. /package/{lib → src/lib}/components/canvases/CanvasesManagementToolbarFilters.use.d.ts +0 -0
  270. /package/{lib/composables/useHomeCustomization.spec.d.ts → src/lib/components/filters/CDateRangeFilter.test.d.ts} +0 -0
  271. /package/{lib/sdk/api/HighLevelApi.spec.d.ts → src/lib/components/filters/CSelectFilter.test.d.ts} +0 -0
  272. /package/{lib → src/lib}/components/filters/filter.const.d.ts +0 -0
  273. /package/{lib → src/lib}/components/filters/filter.util.d.ts +0 -0
  274. /package/{lib/sdk/api/LowLevelApi.spec.d.ts → src/lib/components/filters/filter.util.spec.d.ts} +0 -0
  275. /package/{lib/sdk/main.spec.d.ts → src/lib/components/savedCanvases/CSavedCanvasesManagement.use.spec.d.ts} +0 -0
  276. /package/{lib → src/lib}/components/savedCanvases/CSavedCanvasesManagementShareCanvas.use.d.ts +0 -0
  277. /package/{lib → src/lib}/composables/appEmit.use.d.ts +0 -0
  278. /package/{lib → src/lib}/composables/appsDb.use.d.ts +0 -0
  279. /package/{lib → src/lib}/composables/bulkActions.use.d.ts +0 -0
  280. /package/{lib → src/lib}/composables/fileViewerSettings.use.d.ts +0 -0
  281. /package/{lib → src/lib}/composables/instanceTagsActions.use.d.ts +0 -0
  282. /package/{lib → src/lib}/composables/openFileStack.use.d.ts +0 -0
  283. /package/{lib → src/lib}/composables/presentationHistory.use.d.ts +0 -0
  284. /package/{lib → src/lib}/composables/suggestedTags.use.d.ts +0 -0
  285. /package/{lib → src/lib}/composables/tableColumnsSettings.use.d.ts +0 -0
  286. /package/{lib → src/lib}/composables/useAdminAndDsrState.d.ts +0 -0
  287. /package/{lib → src/lib}/composables/useAssetUpload.d.ts +0 -0
  288. /package/{lib → src/lib}/composables/useBindValidation.d.ts +0 -0
  289. /package/{lib → src/lib}/composables/useBroadcastRouteChange.d.ts +0 -0
  290. /package/{lib → src/lib}/composables/useCanvasLocks.d.ts +0 -0
  291. /package/{lib → src/lib}/composables/useCanvasOverlay.d.ts +0 -0
  292. /package/{lib/sdk/utils/assert.spec.d.ts → src/lib/composables/useCanvasRendererExcludedTags.spec.d.ts} +0 -0
  293. /package/{lib → src/lib}/composables/useCanvasStandardFilters.d.ts +0 -0
  294. /package/{lib → src/lib}/composables/useCanvasTablesPagination.d.ts +0 -0
  295. /package/{lib → src/lib}/composables/useCollectionPlayerOverlay.d.ts +0 -0
  296. /package/{lib → src/lib}/composables/useCommentTracking.d.ts +0 -0
  297. /package/{lib → src/lib}/composables/useCommentsStorage.d.ts +0 -0
  298. /package/{lib → src/lib}/composables/useConfirmation.d.ts +0 -0
  299. /package/{lib → src/lib}/composables/useConnectUpload.d.ts +0 -0
  300. /package/{lib → src/lib}/composables/useCoreApi.d.ts +0 -0
  301. /package/{lib → src/lib}/composables/useDeleteUsedCanvasesConfirmation.d.ts +0 -0
  302. /package/{lib → src/lib}/composables/useElementHeightResize.d.ts +0 -0
  303. /package/{lib → src/lib}/composables/useElementSizeAfterDom.d.ts +0 -0
  304. /package/{lib → src/lib}/composables/useFetchUsers.d.ts +0 -0
  305. /package/{lib → src/lib}/composables/useFileDisplayHelpers.d.ts +0 -0
  306. /package/{lib → src/lib}/composables/useFileInfo.d.ts +0 -0
  307. /package/{lib → src/lib}/composables/useFilterSuggestions.d.ts +0 -0
  308. /package/{lib → src/lib}/composables/useFolderNameDescription.d.ts +0 -0
  309. /package/{lib → src/lib}/composables/useHomeCustomization.d.ts +0 -0
  310. /package/{lib/sdk/utils/eventEmitter.spec.d.ts → src/lib/composables/useHomeCustomization.spec.d.ts} +0 -0
  311. /package/{lib → src/lib}/composables/useImageAccessibility.d.ts +0 -0
  312. /package/{lib → src/lib}/composables/useInfiniteScroll.d.ts +0 -0
  313. /package/{lib → src/lib}/composables/useInstalledApps.d.ts +0 -0
  314. /package/{lib → src/lib}/composables/useLegacyCollectionFileLoader.d.ts +0 -0
  315. /package/{lib → src/lib}/composables/useLocation.d.ts +0 -0
  316. /package/{lib → src/lib}/composables/useLocationAPI.d.ts +0 -0
  317. /package/{lib → src/lib}/composables/useLocationListeners.d.ts +0 -0
  318. /package/{lib → src/lib}/composables/useLocationManipulation.d.ts +0 -0
  319. /package/{lib → src/lib}/composables/useMetadataFilters.d.ts +0 -0
  320. /package/{lib → src/lib}/composables/useMetadataSearch.d.ts +0 -0
  321. /package/{lib → src/lib}/composables/useMetadataTemplates.d.ts +0 -0
  322. /package/{lib → src/lib}/composables/usePdfInterpolation.d.ts +0 -0
  323. /package/{lib → src/lib}/composables/usePolling.d.ts +0 -0
  324. /package/{lib → src/lib}/composables/useSharedCommentsStorage.d.ts +0 -0
  325. /package/{lib → src/lib}/composables/useSharedTranslations.d.ts +0 -0
  326. /package/{lib → src/lib}/composables/useSmartStore.d.ts +0 -0
  327. /package/{lib → src/lib}/composables/useTheme.d.ts +0 -0
  328. /package/{lib → src/lib}/composables/useToast.d.ts +0 -0
  329. /package/{lib → src/lib}/composables/useWindowEvents.d.ts +0 -0
  330. /package/{lib → src/lib}/constants/appsDb.const.d.ts +0 -0
  331. /package/{lib → src/lib}/constants/color.const.d.ts +0 -0
  332. /package/{lib → src/lib}/constants/config.const.d.ts +0 -0
  333. /package/{lib → src/lib}/constants/conventions.const.d.ts +0 -0
  334. /package/{lib → src/lib}/constants/dimensions.const.d.ts +0 -0
  335. /package/{lib → src/lib}/constants/i18n.const.d.ts +0 -0
  336. /package/{lib → src/lib}/constants/modal.const.d.ts +0 -0
  337. /package/{lib → src/lib}/constants/more.const.d.ts +0 -0
  338. /package/{lib → src/lib}/constants/pitcherSettings.const.d.ts +0 -0
  339. /package/{lib → src/lib}/constants/query-builder.const.d.ts +0 -0
  340. /package/{lib → src/lib}/constants/roles.const.d.ts +0 -0
  341. /package/{lib → src/lib}/constants/tables.const.d.ts +0 -0
  342. /package/{lib → src/lib}/constants/timers.const.d.ts +0 -0
  343. /package/{lib → src/lib}/constants/uploads.const.d.ts +0 -0
  344. /package/{lib → src/lib}/constants/url.const.d.ts +0 -0
  345. /package/{lib → src/lib}/custom-naive-locales/el.d.ts +0 -0
  346. /package/{lib → src/lib}/custom-naive-locales/it.d.ts +0 -0
  347. /package/{lib → src/lib}/custom-naive-locales/ja.d.ts +0 -0
  348. /package/{lib → src/lib}/custom-naive-locales/nl.d.ts +0 -0
  349. /package/{lib → src/lib}/custom-naive-locales/pt-br.d.ts +0 -0
  350. /package/{lib → src/lib}/custom-naive-locales/pt.d.ts +0 -0
  351. /package/{lib → src/lib}/custom-naive-locales/th.d.ts +0 -0
  352. /package/{lib → src/lib}/custom-naive-locales/zh.d.ts +0 -0
  353. /package/{lib → src/lib}/directives/autofocus.d.ts +0 -0
  354. /package/{lib → src/lib}/directives/clickOutside.d.ts +0 -0
  355. /package/{lib → src/lib}/directives/draggable.d.ts +0 -0
  356. /package/{lib → src/lib}/directives/element-mounted.d.ts +0 -0
  357. /package/{lib → src/lib}/directives/tap.d.ts +0 -0
  358. /package/{lib → src/lib}/directives/tooltip.d.ts +0 -0
  359. /package/{lib → src/lib}/directives/vTrustedHtml.d.ts +0 -0
  360. /package/{lib → src/lib}/plugins/vueQuery.d.ts +0 -0
  361. /package/{lib/sdk/utils/isodate.spec.d.ts → src/lib/sdk/api/HighLevelApi.spec.d.ts} +0 -0
  362. /package/{lib → src/lib}/sdk/api/LowLevelApi.d.ts +0 -0
  363. /package/{lib/sdk/utils/object.spec.d.ts → src/lib/sdk/api/LowLevelApi.spec.d.ts} +0 -0
  364. /package/{lib → src/lib}/sdk/api/modules/admin/app-errors.admin.d.ts +0 -0
  365. /package/{lib → src/lib}/sdk/api/modules/admin/canvas.admin.d.ts +0 -0
  366. /package/{lib → src/lib}/sdk/api/modules/admin/content.admin.d.ts +0 -0
  367. /package/{lib → src/lib}/sdk/api/modules/admin/env.admin.d.ts +0 -0
  368. /package/{lib → src/lib}/sdk/api/modules/admin/files.admin.d.ts +0 -0
  369. /package/{lib → src/lib}/sdk/api/modules/admin/index.d.ts +0 -0
  370. /package/{lib → src/lib}/sdk/api/modules/admin/metadataTemplates.admin.d.ts +0 -0
  371. /package/{lib → src/lib}/sdk/api/modules/admin/types.admin.d.ts +0 -0
  372. /package/{lib → src/lib}/sdk/api/modules/admin/users.admin.d.ts +0 -0
  373. /package/{lib → src/lib}/sdk/api/modules/dsr/env.dsr.d.ts +0 -0
  374. /package/{lib → src/lib}/sdk/api/modules/dsr/files.dsr.d.ts +0 -0
  375. /package/{lib → src/lib}/sdk/api/modules/dsr/index.d.ts +0 -0
  376. /package/{lib → src/lib}/sdk/api/modules/dsr/loading.dsr.d.ts +0 -0
  377. /package/{lib → src/lib}/sdk/api/modules/dsr/types.dsr.d.ts +0 -0
  378. /package/{lib → src/lib}/sdk/api/modules/env.d.ts +0 -0
  379. /package/{lib → src/lib}/sdk/api/modules/feedback.d.ts +0 -0
  380. /package/{lib → src/lib}/sdk/api/modules/files.d.ts +0 -0
  381. /package/{lib → src/lib}/sdk/api/modules/filesRevisions.d.ts +0 -0
  382. /package/{lib → src/lib}/sdk/api/modules/folders.core.d.ts +0 -0
  383. /package/{lib → src/lib}/sdk/api/modules/folders.d.ts +0 -0
  384. /package/{lib → src/lib}/sdk/api/modules/languages.d.ts +0 -0
  385. /package/{lib → src/lib}/sdk/api/modules/metadataTemplates.d.ts +0 -0
  386. /package/{lib → src/lib}/sdk/api/modules/notifications.d.ts +0 -0
  387. /package/{lib → src/lib}/sdk/api/modules/open.d.ts +0 -0
  388. /package/{lib → src/lib}/sdk/api/modules/pspdfkit.d.ts +0 -0
  389. /package/{lib → src/lib}/sdk/api/modules/query.d.ts +0 -0
  390. /package/{lib → src/lib}/sdk/api/modules/search.d.ts +0 -0
  391. /package/{lib → src/lib}/sdk/api/modules/share.d.ts +0 -0
  392. /package/{lib → src/lib}/sdk/api/modules/sync.d.ts +0 -0
  393. /package/{lib → src/lib}/sdk/api/modules/theme.d.ts +0 -0
  394. /package/{lib → src/lib}/sdk/api/modules/toast.d.ts +0 -0
  395. /package/{lib → src/lib}/sdk/api/modules/track.d.ts +0 -0
  396. /package/{lib → src/lib}/sdk/api/modules/ui/app-errors.ui.d.ts +0 -0
  397. /package/{lib → src/lib}/sdk/api/modules/ui/canvas.ui.d.ts +0 -0
  398. /package/{lib → src/lib}/sdk/api/modules/ui/content.ui.d.ts +0 -0
  399. /package/{lib → src/lib}/sdk/api/modules/ui/index.d.ts +0 -0
  400. /package/{lib → src/lib}/sdk/api/modules/ui/loading.ui.d.ts +0 -0
  401. /package/{lib → src/lib}/sdk/api/modules/ui/location.ui.d.ts +0 -0
  402. /package/{lib → src/lib}/sdk/api/modules/ui/pia.ui.d.ts +0 -0
  403. /package/{lib → src/lib}/sdk/api/modules/ui/post-call.ui.d.ts +0 -0
  404. /package/{lib → src/lib}/sdk/api/modules/ui/sharing.ui.d.ts +0 -0
  405. /package/{lib → src/lib}/sdk/api/modules/ui/types.ui.d.ts +0 -0
  406. /package/{lib → src/lib}/sdk/api/modules/users.d.ts +0 -0
  407. /package/{lib → src/lib}/sdk/api/modules/webView.d.ts +0 -0
  408. /package/{lib → src/lib}/sdk/api/onlineRestApiHandlers.d.ts +0 -0
  409. /package/{lib/util/array.spec.d.ts → src/lib/sdk/main.spec.d.ts} +0 -0
  410. /package/{lib → src/lib}/sdk/main.umd-esm.d.ts +0 -0
  411. /package/{lib → src/lib}/sdk/peer-connectivity/index.d.ts +0 -0
  412. /package/{lib → src/lib}/sdk/peer-connectivity/peerConnectivity.constants.d.ts +0 -0
  413. /package/{lib → src/lib}/sdk/peer-connectivity/peerConnectivity.d.ts +0 -0
  414. /package/{lib → src/lib}/sdk/peer-connectivity/peerConnectivity.types.d.ts +0 -0
  415. /package/{lib → src/lib}/sdk/utils/assert.d.ts +0 -0
  416. /package/{lib/util/casing.spec.d.ts → src/lib/sdk/utils/assert.spec.d.ts} +0 -0
  417. /package/{lib → src/lib}/sdk/utils/cleanUrl.d.ts +0 -0
  418. /package/{lib → src/lib}/sdk/utils/eventEmitter.d.ts +0 -0
  419. /package/{lib/util/date.spec.d.ts → src/lib/sdk/utils/eventEmitter.spec.d.ts} +0 -0
  420. /package/{lib → src/lib}/sdk/utils/httpFetch.d.ts +0 -0
  421. /package/{lib → src/lib}/sdk/utils/isodate.d.ts +0 -0
  422. /package/{lib/util/font.spec.d.ts → src/lib/sdk/utils/isodate.spec.d.ts} +0 -0
  423. /package/{lib → src/lib}/sdk/utils/object.d.ts +0 -0
  424. /package/{lib/util → src/lib/sdk/utils}/object.spec.d.ts +0 -0
  425. /package/{lib → src/lib}/sdk/utils/postrobot.d.ts +0 -0
  426. /package/{lib → src/lib}/sdk/utils/window.d.ts +0 -0
  427. /package/{lib → src/lib}/stores/sectionSmartFolderStore.d.ts +0 -0
  428. /package/{lib → src/lib}/theme/canvasUiUnoPreset.d.ts +0 -0
  429. /package/{lib → src/lib}/theme/daisyUi.d.ts +0 -0
  430. /package/{lib → src/lib}/theme/light.const.d.ts +0 -0
  431. /package/{lib → src/lib}/theme/main.d.ts +0 -0
  432. /package/{lib → src/lib}/theme/theme-overrides.d.ts +0 -0
  433. /package/{lib → src/lib}/theme/theme.utils.d.ts +0 -0
  434. /package/{lib → src/lib}/types/app.d.ts +0 -0
  435. /package/{lib → src/lib}/types/background.d.ts +0 -0
  436. /package/{lib → src/lib}/types/call.d.ts +0 -0
  437. /package/{lib → src/lib}/types/canvasActions.d.ts +0 -0
  438. /package/{lib → src/lib}/types/canvasTheme.d.ts +0 -0
  439. /package/{lib → src/lib}/types/canvases.d.ts +0 -0
  440. /package/{lib → src/lib}/types/common.d.ts +0 -0
  441. /package/{lib → src/lib}/types/core/MetadataFilter.d.ts +0 -0
  442. /package/{lib → src/lib}/types/core/UpsertPptxSlideImages.d.ts +0 -0
  443. /package/{lib → src/lib}/types/core/index.d.ts +0 -0
  444. /package/{lib → src/lib}/types/dataTable.d.ts +0 -0
  445. /package/{lib → src/lib}/types/file.types.d.ts +0 -0
  446. /package/{lib → src/lib}/types/fileViewerSettings.types.d.ts +0 -0
  447. /package/{lib → src/lib}/types/files.d.ts +0 -0
  448. /package/{lib → src/lib}/types/filter.d.ts +0 -0
  449. /package/{lib → src/lib}/types/folder.d.ts +0 -0
  450. /package/{lib → src/lib}/types/i18n.types.d.ts +0 -0
  451. /package/{lib → src/lib}/types/iframes.d.ts +0 -0
  452. /package/{lib → src/lib}/types/instance.types.d.ts +0 -0
  453. /package/{lib → src/lib}/types/instanceTags.types.d.ts +0 -0
  454. /package/{lib → src/lib}/types/metadataHighlightProperty.d.ts +0 -0
  455. /package/{lib → src/lib}/types/organization.types.d.ts +0 -0
  456. /package/{lib → src/lib}/types/organizationMetadata.types.d.ts +0 -0
  457. /package/{lib → src/lib}/types/paginatedData.d.ts +0 -0
  458. /package/{lib → src/lib}/types/query-builder.types.d.ts +0 -0
  459. /package/{lib → src/lib}/types/search.d.ts +0 -0
  460. /package/{lib → src/lib}/types/sectionPopularity.d.ts +0 -0
  461. /package/{lib → src/lib}/types/selections.d.ts +0 -0
  462. /package/{lib → src/lib}/types/sfdc.d.ts +0 -0
  463. /package/{lib → src/lib}/types/toast.d.ts +0 -0
  464. /package/{lib → src/lib}/types/translations.d.ts +0 -0
  465. /package/{lib → src/lib}/types/ts.d.ts +0 -0
  466. /package/{lib → src/lib}/types/users.d.ts +0 -0
  467. /package/{lib → src/lib}/types/vueVirtualScroller.d.ts +0 -0
  468. /package/{lib → src/lib}/util/anchor.d.ts +0 -0
  469. /package/{lib → src/lib}/util/app.util.d.ts +0 -0
  470. /package/{lib → src/lib}/util/array.d.ts +0 -0
  471. /package/{lib/util/location.spec.d.ts → src/lib/util/array.spec.d.ts} +0 -0
  472. /package/{lib → src/lib}/util/canvas-manager.util.d.ts +0 -0
  473. /package/{lib → src/lib}/util/casing.d.ts +0 -0
  474. /package/{lib/util/message-event.spec.d.ts → src/lib/util/casing.spec.d.ts} +0 -0
  475. /package/{lib → src/lib}/util/color.d.ts +0 -0
  476. /package/{lib → src/lib}/util/date.d.ts +0 -0
  477. /package/{lib/util/network.spec.d.ts → src/lib/util/date.spec.d.ts} +0 -0
  478. /package/{lib → src/lib}/util/dev.util.d.ts +0 -0
  479. /package/{lib → src/lib}/util/dom.d.ts +0 -0
  480. /package/{lib → src/lib}/util/eval.d.ts +0 -0
  481. /package/{lib → src/lib}/util/file.util.d.ts +0 -0
  482. /package/{lib/util/number.spec.d.ts → src/lib/util/font.spec.d.ts} +0 -0
  483. /package/{lib → src/lib}/util/font.util.d.ts +0 -0
  484. /package/{lib → src/lib}/util/image.d.ts +0 -0
  485. /package/{lib → src/lib}/util/jwt.d.ts +0 -0
  486. /package/{lib/util/reactive.spec.d.ts → src/lib/util/location.spec.d.ts} +0 -0
  487. /package/{lib → src/lib}/util/location.util.d.ts +0 -0
  488. /package/{lib → src/lib}/util/message-event.d.ts +0 -0
  489. /package/{lib/util/sfdc.util.spec.d.ts → src/lib/util/message-event.spec.d.ts} +0 -0
  490. /package/{lib → src/lib}/util/navigation.util.d.ts +0 -0
  491. /package/{lib/util/smart-store.util.spec.d.ts → src/lib/util/network.spec.d.ts} +0 -0
  492. /package/{lib/util/soql.util.spec.d.ts → src/lib/util/network.test.d.ts} +0 -0
  493. /package/{lib → src/lib}/util/number.d.ts +0 -0
  494. /package/{lib/util/timer.spec.d.ts → src/lib/util/number.spec.d.ts} +0 -0
  495. /package/{lib → src/lib}/util/object.d.ts +0 -0
  496. /package/{lib/util/translations.spec.d.ts → src/lib/util/object.spec.d.ts} +0 -0
  497. /package/{lib → src/lib}/util/pitcher-settings.util.d.ts +0 -0
  498. /package/{lib → src/lib}/util/query-builder.util.d.ts +0 -0
  499. /package/{lib → src/lib}/util/query.d.ts +0 -0
  500. /package/{lib → src/lib}/util/reactive.d.ts +0 -0
  501. /package/{lib/util/tree-transformation.util.spec.d.ts → src/lib/util/reactive.spec.d.ts} +0 -0
  502. /package/{lib → src/lib}/util/sfdc.util.d.ts +0 -0
  503. /package/{lib → src/lib}/util/smart-store.util.d.ts +0 -0
  504. /package/{lib → src/lib}/util/soql.util.d.ts +0 -0
  505. /package/{lib → src/lib}/util/storage.util.d.ts +0 -0
  506. /package/{lib → src/lib}/util/style.util.d.ts +0 -0
  507. /package/{lib → src/lib}/util/timer.d.ts +0 -0
  508. /package/{lib → src/lib}/util/toCssClassKey.d.ts +0 -0
  509. /package/{lib → src/lib}/util/translations.d.ts +0 -0
  510. /package/{lib → src/lib}/util/tree-transformation.util.d.ts +0 -0
  511. /package/{lib → src/lib}/util/tsHelpers.d.ts +0 -0
  512. /package/{lib → src/lib}/util/url.d.ts +0 -0
  513. /package/{lib → src/lib}/util/user.d.ts +0 -0
  514. /package/{lib → src/lib}/util/userAgents.d.ts +0 -0
  515. /package/{lib → src/lib}/utils/defaultThumbnail.util.d.ts +0 -0
  516. /package/{lib → src/lib}/utils/iframeInitialize.d.ts +0 -0
  517. /package/{types → src/types}/openapi/models/AccessTypeEnum.d.ts +0 -0
  518. /package/{types → src/types}/openapi/models/Account.d.ts +0 -0
  519. /package/{types → src/types}/openapi/models/AccountRequest.d.ts +0 -0
  520. /package/{types → src/types}/openapi/models/App.d.ts +0 -0
  521. /package/{types → src/types}/openapi/models/AppInstallationRequest.d.ts +0 -0
  522. /package/{types → src/types}/openapi/models/AppOrganization.d.ts +0 -0
  523. /package/{types → src/types}/openapi/models/AppPublish.d.ts +0 -0
  524. /package/{types → src/types}/openapi/models/AppRelease.d.ts +0 -0
  525. /package/{types → src/types}/openapi/models/AppTypeEnum.d.ts +0 -0
  526. /package/{types → src/types}/openapi/models/AppsDBEntry.d.ts +0 -0
  527. /package/{types → src/types}/openapi/models/AppsDBEntryRequest.d.ts +0 -0
  528. /package/{types → src/types}/openapi/models/AuthToken.d.ts +0 -0
  529. /package/{types → src/types}/openapi/models/AuthTokenRequest.d.ts +0 -0
  530. /package/{types → src/types}/openapi/models/BulkDeleteErrorDetail.d.ts +0 -0
  531. /package/{types → src/types}/openapi/models/BulkDeleteMixedObjectsRequest.d.ts +0 -0
  532. /package/{types → src/types}/openapi/models/BulkDeleteRequest.d.ts +0 -0
  533. /package/{types → src/types}/openapi/models/BulkDeleteResponse.d.ts +0 -0
  534. /package/{types → src/types}/openapi/models/BulkUpdateMetadata.d.ts +0 -0
  535. /package/{types → src/types}/openapi/models/BulkUpdateMetadataOperationEnum.d.ts +0 -0
  536. /package/{types → src/types}/openapi/models/BulkUpdateMetadataRequest.d.ts +0 -0
  537. /package/{types → src/types}/openapi/models/BulkUpdateMetadataResult.d.ts +0 -0
  538. /package/{types → src/types}/openapi/models/BulkUpdateTags.d.ts +0 -0
  539. /package/{types → src/types}/openapi/models/BulkUpdateTagsOperationEnum.d.ts +0 -0
  540. /package/{types → src/types}/openapi/models/BulkUpdateTagsRequest.d.ts +0 -0
  541. /package/{types → src/types}/openapi/models/BulkUpdateTagsResult.d.ts +0 -0
  542. /package/{types → src/types}/openapi/models/CanvasCreateRequest.d.ts +0 -0
  543. /package/{types → src/types}/openapi/models/CanvasRecommendedFile.d.ts +0 -0
  544. /package/{types → src/types}/openapi/models/CanvasRecommendedFiles.d.ts +0 -0
  545. /package/{types → src/types}/openapi/models/CanvasSection.d.ts +0 -0
  546. /package/{types → src/types}/openapi/models/CanvasUpdateRequest.d.ts +0 -0
  547. /package/{types → src/types}/openapi/models/Collaboration.d.ts +0 -0
  548. /package/{types → src/types}/openapi/models/CollaborationCreate.d.ts +0 -0
  549. /package/{types → src/types}/openapi/models/CollaborationCreateRequest.d.ts +0 -0
  550. /package/{types → src/types}/openapi/models/CollaborationRequest.d.ts +0 -0
  551. /package/{types → src/types}/openapi/models/CollaborationRoleEnum.d.ts +0 -0
  552. /package/{types → src/types}/openapi/models/ConnectedService.d.ts +0 -0
  553. /package/{types → src/types}/openapi/models/ContentDistributionGroup.d.ts +0 -0
  554. /package/{types → src/types}/openapi/models/ContentDistributionGroupCreate.d.ts +0 -0
  555. /package/{types → src/types}/openapi/models/ContentDistributionGroupCreateRequest.d.ts +0 -0
  556. /package/{types → src/types}/openapi/models/ContentDistributionGroupMembership.d.ts +0 -0
  557. /package/{types → src/types}/openapi/models/ContentDistributionGroupMembershipCreate.d.ts +0 -0
  558. /package/{types → src/types}/openapi/models/ContentDistributionGroupMembershipCreateRequest.d.ts +0 -0
  559. /package/{types → src/types}/openapi/models/ContentDistributionGroupRequest.d.ts +0 -0
  560. /package/{types → src/types}/openapi/models/DefaultExpiresAtEnum.d.ts +0 -0
  561. /package/{types → src/types}/openapi/models/DeletedContentDistributionGroup.d.ts +0 -0
  562. /package/{types → src/types}/openapi/models/DeletedEnvironment.d.ts +0 -0
  563. /package/{types → src/types}/openapi/models/DeletedFavorite.d.ts +0 -0
  564. /package/{types → src/types}/openapi/models/DeletedFile.d.ts +0 -0
  565. /package/{types → src/types}/openapi/models/DeletedFolder.d.ts +0 -0
  566. /package/{types → src/types}/openapi/models/DeletedInstance.d.ts +0 -0
  567. /package/{types → src/types}/openapi/models/DeletedInstanceAssignmentGroup.d.ts +0 -0
  568. /package/{types → src/types}/openapi/models/DeletedMetadataTemplate.d.ts +0 -0
  569. /package/{types → src/types}/openapi/models/DeletedRegion.d.ts +0 -0
  570. /package/{types → src/types}/openapi/models/DownloadTypeEnum.d.ts +0 -0
  571. /package/{types → src/types}/openapi/models/Environment.d.ts +0 -0
  572. /package/{types → src/types}/openapi/models/EnvironmentRequest.d.ts +0 -0
  573. /package/{types → src/types}/openapi/models/Event.d.ts +0 -0
  574. /package/{types → src/types}/openapi/models/EventAttendee.d.ts +0 -0
  575. /package/{types → src/types}/openapi/models/EventAttendeeRequest.d.ts +0 -0
  576. /package/{types → src/types}/openapi/models/EventExternalObject.d.ts +0 -0
  577. /package/{types → src/types}/openapi/models/EventExternalObjectContentTypeEnum.d.ts +0 -0
  578. /package/{types → src/types}/openapi/models/EventExternalObjectRequest.d.ts +0 -0
  579. /package/{types → src/types}/openapi/models/EventRequest.d.ts +0 -0
  580. /package/{types → src/types}/openapi/models/EventStatusEnum.d.ts +0 -0
  581. /package/{types → src/types}/openapi/models/Favorite.d.ts +0 -0
  582. /package/{types → src/types}/openapi/models/FavoriteCreate.d.ts +0 -0
  583. /package/{types → src/types}/openapi/models/FavoriteCreateRequest.d.ts +0 -0
  584. /package/{types → src/types}/openapi/models/FavoriteFile.d.ts +0 -0
  585. /package/{types → src/types}/openapi/models/FavoriteFileRequest.d.ts +0 -0
  586. /package/{types → src/types}/openapi/models/FavoriteFolder.d.ts +0 -0
  587. /package/{types → src/types}/openapi/models/FavoriteFolderRequest.d.ts +0 -0
  588. /package/{types → src/types}/openapi/models/FavoriteUpdate.d.ts +0 -0
  589. /package/{types → src/types}/openapi/models/FavoriteUpdateRequest.d.ts +0 -0
  590. /package/{types → src/types}/openapi/models/File.d.ts +0 -0
  591. /package/{types → src/types}/openapi/models/FileAnalytics.d.ts +0 -0
  592. /package/{types → src/types}/openapi/models/FileAnalyticsResult.d.ts +0 -0
  593. /package/{types → src/types}/openapi/models/FileContentTypeEnum.d.ts +0 -0
  594. /package/{types → src/types}/openapi/models/FileCreate.d.ts +0 -0
  595. /package/{types → src/types}/openapi/models/FileCreateRequest.d.ts +0 -0
  596. /package/{types → src/types}/openapi/models/FilePermission.d.ts +0 -0
  597. /package/{types → src/types}/openapi/models/FilePermissionRequest.d.ts +0 -0
  598. /package/{types → src/types}/openapi/models/FileRetrieve.d.ts +0 -0
  599. /package/{types → src/types}/openapi/models/FileRevision.d.ts +0 -0
  600. /package/{types → src/types}/openapi/models/FileRevisionRequest.d.ts +0 -0
  601. /package/{types → src/types}/openapi/models/FileStatusEnum.d.ts +0 -0
  602. /package/{types → src/types}/openapi/models/FileTypeEnum.d.ts +0 -0
  603. /package/{types → src/types}/openapi/models/FileUpdate.d.ts +0 -0
  604. /package/{types → src/types}/openapi/models/FileUpdateRequest.d.ts +0 -0
  605. /package/{types → src/types}/openapi/models/FileVersion.d.ts +0 -0
  606. /package/{types → src/types}/openapi/models/Folder.d.ts +0 -0
  607. /package/{types → src/types}/openapi/models/FolderCanvas.d.ts +0 -0
  608. /package/{types → src/types}/openapi/models/FolderCreate.d.ts +0 -0
  609. /package/{types → src/types}/openapi/models/FolderCreateRequest.d.ts +0 -0
  610. /package/{types → src/types}/openapi/models/FolderFile.d.ts +0 -0
  611. /package/{types → src/types}/openapi/models/FolderRule.d.ts +0 -0
  612. /package/{types → src/types}/openapi/models/FolderRuleRequest.d.ts +0 -0
  613. /package/{types → src/types}/openapi/models/FolderUpdate.d.ts +0 -0
  614. /package/{types → src/types}/openapi/models/FolderUpdateRequest.d.ts +0 -0
  615. /package/{types → src/types}/openapi/models/Instance.d.ts +0 -0
  616. /package/{types → src/types}/openapi/models/InstanceAnalytics.d.ts +0 -0
  617. /package/{types → src/types}/openapi/models/InstanceAnalyticsChangePercentages.d.ts +0 -0
  618. /package/{types → src/types}/openapi/models/InstanceAnalyticsCurrentPeriod.d.ts +0 -0
  619. /package/{types → src/types}/openapi/models/InstanceAnalyticsFile.d.ts +0 -0
  620. /package/{types → src/types}/openapi/models/InstanceAnalyticsFileActivity.d.ts +0 -0
  621. /package/{types → src/types}/openapi/models/InstanceAnalyticsFileRequest.d.ts +0 -0
  622. /package/{types → src/types}/openapi/models/InstanceAnalyticsInactiveUsers.d.ts +0 -0
  623. /package/{types → src/types}/openapi/models/InstanceAnalyticsInactiveUsersRequest.d.ts +0 -0
  624. /package/{types → src/types}/openapi/models/InstanceAnalyticsLoginResult.d.ts +0 -0
  625. /package/{types → src/types}/openapi/models/InstanceAssignmentGroup.d.ts +0 -0
  626. /package/{types → src/types}/openapi/models/InstanceAssignmentGroupMembership.d.ts +0 -0
  627. /package/{types → src/types}/openapi/models/InstanceAssignmentGroupMembershipCreate.d.ts +0 -0
  628. /package/{types → src/types}/openapi/models/InstanceAssignmentGroupMembershipCreateRequest.d.ts +0 -0
  629. /package/{types → src/types}/openapi/models/InstanceAssignmentGroupRequest.d.ts +0 -0
  630. /package/{types → src/types}/openapi/models/InstanceMembership.d.ts +0 -0
  631. /package/{types → src/types}/openapi/models/InstanceMembershipCreate.d.ts +0 -0
  632. /package/{types → src/types}/openapi/models/InstanceMembershipCreateRequest.d.ts +0 -0
  633. /package/{types → src/types}/openapi/models/InstanceMembershipGroup.d.ts +0 -0
  634. /package/{types → src/types}/openapi/models/InstanceMembershipGroupRequest.d.ts +0 -0
  635. /package/{types → src/types}/openapi/models/InstanceMembershipRequest.d.ts +0 -0
  636. /package/{types → src/types}/openapi/models/InstanceMembershipRoleEnum.d.ts +0 -0
  637. /package/{types → src/types}/openapi/models/InstanceMembershipUser.d.ts +0 -0
  638. /package/{types → src/types}/openapi/models/InstanceMembershipUserRequest.d.ts +0 -0
  639. /package/{types → src/types}/openapi/models/InstanceMembershipUserStatusEnum.d.ts +0 -0
  640. /package/{types → src/types}/openapi/models/InstanceRequest.d.ts +0 -0
  641. /package/{types → src/types}/openapi/models/InstanceUpdate.d.ts +0 -0
  642. /package/{types → src/types}/openapi/models/InstanceUpdateRequest.d.ts +0 -0
  643. /package/{types → src/types}/openapi/models/Invitation.d.ts +0 -0
  644. /package/{types → src/types}/openapi/models/InvitationRequest.d.ts +0 -0
  645. /package/{types → src/types}/openapi/models/InvitationStatusEnum.d.ts +0 -0
  646. /package/{types → src/types}/openapi/models/LanguageEnum.d.ts +0 -0
  647. /package/{types → src/types}/openapi/models/MetadataTemplate.d.ts +0 -0
  648. /package/{types → src/types}/openapi/models/MetadataTemplateField.d.ts +0 -0
  649. /package/{types → src/types}/openapi/models/MetadataTemplateFieldRequest.d.ts +0 -0
  650. /package/{types → src/types}/openapi/models/MetadataTemplateOption.d.ts +0 -0
  651. /package/{types → src/types}/openapi/models/MetadataTemplateOptionRequest.d.ts +0 -0
  652. /package/{types → src/types}/openapi/models/MetadataTemplateRequest.d.ts +0 -0
  653. /package/{types → src/types}/openapi/models/MetadataTemplateSection.d.ts +0 -0
  654. /package/{types → src/types}/openapi/models/MetadataTemplateSectionRequest.d.ts +0 -0
  655. /package/{types → src/types}/openapi/models/MiniCanvas.d.ts +0 -0
  656. /package/{types → src/types}/openapi/models/MiniCanvasRequest.d.ts +0 -0
  657. /package/{types → src/types}/openapi/models/MiniContentDistributionGroup.d.ts +0 -0
  658. /package/{types → src/types}/openapi/models/MiniContentDistributionGroupRequest.d.ts +0 -0
  659. /package/{types → src/types}/openapi/models/MiniEnvironment.d.ts +0 -0
  660. /package/{types → src/types}/openapi/models/MiniEnvironmentRequest.d.ts +0 -0
  661. /package/{types → src/types}/openapi/models/MiniEvent.d.ts +0 -0
  662. /package/{types → src/types}/openapi/models/MiniEventRequest.d.ts +0 -0
  663. /package/{types → src/types}/openapi/models/MiniFile.d.ts +0 -0
  664. /package/{types → src/types}/openapi/models/MiniFileRequest.d.ts +0 -0
  665. /package/{types → src/types}/openapi/models/MiniFolder.d.ts +0 -0
  666. /package/{types → src/types}/openapi/models/MiniFolderRequest.d.ts +0 -0
  667. /package/{types → src/types}/openapi/models/MiniInstance.d.ts +0 -0
  668. /package/{types → src/types}/openapi/models/MiniInstanceRequest.d.ts +0 -0
  669. /package/{types → src/types}/openapi/models/MiniPage.d.ts +0 -0
  670. /package/{types → src/types}/openapi/models/MiniRegion.d.ts +0 -0
  671. /package/{types → src/types}/openapi/models/MiniRegionRequest.d.ts +0 -0
  672. /package/{types → src/types}/openapi/models/MiniSharedLink.d.ts +0 -0
  673. /package/{types → src/types}/openapi/models/MiniSharedLinkRequest.d.ts +0 -0
  674. /package/{types → src/types}/openapi/models/MiniUser.d.ts +0 -0
  675. /package/{types → src/types}/openapi/models/MiniUserRequest.d.ts +0 -0
  676. /package/{types → src/types}/openapi/models/MostActiveUser.d.ts +0 -0
  677. /package/{types → src/types}/openapi/models/OfflineSyncFolder.d.ts +0 -0
  678. /package/{types → src/types}/openapi/models/OperatorEnum.d.ts +0 -0
  679. /package/{types → src/types}/openapi/models/Organization.d.ts +0 -0
  680. /package/{types → src/types}/openapi/models/OrganizationAnalytics.d.ts +0 -0
  681. /package/{types → src/types}/openapi/models/OrganizationAnalyticsCurrentPeriod.d.ts +0 -0
  682. /package/{types → src/types}/openapi/models/OrganizationAnalyticsInactiveUsers.d.ts +0 -0
  683. /package/{types → src/types}/openapi/models/OrganizationAnalyticsInactiveUsersRequest.d.ts +0 -0
  684. /package/{types → src/types}/openapi/models/OrganizationAnalyticsInstance.d.ts +0 -0
  685. /package/{types → src/types}/openapi/models/OrganizationAnalyticsLoginResult.d.ts +0 -0
  686. /package/{types → src/types}/openapi/models/OrganizationAnalyticsTop3Instances.d.ts +0 -0
  687. /package/{types → src/types}/openapi/models/OrganizationBranding.d.ts +0 -0
  688. /package/{types → src/types}/openapi/models/OrganizationBrandingColors.d.ts +0 -0
  689. /package/{types → src/types}/openapi/models/OrganizationChangePercentages.d.ts +0 -0
  690. /package/{types → src/types}/openapi/models/OrganizationUpdate.d.ts +0 -0
  691. /package/{types → src/types}/openapi/models/OrganizationUpdateRequest.d.ts +0 -0
  692. /package/{types → src/types}/openapi/models/PSPDFKitAuthPayload.d.ts +0 -0
  693. /package/{types → src/types}/openapi/models/PSPDFKitAuthPayloadRequest.d.ts +0 -0
  694. /package/{types → src/types}/openapi/models/PSPDFKitToken.d.ts +0 -0
  695. /package/{types → src/types}/openapi/models/PSPDFKitTokenRequest.d.ts +0 -0
  696. /package/{types → src/types}/openapi/models/PaginatedAppList.d.ts +0 -0
  697. /package/{types → src/types}/openapi/models/PaginatedAuthTokenList.d.ts +0 -0
  698. /package/{types → src/types}/openapi/models/PaginatedCanvasList.d.ts +0 -0
  699. /package/{types → src/types}/openapi/models/PaginatedCollaborationList.d.ts +0 -0
  700. /package/{types → src/types}/openapi/models/PaginatedContentDistributionGroupList.d.ts +0 -0
  701. /package/{types → src/types}/openapi/models/PaginatedContentDistributionGroupMembershipList.d.ts +0 -0
  702. /package/{types → src/types}/openapi/models/PaginatedEnvironmentList.d.ts +0 -0
  703. /package/{types → src/types}/openapi/models/PaginatedEventList.d.ts +0 -0
  704. /package/{types → src/types}/openapi/models/PaginatedFavoriteList.d.ts +0 -0
  705. /package/{types → src/types}/openapi/models/PaginatedFileList.d.ts +0 -0
  706. /package/{types → src/types}/openapi/models/PaginatedFileRevisionList.d.ts +0 -0
  707. /package/{types → src/types}/openapi/models/PaginatedFolderList.d.ts +0 -0
  708. /package/{types → src/types}/openapi/models/PaginatedInstanceAssignmentGroupList.d.ts +0 -0
  709. /package/{types → src/types}/openapi/models/PaginatedInstanceAssignmentGroupMembershipList.d.ts +0 -0
  710. /package/{types → src/types}/openapi/models/PaginatedInstanceList.d.ts +0 -0
  711. /package/{types → src/types}/openapi/models/PaginatedInstanceMembershipList.d.ts +0 -0
  712. /package/{types → src/types}/openapi/models/PaginatedInvitationList.d.ts +0 -0
  713. /package/{types → src/types}/openapi/models/PaginatedMetadataTemplateList.d.ts +0 -0
  714. /package/{types → src/types}/openapi/models/PaginatedOfflineSyncFolderList.d.ts +0 -0
  715. /package/{types → src/types}/openapi/models/PaginatedRegionList.d.ts +0 -0
  716. /package/{types → src/types}/openapi/models/PaginatedRevisionList.d.ts +0 -0
  717. /package/{types → src/types}/openapi/models/PaginatedSearchResultList.d.ts +0 -0
  718. /package/{types → src/types}/openapi/models/PaginatedUserList.d.ts +0 -0
  719. /package/{types → src/types}/openapi/models/PatchedCanvasIndicatorsRequest.d.ts +0 -0
  720. /package/{types → src/types}/openapi/models/PatchedCanvasUpdateRequest.d.ts +0 -0
  721. /package/{types → src/types}/openapi/models/PatchedCollaborationRequest.d.ts +0 -0
  722. /package/{types → src/types}/openapi/models/PatchedContentDistributionGroupRequest.d.ts +0 -0
  723. /package/{types → src/types}/openapi/models/PatchedEnvironmentRequest.d.ts +0 -0
  724. /package/{types → src/types}/openapi/models/PatchedEventRequest.d.ts +0 -0
  725. /package/{types → src/types}/openapi/models/PatchedFavoriteUpdateRequest.d.ts +0 -0
  726. /package/{types → src/types}/openapi/models/PatchedFilePublishRequest.d.ts +0 -0
  727. /package/{types → src/types}/openapi/models/PatchedFileRevisionRequest.d.ts +0 -0
  728. /package/{types → src/types}/openapi/models/PatchedFileUpdateRequest.d.ts +0 -0
  729. /package/{types → src/types}/openapi/models/PatchedFolderUpdateRequest.d.ts +0 -0
  730. /package/{types → src/types}/openapi/models/PatchedInstanceAssignmentGroupRequest.d.ts +0 -0
  731. /package/{types → src/types}/openapi/models/PatchedInstanceMembershipRequest.d.ts +0 -0
  732. /package/{types → src/types}/openapi/models/PatchedInstanceUpdateRequest.d.ts +0 -0
  733. /package/{types → src/types}/openapi/models/PatchedMetadataTemplateRequest.d.ts +0 -0
  734. /package/{types → src/types}/openapi/models/PatchedOrganizationUpdateRequest.d.ts +0 -0
  735. /package/{types → src/types}/openapi/models/PatchedRegionRequest.d.ts +0 -0
  736. /package/{types → src/types}/openapi/models/PatchedUserRequest.d.ts +0 -0
  737. /package/{types → src/types}/openapi/models/Region.d.ts +0 -0
  738. /package/{types → src/types}/openapi/models/RegionRequest.d.ts +0 -0
  739. /package/{types → src/types}/openapi/models/Revision.d.ts +0 -0
  740. /package/{types → src/types}/openapi/models/RevisionRequest.d.ts +0 -0
  741. /package/{types → src/types}/openapi/models/SearchApp.d.ts +0 -0
  742. /package/{types → src/types}/openapi/models/SearchCanvas.d.ts +0 -0
  743. /package/{types → src/types}/openapi/models/SearchFile.d.ts +0 -0
  744. /package/{types → src/types}/openapi/models/SearchResult.d.ts +0 -0
  745. /package/{types → src/types}/openapi/models/SearchUser.d.ts +0 -0
  746. /package/{types → src/types}/openapi/models/SharedLink.d.ts +0 -0
  747. /package/{types → src/types}/openapi/models/SharedLinkCanvas.d.ts +0 -0
  748. /package/{types → src/types}/openapi/models/SharedLinkCanvasRequest.d.ts +0 -0
  749. /package/{types → src/types}/openapi/models/SharedLinkCreate.d.ts +0 -0
  750. /package/{types → src/types}/openapi/models/SharedLinkCreateRequest.d.ts +0 -0
  751. /package/{types → src/types}/openapi/models/SharedLinkInstance.d.ts +0 -0
  752. /package/{types → src/types}/openapi/models/SharedLinkInstanceRequest.d.ts +0 -0
  753. /package/{types → src/types}/openapi/models/SharedLinkOrganization.d.ts +0 -0
  754. /package/{types → src/types}/openapi/models/SharedLinkOrganizationRequest.d.ts +0 -0
  755. /package/{types → src/types}/openapi/models/StorageRegionEnum.d.ts +0 -0
  756. /package/{types → src/types}/openapi/models/Tag.d.ts +0 -0
  757. /package/{types → src/types}/openapi/models/UploadCreate.d.ts +0 -0
  758. /package/{types → src/types}/openapi/models/UploadCreateRequest.d.ts +0 -0
  759. /package/{types → src/types}/openapi/models/User.d.ts +0 -0
  760. /package/{types → src/types}/openapi/models/UserRequest.d.ts +0 -0
  761. /package/{types → src/types}/openapi/models/UserRoleEnum.d.ts +0 -0
package/js-api.esm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"js-api.esm.js","sources":["../../../../../node_modules/post-robot/dist/post-robot.js","../../../../../node_modules/post-robot/index.js","../../src/lib/sdk/api/modules/open.ts","../../src/lib/sdk/api/modules/env.ts","../../src/lib/sdk/api/modules/languages.ts","../../src/lib/sdk/api/modules/canvas.ts","../../src/lib/sdk/api/modules/files.ts","../../src/lib/sdk/api/modules/filesRevisions.ts","../../src/lib/sdk/api/modules/search.ts","../../src/lib/sdk/api/modules/users.ts","../../src/lib/sdk/api/modules/pspdfkit.ts","../../src/lib/sdk/api/modules/toast.ts","../../src/lib/util/smart-store.util.ts","../../src/lib/sdk/api/modules/query.ts","../../src/lib/sdk/api/modules/folders.ts","../../src/lib/sdk/api/modules/folders.core.ts","../../src/lib/sdk/api/modules/notifications.ts","../../src/lib/sdk/api/modules/track.ts","../../src/lib/sdk/api/modules/metadataTemplates.ts","../../src/lib/sdk/api/modules/sync.ts","../../src/lib/sdk/api/modules/feedback.ts","../../src/lib/sdk/api/modules/webView.ts","../../src/lib/sdk/api/modules/share.ts","../../src/lib/sdk/api/modules/theme.ts","../../src/lib/sdk/utils/eventEmitter.ts","../../../../../node_modules/uuid/dist/stringify.js","../../../../../node_modules/uuid/dist/rng.js","../../../../../node_modules/uuid/dist/v4.js","../../src/lib/sdk/interfaces.ts","../../src/lib/sdk/utils/assert.ts","../../src/lib/util/casing.ts","../../src/lib/sdk/utils/object.ts","../../src/lib/util/message-event.ts","../../src/lib/sdk/utils/httpFetch.ts","../../src/lib/components/filters/filter.util.ts","../../src/lib/sdk/api/onlineRestApiHandlers.ts","../../src/lib/sdk/utils/window.ts","../../src/lib/sdk/api/LowLevelApi.ts","../../src/lib/sdk/api/HighLevelApi.ts","../../src/lib/sdk/utils/postrobot.ts","../../src/lib/sdk/api/modules/ui/types.ui.ts","../../src/lib/sdk/api/modules/ui/content.ui.ts","../../src/lib/sdk/api/modules/ui/loading.ui.ts","../../src/lib/sdk/api/modules/ui/location.ui.ts","../../src/lib/sdk/api/modules/ui/app-errors.ui.ts","../../src/lib/sdk/api/modules/ui/canvas.ui.ts","../../src/lib/sdk/api/modules/ui/post-call.ui.ts","../../src/lib/sdk/api/modules/ui/pia.ui.ts","../../src/lib/sdk/api/modules/ui/sharing.ui.ts","../../src/lib/sdk/api/modules/ui/index.ts","../../src/lib/sdk/api/modules/admin/types.admin.ts","../../src/lib/sdk/api/modules/admin/app-errors.admin.ts","../../src/lib/sdk/api/modules/admin/env.admin.ts","../../src/lib/sdk/api/modules/admin/canvas.admin.ts","../../src/lib/sdk/api/modules/admin/metadataTemplates.admin.ts","../../src/lib/sdk/api/modules/admin/files.admin.ts","../../src/lib/sdk/api/modules/admin/content.admin.ts","../../src/lib/sdk/api/modules/admin/users.admin.ts","../../src/lib/sdk/api/modules/admin/index.ts","../../src/lib/sdk/api/modules/dsr/types.dsr.ts","../../src/lib/sdk/api/modules/dsr/env.dsr.ts","../../src/lib/sdk/api/modules/dsr/loading.dsr.ts","../../src/lib/sdk/api/modules/dsr/files.dsr.ts","../../src/lib/sdk/api/modules/dsr/index.ts","../../src/lib/sdk/peer-connectivity/peerConnectivity.constants.ts","../../src/lib/sdk/peer-connectivity/peerConnectivity.ts","../../src/lib/sdk/main.ts","../../src/lib/sdk/main.umd-esm.ts"],"sourcesContent":["!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"postRobot\", [], factory) : \"object\" == typeof exports ? exports.postRobot = factory() : root.postRobot = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"Promise\", (function() {\n return promise_ZalgoPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return src_types_TYPES_0;\n }));\n __webpack_require__.d(__webpack_exports__, \"ProxyWindow\", (function() {\n return window_ProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setup\", (function() {\n return setup;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializeMessage\", (function() {\n return setup_serializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializeMessage\", (function() {\n return setup_deserializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"createProxyWindow\", (function() {\n return createProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"toProxyWindow\", (function() {\n return setup_toProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"on\", (function() {\n return on_on;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return on_once;\n }));\n __webpack_require__.d(__webpack_exports__, \"send\", (function() {\n return send_send;\n }));\n __webpack_require__.d(__webpack_exports__, \"markWindowKnown\", (function() {\n return markWindowKnown;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanUpWindow\", (function() {\n return cleanUpWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"bridge\", (function() {}));\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function getActualProtocol(win) {\n void 0 === win && (win = window);\n return win.location.protocol;\n }\n function getProtocol(win) {\n void 0 === win && (win = window);\n if (win.mockDomain) {\n var protocol = win.mockDomain.split(\"//\")[0];\n if (protocol) return protocol;\n }\n return getActualProtocol(win);\n }\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === getProtocol(win);\n }\n function getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = getActualProtocol(win);\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (function(win) {\n void 0 === win && (win = window);\n return \"mock:\" === getProtocol(win);\n }(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || getParent(win) || void 0;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function getFrameForWindow(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }\n function closeWindow(win) {\n if (function(win) {\n void 0 === win && (win = window);\n return Boolean(getParent(win));\n }(win)) {\n var frame = getFrameForWindow(win);\n if (frame && frame.parentElement) {\n frame.parentElement.removeChild(frame);\n return;\n }\n }\n try {\n win.close();\n } catch (err) {}\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n var promiseResult = _result2;\n promiseResult.resolved ? promise.resolve(promiseResult.value) : promise.reject(promiseResult.error);\n promiseResult.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n _proto.lazy = function() {\n this.errorHandled = !0;\n return this;\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [].slice();\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"uid_\" + \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + function(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n }))).replace(/[=]/g, \"\");\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\").replace(/[=]/g, \"\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : \"undefined\" != typeof window && val instanceof window.Element || null !== val && \"object\" == typeof val && 1 === val.nodeType && \"object\" == typeof val.style && \"object\" == typeof val.ownerDocument ? {} : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey;\n try {\n cacheKey = serializeArgs(args);\n } catch (_unused) {\n return method.apply(this, arguments);\n }\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function src_util_noop() {}\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n Error;\n function getBody() {\n var body = document.body;\n if (!body) throw new Error(\"Body element not found\");\n return body;\n }\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n if (script.src) {\n var hashedString = function(str) {\n var hash = \"\";\n for (var i = 0; i < str.length; i++) {\n var total = str[i].charCodeAt(0) * i;\n str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));\n hash += String.fromCharCode(97 + Math.abs(total) % 26);\n }\n return hash;\n }(JSON.stringify({\n src: script.src,\n dataset: script.dataset\n }));\n uid = \"uid_\" + hashedString.slice(hashedString.length - 30);\n } else uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_10_0_46__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER[void 0] = function(val) {\n return serializeType(\"undefined\", val);\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER[void 0] = function() {}, _DESERIALIZER);\n var defaultDeserializers = {};\n new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? \"popup\" : \"iframe\";\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n var getName = function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n };\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: getName,\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href, opts) {\n void 0 === opts && (opts = {});\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n var _opts$method = opts.method, method = void 0 === _opts$method ? \"get\" : _opts$method, body = opts.body;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (\"post\" === method) return getName().then((function(name) {\n if (!name) throw new Error(\"Can not post to window without target name\");\n !function(_ref3) {\n var url = _ref3.url, target = _ref3.target, body = _ref3.body, _ref3$method = _ref3.method, method = void 0 === _ref3$method ? \"post\" : _ref3$method;\n var form = document.createElement(\"form\");\n form.setAttribute(\"target\", target);\n form.setAttribute(\"method\", method);\n form.setAttribute(\"action\", url);\n form.style.display = \"none\";\n if (body) for (var _i24 = 0, _Object$keys4 = Object.keys(body); _i24 < _Object$keys4.length; _i24++) {\n var _body$key;\n var key = _Object$keys4[_i24];\n var input = document.createElement(\"input\");\n input.setAttribute(\"name\", key);\n input.setAttribute(\"value\", null == (_body$key = body[key]) ? void 0 : _body$key.toString());\n form.appendChild(input);\n }\n getBody().appendChild(form);\n form.submit();\n getBody().removeChild(form);\n }({\n url: href,\n target: name,\n method: method,\n body: body\n });\n }));\n if (\"get\" !== method) throw new Error(\"Unsupported method: \" + method);\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n var sameDomain = isSameDomain(win);\n var frame = getFrameForWindow(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return \"popup\" === type;\n }));\n };\n _proto.setLocation = function(href, opts) {\n var _this = this;\n return this.serializedWindow.setLocation(href, opts).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name, \"noopener\");\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return (item = args, [].slice.call(item)).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n var item;\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_10_0_46__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function handleRequest(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n return promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }\n function handleAck(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }\n function handleResponse(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() + \")\" : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_10_0_46__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n for (var _i2 = 0; _i2 < messages.length; _i2++) {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return;\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return;\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? handleRequest(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? handleResponse(source, origin, message) : \"postrobot_message_ack\" === message.type && handleAck(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n }\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, winCandidate = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (winCandidate && \"*\" !== winCandidate && window_ProxyWindow.isProxyWindow(winCandidate)) {\n var requestListenerPromise = winCandidate.awaitWindow().then((function(actualWin) {\n return addRequestListener({\n name: name,\n win: actualWin,\n domain: domain\n }, listener);\n }));\n return {\n cancel: function() {\n requestListenerPromise.then((function(requestListener) {\n return requestListener.cancel();\n }), src_util_noop);\n }\n };\n }\n var win = winCandidate;\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n var strDomain = (domain = domain || \"*\").toString();\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var winNameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var winNameDomainListeners = util_getOrSet(winNameListeners, name, (function() {\n return {};\n }));\n var winNameDomainRegexListeners;\n var winNameDomainRegexListener;\n util_isRegex(domain) ? (winNameDomainRegexListeners = util_getOrSet(winNameDomainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(winNameDomainRegexListener = {\n regex: domain,\n listener: listener\n }) : winNameDomainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete winNameDomainListeners[strDomain];\n if (winNameDomainRegexListener) {\n winNameDomainRegexListeners.splice(winNameDomainRegexListeners.indexOf(winNameDomainRegexListener, 1));\n winNameDomainRegexListeners.length || delete winNameDomainListeners.__domain_regex__;\n }\n Object.keys(winNameDomainListeners).length || delete winNameListeners[name];\n win && !Object.keys(winNameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: options.window,\n domain: options.domain || \"*\"\n }, {\n handler: handler || options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n }\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n function on_once(name, options, handler) {\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n var promise = new promise_ZalgoPromise;\n var listener;\n options.errorHandler = function(err) {\n listener.cancel();\n promise.reject(err);\n };\n listener = on_on(name, options, (function(event) {\n listener.cancel();\n promise.resolve(event);\n if (handler) return handler(event);\n }));\n promise.cancel = listener.cancel;\n return promise;\n }\n var send_send = function send(winOrProxyWin, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return window_ProxyWindow.toProxyWindow(winOrProxyWin, {\n send: send\n }).awaitWindow().then((function(win) {\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (function(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (getParent(frame) === frame) return frame;\n }\n }(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return function(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = function(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n !function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout && promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }();\n loop();\n }), 500);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }();\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n }));\n };\n function setup_serializeMessage(destination, domain, obj) {\n return serializeMessage(destination, domain, obj, {\n on: on_on,\n send: send_send\n });\n }\n function setup_deserializeMessage(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }\n function createProxyWindow(win) {\n return new window_ProxyWindow({\n send: send_send,\n win: win\n });\n }\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function setup() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return function(obj, event, handler) {\n obj.addEventListener(\"message\", handler);\n return {\n cancel: function() {\n obj.removeEventListener(\"message\", handler);\n }\n };\n }(window, 0, (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }\n function destroy() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_10_0_46__;\n }\n var src_types_TYPES_0 = !0;\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n setup();\n } ]);\n}));","/* @flow */\n\n// $FlowFixMe\nmodule.exports = require('./dist/post-robot'); // eslint-disable-line import/no-commonjs\n\n// $FlowFixMe\nmodule.exports.default = module.exports; // eslint-disable-line import/no-commonjs\n","import type { OpenExternalUrlRequestPayload, OpenRequestPayload } from '@sdk/payload.types'\n\n/**\n * Open a file in the CatalogIQ instance.\n */\nexport function open(payload: OpenRequestPayload = {}): Promise<string> {\n return this.API.request('open', payload)\n}\n\n/**\n * Open external URL in a new tab. Works on both web and mobile.\n */\nexport function openExternalUrl(payload: OpenExternalUrlRequestPayload): Promise<void> {\n return this.API.request('open_external_url', payload)\n}\n","import { omit } from 'lodash-es'\n\nimport type { PitcherEnv } from '@sdk/interfaces'\nimport type { User } from '@openapi'\n\n/**\n * Fetches the necessary info for the app to know where it is embedded.\n *\n * It contains information about:\n * - user\n * - instance\n * - organization\n * - security token to query Pitcher REST API\n * - Salesforce connection information (if connected) including security token to query Salesforce REST API\n * - Auth0 token information\n *\n * @example\n * const env = usePitcherApi().getEnv().then((env) => {\n * console.log(env.pitcher.user.name)\n * })\n */\nexport function getEnv(): Promise<PitcherEnv> {\n return this.API.request('get_env').then((env: PitcherEnv) => omit(env, 'pitcher.org_config.segment'))\n}\n\ntype UpdateEnvParams = Pick<User, 'language'>\n\nexport function updateMyUser(payload: UpdateEnvParams): Promise<User> {\n return this.API.request('update_my_user', payload)\n}\n\nexport function isOffline(): Promise<boolean> {\n return this.API.request('is_offline')\n}\n","export type Language = [\n string, // key\n string, // name\n]\n\n/**\n * Fetches available languages for the logged-in user\n */\nexport function getLanguages(): Promise<Language[]> {\n return this.API.request('get_languages')\n}\n","import type {\n CanvasRetrieve,\n CanvasCreateRequest,\n PatchedCanvasUpdateRequest,\n SharedLink,\n Instance,\n CanvasRecommendedFiles,\n} from '@openapi'\nimport type { GetCanvasesParams, CanvasIndicator } from '@lib/types/canvases'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { CanvasThemeRetrieve } from '@lib/types/canvasTheme'\n/**\n * Fetches a list of canvases to use in your app.\n *\n * @example\n * // The `filters` object is a reserved payload key to transfer the metadata dict over the wire.\n * api.getCanvases({\n * search: 'my search query',\n * ordering: '-created_at',\n * filters: {\n * metadata__mydaterangefiltername__range: ['2023-12-10', '2023-12-22'],\n * metadata__mymultiselectfiltername: ['optionAValue', 'optionCValue'],\n * },\n * fields: 'id,name,metadata',\n * })\n */\nexport function getCanvases(\n payload: GetCanvasesParams & { filters?: Record<string, any>; fields?: string },\n): Promise<PaginatedData<CanvasRetrieve>> {\n return this.API.request('get_canvases', payload)\n}\n\nexport function createCanvas(payload: Omit<CanvasCreateRequest, 'instance_id'>): Promise<CanvasRetrieve> {\n return this.API.request('create_canvas', payload)\n}\n\nexport function deleteCanvas(payload: { id: CanvasRetrieve['id'] }): Promise<CanvasRetrieve> {\n return this.API.request('delete_canvas', payload)\n}\n\n/**\n * Updates a canvas by ID\n *\n * @example\n * // The fields param is appended to the URL as a query param.\n * onMounted(() => {\n * PitcherAPI.updateCanvas({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * fields: 'id,name',\n * name: 'To 3!',\n * }).then((res) => {\n * console.log(res) // logs: { id: '01HH4RCBH631K4JDHWAQB0RPR6', name: 'To 3!' }\n * })\n * })\n */\nexport function updateCanvas(\n payload: PatchedCanvasUpdateRequest & { id: CanvasRetrieve['id']; instance_id?: Instance['id']; fields?: string },\n): Promise<CanvasRetrieve> {\n let shouldDebug = false\n if (typeof window !== 'undefined') {\n const urlParams = new URLSearchParams(window.location.search)\n shouldDebug = urlParams.get('debug') === 'true' || !!(window as any).debug\n }\n shouldDebug && console.info('JS API UPDATE CANVAS', payload)\n\n return this.API.request('update_canvas', payload).then((res: any) => {\n shouldDebug && console.info('JS API UPDATE CANVAS RESPONSE', res)\n return res\n })\n}\n\n/**\n * Updates canvas indicators by canvas ID. It merges the passed object into existing canvas indicators adding new keys if they were empty and overriding pre-existing keys.\n *\n * Indicators can also be updated using updateCanvas API but in this case passed object fully replaces existing indicators.\n *\n * @example\n * // The fields param is appended to the URL as a query param.\n * onMounted(() => {\n * PitcherAPI.updateCanvasIndicators({\n * id: '01J9XT0WVXRTETF4CQZP42CPZP',\n * indicators: {\n * existing: { type: 'info', label: 'new label' }, // will be overriden\n * new: { type: 'info', label: 'INFO' }, // will be added\n * removeExisting: null // will be set to null and ignored, it is the same as removal\n * }\n * }).then((res) => {\n * console.log(res) // entire canvas object, including indicators field\n * })\n * })\n */\nexport function updateCanvasIndicators(payload: {\n indicators: Record<string, CanvasIndicator>\n id: CanvasRetrieve['id']\n instance_id?: Instance['id']\n}): Promise<CanvasRetrieve> {\n return this.API.request('update_canvas_indicators', payload)\n}\n\nexport function getCanvas(payload: { id: CanvasRetrieve['id']; fields?: string }): Promise<CanvasRetrieve> {\n return this.API.request('get_canvas', payload)\n}\n\nexport function shareCanvas(payload: { id: CanvasRetrieve['id'] }): Promise<SharedLink> {\n return this.API.request('share_canvas', payload)\n}\n\nexport function getCanvasRecommendedFiles(payload: {\n canvas_id: CanvasRetrieve['id']\n match?: ('tags' | 'metadata')[]\n}): Promise<CanvasRecommendedFiles> {\n return this.API.request('get_canvas_recommended_files', payload)\n}\n\nexport function getCanvasTheme(payload: { canvas_id: CanvasRetrieve['id'] }): Promise<CanvasThemeRetrieve | null> {\n return this.API.request('get_canvas_theme', payload)\n}\n\nexport function unassignCanvasTheme(payload: { canvas_id: CanvasRetrieve['id'] }): Promise<void> {\n return this.API.request('unassign_canvas_theme', payload)\n}\n","import type { File, FileRetrieve, PaginatedFileList, FileUpdateRequest, FileRevision } from '@openapi'\nimport type { ListFilesPayload } from '@sdk/payload.types'\nimport type { AllFileCreateRequest, DeviceFile } from '@lib/types/files'\n\nexport function getFiles(\n payload: ListFilesPayload & { filters?: Record<string, any>; fields?: string },\n): Promise<PaginatedFileList> {\n const p = { ...payload }\n\n if (p.type) {\n p.type = Array.isArray(p.type) ? p.type : [p.type]\n }\n\n if (p.content_type) {\n p.content_type = (\n Array.isArray(p.content_type) ? p.content_type : [p.content_type]\n ) as ListFilesPayload['content_type']\n }\n\n return this.API.request('get_files', p)\n}\n\nexport function downloadFile(payload: { file_id: File['id'] }): Promise<null> {\n return this.API.request('download_file', payload)\n}\n\nexport function getAppConfig(payload?: { app_name?: string }): Promise<Record<string, any>> {\n let fileId\n\n if (!payload?.app_name && typeof window !== 'undefined' && window.location.href.startsWith('file://')) {\n const match = window.location.href.match(/pitcher(?:%20|\\s+)folders\\/files\\/([^/]+)\\//i)\n fileId = match?.[1]\n }\n\n return fileId\n ? this.API.request('get_file', { file_id: fileId }).then((file: FileRetrieve) => file?.metadata ?? {})\n : this.API.request('get_app_config', payload)\n}\n\nexport function getFile(payload: { id?: FileRetrieve['id']; file_id?: FileRetrieve['id'] }): Promise<FileRetrieve> {\n const { id, file_id } = payload\n return this.API.request('get_file', { ...payload, file_id: id || file_id })\n}\n\nexport function getFileRevisionData(payload: {\n file_id: FileRetrieve['id']\n revision_id: FileRevision['id']\n}): Promise<FileRetrieve> {\n return this.API.request('get_file_revision_data', payload)\n}\n\nexport function updateFile(payload: FileUpdateRequest & { id: File['id'] }): Promise<FileRetrieve> {\n return this.API.request('update_file', payload)\n}\n\nexport function deleteFile(payload: { file_id: File['id'] }): Promise<File['id']> {\n return this.API.request('delete_file', payload)\n}\n\nexport function createFile(payload: Omit<AllFileCreateRequest, 'instance_id'>): Promise<FileRetrieve> {\n return this.API.request('create_file', payload)\n}\n\n/**\n * Dispatches iOS native file selector and returns the selected file.\n *\n * @example\n * // iOS only method to select a file from the device.\n * api.selectDeviceFile()\n */\nexport function selectDeviceFile(): Promise<DeviceFile> {\n return this.API.request('select_device_file')\n}\n\n/**\n * Deletes a local file on iOS devices from Pitcher Folders.\n *\n * @example\n * // iOS only method to delete a local file.\n * api.deleteLocalFile({ url: 'file:///var/mobile/Containers/Data/Application/x/Documents/Pitcher%20Folders/ARPhotocapture/x.png' })\n */\nexport function deleteLocalFile(payload: { url: string }): Promise<void> {\n return this.API.request('delete_local_file', payload)\n}\n","import type { FileRetrieve, FileRevision } from '@openapi'\n\nexport function getFileRevisions(payload: {\n id?: FileRetrieve['id']\n file_id?: FileRetrieve['id']\n}): Promise<FileRevision[]> {\n const { id, file_id } = payload\n return this.API.request('get_file_revisions', { file_id: id || file_id })\n}\n","export function search(payload: { query: string; includeExpired?: boolean }): Promise<any> {\n return this.API.request('search', payload)\n}\n","import type { GetUsersParams, RefreshServiceTokenResponse, RefreshServiceTokenRequest } from '@lib/types/users'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { User } from '@openapi'\n\nexport function getUsers(payload?: GetUsersParams): Promise<PaginatedData<User>> {\n return this.API.request('get_users', payload)\n}\n\n/**\n * Ask for a refreshed Salesforce token. In case the token hasn't expired yet, this method will return the same token as the current one found in the (`getEnv`)[#getenv] result.\n * @returns Promise resolving to an object containing the token\n */\nexport function refreshServiceToken(payload?: RefreshServiceTokenRequest): Promise<RefreshServiceTokenResponse> {\n return this.API.request('refresh_service_token', payload ?? {})\n}\n\nexport function refreshAccessToken() {\n return this.API.request('refresh_access_token')\n}\n","import type { File } from '@openapi'\n\n/**\n * @deprecated - not used anymore\n */\nexport function fetchDocumentInfo(payload: { fileId: File['id'] }): Promise<{\n pageCount: number\n [key: string]: unknown\n}> {\n return this.API.request('fetch_document_info', payload)\n}\n\n/**\n * Renders a page from a file together with annotations.\n *\n * @example\n * api.renderPageAsImage({\n * fileId: '123456',\n * documentId: '654321',\n * pageIndex: 0,\n * params: { width: 1920 },\n * })\n *\n * @returns A promise that resolves with the image as an ArrayBuffer.\n */\nexport function renderPageAsImage(payload: {\n /**\n * The ID of the file to render. Used when the documentId is not available.\n */\n fileId: File['id']\n /**\n * The ID of the document to render (optional). If not provided the fileId will be used.\n */\n documentId?: File['id']\n /**\n * The index of the page to render.\n */\n pageIndex: number\n /**\n * The parameters to use for rendering the page.\n */\n params: { width: number } | { height: number }\n}): Promise<ArrayBuffer> {\n return this.API.request('render_page_as_image', payload)\n}\n","export function toast(payload: { type: string; message: string }): Promise<void> {\n return this.API.request('toast', payload)\n}\n","/**\n * SmartStore Smart SQL Query Utilities\n *\n * This module provides utilities for converting SOQL queries to SmartStore Smart SQL format\n * for offline data access on iOS devices using Salesforce Mobile SDK.\n */\n\n// SQL keywords that should NOT be converted to SmartStore field references\nconst SQL_KEYWORDS = new Set([\n 'SELECT',\n 'FROM',\n 'WHERE',\n 'AND',\n 'OR',\n 'NOT',\n 'IN',\n 'LIKE',\n 'ORDER',\n 'BY',\n 'GROUP',\n 'HAVING',\n 'LIMIT',\n 'OFFSET',\n 'ASC',\n 'DESC',\n 'NULLS',\n 'FIRST',\n 'LAST',\n 'NULL',\n 'TRUE',\n 'FALSE',\n 'COUNT',\n 'SUM',\n 'AVG',\n 'MIN',\n 'MAX',\n 'COUNT_DISTINCT',\n 'CALENDAR_MONTH',\n 'CALENDAR_QUARTER',\n 'CALENDAR_YEAR',\n 'DAY_IN_MONTH',\n 'DAY_IN_WEEK',\n 'DAY_IN_YEAR',\n 'DAY_ONLY',\n 'FISCAL_MONTH',\n 'FISCAL_QUARTER',\n 'FISCAL_YEAR',\n 'HOUR_IN_DAY',\n 'WEEK_IN_MONTH',\n 'WEEK_IN_YEAR',\n 'INCLUDES',\n 'EXCLUDES',\n 'ABOVE',\n 'BELOW',\n 'ABOVE_OR_BELOW',\n 'AT',\n 'TYPEOF',\n 'WHEN',\n 'THEN',\n 'ELSE',\n 'END',\n 'USING',\n 'SCOPE',\n 'DATA',\n 'CATEGORY',\n 'ROLLUP',\n 'CUBE',\n 'FORMAT',\n 'CONVERTCURRENCY',\n 'TOLABEL',\n 'DISTANCE',\n 'GEOLOCATION',\n])\n\n// Aggregate functions that need special handling\nconst AGGREGATE_FUNCTIONS = ['COUNT', 'SUM', 'AVG', 'MIN', 'MAX', 'COUNT_DISTINCT']\n\n/**\n * Checks if a string is a SQL keyword\n */\nfunction isSqlKeyword(word: string): boolean {\n return SQL_KEYWORDS.has(word.toUpperCase())\n}\n\n/**\n * Checks if a value is a literal (string, number, boolean, null, date)\n */\nfunction isLiteralValue(value: string): boolean {\n const trimmed = value.trim()\n\n // Check for quoted strings\n if ((trimmed.startsWith(\"'\") && trimmed.endsWith(\"'\")) || (trimmed.startsWith('\"') && trimmed.endsWith('\"'))) {\n return true\n }\n\n // Check for numbers\n if (/^-?\\d+(\\.\\d+)?$/.test(trimmed)) {\n return true\n }\n\n // Check for boolean\n if (/^(true|false)$/i.test(trimmed)) {\n return true\n }\n\n // Check for null\n if (/^null$/i.test(trimmed)) {\n return true\n }\n\n // Check for date/datetime literals\n if (/^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?(Z|[+-]\\d{2}:\\d{2})?)?$/.test(trimmed)) {\n return true\n }\n\n // Check for date literals like TODAY, YESTERDAY, LAST_N_DAYS:n, etc.\n if (\n /^(TODAY|YESTERDAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|LAST_N_DAYS:\\d+|NEXT_N_DAYS:\\d+|LAST_N_WEEKS:\\d+|NEXT_N_WEEKS:\\d+|LAST_N_MONTHS:\\d+|NEXT_N_MONTHS:\\d+|LAST_N_QUARTERS:\\d+|NEXT_N_QUARTERS:\\d+|LAST_N_YEARS:\\d+|NEXT_N_YEARS:\\d+|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)$/i.test(\n trimmed,\n )\n ) {\n return true\n }\n\n return false\n}\n\n/**\n * Checks if a token is an ISO 8601 datetime literal (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss.sssZ)\n */\nfunction isDateTimeLiteral(token: string): boolean {\n return /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?(Z|[+-]\\d{2}:\\d{2})?)?$/.test(token)\n}\n\n/**\n * Converts a field reference to SmartStore syntax\n * Handles relationship fields (Account.Name) and simple fields (Name)\n *\n * In SmartStore, relationship fields are stored as denormalized nested data within the soup.\n * So `Child_Account_vod__r.Name` becomes `{Child_Account_vod__c:Child_Account_vod__r.Name}`\n * - the full relationship path is preserved within the primary object's soup.\n */\nfunction convertFieldToSmartStore(field: string, primaryObject: string, objectAliases: Map<string, string>): string {\n const trimmed = field.trim()\n\n // Skip if it's a keyword or literal\n if (isSqlKeyword(trimmed) || isLiteralValue(trimmed)) {\n return trimmed\n }\n\n // Handle FIELDS(ALL) placeholder - convert to SmartStore _soup syntax\n // SmartStore uses {ObjectName:_soup} to select all fields from a soup\n if (trimmed === '__FIELDS_ALL_PLACEHOLDER__') {\n return `{${primaryObject}:_soup}`\n }\n\n // Handle wildcard * - should not be wrapped in SmartStore field reference syntax\n if (trimmed === '*') {\n return '*'\n }\n\n // Check if already in SmartStore format\n if (trimmed.startsWith('{') && trimmed.endsWith('}')) {\n return trimmed\n }\n\n // Handle relationship fields (e.g., Account.Name, Child_Account_vod__r.Name)\n // In SmartStore, relationship data is stored denormalized within the soup,\n // so we keep the full path and use the primary object as the soup name\n if (trimmed.includes('.')) {\n // Check if the first part is an alias for the primary object\n const parts = trimmed.split('.')\n const alias = parts[0]\n if (objectAliases.has(alias.toLowerCase()) && objectAliases.get(alias.toLowerCase()) === primaryObject) {\n // It's an alias for the primary object, use the rest as field path\n const fieldPath = parts.slice(1).join('.')\n return `{${primaryObject}:${fieldPath}}`\n }\n // For relationship fields, keep the full path within the primary object's soup\n return `{${primaryObject}:${trimmed}}`\n }\n\n // Simple field - use primary object\n return `{${primaryObject}:${trimmed}}`\n}\n\n/**\n * Converts an aggregate function to SmartStore syntax\n * e.g., COUNT(Id) → COUNT({Account:Id})\n */\nfunction convertAggregateFunction(expr: string, primaryObject: string, objectAliases: Map<string, string>): string {\n for (const func of AGGREGATE_FUNCTIONS) {\n const regex = new RegExp(`\\\\b${func}\\\\s*\\\\(([^)]+)\\\\)`, 'gi')\n expr = expr.replace(regex, (_match, innerField) => {\n const trimmedInner = innerField.trim()\n // Handle COUNT(*)\n if (trimmedInner === '*') {\n return `${func}(*)`\n }\n // Handle DISTINCT\n if (trimmedInner.toUpperCase().startsWith('DISTINCT ')) {\n const fieldPart = trimmedInner.substring(9).trim()\n const smartField = convertFieldToSmartStore(fieldPart, primaryObject, objectAliases)\n return `${func}(DISTINCT ${smartField})`\n }\n const smartField = convertFieldToSmartStore(trimmedInner, primaryObject, objectAliases)\n return `${func}(${smartField})`\n })\n }\n return expr\n}\n\n/**\n * Parses the SELECT clause fields, handling aggregate functions and aliases\n */\nfunction parseSelectFields(selectClause: string): string[] {\n const fields: string[] = []\n let depth = 0\n let currentField = ''\n\n for (let i = 0; i < selectClause.length; i++) {\n const char = selectClause[i]\n\n if (char === '(') {\n depth++\n currentField += char\n } else if (char === ')') {\n depth--\n currentField += char\n } else if (char === ',' && depth === 0) {\n if (currentField.trim()) {\n fields.push(currentField.trim())\n }\n currentField = ''\n } else {\n currentField += char\n }\n }\n\n if (currentField.trim()) {\n fields.push(currentField.trim())\n }\n\n return fields\n}\n\n/**\n * Converts SELECT fields to SmartStore syntax\n */\nfunction convertSelectFields(fields: string[], primaryObject: string, objectAliases: Map<string, string>): string[] {\n return fields.map((field) => {\n // Check for alias (e.g., \"COUNT(Id) cnt\" or \"Name AS n\")\n const aliasMatch = field.match(/^(.+?)\\s+(?:AS\\s+)?([A-Za-z_][A-Za-z0-9_]*)$/i)\n let expression = field\n let alias = ''\n\n if (aliasMatch) {\n expression = aliasMatch[1].trim()\n alias = aliasMatch[2]\n }\n\n // Check if it's an aggregate function\n const hasAggregate = AGGREGATE_FUNCTIONS.some((func) => new RegExp(`\\\\b${func}\\\\s*\\\\(`, 'i').test(expression))\n\n if (hasAggregate) {\n const converted = convertAggregateFunction(expression, primaryObject, objectAliases)\n return alias ? `${converted} ${alias}` : converted\n }\n\n // Regular field\n const converted = convertFieldToSmartStore(expression, primaryObject, objectAliases)\n return alias ? `${converted} ${alias}` : converted\n })\n}\n\n/**\n * Converts SOQL null comparisons to SmartStore (SQL) syntax\n * SOQL: = null, != null\n * SQL: IS NULL, IS NOT NULL\n *\n * IMPORTANT: Process != and <> BEFORE = to avoid partial matches\n */\nfunction convertNullComparisons(clause: string): string {\n // Convert \"!= null\" or \"!=null\" to \"IS NOT NULL\" (case insensitive) - MUST be before = null\n let result = clause.replace(/\\s*!=\\s*null\\b/gi, ' IS NOT NULL')\n\n // Convert \"<> null\" to \"IS NOT NULL\" (case insensitive)\n result = result.replace(/\\s*<>\\s*null\\b/gi, ' IS NOT NULL')\n\n // Convert \"= null\" or \"=null\" to \"IS NULL\" (case insensitive) - MUST be after != null\n result = result.replace(/\\s*=\\s*null\\b/gi, ' IS NULL')\n\n return result\n}\n\n/**\n * Converts WHERE clause to SmartStore syntax\n * Preserves operators, literals, and keywords while converting field references\n * Also converts SOQL null comparisons (= null, != null) to SQL syntax (IS NULL, IS NOT NULL)\n */\nfunction convertWhereClause(whereClause: string, primaryObject: string, objectAliases: Map<string, string>): string {\n // Tokenize the WHERE clause while preserving structure\n let result = ''\n let i = 0\n const len = whereClause.length\n\n while (i < len) {\n const char = whereClause[i]\n\n // Skip whitespace\n if (/\\s/.test(char)) {\n result += char\n i++\n continue\n }\n\n // Handle quoted strings - pass through unchanged\n if (char === \"'\" || char === '\"') {\n const quote = char\n result += char\n i++\n while (i < len && whereClause[i] !== quote) {\n // Handle escaped quotes\n if (whereClause[i] === '\\\\' && i + 1 < len) {\n result += whereClause[i] + whereClause[i + 1]\n i += 2\n } else {\n result += whereClause[i]\n i++\n }\n }\n if (i < len) {\n result += whereClause[i]\n i++\n }\n continue\n }\n\n // Handle operators and special characters\n if (/[()=<>!,]/.test(char)) {\n result += char\n i++\n // Handle multi-char operators\n if ((char === '!' || char === '<' || char === '>') && i < len && whereClause[i] === '=') {\n result += whereClause[i]\n i++\n }\n continue\n }\n\n // Handle identifiers and keywords\n if (/[a-zA-Z_]/.test(char)) {\n let identifier = ''\n while (i < len && /[a-zA-Z0-9_.]/.test(whereClause[i])) {\n identifier += whereClause[i]\n i++\n }\n\n // Check if it's a keyword, literal, or field\n if (isSqlKeyword(identifier) || isLiteralValue(identifier)) {\n result += identifier\n } else {\n // It's a field reference\n result += convertFieldToSmartStore(identifier, primaryObject, objectAliases)\n }\n continue\n }\n\n // Handle numbers and datetime literals\n if (/[0-9-]/.test(char)) {\n let token = ''\n\n // Handle negative numbers or dates starting with digit\n if (char === '-') {\n token += char\n i++\n }\n\n // Read digits, dots, colons, and dashes for dates/datetimes\n while (i < len && /[0-9.:\\-TZ+]/.test(whereClause[i])) {\n token += whereClause[i]\n i++\n }\n\n // Wrap datetime literals in single quotes for Smart SQL (SQLite requirement)\n if (isDateTimeLiteral(token)) {\n result += `'${token}'`\n } else {\n result += token\n }\n continue\n }\n\n // Pass through any other character\n result += char\n i++\n }\n\n // Convert SOQL null comparisons to SQL syntax\n result = convertNullComparisons(result)\n\n return result\n}\n\n/**\n * Parses ORDER BY clause into field and direction pairs\n */\nfunction parseOrderByClause(orderByClause: string): Array<{ field: string; direction: string }> {\n const result: Array<{ field: string; direction: string }> = []\n\n // Split by comma, but be careful with functions\n const parts = orderByClause.split(/,(?![^()]*\\))/)\n\n for (const part of parts) {\n const trimmed = part.trim()\n if (!trimmed) continue\n\n // Match field and optional direction (ASC/DESC) and NULLS FIRST/LAST\n const match = trimmed.match(/^(.+?)\\s*(ASC|DESC)?\\s*(NULLS\\s+(?:FIRST|LAST))?$/i)\n\n if (match) {\n const field = match[1].trim()\n let direction = match[2] ? match[2].toUpperCase() : ''\n if (match[3]) {\n direction += (direction ? ' ' : '') + match[3].toUpperCase()\n }\n result.push({ field, direction })\n } else {\n result.push({ field: trimmed, direction: '' })\n }\n }\n\n return result\n}\n\n/**\n * Converts ORDER BY fields to SmartStore syntax\n */\nfunction convertOrderByFields(\n orderByParts: Array<{ field: string; direction: string }>,\n primaryObject: string,\n objectAliases: Map<string, string>,\n): string[] {\n return orderByParts.map(({ field, direction }) => {\n // Check for aggregate functions\n const hasAggregate = AGGREGATE_FUNCTIONS.some((func) => new RegExp(`\\\\b${func}\\\\s*\\\\(`, 'i').test(field))\n\n let convertedField: string\n if (hasAggregate) {\n convertedField = convertAggregateFunction(field, primaryObject, objectAliases)\n } else {\n convertedField = convertFieldToSmartStore(field, primaryObject, objectAliases)\n }\n\n return direction ? `${convertedField} ${direction}` : convertedField\n })\n}\n\n/**\n * Parses GROUP BY clause fields\n */\nfunction parseGroupByClause(groupByClause: string): string[] {\n return groupByClause\n .split(/,(?![^()]*\\))/)\n .map((f) => f.trim())\n .filter(Boolean)\n}\n\n/**\n * Converts GROUP BY fields to SmartStore syntax\n */\nfunction convertGroupByFields(fields: string[], primaryObject: string, objectAliases: Map<string, string>): string[] {\n return fields.map((field) => {\n // Check for aggregate functions (ROLLUP, CUBE)\n if (/^(ROLLUP|CUBE)\\s*\\(/i.test(field)) {\n return field.replace(/\\(([^)]+)\\)/g, (_match, inner) => {\n const innerFields = inner.split(',').map((f: string) => f.trim())\n const converted = innerFields.map((f: string) => convertFieldToSmartStore(f, primaryObject, objectAliases))\n return `(${converted.join(', ')})`\n })\n }\n return convertFieldToSmartStore(field, primaryObject, objectAliases)\n })\n}\n\n/**\n * Extracts FROM clause and any JOINs\n * Returns the primary object and any joined objects\n */\nfunction parseFromClause(fromClause: string): {\n primary: string\n alias?: string\n joins: Array<{ object: string; alias?: string; type: string; on?: string }>\n} {\n const joins: Array<{ object: string; alias?: string; type: string; on?: string }> = []\n\n // Match primary object with optional alias\n const primaryMatch = fromClause.match(/^([A-Za-z0-9_]+)(?:\\s+(?:AS\\s+)?([A-Za-z_][A-Za-z0-9_]*))?/i)\n\n if (!primaryMatch) {\n return { primary: '', joins }\n }\n\n const primary = primaryMatch[1]\n const alias = primaryMatch[2]\n\n // Match JOIN clauses\n const joinRegex =\n /(LEFT\\s+OUTER\\s+JOIN|LEFT\\s+JOIN|INNER\\s+JOIN|JOIN)\\s+([A-Za-z0-9_]+)(?:\\s+(?:AS\\s+)?([A-Za-z_][A-Za-z0-9_]*))?\\s+ON\\s+([^,]+?)(?=(?:LEFT|INNER|JOIN|$))/gi\n let joinMatch\n\n while ((joinMatch = joinRegex.exec(fromClause)) !== null) {\n joins.push({\n type: joinMatch[1].toUpperCase().replace(/\\s+/g, ' '),\n object: joinMatch[2],\n alias: joinMatch[3],\n on: joinMatch[4]?.trim(),\n })\n }\n\n return { primary, alias, joins }\n}\n\n/**\n * Removes subqueries (parenthesized SELECT statements) from a query string.\n * Returns the query with subqueries replaced by a placeholder.\n * This is needed because SmartStore doesn't support SOQL-style subqueries.\n */\nfunction removeSubqueries(query: string): { cleanQuery: string; subqueries: string[] } {\n const subqueries: string[] = []\n let cleanQuery = ''\n let depth = 0\n let currentSubquery = ''\n let inSubquery = false\n\n for (let i = 0; i < query.length; i++) {\n const char = query[i]\n\n if (char === '(') {\n depth++\n if (depth === 1) {\n // Check if this starts a subquery (SELECT keyword inside parentheses).\n // Require SELECT followed by whitespace so we don't strip WHERE conditions\n // that use field names like Selected__c or Selection_Type__c.\n const remaining = query.substring(i + 1).trimStart()\n if (/^SELECT\\s/i.test(remaining)) {\n inSubquery = true\n currentSubquery = char\n continue\n }\n }\n if (inSubquery) {\n currentSubquery += char\n } else {\n cleanQuery += char\n }\n } else if (char === ')') {\n if (inSubquery) {\n currentSubquery += char\n depth--\n if (depth === 0) {\n // End of subquery\n subqueries.push(currentSubquery)\n currentSubquery = ''\n inSubquery = false\n }\n } else {\n depth--\n cleanQuery += char\n }\n } else {\n if (inSubquery) {\n currentSubquery += char\n } else {\n cleanQuery += char\n }\n }\n }\n\n return { cleanQuery, subqueries }\n}\n\n/**\n * Finds the main FROM clause in a query, ignoring any FROM clauses inside subqueries.\n * Returns the object name and the query with subqueries removed, so callers can reuse\n * the cleaned query and avoid parsing twice.\n */\nexport function findMainFromClause(query: string): { primaryObject: string | null; cleanQuery: string } {\n const { cleanQuery } = removeSubqueries(query)\n\n const fromMatch = cleanQuery.match(\n /FROM\\s+([A-Za-z0-9_]+)(?:\\s+(?:AS\\s+)?[A-Za-z_][A-Za-z0-9_]*)?(?=\\s+WHERE\\s+|\\s+ORDER\\s+BY\\s+|\\s+GROUP\\s+BY\\s+|\\s+HAVING\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n )\n\n const primaryObject = fromMatch ? fromMatch[1] : null\n return { primaryObject, cleanQuery }\n}\n\n/**\n * Comprehensive SOQL to SmartStore Smart Query converter\n *\n * Converts standard SOQL queries to SmartStore Smart SQL format for offline use on iOS.\n * Handles SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING, LIMIT, OFFSET,\n * aggregate functions, and relationship fields.\n *\n * SmartStore stores denormalized data, so relationship fields are accessed directly\n * within the soup using the full relationship path (e.g., Child_Account_vod__r.Name).\n *\n * NOTE: SOQL subqueries (e.g., SELECT ... (SELECT ... FROM EventRelations) FROM Event)\n * are NOT supported by SmartStore. The subqueries will be removed and the data\n * should be fetched separately if needed.\n *\n * @param soqlQuery - The SOQL query string to convert\n * @returns The converted SmartStore Smart SQL query string\n *\n * @example\n * // Simple query\n * convertSoqlToSmartQuery('SELECT Id, Name FROM Account WHERE Active = true')\n * // Returns: SELECT {Account:Id}, {Account:Name} FROM {Account} WHERE {Account:Active} = true\n *\n * @example\n * // With relationship fields (denormalized access - no joins needed)\n * convertSoqlToSmartQuery('SELECT Id, Child_Account_vod__r.Name FROM Child_Account_vod__c')\n * // Returns: SELECT {Child_Account_vod__c:Id}, {Child_Account_vod__c:Child_Account_vod__r.Name} FROM {Child_Account_vod__c}\n *\n * @example\n * // With aggregate functions\n * convertSoqlToSmartQuery('SELECT COUNT(Id), Industry FROM Account GROUP BY Industry')\n * // Returns: SELECT COUNT({Account:Id}), {Account:Industry} FROM {Account} GROUP BY {Account:Industry}\n *\n * @example\n * // With ORDER BY and LIMIT\n * convertSoqlToSmartQuery('SELECT Id, Name FROM Contact ORDER BY LastName ASC, FirstName DESC LIMIT 100')\n * // Returns: SELECT {Contact:Id}, {Contact:Name} FROM {Contact} ORDER BY {Contact:LastName} ASC, {Contact:FirstName} DESC LIMIT 100\n */\nexport function convertSoqlToSmartQuery(soqlQuery: string): string {\n if (!soqlQuery || typeof soqlQuery !== 'string') {\n return ''\n }\n\n // Normalize whitespace\n let normalizedQuery = soqlQuery.replace(/\\s+/g, ' ').trim()\n\n // Find the main FROM clause and get query with subqueries removed (single parse)\n const { primaryObject, cleanQuery } = findMainFromClause(normalizedQuery)\n\n if (!primaryObject) {\n return soqlQuery\n }\n\n normalizedQuery = cleanQuery\n\n // Replace SOQL-specific FIELDS() syntax with __FIELDS_ALL_PLACEHOLDER__\n // We'll replace this with {ObjectName:_soup} after we know the object name\n // FIELDS(ALL), FIELDS(STANDARD), FIELDS(CUSTOM) are SOQL-specific and not supported by SmartStore,\n // uses {ObjectName:_soup} to select all fields from a soup\n normalizedQuery = normalizedQuery.replace(\n /\\bFIELDS\\s*\\(\\s*(ALL|STANDARD|CUSTOM)\\s*\\)/gi,\n '__FIELDS_ALL_PLACEHOLDER__',\n )\n\n // Extract SELECT clause (from the clean query without subqueries)\n const selectMatch = normalizedQuery.match(/SELECT\\s+([\\s\\S]+?)\\s+FROM\\s+/i)\n if (!selectMatch) {\n return soqlQuery\n }\n\n // Extract FROM clause to get any alias\n const fromMatch = normalizedQuery.match(\n /FROM\\s+([\\s\\S]+?)(?=\\s+WHERE\\s+|\\s+ORDER\\s+BY\\s+|\\s+GROUP\\s+BY\\s+|\\s+HAVING\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n )\n\n // Parse FROM clause to get alias if present\n const fromParsed = fromMatch ? parseFromClause(fromMatch[1].trim()) : { primary: primaryObject, joins: [] }\n\n // Extract other clauses\n const whereMatch = normalizedQuery.match(\n /WHERE\\s+([\\s\\S]+?)(?=\\s+ORDER\\s+BY\\s+|\\s+GROUP\\s+BY\\s+|\\s+HAVING\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n )\n const groupByMatch = normalizedQuery.match(\n /GROUP\\s+BY\\s+([\\s\\S]+?)(?=\\s+HAVING\\s+|\\s+ORDER\\s+BY\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n )\n const havingMatch = normalizedQuery.match(/HAVING\\s+([\\s\\S]+?)(?=\\s+ORDER\\s+BY\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i)\n const orderByMatch = normalizedQuery.match(/ORDER\\s+BY\\s+([\\s\\S]+?)(?=\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i)\n const limitMatch = normalizedQuery.match(/LIMIT\\s+(\\d+)/i)\n const offsetMatch = normalizedQuery.match(/OFFSET\\s+(\\d+)/i)\n\n // Build alias map for the primary object\n // SmartStore stores denormalized data, so relationship fields are accessed\n // directly within the soup without needing joins\n const objectAliases = new Map<string, string>()\n if (fromParsed.alias) {\n objectAliases.set(fromParsed.alias.toLowerCase(), primaryObject)\n }\n objectAliases.set(primaryObject.toLowerCase(), primaryObject)\n\n // Build the Smart Query\n const parts: string[] = []\n\n // SELECT clause\n const selectFields = parseSelectFields(selectMatch[1].trim())\n const smartSelectFields = convertSelectFields(selectFields, primaryObject, objectAliases)\n parts.push(`SELECT ${smartSelectFields.join(', ')}`)\n\n // FROM clause - just the primary object (SmartStore stores denormalized data)\n parts.push(`FROM {${primaryObject}}`)\n\n // WHERE clause\n const whereConditions: string[] = []\n\n // Add original WHERE conditions\n if (whereMatch) {\n const smartWhere = convertWhereClause(whereMatch[1].trim(), primaryObject, objectAliases)\n whereConditions.push(smartWhere)\n }\n\n // Combine all WHERE conditions\n if (whereConditions.length > 0) {\n parts.push(`WHERE ${whereConditions.join(' AND ')}`)\n }\n\n // GROUP BY clause\n if (groupByMatch) {\n const groupByFields = parseGroupByClause(groupByMatch[1].trim())\n const smartGroupBy = convertGroupByFields(groupByFields, primaryObject, objectAliases)\n parts.push(`GROUP BY ${smartGroupBy.join(', ')}`)\n }\n\n // HAVING clause\n if (havingMatch) {\n const smartHaving = convertWhereClause(havingMatch[1].trim(), primaryObject, objectAliases)\n parts.push(`HAVING ${smartHaving}`)\n }\n\n // ORDER BY clause\n if (orderByMatch) {\n const orderByParts = parseOrderByClause(orderByMatch[1].trim())\n const smartOrderBy = convertOrderByFields(orderByParts, primaryObject, objectAliases)\n parts.push(`ORDER BY ${smartOrderBy.join(', ')}`)\n }\n\n // LIMIT clause\n if (limitMatch) {\n parts.push(`LIMIT ${limitMatch[1]}`)\n }\n\n // OFFSET clause\n if (offsetMatch) {\n parts.push(`OFFSET ${offsetMatch[1]}`)\n }\n\n return parts.join(' ')\n}\n","import { highLevelApi } from '@sdk/main'\nimport type {\n QueryPayload,\n CRMQueryPayload,\n UpsertCRMObjectsPayload,\n CRMSmartObjectValidationRulesPayload,\n CRMSmartObjectMetadataPayload,\n CRMSmartObjectLayoutPayload,\n CRMSmartDeleteObjectsPayload,\n CRMCreatePayload,\n CRMUpsertPayload,\n CRMDescribePayload,\n CRMLayoutPayload,\n} from '@sdk/payload.types'\nimport { convertSoqlToSmartQuery, findMainFromClause } from '@lib/util/smart-store.util'\n\nexport function query(payload: QueryPayload) {\n return highLevelApi.API.request('query', payload)\n}\n\nexport function crmQuery(payload: CRMQueryPayload): Promise<any> {\n return highLevelApi.API.request('crm_query', payload)\n}\n\n/**\n * Extracts field names from the main SOQL query's SELECT clause (ignores subqueries).\n * Handles simple fields, relationship fields (Account.Name), and aliases.\n */\nfunction extractFieldsFromSoql(soqlQuery: string): string[] {\n const { cleanQuery } = findMainFromClause(soqlQuery.replace(/\\s+/g, ' ').trim())\n const selectMatch = cleanQuery.match(/SELECT\\s+([\\s\\S]+?)\\s+FROM\\s+/i)\n if (!selectMatch) return []\n\n const selectClause = selectMatch[1]\n const fields: string[] = []\n let depth = 0\n let currentField = ''\n\n for (let i = 0; i < selectClause.length; i++) {\n const char = selectClause[i]\n\n if (char === '(') {\n depth++\n currentField += char\n } else if (char === ')') {\n depth--\n currentField += char\n } else if (char === ',' && depth === 0) {\n if (currentField.trim()) {\n fields.push(currentField.trim())\n }\n currentField = ''\n } else {\n currentField += char\n }\n }\n\n if (currentField.trim()) {\n fields.push(currentField.trim())\n }\n\n // Extract just the field name (handle aliases like \"Name AS n\" or relationship fields like \"Account.Name\")\n return fields.map((field) => {\n // Remove alias (AS keyword or space followed by identifier)\n const aliasMatch = field.match(/^(.+?)\\s+(?:AS\\s+)?([A-Za-z_][A-Za-z0-9_]*)$/i)\n const fieldExpr = aliasMatch ? aliasMatch[1].trim() : field.trim()\n\n // For relationship fields like \"Account.Name\", keep the last part as the field name,\n // but we'll use the full expression for matching\n return fieldExpr\n })\n}\n\n/**\n * Extracts the primary object name from the main SOQL query's FROM clause (ignores subqueries).\n */\nfunction extractObjectFromSoql(soqlQuery: string): string {\n const { primaryObject } = findMainFromClause(soqlQuery.replace(/\\s+/g, ' ').trim())\n return primaryObject ?? ''\n}\n\n/**\n * Sets a nested property on an object using a dot-separated path.\n * For example, setNestedProperty(obj, 'Child_Account_vod__r.Name', 'John')\n * results in { Child_Account_vod__r: { Name: 'John' } }\n */\nfunction setNestedProperty(obj: Record<string, any>, path: string, value: any): void {\n const parts = path.split('.')\n\n if (parts.length === 1) {\n // Simple field - set directly\n obj[path] = value\n return\n }\n\n // Relationship field - create nested structure\n let current = obj\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i]\n if (!current[part] || typeof current[part] !== 'object') {\n current[part] = {}\n }\n current = current[part]\n }\n current[parts[parts.length - 1]] = value\n}\n\n/**\n * Checks if a field is a special \"all fields\" selector.\n * These include FIELDS(ALL), FIELDS(STANDARD), FIELDS(CUSTOM), and wildcard *.\n */\nfunction isAllFieldsSelector(field: string): boolean {\n const trimmed = field.trim()\n return trimmed === '*' || /^FIELDS\\s*\\(\\s*(ALL|STANDARD|CUSTOM)\\s*\\)$/i.test(trimmed)\n}\n\n/**\n * Transforms SmartStore query results (array of arrays) into CRM query format (array of objects).\n * Handles relationship fields by creating nested objects matching Salesforce REST API format.\n *\n * For example, field \"Child_Account_vod__r.Name\" with value \"John\" becomes:\n * { Child_Account_vod__r: { Name: \"John\" } }\n *\n * Special handling for FIELDS(ALL), FIELDS(STANDARD), FIELDS(CUSTOM), and * selectors:\n * When these are used, SmartStore returns the entire soup object, which is spread into the record\n * instead of being assigned to a single field key.\n *\n * @param smartStoreResults - Array of arrays from SmartStore query\n * @param fields - Field names from the original SOQL query\n * @param objectName - Primary object name from the SOQL query\n * @returns Array of objects matching CRM query result format\n */\nfunction transformSmartStoreResults(smartStoreResults: any[][], fields: string[], objectName: string): any[] {\n if (!smartStoreResults || !Array.isArray(smartStoreResults)) {\n return []\n }\n\n return smartStoreResults.map((row) => {\n const record: Record<string, any> = {}\n\n // Map each value to its field name, creating nested objects for relationship fields\n fields.forEach((field, index) => {\n if (index < row.length) {\n const value = row[index]\n\n // Special handling for \"all fields\" selectors (FIELDS(ALL), FIELDS(STANDARD), FIELDS(CUSTOM), *)\n // SmartStore returns the entire soup entry as a single object for {ObjectName:_soup}\n // Spread its properties into the record instead of assigning to a single field key\n if (isAllFieldsSelector(field)) {\n if (value && typeof value === 'object' && !Array.isArray(value)) {\n // Spread all properties from the soup object into the record\n Object.assign(record, value)\n }\n } else {\n // Regular field - set normally\n setNestedProperty(record, field, value)\n }\n }\n })\n\n // Add attributes object (similar to Salesforce REST API format)\n // Get Id from the record if it exists for the URL\n const recordId = record['Id'] || record['id'] || ''\n record['attributes'] = {\n type: objectName,\n url: recordId ? `/services/data/v57.0/sobjects/${objectName}/${recordId}` : '',\n }\n\n return record\n })\n}\n\n/**\n * Executes a CRM query with automatic iOS/SmartStore adaptation.\n *\n * On iOS devices with the 'sfdc_offline_enabled' LaunchDarkly flag enabled,\n * this function automatically converts SOQL queries to SmartStore Smart SQL format\n * and uses the local SmartStore for offline data access.\n * On other platforms or when the flag is disabled, it uses the standard CRM query API.\n *\n * @param {CRMQueryPayload} payload - The query payload containing the SOQL query string.\n * @returns {Promise<any>} - Promise resolving with query results.\n *\n * @example\n * // Works on all platforms - automatically adapts for iOS with sfdc_offline_enabled LD flag\n * const result = await crmQueryAdaptive({ query: 'SELECT Id, Name FROM Account WHERE Active = true' })\n */\nexport async function crmQueryAdaptive(payload: CRMQueryPayload): Promise<any> {\n const query = payload.query\n\n if (!query || typeof query !== 'string') {\n return Promise.reject(new Error('Query is required and must be a string'))\n }\n\n // Check if SmartStore should be used (iOS + sfdc_offline_enabled LD flag)\n let useSmartStore = false\n try {\n const env: any = await highLevelApi.API.request('get_env')\n const isIos = env?.mode === 'IOS'\n const isSfdcSyncEnabled = env?.launch_darkly?.sfdc_offline_enabled === true\n useSmartStore = isIos && isSfdcSyncEnabled\n } catch {\n useSmartStore = false\n }\n\n console.log(`[crmQueryAdaptive] Called query: `, query)\n if (useSmartStore) {\n // Extract field names and object name from the original SOQL query\n const fields = extractFieldsFromSoql(query)\n const objectName = extractObjectFromSoql(query)\n\n // Convert SOQL to SmartStore Smart SQL\n let smartQuery = convertSoqlToSmartQuery(query)\n\n // Add SmartStore filter to exclude locally deleted records (unless already in query).\n // SmartStore stores boolean flags as 0/1, 'false'/'true', or NULL.\n if (!smartQuery.includes('__locally_deleted__')) {\n const fromMatch = smartQuery.match(/FROM\\s+\\{([A-Za-z0-9_]+)\\}/)\n const primaryObject = fromMatch?.[1]\n if (primaryObject) {\n const filter = `({${primaryObject}:__locally_deleted__} = 0 OR {${primaryObject}:__locally_deleted__} = 'false' OR {${primaryObject}:__locally_deleted__} IS NULL)`\n if (smartQuery.includes(' WHERE ')) {\n // Wrap existing conditions in parentheses so AND binds to the whole clause.\n // Otherwise \"A OR B\" + \" AND filter\" becomes A OR (B AND filter) by precedence.\n smartQuery = smartQuery.replace(\n /\\s+WHERE\\s+([\\s\\S]+?)(?=\\s+ORDER\\s+BY\\s+|\\s+GROUP\\s+BY\\s+|\\s+HAVING\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n (_, conditions) => ` WHERE (${conditions}) AND ${filter}`,\n )\n } else {\n // Insert WHERE after FROM {Object}, before ORDER BY / LIMIT / etc. (appending would produce invalid SQL)\n smartQuery = smartQuery.replace(\n /(FROM\\s+\\{[A-Za-z0-9_]+\\})((\\s+(?:ORDER\\s+BY|GROUP\\s+BY|HAVING|LIMIT|OFFSET)[\\s\\S]*)?)$/i,\n (_, fromClause, rest) => `${fromClause} WHERE ${filter}${rest}`,\n )\n }\n }\n }\n\n console.log(`[crmSmartQuery] Called query: `, smartQuery)\n\n // Execute SmartStore query\n const smartStoreResults = await crmSmartQuery({ query: smartQuery })\n\n // Transform results to match CRM query format\n const records = transformSmartStoreResults(smartStoreResults, fields, objectName)\n console.log(`[SmartStore] Results: `, records)\n\n return {\n records,\n totalSize: records.length,\n }\n }\n\n // Non-iOS or setting disabled: use standard CRM query\n return crmQuery(payload)\n}\n\n/**\n * Executes a SmartStore query against local CRM data (iOS only).\n * Uses Salesforce Mobile SDK SmartStore query syntax.\n * Validates that the query uses SmartStore syntax before execution.\n *\n * @param {CRMQueryPayload} payload - The query payload containing the SmartStore query string.\n * @returns {Promise<Array<any>>} - Promise resolving with an array of query results from SmartStore.\n * @throws {Error} - Throws an error if the query is not a valid SmartStore query.\n *\n * @example\n * // iOS only method to execute a SmartStore query.\n * api.crmSmartQuery({ query: 'SELECT {Account:Id}, {Account:Name} FROM {Account} ORDER BY {Account:Name} LIMIT 10' })\n */\nexport function crmSmartQuery(payload: CRMQueryPayload): Promise<Array<any>> {\n const query = payload.query\n\n // Validate SmartStore query syntax: must contain {soupName:fieldPath} pattern\n if (!query || typeof query !== 'string') {\n return Promise.reject(new Error('Query is required and must be a string'))\n }\n\n const smartStorePattern = /\\{[^}]+:[^}]+}/\n if (!smartStorePattern.test(query.trim())) {\n return Promise.reject(\n new Error(\n 'Invalid SmartStore query syntax. SmartStore queries must use curly braces syntax: {SoupName:FieldName}',\n ),\n )\n }\n\n return highLevelApi.API.request('crm_smart_query', payload)\n}\n\n/**\n * Retrieves metadata for a CRM smart object (iOS only).\n * Fetches object metadata from the Salesforce Mobile SDK cache.\n *\n * @param {CRMSmartObjectMetadataPayload} payload - The payload containing the object name.\n * @returns {Promise<any>} - Promise resolving with the object metadata.\n * @throws {Error} - Throws an error if the object name is not provided.\n *\n * @example\n * // iOS only method to retrieve CRM object metadata.\n * api.crmSmartObjectMetadata({ object: 'Account' })\n */\nexport function crmSmartObjectMetadata(payload: CRMSmartObjectMetadataPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n const objectName = payload.object\n\n if (!objectName || typeof objectName !== 'string' || objectName.trim() === '') {\n return Promise.reject(new Error('Object name is required and must be a non-empty string'))\n }\n\n if (\n payload.record_type_id !== undefined &&\n (typeof payload.record_type_id !== 'string' || payload.record_type_id.trim() === '')\n ) {\n return Promise.reject(new Error('record_type_id must be a non-empty string if provided'))\n }\n\n return highLevelApi.API.request('crm_smart_object_metadata', payload)\n}\n\n/**\n * Upserts CRM objects into local CRM data (iOS only).\n * Uses Salesforce Mobile SDK SmartStore to insert or update records.\n * Each object in the payload specifies a table name, the objects to upsert, and an optional external ID path.\n *\n * **Important**: Always provide `external_id_path` when performing updates to ensure records are\n * matched correctly. Without it, the operation may create duplicate records instead of updating existing ones.\n *\n * **Note**: When creating new records, you must provide an explicit identifier field (e.g., `Id`)\n * in each record object passed from the frontend. The backend does not auto-generate IDs.\n *\n * @param {UpsertCRMObjectsPayload} payload - The upsert payload containing an array of UpsertCRMObject items.\n * @returns {Promise<any>} - Promise resolving with the result of the upsert operation.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // iOS only method to upsert CRM objects.\n *\n * // Updating existing records - always include external_id_path\n * api.crmSmartUpsertObjects({\n * objects: [\n * {\n * table_name: 'Account',\n * objects: [{ Id: '001xx000003DGbQAAW', Name: 'Acme Corp Updated' }],\n * external_id_path: 'Id' // Required for updates to match existing records\n * }\n * ]\n * })\n *\n * // Creating new records - explicit ID required in each record\n * api.crmSmartUpsertObjects({\n * objects: [\n * {\n * table_name: 'Account',\n * objects: [\n * { Id: '001xx000003NEW001', Name: 'New Company' }, // Explicit ID required\n * { Id: '001xx000003NEW002', Name: 'Another Company' }\n * ]\n * }\n * ]\n * })\n */\nexport function crmSmartUpsertObjects(payload: UpsertCRMObjectsPayload): Promise<any> {\n if (!payload || !payload.objects || !Array.isArray(payload.objects)) {\n return Promise.reject(new Error('Payload must contain an array of objects'))\n }\n\n if (payload.objects.length === 0) {\n return Promise.reject(new Error('Objects array cannot be empty'))\n }\n\n for (const obj of payload.objects) {\n if (!obj) {\n return Promise.reject(new Error('Objects array cannot contain null or undefined elements'))\n }\n\n if (!obj.table_name || typeof obj.table_name !== 'string' || obj.table_name.trim() === '') {\n return Promise.reject(new Error('Each object must have a valid non-empty table_name'))\n }\n\n // Validate external_id_path if provided\n if (obj.external_id_path !== undefined) {\n if (typeof obj.external_id_path !== 'string' || obj.external_id_path.trim() === '') {\n return Promise.reject(\n new Error(\n `Object for table ${obj.table_name} has invalid external_id_path. It must be a non-empty string or undefined.`,\n ),\n )\n }\n }\n\n if (!obj.objects || !Array.isArray(obj.objects) || obj.objects.length === 0) {\n return Promise.reject(new Error(`Object for table ${obj.table_name} must have a non-empty objects array`))\n }\n\n // Validate that inner objects array doesn't contain null/undefined elements or arrays\n for (let i = 0; i < obj.objects.length; i++) {\n const record = obj.objects[i]\n if (!record || typeof record !== 'object' || Array.isArray(record)) {\n return Promise.reject(\n new Error(\n `Object for table ${obj.table_name} contains invalid element at index ${i}. All records must be valid objects, not null, undefined, or arrays.`,\n ),\n )\n }\n }\n }\n\n console.log('[crmSmartUpsertObjects] Request payload:', JSON.stringify(payload, null, 2))\n\n return highLevelApi.API.request('crm_smart_upsert_objects', payload)\n .then((result) => {\n console.log('[crmSmartUpsertObjects] Success:', result)\n return result\n })\n .catch((error) => {\n console.error('[crmSmartUpsertObjects] Error:', error)\n throw error\n })\n}\n/**\n * Retrieves validation rules for a CRM smart object (iOS only).\n * This method fetches the validation rules configured for a specific CRM object type\n * from the local SmartStore cache.\n *\n * @param {CRMSmartObjectValidationRulesPayload} payload - The payload containing the object name.\n * @returns {Promise<any>} - Promise resolving with the validation rules for the specified object.\n *\n * @example\n * // iOS only method to get validation rules for an Account object.\n * api.crmSmartObjectValidationRules({ object: 'Account' })\n *\n * @example\n * // Get validation rules for a Contact object.\n * api.crmSmartObjectValidationRules({ object: 'Contact' })\n */\nexport function crmSmartObjectValidationRules(payload: CRMSmartObjectValidationRulesPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n const objectName = payload.object\n\n if (!objectName || typeof objectName !== 'string' || objectName.trim() === '') {\n return Promise.reject(new Error('Object name is required and must be a non-empty string'))\n }\n\n return highLevelApi.API.request('crm_smart_object_validation_rules', payload)\n}\n\n/**\n * Retrieves layout information for a CRM smart object (iOS only).\n * Fetches object layout metadata from the Salesforce Mobile SDK cache.\n *\n * @param {CRMSmartObjectLayoutPayload} payload - The payload containing the object name and optional layout parameters.\n * @returns {Promise<any>} - Promise resolving with the object layout metadata.\n * @throws {Error} - Throws an error if the object name is not provided.\n *\n * @example\n * // iOS only method to retrieve CRM object layout.\n * api.crmSmartObjectLayout({ object: 'Account' })\n *\n * @example\n * // Get layout with specific form factor and mode.\n * api.crmSmartObjectLayout({ object: 'Account', form_factor: 'Large', mode: 'Edit' })\n */\nexport function crmSmartObjectLayout(payload: CRMSmartObjectLayoutPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n const objectName = payload.object\n\n if (!objectName || typeof objectName !== 'string' || objectName.trim() === '') {\n return Promise.reject(new Error('Object name is required and must be a non-empty string'))\n }\n\n return highLevelApi.API.request('crm_smart_object_layout', payload)\n}\n\n/**\n * Deletes CRM objects from local CRM data (iOS only).\n * Uses Salesforce Mobile SDK SmartStore to delete records.\n * Each object in the payload specifies a table name and an array of IDs to delete.\n *\n * @param {CRMSmartDeleteObjectsPayload} payload - The delete payload containing an array of CRMDeleteObject items.\n * @returns {Promise<any>} - Promise resolving with the result of the delete operation.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // iOS only method to delete CRM objects.\n * api.crmSmartDeleteObjects({\n * objects: [\n * {\n * table_name: 'Account',\n * ids: ['001xx000003DGbQAAW', '001xx000003DGbRABW']\n * },\n * {\n * table_name: 'Contact',\n * ids: ['003xx000004TmiQAAS']\n * }\n * ]\n * })\n */\nexport function crmSmartDeleteObjects(payload: CRMSmartDeleteObjectsPayload): Promise<any> {\n if (!payload || !payload.objects || !Array.isArray(payload.objects)) {\n return Promise.reject(new Error('Payload must contain an array of objects'))\n }\n\n if (payload.objects.length === 0) {\n return Promise.reject(new Error('Objects array cannot be empty'))\n }\n\n for (const obj of payload.objects) {\n if (!obj) {\n return Promise.reject(new Error('Objects array cannot contain null or undefined elements'))\n }\n\n if (!obj.table_name || typeof obj.table_name !== 'string' || obj.table_name.trim() === '') {\n return Promise.reject(new Error('Each object must have a valid non-empty table_name'))\n }\n\n if (!obj.ids || !Array.isArray(obj.ids) || obj.ids.length === 0) {\n return Promise.reject(new Error(`Object for table ${obj.table_name} must have a non-empty ids array`))\n }\n\n // Validate that ids array contains only non-empty strings\n for (let i = 0; i < obj.ids.length; i++) {\n const id = obj.ids[i]\n if (!id || typeof id !== 'string' || id.trim() === '') {\n return Promise.reject(\n new Error(\n `Object for table ${obj.table_name} contains invalid id at index ${i}. All IDs must be non-empty strings.`,\n ),\n )\n }\n }\n }\n\n console.log('[crmSmartDeleteObjects] Request payload:', JSON.stringify(payload, null, 2))\n\n return highLevelApi.API.request('crm_smart_delete_objects', payload)\n .then((result) => {\n console.log('[crmSmartDeleteObjects] Success:', result)\n return result\n })\n .catch((error) => {\n console.error('[crmSmartDeleteObjects] Error:', error)\n throw error\n })\n}\n\n/**\n * Creates new records in CRM (Web only).\n * Uses Salesforce REST API to create records.\n *\n * @param {CRMCreatePayload} payload - The create payload containing sobject type and records.\n * @returns {Promise<any>} - Promise resolving with the result of the create operation.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // Web only method to create CRM records.\n * api.crmCreate({\n * sobject: 'Order__c',\n * records: [\n * { Account__c: '001xx000003DGbQAAW', Order_Date__c: '2024-01-15' },\n * { Account__c: '001xx000003DGbRABW', Order_Date__c: '2024-01-16' }\n * ]\n * })\n */\nexport function crmCreate(payload: CRMCreatePayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n if (!payload.sobject || typeof payload.sobject !== 'string' || payload.sobject.trim() === '') {\n return Promise.reject(new Error('sobject is required and must be a non-empty string'))\n }\n\n if (!payload.records || !Array.isArray(payload.records) || payload.records.length === 0) {\n return Promise.reject(new Error('records is required and must be a non-empty array'))\n }\n\n for (let i = 0; i < payload.records.length; i++) {\n const record = payload.records[i]\n if (!record || typeof record !== 'object' || Array.isArray(record)) {\n return Promise.reject(\n new Error(`records contains invalid element at index ${i}. All records must be valid objects.`),\n )\n }\n }\n\n return highLevelApi.API.request('crm_create', payload)\n}\n\n/**\n * Upserts records in CRM (Web only).\n * Uses Salesforce REST API to insert or update records based on external ID.\n * If a record with matching external ID exists, it will be updated; otherwise, a new record is created.\n *\n * @param {CRMUpsertPayload} payload - The upsert payload containing sobject type, records, and external ID field.\n * @returns {Promise<any>} - Promise resolving with the result of the upsert operation.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // Web only method to upsert CRM records.\n * api.crmUpsert({\n * sobject: 'Order__c',\n * records: [\n * { External_Id__c: 'ORD-001', Account__c: '001xx000003DGbQAAW', Status__c: 'Submitted' },\n * { External_Id__c: 'ORD-002', Account__c: '001xx000003DGbRABW', Status__c: 'Draft' }\n * ],\n * external_id_field: 'External_Id__c'\n * })\n */\nexport function crmUpsert(payload: CRMUpsertPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n if (!payload.sobject || typeof payload.sobject !== 'string' || payload.sobject.trim() === '') {\n return Promise.reject(new Error('sobject is required and must be a non-empty string'))\n }\n\n if (!payload.records || !Array.isArray(payload.records) || payload.records.length === 0) {\n return Promise.reject(new Error('records is required and must be a non-empty array'))\n }\n\n if (\n !payload.external_id_field ||\n typeof payload.external_id_field !== 'string' ||\n payload.external_id_field.trim() === ''\n ) {\n return Promise.reject(new Error('external_id_field is required and must be a non-empty string'))\n }\n\n for (let i = 0; i < payload.records.length; i++) {\n const record = payload.records[i]\n if (!record || typeof record !== 'object' || Array.isArray(record)) {\n return Promise.reject(\n new Error(`records contains invalid element at index ${i}. All records must be valid objects.`),\n )\n }\n }\n\n return highLevelApi.API.request('crm_upsert', payload)\n}\n\n/**\n * Retrieves metadata/describe for a CRM object (Web only).\n * Uses Salesforce REST API to fetch object metadata including fields and picklist values.\n *\n * @param {CRMDescribePayload} payload - The describe payload containing the sobject name.\n * @returns {Promise<any>} - Promise resolving with the object metadata including fields and picklist values.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // Web only method to get CRM object metadata.\n * api.crmDescribe({ sobject: 'Account' })\n * .then(metadata => {\n * // Access fields\n * console.log(metadata.fields)\n * // Access picklist values for a specific field\n * const industryField = metadata.fields.find(f => f.name === 'Industry')\n * console.log(industryField.picklistValues)\n * })\n */\nexport function crmDescribe(payload: CRMDescribePayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n if (!payload.sobject || typeof payload.sobject !== 'string' || payload.sobject.trim() === '') {\n return Promise.reject(new Error('sobject is required and must be a non-empty string'))\n }\n\n return highLevelApi.API.request('crm_describe', payload)\n}\n\n/**\n * Retrieves layout information for a CRM object (Web only).\n * Uses Salesforce REST API to fetch object layout including sections, fields arrangement, and form factors.\n *\n * @param {CRMLayoutPayload} payload - The layout payload containing the sobject name and optional layout parameters.\n * @returns {Promise<any>} - Promise resolving with the object layout information.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // Web only method to get CRM object layout.\n * api.crmLayout({ sobject: 'Account' })\n * .then(layout => {\n * // Access layout sections\n * console.log(layout.editLayoutSections)\n * })\n *\n * @example\n * // Get layout with specific form factor, mode, and record type.\n * api.crmLayout({\n * sobject: 'Account',\n * form_factor: 'Large',\n * mode: 'Edit',\n * record_type_id: '012xx0000004ABC'\n * })\n */\nexport function crmLayout(payload: CRMLayoutPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n if (!payload.sobject || typeof payload.sobject !== 'string' || payload.sobject.trim() === '') {\n return Promise.reject(new Error('sobject is required and must be a non-empty string'))\n }\n\n return highLevelApi.API.request('crm_layout', payload)\n}\n","import type {\n File,\n Folder,\n FolderRetrieve,\n FolderCreateRequest,\n FolderUpdateRequest,\n PaginatedFolderList,\n} from '@openapi'\nimport type { FolderListRequest } from '@sdk/payload.types'\n\n/**\n * Retrieves a list of folders.\n * @param payload - The payload containing the search, ordering, filters, fields, name, page, and page_size.\n * @returns A promise that resolves to the list of folders.\n */\nexport function getFolders(payload: FolderListRequest): Promise<PaginatedFolderList> {\n return this.API.request('get_folders', payload)\n}\n\n/**\n * Retrieves a folder by its ID.\n * @param payload - An object containing the folder ID.\n * @param payload.id - The ID of the folder to retrieve. Defaults to 'root'.\n * @returns A promise that resolves to the retrieved folder.\n */\nexport function getFolder(payload: { id: FolderRetrieve['id'] } = { id: 'root' }): Promise<FolderRetrieve> {\n return this.API.request('get_folder', payload)\n}\n\n/**\n * Creates a new folder.\n * @param payload - The folder creation request payload, excluding the instance_id.\n * @returns A promise that resolves to the created folder.\n */\nexport function createFolder(payload: Omit<FolderCreateRequest, 'instance_id'>): Promise<FolderRetrieve> {\n return this.API.request('create_folder', payload)\n}\n\ntype UpdateFolderPayload = FolderUpdateRequest & { id: Folder['id'] }\n\n/**\n * Updates an existing folder.\n * @param payload - The folder update payload, including the folder ID and update data.\n * @returns A promise that resolves to the updated folder.\n */\nexport function updateFolder(payload: UpdateFolderPayload): Promise<FolderRetrieve> {\n return this.API.request('update_folder', payload)\n}\n\n/**\n * Deletes a folder.\n * @param payload - An object containing the ID of the folder to delete.\n * @param payload.folder_id - The ID of the folder to delete.\n * @returns A promise that resolves when the folder is deleted.\n */\nexport function deleteFolder(payload: { folder_id: FolderRetrieve['id'] }): Promise<void> {\n return this.API.request('delete_folder', payload)\n}\n\n/**\n * Moves items (files or folders) to a target folder.\n * @param payload - The payload containing the target folder ID and items to move.\n * @param payload.target_folder_id - The ID of the target folder.\n * @param payload.items - An array of items to move, each with an ID and type.\n * @returns A promise that resolves to the updated target folder.\n */\nexport function moveFolderItems(payload: {\n target_folder_id: Folder['id']\n items: { id: File['id'] | Folder['id']; type: 'folder' | 'file' }[]\n}): Promise<FolderRetrieve> {\n return this.API.request('move_folder_items', payload)\n}\n","import type { CoreFolderContentsRetrieve, CoreFolderEntityType, CoreFolderRetrieve } from '@lib/types/folder'\n\nexport function getCoreFolders(payload: {\n instance_id: string\n entity: CoreFolderEntityType\n parent_id?: string | null\n}): Promise<CoreFolderContentsRetrieve> {\n return this.API.request('get_core_folders', payload)\n}\n\nexport function patchCoreFolder(id: string, payload: Partial<CoreFolderRetrieve>): Promise<CoreFolderContentsRetrieve> {\n return this.API.request('patch_core_folder', {\n id,\n payload,\n })\n}\n","import { highLevelApi } from '@sdk/main'\nimport type { NotificationPayload } from '@sdk/payload.types'\n\nexport function notify(payload: NotificationPayload): Promise<void> {\n if (!payload.type) {\n payload.type = 'native'\n }\n\n return highLevelApi.API.request('notify', payload)\n}\n","import { highLevelApi } from '@sdk/main'\n\nexport function track(payload: { event_name: string; payload: any }) {\n return highLevelApi.API.request('track', payload)\n}\n","import type { PaginatedMetadataTemplateList } from '@openapi'\nimport type { GetInstanceMetadataTemplatesPayload } from '@sdk/payload.types'\n\nexport function getInstanceMetadataTemplates(\n payload?: GetInstanceMetadataTemplatesPayload,\n): Promise<PaginatedMetadataTemplateList> {\n return this.API.request('get_instance_metadata_templates', payload)\n}\n","/**\n * Dispatches iOS only sync method for non-files.\n *\n * @example\n * // iOS only method to sync non-files from the server.\n * api.triggerNonFilesSync()\n */\nexport function triggerNonFilesSync(): Promise<void> {\n return this.API.request('trigger_non_files_sync')\n}\n","import { highLevelApi } from '@sdk/main'\n\nimport type { SubmitUserFeedbackPayload } from '@sdk/payload.types'\n\n/**\n * Submit user feedback\n */\nexport function submitUserFeedback(payload: SubmitUserFeedbackPayload) {\n return highLevelApi.API.request('submit_user_feedback', payload)\n}\n","import type { OpenWebViewAlwaysOnTop, ShowSyncboxRequestPayload } from '@sdk/payload.types'\nimport { highLevelApi } from '@sdk/main'\n\nexport function close() {\n return highLevelApi.API.request('close') //`this` reference is lost on a new WebView\n}\n\nexport function openWebViewAlwaysOnTop(payload: OpenWebViewAlwaysOnTop): Promise<void> {\n return this.API.request('open_web_view_always_on_top', payload)\n}\n\nexport function showSyncbox(payload: ShowSyncboxRequestPayload): Promise<void> {\n return this.API.request('show_syncbox', payload)\n}\n","import type { SharePayload, ShareResponse, ShowPeerSessionRequestPayload } from '@sdk/payload.types'\n\n/**\n * Dispatch iOS sharing dialog.\n *\n * @example\n * api.share({text: \"example text\", subject: \"example subject\"})\n */\nexport async function share(payload: SharePayload): Promise<ShareResponse> {\n return this.API.request('share', payload)\n}\n\n/**\n * Show peer session dialog with button coordinates, for local peer sharing feature.\n *\n * @example\n * api.showPeerSession({x: 100, y: 200})\n */\nexport async function showPeerSession(payload: ShowPeerSessionRequestPayload): Promise<void> {\n return this.API.request('show_peer_session', payload)\n}\n","import { type CanvasThemeRetrieve } from '@lib/types/canvasTheme'\nimport type { CanvasRetrieve } from '@openapi'\n\nexport function getThemes(payload: Partial<CanvasThemeRetrieve>): Promise<CanvasThemeRetrieve[]> {\n return this.API.request('get_themes', payload)\n}\n\nexport function assignCanvasTheme(payload: {\n canvas_id: CanvasRetrieve['id']\n theme_id: CanvasThemeRetrieve['id']\n}): Promise<{ canvas_id: CanvasRetrieve['id']; theme_id: CanvasThemeRetrieve['id'] }> {\n return this.API.request('assign_canvas_theme', payload)\n}\n","type EventMap = Record<string, any>\n\ntype EventKey<KeyMap extends EventMap> = string & keyof KeyMap\ntype EventReceiver<KeyMap> = (params: KeyMap) => void\n\nexport interface Emitter<KeyMap extends EventMap> {\n on<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void\n off<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void\n emit<Key extends EventKey<KeyMap>>(eventName: Key, params: KeyMap[Key]): void\n}\n\nexport class EventEmitter<KeyMap extends EventMap> implements Emitter<KeyMap> {\n listeners: {\n [Key in keyof EventMap]?: ((p: EventMap[Key]) => void)[]\n } = {}\n on<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void {\n this.listeners[eventName] = (this.listeners[eventName] ?? []).concat(fn)\n }\n off<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void {\n this.listeners[eventName] = (this.listeners[eventName] ?? []).filter((f) => f !== fn)\n }\n emit<Key extends EventKey<KeyMap>>(eventName: Key, data?: KeyMap[Key]): void {\n ;(this.listeners[eventName] ?? []).forEach((fn) => fn(data))\n }\n}\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","const rnds8 = new Uint8Array(16);\nexport default function rng() {\n return crypto.getRandomValues(rnds8);\n}\n","import rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (!buf && !options && crypto.randomUUID) {\n return crypto.randomUUID();\n }\n return _v4(options, buf, offset);\n}\nfunction _v4(options, buf, offset) {\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import type { Emitter } from './utils/eventEmitter'\nimport type { File, User, CanvasRetrieve, CanvasSection } from '@openapi'\nimport type { PitcherOrg } from '@lib/types/organization.types'\nimport type { PitcherInstance } from '@lib/types/instance.types'\nimport type { LaunchDarklyEnv } from '@lib/types/launchDarkly.types'\nimport type { CDP_EVENT_TYPE, CLIENT_TYPE } from '@lib/constants/cdp.const'\nimport type { PeerConnectivityEvent } from '@sdk/peer-connectivity'\n\nexport const PITCHER_EVENT = 'PITCHER_EVENT' as const\nexport enum PitcherMessageType {\n REQUEST = 'PITCHER_REQUEST',\n RESPONSE = 'PITCHER_RESPONSE',\n}\nexport enum PitcherResponseStatus {\n OK = 'ok',\n ERROR = 'error',\n}\n\nexport interface PitcherMessage {\n type: typeof PITCHER_EVENT\n request: {\n id: string\n type: string\n body?: Record<string, any>\n }\n}\n\ntype FetchMode =\n | 'postmessage' // the default mode where each platform is responsible to respond\n | 'prefer-online' // in this mode, the api will try to use the REST API directly if a handler is available in the onlineRestApiHandlers.ts file\n\nexport interface ApiOptions {\n errorLogger?: (p: any) => string | void\n logLevel?: 'off' | 'info' | 'debug'\n casing?: 'camel' | 'snake'\n fetchMode?: FetchMode\n}\n\nexport interface OrgConfigResponse {\n auth0: {\n domain: string\n issuer: string\n audience: string\n auth0_domain: string\n web_client_id: string\n region: 'us' | 'eu' | 'au'\n }\n segment: {\n web_write_key: string\n }\n region: 'us' | 'eu' | 'au'\n auth0_tenant_region: 'us' | 'eu' | 'au'\n datadog_region: 'us' | 'eu'\n segment_region: 'us' | 'eu'\n sentry_region: 'us' | 'eu'\n}\n\nexport interface PitcherEnv {\n mode: 'WEB' | 'IOS' | 'WINDOWS' | 'ANDROID'\n pitcher: {\n token_claims: Record<string, any>\n organization: PitcherOrg\n org_config?: OrgConfigResponse\n instance: PitcherInstance\n user: User\n access_token: string\n id_token: string\n impersonated_by?: string\n }\n launch_darkly?: LaunchDarklyEnv\n permissions?: string[]\n client_type?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]\n crm_shape?: Record<string, any>\n state?: {\n active_file?: {\n id: File['id']\n }\n active_section_id?: CanvasSection['id']\n active_canvas_id?: CanvasRetrieve['id']\n canvas_correlation_id?: string\n }\n device_locale?: string\n sync_badge_value?: number\n}\n\nexport interface PitcherAPI extends Emitter<ApiEventMap> {\n request(type: string, body: any, callback: () => any): Promise<PitcherResponse>\n}\n\nexport interface PitcherInterface extends Emitter<PitcherEventMap> {\n API: PitcherAPI\n}\n\nexport interface PitcherResponse {\n type: PitcherMessageType.RESPONSE\n request: {\n id: string\n type: string\n body?: Record<string, any>\n }\n response: {\n status: PitcherResponseStatus\n body?: Record<string, any>\n }\n}\n\nexport interface OpenCanvasPitcherEvent {\n account_id?: string\n account_name?: string\n canvas_id?: string\n edit_mode?: 'true' | 'false'\n}\n\nexport interface CreateAndOpenCanvasEvent {\n account_id?: string\n}\n\nexport interface StartCallPitcherEvent {\n account?: { id: string; name: string }\n contact_ids?: string[]\n /**\n * CRM meeting/event id. When provided, the host fetches the meeting through\n * its own CRM provider so the meeting bar shows the proper subject/time\n * instead of \"Unscheduled\".\n */\n meeting_id?: string\n canvas_id?: string\n edit_mode?: 'true' | 'false'\n post_action?: string\n post_action_path?: string\n}\n\nexport interface RouteChangedPitcherEvent {\n route_name: string\n route_path: string\n}\n\nexport enum PitcherEventName {\n ENV_CHANGED = 'env_changed',\n ACCESS_TOKEN_RENEWED = 'access_token_renewed',\n PHOTOS_CAPTURED = 'photos_captured',\n GLOBAL_PHOTO_CAPTURED = 'global_photo_captured',\n FILE_DOWNLOADED = 'file_downloaded',\n FILE_UPLOAD_PROGRESS = 'file_upload_progress',\n UPDATE_LOCATION = 'update_location',\n CANVAS_UPDATED = 'canvas_updated',\n CANVAS_UPDATED_SUCCESS = 'canvas_updated_success',\n FILE_CLOSED = 'file_closed',\n FILE_OPENED = 'file_opened',\n APP_BACKGROUNDED = 'app_backgrounded',\n APP_FOREGROUNDED = 'app_foregrounded',\n NON_FILES_SYNC_FINISHED = 'non_files_sync_finished',\n CONTENT_LIST_REFRESH_REQUESTED = 'content_list_refresh_requested',\n NETWORK_CONNECTION_ESTABLISHED = 'network_connection_established',\n NETWORK_CONNECTION_LOST = 'network_connection_lost',\n ENTERED_FULLSCREEN = 'entered_fullscreen',\n EXITED_FULLSCREEN = 'exited_fullscreen',\n SUBMIT_POSTCALL_CLICKED = 'submit_postcall_clicked',\n ANALYTICS_CAPTURED = 'analytics_captured',\n OPEN_FOLDER_REQUESTED = 'open_folder_requested',\n CANVAS_PAGE_NEXT_REQUESTED = 'canvas_page_next_requested',\n CANVAS_PAGE_PREVIOUS_REQUESTED = 'canvas_page_previous_requested',\n CANVAS_OPEN_REQUESTED = 'canvas_open_requested',\n CANVAS_CLOSE_REQUESTED = 'canvas_close_requested',\n ROUTE_CHANGE_REQUESTED = 'route_change_requested',\n ITEM_SHAREBOX_STATUS_REQUESTED = 'item_sharebox_status_requested',\n ITEM_SHAREBOX_STATUS_UPDATED = 'item_sharebox_status_updated',\n ITEM_SHAREBOX_ADD_REQUESTED = 'item_sharebox_add_requested',\n ITEM_SHAREBOX_ADD_COMPLETED = 'item_sharebox_add_completed',\n SYNC_BADGE_VALUE_REPORTED = 'sync_badge_value_reported',\n SYNC_BOX_RESOLVE_ERROR_TAPPED = 'sync_box_resolve_error_tapped',\n PEER_CONNECTIVITY_EVENT = 'peer_connectivity_event',\n}\n\nexport enum PitcherBroadcastedEventName {\n UI_SHOW_MODAL = 'ui:show-modal',\n UI_HIDE_MODAL = 'ui:hide-modal',\n FILE_DOWNLOAD = 'file:download',\n CANVAS_NEXT_BUTTON_CLICKED = 'canvas_next_button_clicked', // NOTE: This event is separate from `CANVAS_PAGE_NEXT_REQUESTED`\n CANVAS_PREVIOUS_BUTTON_CLICKED = 'canvas_previous_button_clicked', // NOTE: This event is separate from `CANVAS_PAGE_PREVIOUS_REQUESTED`\n CANVAS_OPENED = 'canvas_opened',\n CANVAS_CLOSED = 'canvas_closed',\n ROUTE_CHANGED = 'route_changed',\n}\n\nexport enum PitcherExternalEventName {\n CREATE_AND_OPEN_CANVAS = 'create_and_open_canvas',\n OPEN_CANVAS = 'open_canvas',\n START_CALL = 'start_call',\n}\n\n/**\n * Base interface for update location actions.\n */\ninterface UpdateLocation {\n /**\n * The action to be performed.\n */\n action: string\n}\n\n/**\n * Represents a route in the location.\n */\nexport interface LocationRoute {\n /**\n * The path of the route.\n */\n path: string\n /**\n * The query parameters of the route.\n */\n query: Record<string, any>\n /**\n * Indicates if the route is being restored.\n */\n is_restoring: boolean\n /**\n * Indicates if the route is mounted.\n */\n is_mounted: boolean\n /**\n * Indicates when application is still registered but not used right now.\n */\n is_inactive: boolean\n}\n\n/**\n * A record of location routes.\n */\nexport type LocationRoutes = Record<string, LocationRoute>\n\n/**\n * Interface for the 'register' update location action.\n */\nexport interface UpdateLocationOnRegister extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'register'\n /**\n * The child application identifier.\n */\n child_app: string\n /**\n * The parent application identifier (optional).\n */\n parent_app?: string\n /**\n * The path of the route (optional).\n */\n path?: string\n /**\n * The query parameters of the route (optional).\n */\n query?: Record<string, any>\n}\n\n/**\n * Interface for the 'unregister' update location action.\n */\nexport interface UpdateLocationOnUnregister extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'unregister'\n /**\n * The application identifier.\n */\n app: string\n}\n\n/**\n * Interface for the 'update' update location action.\n */\nexport interface UpdateLocationOnUpdate extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'update'\n /**\n * The routes to be updated.\n */\n routes: Record<string, Omit<LocationRoute, 'is_restoring' | 'is_mounted' | 'is_inactive'>>\n}\n\n/**\n * Interface for the 'mounted' update location action.\n */\nexport interface UpdateLocationOnMounted extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'mounted'\n /**\n * The application identifier.\n */\n app: string\n}\n\n/**\n * Interface for the 'restore' update location action.\n */\nexport interface UpdateLocationOnRestore extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'restore'\n /**\n * The routes to be restored.\n */\n routes: Record<string, Omit<LocationRoute, 'is_mounted'>>\n}\n\n/**\n * Interface for the 'restore_completed' update location action.\n */\nexport interface UpdateLocationOnRestoreCompleted extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'restore_completed'\n /**\n * The application identifier.\n */\n app: string\n /**\n * The path of the route.\n */\n path: string\n /**\n * The query parameters of the route.\n */\n query: Record<string, any>\n}\n\n/**\n * Interface for the 'get_routes_request' update location action.\n */\nexport interface UpdateLocationOnGetRoutesRequest extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'get_routes_request'\n /**\n * The application identifier.\n */\n app: string\n}\n\n/**\n * Interface for the 'get_routes_response' update location action.\n */\nexport interface UpdateLocationOnGetRoutesResponse extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'get_routes_response'\n /**\n * The application identifier.\n */\n app: string\n /**\n * The routes in the response.\n */\n routes: LocationRoutes\n}\n\n/**\n * Union type for all update location pitcher events.\n */\nexport type UpdateLocationPitcherEvent =\n | UpdateLocationOnUnregister\n | UpdateLocationOnRestore\n | UpdateLocationOnUpdate\n | UpdateLocationOnRegister\n | UpdateLocationOnRestoreCompleted\n | UpdateLocationOnMounted\n | UpdateLocationOnGetRoutesRequest\n | UpdateLocationOnGetRoutesResponse\n\nexport interface PitcherEventMap {\n [PitcherEventName.ENV_CHANGED]: PitcherEnv\n /**\n * The shell renewed the Pitcher access token. Apps that cached `env.pitcher.access_token`\n * (instead of reading it lazily via `getEnv()`) should replace their copy with this one.\n *\n * @see web-only for now — Impact iOS does not emit this event yet; keep a pull fallback\n * (`getEnv()` / `refreshAccessToken()`) for cross-platform apps.\n */\n [PitcherEventName.ACCESS_TOKEN_RENEWED]: { access_token: string }\n /**\n * @see iOS-only\n */\n [PitcherEventName.PHOTOS_CAPTURED]: void\n /**\n * @see iOS-only\n */\n [PitcherEventName.GLOBAL_PHOTO_CAPTURED]: { url: string; section_id?: string }\n /**\n * @see iOS-only\n */\n [PitcherEventName.NON_FILES_SYNC_FINISHED]: { user_triggered: boolean }\n /**\n * @see iOS-only\n */\n [PitcherEventName.CONTENT_LIST_REFRESH_REQUESTED]: void\n /**\n * @see iOS-only\n */\n [PitcherEventName.FILE_DOWNLOADED]: File\n /**\n * @see iOS-only\n */\n [PitcherEventName.NETWORK_CONNECTION_ESTABLISHED]: void\n /**\n * @see iOS-only\n */\n [PitcherEventName.NETWORK_CONNECTION_LOST]: void\n /**\n * @see iOS-only\n */\n [PitcherEventName.FILE_UPLOAD_PROGRESS]: { upload_uid: string; progress: number }\n /**\n * @see iOS-only\n */\n [PitcherEventName.ANALYTICS_CAPTURED]: {\n type: (typeof CDP_EVENT_TYPE)[keyof typeof CDP_EVENT_TYPE]\n payload: any\n }\n /**\n * @see WEB-only\n */\n [PitcherEventName.ENTERED_FULLSCREEN]: void\n /**\n * @see WEB-only\n */\n [PitcherEventName.EXITED_FULLSCREEN]: void\n\n [PitcherEventName.CANVAS_UPDATED]: Record<string, any>\n [PitcherEventName.CANVAS_UPDATED_SUCCESS]: Partial<CanvasRetrieve>\n [PitcherEventName.UPDATE_LOCATION]: UpdateLocationPitcherEvent\n [PitcherEventName.FILE_CLOSED]: { file_id?: string; view_id?: string }\n [PitcherEventName.FILE_OPENED]: { file_id?: string; view_id?: string }\n [PitcherEventName.SUBMIT_POSTCALL_CLICKED]: void\n [PitcherEventName.CANVAS_PAGE_NEXT_REQUESTED]: { canvas_id?: string; current_page_index?: number }\n [PitcherEventName.CANVAS_PAGE_PREVIOUS_REQUESTED]: { canvas_id?: string; current_page_index?: number }\n [PitcherEventName.CANVAS_OPEN_REQUESTED]: { canvas_id?: string }\n [PitcherEventName.CANVAS_CLOSE_REQUESTED]: { canvas_id?: string }\n /**\n * @see iOS-only\n */\n [PitcherEventName.ROUTE_CHANGE_REQUESTED]: RouteChangedPitcherEvent\n [PitcherEventName.ITEM_SHAREBOX_STATUS_REQUESTED]: {\n item_id: string\n }\n [PitcherEventName.ITEM_SHAREBOX_STATUS_UPDATED]: {\n item_id: string\n is_in_sharebox: boolean\n }\n [PitcherEventName.ITEM_SHAREBOX_ADD_REQUESTED]: {\n item_id: string\n }\n [PitcherEventName.ITEM_SHAREBOX_ADD_COMPLETED]: {\n item_id: string\n success: boolean\n is_in_sharebox: boolean\n error?: string\n }\n /**\n * @see iOS-only\n */\n [PitcherEventName.SYNC_BADGE_VALUE_REPORTED]: {\n count: number\n }\n /**\n * @see iOS-only\n * Fired when user taps \"Fix\" on a failed SFDC sync error in the Syncbox.\n * The id may be a Salesforce ID, external ID, or locally-generated temp ID.\n */\n [PitcherEventName.SYNC_BOX_RESOLVE_ERROR_TAPPED]: {\n /** Record ID that failed to sync (SF ID, external ID, or temp ID like PIT_...) */\n id: string\n /** SFDC object/soup name (e.g. \"Event\", \"Call2_vod__c\") */\n table_name: string\n /** Salesforce sync error message */\n last_error: string\n }\n [PitcherEventName.PEER_CONNECTIVITY_EVENT]: PeerConnectivityEvent\n // broadcasted requests\n [PitcherBroadcastedEventName.UI_SHOW_MODAL]: void\n [PitcherBroadcastedEventName.UI_HIDE_MODAL]: void\n [PitcherBroadcastedEventName.FILE_DOWNLOAD]: { body: File['id'] }\n [PitcherBroadcastedEventName.CANVAS_NEXT_BUTTON_CLICKED]: { body: { current_page_index: number; canvas_id?: string } }\n [PitcherBroadcastedEventName.CANVAS_PREVIOUS_BUTTON_CLICKED]: {\n body: { current_page_index: number; canvas_id?: string }\n }\n [PitcherBroadcastedEventName.CANVAS_OPENED]: {\n body: { canvas_id: string }\n }\n [PitcherBroadcastedEventName.CANVAS_CLOSED]: {\n body: { canvas_id: string }\n }\n [PitcherBroadcastedEventName.ROUTE_CHANGED]: {\n body: { route_name: string; route_path: string }\n }\n // external link events\n [PitcherExternalEventName.OPEN_CANVAS]: OpenCanvasPitcherEvent\n [PitcherExternalEventName.START_CALL]: StartCallPitcherEvent\n [PitcherExternalEventName.CREATE_AND_OPEN_CANVAS]: CreateAndOpenCanvasEvent\n}\n\nexport interface PitcherEvent {\n type: keyof PitcherEventMap\n body: PitcherEventMap[keyof PitcherEventMap]\n}\n\nexport interface ApiEventMap {\n event: PitcherEvent\n}\n","export class AssertionError extends Error {}\n\nexport function assert(exp: boolean, message: string) {\n if (!exp) {\n throw new AssertionError(message)\n }\n}\n","import { snakeCase, camelCase, startCase } from 'lodash-es'\n\nconst defaultSkipKeys = [\n 'id__in',\n 'tags__in',\n 'tags__not_in',\n 'template__id',\n 'template__id__in',\n 'modified_at__gtr',\n 'created_at__gtr',\n 'end_at__lt',\n 'start_at__gt',\n 'account__id',\n 'end_at__gt',\n 'end_at__range',\n 'start_at__lt',\n 'start_at__range',\n 'external_objects__connection_id',\n 'external_objects__content_type',\n 'external_objects__external_content_type',\n 'external_objects__external_object_id',\n 'owned_by__name__icontains',\n 'template__name__icontains',\n]\n\nconst defaultSkipObjectKeys = ['context', 'overrides', 'filters', 'metadata', 'style', 'hidden']\n\nconst shouldSkipObjectKey = (key: string, skipObjectKeys: string[]): boolean => {\n return skipObjectKeys.includes(key) || key.endsWith('style')\n}\n\nexport const camelCaseKeys = <T>(obj: T, skipKeys = defaultSkipKeys, skipObjectKeys = defaultSkipObjectKeys): T => {\n if (Array.isArray(obj)) {\n return obj.map((v) => camelCaseKeys(v, skipKeys, skipObjectKeys)) as T\n } else if (obj != null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const skip = shouldSkipObjectKey(key, skipObjectKeys)\n const newKey = skipKeys.includes(key) || skip ? key : camelCase(key)\n const value = skip ? (obj as any)[key] : camelCaseKeys((obj as any)[key], skipKeys, skipObjectKeys)\n return { ...result, [newKey]: value }\n }, {}) as T\n }\n\n return obj\n}\n\nexport const snakeCaseKeys = <T>(obj: T, skipKeys = defaultSkipKeys, skipObjectKeys = defaultSkipObjectKeys): T => {\n if (Array.isArray(obj)) {\n return obj.map((v) => snakeCaseKeys(v, skipKeys, skipObjectKeys)) as T\n } else if (obj != null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const skip = shouldSkipObjectKey(key, skipObjectKeys)\n const newKey = skipKeys.includes(key) || skip ? key : snakeCase(key)\n const value = skip ? (obj as any)[key] : snakeCaseKeys((obj as any)[key], skipKeys, skipObjectKeys)\n return { ...result, [newKey]: value }\n }, {}) as T\n }\n\n return obj\n}\n\nexport const pascalCaseKeys = <T>(obj: T, skipKeys = defaultSkipKeys, skipObjectKeys = defaultSkipObjectKeys): T => {\n if (Array.isArray(obj)) {\n return obj.map((v) => pascalCaseKeys(v, skipKeys, skipObjectKeys)) as T\n } else if (obj != null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const skip = shouldSkipObjectKey(key, skipObjectKeys)\n const newKey = skipKeys.includes(key) || skip ? key : titleCase(key).replace(/ /g, '')\n const value = skip ? (obj as any)[key] : pascalCaseKeys((obj as any)[key], skipKeys, skipObjectKeys)\n return { ...result, [newKey]: value }\n }, {}) as T\n }\n\n return obj\n}\n\nexport const titleCase = (s?: string) => startCase(camelCase(s))\n","export function truncateObject(obj: any, currentDepth: number = 1, lengthTrigger = 20): any {\n if (typeof obj !== 'object' || obj === null) {\n return obj\n }\n\n if (Array.isArray(obj)) {\n if (obj.length > lengthTrigger && currentDepth <= 0) {\n return `[Truncated - ${obj.length} length array]`\n }\n return obj.map((item) => truncateObject(item, currentDepth - 1, lengthTrigger))\n }\n\n const keys = Object.keys(obj)\n if (keys.length > lengthTrigger && currentDepth <= 0) {\n return `{Truncated - ${keys.length} properties obj}`\n }\n\n return keys.reduce(\n (acc, key) => {\n acc[key] = truncateObject(obj[key], currentDepth - 1, lengthTrigger)\n return acc\n },\n {} as Record<string, any>,\n )\n}\n","export function isOriginValid(\n event: MessageEvent,\n allowedOrigins: string[] = [],\n isDev: boolean = ['development', 'test'].includes(process.env.NODE_ENV ?? ''),\n): boolean {\n if (isDev) {\n // In development mode, always return true to bypass origin checks\n return true\n }\n\n if (!event || !event.origin) {\n return false\n }\n\n // If allowedOrigins is empty, use the current window's origin\n const validOrigins = [...allowedOrigins, window.location.origin, 'pitcher.com']\n\n const isValid = validOrigins.includes(event.origin) || validOrigins.some((origin) => event.origin.endsWith(origin))\n\n if (!isValid) {\n console.warn(\n `The message origin ${event.origin} is not the same as the current origin ${window.location.origin}. Bailing...`,\n )\n }\n\n return isValid\n}\n","import { setEnv } from '@sdk/api/onlineRestApiHandlers'\nimport { highLevelApi } from '@sdk/main'\n\ntype FetchOptions = {\n method?: string\n headers?: Record<string, string>\n body?: string\n credentials?: RequestCredentials\n params?: Record<string, any>\n}\n\nconst MAX_RETRIES = 5\nconst BASE_DELAY = 1000 // 1 second\nlet refreshPromise: Promise<string> | null = null\n\nasync function refreshToken(): Promise<string> {\n if (refreshPromise) return refreshPromise\n\n console.info('Refreshing access token...')\n refreshPromise = (async () => {\n try {\n return await highLevelApi.refreshAccessToken().then((accessTokenResponse: { access_token: string }) =>\n highLevelApi.getEnv().then((env) => {\n setEnv(env)\n return accessTokenResponse.access_token\n }),\n )\n } catch (error) {\n console.error('Failed to refresh token:', error)\n throw error\n } finally {\n refreshPromise = null\n }\n })()\n\n return refreshPromise\n}\n\n// Custom parameter serializer function with 'repeat' format for arrays\nfunction paramsSerializer(params: Record<string, any>): string {\n const searchParams = new URLSearchParams()\n\n function addParam(key: string, value: any) {\n if (value === undefined || value === null) {\n return\n }\n if (Array.isArray(value)) {\n value.forEach((val) => addParam(key, val))\n } else if (typeof value === 'object' && !Array.isArray(value)) {\n for (const subKey in value) {\n addParam(`${key}[${subKey}]`, value[subKey])\n }\n } else {\n searchParams.append(key, value)\n }\n }\n\n for (const key in params) {\n addParam(key, params[key])\n }\n\n return searchParams.toString()\n}\n\nasync function fetchWithRetry(url: string, options: FetchOptions, remainingRetries = MAX_RETRIES): Promise<any> {\n try {\n const response = await fetch(url, options)\n if (!response.ok) {\n if (response.status === 401) {\n const newToken = await refreshToken()\n options.headers = options.headers || {}\n options.headers.Authorization = `Bearer ${newToken}`\n return fetchWithRetry(url, options, remainingRetries)\n } else if (response.status >= 500 && response.status < 600 && remainingRetries > 0) {\n // Handle server errors with retries\n const delay = BASE_DELAY * Math.pow(2, MAX_RETRIES - remainingRetries)\n await new Promise((resolve) => setTimeout(resolve, delay))\n return fetchWithRetry(url, options, remainingRetries - 1)\n } else {\n // Handle non-2xx and non-5xx status codes without retry\n const errorData = await response.json()\n const error = new Error(\n `HTTP error! status: ${response.status}, message: ${errorData.message || response.statusText}`,\n )\n ;(error as Error & { status?: number }).status = response.status\n throw error\n }\n }\n\n if (response.status === 204 || response.status === 205) {\n return\n }\n return response.json()\n } catch (error) {\n if (\n remainingRetries > 0 &&\n !(error instanceof TypeError) &&\n (error as Error & { status?: number }).status !== 404\n ) {\n // Handle network errors with retries, but not 404s\n const delay = BASE_DELAY * Math.pow(2, MAX_RETRIES - remainingRetries)\n await new Promise((resolve) => setTimeout(resolve, delay))\n return fetchWithRetry(url, options, remainingRetries - 1)\n }\n throw error\n }\n}\n\nexport function createHttpClient(origin: string, token: string) {\n const headers = {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${token}`,\n }\n const apiPath = '/api/v1'\n const baseCommon = { credentials: 'include' as RequestCredentials }\n\n return {\n get: async (endpoint: string, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'GET',\n headers,\n })\n return data\n },\n post: async (endpoint: string, body?: object, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'POST',\n headers,\n body: JSON.stringify(body),\n })\n return data\n },\n put: async (endpoint: string, body: object, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'PUT',\n headers,\n body: JSON.stringify(body),\n })\n return data\n },\n delete: async (endpoint: string, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'DELETE',\n headers,\n })\n return data\n },\n patch: async (endpoint: string, body: object, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'PATCH',\n headers,\n body: JSON.stringify(body),\n })\n return data\n },\n /** PATCH with a full absolute URL (bypasses /api/v1 prefix). */\n patchUrl: async (absoluteUrl: string, body: object, options: FetchOptions = {}) => {\n const data = await fetchWithRetry(absoluteUrl, {\n ...baseCommon,\n ...options,\n method: 'PATCH',\n headers,\n body: JSON.stringify(body),\n })\n return data\n },\n }\n}\n","import { mapKeys, pickBy } from 'lodash-es'\nimport { parseISO, isValid, format } from 'date-fns'\nimport { METADATA_FILTER_DATE_FORMAT } from './filter.const'\n\nimport { deepToRaw } from '@lib/util/reactive'\n\nexport function normalizeFilterParams(params: Record<string, any>) {\n let normalizedParams = deepToRaw(params)\n\n // remove all 'system:xxxx' filterParams\n normalizedParams = pickBy(normalizedParams, (value, key) => {\n return !key.includes('system:')\n })\n\n normalizedParams = mapKeys(normalizedParams, (_, key) => {\n const isDateRange =\n Array.isArray(normalizedParams[key]) &&\n normalizedParams[key].length === 2 &&\n normalizedParams[key].every((date: string) => {\n const parsedDate = parseISO(date)\n return (\n typeof date === 'string' && isValid(parsedDate) && format(parsedDate, METADATA_FILTER_DATE_FORMAT) === date\n )\n })\n return `metadata__${key}${isDateRange ? '__range' : ''}`\n })\n\n return normalizedParams\n}\n\nexport function normalizeNetworkFilterParams(params?: Record<string, any> | null) {\n if (!params) return {}\n\n return Object.entries(params).reduce(\n (acc, [key, value]) => {\n acc[key] = key.endsWith('__range') && Array.isArray(value) ? value.join(',') : value\n\n return acc\n },\n {} as Record<string, any>,\n )\n}\n","import { pickBy, merge } from 'lodash-es'\n\nimport { createHttpClient } from '@sdk/utils/httpFetch'\nimport type { PitcherEnv } from '@sdk/interfaces'\nimport type { GetCanvasesParams } from '@lib/types/canvases'\nimport type { CanvasCreateRequest, CanvasRetrieve } from '@openapi'\nimport { normalizeNetworkFilterParams } from '@lib/components/filters/filter.util'\n\ntype ApiBaseUrlOverride = {\n api_base_url?: string\n}\n\nlet env: PitcherEnv\nlet http: ReturnType<typeof createHttpClient>\n\nfunction check() {\n if (!env) throw new Error('Missing env')\n if (!http) throw new Error('Missing http')\n}\n\nfunction pickNonNullish(data?: Record<string, any>) {\n return pickBy(data ?? {}, (v) => v !== undefined && v !== null)\n}\n\nexport const setEnv = (e: PitcherEnv) => {\n if (!e?.pitcher?.token_claims?.['https://pitcher.com/claims/urls']?.custom_domain) {\n console.warn('No custom domain found in token claims', e?.pitcher?.token_claims)\n typeof window !== 'undefined' &&\n window.Sentry?.captureMessage?.('No custom domain found in token claims', {\n extra: { env: e },\n level: 'warning',\n })\n }\n\n const newCustomDomain = e?.pitcher?.token_claims?.['https://pitcher.com/claims/urls']?.custom_domain\n const shouldRefreshHttpClient =\n e?.pitcher?.access_token !== env?.pitcher?.access_token ||\n (newCustomDomain &&\n newCustomDomain !== env?.pitcher?.token_claims?.['https://pitcher.com/claims/urls']?.custom_domain)\n\n env = merge({}, env, e)\n\n if (shouldRefreshHttpClient) {\n http = createHttpClient(\n env.pitcher.token_claims['https://pitcher.com/claims/urls'].custom_domain,\n env.pitcher.access_token,\n )\n }\n}\n\nexport const onlineRestApiHandlers: Record<string, any> = {\n get_canvases: async (\n params: GetCanvasesParams & { filters?: Record<string, any>; fields?: string } & ApiBaseUrlOverride,\n ) => {\n check()\n const { api_base_url, filters = {}, ...restParams } = params\n const res = await http.get('/canvases', {\n params: {\n instance_id: env.pitcher.instance.id,\n ...normalizeNetworkFilterParams(filters),\n ...pickNonNullish(restParams),\n },\n })\n\n return res\n },\n get_canvas: async (params: { id: CanvasRetrieve['id']; fields?: string }) => {\n check()\n const { id, ...restParams } = params\n const res = await http.get(`/canvases/${params.id}`, { params: restParams })\n return res\n },\n create_canvas: async (params: CanvasCreateRequest) => {\n check()\n const res = await http.post('/canvases', { ...params, instance_id: env.pitcher.instance.id })\n return res\n },\n update_canvas: async (params: { id: CanvasRetrieve['id']; fields?: string } & Record<string, any>) => {\n check()\n const { id, fields, ...canvasData } = params\n const useCoreEndpoint = (env as any)?.launch_darkly?.enable_canvas_core_patch === true\n if (useCoreEndpoint) {\n const origin = env.pitcher.token_claims['https://pitcher.com/claims/urls'].custom_domain\n const fieldsQs = fields ? `?fields=${encodeURIComponent(fields)}` : ''\n const url = `${origin}/core/api/protected/v1/canvases/${id}${fieldsQs}`\n // Use http.patchUrl for Core path (bypasses /api/v1 prefix)\n const res = await http.patchUrl(url, canvasData)\n return res\n }\n const res = await http.patch(`/canvases/${id}`, { fields, ...canvasData })\n return res\n },\n delete_canvas: async (params: { id: CanvasRetrieve['id'] }) => {\n check()\n const res = await http.delete(`/canvases/${params.id}`)\n return res\n },\n share_canvas: async (params: { id: CanvasRetrieve['id'] }) => {\n check()\n let link\n\n try {\n link = await http.get(`/shared-links/canvas/${params.id}`)\n } catch (e) {\n if ((e as Error & { status?: number })?.status === 404) {\n link = await http.post('/shared-links', {\n canvas_id: params.id,\n })\n } else {\n throw e\n }\n }\n\n return link\n },\n get_canvas_recommended_files: async (params: {\n canvas_id: CanvasRetrieve['id']\n match?: ('tags' | 'metadata')[]\n }) => {\n check()\n const { canvas_id, ...restParams } = params\n const res = await http.get(`/canvases/${canvas_id}/recommended_files`, { params: restParams })\n return res\n },\n get_collaborations: async (params: Record<string, any>) => {\n check()\n const res = await http.get('/collaborations', { params: pickNonNullish(params) })\n return res\n },\n create_collaboration: async (params: Record<string, any>) => {\n check()\n const res = await http.post('/collaborations', params)\n return res\n },\n delete_collaboration: async (params: { collaboration_id: number | string }) => {\n check()\n const { collaboration_id } = params\n const res = await http.delete(`/collaborations/${collaboration_id}`)\n return res\n },\n get_instance_memberships: async (params: Record<string, any>) => {\n check()\n const res = await http.get('/instance-memberships', { params: pickNonNullish(params) })\n return res\n },\n get_content_distribution_groups: async (params: Record<string, any>) => {\n check()\n const res = await http.get('/content-distribution-groups', { params: pickNonNullish(params) })\n return res\n },\n}\n","type WindowType = Window & typeof globalThis\n\nexport function getTopPitcherWindow(current: WindowType = window): WindowType {\n try {\n if (current.location.protocol === 'file:') {\n return window.top as WindowType\n }\n if (\n current.parent !== current &&\n (current.parent.location.href.includes('pitcher.com') || current.parent.location.href.includes('localhost'))\n ) {\n return getTopPitcherWindow(current.parent as WindowType)\n }\n } catch (e) {\n // Cross-origin hit, stop here\n }\n return current\n}\n","import { v4 as uuid } from 'uuid'\nimport { cloneDeep } from 'lodash-es'\n\nimport type { ApiEventMap, PitcherAPI, PitcherEvent, PitcherResponse, ApiOptions, PitcherEnv } from '@sdk/interfaces'\nimport { PitcherResponseStatus, PitcherMessageType } from '@sdk/interfaces'\nimport { EventEmitter } from '@sdk/utils/eventEmitter'\nimport { assert } from '@sdk/utils/assert'\nimport { snakeCaseKeys, camelCaseKeys } from '@lib/util/casing'\nimport { truncateObject } from '@sdk/utils/object'\nimport { isOriginValid } from '@lib/util/message-event'\nimport { setEnv, onlineRestApiHandlers } from '@sdk/api/onlineRestApiHandlers'\nimport { getTopPitcherWindow } from '@sdk/utils/window'\n\nconst TRUNCATE_LENGTH_TRIGGER = 10\nconst RAW_PAYLOAD_METHODS: string[] = [\n 'crm_create',\n 'crm_upsert',\n 'crm_describe',\n 'crm_layout',\n 'crm_smart_query',\n 'crm_smart_object_metadata',\n 'crm_smart_object_validation_rules',\n 'crm_smart_object_layout',\n 'crm_smart_upsert_objects',\n 'crm_smart_delete_objects',\n]\n\nfunction updateOnlineHandlersEnv(env?: PitcherEnv) {\n env && setEnv(env)\n}\nexport class LowLevelApi extends EventEmitter<ApiEventMap> implements PitcherAPI {\n constructor(options?: ApiOptions) {\n super()\n this.callbacks = {}\n this.options = options ?? {\n casing: 'snake',\n logLevel: 'off',\n errorLogger: () => {},\n fetchMode: 'postmessage',\n }\n\n if (typeof window !== 'undefined') {\n window.addEventListener('message', (event) => {\n if (!isOriginValid(event)) return\n\n this.options.logLevel === 'debug' && console.log('message received', event)\n if (event.data.type === 'PITCHER_RESPONSE') {\n assert(event.data.request.id, 'event id is required')\n this.handleCallbackMessage(event.data.request.id, event.data)\n } else if (event.data.type === 'PITCHER_EVENT') {\n this.handleEventMessage(this.options.casing === 'camel' ? camelCaseKeys(event.data.event) : event.data.event)\n }\n })\n\n this.request('subscribe') // subscribe to events\n }\n }\n\n callbacks: {\n [k: string]: { callback: (res: PitcherResponse) => void; dispatched_at: number; type: string; payload: object }\n }\n\n private options: ApiOptions\n\n private handleCallbackMessage(id: string, body: PitcherResponse) {\n if (this.callbacks[id]) {\n this.callbacks[id].callback(body)\n // metrics\n this.options.logLevel &&\n ['info', 'debug'].includes(this.options.logLevel) &&\n console.log(\n `It took ${Date.now() - this.callbacks[id].dispatched_at} ms for the event ${this.callbacks[id].type}`,\n )\n // cleanup\n delete this.callbacks[id]\n }\n }\n\n private handleEventMessage(event: PitcherEvent) {\n this.emit('event', event)\n }\n\n public request(type: string, body: object | null = null): Promise<any> {\n const fetchMode: ApiOptions['fetchMode'] = this.options.fetchMode ?? 'postmessage'\n return new Promise((resolve, reject) => {\n const id = uuid()\n const callback = (res: PitcherResponse) => {\n this.options.logLevel === 'debug' && console.log(`Callback ${id} response:`, res)\n if (res.response.status === 'ok') {\n resolve(\n (this.options.casing === 'camel' ? camelCaseKeys(res.response.body) : res.response.body) as PitcherResponse,\n )\n\n if (type === 'get_env') updateOnlineHandlersEnv(res.response.body as PitcherEnv | undefined)\n } else if (res.response.status === 'error') {\n if (this.options.errorLogger) {\n this.options.errorLogger({\n message: `Pitcher JS API call failure: ${res.request.type}`,\n js_api_response: JSON.stringify(truncateObject(res, 3, TRUNCATE_LENGTH_TRIGGER)),\n })\n }\n reject(this.options.casing === 'camel' ? camelCaseKeys(res.response.body) : res.response.body)\n } else {\n throw new Error('unsupported response status')\n }\n }\n const shouldSkipSnakeCase = RAW_PAYLOAD_METHODS.includes(type)\n const payload = shouldSkipSnakeCase ? cloneDeep(body) : cloneDeep(snakeCaseKeys(body)) // default: snake case for impact / cloneDeep to create serializable object\n\n this.callbacks[id] = {\n dispatched_at: Date.now(),\n type,\n payload: payload ?? {},\n callback,\n }\n\n if (fetchMode === 'prefer-online' && type && onlineRestApiHandlers[type]) {\n onlineRestApiHandlers[type](payload)\n .then((data: any) => {\n if (this.callbacks[id]) {\n this.callbacks[id].callback({\n type: PitcherMessageType.RESPONSE,\n request: { id, type },\n response: { status: PitcherResponseStatus.OK, body: data },\n } satisfies PitcherResponse)\n delete this.callbacks[id]\n }\n })\n .catch((error: any) => {\n if (this.callbacks[id]) {\n this.callbacks[id].callback({\n type: PitcherMessageType.RESPONSE,\n request: { id, type },\n response: { status: PitcherResponseStatus.ERROR, body: error },\n } satisfies PitcherResponse)\n delete this.callbacks[id]\n }\n })\n } else {\n // Post message to top ancestor window\n const targetWindow = getTopPitcherWindow(window)\n if (typeof targetWindow !== 'undefined' && targetWindow) {\n targetWindow.postMessage(\n {\n type: 'PITCHER_REQUEST',\n request: {\n type,\n id,\n body: payload,\n },\n },\n '*',\n )\n }\n }\n })\n }\n}\n","import * as modules from '@sdk/api/modules'\nimport { EventEmitter } from '@sdk/utils/eventEmitter'\nimport { LowLevelApi } from '@sdk/api/LowLevelApi'\nimport type { PitcherEvent, ApiOptions } from '@sdk/interfaces'\n\n/**\n * Creates a high-level API instance and caches it. Reterns a new instance only if new options are provided.\n */\nexport function createHighLevelApi(options?: ApiOptions) {\n const API = new LowLevelApi(options)\n const eventEmitter = new EventEmitter()\n\n API.on('event', (event: PitcherEvent) => {\n eventEmitter.emit(event.type, event.body)\n })\n\n return {\n API,\n ...modules,\n /**\n * Subscribe to a given event type by its key.\n *\n * @param {string} type - The event type to subscribe to.\n * @param {(payload: PitcherEvent) => void} callback - The callback function to handle the event.\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event. * @example\n *\n * @example\n * const unsubscribeFromSectionListUpdate = usePitcherApi().on('entered_fullscreen', (event: object) => {\n * // handle event\n * })\n * // later\n * unsubscribeFromSectionListUpdate()\n */\n on: (type: string, callback: (payload: PitcherEvent) => void) => eventEmitter.on(type, callback),\n\n /**\n * Unsubscribe from a given event type by its key and the attached callback reference.\n * @param {string} type - The event type to unsubscribe from.\n * @param {(payload: PitcherEvent) => void} callback - The callback function reference to remove.\n *\n * @example\n * const callback = (event: object) => {\n * // handle event\n * }\n * usePitcherApi().on('entered_fullscreen', callback)\n * // later\n * usePitcherApi().off('entered_fullscreen', callback)\n */\n off: (type: string, callback: (payload: PitcherEvent) => void) => eventEmitter.off(type, callback),\n\n /**\n * Make the entire CatalogIQ fullscreen.\n *\n * @example\n * usePitcherApi().enterFullscreen()\n */\n enterFullscreen: () => API.request('enter_fullscreen'),\n\n /**\n * Exit fullscreen mode.\n *\n * @example\n * usePitcherApi().exitFullscreen()\n */\n exitFullscreen: () => API.request('exit_fullscreen'),\n\n /**\n * Return is CatalogIQ in fullscreen.\n *\n * @example\n * usePitcherApi().isFullscreen()\n */\n isFullscreen: () => API.request('is_fullscreen'),\n\n /**\n * Log out the current user.\n *\n * @example\n * usePitcherApi().logout()\n */\n logout: () => API.request('logout'),\n\n /**\n * Quit the current instance and go to the instance selection screen.\n *\n * @example\n * usePitcherApi().quitInstance()\n */\n quitInstance: () => API.request('quit_instance'),\n\n /**\n * Get the request types.\n *\n * @returns {Promise<any>}\n */\n getRequestTypes: () => API.request('get_request_types'),\n\n /**\n * Broadcast an event to CatalogIQ.\n * @param {PitcherEvent} event - The event to broadcast.\n *\n * @example\n * usePitcherApi()\n * .broadcast({\n * type: \"canvas_updated\",\n * body: { context: { myContextProperty: 'test' } },\n * })\n * .then(function (result) {\n * useUi().toast({\n * message: \"Canvas Populated.\",\n * type: \"info\",\n * })\n * })\n */\n broadcast: (event: PitcherEvent) => API.request('broadcast', event),\n\n /**\n * Broadcast an event to webviews only (iOS only).\n * @param {PitcherEvent} event - The event to broadcast.\n *\n * @example\n * usePitcherApi()\n * .broadcastToWebviews({\n * type: \"canvas_updated\",\n * body: { context: { myContextProperty: 'test' } },\n * })\n * .then(function (result) {\n * useUi().toast({\n * message: \"Canvas Populated.\",\n * type: \"info\",\n * })\n * })\n */\n broadcastToWebviews: (event: PitcherEvent) => API.request('broadcast_to_webviews', event),\n\n /**\n * Subscribe to updates.\n *\n * @returns {Promise<void>}\n */\n subscribe: () => API.request('subscribe'),\n\n /**\n * Unsubscribe from updates.\n *\n * @returns {Promise<void>}\n */\n unsubscribe: () => API.request('unsubscribe'),\n }\n}\n","export function usePostRobot() {\n if (window.postRobot) return window.postRobot\n\n return import('post-robot').then((m) => m.default || m)\n}\n","import type {\n SelectedPage as ContentSelectorSelectedPage,\n SelectedFile as ContentSelectorSelectedFile,\n SelectorType,\n} from '@content-selector/stores/app'\nimport type { Selection } from '@lib/types/selections'\nimport type { CanvasSelection } from '@canvas-selector/appTypes'\nimport type { ComponentNode, EmbeddableProps } from '@canvas-builder/types/canvas'\nimport type { SfEvent } from '@lib/types/sfdc'\nimport type { Mutable } from '@lib/types/ts'\nimport type { CanvasRetrieve, File, User, Canvas, CanvasSection, FileContentTypeEnum } from '@openapi'\nimport type { OpenRequestPayload } from '@sdk/payload.types'\nimport type { Range } from '@lib/util/tsHelpers'\nimport type { Agenda, AgendaSelectorProps } from '@agenda-selector/types/agenda.type'\nimport type { CollectionSelectorProps } from '@collection-selector/types/collection-selector.type'\nimport type { CollectionPlayer } from '@collection-player/types/collection-player.type'\nimport type { EmbedLocation } from '@lib/types/app'\n\nexport const UI_MESSAGE = 'UI_MESSAGE' as const\n\nexport const UI_API_METHOD_TYPES = {\n UI_BROADCAST: 'ui_broadcast',\n UI_SELECT_CONTENT: 'ui_select_content',\n UI_SELECT_CANVASES: 'ui_select_canvases',\n UI_OPEN: 'ui_open',\n UI_EMBEDDABLE_READY: 'ui_embeddable_ready',\n UI_TOAST: 'ui_toast',\n UI_CAPTURE_APP_ERROR: 'ui_capture_app_error',\n UI_UPDATE_CANVAS: 'ui_update_canvas',\n UI_PRINT_CANVAS: 'ui_print_canvas',\n UI_OPEN_CANVAS_OVERLAY: 'ui_open_canvas_overlay',\n UI_OPEN_COLLECTION_PLAYER_OVERLAY: 'ui_open_collection_player_overlay',\n UI_SELECT_COLLECTION_PLAYER_CONTENT: 'ui_select_collection_player_content',\n UI_SELECT_AGENDA_CONTENT: 'ui_select_agenda_content',\n UI_UPDATE_LOCATION: 'ui_update_location',\n UI_PRESELECT_SFDC_MEETING_ID: 'ui_preselect_sfdc_meeting_id',\n UI_SET_POSTCALL_STYLE: 'ui_set_postcall_style',\n UI_ENABLE_POSTCALL_SUBMIT: 'ui_enable_postcall_submit',\n UI_DISABLE_POSTCALL_SUBMIT: 'ui_disable_postcall_submit',\n UI_COMPLETE_POSTCALL: 'ui_complete_postcall',\n UI_STOP_MEETING: 'ui_stop_meeting',\n UI_CANCEL_MEETING: 'ui_cancel_meeting',\n UI_RESUME_MEETING: 'ui_resume_meeting',\n UI_PROMPT_PIA: 'ui_prompt_pia',\n\n UI_CANVAS_NAVIGATE_NEXT_PAGE: 'ui_canvas_navigate_next_page',\n UI_CANVAS_NAVIGATE_PREVIOUS_PAGE: 'ui_canvas_navigate_previous_page',\n UI_CANVAS_NAVIGATE_PAGE: 'ui_canvas_navigate_page',\n\n UI_APP_LOADED: 'ui_app_loaded',\n UI_APP_RESIZE: 'ui_app_resize',\n\n UI_CLOSE_CANVAS_SECTION_EXECUTION: 'ui_close_canvas_section_execution',\n UI_CLOSE_CANVAS_DRAWER: 'ui_close_canvas_drawer',\n UI_OPEN_GLOBAL_POPUP: 'ui_open_global_popup',\n UI_CLOSE_GLOBAL_POPUP: 'ui_close_global_popup',\n UI_OPEN_SHARING_SETTINGS: 'ui_open_sharing_settings',\n} as const\n\nexport const UI_MESSAGE_TYPES = {\n UI_MEETING_CANCELED: 'ui_meeting_canceled',\n UI_CANVAS_UPDATED: 'ui_canvas_updated',\n UI_SECTION_LIST_UPDATED: 'ui_section_list_updated',\n UI_APP_SET_DATA: 'ui_app_set_data',\n UI_APP_UPDATE_DATA: 'ui_app_update_data',\n UI_PROMPT_PIA_RESPONSE_STREAMED: 'ui_prompt_pia_response_streamed',\n} as const\n\nexport const UI_NATIVE_MESSAGE_TYPES = [\n UI_MESSAGE_TYPES.UI_APP_SET_DATA,\n UI_MESSAGE_TYPES.UI_APP_UPDATE_DATA,\n UI_MESSAGE_TYPES.UI_CANVAS_UPDATED,\n] as const\n\n// UI API METHOD TYPES\nexport type UiBroadcastRequest = Record<string, any>\n\nexport type UiSelectContentRequest = {\n /** Array of selections */\n selections?: Selection[]\n content_type?: 'file' | 'slide' | 'content'\n allowed_selector_types?: SelectorType[]\n allowed_content_types?: FileContentTypeEnum[]\n allowed_asset_content_types?: FileContentTypeEnum[]\n max_selections?: number\n min_selections?: Range<0, 999>\n allowed_ids?: File['id'][]\n initial_metadata_filters?: Record<string, any>\n /**\n * Array of file extensions to scope out list of the results (optional). Only files with these extensions will be shown.\n */\n allowed_original_extensions?: string[]\n /**\n * Disables files from selection which are not sharable (optional).\n */\n disable_no_sharable?: boolean\n /**\n * Disables files from selection which do not have pptx_data in metadata object (optional).\n */\n disable_no_pptx_data?: boolean\n /**\n * Only allow content pdf pages (optional). User will be forced to select a page from the pdf.\n */\n only_allow_content_pdf_pages?: boolean\n}\n\nexport type UiSelectContentResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: (ContentSelectorSelectedFile | ContentSelectorSelectedPage)[]\n}\n\nexport type UiSelectCollectionPlayerRequest = {\n initial_data?: CollectionSelectorProps['initialData']\n attach_to?: CollectionSelectorProps['attachTo']\n open_settings?: CollectionSelectorProps['openSettings']\n readonly_name?: CollectionSelectorProps['readonlyName']\n close_on_settings?: CollectionSelectorProps['closeOnSettings']\n translations?: CollectionSelectorProps['translations']\n initial_metadata_filters?: CollectionSelectorProps['initialMetadataFilters']\n hide_close?: CollectionSelectorProps['hideClose']\n}\n\nexport type UiSelectCollectionPlayerResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected' | 'settings'\n /** Selected content */\n content?: CollectionPlayer\n}\n\nexport type UiSelectAgendaRequest = {\n initial_agenda?: AgendaSelectorProps['initialAgenda']\n attach_to?: AgendaSelectorProps['attachTo']\n}\n\nexport type UiSelectAgendaResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: Agenda\n}\n\nexport type UiSelectCanvasesRequest = {\n /** Array of selections */\n selections?: CanvasSelection[]\n allowed_types?: ('canvas' | 'canvas-template' | 'section' | 'section-template')[]\n allowed_ids?: Canvas['id'][]\n initial_metadata_filters?: Record<string, any>\n}\n\nexport type UiSelectCanvasesResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected canvases */\n canvases?: Canvas[]\n}\n\nexport type UiPromptPiaRequest = {\n /** Unique identifier of this prompt (needed for streaming event) */\n id: string\n /** Prompt to send to PIA */\n prompt: string\n}\n\nexport type UiPromptPiaResponse = {\n /** Unique identifier of this prompt (needed for streaming event) */\n id: string\n /** PIA response */\n response: string\n}\n\n/**\n * Error object to send to Pitcher sentry instance\n */\nexport type UiCaptureAppErrorRequest = Record<string, any>\n\nexport type UiUpdateCanvasRequest = Mutable<CanvasRetrieve> & {\n /** Comma-separated list of field keys to return from the server */\n fields?: string\n}\n\nexport type UiPrintCanvasRequest = {\n /** Canvas ID to print */\n id: CanvasRetrieve['id']\n /** Optional HTTPS URL for async download notifications */\n notify_url?: string\n}\n\nexport type UiPrintCanvasResponse = {\n /** Job ID for tracking the async download */\n job_id?: string\n /** Indicates if the request was successful */\n success: boolean\n}\n\nexport type UiOpenRequest = OpenRequestPayload & {\n /** Name of the app to open */\n app_name?: string\n /** Context to pass to the app */\n app_context?: Record<string, any>\n /** Embed location of the app */\n app_embed_location?: EmbedLocation\n}\n\nexport type UiCompletePostcallRequest = {\n /** Indicates if the postcall was successfully submitted */\n was_successfully_submitted?: boolean\n}\n\nexport type UiSetPostcallStyleRequest = Record<string, any>\n\nexport type UiAppResizeRequest = {\n /** Requested height as the number of pixels */\n height: number\n}\n\nexport type UiCanvasNavigatePageRequest = {\n /** The id of the component we want to navigate to */\n page: ComponentNode['id']\n}\n\nexport interface UiToastRequest {\n /**\n * Type of the toast, influences the default icon\n * @defaultValue **REQUIRED**\n */\n type: 'info' | 'error' | 'warning' | 'success' | 'loading'\n\n /**\n * Text to show inside the toast\n * @defaultValue **REQUIRED**\n */\n message: string\n\n /**\n * Optional, value in milliseconds\n * @defaultValue 3500\n */\n duration?: number\n\n /**\n * Visibility of the close button, default is true\n * @defaultValue true\n */\n closable?: boolean\n\n /**\n * Toast won't be hidden as long as it is hovered\n * @defaultValue true\n */\n keepAliveOnHover?: boolean\n\n /**\n * Set to `false` to hide the icon\n * @defaultValue true\n */\n showIcon?: boolean\n}\n\nexport interface UiPreselectSfdcMeetingIdRequest {\n /** Salesforce Meeting ID */\n eventId: string\n}\n\nexport interface UiPreselectSfdcMeetingIdResponse {\n /** Salesforce Event */\n event: SfEvent | null\n}\n\nexport interface UiOpenCollectionPlayerOverlayGroup {\n /** File ID */\n id: string\n /** File name */\n name: string\n /** Optional: specific slides/pages to show from the file */\n slides?: Array<{\n /** The file ID (same as parent group.id) */\n file_id: string\n /** Zero-based page/slide index to show */\n slide_index: number\n }>\n}\n\nexport interface UiOpenCollectionPlayerOverlayRequest {\n /** Array of files/slides to be played in the collection */\n groups: UiOpenCollectionPlayerOverlayGroup[]\n /** The display name for the collection */\n name: string\n}\n\n// UI API EVENT MESSAGE TYPES\nexport type UiMessagePayloads = {\n [UI_MESSAGE_TYPES.UI_MEETING_CANCELED]: UiMeetingCanceledPayload\n [UI_MESSAGE_TYPES.UI_APP_SET_DATA]: UiAppSetDataPayload\n [UI_MESSAGE_TYPES.UI_APP_UPDATE_DATA]: UiAppUpdateDataPayload\n [UI_MESSAGE_TYPES.UI_CANVAS_UPDATED]: UiCanvasUpdatedPayload\n [UI_MESSAGE_TYPES.UI_SECTION_LIST_UPDATED]: UiSectionListUpdatedPayload\n [UI_MESSAGE_TYPES.UI_PROMPT_PIA_RESPONSE_STREAMED]: UiPromptPiaResponseStreamedPayload\n}\n\nexport type UiMessageEnvelope<\n T extends\n (typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES] = (typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES],\n> = {\n /** Message type */\n type: T\n /** Message body */\n body: UiMessagePayloads[T]\n}\n\nexport type UiMeetingCanceledPayload = {\n /** Account ID */\n accountId?: string\n /** Event ID */\n eventId?: string\n}\n\nexport type UiAppSetDataPayload = {\n /** Client name */\n client: string | null\n /** Platform name */\n platform: string | undefined\n /** User information */\n user: User | null\n /** Edit mode status */\n is_edit_mode: boolean\n /** Call status */\n in_call: boolean\n /** Canvas data */\n canvas: CanvasRetrieve\n /** Section used in canvas */\n used_in_section: CanvasSection | null\n /** Component ID */\n component_id: string\n /** Embeddable settings */\n settings: EmbeddableProps['settings'] | null\n /** Width of the canvas */\n width: string | undefined\n /** Height of the canvas */\n height: string | undefined\n /** Full screen mode status */\n full_screen_mode: boolean | undefined\n /** Display mode */\n display_mode: string | undefined\n /** Section index in section list */\n section_index: number | null\n /** Section list ID */\n section_list_id: string | null\n /** Canvas correlation ID for tracking */\n canvas_correlation_id: string | undefined\n}\n\nexport type UiAppUpdateDataPayload = {\n /** Call status */\n in_call: boolean\n /** Edit mode status */\n is_edit_mode: boolean\n}\n\nexport type UiCanvasUpdatedPayload = {\n /** Canvas data */\n canvas: CanvasRetrieve\n}\n\nexport type UiSectionListUpdatedPayload = {\n /** List of section IDs */\n section_list_ids: string[]\n /** Section list component ID */\n section_list_component_id: string\n /** Canvas data */\n canvas: CanvasRetrieve | null\n}\n\nexport type UiPromptPiaResponseStreamedPayload = {\n /** Unique identifier of this prompt */\n id: string\n /** PIA response so far */\n partial_response: string\n /** Current chunk of the response */\n chunk: string\n}\n\nexport interface UiOpenGlobalPopupRequest {\n /** Name of the app to open */\n app_name: string\n /** Extra context to pass to the app */\n extra_context?: Record<string, any>\n}\n\nexport interface UiOpenGlobalPopupResponse {\n /** Whether the popup was successfully opened */\n success: boolean\n}\n\nexport interface UiOpenSharingSettingsRequest {\n files: Array<{\n id: string\n name: string\n thumbnail_url?: string\n content_type?: string\n }>\n default_auth_strategy?: string\n}\n\nexport interface UiOpenSharingSettingsResponse {\n user_action: 'confirmed' | 'cancelled'\n settings?: {\n auth_strategy:\n | 'none'\n | 'any_email'\n | 'specified_emails'\n | 'specified_domains'\n | 'verified_emails'\n | 'verified_domains'\n allowed_emails?: string[]\n allowed_domains?: string[]\n valid_until_days?: number | null\n allow_download?: boolean\n }\n}\n","import { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport {\n type UiSelectAgendaRequest,\n type UiSelectAgendaResponse,\n type UiSelectCollectionPlayerRequest,\n type UiSelectCollectionPlayerResponse,\n type UiSelectContentRequest,\n type UiSelectContentResponse,\n type UiOpenRequest,\n type UiToastRequest,\n type UiPreselectSfdcMeetingIdRequest,\n type UiPreselectSfdcMeetingIdResponse,\n type UiOpenGlobalPopupRequest,\n type UiOpenGlobalPopupResponse,\n UI_API_METHOD_TYPES,\n} from '@sdk/api/modules/ui/types.ui'\n\n/**\n * @hidden\n * @deprecated\n */\nexport async function ui_select_content(payload: UiSelectContentRequest = {}): Promise<UiSelectContentResponse> {\n const pr = await usePostRobot()\n console.warn(\n '[content.ui.ts]: ui_select_content is deprecated and might get removed in future versions, please use select_content instead.',\n )\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_CONTENT, payload)\n return <UiSelectContentResponse>response.data\n}\n\n/**\n * Allows the user to select (and preselect) content from the instance.\n *\n * Opens the content selector dialog to allow the user to select content and handle the outcome. This method allows you to\n * prompt the user to select content from the CatalogIQ instance and use that content in your application.\n *\n * @example\n * const api = useApi() // or useUi() if you know that you 're in UI context\n * api\n * .selectContent({\n * selections: [\n * { fileId: \"01HCZ623YYRFJQ0F7B69VWE510\", type: \"file\" },\n * {\n * fileId: \"01HD3XGZ5FN90QJGK7CH8TBZDF\",\n * type: \"page\",\n * pageIndex: 2,\n * },\n * ],\n * })\n *\n * @param payload optional payload to preselect specific content\n * @returns Promise with the user action and selected content\n */\nexport async function selectContent(payload: UiSelectContentRequest = {}): Promise<UiSelectContentResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_CONTENT, payload)\n return <UiSelectContentResponse>response.data\n}\n\n/**\n * Open a file in the CatalogIQ instance.\n */\nexport async function open(payload: UiOpenRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_OPEN, payload)\n}\n\n/**\n * Show a toast message to the user.\n *\n * @example\n * useUi().toast({ type: 'info', message: 'Hello, world!' })\n */\nexport async function toast(payload: UiToastRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_TOAST, payload)\n}\n\n/**\n * Preselect a meeting in the top meeting bar by Salesforce Meeting ID. From there, the user can easily start the meeting\n * with a single click.\n *\n * @example\n * const objectFetchedFromSalesforce = {\n * // fetch dynamically from Salesforce or provide in another way\n * EventId: '00U1r00000D1J1zEAF',\n * }\n * ui.preselectSfdcMeetingId({ eventId: objectFetchedFromSalesforce.EventId }).then((response) => {\n * // e.g. display advanced meeting details inside your app\n * console.log(response.event)\n * })\n */\nexport async function preselectSfdcMeetingId(\n payload: UiPreselectSfdcMeetingIdRequest,\n): Promise<UiPreselectSfdcMeetingIdResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_PRESELECT_SFDC_MEETING_ID, payload)\n return <UiPreselectSfdcMeetingIdResponse>response.data\n}\n\n/**\n * Opens the collection player selector modal to allow the user to select collection player content and handle the outcome.\n * ```\n * const api = useApi() // or useUi() if you know that you 're in UI context\n *\n * uiApi.selectCollectionContent({\n * // optional payload\n * initial_data: {\n * name: 'test',\n * groups: []\n * }\n * })\n * ```\n */\nexport async function selectCollectionContent(\n payload: UiSelectCollectionPlayerRequest = {},\n): Promise<UiSelectCollectionPlayerResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_COLLECTION_PLAYER_CONTENT, payload)\n\n return <UiSelectCollectionPlayerResponse>response.data\n}\n\n/**\n * Opens the agenda selector modal to allow the user to select agenda content and handle the outcome.\n * ```\n * const api = useApi() // or useUi() if you know that you 're in UI context\n *\n * uiApi.selectAgendaContent({\n * // optional payload\n * initial_agenda: {\n * name: 'test',\n * groups: []\n * }\n * })\n * ```\n */\nexport async function selectAgendaContent(payload: UiSelectAgendaRequest = {}): Promise<UiSelectAgendaResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_AGENDA_CONTENT, payload)\n\n return <UiSelectAgendaResponse>response.data\n}\n\n/**\n * Opens a global popup app by name.\n *\n * @example\n * const api = useApi()\n * api.openGlobalPopup('my-popup-app')\n * api.openGlobalPopup('my-popup-app', { customData: 'value' })\n *\n * @param appName - The name of the app to open (must have app_type: 'ui-global-popup')\n * @param extraContext - Extra context to pass to the app\n * @returns Promise with the result of the operation\n */\nexport async function openGlobalPopup(\n appName: string,\n extraContext?: Record<string, any>,\n): Promise<UiOpenGlobalPopupResponse> {\n const pr = await usePostRobot()\n const payload: UiOpenGlobalPopupRequest = {\n app_name: appName,\n extra_context: extraContext,\n }\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_OPEN_GLOBAL_POPUP, payload)\n return <UiOpenGlobalPopupResponse>response.data\n}\n\n/**\n * Closes the currently open global popup app.\n *\n * @example\n * const api = useApi()\n * api.closeGlobalPopup()\n */\nexport async function closeGlobalPopup(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_CLOSE_GLOBAL_POPUP, {})\n}\n","import { UI_API_METHOD_TYPES } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * This event is used for appJson.module.canvas.start_in_loading_mode: true apps.\n * A loading curtain is displayed until you call this event.\n *\n * @example\n * useUi().embeddableReady()\n *\n */\nexport async function embeddableReady(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_EMBEDDABLE_READY)\n}\n","import { UI_API_METHOD_TYPES } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport type { UpdateLocationPitcherEvent } from '@sdk/interfaces'\nimport { getTopPitcherWindow } from '@sdk/utils/window'\n\n/**\n * Navigate to another page in the CatalogIQ instance.\n *\n * [//]: # 'TODO: This is a very powerful event, we need to expand documentation here'\n *\n * @example\n * const canvasId = '1234567890abcdef12345678' // obtain target canvasId\n * useUi().updateLocation({\n * action: 'restore',\n * routes: {\n * 'slotty-ui': {\n * path: '/canvases/saved-canvases/' + canvasId + '/build/present',\n * query: {},\n * },\n * },\n * })\n */\n\nexport async function updateLocation(payload: UpdateLocationPitcherEvent): Promise<any> {\n const pr = await usePostRobot()\n return pr.send(getTopPitcherWindow(), UI_API_METHOD_TYPES.UI_UPDATE_LOCATION, payload)\n}\n","import { UI_API_METHOD_TYPES, type UiCaptureAppErrorRequest } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Send an app error to Pitcher sentry instance.\n *\n * @example\n * try {\n * throw new Error('This is an error')\n * } catch (error) {\n * useUi().captureAppError(error)\n * }\n *\n * @param payload error object to send to Pitcher sentry instance\n */\nexport async function captureAppError(payload: UiCaptureAppErrorRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CAPTURE_APP_ERROR, payload)\n}\n","import { type CanvasRetrieve } from '@openapi'\nimport type {\n UiAppResizeRequest,\n UiCanvasNavigatePageRequest,\n UiUpdateCanvasRequest,\n UiPrintCanvasRequest,\n UiPrintCanvasResponse,\n UiSelectCanvasesRequest,\n UiSelectCanvasesResponse,\n UiOpenCollectionPlayerOverlayRequest,\n} from '@sdk/api/modules/ui/types.ui'\nimport { UI_API_METHOD_TYPES } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Modify the currently loaded canvas. On the web it sends\n * an [update_canvas](https://pitcher.readme.io/reference/update_canvas) request to the server.\n *\n * @param payload parts of the canvas object to update with fields to return\n */\nexport async function updateCanvas(payload: UiUpdateCanvasRequest): Promise<CanvasRetrieve> {\n const pr = await usePostRobot()\n return pr\n .send(window.parent, UI_API_METHOD_TYPES.UI_UPDATE_CANVAS, payload)\n .then((response) => response.data as CanvasRetrieve)\n}\n\n/**\n * Trigger async print/download of a canvas with optional notification URL.\n * Calls the downloader-test endpoint to convert the canvas to PDF.\n *\n * @param payload Canvas ID and optional notify URL for async notifications\n * @returns Promise with job ID and success status\n *\n * @example\n * useUi().printCanvas({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * notify_url: 'https://my-webhook.example.com/canvas-ready'\n * })\n */\nexport async function printCanvas(payload: UiPrintCanvasRequest): Promise<UiPrintCanvasResponse> {\n const pr = await usePostRobot()\n return pr\n .send(window.parent, UI_API_METHOD_TYPES.UI_PRINT_CANVAS, payload)\n .then((response) => response.data as UiPrintCanvasResponse)\n}\n\n/**\n * Notify the CatalogIQ instance that the app is loaded and ready to get the data. Triggering this method will trigger\n * the `on_app_set_data` event.\n *\n * @example\n * @example\n * useUi().appLoaded()\n */\nexport async function appLoaded(): Promise<void> {\n window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_APP_LOADED, body: {} }, '*')\n}\n\n/**\n * Resize the app iframe to a given height.\n *\n * Note that initial iframe height comes from the `app.json` manifest file. It can also be adjusted by the user when adding\n * app component to the canvas. In case when the app must be temporarily resized to show larger ui elements it can read the\n * user-set height from the [on_app_set_data](#on-app-set-data) event.\n * @param payload object containing requested height of the iframe as the number of pixels\n */\nexport async function appResize(payload: UiAppResizeRequest): Promise<void> {\n window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_APP_RESIZE, body: payload }, '*')\n}\n\n/**\n * Close the Canvas Section Execution modal. Only takes effect for `canvas_section_execution` app modules\n *\n * Note that this method simply closes the modal and will result in the app calling it being unmounted from the DOM and\n * destroyed. Make sure your app has finished updating data before you call this method.\n *\n * @example\n * useUi().closeCanvasSectionExecution()\n */\nexport async function closeCanvasSectionExecution(): Promise<void> {\n window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_CLOSE_CANVAS_SECTION_EXECUTION, body: {} }, '*')\n}\n\n/**\n * Close the Canvas Drawer modal. Only takes effect for apps running in `canvas_drawer` embed location\n *\n * Note that this method simply closes the drawer and will result in the app calling it being unmounted from the DOM and\n * destroyed. Make sure your app has finished updating data before you call this method.\n *\n * @example\n * useUi().closeCanvasDrawer()\n */\nexport async function closeCanvasDrawer(): Promise<void> {\n window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_CLOSE_CANVAS_DRAWER, body: {} }, '*')\n}\n\n/**\n * Navigate to the next page in the current canvas. Noop if the current page is the last one.\n *\n * @example\n * useUi().canvasNavigateNextPage()\n */\nexport async function canvasNavigateNextPage(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANVAS_NAVIGATE_NEXT_PAGE)\n}\n\n/**\n * Navigate to the previous page in the current canvas. Noop if the current page is the first one.\n *\n * @example\n * useUi().canvasNavigatePreviousPage()\n */\nexport async function canvasNavigatePreviousPage(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANVAS_NAVIGATE_PREVIOUS_PAGE)\n}\n\n/**\n * Navigate to a specific canvas place in the current canvas. Despite the event and parameter name, it takes the component\n * id that we want to put in view.\n *\n * @example\n * const uiApi = useUi() // our useApi()\n *\n * let activeCanvas = null\n * const unsubscribe = uiApi.on_app_set_data((data) => {\n * activeCanvas = data?.canvas\n * })\n *\n * document.getElementById('my-button').addEventListener('click', () => {\n * const target = activeCanvas?.content?.data?.find((i: any) => i.data.app_name === 'my-target-app-id') || null\n * if (target) {\n * uiApi.canvasNavigatePage({ page: target.id })\n * }\n * })\n */\nexport async function canvasNavigatePage(payload: UiCanvasNavigatePageRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANVAS_NAVIGATE_PAGE, payload)\n}\n\n/**\n * Opens a modal to view a canvas by ID.\n *\n * ```\n * onMounted(() => {\n * uiApi.openCanvasOverlay({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * edit_mode: false,\n * fullscreen: true,\n * })\n * })\n * ```\n *\n * You can also specify a position for the canvas overlay:\n *\n * ```\n * uiApi.openCanvasOverlay({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * position: {\n * top: '10px',\n * left: '20px',\n * right: '20px',\n * bottom: '10px'\n * }\n * })\n * ```\n */\nexport async function openCanvasOverlay(payload: {\n id: CanvasRetrieve['id']\n edit_mode?: boolean\n fullscreen?: boolean\n component_id?: string\n section_id?: string\n position?: {\n left?: number | string\n right?: number | string\n top?: number | string\n bottom?: number | string\n }\n}): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_OPEN_CANVAS_OVERLAY, payload)\n}\n\n/**\n * Opens the collection player overlay to view a collection of files/slides.\n *\n * This method opens the native Pitcher collection player interface with the specified\n * files and slides. You can show entire files or specific pages from files.\n *\n * @example\n * // Open collection with full files\n * useUi().openCollectionPlayerOverlay({\n * groups: [\n * { id: 'file-123-abc', name: 'Product Overview' },\n * { id: 'file-456-def', name: 'Pricing Slides' }\n * ],\n * name: 'Sales Deck'\n * })\n *\n * // Open collection with specific slides/pages\n * useUi().openCollectionPlayerOverlay({\n * groups: [\n * {\n * id: 'file-123-abc',\n * name: 'Product Overview',\n * slides: [\n * { file_id: 'file-123-abc', slide_index: 0 },\n * { file_id: 'file-123-abc', slide_index: 2 }\n * ]\n * }\n * ],\n * name: 'Custom Sales Presentation'\n * })\n *\n * @param payload Object containing groups array and collection name\n */\nexport async function openCollectionPlayerOverlay(payload: UiOpenCollectionPlayerOverlayRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_OPEN_COLLECTION_PLAYER_OVERLAY, payload)\n}\n\n/**\n * Allows the user to select (and preselect) canvases from the instance.\n *\n * This method allows you to prompt the user to select canvases from the CatalogIQ\n * instance and use that canvas selection in your application.\n *\n * @example\n * const api = useApi() // or useUi() if you know that you 're in UI context\n * api\n * .selectCanvases({\n * allowed_types: ['canvas','canvas-template','section','section-template'] // default ['canvas']\n * selections: [\n * { id: \"01HCZ623YYRFJQ0F7B69VWE510\" },\n * { id: \"02HCZ623YYRFJQ0F7B69VWE510\" },\n * ], // default []\n * })\n *\n * @param payload optional payload to preselect specific canvases\n * @returns Promise with the user action and selected canvases\n */\nexport async function selectCanvases(payload: UiSelectCanvasesRequest = {}): Promise<UiSelectCanvasesResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_CANVASES, payload)\n return <UiSelectCanvasesResponse>response.data\n}\n","import {\n UI_API_METHOD_TYPES,\n type UiCompletePostcallRequest,\n type UiSetPostcallStyleRequest,\n} from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Completes the postcall stage (with successful submission or not)\n *\n * @example\n * useUi().completePostcall({ was_successfully_submitted: true })\n */\nexport async function completePostcall(payload: UiCompletePostcallRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_COMPLETE_POSTCALL, payload)\n}\n\n/**\n * Cancels current meeting and the event remains unrealized (like it never happened).\n *\n * @example\n * useUi().cancelMeeting()\n */\nexport async function cancelMeeting(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANCEL_MEETING)\n}\n\n/**\n * Resumes the meeting and attempts to go at the last presented route / component.\n *\n * @example\n * useUi().resumeMeeting()\n */\nexport async function resumeMeeting(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_RESUME_MEETING)\n}\n\n/**\n * Ends current meeting and shows postcall form.\n *\n * @example\n * useUi().stopMeeting()\n */\nexport async function stopMeeting(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_STOP_MEETING)\n}\n\n/**\n * Mark the postcall form as possible to submit by the user.\n *\n * @deprecated\n * @example\n * useUi().enablePostcallSubmit()\n */\nexport async function enablePostcallSubmit(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_ENABLE_POSTCALL_SUBMIT)\n}\n\n/**\n * Mark the postcall form as **not** possible to submit by the user. Useful while processing the form data.\n *\n * @deprecated\n * @example\n * useUi().disablePostcallSubmit()\n */\nexport async function disablePostcallSubmit(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_DISABLE_POSTCALL_SUBMIT)\n}\n\n/**\n * Change the height of the postcall form.\n *\n * @example\n * useUi().setPostcallStyle({ height: 100 })\n */\nexport async function setPostcallStyle(payload: UiSetPostcallStyleRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_SET_POSTCALL_STYLE, payload)\n}\n","import { UI_API_METHOD_TYPES, type UiPromptPiaRequest, type UiPromptPiaResponse } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Sends a query to the Pitcher Intelligent Assistant (PIA) and handles the streamed response.\n *\n * @example\n * // Subscribe to PIA's streamed responses\n * const cleanup = await useUi().on(\n * UI_MESSAGE_TYPES.UI_PROMPT_PIA_RESPONSE_STREAMED,\n * async ({ chunk, partial_response, id }) => {\n * console.log(`PIA response chunk for stream ${id}: ${chunk}`);\n * console.log(`PIA response so far for stream ${id}: ${partial_response}`);\n * }\n * );\n * // Prompt PIA with a question and ensure cleanup is called afterwards\n * useUi().promptPia({ prompt: \"What's my most presented file?\", id: 'my-prompt-id-to-discern-with-stream-event' })\n * .finally(cleanup);\n */\nexport async function promptPia(payload: UiPromptPiaRequest): Promise<UiPromptPiaResponse> {\n const pr = await usePostRobot()\n const r = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_PROMPT_PIA, payload)\n return r.data as UiPromptPiaResponse\n}\n","import { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport {\n UI_API_METHOD_TYPES,\n type UiOpenSharingSettingsRequest,\n type UiOpenSharingSettingsResponse,\n} from './types.ui'\n\nexport async function openSharingSettings(\n payload: UiOpenSharingSettingsRequest,\n): Promise<UiOpenSharingSettingsResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(\n window.parent,\n UI_API_METHOD_TYPES.UI_OPEN_SHARING_SETTINGS,\n payload,\n )\n return response.data as UiOpenSharingSettingsResponse\n}\n","import { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport type {\n UiMessageEnvelope,\n UiMeetingCanceledPayload,\n UiCanvasUpdatedPayload,\n UiSectionListUpdatedPayload,\n UiAppSetDataPayload,\n UiAppUpdateDataPayload,\n UiBroadcastRequest,\n UiMessagePayloads,\n} from './types.ui'\nimport { UI_API_METHOD_TYPES, UI_MESSAGE_TYPES, UI_NATIVE_MESSAGE_TYPES } from './types.ui'\nimport * as contentUi from './content.ui'\nimport * as loadingUi from './loading.ui'\nimport * as locationUi from './location.ui'\nimport * as appErrorsUi from './app-errors.ui'\nimport * as canvasUi from './canvas.ui'\nimport * as postCallUi from './post-call.ui'\nimport * as piaUi from './pia.ui'\nimport * as sharingUi from './sharing.ui'\n\nasync function onNative<T extends keyof UiMessagePayloads>(\n type: T,\n handler: (data: UiMessagePayloads[T]) => Promise<void>,\n) {\n const messageListener = (event: MessageEvent<UiMessageEnvelope<typeof type>>) => {\n if (event.data.type === type) {\n handler(event.data.body)\n }\n }\n window.addEventListener('message', messageListener)\n\n return () => window.removeEventListener('message', messageListener)\n}\n\nasync function onPostRobot<T extends keyof UiMessagePayloads>(\n type: T,\n handler: (data: UiMessagePayloads[T]) => Promise<void>,\n) {\n const pr = await usePostRobot()\n const listener = pr.on(type, (e) => handler(e.data))\n\n // return the cleanup function\n return listener.cancel\n}\n\n/**\n * Subscribe to a given event type by its key.\n *\n * @example\n * const unsubscribeFromSectionListUpdate = useUi().on('ui_section_list_updated', (event: object) => {\n * // handle event\n * })\n *\n * // later\n * unsubscribeFromSectionListUpdate.then(unsubscribe => unsubscribe())\n *\n * @param type The event type/key to subscribe to.\n * @param handler The handler function to call when the event is emitted.\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction on<T extends keyof UiMessagePayloads>(type: T, handler: (data: UiMessagePayloads[T]) => Promise<void>) {\n if (UI_NATIVE_MESSAGE_TYPES.includes(type as (typeof UI_NATIVE_MESSAGE_TYPES)[number])) {\n return onNative(type, handler)\n }\n\n return onPostRobot(type, handler)\n}\n\n/**\n * Subscribe to the meeting canceled event.\n *\n * @example\n * const unsubscribeFromMeetingCanceled = useUi().onMeetingCanceled((event: {\n * accountId?: string;\n * eventId?: string;\n * }) => {\n * // handle event\n * })\n *\n * // later\n * unsubscribeFromMeetingCanceled.then(cancel => cancel())\n *\n * @param handler\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onMeetingCanceled(handler: (data: UiMeetingCanceledPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_MEETING_CANCELED, handler)\n}\n\n/**\n * Subscribe to the canvas updated event. It is triggered when the current canvas of the app is updated.\n *\n * @example\n * const unsubscribePromise = useUi().onCanvasUpdated((event: { canvas }) => {\n * // handle event\n * })\n *\n * // later\n * unsubscribePromise.then(unsubscribe => unsubscribe())\n *\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onCanvasUpdated(handler: (data: UiCanvasUpdatedPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_CANVAS_UPDATED, handler)\n}\n\n/**\n * Subscribe to the section list updated event. It is triggered when the list of sections (products) in the current canvas\n * is updated.\n *\n * @example\n * const unsubscribePromise = useUi().onSectionListUpdated((event: { canvas }) => {\n * // handle event\n * })\n *\n * // later\n * unsubscribePromise.then(unsubscribe => unsubscribe())\n *\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onSectionListUpdated(handler: (data: UiSectionListUpdatedPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_SECTION_LIST_UPDATED, handler)\n}\n\n/**\n * Subscribe to the app set data event. It is triggered when the app data is set. This event is triggered when the app is\n * loaded and in certain other cases after loading.\n *\n * This is the main event for the canvas app to receive data from the CatalogIQ instance and know about its environment.\n *\n * @example\n * let user = null\n * let isEditMode = null\n * let activeCanvas = null\n * let isPrintMode = false\n * const unsubscribePromise = useUi().onAppSetData((data) => {\n * user = data?.user\n * isEditMode = data?.is_edit_mode\n * activeCanvas = data?.canvas\n * isPrintMode = data?.display_mode === 'print' || data?.client === 'dsr'\n * // ...mode logic...\n * })\n *\n * // later\n * unsubscribePromise.then(unsubscribe => unsubscribe())\n *\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onAppSetData(handler: (data: UiAppSetDataPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_APP_SET_DATA, handler)\n}\n\n/**\n * Subscribe to the app update data event. It is triggered when the user changes from edit mode to view mode or vice versa\n * and when the call is started or ended.\n *\n * @example\n * let inCall = false\n * let isEditMode = false\n * const unsubscribePromise = useUi().onAppUpdateData((data) => {\n * isEditMode = data?.is_edit_mode\n * inCall = data?.in_call\n * // ...mode logic...\n * })\n *\n * // later\n * unsubscribePromise.then(unsubscribe => unsubscribe())\n *\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onAppUpdateData(handler: (data: UiAppUpdateDataPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_APP_UPDATE_DATA, handler)\n}\n\n/**\n * Broadcast event to the UI. Hidden from the documentation.\n *\n * @hidden\n */\nasync function uiBroadcast(payload: UiBroadcastRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_BROADCAST, payload)\n}\n\nexport default {\n on,\n onMeetingCanceled,\n onCanvasUpdated,\n onSectionListUpdated,\n onAppSetData,\n onAppUpdateData,\n uiBroadcast,\n ...contentUi,\n ...loadingUi,\n ...locationUi,\n ...appErrorsUi,\n ...canvasUi,\n ...postCallUi,\n ...piaUi,\n ...sharingUi,\n}\n","import type { PitcherEnv } from '@sdk/interfaces'\nimport type {\n SelectedPage as ContentSelectorSelectedPage,\n SelectedFile as ContentSelectorSelectedFile,\n SelectorType,\n} from '@content-selector/stores/app'\nimport type { Selection as ContentSelectorSelection } from '@lib/types/selections'\nimport type { Canvas, File } from '@openapi'\nimport type { CanvasSelection } from '@canvas-selector/appTypes'\nimport type { CLIENT_TYPE } from '@lib/constants/cdp.const'\nimport type { LaunchDarklyEnv } from '@lib/types/launchDarkly.types'\nimport type { CollectionSelectorProps } from '@collection-selector/types/collection-selector.type'\nimport type { CollectionPlayer } from '@collection-player/types/collection-player.type'\nimport type { Agenda, AgendaSelectorProps } from '@agenda-selector/types/agenda.type'\n\nexport const ADMIN_MESSAGE = 'ADMIN_MESSAGE' as const\n\nexport const ADMIN_MESSAGE_TYPES = {\n ENV_CHANGED: 'admin_env_changed',\n} as const\n\nexport const ADMIN_API_TYPES = {\n ADMIN_REQUEST: 'ADMIN_REQUEST',\n ADMIN_RESPONSE: 'ADMIN_RESPONSE',\n} as const\n\nexport const ADMIN_API_METHOD_TYPES = {\n CAPTURE_APP_ERROR: 'admin_capture_app_error',\n CREATE_CANVAS: 'admin_create_canvas',\n GET_APP_CONFIG: 'admin_get_app_config',\n GET_CANVAS: 'admin_get_canvas',\n GET_CANVASES: 'admin_get_canvases',\n OPEN_CANVAS_OVERLAY: 'admin_open_canvas_overlay',\n OPEN_COLLECTION_PLAYER_OVERLAY: 'admin_open_collection_player_overlay',\n GET_ENV: 'admin_get_env',\n GET_FILE: 'admin_get_file',\n OPEN: 'admin_open_file_overlay',\n CLOSE: 'admin_close_file_overlay',\n GET_FILES: 'admin_get_files',\n GET_INSTANCE_METADATA_TEMPLATES: 'admin_get_instance_metadata_templates',\n GET_USERS: 'admin_get_users',\n TOAST: 'admin_toast',\n UPDATE_CANVAS: 'admin_update_canvas',\n SELECT_COLLECTION_PLAYER_CONTENT: 'admin_select_collection_player_content',\n SELECT_AGENDA_CONTENT: 'admin_select_agenda_content',\n SELECT_CONTENT: 'admin_select_content',\n SELECT_CANVASES: 'admin_select_canvases',\n} as const\n\nexport type AdminMessagePayloads = {\n [ADMIN_MESSAGE_TYPES.ENV_CHANGED]: AdminEnv\n}\n\n/**\n * Error object to send to Pitcher sentry instance\n */\nexport type AdminCaptureAppErrorRequest = Record<string, any>\n\n/**\n * Represents an admin request with a specific payload.\n * @template Payload - The type of the payload data.\n */\nexport type AdminRequest<Payload = any> = {\n /**\n * Unique identifier for the request.\n */\n id: string\n /**\n * Type of the admin API request.\n */\n type: (typeof ADMIN_API_TYPES)['ADMIN_REQUEST']\n /**\n * Body of the request containing the method type and payload data.\n */\n body: {\n /**\n * Type of the admin API method.\n */\n type: (typeof ADMIN_API_METHOD_TYPES)[keyof typeof ADMIN_API_METHOD_TYPES]\n /**\n * Payload data for the request.\n */\n data: Payload\n }\n}\n\n/**\n * Represents a request to show a toast notification.\n */\nexport interface AdminToastRequest {\n /**\n * Type of the toast notification.\n */\n type: 'info' | 'error' | 'warning' | 'success' | 'loading'\n /**\n * Message to be displayed in the toast.\n */\n message: string\n /**\n * Duration for which the toast should be displayed (optional).\n */\n duration?: number\n /**\n * Indicates if the toast can be closed manually (optional).\n */\n closable?: boolean\n /**\n * Indicates if the toast should remain visible when hovered over (optional).\n */\n keepAliveOnHover?: boolean\n /**\n * Indicates if an icon should be shown in the toast (optional).\n */\n showIcon?: boolean\n}\n\n/**\n * Represents a request to select content.\n */\nexport type AdminSelectContentRequest = {\n /**\n * List of selections to hydrate the picker with.\n */\n selections?: ContentSelectorSelection[]\n /**\n * Maximum number of selections allowed (optional).\n */\n max_selections?: number\n /**\n * Minimum number of selections allowed (optional).\n */\n min_selections?: number\n /**\n * Type of content to allow selection for (optional).\n * file: Files only\n * slide: Slides only\n * content: Files and slides\n * @default 'content'\n */\n content_type?: 'file' | 'slide' | 'content'\n /**\n * CSS style to apply to the picker (optional).\n */\n style?: Record<string, any>\n /**\n * Array of file ids to include in the picker (optional).\n */\n allowed_ids?: File['id'][]\n /**\n * Array of file extensions to scope out list of the results (optional). Only files with these extensions will be shown.\n */\n allowed_original_extensions?: string[]\n /**\n * Initial metadata filters to apply to the picker (optional).\n */\n initial_metadata_filters?: Record<string, any>\n /**\n * Array of selector types to include in the picker (optional).\n */\n allowed_selector_types?: SelectorType[]\n /**\n * Disables files from selection which are not sharable (optional).\n */\n disable_no_sharable?: boolean\n /**\n * Disables files from selection which do not have pptx_data in metadata object (optional).\n */\n disable_no_pptx_data?: boolean\n /**\n * Only allow content pdf pages (optional). User will be forced to select a page from the pdf.\n */\n only_allow_content_pdf_pages?: boolean\n}\n\n/**\n * Represents a response to a content selection request.\n */\nexport type AdminSelectContentResponse = {\n /**\n * Action taken by the user.\n */\n user_action: 'cancelled' | 'selected'\n /**\n * Selected content, if any.\n */\n content?: (ContentSelectorSelectedFile | ContentSelectorSelectedPage)[]\n}\n\nexport type AdminSelectCanvasesRequest = {\n /**\n * Array of selections.\n */\n selections?: CanvasSelection[]\n /**\n * Array of canvas types to include in the picker (optional).\n */\n allowed_types?: ('canvas' | 'canvas-template' | 'section' | 'section-template')[]\n /**\n * Array of canvas ids to include in the picker (optional).\n */\n allowed_ids?: Canvas['id'][]\n /**\n * Initial metadata filters to apply to the picker (optional).\n */\n initial_metadata_filters?: Record<string, any>\n /**\n * The sequencing key to use for ordering the canvases (optional).\n */\n sequencing_key?: string\n}\n\nexport type AdminSelectCanvasesResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected canvases */\n canvases?: Canvas[]\n}\n\n/**\n * Represents an admin response with a specific payload.\n * @template Response - The type of the response data.\n */\nexport type AdminResponse<Response = any> = {\n /**\n * Unique identifier for the response.\n */\n id: string\n /**\n * Type of the admin API response.\n */\n type: (typeof ADMIN_API_TYPES)['ADMIN_RESPONSE']\n /**\n * Body of the response containing the response data.\n */\n body: Response\n}\n\n/**\n * Represents an admin message with a specific payload.\n * @template Payload - The type of the message data.\n */\nexport type AdminMessage<Payload = any> = {\n /**\n * Unique identifier for the message.\n */\n id: string\n /**\n * Type of the admin message.\n */\n type: typeof ADMIN_MESSAGE\n /**\n * Body of the message containing the message type and payload data.\n */\n body: {\n /**\n * Type of the admin message.\n */\n type: (typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES]\n /**\n * Payload data for the message.\n */\n data: Payload\n }\n}\n\n/**\n * Represents the admin environment.\n */\nexport type AdminEnv = {\n /**\n * Pitcher environment settings.\n */\n mode?: PitcherEnv['mode']\n pitcher: PitcherEnv['pitcher']\n launch_darkly?: LaunchDarklyEnv\n client_type?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]\n crm_shape?: Record<string, any>\n state?: PitcherEnv['state']\n}\n\nexport type AdminOpenCollectionPlayerOverlayGroup = {\n id: string\n name: string\n slides?: Array<{\n file_id: string\n slide_index: number\n }>\n}\n\nexport type AdminOpenCollectionPlayerOverlayRequest = {\n groups: AdminOpenCollectionPlayerOverlayGroup[]\n name: string\n}\n\nexport type AdminSelectCollectionPlayerRequest = {\n initial_data?: CollectionSelectorProps['initialData']\n attach_to?: CollectionSelectorProps['attachTo']\n open_settings?: CollectionSelectorProps['openSettings']\n readonly_name?: CollectionSelectorProps['readonlyName']\n close_on_settings?: CollectionSelectorProps['closeOnSettings']\n translations?: CollectionSelectorProps['translations']\n initial_metadata_filters?: CollectionSelectorProps['initialMetadataFilters']\n hide_close?: CollectionSelectorProps['hideClose']\n}\n\nexport type AdminSelectCollectionPlayerResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected' | 'settings'\n /** Selected content */\n content?: CollectionPlayer\n}\n\nexport type AdminSelectAgendaRequest = {\n initial_agenda?: AgendaSelectorProps['initialAgenda']\n attach_to?: AgendaSelectorProps['attachTo']\n}\n\nexport type AdminSelectAgendaResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: Agenda\n}\n","import { ADMIN_API_METHOD_TYPES, type AdminCaptureAppErrorRequest } from '@sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Send an app error to Pitcher sentry instance.\n *\n * @example\n * try {\n * throw new Error('This is an error')\n * } catch (error) {\n * useAdmin().captureAppError({\n * error,\n * message: 'This is an app error',\n * })\n * }\n *\n * @param payload error object to send to Pitcher sentry instance\n */\nexport async function captureAppError(payload: AdminCaptureAppErrorRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, ADMIN_API_METHOD_TYPES.CAPTURE_APP_ERROR, payload)\n}\n","import { omit } from 'lodash-es'\n\nimport { ADMIN_API_METHOD_TYPES, type AdminEnv } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n/**\n * Fetches the necessary info for the app to know where it is embedded.\n *\n * Check out [usePitcherApi().getEnv()](../internal/functions/createHighLevelApi.md#getenv) for more information.\n *\n * @example\n * adminApi.getEnv()\n */\nexport async function getEnv(): Promise<AdminEnv> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_ENV)\n const env = <AdminEnv>response.data\n return omit(env, 'pitcher.org_config.segment')\n}\n","import type { CanvasRetrieve, PatchedCanvasUpdateRequest, Instance, CanvasCreateRequest } from '@openapi'\nimport type { GetCanvasesParams } from '@lib/types/canvases'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type {\n AdminSelectCanvasesRequest,\n AdminSelectCanvasesResponse,\n AdminOpenCollectionPlayerOverlayRequest,\n} from '@lib/sdk/api/modules/admin/types.admin'\nimport { ADMIN_API_METHOD_TYPES } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Creates a new canvas.\n *\n * @example\n * adminApi.createCanvas({\n * name: 'my new canvas';\n * })\n */\nexport async function createCanvas(payload: CanvasCreateRequest): Promise<CanvasRetrieve> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.CREATE_CANVAS, payload)\n return <CanvasRetrieve>response.data\n}\n\n/**\n * Fetches a list of canvases to use in your app.\n *\n * @example\n * // The `filters` object is a reserved payload key to transfer the metadata dict over the wire.\n * adminApi.getCanvases({\n * search: 'my search query',\n * ordering: '-created_at',\n * filters: {\n * metadata__mydaterangefiltername__range: ['2023-12-10', '2023-12-22'],\n * metadata__mymultiselectfiltername: ['optionAValue', 'optionCValue'],\n * },\n * fields: 'id,name,metadata',\n * })\n */\nexport async function getCanvases(\n payload: GetCanvasesParams & { filters?: Record<string, any>; fields?: string },\n): Promise<PaginatedData<CanvasRetrieve>> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_CANVASES, payload)\n return <PaginatedData<CanvasRetrieve>>response.data\n}\n\n/**\n * Fetches a canvas by id with the defined fields or all of them.\n *\n * @example\n * // The `filters` object is a reserved payload key to transfer the metadata dict over the wire.\n * adminApi.getCanvas({\n * fields: 'id,name,metadata',\n * })\n */\nexport async function getCanvas(payload: { id: CanvasRetrieve['id']; fields?: string }): Promise<CanvasRetrieve> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_CANVAS, payload)\n return <CanvasRetrieve>response.data\n}\n\n/**\n * Updates a canvas by ID and returns the defined fields or all of them.\n *\n * @example\n * // The fields param is appended to the URL as a query param.\n * onMounted(() => {\n * adminApi.updateCanvas({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * fields: 'id,name',\n * name: 'To 3!',\n * }).then((res) => {\n * console.log(res) // logs: { id: '01HH4RCBH631K4JDHWAQB0RPR6', name: 'To 3!' }\n * })\n * })\n */\nexport async function updateCanvas(\n payload: PatchedCanvasUpdateRequest & { id: CanvasRetrieve['id']; instance_id?: Instance['id']; fields?: string },\n): Promise<CanvasRetrieve> {\n const pr = await usePostRobot()\n const r = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.UPDATE_CANVAS, payload)\n return <CanvasRetrieve>r.data\n}\n\n/**\n * Opens a modal to view a canvas by ID.\n *\n * ```\n * onMounted(() => {\n * adminApi.openCanvasOverlay({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * edit_mode: false,\n * fullscreen: true,\n * })\n * })\n * ```\n *\n * You can also specify a position for the canvas overlay:\n *\n * ```\n * adminApi.openCanvasOverlay({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * position: {\n * top: '10px',\n * left: '20px',\n * right: '20px',\n * bottom: '10px'\n * }\n * })\n * ```\n */\nexport async function openCanvasOverlay(payload: {\n id: CanvasRetrieve['id']\n edit_mode?: boolean\n fullscreen?: boolean\n component_id?: string\n section_id?: string\n position?: {\n left?: number | string\n right?: number | string\n top?: number | string\n bottom?: number | string\n }\n}): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.OPEN_CANVAS_OVERLAY, payload)\n}\n\n/**\n * Opens a modal to display collection player content.\n *\n * @example\n * adminApi.openCollectionPlayerOverlay({\n * name: 'My Collection',\n * groups: [\n * {\n * id: 'file-id-1',\n * name: 'Group 1',\n * },\n * {\n * id: 'group-2',\n * name: 'Group 2',\n * slides: [\n * { file_id: 'file-id-2', slide_index: 0 },\n * { file_id: 'file-id-3', slide_index: 1 },\n * ],\n * },\n * ],\n * })\n */\nexport async function openCollectionPlayerOverlay(payload: AdminOpenCollectionPlayerOverlayRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.OPEN_COLLECTION_PLAYER_OVERLAY, payload)\n}\n\n/**\n * Allows the user to select (and preselect) canvases from the instance.\n *\n * This method allows you to prompt the user to select canvases from the CatalogIQ\n * instance and use that canvas selection in your application.\n *\n * @example\n * const api = useApi() // or useAdmin() if you know that you 're in Admin context\n * api\n * .selectCanvases({\n * allowed_types: ['canvas','canvas-template','section','section-template'] // default ['canvas']\n * selections: [\n * { id: \"01HCZ623YYRFJQ0F7B69VWE510\" },\n * { id: \"02HCZ623YYRFJQ0F7B69VWE510\" },\n * ], // default []\n * })\n *\n * @param payload optional payload to preselect specific canvases\n * @returns Promise with the user action and selected canvases\n */\nexport async function selectCanvases(payload: AdminSelectCanvasesRequest = {}): Promise<AdminSelectCanvasesResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.SELECT_CANVASES, payload)\n return <AdminSelectCanvasesResponse>response.data\n}\n","import type { PaginatedMetadataTemplateList } from '@openapi'\nimport type { GetInstanceMetadataTemplatesPayload } from '@sdk/payload.types'\nimport { ADMIN_API_METHOD_TYPES } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Fetches a list of metadata templates to use in your app. Instance is auto-injected by admin app if in instance scope.\n *\n * @example\n * adminApi.getInstanceMetadataTemplates()\n **/\nexport async function getInstanceMetadataTemplates(\n payload?: GetInstanceMetadataTemplatesPayload,\n): Promise<PaginatedMetadataTemplateList> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_INSTANCE_METADATA_TEMPLATES, payload)\n return <PaginatedMetadataTemplateList>response.data\n}\n","import { ADMIN_API_METHOD_TYPES } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport type { File, PaginatedFileList } from '@openapi'\n\n/**\n * Get the metadata object of an app with a given name.\n *\n * @param {object} payload - The payload object.\n * @param {string} payload.app_name - `name` value from `app.json` of the app you want to get the metadata of.\n *\n * @example\n * useAdmin().getAppConfig({ app_name: 'my-app' })\n */\nexport async function getAppConfig(payload: { app_name: string }): Promise<Record<string, any>> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_APP_CONFIG, payload)\n return <Record<string, any>>response.data\n}\n\n/**\n * Fetches a file by ID.\n *\n * @example\n * adminApi.getFile({ id: 'my-file-id' })\n */\nexport async function getFile(payload: { id: File['id'] }): Promise<File> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_FILE, payload)\n return response.data as File\n}\n\n/**\n * Lists available files.\n *\n * @example\n * adminApi.getFiles()\n */\nexport async function getFiles(payload: Record<string, any>): Promise<PaginatedFileList> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_FILES, payload)\n return response.data as PaginatedFileList\n}\n\n/**\n * Opens a file by id.\n *\n * @example\n * adminApi.open({ id: 'my-file-id' })\n */\nexport async function open(payload: { id: File['id'] }): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.OPEN, payload)\n}\n\n/**\n * Closes the already open file that was opened via api or by the user.\n *\n * @example\n * adminApi.close()\n */\nexport async function close(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.CLOSE)\n}\n","import type {\n AdminSelectAgendaRequest,\n AdminSelectAgendaResponse,\n AdminSelectCollectionPlayerRequest,\n AdminSelectCollectionPlayerResponse,\n AdminSelectContentRequest,\n AdminSelectContentResponse,\n} from '@sdk/api/modules/admin/types.admin'\nimport { ADMIN_API_METHOD_TYPES } from '@sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@sdk/utils/postrobot'\n\n/**\n * Opens the collection player selector modal to allow the user to select collection player content and handle the outcome.\n * ```\n * const api = useApi() // or useAdmin() if you know that you 're in Admin context\n *\n * adminApi.selectCollectionContent({\n * // optional payload\n * initial_data: {\n * name: 'test',\n * groups: []\n * }\n * })\n * ```\n */\nexport async function selectCollectionContent(\n payload: AdminSelectCollectionPlayerRequest = {},\n): Promise<AdminSelectCollectionPlayerResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.SELECT_COLLECTION_PLAYER_CONTENT, payload)\n\n return <AdminSelectCollectionPlayerResponse>response.data\n}\n\n/**\n * Opens the agenda selector modal to allow the user to select agenda content and handle the outcome.\n * ```\n * const api = useApi() // or useAdmin() if you know that you 're in Admin context\n *\n * adminApi.selectAgendaContent({\n * // optional payload\n * initial_agenda: {\n * name: 'test',\n * groups: []\n * }\n * })\n * ```\n */\nexport async function selectAgendaContent(payload: AdminSelectAgendaRequest = {}): Promise<AdminSelectAgendaResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.SELECT_AGENDA_CONTENT, payload)\n\n return <AdminSelectAgendaResponse>response.data\n}\n\n/**\n * Opens a selector that allows you to select (and preselect) from your Pitcher uploaded content.\n *\n * @example\n * const api = useApi() // or useAdmin() if you know that you 're in Admin app context\n * api\n * .select_content({\n * selections: [\n * { fileId: \"01HCZ623YYRFJQ0F7B69VWE510\", type: \"file\" },\n * {\n * fileId: \"01HD3XGZ5FN90QJGK7CH8TBZDF\",\n * type: \"page\",\n * pageIndex: 2,\n * },\n * ],\n * })\n */\nexport async function selectContent(payload: AdminSelectContentRequest): Promise<AdminSelectContentResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.SELECT_CONTENT, payload)\n return response.data as AdminSelectContentResponse\n}\n","import type { GetUsersParams } from '@lib/types/users'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { User } from '@openapi'\nimport { ADMIN_API_METHOD_TYPES } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Fetches a list of users from the admin API.\n *\n * @param payload - Optional parameters for filtering users\n * @returns Promise resolving to a paginated list of users\n *\n * @example\n * const adminApi = useAdmin()\n * const users = await adminApi.getUsers({ page_size: 100 })\n */\nexport async function getUsers(payload?: GetUsersParams): Promise<PaginatedData<User>> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_USERS, payload)\n return response.data as PaginatedData<User>\n}\n","import {\n ADMIN_API_METHOD_TYPES,\n type AdminToastRequest,\n type ADMIN_MESSAGE_TYPES,\n type AdminMessagePayloads,\n} from './types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport * as appErrorsAdmin from './app-errors.admin'\nimport * as envAdmin from './env.admin'\nimport * as canvasAdmin from './canvas.admin'\nimport * as metadataTemplatesAdmin from './metadataTemplates.admin'\nimport * as filesAdmin from './files.admin'\nimport * as contentAdmin from './content.admin'\nimport * as usersAdmin from './users.admin'\n/**\n * Subscribe to a given event type by its key.\n *\n * @param type The event type/key to subscribe to.\n * @param handler The handler function to call when the event is emitted.\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\n\nasync function on(\n type: (typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES],\n handler: (data: AdminMessagePayloads[typeof type]) => Promise<void>,\n) {\n const pr = await usePostRobot()\n const listener = pr.on(type, (e) => handler(e.data))\n\n // return the cleanup function\n return listener.cancel\n}\n\n/**\n * Show a toast message to the user. Compatible with the UI API version of this method.\n *\n * @example\n * useAdmin().toast({ type: 'info', message: 'Hello, world!' })\n */\nasync function toast(payload: AdminToastRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.TOAST, payload)\n}\n\nexport default {\n on,\n toast,\n ...appErrorsAdmin,\n ...contentAdmin,\n ...envAdmin,\n ...canvasAdmin,\n ...metadataTemplatesAdmin,\n ...filesAdmin,\n ...usersAdmin,\n}\n","import type { PitcherEnv } from '@sdk/interfaces'\n\nexport const DSR_MESSAGE = 'DSR_MESSAGE' as const\n\nexport const DSR_MESSAGE_TYPES = {\n ENV_CHANGED: 'dsr_env_changed',\n} as const\n\nexport const DSR_API_TYPES = {\n DSR_REQUEST: 'DSR_REQUEST',\n DSR_RESPONSE: 'DSR_RESPONSE',\n} as const\n\nexport const DSR_API_METHOD_TYPES = {\n GET_ENV: 'dsr_get_env',\n GET_FILE: 'dsr_get_file',\n GET_APP_CONFIG: 'dsr_get_app_config',\n CLOSE: 'dsr_close',\n DSR_EMBEDDABLE_READY: 'dsr_embeddable_ready',\n} as const\n\nexport type DsrMessagePayloads = {\n [DSR_MESSAGE_TYPES.ENV_CHANGED]: DsrEnv\n}\n\nexport type DsrRequest<Payload = any> = {\n id: string\n type: (typeof DSR_API_TYPES)['DSR_REQUEST']\n body: {\n type: (typeof DSR_API_METHOD_TYPES)[keyof typeof DSR_API_METHOD_TYPES]\n data: Payload\n }\n}\n\nexport type DsrResponse<Response = any> = {\n id: string\n type: (typeof DSR_API_TYPES)['DSR_RESPONSE']\n body: Response\n}\n\nexport type DsrMessage<Payload = any> = {\n id: string\n type: typeof DSR_MESSAGE\n body: {\n type: (typeof DSR_MESSAGE_TYPES)[keyof typeof DSR_MESSAGE_TYPES]\n data: Payload\n }\n}\n\n// TODO: Request / message payloads to the dsr via embeddable's iframe\n\n// Responses / message payloads from the dsr\nexport type DsrEnv = Pick<PitcherEnv, 'mode' | 'launch_darkly' | 'client_type' | 'state'> & {\n pitcher?: {\n access_token?: string\n }\n}\n","import { omit } from 'lodash-es'\n\nimport { DSR_API_METHOD_TYPES, type DsrEnv } from '@lib/sdk/api/modules/dsr/types.dsr'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Fetches the necessary info for the app to know where it is embedded.\n *\n * Check out [usePitcherApi().getEnv()](../internal/functions/createHighLevelApi.md#getenv) for more information.\n *\n * @example\n * useDsr().getEnv()\n */\nexport async function getEnv(): Promise<DsrEnv> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, DSR_API_METHOD_TYPES.GET_ENV)\n const env = <DsrEnv>response.data\n return omit(env, 'pitcher.org_config.segment')\n}\n","import { DSR_API_METHOD_TYPES } from '@sdk/api/modules/dsr/types.dsr'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Signal to DSR that the app is ready to be shown.\n *\n * @example\n * useDsr().embeddableReady()\n */\nexport async function embeddableReady(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, DSR_API_METHOD_TYPES.DSR_EMBEDDABLE_READY)\n}\n","import { DSR_API_METHOD_TYPES } from '@lib/sdk/api/modules/dsr/types.dsr'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport type { File } from '@openapi'\n/**\n * Closes the already open file that was opened via api or by the user.\n *\n * @example\n * dsrApi.close()\n */\nexport async function close(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, DSR_API_METHOD_TYPES.CLOSE)\n}\n\n/**\n * Fetches a file by ID.\n *\n * @example\n * dsrApi.getFile({ id: 'my-file-id' })\n */\nexport async function getFile(payload: { id: File['id'] }): Promise<File> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, DSR_API_METHOD_TYPES.GET_FILE, payload)\n return response.data as File\n}\n\n/**\n * Retrieves the configuration for the calling app.\n * App name can be optionally provided, otherwise it will be derived from the caller's URL.\n *\n * @example\n * dsrApi.getAppConfig() // for self config\n * // or with explicit app name\n * dsrApi.getAppConfig({ app_name: 'my-app' })\n */\nexport async function getAppConfig(payload?: { app_name?: string }): Promise<Record<string, any>> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, DSR_API_METHOD_TYPES.GET_APP_CONFIG, payload ?? {})\n return response.data as Record<string, any>\n}\n","import type { DSR_MESSAGE_TYPES, DsrMessagePayloads } from './types.dsr'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport * as envDsr from './env.dsr'\nimport * as loadingDsr from './loading.dsr'\nimport * as filesDsr from './files.dsr'\n\n/**\n * Subscribe to a given event type by its key.\n *\n * @param type The event type/key to subscribe to.\n * @param handler The handler function to call when the event is emitted.\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nasync function on(\n type: (typeof DSR_MESSAGE_TYPES)[keyof typeof DSR_MESSAGE_TYPES],\n handler: (data: DsrMessagePayloads[typeof type]) => Promise<void>,\n) {\n const pr = await usePostRobot()\n const listener = pr.on(type, (e) => handler(e.data))\n\n // return the cleanup function\n return listener.cancel\n}\n\nexport default {\n on,\n ...envDsr,\n ...loadingDsr,\n ...filesDsr,\n}\n","export const PEER_CONNECTIVITY_EVENT = 'peer_connectivity_event'\n\nexport const PeerConnectivityActions = {\n CANVAS_PAGE_NEXT: 'canvas.navigate.next',\n CANVAS_PAGE_PREVIOUS: 'canvas.navigate.previous',\n CANVAS_OPEN: 'canvas.open',\n CANVAS_CLOSE: 'canvas.close',\n ROUTE_CHANGE: 'route.change',\n FILE_OPEN: 'file.open',\n FILE_CLOSE: 'file.close',\n BROWSER_FOLDER_OPEN: 'browser.folder.open',\n} as const\n\nexport const DEFAULT_PEER_CONNECTIVITY_VERSION = 1\nexport const PEER_CONNECTIVITY_HANDLER_MATCH_ALL = '*'\n","import { PitcherEventName, usePitcherApi } from '@sdk/main'\n\nimport { DEFAULT_PEER_CONNECTIVITY_VERSION, PEER_CONNECTIVITY_HANDLER_MATCH_ALL } from './peerConnectivity.constants'\nimport type {\n PeerConnectivityDispatchOptions,\n PeerConnectivityEvent,\n PeerConnectivityEventHandler,\n PeerConnectivityEventPayload,\n} from './peerConnectivity.types'\n\ntype HandlerMap = Map<string, Set<PeerConnectivityEventHandler>>\n\nconst handlers: HandlerMap = new Map()\nlet unsubscribeNativeListener: (() => void) | null = null\nlet peerConnectivitySupportPromise: Promise<boolean> | null = null\n\nfunction generateCorrelationId(): string {\n const cryptoApi = globalThis.crypto\n if (cryptoApi?.randomUUID) {\n return cryptoApi.randomUUID()\n }\n return `peer-${Date.now().toString(16)}-${Math.random().toString(16).slice(2)}`\n}\n\nfunction normalizeEventPayload(\n payload: PeerConnectivityEventPayload,\n defaults?: Partial<PeerConnectivityEvent>,\n): PeerConnectivityEvent {\n const metadata = payload.metadata ?? {}\n const normalized: PeerConnectivityEvent = {\n version: payload.version ?? defaults?.version ?? DEFAULT_PEER_CONNECTIVITY_VERSION,\n action: payload.action,\n context: payload.context ?? defaults?.context,\n data: payload.data ?? defaults?.data,\n metadata: {\n correlationId: metadata.correlationId ?? defaults?.metadata?.correlationId ?? generateCorrelationId(),\n source: metadata.source ?? defaults?.metadata?.source ?? 'web',\n timestamp: metadata.timestamp ?? defaults?.metadata?.timestamp ?? Date.now(),\n extras: {\n ...(defaults?.metadata?.extras ?? {}),\n ...(metadata.extras ?? {}),\n },\n },\n }\n\n return normalized\n}\n\nfunction addHandler(action: string, handler: PeerConnectivityEventHandler) {\n const key = action || PEER_CONNECTIVITY_HANDLER_MATCH_ALL\n const handlerSet = handlers.get(key) ?? new Set<PeerConnectivityEventHandler>()\n handlerSet.add(handler)\n handlers.set(key, handlerSet)\n}\n\nfunction removeHandler(action: string, handler: PeerConnectivityEventHandler) {\n const handlerSet = handlers.get(action)\n if (!handlerSet) {\n return\n }\n handlerSet.delete(handler)\n if (!handlerSet.size) {\n handlers.delete(action)\n }\n if (!handlers.size) {\n teardownNativeListener()\n }\n}\n\nasync function ensureNativeListener() {\n if (unsubscribeNativeListener) {\n return\n }\n\n const api = usePitcherApi()\n const listener = (event: PeerConnectivityEventPayload) => {\n try {\n const normalized = normalizeEventPayload(event, {\n metadata: {\n correlationId: generateCorrelationId(),\n source: 'native',\n timestamp: Date.now(),\n extras: {},\n },\n })\n dispatchEvent(normalized)\n } catch (error) {\n console.error('[peer-connectivity] Failed to handle native event:', error)\n }\n }\n\n api.on(PitcherEventName.PEER_CONNECTIVITY_EVENT, listener as any)\n unsubscribeNativeListener = () => {\n api.off(PitcherEventName.PEER_CONNECTIVITY_EVENT, listener as any)\n unsubscribeNativeListener = null\n }\n}\n\nfunction teardownNativeListener() {\n if (unsubscribeNativeListener) {\n unsubscribeNativeListener()\n unsubscribeNativeListener = null\n }\n}\n\nfunction dispatchEvent(event: PeerConnectivityEvent) {\n const specificHandlers = handlers.get(event.action)\n const wildcardHandlers = handlers.get(PEER_CONNECTIVITY_HANDLER_MATCH_ALL)\n\n if (!specificHandlers && !wildcardHandlers) {\n return\n }\n\n const payload = Object.freeze(event)\n specificHandlers?.forEach((handler) => {\n try {\n handler(payload)\n } catch (error) {\n console.error(`[peer-connectivity] Handler error for action \"${event.action}\":`, error)\n }\n })\n wildcardHandlers?.forEach((handler) => {\n try {\n handler(payload)\n } catch (error) {\n console.error('[peer-connectivity] Handler error for wildcard action:', error)\n }\n })\n}\n\nasync function isPeerConnectivitySupported(): Promise<boolean> {\n if (!peerConnectivitySupportPromise) {\n const api = usePitcherApi()\n peerConnectivitySupportPromise = api\n .getEnv()\n .then((env) => env.mode === 'IOS')\n .catch((error) => {\n console.error('[peer-connectivity] Failed to determine environment support:', error)\n return false\n })\n }\n\n return peerConnectivitySupportPromise\n}\n\nfunction normalizeActions(actionOrActions: string | string[]): string[] {\n return Array.isArray(actionOrActions) ? actionOrActions : [actionOrActions]\n}\n\nexport function registerPeerConnectivityHandler(\n actionOrActions: string | string[],\n handler: PeerConnectivityEventHandler,\n): () => void {\n normalizeActions(actionOrActions).forEach((action) => {\n addHandler(action, handler)\n })\n\n ensureNativeListener().catch((error) => {\n console.error('[peer-connectivity] Failed to register native listener:', error)\n })\n\n return () => {\n normalizeActions(actionOrActions).forEach((action) => {\n removeHandler(action, handler)\n })\n }\n}\n\nexport async function sendPeerConnectivityEvent(\n payload: PeerConnectivityEventPayload,\n options?: PeerConnectivityDispatchOptions,\n): Promise<void> {\n if (!payload?.action) {\n console.warn('[peer-connectivity] Attempted to send an event without action')\n return\n }\n\n if (options?.isFeatureEnabled === false) {\n return\n }\n\n const isSupported = await isPeerConnectivitySupported()\n if (!isSupported) {\n return\n }\n\n const api = usePitcherApi()\n const normalizedPayload = normalizeEventPayload(payload, {\n metadata: {\n correlationId: generateCorrelationId(),\n source: 'web',\n timestamp: Date.now(),\n extras: {},\n },\n })\n\n try {\n await api.broadcast({\n type: PitcherEventName.PEER_CONNECTIVITY_EVENT,\n body: normalizedPayload,\n })\n } catch (error) {\n console.error('[peer-connectivity] Failed to send event:', error)\n }\n}\n","import { isEqual, snakeCase } from 'lodash-es'\n\nimport type { ApiOptions } from './interfaces'\nimport { createHighLevelApi } from '@sdk/api/HighLevelApi'\nimport ui from '@sdk/api/modules/ui'\nimport admin from '@sdk/api/modules/admin'\nimport dsr from '@sdk/api/modules/dsr'\n\nexport * from '@sdk/interfaces'\nexport * from '@sdk/payload.types'\nexport * from '@sdk/api/modules/ui/types.ui'\nexport * from '@sdk/api/modules/admin/types.admin'\nexport * from '@sdk/api/modules/dsr/types.dsr'\nexport * from '@sdk/peer-connectivity'\n\nexport let highLevelApi: ReturnType<typeof createHighLevelApi>\n\nlet prevOptions: ApiOptions | undefined\n\n/**\n * Check out the returned object documentation for the list of available methods.\n */\nexport function usePitcherApi(options?: ApiOptions): ReturnType<typeof createHighLevelApi> {\n if (!highLevelApi || !isEqual(options, prevOptions)) {\n highLevelApi = createHighLevelApi(options)\n prevOptions = options\n }\n\n return highLevelApi\n}\n\nfunction enhanceWithSnakeCase<T extends Record<string, any>>(api: T): T {\n Object.entries(api).forEach(([key, value]) => {\n const newKey = snakeCase(key)\n if (newKey && !api[newKey]) {\n ;(api as any)[newKey] = value\n }\n })\n return api\n}\n\nconst uiApi = enhanceWithSnakeCase(ui)\nconst adminApi = enhanceWithSnakeCase(admin)\nconst dsrApi = enhanceWithSnakeCase(dsr)\n\n/**\n * API methods available in the CatalogIQ default UI.\n *\n * You can store the API object in a variable and call the methods directly.\n *\n * Most methods have a `snake_case` and `camelCase` version of their name available.\n *\n * ```ts\n * const uiApi = useUi()\n * ```\n *\n * @returns UI API object with methods described below.\n */\nexport function useUi() {\n return uiApi\n}\n\n/**\n * API methods available in the CatalogIQ Admin.\n *\n * You can store the API object in a variable and call the methods directly.\n *\n * Most methods have a `snake_case` and `camelCase` version of their name available.\n *\n * ```ts\n * import { useAdmin } from '@pitcher/js-api'\n *\n * const adminApi = useAdmin()\n * ```\n */\nexport function useAdmin() {\n return adminApi\n}\n\n/**\n * API methods available in the CatalogIQ default UI.\n *\n * You can store the API object in a variable and call the methods directly.\n *\n * Most methods have a `snake_case` and `camelCase` version of their name available.\n *\n * ```ts\n * import { useDsr } from '@pitcher/js-api'\n *\n * const dsrApi = useDsr()\n * ```\n */\nexport function useDsr() {\n return dsrApi\n}\n\nexport type JsApiLocation = 'ui' | 'admin' | 'dsr' | 'impact'\n\nexport function getAvailableApis(): JsApiLocation[] {\n if (typeof window === 'undefined') throw new Error('getAvailableApis: window is not defined')\n const location = window.parent.jsApiLocation\n return location === 'ui' ? ['ui', 'impact'] : [location ?? 'impact']\n}\n\n/**\n * This method returns an object containing the API methods that are available to you in a given environment, whether that be the Canvas, UI, Admin or DSR.\n *\n * - CatalogIQ UI - the method will return an object containing methods available in both `usePitcherApi` and `useUi`\n * - CatalogIQ DSR - the method will return the same result as `useDsr`\n * - CatalogIQ Admin - the method will return the same result as `useAdmin`\n *\n * ```ts\n * import { useApi } from '@pitcher/js-api'\n *\n * const api = useApi()\n * ```\n */\nexport function useApi(options?: ApiOptions) {\n if (typeof window === 'undefined') throw new Error('useApi: window is not defined')\n const location = window.parent.jsApiLocation\n switch (location) {\n case 'ui':\n return { ...usePitcherApi(), ...useUi(), ui: useUi(), impact: usePitcherApi() } // merge, but also expose as separate keys to avoid collisions\n case 'admin':\n return useAdmin()\n case 'dsr':\n return { ...useDsr(), broadcast: usePitcherApi().broadcast }\n case 'impact':\n return usePitcherApi(options) // first level (slotty and custom UIs)\n default:\n return usePitcherApi(options)\n }\n}\n","import pr from 'post-robot'\nwindow.postRobot = pr\nexport * from './main'\n"],"names":["this","require$$0","open","getEnv","getCanvases","createCanvas","updateCanvas","getCanvas","getFiles","getAppConfig","getFile","getUsers","toast","smartField","converted","query","getInstanceMetadataTemplates","close","PitcherMessageType","PitcherResponseStatus","PitcherEventName","PitcherBroadcastedEventName","PitcherExternalEventName","res","uuid","selectContent","selectCollectionContent","selectAgendaContent","embeddableReady","captureAppError","openCanvasOverlay","openCollectionPlayerOverlay","selectCanvases","on"],"mappings":"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","x_google_ignoreList":[0,1,25,26,27]}
1
+ {"version":3,"file":"js-api.esm.js","sources":["../../../../../node_modules/post-robot/dist/post-robot.js","../../../../../node_modules/post-robot/index.js","../../src/lib/types/launchDarkly.types.ts","../../src/lib/sdk/api/modules/ai.ts","../../src/lib/sdk/api/modules/open.ts","../../src/lib/sdk/api/modules/env.ts","../../src/lib/sdk/api/modules/languages.ts","../../src/lib/sdk/api/modules/canvas.ts","../../src/lib/sdk/api/modules/files.ts","../../src/lib/sdk/api/modules/filesRevisions.ts","../../src/lib/sdk/api/modules/search.ts","../../src/lib/sdk/api/modules/users.ts","../../src/lib/sdk/api/modules/pspdfkit.ts","../../src/lib/sdk/api/modules/toast.ts","../../src/lib/util/smart-store.util.ts","../../src/lib/sdk/api/modules/query.ts","../../src/lib/sdk/api/modules/folders.ts","../../src/lib/sdk/api/modules/folders.core.ts","../../src/lib/sdk/api/modules/notifications.ts","../../src/lib/sdk/api/modules/track.ts","../../src/lib/sdk/api/modules/metadataTemplates.ts","../../src/lib/sdk/api/modules/sync.ts","../../src/lib/sdk/api/modules/feedback.ts","../../src/lib/sdk/api/modules/webView.ts","../../src/lib/sdk/api/modules/share.ts","../../src/lib/sdk/api/modules/theme.ts","../../src/lib/sdk/utils/eventEmitter.ts","../../../../../node_modules/uuid/dist/stringify.js","../../../../../node_modules/uuid/dist/rng.js","../../../../../node_modules/uuid/dist/v4.js","../../src/lib/sdk/interfaces.ts","../../src/lib/sdk/utils/assert.ts","../../src/lib/util/casing.ts","../../src/lib/sdk/utils/object.ts","../../src/lib/util/message-event.ts","../../src/lib/sdk/utils/httpFetch.ts","../../src/lib/components/filters/filter.util.ts","../../src/lib/sdk/api/onlineRestApiHandlers.ts","../../src/lib/sdk/utils/window.ts","../../src/lib/sdk/api/LowLevelApi.ts","../../src/lib/sdk/api/HighLevelApi.ts","../../src/lib/sdk/utils/postrobot.ts","../../src/lib/sdk/api/modules/ui/types.ui.ts","../../src/lib/sdk/api/modules/ui/content.ui.ts","../../src/lib/sdk/api/modules/ui/loading.ui.ts","../../src/lib/sdk/api/modules/ui/location.ui.ts","../../src/lib/sdk/api/modules/ui/app-errors.ui.ts","../../src/lib/sdk/api/modules/ui/canvas.ui.ts","../../src/lib/sdk/api/modules/ui/post-call.ui.ts","../../src/lib/sdk/api/modules/ui/pia.ui.ts","../../src/lib/sdk/api/modules/ui/sharing.ui.ts","../../src/lib/sdk/api/modules/ui/index.ts","../../src/lib/sdk/api/modules/admin/types.admin.ts","../../src/lib/sdk/api/modules/admin/app-errors.admin.ts","../../src/lib/sdk/api/modules/admin/env.admin.ts","../../src/lib/sdk/api/modules/admin/canvas.admin.ts","../../src/lib/sdk/api/modules/admin/metadataTemplates.admin.ts","../../src/lib/sdk/api/modules/admin/files.admin.ts","../../src/lib/sdk/api/modules/admin/content.admin.ts","../../src/lib/sdk/api/modules/admin/users.admin.ts","../../src/lib/sdk/api/modules/admin/index.ts","../../src/lib/sdk/api/modules/dsr/types.dsr.ts","../../src/lib/sdk/api/modules/dsr/env.dsr.ts","../../src/lib/sdk/api/modules/dsr/loading.dsr.ts","../../src/lib/sdk/api/modules/dsr/files.dsr.ts","../../src/lib/sdk/api/modules/dsr/index.ts","../../src/lib/sdk/peer-connectivity/peerConnectivity.constants.ts","../../src/lib/sdk/peer-connectivity/peerConnectivity.ts","../../src/lib/sdk/main.ts","../../src/lib/sdk/main.umd-esm.ts"],"sourcesContent":["!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"postRobot\", [], factory) : \"object\" == typeof exports ? exports.postRobot = factory() : root.postRobot = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"Promise\", (function() {\n return promise_ZalgoPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return src_types_TYPES_0;\n }));\n __webpack_require__.d(__webpack_exports__, \"ProxyWindow\", (function() {\n return window_ProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setup\", (function() {\n return setup;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializeMessage\", (function() {\n return setup_serializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializeMessage\", (function() {\n return setup_deserializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"createProxyWindow\", (function() {\n return createProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"toProxyWindow\", (function() {\n return setup_toProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"on\", (function() {\n return on_on;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return on_once;\n }));\n __webpack_require__.d(__webpack_exports__, \"send\", (function() {\n return send_send;\n }));\n __webpack_require__.d(__webpack_exports__, \"markWindowKnown\", (function() {\n return markWindowKnown;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanUpWindow\", (function() {\n return cleanUpWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"bridge\", (function() {}));\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function getActualProtocol(win) {\n void 0 === win && (win = window);\n return win.location.protocol;\n }\n function getProtocol(win) {\n void 0 === win && (win = window);\n if (win.mockDomain) {\n var protocol = win.mockDomain.split(\"//\")[0];\n if (protocol) return protocol;\n }\n return getActualProtocol(win);\n }\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === getProtocol(win);\n }\n function getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = getActualProtocol(win);\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (function(win) {\n void 0 === win && (win = window);\n return \"mock:\" === getProtocol(win);\n }(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || getParent(win) || void 0;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function getFrameForWindow(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }\n function closeWindow(win) {\n if (function(win) {\n void 0 === win && (win = window);\n return Boolean(getParent(win));\n }(win)) {\n var frame = getFrameForWindow(win);\n if (frame && frame.parentElement) {\n frame.parentElement.removeChild(frame);\n return;\n }\n }\n try {\n win.close();\n } catch (err) {}\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n var promiseResult = _result2;\n promiseResult.resolved ? promise.resolve(promiseResult.value) : promise.reject(promiseResult.error);\n promiseResult.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n _proto.lazy = function() {\n this.errorHandled = !0;\n return this;\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [].slice();\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"uid_\" + \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + function(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n }))).replace(/[=]/g, \"\");\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\").replace(/[=]/g, \"\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : \"undefined\" != typeof window && val instanceof window.Element || null !== val && \"object\" == typeof val && 1 === val.nodeType && \"object\" == typeof val.style && \"object\" == typeof val.ownerDocument ? {} : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey;\n try {\n cacheKey = serializeArgs(args);\n } catch (_unused) {\n return method.apply(this, arguments);\n }\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function src_util_noop() {}\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n Error;\n function getBody() {\n var body = document.body;\n if (!body) throw new Error(\"Body element not found\");\n return body;\n }\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n if (script.src) {\n var hashedString = function(str) {\n var hash = \"\";\n for (var i = 0; i < str.length; i++) {\n var total = str[i].charCodeAt(0) * i;\n str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));\n hash += String.fromCharCode(97 + Math.abs(total) % 26);\n }\n return hash;\n }(JSON.stringify({\n src: script.src,\n dataset: script.dataset\n }));\n uid = \"uid_\" + hashedString.slice(hashedString.length - 30);\n } else uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_10_0_46__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER[void 0] = function(val) {\n return serializeType(\"undefined\", val);\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER[void 0] = function() {}, _DESERIALIZER);\n var defaultDeserializers = {};\n new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? \"popup\" : \"iframe\";\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n var getName = function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n };\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: getName,\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href, opts) {\n void 0 === opts && (opts = {});\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n var _opts$method = opts.method, method = void 0 === _opts$method ? \"get\" : _opts$method, body = opts.body;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (\"post\" === method) return getName().then((function(name) {\n if (!name) throw new Error(\"Can not post to window without target name\");\n !function(_ref3) {\n var url = _ref3.url, target = _ref3.target, body = _ref3.body, _ref3$method = _ref3.method, method = void 0 === _ref3$method ? \"post\" : _ref3$method;\n var form = document.createElement(\"form\");\n form.setAttribute(\"target\", target);\n form.setAttribute(\"method\", method);\n form.setAttribute(\"action\", url);\n form.style.display = \"none\";\n if (body) for (var _i24 = 0, _Object$keys4 = Object.keys(body); _i24 < _Object$keys4.length; _i24++) {\n var _body$key;\n var key = _Object$keys4[_i24];\n var input = document.createElement(\"input\");\n input.setAttribute(\"name\", key);\n input.setAttribute(\"value\", null == (_body$key = body[key]) ? void 0 : _body$key.toString());\n form.appendChild(input);\n }\n getBody().appendChild(form);\n form.submit();\n getBody().removeChild(form);\n }({\n url: href,\n target: name,\n method: method,\n body: body\n });\n }));\n if (\"get\" !== method) throw new Error(\"Unsupported method: \" + method);\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n var sameDomain = isSameDomain(win);\n var frame = getFrameForWindow(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return \"popup\" === type;\n }));\n };\n _proto.setLocation = function(href, opts) {\n var _this = this;\n return this.serializedWindow.setLocation(href, opts).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name, \"noopener\");\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return (item = args, [].slice.call(item)).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n var item;\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_10_0_46__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function handleRequest(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n return promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }\n function handleAck(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }\n function handleResponse(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() + \")\" : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_10_0_46__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n for (var _i2 = 0; _i2 < messages.length; _i2++) {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return;\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return;\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? handleRequest(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? handleResponse(source, origin, message) : \"postrobot_message_ack\" === message.type && handleAck(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n }\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, winCandidate = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (winCandidate && \"*\" !== winCandidate && window_ProxyWindow.isProxyWindow(winCandidate)) {\n var requestListenerPromise = winCandidate.awaitWindow().then((function(actualWin) {\n return addRequestListener({\n name: name,\n win: actualWin,\n domain: domain\n }, listener);\n }));\n return {\n cancel: function() {\n requestListenerPromise.then((function(requestListener) {\n return requestListener.cancel();\n }), src_util_noop);\n }\n };\n }\n var win = winCandidate;\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n var strDomain = (domain = domain || \"*\").toString();\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var winNameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var winNameDomainListeners = util_getOrSet(winNameListeners, name, (function() {\n return {};\n }));\n var winNameDomainRegexListeners;\n var winNameDomainRegexListener;\n util_isRegex(domain) ? (winNameDomainRegexListeners = util_getOrSet(winNameDomainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(winNameDomainRegexListener = {\n regex: domain,\n listener: listener\n }) : winNameDomainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete winNameDomainListeners[strDomain];\n if (winNameDomainRegexListener) {\n winNameDomainRegexListeners.splice(winNameDomainRegexListeners.indexOf(winNameDomainRegexListener, 1));\n winNameDomainRegexListeners.length || delete winNameDomainListeners.__domain_regex__;\n }\n Object.keys(winNameDomainListeners).length || delete winNameListeners[name];\n win && !Object.keys(winNameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: options.window,\n domain: options.domain || \"*\"\n }, {\n handler: handler || options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n }\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n function on_once(name, options, handler) {\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n var promise = new promise_ZalgoPromise;\n var listener;\n options.errorHandler = function(err) {\n listener.cancel();\n promise.reject(err);\n };\n listener = on_on(name, options, (function(event) {\n listener.cancel();\n promise.resolve(event);\n if (handler) return handler(event);\n }));\n promise.cancel = listener.cancel;\n return promise;\n }\n var send_send = function send(winOrProxyWin, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return window_ProxyWindow.toProxyWindow(winOrProxyWin, {\n send: send\n }).awaitWindow().then((function(win) {\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (function(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (getParent(frame) === frame) return frame;\n }\n }(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return function(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = function(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n !function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout && promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }();\n loop();\n }), 500);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }();\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n }));\n };\n function setup_serializeMessage(destination, domain, obj) {\n return serializeMessage(destination, domain, obj, {\n on: on_on,\n send: send_send\n });\n }\n function setup_deserializeMessage(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }\n function createProxyWindow(win) {\n return new window_ProxyWindow({\n send: send_send,\n win: win\n });\n }\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function setup() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return function(obj, event, handler) {\n obj.addEventListener(\"message\", handler);\n return {\n cancel: function() {\n obj.removeEventListener(\"message\", handler);\n }\n };\n }(window, 0, (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }\n function destroy() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_10_0_46__;\n }\n var src_types_TYPES_0 = !0;\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n setup();\n } ]);\n}));","/* @flow */\n\n// $FlowFixMe\nmodule.exports = require('./dist/post-robot'); // eslint-disable-line import/no-commonjs\n\n// $FlowFixMe\nmodule.exports.default = module.exports; // eslint-disable-line import/no-commonjs\n","export type LaunchDarklyBooleanFlagKey =\n | 'ai_image_generation_model'\n | 'ai_video_generation_model'\n | 'allow_ai_prompts_in_canvas_text'\n | 'allow_bulk_actions_canvases_files'\n | 'allow_content_grid_autofill'\n | 'allow_canvas_duplication'\n | 'allow_canvases_tables_columns_settings'\n | 'allow_table_column_resizing'\n | 'allow_creating_canvas_with_no_template'\n | 'allow_dynamic_data_table_for_scribble_component'\n | 'allow_html_for_scribble_component'\n | 'allow_embeddable_for_scribble_component'\n | 'allow_embeddable_hiding'\n | 'allow_multimedia_for_scribble_component'\n | 'allow_note_taking'\n | 'allow_rep_canvas_metadata_edit'\n | 'allow_rep_file_distributions'\n | 'allow_rep_file_rating'\n | 'allow_rep_file_upload'\n | 'allow_saving_annotations_in_personal_layer'\n | 'allow_user_to_edit_font_size_and_color_in_canvas_tokens'\n | 'are_sections_system_controlled'\n | 'enable_canvas_core_distributions'\n | 'copy_context_to_canvas'\n | 'copy_template_metadata_to_canvas'\n | 'disable_canvas_edit_for_reps'\n | 'disable_custom_tooltips'\n | 'disable_file_edit_content'\n | 'enable_inline_wopi_edit_button'\n | 'disable_fullscreen_canvas_builder'\n | 'disable_impact_web_browser_fullscreen'\n | 'disable_user_invitations'\n | 'display_section_list_name'\n | 'disable_download_canvas'\n | 'enable_ai_generated_thumbnails'\n | 'enable_analytics'\n | 'enable_app_developer_role'\n | 'enable_algolia_search'\n | 'enable_background_image_theme_options'\n | 'enable_better_canvas_builder_control_bars_on_zoom'\n | 'enable_bulk_update_file_attributes'\n | 'enable_canvas_as_home'\n | 'enable_canvas_blocks'\n | 'enable_canvas_node_debugging'\n | 'enable_canvas_freeze'\n | 'enable_canvas_locks'\n | 'enable_canvas_template_edit_in_impact'\n | 'enable_canvas_tokens'\n | 'enable_collaborations'\n | 'enable_collection_player_data_accessor'\n | 'enable_content_grid_data_accessor'\n | 'enable_content_type_change_in_content_selector'\n | 'enable_cross_tab_instance_reload_for_ld_sync'\n | 'enable_create_section_from_section_template'\n | 'enable_custom_display_overrides'\n | 'enable_default_crm_shape'\n | 'enable_detailed_date_format'\n | 'enable_dsr_readonly_annotations'\n | 'enable_dnd_html_editor'\n | 'enable_dynamic_content_component'\n | 'enable_dynamic_data_table_component'\n | 'enable_custom_data_tables'\n | 'enable_embedded_video_autoplay'\n | 'enable_embedded_video'\n | 'enable_enhanced_canvas_drawer_app'\n | 'enable_enhanced_indicators'\n | 'enable_enhanced_section_execution_states'\n | 'enable_experimental_canvas_builder_dnd'\n | 'enable_extra_file_data'\n | 'enable_file_copy'\n | 'enable_file_pages_metadata'\n | 'enable_file_revisions'\n | 'enable_file_divisible_permission'\n | 'enable_folder_details_edit'\n | 'enable_folder_distributions'\n | 'enable_handlebar_template_support'\n | 'enable_height_in_component_theming'\n | 'enable_home_customization'\n | 'enable_hotspot_visibility'\n | 'enable_improved_canvas_node_updating'\n | 'enable_individual_users_in_file_distribution'\n | 'enable_inline_filter_options'\n | 'enable_insearch_in_section_selector'\n | 'enable_instance_cloner'\n | 'enable_advanced_cloner'\n | 'enable_content_promotion'\n | 'enable_instance_editor_role'\n | 'enable_instance_navigation_from_management'\n | 'enable_knock_notifications'\n | 'enable_maintain_section_theme_control'\n | 'enable_metadata_in_file_uploads_with_default_values'\n | 'enable_more_intuitive_component_spacing'\n | 'enable_multi_destination_upload'\n | 'enable_multimedia_component_ai_images'\n | 'enable_new_meeting_bar'\n | 'enable_provider_agnostic_meeting_bar'\n | 'enable_original_pdf_link'\n | 'enable_scale_content'\n | 'enable_sorting_in_tiptap_table'\n | 'enable_theme_assets'\n | 'enable_toc_enhancements_to_support_same_section_in_section_list'\n | 'enable_pia_assistant'\n | 'enable_pipe_character_multi_search'\n | 'enable_popup_apps'\n | 'enable_pre_send_validation'\n | 'enable_reorder_search'\n | 'enable_reorder_scribble_isolation'\n | 'enable_reorder_component_options_menu'\n | 'enable_resizable_multimedia_component'\n | 'enable_responsive_scribble_component'\n | 'enable_saved_canvases_filters'\n | 'enable_short_tag_column_in_tables'\n | 'enable_scribble_component'\n | 'enable_scribble_content_as_background'\n | 'enable_search_and_filters_in_multimedia_component'\n | 'enable_section_context_in_dsr'\n | 'enable_selectors_dnd'\n | 'enable_section_selector_edit_section'\n | 'enable_smart_folders'\n | 'enable_smart_folders_for_sections'\n | 'enable_smart_folders_in_section_selector'\n | 'enable_smart_folders_in_files'\n | 'enable_sorting_in_sections'\n | 'enable_suggested_tags'\n | 'enable_template_component_permissions'\n | 'enable_template_folders'\n | 'enable_theme_options_border_radius'\n | 'enable_themes'\n | 'hide_asset_uploader'\n | 'hide_user_feedback_widget'\n | 'include_files_content_in_print'\n | 'interpolate_rep_canvases_on_edit_mode'\n | 'is_timeline_component_allowed'\n | 'launch_in_full_screen_on_present_mode'\n | 'prefer_online_handlers'\n | 'restrict_owned_files_from_admins'\n | 'show_asset_manager_for_multimedia'\n | 'show_clear_all_annotations_button'\n | 'show_content_selector_list_view'\n | 'show_metadata_filters_in_all_canvas_things'\n | 'show_only_preview_mode_for_html_component'\n | 'show_popularity_icons'\n | 'use_core_endpoint_for_analytics'\n | 'convert_pptx_to_section_with_scribble_pdfjs'\n | 'use_short_url_for_shared_link'\n | 'use_zoho_instead_of_ms_wopi'\n | 'enable_new_section_list'\n | 'enable_sharebox_apps'\n | 'enable_sharebox_bulk_filtering'\n | 'enable_back_to_previous_location_in_canvas'\n | 'enable_crm_shape_for_external_links'\n | 'enable_adaptive_popup_apps'\n | 'enable_file_version_polling'\n | 'skip_pspdfkit_wait_for_high_res_thumbs'\n | 'enable_reactive_scribble_component_toolbar'\n | 'enable_embeddable_full_screen_mode'\n | 'enable_enhanced_user_management'\n | 'enable_impersonation'\n | 'enable_instance_admin_user_assignment'\n | 'keep_static_pptx_editable'\n | 'enable_canvas_pdf_dimensions'\n | 'enable_editable_pptx_of_canvas'\n | 'enable_editable_pptx_of_canvas_with_fonts'\n | 'enable_aspose_pptx_of_canvas'\n | 'enable_canvas_control_bars_collapse'\n | 'enable_rep_app_visibility_order'\n | 'enable_file_sharing_print_permissions'\n | 'enable_section_sharing_print_permissions'\n | 'enable_marketplace_tab'\n | 'enable_sfdc_account_visibility_for_canvases'\n | 'sfdc_offline_enabled'\n | 'enable_granular_permissions'\n | 'enable_hub_collections'\n | 'enable_hub_recommended_smart_folder'\n | 'enable_custom_user_properties'\n\nexport type LaunchDarklyNumberFlagKey =\n | 'canvas_section_selector_page_size'\n | 'canvas_section_selector_selected_items_with_thumbnail_size'\n\n/** How Hub PIA Search serves inference (PIT-6863). */\nexport type PiaSearchMode = 'off' | 'on_device' | 'online'\n\n/**\n * `enable_hub_pia_search` flag value. New variants carry `{ mode }`; the legacy\n * variants carried `{ enabled, model_for_pia_search, model_for_pia_embedding }`\n * naming in-browser Xenova models (retired in PIT-6863). Legacy fields stay\n * optional for back-compat until the LD flag variants are migrated to the\n * `{ mode }` shape (LD UI rollout follow-up — the model fields are ignored).\n */\nexport type HubPiaSearchFlag = {\n mode?: PiaSearchMode\n enabled?: boolean\n model_for_pia_search?: string\n model_for_pia_embedding?: string\n}\n\n/**\n * Resolve the PIA Search mode from the `enable_hub_pia_search` flag value:\n * explicit `mode` wins; else legacy `enabled === true` maps to `'online'`\n * (Xenova is retired — a legacy \"on\" now means the next-core Bedrock answer\n * route); else `'off'`.\n */\nexport function resolvePiaSearchMode(flag: HubPiaSearchFlag | null | undefined): PiaSearchMode {\n if (flag?.mode === 'off' || flag?.mode === 'on_device' || flag?.mode === 'online') return flag.mode\n if (flag?.enabled === true) return 'online'\n return 'off'\n}\n\ntype LaunchDarklyObjectFlags = {\n canvas_manager_table_columns: CanvasManagerTableColumns\n context_crm_shape: Record<string, any>\n enable_hub_pia_search: HubPiaSearchFlag\n}\n\nexport type LaunchDarklyObjectFlagKey = keyof LaunchDarklyObjectFlags\nexport type LaunchDarklyStringFlagKey = keyof typeof _LaunchDarklyStringFlags\nconst _LaunchDarklyStringFlags = {\n canvas_component_grouping: ['page', 'page_break', 'none'],\n batch_open_content_grid_ar_files: ['off', 'simultaneous', 'swap'],\n selectors_dnd_batch_add_style: ['button', 'buttons', 'dropdown'],\n pspdfkit_client_version: ['', 'pspdfkit-web/2024.6.0/pspdfkit.js', 'pspdfkit-web/1.14.0/nutrient-viewer.js'], // path suffix appended to file.pspdfkit_server_url; empty → legacy 2024.6.0/pspdfkit.js\n slotty_ui_remote_script_url: ['https://anyvalidurl.xyz', ''], // empty string means no remote script\n dsr_remote_script_url: ['https://anyvalidurl.xyz', ''], // empty string means no remote script\n ai_image_generation_model: ['minimax/image-01', ''], // empty string means minimax/image-01\n ai_video_generation_model: ['minimax/video-01', ''], // empty string means minimax/video-01\n sharebox_format: ['content-grid', 'content-grid-default', 'collection-player-default'],\n} as const\n\ntype LaunchDarklyStringFlagValue<K extends LaunchDarklyStringFlagKey = LaunchDarklyStringFlagKey> =\n K extends LaunchDarklyStringFlagKey ? (typeof _LaunchDarklyStringFlags)[K][number] : never\n\ntype CanvasManagerVisibility = {\n hide: string[]\n order: string[]\n}\n\nexport type CanvasTablePagination = {\n sizes: number[]\n default: number\n}\n\nexport type CanvasManagerTableColumns = {\n canvas_templates: CanvasManagerVisibility\n canvases: CanvasManagerVisibility\n section_templates: CanvasManagerVisibility\n sections: CanvasManagerVisibility\n}\n\nexport type LaunchDarklyEnv = {\n [K in LaunchDarklyBooleanFlagKey]?: boolean\n} & {\n [K in LaunchDarklyStringFlagKey]?: LaunchDarklyStringFlagValue<K>\n} & {\n [K in LaunchDarklyNumberFlagKey]?: number\n} & {\n [K in keyof LaunchDarklyObjectFlags]?: LaunchDarklyObjectFlags[K]\n} & {\n [key: string]: any\n}\n","import { highLevelApi } from '@sdk/main'\nimport type { PitcherEnv } from '@sdk/interfaces'\nimport type {\n AICompletePayload,\n AICompleteResult,\n AIRuntimeCapabilities,\n PiaSearchAnswerPayload,\n PiaSearchAnswerResult,\n} from '@sdk/payload.types'\nimport { resolvePiaSearchMode } from '@lib/types/launchDarkly.types'\n\n/**\n * AI surface of the JS API (PIT-6863): Impact owns AI inference on every\n * platform behind ONE surface.\n *\n * - iOS: `ai.get_capabilities` / `ai.complete` are answered by the native\n * on-device (Gemma) bridge over the standard PITCHER_REQUEST postMessage.\n * - Web: there is no local model — capabilities resolve statically to the\n * online (Bedrock) runtime and `piaSearchAnswer` calls the next-core\n * `pia-prepare/pia-search` route directly with the env's access token.\n *\n * Casing note: `ai.complete`'s payload keys (`prompt`/`max_tokens`/`stream`)\n * are already snake_case, so LowLevelApi's `snakeCaseKeys` transform is a\n * no-op — no RAW_PAYLOAD_METHODS entry is needed (verified against the iOS\n * wire contract).\n */\n\nconst PIA_SEARCH_ROUTE = '/core/api/protected/pia-prepare/pia-search'\n/** `ai.get_capabilities` bound so an older iOS build that never answers the\n * postMessage can't hang `piaSearchAnswer` forever (LowLevelApi has no\n * timeouts) — on timeout the caller falls through to the online path. */\nconst CAPABILITIES_TIMEOUT_MS = 3_000\nconst ON_DEVICE_MAX_TOKENS = 512\n\nconst WEB_CAPABILITIES: AIRuntimeCapabilities = {\n available: true,\n offline: false,\n runtime: 'bedrock-online',\n}\n\nfunction withTimeout<T>(promise: Promise<T>, ms: number, label: string): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const timer = setTimeout(() => reject(new Error(`${label} timed out after ${ms}ms`)), ms)\n promise.then(\n (value) => {\n clearTimeout(timer)\n resolve(value)\n },\n (error) => {\n clearTimeout(timer)\n reject(error)\n },\n )\n })\n}\n\nfunction normalizeOrigin(domain: string): string {\n return domain.startsWith('http') ? domain : `https://${domain}`\n}\n\n/** Customer API origin, from the token claims (canonical) with the org\n * metadata custom_domain as fallback — the slotty `pia.ui.ts` pattern. */\nfunction apiOriginFromEnv(env: PitcherEnv): string {\n const claimDomain = env?.pitcher?.token_claims?.['https://pitcher.com/claims/urls']?.custom_domain\n if (typeof claimDomain === 'string' && claimDomain.length > 0) return normalizeOrigin(claimDomain)\n const orgDomain = env?.pitcher?.organization?.metadata?.custom_domain\n if (typeof orgDomain === 'string' && orgDomain.length > 0) return normalizeOrigin(orgDomain)\n throw new Error('piaSearchAnswer: no customer domain found in env (token_claims / organization metadata)')\n}\n\nfunction buildOnDevicePrompt(query: string, contextText?: string): string {\n const context =\n typeof contextText === 'string' && contextText.trim().length > 0\n ? contextText.trim()\n : 'No content context was provided.'\n return `You are PIA, a sales content assistant. Answer the rep's question using ONLY the CONTEXT below — do not invent content that is not in it.\n\nCONTEXT:\n${context}\n\nQUESTION: ${query}\n\nAnswer concisely in plain text. If the context does not contain the answer, say you could not find it in the available content.`\n}\n\n/**\n * Capabilities of the AI completion runtime on the current platform.\n *\n * On iOS this asks the native on-device bridge (`ai.get_capabilities`); on web\n * it resolves statically to the online (Bedrock) runtime — no postMessage\n * round-trip.\n *\n * @returns {Promise<AIRuntimeCapabilities>} - Promise resolving with the runtime capabilities.\n *\n * @example\n * const capabilities = await api.aiGetCapabilities()\n * if (capabilities.available) { ... }\n */\nexport async function aiGetCapabilities(): Promise<AIRuntimeCapabilities> {\n const env: PitcherEnv = await highLevelApi.API.request('get_env')\n if (env?.mode === 'IOS') {\n return highLevelApi.API.request('ai.get_capabilities')\n }\n return { ...WEB_CAPABILITIES }\n}\n\n/**\n * Run an AI completion on the on-device model (iOS only). On web the host\n * rejects with a clear error — use `piaSearchAnswer` (or the next-core AI\n * routes) for online inference instead.\n *\n * The payload is the EXACT iOS wire contract: `{ prompt, max_tokens?, stream? }`\n * → `{ text, tokens_generated, elapsed_seconds, time_to_first_token_seconds }`.\n *\n * @param {AICompletePayload} payload - The completion payload.\n * @returns {Promise<AICompleteResult>} - Promise resolving with the completion.\n *\n * @example\n * const completion = await api.aiComplete({ prompt: 'Summarize ...', max_tokens: 256 })\n * console.log(completion.text)\n */\nexport function aiComplete(payload: AICompletePayload): Promise<AICompleteResult> {\n if (!payload || typeof payload.prompt !== 'string' || payload.prompt.trim() === '') {\n return Promise.reject(new Error('prompt is required and must be a non-empty string'))\n }\n return highLevelApi.API.request('ai.complete', payload)\n}\n\n/**\n * Answer a rep's natural-language question over the instance's content — the\n * ONE high-level PIA Search call (PIT-6863). Routing follows the\n * `enable_hub_pia_search` flag mode (see `resolvePiaSearchMode`):\n *\n * - `on_device` on iOS with an available local model → `aiComplete` over the\n * caller-assembled `context_text` (the Hub has the file metadata\n * client-side). Unavailable/downloading models fall through to online.\n * - `online` (or any on-device fallback) → POST to the next-core\n * `pia-prepare/pia-search` Bedrock route, which assembles its own candidate\n * context server-side.\n * - `off` → rejects.\n *\n * @param {PiaSearchAnswerPayload} payload - The question + optional context/narrowing.\n * @returns {Promise<PiaSearchAnswerResult>} - Unified answer with the serving `source`.\n *\n * @example\n * const result = await api.piaSearchAnswer({ query: 'What is our pricing for oncology?' })\n * console.log(result.answer, result.cited_file_ids, result.source)\n */\nexport async function piaSearchAnswer(payload: PiaSearchAnswerPayload): Promise<PiaSearchAnswerResult> {\n if (!payload || typeof payload.query !== 'string' || payload.query.trim() === '') {\n return Promise.reject(new Error('query is required and must be a non-empty string'))\n }\n\n const env: PitcherEnv = await highLevelApi.API.request('get_env')\n const mode = resolvePiaSearchMode(env?.launch_darkly?.enable_hub_pia_search)\n if (mode === 'off') {\n throw new Error('pia_search_disabled: enable_hub_pia_search resolves to mode \"off\"')\n }\n\n // On-device path — iOS only (web never has a local model). Any failure\n // (bridge timeout, model unavailable, completion error) falls through to the\n // online route.\n if (mode === 'on_device' && env?.mode === 'IOS') {\n try {\n const capabilities = await withTimeout(\n highLevelApi.API.request('ai.get_capabilities') as Promise<AIRuntimeCapabilities>,\n CAPABILITIES_TIMEOUT_MS,\n 'ai.get_capabilities',\n )\n if (capabilities?.available) {\n const completion = await aiComplete({\n prompt: buildOnDevicePrompt(payload.query, payload.context_text),\n max_tokens: payload.max_tokens ?? ON_DEVICE_MAX_TOKENS,\n })\n return { answer: completion.text, source: 'on_device' }\n }\n } catch (error) {\n console.warn('[piaSearchAnswer] on-device path unavailable, falling back to online:', error)\n }\n }\n\n const instanceId = payload.instance_id || env?.pitcher?.instance?.id\n if (!instanceId) {\n throw new Error('piaSearchAnswer: instance_id could not be resolved from the payload or env')\n }\n\n const response = await fetch(`${apiOriginFromEnv(env)}${PIA_SEARCH_ROUTE}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${env.pitcher.access_token}`,\n },\n body: JSON.stringify({\n query: payload.query,\n instance_id: instanceId,\n ...(Array.isArray(payload.file_ids) && payload.file_ids.length > 0 && { file_ids: payload.file_ids }),\n }),\n })\n if (!response.ok) {\n throw new Error(`pia_search ${response.status}`)\n }\n\n const data = (await response.json()) as {\n pia_search?: { answer?: string; cited_file_ids?: string[]; confidence?: 'high' | 'medium' | 'low' }\n }\n const output = data?.pia_search ?? {}\n return {\n answer: typeof output.answer === 'string' ? output.answer : '',\n cited_file_ids: Array.isArray(output.cited_file_ids) ? output.cited_file_ids : [],\n ...(output.confidence && { confidence: output.confidence }),\n source: 'online',\n }\n}\n","import type { OpenExternalUrlRequestPayload, OpenRequestPayload } from '@sdk/payload.types'\n\n/**\n * Open a file in the CatalogIQ instance.\n */\nexport function open(payload: OpenRequestPayload = {}): Promise<string> {\n return this.API.request('open', payload)\n}\n\n/**\n * Open external URL in a new tab. Works on both web and mobile.\n */\nexport function openExternalUrl(payload: OpenExternalUrlRequestPayload): Promise<void> {\n return this.API.request('open_external_url', payload)\n}\n","import { omit } from 'lodash-es'\n\nimport type { PitcherEnv } from '@sdk/interfaces'\nimport type { User } from '@openapi'\n\n/**\n * Fetches the necessary info for the app to know where it is embedded.\n *\n * It contains information about:\n * - user\n * - instance\n * - organization\n * - security token to query Pitcher REST API\n * - Salesforce connection information (if connected) including security token to query Salesforce REST API\n * - Auth0 token information\n *\n * @example\n * const env = usePitcherApi().getEnv().then((env) => {\n * console.log(env.pitcher.user.name)\n * })\n */\nexport function getEnv(): Promise<PitcherEnv> {\n return this.API.request('get_env').then((env: PitcherEnv) => omit(env, 'pitcher.org_config.segment'))\n}\n\ntype UpdateEnvParams = Pick<User, 'language'>\n\nexport function updateMyUser(payload: UpdateEnvParams): Promise<User> {\n return this.API.request('update_my_user', payload)\n}\n\nexport function isOffline(): Promise<boolean> {\n return this.API.request('is_offline')\n}\n","export type Language = [\n string, // key\n string, // name\n]\n\n/**\n * Fetches available languages for the logged-in user\n */\nexport function getLanguages(): Promise<Language[]> {\n return this.API.request('get_languages')\n}\n","import type {\n CanvasRetrieve,\n CanvasCreateRequest,\n PatchedCanvasUpdateRequest,\n SharedLink,\n Instance,\n CanvasRecommendedFiles,\n CanvasSection,\n} from '@openapi'\nimport type { GetCanvasesParams, CanvasIndicator } from '@lib/types/canvases'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { CanvasThemeRetrieve } from '@lib/types/canvasTheme'\n/**\n * Fetches a list of canvases to use in your app.\n *\n * @example\n * // The `filters` object is a reserved payload key to transfer the metadata dict over the wire.\n * api.getCanvases({\n * search: 'my search query',\n * ordering: '-created_at',\n * filters: {\n * metadata__mydaterangefiltername__range: ['2023-12-10', '2023-12-22'],\n * metadata__mymultiselectfiltername: ['optionAValue', 'optionCValue'],\n * },\n * fields: 'id,name,metadata',\n * })\n */\nexport function getCanvases(\n payload: GetCanvasesParams & { filters?: Record<string, any>; fields?: string },\n): Promise<PaginatedData<CanvasRetrieve>> {\n return this.API.request('get_canvases', payload)\n}\n\nexport function createCanvas(payload: Omit<CanvasCreateRequest, 'instance_id'>): Promise<CanvasRetrieve> {\n return this.API.request('create_canvas', payload)\n}\n\nexport function deleteCanvas(payload: { id: CanvasRetrieve['id'] }): Promise<CanvasRetrieve> {\n return this.API.request('delete_canvas', payload)\n}\n\n/**\n * Updates a canvas by ID\n *\n * @example\n * // The fields param is appended to the URL as a query param.\n * onMounted(() => {\n * PitcherAPI.updateCanvas({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * fields: 'id,name',\n * name: 'To 3!',\n * }).then((res) => {\n * console.log(res) // logs: { id: '01HH4RCBH631K4JDHWAQB0RPR6', name: 'To 3!' }\n * })\n * })\n */\nexport function updateCanvas(\n payload: PatchedCanvasUpdateRequest & { id: CanvasRetrieve['id']; instance_id?: Instance['id']; fields?: string },\n): Promise<CanvasRetrieve> {\n let shouldDebug = false\n if (typeof window !== 'undefined') {\n const urlParams = new URLSearchParams(window.location.search)\n shouldDebug = urlParams.get('debug') === 'true' || !!(window as any).debug\n }\n shouldDebug && console.info('JS API UPDATE CANVAS', payload)\n\n return this.API.request('update_canvas', payload).then((res: any) => {\n shouldDebug && console.info('JS API UPDATE CANVAS RESPONSE', res)\n return res\n })\n}\n\n/**\n * Updates canvas indicators by canvas ID. It merges the passed object into existing canvas indicators adding new keys if they were empty and overriding pre-existing keys.\n *\n * Indicators can also be updated using updateCanvas API but in this case passed object fully replaces existing indicators.\n *\n * @example\n * // The fields param is appended to the URL as a query param.\n * onMounted(() => {\n * PitcherAPI.updateCanvasIndicators({\n * id: '01J9XT0WVXRTETF4CQZP42CPZP',\n * indicators: {\n * existing: { type: 'info', label: 'new label' }, // will be overriden\n * new: { type: 'info', label: 'INFO' }, // will be added\n * removeExisting: null // will be set to null and ignored, it is the same as removal\n * }\n * }).then((res) => {\n * console.log(res) // entire canvas object, including indicators field\n * })\n * })\n */\nexport function updateCanvasIndicators(payload: {\n indicators: Record<string, CanvasIndicator>\n id: CanvasRetrieve['id']\n instance_id?: Instance['id']\n}): Promise<CanvasRetrieve> {\n return this.API.request('update_canvas_indicators', payload)\n}\n\n/**\n * Fetches a single canvas by ID.\n *\n * Pass `lazy_sections: true` to request the opt-in lazy \"shell\": when the\n * org/instance `lazy_load_sections` setting is also on, the response returns\n * ordered `section_ids` instead of the heavy inline `sections`, and you hydrate\n * section bodies on demand via {@link getSectionsByIds}. With the setting off\n * (or the param omitted) the response is the legacy fully-expanded canvas.\n */\nexport function getCanvas(payload: {\n id: CanvasRetrieve['id']\n fields?: string\n lazy_sections?: boolean\n}): Promise<CanvasRetrieve> {\n return this.API.request('get_canvas', payload)\n}\n\n/**\n * Batch-hydrate section bodies for a canvas fetched as a lazy shell.\n *\n * Companion to `getCanvas({ lazy_sections: true })`: pass the canvas ID and a\n * slice of its `section_ids` (≤100 per call) and receive the full section\n * bodies, serialized identically to a normal canvas retrieve's inline\n * `sections`. Only sections actually referenced by the canvas are returned.\n *\n * Pass the SAME `exclude_drafts` / `include_expired_files` / `include_pending_files`\n * the shell was fetched with so hydration filters identically to the shell that\n * advertised the IDs — otherwise admin decks (fetched with `exclude_drafts:false`,\n * expired/pending on) list draft/expired sections the batch would silently drop,\n * leaving them blank. Omit them to get the rep defaults (drafts excluded,\n * expired/pending off). `include_expired_files`/`include_pending_files` are\n * server-side role-gated (admin/editor only), matching the inline retrieve.\n *\n * @example\n * const { sections } = await api.getSectionsByIds({\n * canvas_id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * section_ids: ['01SEC...', '02SEC...'],\n * })\n */\nexport function getSectionsByIds(payload: {\n canvas_id: CanvasRetrieve['id']\n section_ids: string[]\n exclude_drafts?: boolean\n include_expired_files?: boolean\n include_pending_files?: boolean\n}): Promise<{ sections: CanvasSection[] }> {\n return this.API.request('get_canvas_sections_by_ids', payload)\n}\n\nexport function shareCanvas(payload: { id: CanvasRetrieve['id'] }): Promise<SharedLink> {\n return this.API.request('share_canvas', payload)\n}\n\nexport function getCanvasRecommendedFiles(payload: {\n canvas_id: CanvasRetrieve['id']\n match?: ('tags' | 'metadata')[]\n}): Promise<CanvasRecommendedFiles> {\n return this.API.request('get_canvas_recommended_files', payload)\n}\n\nexport function getCanvasTheme(payload: { canvas_id: CanvasRetrieve['id'] }): Promise<CanvasThemeRetrieve | null> {\n return this.API.request('get_canvas_theme', payload)\n}\n\nexport function unassignCanvasTheme(payload: { canvas_id: CanvasRetrieve['id'] }): Promise<void> {\n return this.API.request('unassign_canvas_theme', payload)\n}\n","import type { File, FileRetrieve, PaginatedFileList, FileUpdateRequest, FileRevision } from '@openapi'\nimport type { ListFilesPayload } from '@sdk/payload.types'\nimport type { AllFileCreateRequest, DeviceFile } from '@lib/types/files'\n\nexport function getFiles(\n payload: ListFilesPayload & { filters?: Record<string, any>; fields?: string },\n): Promise<PaginatedFileList> {\n const p = { ...payload }\n\n if (p.type) {\n p.type = Array.isArray(p.type) ? p.type : [p.type]\n }\n\n if (p.content_type) {\n p.content_type = (\n Array.isArray(p.content_type) ? p.content_type : [p.content_type]\n ) as ListFilesPayload['content_type']\n }\n\n return this.API.request('get_files', p)\n}\n\nexport function downloadFile(payload: { file_id: File['id'] }): Promise<null> {\n return this.API.request('download_file', payload)\n}\n\nexport function getAppConfig(payload?: { app_name?: string }): Promise<Record<string, any>> {\n let fileId\n\n if (!payload?.app_name && typeof window !== 'undefined' && window.location.href.startsWith('file://')) {\n const match = window.location.href.match(/pitcher(?:%20|\\s+)folders\\/files\\/([^/]+)\\//i)\n fileId = match?.[1]\n }\n\n return fileId\n ? this.API.request('get_file', { file_id: fileId }).then((file: FileRetrieve) => file?.metadata ?? {})\n : this.API.request('get_app_config', payload)\n}\n\nexport function getFile(payload: { id?: FileRetrieve['id']; file_id?: FileRetrieve['id'] }): Promise<FileRetrieve> {\n const { id, file_id } = payload\n return this.API.request('get_file', { ...payload, file_id: id || file_id })\n}\n\nexport function getFileRevisionData(payload: {\n file_id: FileRetrieve['id']\n revision_id: FileRevision['id']\n}): Promise<FileRetrieve> {\n return this.API.request('get_file_revision_data', payload)\n}\n\nexport function updateFile(payload: FileUpdateRequest & { id: File['id'] }): Promise<FileRetrieve> {\n return this.API.request('update_file', payload)\n}\n\nexport function deleteFile(payload: { file_id: File['id'] }): Promise<File['id']> {\n return this.API.request('delete_file', payload)\n}\n\nexport function createFile(payload: Omit<AllFileCreateRequest, 'instance_id'>): Promise<FileRetrieve> {\n return this.API.request('create_file', payload)\n}\n\n/**\n * Dispatches iOS native file selector and returns the selected file.\n *\n * @example\n * // iOS only method to select a file from the device.\n * api.selectDeviceFile()\n */\nexport function selectDeviceFile(): Promise<DeviceFile> {\n return this.API.request('select_device_file')\n}\n\n/**\n * Deletes a local file on iOS devices from Pitcher Folders.\n *\n * @example\n * // iOS only method to delete a local file.\n * api.deleteLocalFile({ url: 'file:///var/mobile/Containers/Data/Application/x/Documents/Pitcher%20Folders/ARPhotocapture/x.png' })\n */\nexport function deleteLocalFile(payload: { url: string }): Promise<void> {\n return this.API.request('delete_local_file', payload)\n}\n","import type { FileRetrieve, FileRevision } from '@openapi'\n\nexport function getFileRevisions(payload: {\n id?: FileRetrieve['id']\n file_id?: FileRetrieve['id']\n}): Promise<FileRevision[]> {\n const { id, file_id } = payload\n return this.API.request('get_file_revisions', { file_id: id || file_id })\n}\n","export function search(payload: { query: string; includeExpired?: boolean }): Promise<any> {\n return this.API.request('search', payload)\n}\n","import type { GetUsersParams, RefreshServiceTokenResponse, RefreshServiceTokenRequest } from '@lib/types/users'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { User } from '@openapi'\n\nexport function getUsers(payload?: GetUsersParams): Promise<PaginatedData<User>> {\n return this.API.request('get_users', payload)\n}\n\n/**\n * Ask for a refreshed Salesforce token. In case the token hasn't expired yet, this method will return the same token as the current one found in the (`getEnv`)[#getenv] result.\n * @returns Promise resolving to an object containing the token\n */\nexport function refreshServiceToken(payload?: RefreshServiceTokenRequest): Promise<RefreshServiceTokenResponse> {\n return this.API.request('refresh_service_token', payload ?? {})\n}\n\nexport function refreshAccessToken() {\n return this.API.request('refresh_access_token')\n}\n","import type { File } from '@openapi'\n\n/**\n * @deprecated - not used anymore\n */\nexport function fetchDocumentInfo(payload: { fileId: File['id'] }): Promise<{\n pageCount: number\n [key: string]: unknown\n}> {\n return this.API.request('fetch_document_info', payload)\n}\n\n/**\n * Renders a page from a file together with annotations.\n *\n * @example\n * api.renderPageAsImage({\n * fileId: '123456',\n * documentId: '654321',\n * pageIndex: 0,\n * params: { width: 1920 },\n * })\n *\n * @returns A promise that resolves with the image as an ArrayBuffer.\n */\nexport function renderPageAsImage(payload: {\n /**\n * The ID of the file to render. Used when the documentId is not available.\n */\n fileId: File['id']\n /**\n * The ID of the document to render (optional). If not provided the fileId will be used.\n */\n documentId?: File['id']\n /**\n * The index of the page to render.\n */\n pageIndex: number\n /**\n * The parameters to use for rendering the page.\n */\n params: { width: number } | { height: number }\n}): Promise<ArrayBuffer> {\n return this.API.request('render_page_as_image', payload)\n}\n","export function toast(payload: { type: string; message: string }): Promise<void> {\n return this.API.request('toast', payload)\n}\n","/**\n * SmartStore Smart SQL Query Utilities\n *\n * This module provides utilities for converting SOQL queries to SmartStore Smart SQL format\n * for offline data access on iOS devices using Salesforce Mobile SDK.\n */\n\n// SQL keywords that should NOT be converted to SmartStore field references\nconst SQL_KEYWORDS = new Set([\n 'SELECT',\n 'FROM',\n 'WHERE',\n 'AND',\n 'OR',\n 'NOT',\n 'IN',\n 'LIKE',\n 'ORDER',\n 'BY',\n 'GROUP',\n 'HAVING',\n 'LIMIT',\n 'OFFSET',\n 'ASC',\n 'DESC',\n 'NULLS',\n 'FIRST',\n 'LAST',\n 'NULL',\n 'TRUE',\n 'FALSE',\n 'COUNT',\n 'SUM',\n 'AVG',\n 'MIN',\n 'MAX',\n 'COUNT_DISTINCT',\n 'CALENDAR_MONTH',\n 'CALENDAR_QUARTER',\n 'CALENDAR_YEAR',\n 'DAY_IN_MONTH',\n 'DAY_IN_WEEK',\n 'DAY_IN_YEAR',\n 'DAY_ONLY',\n 'FISCAL_MONTH',\n 'FISCAL_QUARTER',\n 'FISCAL_YEAR',\n 'HOUR_IN_DAY',\n 'WEEK_IN_MONTH',\n 'WEEK_IN_YEAR',\n 'INCLUDES',\n 'EXCLUDES',\n 'ABOVE',\n 'BELOW',\n 'ABOVE_OR_BELOW',\n 'AT',\n 'TYPEOF',\n 'WHEN',\n 'THEN',\n 'ELSE',\n 'END',\n 'USING',\n 'SCOPE',\n 'DATA',\n 'CATEGORY',\n 'ROLLUP',\n 'CUBE',\n 'FORMAT',\n 'CONVERTCURRENCY',\n 'TOLABEL',\n 'DISTANCE',\n 'GEOLOCATION',\n])\n\n// Aggregate functions that need special handling\nconst AGGREGATE_FUNCTIONS = ['COUNT', 'SUM', 'AVG', 'MIN', 'MAX', 'COUNT_DISTINCT']\n\n/**\n * Checks if a string is a SQL keyword\n */\nfunction isSqlKeyword(word: string): boolean {\n return SQL_KEYWORDS.has(word.toUpperCase())\n}\n\n/**\n * Checks if a value is a literal (string, number, boolean, null, date)\n */\nfunction isLiteralValue(value: string): boolean {\n const trimmed = value.trim()\n\n // Check for quoted strings\n if ((trimmed.startsWith(\"'\") && trimmed.endsWith(\"'\")) || (trimmed.startsWith('\"') && trimmed.endsWith('\"'))) {\n return true\n }\n\n // Check for numbers\n if (/^-?\\d+(\\.\\d+)?$/.test(trimmed)) {\n return true\n }\n\n // Check for boolean\n if (/^(true|false)$/i.test(trimmed)) {\n return true\n }\n\n // Check for null\n if (/^null$/i.test(trimmed)) {\n return true\n }\n\n // Check for date/datetime literals\n if (/^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?(Z|[+-]\\d{2}:\\d{2})?)?$/.test(trimmed)) {\n return true\n }\n\n // Check for date literals like TODAY, YESTERDAY, LAST_N_DAYS:n, etc.\n if (\n /^(TODAY|YESTERDAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|LAST_N_DAYS:\\d+|NEXT_N_DAYS:\\d+|LAST_N_WEEKS:\\d+|NEXT_N_WEEKS:\\d+|LAST_N_MONTHS:\\d+|NEXT_N_MONTHS:\\d+|LAST_N_QUARTERS:\\d+|NEXT_N_QUARTERS:\\d+|LAST_N_YEARS:\\d+|NEXT_N_YEARS:\\d+|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)$/i.test(\n trimmed,\n )\n ) {\n return true\n }\n\n return false\n}\n\n/**\n * Checks if a token is an ISO 8601 datetime literal (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss.sssZ)\n */\nfunction isDateTimeLiteral(token: string): boolean {\n return /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?(Z|[+-]\\d{2}:\\d{2})?)?$/.test(token)\n}\n\n/**\n * Converts a field reference to SmartStore syntax\n * Handles relationship fields (Account.Name) and simple fields (Name)\n *\n * In SmartStore, relationship fields are stored as denormalized nested data within the soup.\n * So `Child_Account_vod__r.Name` becomes `{Child_Account_vod__c:Child_Account_vod__r.Name}`\n * - the full relationship path is preserved within the primary object's soup.\n */\nfunction convertFieldToSmartStore(field: string, primaryObject: string, objectAliases: Map<string, string>): string {\n const trimmed = field.trim()\n\n // Skip if it's a keyword or literal\n if (isSqlKeyword(trimmed) || isLiteralValue(trimmed)) {\n return trimmed\n }\n\n // Handle FIELDS(ALL) placeholder - convert to SmartStore _soup syntax\n // SmartStore uses {ObjectName:_soup} to select all fields from a soup\n if (trimmed === '__FIELDS_ALL_PLACEHOLDER__') {\n return `{${primaryObject}:_soup}`\n }\n\n // Handle wildcard * - should not be wrapped in SmartStore field reference syntax\n if (trimmed === '*') {\n return '*'\n }\n\n // Check if already in SmartStore format\n if (trimmed.startsWith('{') && trimmed.endsWith('}')) {\n return trimmed\n }\n\n // Handle relationship fields (e.g., Account.Name, Child_Account_vod__r.Name)\n // In SmartStore, relationship data is stored denormalized within the soup,\n // so we keep the full path and use the primary object as the soup name\n if (trimmed.includes('.')) {\n // Check if the first part is an alias for the primary object\n const parts = trimmed.split('.')\n const alias = parts[0]\n if (objectAliases.has(alias.toLowerCase()) && objectAliases.get(alias.toLowerCase()) === primaryObject) {\n // It's an alias for the primary object, use the rest as field path\n const fieldPath = parts.slice(1).join('.')\n return `{${primaryObject}:${fieldPath}}`\n }\n // For relationship fields, keep the full path within the primary object's soup\n return `{${primaryObject}:${trimmed}}`\n }\n\n // Simple field - use primary object\n return `{${primaryObject}:${trimmed}}`\n}\n\n/**\n * Converts an aggregate function to SmartStore syntax\n * e.g., COUNT(Id) → COUNT({Account:Id})\n */\nfunction convertAggregateFunction(expr: string, primaryObject: string, objectAliases: Map<string, string>): string {\n for (const func of AGGREGATE_FUNCTIONS) {\n const regex = new RegExp(`\\\\b${func}\\\\s*\\\\(([^)]+)\\\\)`, 'gi')\n expr = expr.replace(regex, (_match, innerField) => {\n const trimmedInner = innerField.trim()\n // Handle COUNT(*)\n if (trimmedInner === '*') {\n return `${func}(*)`\n }\n // Handle DISTINCT\n if (trimmedInner.toUpperCase().startsWith('DISTINCT ')) {\n const fieldPart = trimmedInner.substring(9).trim()\n const smartField = convertFieldToSmartStore(fieldPart, primaryObject, objectAliases)\n return `${func}(DISTINCT ${smartField})`\n }\n const smartField = convertFieldToSmartStore(trimmedInner, primaryObject, objectAliases)\n return `${func}(${smartField})`\n })\n }\n return expr\n}\n\n/**\n * Parses the SELECT clause fields, handling aggregate functions and aliases\n */\nfunction parseSelectFields(selectClause: string): string[] {\n const fields: string[] = []\n let depth = 0\n let currentField = ''\n\n for (let i = 0; i < selectClause.length; i++) {\n const char = selectClause[i]\n\n if (char === '(') {\n depth++\n currentField += char\n } else if (char === ')') {\n depth--\n currentField += char\n } else if (char === ',' && depth === 0) {\n if (currentField.trim()) {\n fields.push(currentField.trim())\n }\n currentField = ''\n } else {\n currentField += char\n }\n }\n\n if (currentField.trim()) {\n fields.push(currentField.trim())\n }\n\n return fields\n}\n\n/**\n * Converts SELECT fields to SmartStore syntax\n */\nfunction convertSelectFields(fields: string[], primaryObject: string, objectAliases: Map<string, string>): string[] {\n return fields.map((field) => {\n // Check for alias (e.g., \"COUNT(Id) cnt\" or \"Name AS n\")\n const aliasMatch = field.match(/^(.+?)\\s+(?:AS\\s+)?([A-Za-z_][A-Za-z0-9_]*)$/i)\n let expression = field\n let alias = ''\n\n if (aliasMatch) {\n expression = aliasMatch[1].trim()\n alias = aliasMatch[2]\n }\n\n // Check if it's an aggregate function\n const hasAggregate = AGGREGATE_FUNCTIONS.some((func) => new RegExp(`\\\\b${func}\\\\s*\\\\(`, 'i').test(expression))\n\n if (hasAggregate) {\n const converted = convertAggregateFunction(expression, primaryObject, objectAliases)\n return alias ? `${converted} ${alias}` : converted\n }\n\n // Regular field\n const converted = convertFieldToSmartStore(expression, primaryObject, objectAliases)\n return alias ? `${converted} ${alias}` : converted\n })\n}\n\n/**\n * Converts SOQL null comparisons to SmartStore (SQL) syntax\n * SOQL: = null, != null\n * SQL: IS NULL, IS NOT NULL\n *\n * IMPORTANT: Process != and <> BEFORE = to avoid partial matches\n */\nfunction convertNullComparisons(clause: string): string {\n // Convert \"!= null\" or \"!=null\" to \"IS NOT NULL\" (case insensitive) - MUST be before = null\n let result = clause.replace(/\\s*!=\\s*null\\b/gi, ' IS NOT NULL')\n\n // Convert \"<> null\" to \"IS NOT NULL\" (case insensitive)\n result = result.replace(/\\s*<>\\s*null\\b/gi, ' IS NOT NULL')\n\n // Convert \"= null\" or \"=null\" to \"IS NULL\" (case insensitive) - MUST be after != null\n result = result.replace(/\\s*=\\s*null\\b/gi, ' IS NULL')\n\n return result\n}\n\n/**\n * Converts WHERE clause to SmartStore syntax\n * Preserves operators, literals, and keywords while converting field references\n * Also converts SOQL null comparisons (= null, != null) to SQL syntax (IS NULL, IS NOT NULL)\n */\nfunction convertWhereClause(whereClause: string, primaryObject: string, objectAliases: Map<string, string>): string {\n // Tokenize the WHERE clause while preserving structure\n let result = ''\n let i = 0\n const len = whereClause.length\n\n while (i < len) {\n const char = whereClause[i]\n\n // Skip whitespace\n if (/\\s/.test(char)) {\n result += char\n i++\n continue\n }\n\n // Handle quoted strings - pass through unchanged\n if (char === \"'\" || char === '\"') {\n const quote = char\n result += char\n i++\n while (i < len && whereClause[i] !== quote) {\n // Handle escaped quotes\n if (whereClause[i] === '\\\\' && i + 1 < len) {\n result += whereClause[i] + whereClause[i + 1]\n i += 2\n } else {\n result += whereClause[i]\n i++\n }\n }\n if (i < len) {\n result += whereClause[i]\n i++\n }\n continue\n }\n\n // Handle operators and special characters\n if (/[()=<>!,]/.test(char)) {\n result += char\n i++\n // Handle multi-char operators\n if ((char === '!' || char === '<' || char === '>') && i < len && whereClause[i] === '=') {\n result += whereClause[i]\n i++\n }\n continue\n }\n\n // Handle identifiers and keywords\n if (/[a-zA-Z_]/.test(char)) {\n let identifier = ''\n while (i < len && /[a-zA-Z0-9_.]/.test(whereClause[i])) {\n identifier += whereClause[i]\n i++\n }\n\n // Check if it's a keyword, literal, or field\n if (isSqlKeyword(identifier) || isLiteralValue(identifier)) {\n result += identifier\n } else {\n // It's a field reference\n result += convertFieldToSmartStore(identifier, primaryObject, objectAliases)\n }\n continue\n }\n\n // Handle numbers and datetime literals\n if (/[0-9-]/.test(char)) {\n let token = ''\n\n // Handle negative numbers or dates starting with digit\n if (char === '-') {\n token += char\n i++\n }\n\n // Read digits, dots, colons, and dashes for dates/datetimes\n while (i < len && /[0-9.:\\-TZ+]/.test(whereClause[i])) {\n token += whereClause[i]\n i++\n }\n\n // Wrap datetime literals in single quotes for Smart SQL (SQLite requirement)\n if (isDateTimeLiteral(token)) {\n result += `'${token}'`\n } else {\n result += token\n }\n continue\n }\n\n // Pass through any other character\n result += char\n i++\n }\n\n // Convert SOQL null comparisons to SQL syntax\n result = convertNullComparisons(result)\n\n return result\n}\n\n/**\n * Parses ORDER BY clause into field and direction pairs\n */\nfunction parseOrderByClause(orderByClause: string): Array<{ field: string; direction: string }> {\n const result: Array<{ field: string; direction: string }> = []\n\n // Split by comma, but be careful with functions\n const parts = orderByClause.split(/,(?![^()]*\\))/)\n\n for (const part of parts) {\n const trimmed = part.trim()\n if (!trimmed) continue\n\n // Match field and optional direction (ASC/DESC) and NULLS FIRST/LAST\n const match = trimmed.match(/^(.+?)\\s*(ASC|DESC)?\\s*(NULLS\\s+(?:FIRST|LAST))?$/i)\n\n if (match) {\n const field = match[1].trim()\n let direction = match[2] ? match[2].toUpperCase() : ''\n if (match[3]) {\n direction += (direction ? ' ' : '') + match[3].toUpperCase()\n }\n result.push({ field, direction })\n } else {\n result.push({ field: trimmed, direction: '' })\n }\n }\n\n return result\n}\n\n/**\n * Converts ORDER BY fields to SmartStore syntax\n */\nfunction convertOrderByFields(\n orderByParts: Array<{ field: string; direction: string }>,\n primaryObject: string,\n objectAliases: Map<string, string>,\n): string[] {\n return orderByParts.map(({ field, direction }) => {\n // Check for aggregate functions\n const hasAggregate = AGGREGATE_FUNCTIONS.some((func) => new RegExp(`\\\\b${func}\\\\s*\\\\(`, 'i').test(field))\n\n let convertedField: string\n if (hasAggregate) {\n convertedField = convertAggregateFunction(field, primaryObject, objectAliases)\n } else {\n convertedField = convertFieldToSmartStore(field, primaryObject, objectAliases)\n }\n\n return direction ? `${convertedField} ${direction}` : convertedField\n })\n}\n\n/**\n * Parses GROUP BY clause fields\n */\nfunction parseGroupByClause(groupByClause: string): string[] {\n return groupByClause\n .split(/,(?![^()]*\\))/)\n .map((f) => f.trim())\n .filter(Boolean)\n}\n\n/**\n * Converts GROUP BY fields to SmartStore syntax\n */\nfunction convertGroupByFields(fields: string[], primaryObject: string, objectAliases: Map<string, string>): string[] {\n return fields.map((field) => {\n // Check for aggregate functions (ROLLUP, CUBE)\n if (/^(ROLLUP|CUBE)\\s*\\(/i.test(field)) {\n return field.replace(/\\(([^)]+)\\)/g, (_match, inner) => {\n const innerFields = inner.split(',').map((f: string) => f.trim())\n const converted = innerFields.map((f: string) => convertFieldToSmartStore(f, primaryObject, objectAliases))\n return `(${converted.join(', ')})`\n })\n }\n return convertFieldToSmartStore(field, primaryObject, objectAliases)\n })\n}\n\n/**\n * Extracts FROM clause and any JOINs\n * Returns the primary object and any joined objects\n */\nfunction parseFromClause(fromClause: string): {\n primary: string\n alias?: string\n joins: Array<{ object: string; alias?: string; type: string; on?: string }>\n} {\n const joins: Array<{ object: string; alias?: string; type: string; on?: string }> = []\n\n // Match primary object with optional alias\n const primaryMatch = fromClause.match(/^([A-Za-z0-9_]+)(?:\\s+(?:AS\\s+)?([A-Za-z_][A-Za-z0-9_]*))?/i)\n\n if (!primaryMatch) {\n return { primary: '', joins }\n }\n\n const primary = primaryMatch[1]\n const alias = primaryMatch[2]\n\n // Match JOIN clauses\n const joinRegex =\n /(LEFT\\s+OUTER\\s+JOIN|LEFT\\s+JOIN|INNER\\s+JOIN|JOIN)\\s+([A-Za-z0-9_]+)(?:\\s+(?:AS\\s+)?([A-Za-z_][A-Za-z0-9_]*))?\\s+ON\\s+([^,]+?)(?=(?:LEFT|INNER|JOIN|$))/gi\n let joinMatch\n\n while ((joinMatch = joinRegex.exec(fromClause)) !== null) {\n joins.push({\n type: joinMatch[1].toUpperCase().replace(/\\s+/g, ' '),\n object: joinMatch[2],\n alias: joinMatch[3],\n on: joinMatch[4]?.trim(),\n })\n }\n\n return { primary, alias, joins }\n}\n\n/**\n * Removes subqueries (parenthesized SELECT statements) from a query string.\n * Returns the query with subqueries replaced by a placeholder.\n * This is needed because SmartStore doesn't support SOQL-style subqueries.\n */\nfunction removeSubqueries(query: string): { cleanQuery: string; subqueries: string[] } {\n const subqueries: string[] = []\n let cleanQuery = ''\n let depth = 0\n let currentSubquery = ''\n let inSubquery = false\n\n for (let i = 0; i < query.length; i++) {\n const char = query[i]\n\n if (char === '(') {\n depth++\n if (depth === 1) {\n // Check if this starts a subquery (SELECT keyword inside parentheses).\n // Require SELECT followed by whitespace so we don't strip WHERE conditions\n // that use field names like Selected__c or Selection_Type__c.\n const remaining = query.substring(i + 1).trimStart()\n if (/^SELECT\\s/i.test(remaining)) {\n inSubquery = true\n currentSubquery = char\n continue\n }\n }\n if (inSubquery) {\n currentSubquery += char\n } else {\n cleanQuery += char\n }\n } else if (char === ')') {\n if (inSubquery) {\n currentSubquery += char\n depth--\n if (depth === 0) {\n // End of subquery\n subqueries.push(currentSubquery)\n currentSubquery = ''\n inSubquery = false\n }\n } else {\n depth--\n cleanQuery += char\n }\n } else {\n if (inSubquery) {\n currentSubquery += char\n } else {\n cleanQuery += char\n }\n }\n }\n\n return { cleanQuery, subqueries }\n}\n\n/**\n * Finds the main FROM clause in a query, ignoring any FROM clauses inside subqueries.\n * Returns the object name and the query with subqueries removed, so callers can reuse\n * the cleaned query and avoid parsing twice.\n */\nexport function findMainFromClause(query: string): { primaryObject: string | null; cleanQuery: string } {\n const { cleanQuery } = removeSubqueries(query)\n\n const fromMatch = cleanQuery.match(\n /FROM\\s+([A-Za-z0-9_]+)(?:\\s+(?:AS\\s+)?[A-Za-z_][A-Za-z0-9_]*)?(?=\\s+WHERE\\s+|\\s+ORDER\\s+BY\\s+|\\s+GROUP\\s+BY\\s+|\\s+HAVING\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n )\n\n const primaryObject = fromMatch ? fromMatch[1] : null\n return { primaryObject, cleanQuery }\n}\n\n/**\n * Comprehensive SOQL to SmartStore Smart Query converter\n *\n * Converts standard SOQL queries to SmartStore Smart SQL format for offline use on iOS.\n * Handles SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING, LIMIT, OFFSET,\n * aggregate functions, and relationship fields.\n *\n * SmartStore stores denormalized data, so relationship fields are accessed directly\n * within the soup using the full relationship path (e.g., Child_Account_vod__r.Name).\n *\n * NOTE: SOQL subqueries (e.g., SELECT ... (SELECT ... FROM EventRelations) FROM Event)\n * are NOT supported by SmartStore. The subqueries will be removed and the data\n * should be fetched separately if needed.\n *\n * @param soqlQuery - The SOQL query string to convert\n * @returns The converted SmartStore Smart SQL query string\n *\n * @example\n * // Simple query\n * convertSoqlToSmartQuery('SELECT Id, Name FROM Account WHERE Active = true')\n * // Returns: SELECT {Account:Id}, {Account:Name} FROM {Account} WHERE {Account:Active} = true\n *\n * @example\n * // With relationship fields (denormalized access - no joins needed)\n * convertSoqlToSmartQuery('SELECT Id, Child_Account_vod__r.Name FROM Child_Account_vod__c')\n * // Returns: SELECT {Child_Account_vod__c:Id}, {Child_Account_vod__c:Child_Account_vod__r.Name} FROM {Child_Account_vod__c}\n *\n * @example\n * // With aggregate functions\n * convertSoqlToSmartQuery('SELECT COUNT(Id), Industry FROM Account GROUP BY Industry')\n * // Returns: SELECT COUNT({Account:Id}), {Account:Industry} FROM {Account} GROUP BY {Account:Industry}\n *\n * @example\n * // With ORDER BY and LIMIT\n * convertSoqlToSmartQuery('SELECT Id, Name FROM Contact ORDER BY LastName ASC, FirstName DESC LIMIT 100')\n * // Returns: SELECT {Contact:Id}, {Contact:Name} FROM {Contact} ORDER BY {Contact:LastName} ASC, {Contact:FirstName} DESC LIMIT 100\n */\nexport function convertSoqlToSmartQuery(soqlQuery: string): string {\n if (!soqlQuery || typeof soqlQuery !== 'string') {\n return ''\n }\n\n // Normalize whitespace\n let normalizedQuery = soqlQuery.replace(/\\s+/g, ' ').trim()\n\n // Find the main FROM clause and get query with subqueries removed (single parse)\n const { primaryObject, cleanQuery } = findMainFromClause(normalizedQuery)\n\n if (!primaryObject) {\n return soqlQuery\n }\n\n normalizedQuery = cleanQuery\n\n // Replace SOQL-specific FIELDS() syntax with __FIELDS_ALL_PLACEHOLDER__\n // We'll replace this with {ObjectName:_soup} after we know the object name\n // FIELDS(ALL), FIELDS(STANDARD), FIELDS(CUSTOM) are SOQL-specific and not supported by SmartStore,\n // uses {ObjectName:_soup} to select all fields from a soup\n normalizedQuery = normalizedQuery.replace(\n /\\bFIELDS\\s*\\(\\s*(ALL|STANDARD|CUSTOM)\\s*\\)/gi,\n '__FIELDS_ALL_PLACEHOLDER__',\n )\n\n // Extract SELECT clause (from the clean query without subqueries)\n const selectMatch = normalizedQuery.match(/SELECT\\s+([\\s\\S]+?)\\s+FROM\\s+/i)\n if (!selectMatch) {\n return soqlQuery\n }\n\n // Extract FROM clause to get any alias\n const fromMatch = normalizedQuery.match(\n /FROM\\s+([\\s\\S]+?)(?=\\s+WHERE\\s+|\\s+ORDER\\s+BY\\s+|\\s+GROUP\\s+BY\\s+|\\s+HAVING\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n )\n\n // Parse FROM clause to get alias if present\n const fromParsed = fromMatch ? parseFromClause(fromMatch[1].trim()) : { primary: primaryObject, joins: [] }\n\n // Extract other clauses\n const whereMatch = normalizedQuery.match(\n /WHERE\\s+([\\s\\S]+?)(?=\\s+ORDER\\s+BY\\s+|\\s+GROUP\\s+BY\\s+|\\s+HAVING\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n )\n const groupByMatch = normalizedQuery.match(\n /GROUP\\s+BY\\s+([\\s\\S]+?)(?=\\s+HAVING\\s+|\\s+ORDER\\s+BY\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n )\n const havingMatch = normalizedQuery.match(/HAVING\\s+([\\s\\S]+?)(?=\\s+ORDER\\s+BY\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i)\n const orderByMatch = normalizedQuery.match(/ORDER\\s+BY\\s+([\\s\\S]+?)(?=\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i)\n const limitMatch = normalizedQuery.match(/LIMIT\\s+(\\d+)/i)\n const offsetMatch = normalizedQuery.match(/OFFSET\\s+(\\d+)/i)\n\n // Build alias map for the primary object\n // SmartStore stores denormalized data, so relationship fields are accessed\n // directly within the soup without needing joins\n const objectAliases = new Map<string, string>()\n if (fromParsed.alias) {\n objectAliases.set(fromParsed.alias.toLowerCase(), primaryObject)\n }\n objectAliases.set(primaryObject.toLowerCase(), primaryObject)\n\n // Build the Smart Query\n const parts: string[] = []\n\n // SELECT clause\n const selectFields = parseSelectFields(selectMatch[1].trim())\n const smartSelectFields = convertSelectFields(selectFields, primaryObject, objectAliases)\n parts.push(`SELECT ${smartSelectFields.join(', ')}`)\n\n // FROM clause - just the primary object (SmartStore stores denormalized data)\n parts.push(`FROM {${primaryObject}}`)\n\n // WHERE clause\n const whereConditions: string[] = []\n\n // Add original WHERE conditions\n if (whereMatch) {\n const smartWhere = convertWhereClause(whereMatch[1].trim(), primaryObject, objectAliases)\n whereConditions.push(smartWhere)\n }\n\n // Combine all WHERE conditions\n if (whereConditions.length > 0) {\n parts.push(`WHERE ${whereConditions.join(' AND ')}`)\n }\n\n // GROUP BY clause\n if (groupByMatch) {\n const groupByFields = parseGroupByClause(groupByMatch[1].trim())\n const smartGroupBy = convertGroupByFields(groupByFields, primaryObject, objectAliases)\n parts.push(`GROUP BY ${smartGroupBy.join(', ')}`)\n }\n\n // HAVING clause\n if (havingMatch) {\n const smartHaving = convertWhereClause(havingMatch[1].trim(), primaryObject, objectAliases)\n parts.push(`HAVING ${smartHaving}`)\n }\n\n // ORDER BY clause\n if (orderByMatch) {\n const orderByParts = parseOrderByClause(orderByMatch[1].trim())\n const smartOrderBy = convertOrderByFields(orderByParts, primaryObject, objectAliases)\n parts.push(`ORDER BY ${smartOrderBy.join(', ')}`)\n }\n\n // LIMIT clause\n if (limitMatch) {\n parts.push(`LIMIT ${limitMatch[1]}`)\n }\n\n // OFFSET clause\n if (offsetMatch) {\n parts.push(`OFFSET ${offsetMatch[1]}`)\n }\n\n return parts.join(' ')\n}\n","import { highLevelApi } from '@sdk/main'\nimport type {\n QueryPayload,\n CRMQueryPayload,\n UpsertCRMObjectsPayload,\n CRMSmartObjectValidationRulesPayload,\n CRMSmartObjectMetadataPayload,\n CRMSmartObjectLayoutPayload,\n CRMSmartDeleteObjectsPayload,\n CRMCreatePayload,\n CRMUpsertPayload,\n CRMDescribePayload,\n CRMLayoutPayload,\n} from '@sdk/payload.types'\nimport { convertSoqlToSmartQuery, findMainFromClause } from '@lib/util/smart-store.util'\n\nexport function query(payload: QueryPayload) {\n return highLevelApi.API.request('query', payload)\n}\n\nexport function crmQuery(payload: CRMQueryPayload): Promise<any> {\n return highLevelApi.API.request('crm_query', payload)\n}\n\n/**\n * Extracts field names from the main SOQL query's SELECT clause (ignores subqueries).\n * Handles simple fields, relationship fields (Account.Name), and aliases.\n */\nfunction extractFieldsFromSoql(soqlQuery: string): string[] {\n const { cleanQuery } = findMainFromClause(soqlQuery.replace(/\\s+/g, ' ').trim())\n const selectMatch = cleanQuery.match(/SELECT\\s+([\\s\\S]+?)\\s+FROM\\s+/i)\n if (!selectMatch) return []\n\n const selectClause = selectMatch[1]\n const fields: string[] = []\n let depth = 0\n let currentField = ''\n\n for (let i = 0; i < selectClause.length; i++) {\n const char = selectClause[i]\n\n if (char === '(') {\n depth++\n currentField += char\n } else if (char === ')') {\n depth--\n currentField += char\n } else if (char === ',' && depth === 0) {\n if (currentField.trim()) {\n fields.push(currentField.trim())\n }\n currentField = ''\n } else {\n currentField += char\n }\n }\n\n if (currentField.trim()) {\n fields.push(currentField.trim())\n }\n\n // Extract just the field name (handle aliases like \"Name AS n\" or relationship fields like \"Account.Name\")\n return fields.map((field) => {\n // Remove alias (AS keyword or space followed by identifier)\n const aliasMatch = field.match(/^(.+?)\\s+(?:AS\\s+)?([A-Za-z_][A-Za-z0-9_]*)$/i)\n const fieldExpr = aliasMatch ? aliasMatch[1].trim() : field.trim()\n\n // For relationship fields like \"Account.Name\", keep the last part as the field name,\n // but we'll use the full expression for matching\n return fieldExpr\n })\n}\n\n/**\n * Extracts the primary object name from the main SOQL query's FROM clause (ignores subqueries).\n */\nfunction extractObjectFromSoql(soqlQuery: string): string {\n const { primaryObject } = findMainFromClause(soqlQuery.replace(/\\s+/g, ' ').trim())\n return primaryObject ?? ''\n}\n\n/**\n * Sets a nested property on an object using a dot-separated path.\n * For example, setNestedProperty(obj, 'Child_Account_vod__r.Name', 'John')\n * results in { Child_Account_vod__r: { Name: 'John' } }\n */\nfunction setNestedProperty(obj: Record<string, any>, path: string, value: any): void {\n const parts = path.split('.')\n\n if (parts.length === 1) {\n // Simple field - set directly\n obj[path] = value\n return\n }\n\n // Relationship field - create nested structure\n let current = obj\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i]\n if (!current[part] || typeof current[part] !== 'object') {\n current[part] = {}\n }\n current = current[part]\n }\n current[parts[parts.length - 1]] = value\n}\n\n/**\n * Checks if a field is a special \"all fields\" selector.\n * These include FIELDS(ALL), FIELDS(STANDARD), FIELDS(CUSTOM), and wildcard *.\n */\nfunction isAllFieldsSelector(field: string): boolean {\n const trimmed = field.trim()\n return trimmed === '*' || /^FIELDS\\s*\\(\\s*(ALL|STANDARD|CUSTOM)\\s*\\)$/i.test(trimmed)\n}\n\n/**\n * Transforms SmartStore query results (array of arrays) into CRM query format (array of objects).\n * Handles relationship fields by creating nested objects matching Salesforce REST API format.\n *\n * For example, field \"Child_Account_vod__r.Name\" with value \"John\" becomes:\n * { Child_Account_vod__r: { Name: \"John\" } }\n *\n * Special handling for FIELDS(ALL), FIELDS(STANDARD), FIELDS(CUSTOM), and * selectors:\n * When these are used, SmartStore returns the entire soup object, which is spread into the record\n * instead of being assigned to a single field key.\n *\n * @param smartStoreResults - Array of arrays from SmartStore query\n * @param fields - Field names from the original SOQL query\n * @param objectName - Primary object name from the SOQL query\n * @returns Array of objects matching CRM query result format\n */\nfunction transformSmartStoreResults(smartStoreResults: any[][], fields: string[], objectName: string): any[] {\n if (!smartStoreResults || !Array.isArray(smartStoreResults)) {\n return []\n }\n\n return smartStoreResults.map((row) => {\n const record: Record<string, any> = {}\n\n // Map each value to its field name, creating nested objects for relationship fields\n fields.forEach((field, index) => {\n if (index < row.length) {\n const value = row[index]\n\n // Special handling for \"all fields\" selectors (FIELDS(ALL), FIELDS(STANDARD), FIELDS(CUSTOM), *)\n // SmartStore returns the entire soup entry as a single object for {ObjectName:_soup}\n // Spread its properties into the record instead of assigning to a single field key\n if (isAllFieldsSelector(field)) {\n if (value && typeof value === 'object' && !Array.isArray(value)) {\n // Spread all properties from the soup object into the record\n Object.assign(record, value)\n }\n } else {\n // Regular field - set normally\n setNestedProperty(record, field, value)\n }\n }\n })\n\n // Add attributes object (similar to Salesforce REST API format)\n // Get Id from the record if it exists for the URL\n const recordId = record['Id'] || record['id'] || ''\n record['attributes'] = {\n type: objectName,\n url: recordId ? `/services/data/v57.0/sobjects/${objectName}/${recordId}` : '',\n }\n\n return record\n })\n}\n\n/**\n * Executes a CRM query with automatic iOS/SmartStore adaptation.\n *\n * On iOS devices with the 'sfdc_offline_enabled' LaunchDarkly flag enabled,\n * this function automatically converts SOQL queries to SmartStore Smart SQL format\n * and uses the local SmartStore for offline data access.\n * On other platforms or when the flag is disabled, it uses the standard CRM query API.\n *\n * @param {CRMQueryPayload} payload - The query payload containing the SOQL query string.\n * @returns {Promise<any>} - Promise resolving with query results.\n *\n * @example\n * // Works on all platforms - automatically adapts for iOS with sfdc_offline_enabled LD flag\n * const result = await crmQueryAdaptive({ query: 'SELECT Id, Name FROM Account WHERE Active = true' })\n */\nexport async function crmQueryAdaptive(payload: CRMQueryPayload): Promise<any> {\n const query = payload.query\n\n if (!query || typeof query !== 'string') {\n return Promise.reject(new Error('Query is required and must be a string'))\n }\n\n // Check if SmartStore should be used (iOS + sfdc_offline_enabled LD flag)\n let useSmartStore = false\n try {\n const env: any = await highLevelApi.API.request('get_env')\n const isIos = env?.mode === 'IOS'\n const isSfdcSyncEnabled = env?.launch_darkly?.sfdc_offline_enabled === true\n useSmartStore = isIos && isSfdcSyncEnabled\n } catch {\n useSmartStore = false\n }\n\n console.log(`[crmQueryAdaptive] Called query: `, query)\n if (useSmartStore) {\n // Extract field names and object name from the original SOQL query\n const fields = extractFieldsFromSoql(query)\n const objectName = extractObjectFromSoql(query)\n\n // Convert SOQL to SmartStore Smart SQL\n let smartQuery = convertSoqlToSmartQuery(query)\n\n // Add SmartStore filter to exclude locally deleted records (unless already in query).\n // SmartStore stores boolean flags as 0/1, 'false'/'true', or NULL.\n if (!smartQuery.includes('__locally_deleted__')) {\n const fromMatch = smartQuery.match(/FROM\\s+\\{([A-Za-z0-9_]+)\\}/)\n const primaryObject = fromMatch?.[1]\n if (primaryObject) {\n const filter = `({${primaryObject}:__locally_deleted__} = 0 OR {${primaryObject}:__locally_deleted__} = 'false' OR {${primaryObject}:__locally_deleted__} IS NULL)`\n if (smartQuery.includes(' WHERE ')) {\n // Wrap existing conditions in parentheses so AND binds to the whole clause.\n // Otherwise \"A OR B\" + \" AND filter\" becomes A OR (B AND filter) by precedence.\n smartQuery = smartQuery.replace(\n /\\s+WHERE\\s+([\\s\\S]+?)(?=\\s+ORDER\\s+BY\\s+|\\s+GROUP\\s+BY\\s+|\\s+HAVING\\s+|\\s+LIMIT\\s+|\\s+OFFSET\\s+|\\s*$)/i,\n (_, conditions) => ` WHERE (${conditions}) AND ${filter}`,\n )\n } else {\n // Insert WHERE after FROM {Object}, before ORDER BY / LIMIT / etc. (appending would produce invalid SQL)\n smartQuery = smartQuery.replace(\n /(FROM\\s+\\{[A-Za-z0-9_]+\\})((\\s+(?:ORDER\\s+BY|GROUP\\s+BY|HAVING|LIMIT|OFFSET)[\\s\\S]*)?)$/i,\n (_, fromClause, rest) => `${fromClause} WHERE ${filter}${rest}`,\n )\n }\n }\n }\n\n console.log(`[crmSmartQuery] Called query: `, smartQuery)\n\n // Execute SmartStore query\n const smartStoreResults = await crmSmartQuery({ query: smartQuery })\n\n // Transform results to match CRM query format\n const records = transformSmartStoreResults(smartStoreResults, fields, objectName)\n console.log(`[SmartStore] Results: `, records)\n\n return {\n records,\n totalSize: records.length,\n }\n }\n\n // Non-iOS or setting disabled: use standard CRM query\n return crmQuery(payload)\n}\n\n/**\n * Executes a SmartStore query against local CRM data (iOS only).\n * Uses Salesforce Mobile SDK SmartStore query syntax.\n * Validates that the query uses SmartStore syntax before execution.\n *\n * @param {CRMQueryPayload} payload - The query payload containing the SmartStore query string.\n * @returns {Promise<Array<any>>} - Promise resolving with an array of query results from SmartStore.\n * @throws {Error} - Throws an error if the query is not a valid SmartStore query.\n *\n * @example\n * // iOS only method to execute a SmartStore query.\n * api.crmSmartQuery({ query: 'SELECT {Account:Id}, {Account:Name} FROM {Account} ORDER BY {Account:Name} LIMIT 10' })\n */\nexport function crmSmartQuery(payload: CRMQueryPayload): Promise<Array<any>> {\n const query = payload.query\n\n // Validate SmartStore query syntax: must contain {soupName:fieldPath} pattern\n if (!query || typeof query !== 'string') {\n return Promise.reject(new Error('Query is required and must be a string'))\n }\n\n const smartStorePattern = /\\{[^}]+:[^}]+}/\n if (!smartStorePattern.test(query.trim())) {\n return Promise.reject(\n new Error(\n 'Invalid SmartStore query syntax. SmartStore queries must use curly braces syntax: {SoupName:FieldName}',\n ),\n )\n }\n\n return highLevelApi.API.request('crm_smart_query', payload)\n}\n\n/**\n * Retrieves metadata for a CRM smart object (iOS only).\n * Fetches object metadata from the Salesforce Mobile SDK cache.\n *\n * @param {CRMSmartObjectMetadataPayload} payload - The payload containing the object name.\n * @returns {Promise<any>} - Promise resolving with the object metadata.\n * @throws {Error} - Throws an error if the object name is not provided.\n *\n * @example\n * // iOS only method to retrieve CRM object metadata.\n * api.crmSmartObjectMetadata({ object: 'Account' })\n */\nexport function crmSmartObjectMetadata(payload: CRMSmartObjectMetadataPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n const objectName = payload.object\n\n if (!objectName || typeof objectName !== 'string' || objectName.trim() === '') {\n return Promise.reject(new Error('Object name is required and must be a non-empty string'))\n }\n\n if (\n payload.record_type_id !== undefined &&\n (typeof payload.record_type_id !== 'string' || payload.record_type_id.trim() === '')\n ) {\n return Promise.reject(new Error('record_type_id must be a non-empty string if provided'))\n }\n\n return highLevelApi.API.request('crm_smart_object_metadata', payload)\n}\n\n/**\n * Upserts CRM objects into local CRM data (iOS only).\n * Uses Salesforce Mobile SDK SmartStore to insert or update records.\n * Each object in the payload specifies a table name, the objects to upsert, and an optional external ID path.\n *\n * **Important**: Always provide `external_id_path` when performing updates to ensure records are\n * matched correctly. Without it, the operation may create duplicate records instead of updating existing ones.\n *\n * **Note**: When creating new records, you must provide an explicit identifier field (e.g., `Id`)\n * in each record object passed from the frontend. The backend does not auto-generate IDs.\n *\n * @param {UpsertCRMObjectsPayload} payload - The upsert payload containing an array of UpsertCRMObject items.\n * @returns {Promise<any>} - Promise resolving with the result of the upsert operation.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // iOS only method to upsert CRM objects.\n *\n * // Updating existing records - always include external_id_path\n * api.crmSmartUpsertObjects({\n * objects: [\n * {\n * table_name: 'Account',\n * objects: [{ Id: '001xx000003DGbQAAW', Name: 'Acme Corp Updated' }],\n * external_id_path: 'Id' // Required for updates to match existing records\n * }\n * ]\n * })\n *\n * // Creating new records - explicit ID required in each record\n * api.crmSmartUpsertObjects({\n * objects: [\n * {\n * table_name: 'Account',\n * objects: [\n * { Id: '001xx000003NEW001', Name: 'New Company' }, // Explicit ID required\n * { Id: '001xx000003NEW002', Name: 'Another Company' }\n * ]\n * }\n * ]\n * })\n */\nexport function crmSmartUpsertObjects(payload: UpsertCRMObjectsPayload): Promise<any> {\n if (!payload || !payload.objects || !Array.isArray(payload.objects)) {\n return Promise.reject(new Error('Payload must contain an array of objects'))\n }\n\n if (payload.objects.length === 0) {\n return Promise.reject(new Error('Objects array cannot be empty'))\n }\n\n for (const obj of payload.objects) {\n if (!obj) {\n return Promise.reject(new Error('Objects array cannot contain null or undefined elements'))\n }\n\n if (!obj.table_name || typeof obj.table_name !== 'string' || obj.table_name.trim() === '') {\n return Promise.reject(new Error('Each object must have a valid non-empty table_name'))\n }\n\n // Validate external_id_path if provided\n if (obj.external_id_path !== undefined) {\n if (typeof obj.external_id_path !== 'string' || obj.external_id_path.trim() === '') {\n return Promise.reject(\n new Error(\n `Object for table ${obj.table_name} has invalid external_id_path. It must be a non-empty string or undefined.`,\n ),\n )\n }\n }\n\n if (!obj.objects || !Array.isArray(obj.objects) || obj.objects.length === 0) {\n return Promise.reject(new Error(`Object for table ${obj.table_name} must have a non-empty objects array`))\n }\n\n // Validate that inner objects array doesn't contain null/undefined elements or arrays\n for (let i = 0; i < obj.objects.length; i++) {\n const record = obj.objects[i]\n if (!record || typeof record !== 'object' || Array.isArray(record)) {\n return Promise.reject(\n new Error(\n `Object for table ${obj.table_name} contains invalid element at index ${i}. All records must be valid objects, not null, undefined, or arrays.`,\n ),\n )\n }\n }\n }\n\n console.log('[crmSmartUpsertObjects] Request payload:', JSON.stringify(payload, null, 2))\n\n return highLevelApi.API.request('crm_smart_upsert_objects', payload)\n .then((result) => {\n console.log('[crmSmartUpsertObjects] Success:', result)\n return result\n })\n .catch((error) => {\n console.error('[crmSmartUpsertObjects] Error:', error)\n throw error\n })\n}\n/**\n * Retrieves validation rules for a CRM smart object (iOS only).\n * This method fetches the validation rules configured for a specific CRM object type\n * from the local SmartStore cache.\n *\n * @param {CRMSmartObjectValidationRulesPayload} payload - The payload containing the object name.\n * @returns {Promise<any>} - Promise resolving with the validation rules for the specified object.\n *\n * @example\n * // iOS only method to get validation rules for an Account object.\n * api.crmSmartObjectValidationRules({ object: 'Account' })\n *\n * @example\n * // Get validation rules for a Contact object.\n * api.crmSmartObjectValidationRules({ object: 'Contact' })\n */\nexport function crmSmartObjectValidationRules(payload: CRMSmartObjectValidationRulesPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n const objectName = payload.object\n\n if (!objectName || typeof objectName !== 'string' || objectName.trim() === '') {\n return Promise.reject(new Error('Object name is required and must be a non-empty string'))\n }\n\n return highLevelApi.API.request('crm_smart_object_validation_rules', payload)\n}\n\n/**\n * Retrieves layout information for a CRM smart object (iOS only).\n * Fetches object layout metadata from the Salesforce Mobile SDK cache.\n *\n * @param {CRMSmartObjectLayoutPayload} payload - The payload containing the object name and optional layout parameters.\n * @returns {Promise<any>} - Promise resolving with the object layout metadata.\n * @throws {Error} - Throws an error if the object name is not provided.\n *\n * @example\n * // iOS only method to retrieve CRM object layout.\n * api.crmSmartObjectLayout({ object: 'Account' })\n *\n * @example\n * // Get layout with specific form factor and mode.\n * api.crmSmartObjectLayout({ object: 'Account', form_factor: 'Large', mode: 'Edit' })\n */\nexport function crmSmartObjectLayout(payload: CRMSmartObjectLayoutPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n const objectName = payload.object\n\n if (!objectName || typeof objectName !== 'string' || objectName.trim() === '') {\n return Promise.reject(new Error('Object name is required and must be a non-empty string'))\n }\n\n return highLevelApi.API.request('crm_smart_object_layout', payload)\n}\n\n/**\n * Deletes CRM objects from local CRM data (iOS only).\n * Uses Salesforce Mobile SDK SmartStore to delete records.\n * Each object in the payload specifies a table name and an array of IDs to delete.\n *\n * @param {CRMSmartDeleteObjectsPayload} payload - The delete payload containing an array of CRMDeleteObject items.\n * @returns {Promise<any>} - Promise resolving with the result of the delete operation.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // iOS only method to delete CRM objects.\n * api.crmSmartDeleteObjects({\n * objects: [\n * {\n * table_name: 'Account',\n * ids: ['001xx000003DGbQAAW', '001xx000003DGbRABW']\n * },\n * {\n * table_name: 'Contact',\n * ids: ['003xx000004TmiQAAS']\n * }\n * ]\n * })\n */\nexport function crmSmartDeleteObjects(payload: CRMSmartDeleteObjectsPayload): Promise<any> {\n if (!payload || !payload.objects || !Array.isArray(payload.objects)) {\n return Promise.reject(new Error('Payload must contain an array of objects'))\n }\n\n if (payload.objects.length === 0) {\n return Promise.reject(new Error('Objects array cannot be empty'))\n }\n\n for (const obj of payload.objects) {\n if (!obj) {\n return Promise.reject(new Error('Objects array cannot contain null or undefined elements'))\n }\n\n if (!obj.table_name || typeof obj.table_name !== 'string' || obj.table_name.trim() === '') {\n return Promise.reject(new Error('Each object must have a valid non-empty table_name'))\n }\n\n if (!obj.ids || !Array.isArray(obj.ids) || obj.ids.length === 0) {\n return Promise.reject(new Error(`Object for table ${obj.table_name} must have a non-empty ids array`))\n }\n\n // Validate that ids array contains only non-empty strings\n for (let i = 0; i < obj.ids.length; i++) {\n const id = obj.ids[i]\n if (!id || typeof id !== 'string' || id.trim() === '') {\n return Promise.reject(\n new Error(\n `Object for table ${obj.table_name} contains invalid id at index ${i}. All IDs must be non-empty strings.`,\n ),\n )\n }\n }\n }\n\n console.log('[crmSmartDeleteObjects] Request payload:', JSON.stringify(payload, null, 2))\n\n return highLevelApi.API.request('crm_smart_delete_objects', payload)\n .then((result) => {\n console.log('[crmSmartDeleteObjects] Success:', result)\n return result\n })\n .catch((error) => {\n console.error('[crmSmartDeleteObjects] Error:', error)\n throw error\n })\n}\n\n/**\n * Creates new records in CRM (Web only).\n * Uses Salesforce REST API to create records.\n *\n * @param {CRMCreatePayload} payload - The create payload containing sobject type and records.\n * @returns {Promise<any>} - Promise resolving with the result of the create operation.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // Web only method to create CRM records.\n * api.crmCreate({\n * sobject: 'Order__c',\n * records: [\n * { Account__c: '001xx000003DGbQAAW', Order_Date__c: '2024-01-15' },\n * { Account__c: '001xx000003DGbRABW', Order_Date__c: '2024-01-16' }\n * ]\n * })\n */\nexport function crmCreate(payload: CRMCreatePayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n if (!payload.sobject || typeof payload.sobject !== 'string' || payload.sobject.trim() === '') {\n return Promise.reject(new Error('sobject is required and must be a non-empty string'))\n }\n\n if (!payload.records || !Array.isArray(payload.records) || payload.records.length === 0) {\n return Promise.reject(new Error('records is required and must be a non-empty array'))\n }\n\n for (let i = 0; i < payload.records.length; i++) {\n const record = payload.records[i]\n if (!record || typeof record !== 'object' || Array.isArray(record)) {\n return Promise.reject(\n new Error(`records contains invalid element at index ${i}. All records must be valid objects.`),\n )\n }\n }\n\n return highLevelApi.API.request('crm_create', payload)\n}\n\n/**\n * Upserts records in CRM (Web only).\n * Uses Salesforce REST API to insert or update records based on external ID.\n * If a record with matching external ID exists, it will be updated; otherwise, a new record is created.\n *\n * @param {CRMUpsertPayload} payload - The upsert payload containing sobject type, records, and external ID field.\n * @returns {Promise<any>} - Promise resolving with the result of the upsert operation.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // Web only method to upsert CRM records.\n * api.crmUpsert({\n * sobject: 'Order__c',\n * records: [\n * { External_Id__c: 'ORD-001', Account__c: '001xx000003DGbQAAW', Status__c: 'Submitted' },\n * { External_Id__c: 'ORD-002', Account__c: '001xx000003DGbRABW', Status__c: 'Draft' }\n * ],\n * external_id_field: 'External_Id__c'\n * })\n */\nexport function crmUpsert(payload: CRMUpsertPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n if (!payload.sobject || typeof payload.sobject !== 'string' || payload.sobject.trim() === '') {\n return Promise.reject(new Error('sobject is required and must be a non-empty string'))\n }\n\n if (!payload.records || !Array.isArray(payload.records) || payload.records.length === 0) {\n return Promise.reject(new Error('records is required and must be a non-empty array'))\n }\n\n if (\n !payload.external_id_field ||\n typeof payload.external_id_field !== 'string' ||\n payload.external_id_field.trim() === ''\n ) {\n return Promise.reject(new Error('external_id_field is required and must be a non-empty string'))\n }\n\n for (let i = 0; i < payload.records.length; i++) {\n const record = payload.records[i]\n if (!record || typeof record !== 'object' || Array.isArray(record)) {\n return Promise.reject(\n new Error(`records contains invalid element at index ${i}. All records must be valid objects.`),\n )\n }\n }\n\n return highLevelApi.API.request('crm_upsert', payload)\n}\n\n/**\n * Retrieves metadata/describe for a CRM object (Web only).\n * Uses Salesforce REST API to fetch object metadata including fields and picklist values.\n *\n * @param {CRMDescribePayload} payload - The describe payload containing the sobject name.\n * @returns {Promise<any>} - Promise resolving with the object metadata including fields and picklist values.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // Web only method to get CRM object metadata.\n * api.crmDescribe({ sobject: 'Account' })\n * .then(metadata => {\n * // Access fields\n * console.log(metadata.fields)\n * // Access picklist values for a specific field\n * const industryField = metadata.fields.find(f => f.name === 'Industry')\n * console.log(industryField.picklistValues)\n * })\n */\nexport function crmDescribe(payload: CRMDescribePayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n if (!payload.sobject || typeof payload.sobject !== 'string' || payload.sobject.trim() === '') {\n return Promise.reject(new Error('sobject is required and must be a non-empty string'))\n }\n\n return highLevelApi.API.request('crm_describe', payload)\n}\n\n/**\n * Retrieves layout information for a CRM object (Web only).\n * Uses Salesforce REST API to fetch object layout including sections, fields arrangement, and form factors.\n *\n * @param {CRMLayoutPayload} payload - The layout payload containing the sobject name and optional layout parameters.\n * @returns {Promise<any>} - Promise resolving with the object layout information.\n * @throws {Error} - Throws an error if the payload is invalid.\n *\n * @example\n * // Web only method to get CRM object layout.\n * api.crmLayout({ sobject: 'Account' })\n * .then(layout => {\n * // Access layout sections\n * console.log(layout.editLayoutSections)\n * })\n *\n * @example\n * // Get layout with specific form factor, mode, and record type.\n * api.crmLayout({\n * sobject: 'Account',\n * form_factor: 'Large',\n * mode: 'Edit',\n * record_type_id: '012xx0000004ABC'\n * })\n */\nexport function crmLayout(payload: CRMLayoutPayload): Promise<any> {\n if (!payload) {\n return Promise.reject(new Error('Payload is required'))\n }\n\n if (!payload.sobject || typeof payload.sobject !== 'string' || payload.sobject.trim() === '') {\n return Promise.reject(new Error('sobject is required and must be a non-empty string'))\n }\n\n return highLevelApi.API.request('crm_layout', payload)\n}\n","import type {\n File,\n Folder,\n FolderRetrieve,\n FolderCreateRequest,\n FolderUpdateRequest,\n PaginatedFolderList,\n} from '@openapi'\nimport type { FolderListRequest } from '@sdk/payload.types'\n\n/**\n * Retrieves a list of folders.\n * @param payload - The payload containing the search, ordering, filters, fields, name, page, and page_size.\n * @returns A promise that resolves to the list of folders.\n */\nexport function getFolders(payload: FolderListRequest): Promise<PaginatedFolderList> {\n return this.API.request('get_folders', payload)\n}\n\n/**\n * Retrieves a folder by its ID.\n * @param payload - An object containing the folder ID.\n * @param payload.id - The ID of the folder to retrieve. Defaults to 'root'.\n * @returns A promise that resolves to the retrieved folder.\n */\nexport function getFolder(payload: { id: FolderRetrieve['id'] } = { id: 'root' }): Promise<FolderRetrieve> {\n return this.API.request('get_folder', payload)\n}\n\n/**\n * Creates a new folder.\n * @param payload - The folder creation request payload, excluding the instance_id.\n * @returns A promise that resolves to the created folder.\n */\nexport function createFolder(payload: Omit<FolderCreateRequest, 'instance_id'>): Promise<FolderRetrieve> {\n return this.API.request('create_folder', payload)\n}\n\ntype UpdateFolderPayload = FolderUpdateRequest & { id: Folder['id'] }\n\n/**\n * Updates an existing folder.\n * @param payload - The folder update payload, including the folder ID and update data.\n * @returns A promise that resolves to the updated folder.\n */\nexport function updateFolder(payload: UpdateFolderPayload): Promise<FolderRetrieve> {\n return this.API.request('update_folder', payload)\n}\n\n/**\n * Deletes a folder.\n * @param payload - An object containing the ID of the folder to delete.\n * @param payload.folder_id - The ID of the folder to delete.\n * @returns A promise that resolves when the folder is deleted.\n */\nexport function deleteFolder(payload: { folder_id: FolderRetrieve['id'] }): Promise<void> {\n return this.API.request('delete_folder', payload)\n}\n\n/**\n * Moves items (files or folders) to a target folder.\n * @param payload - The payload containing the target folder ID and items to move.\n * @param payload.target_folder_id - The ID of the target folder.\n * @param payload.items - An array of items to move, each with an ID and type.\n * @returns A promise that resolves to the updated target folder.\n */\nexport function moveFolderItems(payload: {\n target_folder_id: Folder['id']\n items: { id: File['id'] | Folder['id']; type: 'folder' | 'file' }[]\n}): Promise<FolderRetrieve> {\n return this.API.request('move_folder_items', payload)\n}\n","import type { CoreFolderContentsRetrieve, CoreFolderEntityType, CoreFolderRetrieve } from '@lib/types/folder'\n\nexport function getCoreFolders(payload: {\n instance_id: string\n entity: CoreFolderEntityType\n parent_id?: string | null\n}): Promise<CoreFolderContentsRetrieve> {\n return this.API.request('get_core_folders', payload)\n}\n\nexport function patchCoreFolder(id: string, payload: Partial<CoreFolderRetrieve>): Promise<CoreFolderContentsRetrieve> {\n return this.API.request('patch_core_folder', {\n id,\n payload,\n })\n}\n","import { highLevelApi } from '@sdk/main'\nimport type { NotificationPayload } from '@sdk/payload.types'\n\nexport function notify(payload: NotificationPayload): Promise<void> {\n if (!payload.type) {\n payload.type = 'native'\n }\n\n return highLevelApi.API.request('notify', payload)\n}\n","import { highLevelApi } from '@sdk/main'\n\nexport function track(payload: { event_name: string; payload: any }) {\n return highLevelApi.API.request('track', payload)\n}\n","import type { PaginatedMetadataTemplateList } from '@openapi'\nimport type { GetInstanceMetadataTemplatesPayload } from '@sdk/payload.types'\n\nexport function getInstanceMetadataTemplates(\n payload?: GetInstanceMetadataTemplatesPayload,\n): Promise<PaginatedMetadataTemplateList> {\n return this.API.request('get_instance_metadata_templates', payload)\n}\n","/**\n * Dispatches iOS only sync method for non-files.\n *\n * @example\n * // iOS only method to sync non-files from the server.\n * api.triggerNonFilesSync()\n */\nexport function triggerNonFilesSync(): Promise<void> {\n return this.API.request('trigger_non_files_sync')\n}\n","import { highLevelApi } from '@sdk/main'\n\nimport type { SubmitUserFeedbackPayload } from '@sdk/payload.types'\n\n/**\n * Submit user feedback\n */\nexport function submitUserFeedback(payload: SubmitUserFeedbackPayload) {\n return highLevelApi.API.request('submit_user_feedback', payload)\n}\n","import type { OpenWebViewAlwaysOnTop, ShowSyncboxRequestPayload } from '@sdk/payload.types'\nimport { highLevelApi } from '@sdk/main'\n\nexport function close() {\n return highLevelApi.API.request('close') //`this` reference is lost on a new WebView\n}\n\nexport function openWebViewAlwaysOnTop(payload: OpenWebViewAlwaysOnTop): Promise<void> {\n return this.API.request('open_web_view_always_on_top', payload)\n}\n\nexport function showSyncbox(payload: ShowSyncboxRequestPayload): Promise<void> {\n return this.API.request('show_syncbox', payload)\n}\n","import type { SharePayload, ShareResponse, ShowPeerSessionRequestPayload } from '@sdk/payload.types'\n\n/**\n * Dispatch iOS sharing dialog.\n *\n * @example\n * api.share({text: \"example text\", subject: \"example subject\"})\n */\nexport async function share(payload: SharePayload): Promise<ShareResponse> {\n return this.API.request('share', payload)\n}\n\n/**\n * Show peer session dialog with button coordinates, for local peer sharing feature.\n *\n * @example\n * api.showPeerSession({x: 100, y: 200})\n */\nexport async function showPeerSession(payload: ShowPeerSessionRequestPayload): Promise<void> {\n return this.API.request('show_peer_session', payload)\n}\n","import { type CanvasThemeRetrieve } from '@lib/types/canvasTheme'\nimport type { CanvasRetrieve } from '@openapi'\n\nexport function getThemes(payload: Partial<CanvasThemeRetrieve>): Promise<CanvasThemeRetrieve[]> {\n return this.API.request('get_themes', payload)\n}\n\nexport function assignCanvasTheme(payload: {\n canvas_id: CanvasRetrieve['id']\n theme_id: CanvasThemeRetrieve['id']\n}): Promise<{ canvas_id: CanvasRetrieve['id']; theme_id: CanvasThemeRetrieve['id'] }> {\n return this.API.request('assign_canvas_theme', payload)\n}\n","type EventMap = Record<string, any>\n\ntype EventKey<KeyMap extends EventMap> = string & keyof KeyMap\ntype EventReceiver<KeyMap> = (params: KeyMap) => void\n\nexport interface Emitter<KeyMap extends EventMap> {\n on<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void\n off<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void\n emit<Key extends EventKey<KeyMap>>(eventName: Key, params: KeyMap[Key]): void\n}\n\nexport class EventEmitter<KeyMap extends EventMap> implements Emitter<KeyMap> {\n listeners: {\n [Key in keyof EventMap]?: ((p: EventMap[Key]) => void)[]\n } = {}\n on<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void {\n this.listeners[eventName] = (this.listeners[eventName] ?? []).concat(fn)\n }\n off<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void {\n this.listeners[eventName] = (this.listeners[eventName] ?? []).filter((f) => f !== fn)\n }\n emit<Key extends EventKey<KeyMap>>(eventName: Key, data?: KeyMap[Key]): void {\n ;(this.listeners[eventName] ?? []).forEach((fn) => fn(data))\n }\n}\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","const rnds8 = new Uint8Array(16);\nexport default function rng() {\n return crypto.getRandomValues(rnds8);\n}\n","import rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (!buf && !options && crypto.randomUUID) {\n return crypto.randomUUID();\n }\n return _v4(options, buf, offset);\n}\nfunction _v4(options, buf, offset) {\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import type { Emitter } from './utils/eventEmitter'\nimport type { File, User, CanvasRetrieve, CanvasSection } from '@openapi'\nimport type { PitcherOrg } from '@lib/types/organization.types'\nimport type { PitcherInstance } from '@lib/types/instance.types'\nimport type { LaunchDarklyEnv } from '@lib/types/launchDarkly.types'\nimport type { CDP_EVENT_TYPE, CLIENT_TYPE } from '@lib/constants/cdp.const'\nimport type { PeerConnectivityEvent } from '@sdk/peer-connectivity'\n\nexport const PITCHER_EVENT = 'PITCHER_EVENT' as const\nexport enum PitcherMessageType {\n REQUEST = 'PITCHER_REQUEST',\n RESPONSE = 'PITCHER_RESPONSE',\n}\nexport enum PitcherResponseStatus {\n OK = 'ok',\n ERROR = 'error',\n}\n\nexport interface PitcherMessage {\n type: typeof PITCHER_EVENT\n request: {\n id: string\n type: string\n body?: Record<string, any>\n }\n}\n\ntype FetchMode =\n | 'postmessage' // the default mode where each platform is responsible to respond\n | 'prefer-online' // in this mode, the api will try to use the REST API directly if a handler is available in the onlineRestApiHandlers.ts file\n\nexport interface ApiOptions {\n errorLogger?: (p: any) => string | void\n logLevel?: 'off' | 'info' | 'debug'\n casing?: 'camel' | 'snake'\n fetchMode?: FetchMode\n}\n\nexport interface OrgConfigResponse {\n auth0: {\n domain: string\n issuer: string\n audience: string\n auth0_domain: string\n web_client_id: string\n region: 'us' | 'eu' | 'au'\n }\n segment: {\n web_write_key: string\n }\n region: 'us' | 'eu' | 'au'\n auth0_tenant_region: 'us' | 'eu' | 'au'\n datadog_region: 'us' | 'eu'\n segment_region: 'us' | 'eu'\n sentry_region: 'us' | 'eu'\n}\n\nexport interface PitcherEnv {\n mode: 'WEB' | 'IOS' | 'WINDOWS' | 'ANDROID'\n pitcher: {\n token_claims: Record<string, any>\n organization: PitcherOrg\n org_config?: OrgConfigResponse\n instance: PitcherInstance\n user: User\n access_token: string\n id_token: string\n impersonated_by?: string\n }\n launch_darkly?: LaunchDarklyEnv\n permissions?: string[]\n client_type?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]\n crm_shape?: Record<string, any>\n state?: {\n active_file?: {\n id: File['id']\n }\n active_section_id?: CanvasSection['id']\n active_canvas_id?: CanvasRetrieve['id']\n canvas_correlation_id?: string\n }\n device_locale?: string\n sync_badge_value?: number\n}\n\nexport interface PitcherAPI extends Emitter<ApiEventMap> {\n request(type: string, body: any, callback: () => any): Promise<PitcherResponse>\n}\n\nexport interface PitcherInterface extends Emitter<PitcherEventMap> {\n API: PitcherAPI\n}\n\nexport interface PitcherResponse {\n type: PitcherMessageType.RESPONSE\n request: {\n id: string\n type: string\n body?: Record<string, any>\n }\n response: {\n status: PitcherResponseStatus\n body?: Record<string, any>\n }\n}\n\nexport interface OpenCanvasPitcherEvent {\n account_id?: string\n account_name?: string\n canvas_id?: string\n edit_mode?: 'true' | 'false'\n}\n\nexport interface CreateAndOpenCanvasEvent {\n account_id?: string\n}\n\nexport interface StartCallPitcherEvent {\n account?: { id: string; name: string }\n contact_ids?: string[]\n /**\n * CRM meeting/event id. When provided, the host fetches the meeting through\n * its own CRM provider so the meeting bar shows the proper subject/time\n * instead of \"Unscheduled\".\n */\n meeting_id?: string\n canvas_id?: string\n edit_mode?: 'true' | 'false'\n post_action?: string\n post_action_path?: string\n}\n\n/**\n * Preselects an account in the meeting bar without starting a call.\n * Used by the SFDC passthrough Prepare flow.\n */\nexport interface SelectAccountPitcherEvent {\n account?: { id: string; name?: string }\n}\n\nexport interface RouteChangedPitcherEvent {\n route_name: string\n route_path: string\n}\n\nexport enum PitcherEventName {\n ENV_CHANGED = 'env_changed',\n ACCESS_TOKEN_RENEWED = 'access_token_renewed',\n PHOTOS_CAPTURED = 'photos_captured',\n GLOBAL_PHOTO_CAPTURED = 'global_photo_captured',\n FILE_DOWNLOADED = 'file_downloaded',\n FILE_UPLOAD_PROGRESS = 'file_upload_progress',\n UPDATE_LOCATION = 'update_location',\n CANVAS_UPDATED = 'canvas_updated',\n CANVAS_UPDATED_SUCCESS = 'canvas_updated_success',\n FILE_CLOSED = 'file_closed',\n FILE_OPENED = 'file_opened',\n APP_BACKGROUNDED = 'app_backgrounded',\n APP_FOREGROUNDED = 'app_foregrounded',\n NON_FILES_SYNC_FINISHED = 'non_files_sync_finished',\n CONTENT_LIST_REFRESH_REQUESTED = 'content_list_refresh_requested',\n NETWORK_CONNECTION_ESTABLISHED = 'network_connection_established',\n NETWORK_CONNECTION_LOST = 'network_connection_lost',\n ENTERED_FULLSCREEN = 'entered_fullscreen',\n EXITED_FULLSCREEN = 'exited_fullscreen',\n SUBMIT_POSTCALL_CLICKED = 'submit_postcall_clicked',\n ANALYTICS_CAPTURED = 'analytics_captured',\n OPEN_FOLDER_REQUESTED = 'open_folder_requested',\n CANVAS_PAGE_NEXT_REQUESTED = 'canvas_page_next_requested',\n CANVAS_PAGE_PREVIOUS_REQUESTED = 'canvas_page_previous_requested',\n CANVAS_OPEN_REQUESTED = 'canvas_open_requested',\n CANVAS_CLOSE_REQUESTED = 'canvas_close_requested',\n ROUTE_CHANGE_REQUESTED = 'route_change_requested',\n ITEM_SHAREBOX_STATUS_REQUESTED = 'item_sharebox_status_requested',\n ITEM_SHAREBOX_STATUS_UPDATED = 'item_sharebox_status_updated',\n ITEM_SHAREBOX_ADD_REQUESTED = 'item_sharebox_add_requested',\n ITEM_SHAREBOX_ADD_COMPLETED = 'item_sharebox_add_completed',\n SYNC_BADGE_VALUE_REPORTED = 'sync_badge_value_reported',\n SYNC_BOX_RESOLVE_ERROR_TAPPED = 'sync_box_resolve_error_tapped',\n PEER_CONNECTIVITY_EVENT = 'peer_connectivity_event',\n}\n\nexport enum PitcherBroadcastedEventName {\n UI_SHOW_MODAL = 'ui:show-modal',\n UI_HIDE_MODAL = 'ui:hide-modal',\n FILE_DOWNLOAD = 'file:download',\n CANVAS_NEXT_BUTTON_CLICKED = 'canvas_next_button_clicked', // NOTE: This event is separate from `CANVAS_PAGE_NEXT_REQUESTED`\n CANVAS_PREVIOUS_BUTTON_CLICKED = 'canvas_previous_button_clicked', // NOTE: This event is separate from `CANVAS_PAGE_PREVIOUS_REQUESTED`\n CANVAS_OPENED = 'canvas_opened',\n CANVAS_CLOSED = 'canvas_closed',\n ROUTE_CHANGED = 'route_changed',\n}\n\nexport enum PitcherExternalEventName {\n CREATE_AND_OPEN_CANVAS = 'create_and_open_canvas',\n OPEN_CANVAS = 'open_canvas',\n START_CALL = 'start_call',\n SELECT_ACCOUNT = 'select_account',\n}\n\n/**\n * Base interface for update location actions.\n */\ninterface UpdateLocation {\n /**\n * The action to be performed.\n */\n action: string\n}\n\n/**\n * Represents a route in the location.\n */\nexport interface LocationRoute {\n /**\n * The path of the route.\n */\n path: string\n /**\n * The query parameters of the route.\n */\n query: Record<string, any>\n /**\n * Indicates if the route is being restored.\n */\n is_restoring: boolean\n /**\n * Indicates if the route is mounted.\n */\n is_mounted: boolean\n /**\n * Indicates when application is still registered but not used right now.\n */\n is_inactive: boolean\n}\n\n/**\n * A record of location routes.\n */\nexport type LocationRoutes = Record<string, LocationRoute>\n\n/**\n * Interface for the 'register' update location action.\n */\nexport interface UpdateLocationOnRegister extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'register'\n /**\n * The child application identifier.\n */\n child_app: string\n /**\n * The parent application identifier (optional).\n */\n parent_app?: string\n /**\n * The path of the route (optional).\n */\n path?: string\n /**\n * The query parameters of the route (optional).\n */\n query?: Record<string, any>\n}\n\n/**\n * Interface for the 'unregister' update location action.\n */\nexport interface UpdateLocationOnUnregister extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'unregister'\n /**\n * The application identifier.\n */\n app: string\n}\n\n/**\n * Interface for the 'update' update location action.\n */\nexport interface UpdateLocationOnUpdate extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'update'\n /**\n * The routes to be updated.\n */\n routes: Record<string, Omit<LocationRoute, 'is_restoring' | 'is_mounted' | 'is_inactive'>>\n}\n\n/**\n * Interface for the 'mounted' update location action.\n */\nexport interface UpdateLocationOnMounted extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'mounted'\n /**\n * The application identifier.\n */\n app: string\n}\n\n/**\n * Interface for the 'restore' update location action.\n */\nexport interface UpdateLocationOnRestore extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'restore'\n /**\n * The routes to be restored.\n */\n routes: Record<string, Omit<LocationRoute, 'is_mounted'>>\n}\n\n/**\n * Interface for the 'restore_completed' update location action.\n */\nexport interface UpdateLocationOnRestoreCompleted extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'restore_completed'\n /**\n * The application identifier.\n */\n app: string\n /**\n * The path of the route.\n */\n path: string\n /**\n * The query parameters of the route.\n */\n query: Record<string, any>\n}\n\n/**\n * Interface for the 'get_routes_request' update location action.\n */\nexport interface UpdateLocationOnGetRoutesRequest extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'get_routes_request'\n /**\n * The application identifier.\n */\n app: string\n}\n\n/**\n * Interface for the 'get_routes_response' update location action.\n */\nexport interface UpdateLocationOnGetRoutesResponse extends UpdateLocation {\n /**\n * The action type.\n */\n action: 'get_routes_response'\n /**\n * The application identifier.\n */\n app: string\n /**\n * The routes in the response.\n */\n routes: LocationRoutes\n}\n\n/**\n * Union type for all update location pitcher events.\n */\nexport type UpdateLocationPitcherEvent =\n | UpdateLocationOnUnregister\n | UpdateLocationOnRestore\n | UpdateLocationOnUpdate\n | UpdateLocationOnRegister\n | UpdateLocationOnRestoreCompleted\n | UpdateLocationOnMounted\n | UpdateLocationOnGetRoutesRequest\n | UpdateLocationOnGetRoutesResponse\n\nexport interface PitcherEventMap {\n [PitcherEventName.ENV_CHANGED]: PitcherEnv\n /**\n * The shell renewed the Pitcher access token. Apps that cached `env.pitcher.access_token`\n * (instead of reading it lazily via `getEnv()`) should replace their copy with this one.\n *\n * @see web-only for now — Impact iOS does not emit this event yet; keep a pull fallback\n * (`getEnv()` / `refreshAccessToken()`) for cross-platform apps.\n */\n [PitcherEventName.ACCESS_TOKEN_RENEWED]: { access_token: string }\n /**\n * @see iOS-only\n */\n [PitcherEventName.PHOTOS_CAPTURED]: void\n /**\n * @see iOS-only\n */\n [PitcherEventName.GLOBAL_PHOTO_CAPTURED]: { url: string; section_id?: string }\n /**\n * @see iOS-only\n */\n [PitcherEventName.NON_FILES_SYNC_FINISHED]: { user_triggered: boolean }\n /**\n * @see iOS-only\n */\n [PitcherEventName.CONTENT_LIST_REFRESH_REQUESTED]: void\n /**\n * @see iOS-only\n */\n [PitcherEventName.FILE_DOWNLOADED]: File\n /**\n * @see iOS-only\n */\n [PitcherEventName.NETWORK_CONNECTION_ESTABLISHED]: void\n /**\n * @see iOS-only\n */\n [PitcherEventName.NETWORK_CONNECTION_LOST]: void\n /**\n * @see iOS-only\n */\n [PitcherEventName.FILE_UPLOAD_PROGRESS]: { upload_uid: string; progress: number }\n /**\n * @see iOS-only\n */\n [PitcherEventName.ANALYTICS_CAPTURED]: {\n type: (typeof CDP_EVENT_TYPE)[keyof typeof CDP_EVENT_TYPE]\n payload: any\n }\n /**\n * @see WEB-only\n */\n [PitcherEventName.ENTERED_FULLSCREEN]: void\n /**\n * @see WEB-only\n */\n [PitcherEventName.EXITED_FULLSCREEN]: void\n\n [PitcherEventName.CANVAS_UPDATED]: Record<string, any>\n [PitcherEventName.CANVAS_UPDATED_SUCCESS]: Partial<CanvasRetrieve>\n [PitcherEventName.UPDATE_LOCATION]: UpdateLocationPitcherEvent\n [PitcherEventName.FILE_CLOSED]: { file_id?: string; view_id?: string }\n [PitcherEventName.FILE_OPENED]: { file_id?: string; view_id?: string }\n [PitcherEventName.SUBMIT_POSTCALL_CLICKED]: void\n [PitcherEventName.CANVAS_PAGE_NEXT_REQUESTED]: { canvas_id?: string; current_page_index?: number }\n [PitcherEventName.CANVAS_PAGE_PREVIOUS_REQUESTED]: { canvas_id?: string; current_page_index?: number }\n [PitcherEventName.CANVAS_OPEN_REQUESTED]: { canvas_id?: string }\n [PitcherEventName.CANVAS_CLOSE_REQUESTED]: { canvas_id?: string }\n /**\n * @see iOS-only\n */\n [PitcherEventName.ROUTE_CHANGE_REQUESTED]: RouteChangedPitcherEvent\n [PitcherEventName.ITEM_SHAREBOX_STATUS_REQUESTED]: {\n item_id: string\n }\n [PitcherEventName.ITEM_SHAREBOX_STATUS_UPDATED]: {\n item_id: string\n is_in_sharebox: boolean\n }\n [PitcherEventName.ITEM_SHAREBOX_ADD_REQUESTED]: {\n item_id: string\n }\n [PitcherEventName.ITEM_SHAREBOX_ADD_COMPLETED]: {\n item_id: string\n success: boolean\n is_in_sharebox: boolean\n error?: string\n }\n /**\n * @see iOS-only\n */\n [PitcherEventName.SYNC_BADGE_VALUE_REPORTED]: {\n count: number\n }\n /**\n * @see iOS-only\n * Fired when user taps \"Fix\" on a failed SFDC sync error in the Syncbox.\n * The id may be a Salesforce ID, external ID, or locally-generated temp ID.\n */\n [PitcherEventName.SYNC_BOX_RESOLVE_ERROR_TAPPED]: {\n /** Record ID that failed to sync (SF ID, external ID, or temp ID like PIT_...) */\n id: string\n /** SFDC object/soup name (e.g. \"Event\", \"Call2_vod__c\") */\n table_name: string\n /** Salesforce sync error message */\n last_error: string\n }\n [PitcherEventName.PEER_CONNECTIVITY_EVENT]: PeerConnectivityEvent\n // broadcasted requests\n [PitcherBroadcastedEventName.UI_SHOW_MODAL]: void\n [PitcherBroadcastedEventName.UI_HIDE_MODAL]: void\n [PitcherBroadcastedEventName.FILE_DOWNLOAD]: { body: File['id'] }\n [PitcherBroadcastedEventName.CANVAS_NEXT_BUTTON_CLICKED]: { body: { current_page_index: number; canvas_id?: string } }\n [PitcherBroadcastedEventName.CANVAS_PREVIOUS_BUTTON_CLICKED]: {\n body: { current_page_index: number; canvas_id?: string }\n }\n [PitcherBroadcastedEventName.CANVAS_OPENED]: {\n body: { canvas_id: string }\n }\n [PitcherBroadcastedEventName.CANVAS_CLOSED]: {\n body: { canvas_id: string }\n }\n [PitcherBroadcastedEventName.ROUTE_CHANGED]: {\n body: { route_name: string; route_path: string }\n }\n // external link events\n [PitcherExternalEventName.OPEN_CANVAS]: OpenCanvasPitcherEvent\n [PitcherExternalEventName.START_CALL]: StartCallPitcherEvent\n [PitcherExternalEventName.CREATE_AND_OPEN_CANVAS]: CreateAndOpenCanvasEvent\n [PitcherExternalEventName.SELECT_ACCOUNT]: SelectAccountPitcherEvent\n}\n\nexport interface PitcherEvent {\n type: keyof PitcherEventMap\n body: PitcherEventMap[keyof PitcherEventMap]\n}\n\nexport interface ApiEventMap {\n event: PitcherEvent\n}\n","export class AssertionError extends Error {}\n\nexport function assert(exp: boolean, message: string) {\n if (!exp) {\n throw new AssertionError(message)\n }\n}\n","import { snakeCase, camelCase, startCase } from 'lodash-es'\n\nconst defaultSkipKeys = [\n 'id__in',\n 'tags__in',\n 'tags__not_in',\n 'template__id',\n 'template__id__in',\n 'modified_at__gtr',\n 'created_at__gtr',\n 'end_at__lt',\n 'start_at__gt',\n 'account__id',\n 'end_at__gt',\n 'end_at__range',\n 'start_at__lt',\n 'start_at__range',\n 'external_objects__connection_id',\n 'external_objects__content_type',\n 'external_objects__external_content_type',\n 'external_objects__external_object_id',\n 'owned_by__name__icontains',\n 'template__name__icontains',\n]\n\nconst defaultSkipObjectKeys = ['context', 'overrides', 'filters', 'metadata', 'style', 'hidden']\n\nconst shouldSkipObjectKey = (key: string, skipObjectKeys: string[]): boolean => {\n return skipObjectKeys.includes(key) || key.endsWith('style')\n}\n\nexport const camelCaseKeys = <T>(obj: T, skipKeys = defaultSkipKeys, skipObjectKeys = defaultSkipObjectKeys): T => {\n if (Array.isArray(obj)) {\n return obj.map((v) => camelCaseKeys(v, skipKeys, skipObjectKeys)) as T\n } else if (obj != null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const skip = shouldSkipObjectKey(key, skipObjectKeys)\n const newKey = skipKeys.includes(key) || skip ? key : camelCase(key)\n const value = skip ? (obj as any)[key] : camelCaseKeys((obj as any)[key], skipKeys, skipObjectKeys)\n return { ...result, [newKey]: value }\n }, {}) as T\n }\n\n return obj\n}\n\nexport const snakeCaseKeys = <T>(obj: T, skipKeys = defaultSkipKeys, skipObjectKeys = defaultSkipObjectKeys): T => {\n if (Array.isArray(obj)) {\n return obj.map((v) => snakeCaseKeys(v, skipKeys, skipObjectKeys)) as T\n } else if (obj != null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const skip = shouldSkipObjectKey(key, skipObjectKeys)\n const newKey = skipKeys.includes(key) || skip ? key : snakeCase(key)\n const value = skip ? (obj as any)[key] : snakeCaseKeys((obj as any)[key], skipKeys, skipObjectKeys)\n return { ...result, [newKey]: value }\n }, {}) as T\n }\n\n return obj\n}\n\nexport const pascalCaseKeys = <T>(obj: T, skipKeys = defaultSkipKeys, skipObjectKeys = defaultSkipObjectKeys): T => {\n if (Array.isArray(obj)) {\n return obj.map((v) => pascalCaseKeys(v, skipKeys, skipObjectKeys)) as T\n } else if (obj != null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const skip = shouldSkipObjectKey(key, skipObjectKeys)\n const newKey = skipKeys.includes(key) || skip ? key : titleCase(key).replace(/ /g, '')\n const value = skip ? (obj as any)[key] : pascalCaseKeys((obj as any)[key], skipKeys, skipObjectKeys)\n return { ...result, [newKey]: value }\n }, {}) as T\n }\n\n return obj\n}\n\nexport const titleCase = (s?: string) => startCase(camelCase(s))\n","export function truncateObject(obj: any, currentDepth: number = 1, lengthTrigger = 20): any {\n if (typeof obj !== 'object' || obj === null) {\n return obj\n }\n\n if (Array.isArray(obj)) {\n if (obj.length > lengthTrigger && currentDepth <= 0) {\n return `[Truncated - ${obj.length} length array]`\n }\n return obj.map((item) => truncateObject(item, currentDepth - 1, lengthTrigger))\n }\n\n const keys = Object.keys(obj)\n if (keys.length > lengthTrigger && currentDepth <= 0) {\n return `{Truncated - ${keys.length} properties obj}`\n }\n\n return keys.reduce(\n (acc, key) => {\n acc[key] = truncateObject(obj[key], currentDepth - 1, lengthTrigger)\n return acc\n },\n {} as Record<string, any>,\n )\n}\n","export function isOriginValid(\n event: MessageEvent,\n allowedOrigins: string[] = [],\n isDev: boolean = ['development', 'test'].includes(process.env.NODE_ENV ?? ''),\n): boolean {\n if (isDev) {\n // In development mode, always return true to bypass origin checks\n return true\n }\n\n if (!event || !event.origin) {\n return false\n }\n\n // If allowedOrigins is empty, use the current window's origin\n const validOrigins = [...allowedOrigins, window.location.origin, 'pitcher.com']\n\n const isValid = validOrigins.includes(event.origin) || validOrigins.some((origin) => event.origin.endsWith(origin))\n\n if (!isValid) {\n console.warn(\n `The message origin ${event.origin} is not the same as the current origin ${window.location.origin}. Bailing...`,\n )\n }\n\n return isValid\n}\n","import { setEnv } from '@sdk/api/onlineRestApiHandlers'\nimport { highLevelApi } from '@sdk/main'\n\ntype FetchOptions = {\n method?: string\n headers?: Record<string, string>\n body?: string\n credentials?: RequestCredentials\n params?: Record<string, any>\n}\n\nconst MAX_RETRIES = 5\nconst BASE_DELAY = 1000 // 1 second\nlet refreshPromise: Promise<string> | null = null\n\nasync function refreshToken(): Promise<string> {\n if (refreshPromise) return refreshPromise\n\n console.info('Refreshing access token...')\n refreshPromise = (async () => {\n try {\n return await highLevelApi.refreshAccessToken().then((accessTokenResponse: { access_token: string }) =>\n highLevelApi.getEnv().then((env) => {\n setEnv(env)\n return accessTokenResponse.access_token\n }),\n )\n } catch (error) {\n console.error('Failed to refresh token:', error)\n throw error\n } finally {\n refreshPromise = null\n }\n })()\n\n return refreshPromise\n}\n\n// Custom parameter serializer function with 'repeat' format for arrays\nfunction paramsSerializer(params: Record<string, any>): string {\n const searchParams = new URLSearchParams()\n\n function addParam(key: string, value: any) {\n if (value === undefined || value === null) {\n return\n }\n if (Array.isArray(value)) {\n value.forEach((val) => addParam(key, val))\n } else if (typeof value === 'object' && !Array.isArray(value)) {\n for (const subKey in value) {\n addParam(`${key}[${subKey}]`, value[subKey])\n }\n } else {\n searchParams.append(key, value)\n }\n }\n\n for (const key in params) {\n addParam(key, params[key])\n }\n\n return searchParams.toString()\n}\n\nasync function fetchWithRetry(url: string, options: FetchOptions, remainingRetries = MAX_RETRIES): Promise<any> {\n try {\n const response = await fetch(url, options)\n if (!response.ok) {\n if (response.status === 401) {\n const newToken = await refreshToken()\n options.headers = options.headers || {}\n options.headers.Authorization = `Bearer ${newToken}`\n return fetchWithRetry(url, options, remainingRetries)\n } else if (response.status >= 500 && response.status < 600 && remainingRetries > 0) {\n // Handle server errors with retries\n const delay = BASE_DELAY * Math.pow(2, MAX_RETRIES - remainingRetries)\n await new Promise((resolve) => setTimeout(resolve, delay))\n return fetchWithRetry(url, options, remainingRetries - 1)\n } else {\n // Handle non-2xx and non-5xx status codes without retry\n const errorData = await response.json()\n const error = new Error(\n `HTTP error! status: ${response.status}, message: ${errorData.message || response.statusText}`,\n )\n ;(error as Error & { status?: number }).status = response.status\n throw error\n }\n }\n\n if (response.status === 204 || response.status === 205) {\n return\n }\n return response.json()\n } catch (error) {\n if (\n remainingRetries > 0 &&\n !(error instanceof TypeError) &&\n (error as Error & { status?: number }).status !== 404\n ) {\n // Handle network errors with retries, but not 404s\n const delay = BASE_DELAY * Math.pow(2, MAX_RETRIES - remainingRetries)\n await new Promise((resolve) => setTimeout(resolve, delay))\n return fetchWithRetry(url, options, remainingRetries - 1)\n }\n throw error\n }\n}\n\nexport function createHttpClient(origin: string, token: string) {\n const headers = {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${token}`,\n }\n const apiPath = '/api/v1'\n const baseCommon = { credentials: 'include' as RequestCredentials }\n\n return {\n get: async (endpoint: string, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'GET',\n headers,\n })\n return data\n },\n post: async (endpoint: string, body?: object, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'POST',\n headers,\n body: JSON.stringify(body),\n })\n return data\n },\n put: async (endpoint: string, body: object, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'PUT',\n headers,\n body: JSON.stringify(body),\n })\n return data\n },\n delete: async (endpoint: string, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'DELETE',\n headers,\n })\n return data\n },\n patch: async (endpoint: string, body: object, options: FetchOptions = {}) => {\n const url = new URL(`${origin}${apiPath}${endpoint}`)\n if (options.params) {\n url.search = paramsSerializer(options.params)\n }\n const data = await fetchWithRetry(url.toString(), {\n ...baseCommon,\n ...options,\n method: 'PATCH',\n headers,\n body: JSON.stringify(body),\n })\n return data\n },\n /** PATCH with a full absolute URL (bypasses /api/v1 prefix). */\n patchUrl: async (absoluteUrl: string, body: object, options: FetchOptions = {}) => {\n const data = await fetchWithRetry(absoluteUrl, {\n ...baseCommon,\n ...options,\n method: 'PATCH',\n headers,\n body: JSON.stringify(body),\n })\n return data\n },\n }\n}\n","import { mapKeys, pickBy } from 'lodash-es'\nimport { parseISO, isValid, format } from 'date-fns'\nimport { METADATA_FILTER_DATE_FORMAT } from './filter.const'\n\nimport { deepToRaw } from '@lib/util/reactive'\n\nexport function normalizeFilterParams(params: Record<string, any>) {\n let normalizedParams = deepToRaw(params)\n\n // remove all 'system:xxxx' filterParams\n normalizedParams = pickBy(normalizedParams, (value, key) => {\n return !key.includes('system:')\n })\n\n normalizedParams = mapKeys(normalizedParams, (_, key) => {\n const isDateRange =\n Array.isArray(normalizedParams[key]) &&\n normalizedParams[key].length === 2 &&\n normalizedParams[key].every((date: string) => {\n const parsedDate = parseISO(date)\n return (\n typeof date === 'string' && isValid(parsedDate) && format(parsedDate, METADATA_FILTER_DATE_FORMAT) === date\n )\n })\n return `metadata__${key}${isDateRange ? '__range' : ''}`\n })\n\n return normalizedParams\n}\n\nexport function normalizeNetworkFilterParams(params?: Record<string, any> | null) {\n if (!params) return {}\n\n return Object.entries(params).reduce(\n (acc, [key, value]) => {\n acc[key] = key.endsWith('__range') && Array.isArray(value) ? value.join(',') : value\n\n return acc\n },\n {} as Record<string, any>,\n )\n}\n","import { pickBy, merge } from 'lodash-es'\n\nimport { createHttpClient } from '@sdk/utils/httpFetch'\nimport type { PitcherEnv } from '@sdk/interfaces'\nimport type { GetCanvasesParams } from '@lib/types/canvases'\nimport type { CanvasCreateRequest, CanvasRetrieve } from '@openapi'\nimport { normalizeNetworkFilterParams } from '@lib/components/filters/filter.util'\n\ntype ApiBaseUrlOverride = {\n api_base_url?: string\n}\n\nlet env: PitcherEnv\nlet http: ReturnType<typeof createHttpClient>\n\nfunction check() {\n if (!env) throw new Error('Missing env')\n if (!http) throw new Error('Missing http')\n}\n\nfunction pickNonNullish(data?: Record<string, any>) {\n return pickBy(data ?? {}, (v) => v !== undefined && v !== null)\n}\n\nexport const setEnv = (e: PitcherEnv) => {\n if (!e?.pitcher?.token_claims?.['https://pitcher.com/claims/urls']?.custom_domain) {\n console.warn('No custom domain found in token claims', e?.pitcher?.token_claims)\n typeof window !== 'undefined' &&\n window.Sentry?.captureMessage?.('No custom domain found in token claims', {\n extra: { env: e },\n level: 'warning',\n })\n }\n\n const newCustomDomain = e?.pitcher?.token_claims?.['https://pitcher.com/claims/urls']?.custom_domain\n const shouldRefreshHttpClient =\n e?.pitcher?.access_token !== env?.pitcher?.access_token ||\n (newCustomDomain &&\n newCustomDomain !== env?.pitcher?.token_claims?.['https://pitcher.com/claims/urls']?.custom_domain)\n\n env = merge({}, env, e)\n\n if (shouldRefreshHttpClient) {\n http = createHttpClient(\n env.pitcher.token_claims['https://pitcher.com/claims/urls'].custom_domain,\n env.pitcher.access_token,\n )\n }\n}\n\nexport const onlineRestApiHandlers: Record<string, any> = {\n get_canvases: async (\n params: GetCanvasesParams & { filters?: Record<string, any>; fields?: string } & ApiBaseUrlOverride,\n ) => {\n check()\n const { api_base_url, filters = {}, ...restParams } = params\n const res = await http.get('/canvases', {\n params: {\n instance_id: env.pitcher.instance.id,\n ...normalizeNetworkFilterParams(filters),\n ...pickNonNullish(restParams),\n },\n })\n\n return res\n },\n get_canvas: async (params: { id: CanvasRetrieve['id']; fields?: string; lazy_sections?: boolean }) => {\n check()\n const { id, ...restParams } = params\n const res = await http.get(`/canvases/${params.id}`, { params: restParams })\n return res\n },\n // Lazy section loading companion: batch-hydrate section bodies for a canvas\n // that was fetched as a shell (`?lazy_sections=true`). Hits the same Django\n // /api/v1 base as get_canvas. Returns { sections: CanvasSection[] }.\n get_canvas_sections_by_ids: async (params: {\n canvas_id: CanvasRetrieve['id']\n section_ids: string[]\n // Forwarded so hydration filters identically to the shell that advertised\n // the IDs (admin shells are fetched with exclude_drafts:false + expired/\n // pending on). Only sent when provided; the endpoint applies rep defaults\n // and role-gates expired/pending otherwise.\n exclude_drafts?: boolean\n include_expired_files?: boolean\n include_pending_files?: boolean\n }) => {\n check()\n const res = await http.post('/canvases/sections/by-ids', {\n canvas_id: params.canvas_id,\n section_ids: params.section_ids,\n ...(params.exclude_drafts !== undefined && { exclude_drafts: params.exclude_drafts }),\n ...(params.include_expired_files !== undefined && { include_expired_files: params.include_expired_files }),\n ...(params.include_pending_files !== undefined && { include_pending_files: params.include_pending_files }),\n })\n return res\n },\n create_canvas: async (params: CanvasCreateRequest) => {\n check()\n const res = await http.post('/canvases', { ...params, instance_id: env.pitcher.instance.id })\n return res\n },\n update_canvas: async (params: { id: CanvasRetrieve['id']; fields?: string } & Record<string, any>) => {\n check()\n const { id, fields, ...canvasData } = params\n const useCoreEndpoint = (env as any)?.launch_darkly?.enable_canvas_core_patch === true\n if (useCoreEndpoint) {\n const origin = env.pitcher.token_claims['https://pitcher.com/claims/urls'].custom_domain\n const fieldsQs = fields ? `?fields=${encodeURIComponent(fields)}` : ''\n const url = `${origin}/core/api/protected/v1/canvases/${id}${fieldsQs}`\n // Use http.patchUrl for Core path (bypasses /api/v1 prefix)\n const res = await http.patchUrl(url, canvasData)\n return res\n }\n const res = await http.patch(`/canvases/${id}`, { fields, ...canvasData })\n return res\n },\n delete_canvas: async (params: { id: CanvasRetrieve['id'] }) => {\n check()\n const res = await http.delete(`/canvases/${params.id}`)\n return res\n },\n share_canvas: async (params: { id: CanvasRetrieve['id'] }) => {\n check()\n let link\n\n try {\n link = await http.get(`/shared-links/canvas/${params.id}`)\n } catch (e) {\n if ((e as Error & { status?: number })?.status === 404) {\n link = await http.post('/shared-links', {\n canvas_id: params.id,\n })\n } else {\n throw e\n }\n }\n\n return link\n },\n get_canvas_recommended_files: async (params: {\n canvas_id: CanvasRetrieve['id']\n match?: ('tags' | 'metadata')[]\n }) => {\n check()\n const { canvas_id, ...restParams } = params\n const res = await http.get(`/canvases/${canvas_id}/recommended_files`, { params: restParams })\n return res\n },\n get_collaborations: async (params: Record<string, any>) => {\n check()\n const res = await http.get('/collaborations', { params: pickNonNullish(params) })\n return res\n },\n create_collaboration: async (params: Record<string, any>) => {\n check()\n const res = await http.post('/collaborations', params)\n return res\n },\n delete_collaboration: async (params: { collaboration_id: number | string }) => {\n check()\n const { collaboration_id } = params\n const res = await http.delete(`/collaborations/${collaboration_id}`)\n return res\n },\n get_instance_memberships: async (params: Record<string, any>) => {\n check()\n const res = await http.get('/instance-memberships', { params: pickNonNullish(params) })\n return res\n },\n get_content_distribution_groups: async (params: Record<string, any>) => {\n check()\n const res = await http.get('/content-distribution-groups', { params: pickNonNullish(params) })\n return res\n },\n}\n","type WindowType = Window & typeof globalThis\n\nexport function getTopPitcherWindow(current: WindowType = window): WindowType {\n try {\n if (current.location.protocol === 'file:') {\n return window.top as WindowType\n }\n if (\n current.parent !== current &&\n (current.parent.location.href.includes('pitcher.com') || current.parent.location.href.includes('localhost'))\n ) {\n return getTopPitcherWindow(current.parent as WindowType)\n }\n } catch (e) {\n // Cross-origin hit, stop here\n }\n return current\n}\n","import { v4 as uuid } from 'uuid'\nimport { cloneDeep } from 'lodash-es'\n\nimport type { ApiEventMap, PitcherAPI, PitcherEvent, PitcherResponse, ApiOptions, PitcherEnv } from '@sdk/interfaces'\nimport { PitcherResponseStatus, PitcherMessageType } from '@sdk/interfaces'\nimport { EventEmitter } from '@sdk/utils/eventEmitter'\nimport { assert } from '@sdk/utils/assert'\nimport { snakeCaseKeys, camelCaseKeys } from '@lib/util/casing'\nimport { truncateObject } from '@sdk/utils/object'\nimport { isOriginValid } from '@lib/util/message-event'\nimport { setEnv, onlineRestApiHandlers } from '@sdk/api/onlineRestApiHandlers'\nimport { getTopPitcherWindow } from '@sdk/utils/window'\n\nconst TRUNCATE_LENGTH_TRIGGER = 10\nconst RAW_PAYLOAD_METHODS: string[] = [\n 'crm_create',\n 'crm_upsert',\n 'crm_describe',\n 'crm_layout',\n 'crm_smart_query',\n 'crm_smart_object_metadata',\n 'crm_smart_object_validation_rules',\n 'crm_smart_object_layout',\n 'crm_smart_upsert_objects',\n 'crm_smart_delete_objects',\n]\n\nfunction updateOnlineHandlersEnv(env?: PitcherEnv) {\n env && setEnv(env)\n}\nexport class LowLevelApi extends EventEmitter<ApiEventMap> implements PitcherAPI {\n constructor(options?: ApiOptions) {\n super()\n this.callbacks = {}\n this.options = options ?? {\n casing: 'snake',\n logLevel: 'off',\n errorLogger: () => {},\n fetchMode: 'postmessage',\n }\n\n if (typeof window !== 'undefined') {\n window.addEventListener('message', (event) => {\n if (!isOriginValid(event)) return\n\n this.options.logLevel === 'debug' && console.log('message received', event)\n if (event.data.type === 'PITCHER_RESPONSE') {\n assert(event.data.request.id, 'event id is required')\n this.handleCallbackMessage(event.data.request.id, event.data)\n } else if (event.data.type === 'PITCHER_EVENT') {\n this.handleEventMessage(this.options.casing === 'camel' ? camelCaseKeys(event.data.event) : event.data.event)\n }\n })\n\n this.request('subscribe') // subscribe to events\n }\n }\n\n callbacks: {\n [k: string]: { callback: (res: PitcherResponse) => void; dispatched_at: number; type: string; payload: object }\n }\n\n private options: ApiOptions\n\n private handleCallbackMessage(id: string, body: PitcherResponse) {\n if (this.callbacks[id]) {\n this.callbacks[id].callback(body)\n // metrics\n this.options.logLevel &&\n ['info', 'debug'].includes(this.options.logLevel) &&\n console.log(\n `It took ${Date.now() - this.callbacks[id].dispatched_at} ms for the event ${this.callbacks[id].type}`,\n )\n // cleanup\n delete this.callbacks[id]\n }\n }\n\n private handleEventMessage(event: PitcherEvent) {\n this.emit('event', event)\n }\n\n public request(type: string, body: object | null = null): Promise<any> {\n const fetchMode: ApiOptions['fetchMode'] = this.options.fetchMode ?? 'postmessage'\n return new Promise((resolve, reject) => {\n const id = uuid()\n const callback = (res: PitcherResponse) => {\n this.options.logLevel === 'debug' && console.log(`Callback ${id} response:`, res)\n if (res.response.status === 'ok') {\n resolve(\n (this.options.casing === 'camel' ? camelCaseKeys(res.response.body) : res.response.body) as PitcherResponse,\n )\n\n if (type === 'get_env') updateOnlineHandlersEnv(res.response.body as PitcherEnv | undefined)\n } else if (res.response.status === 'error') {\n if (this.options.errorLogger) {\n this.options.errorLogger({\n type: res.request.type,\n message: `Pitcher JS API call failure: ${res.request.type}`,\n js_api_response: JSON.stringify(truncateObject(res, 3, TRUNCATE_LENGTH_TRIGGER)),\n })\n }\n reject(this.options.casing === 'camel' ? camelCaseKeys(res.response.body) : res.response.body)\n } else {\n throw new Error('unsupported response status')\n }\n }\n const shouldSkipSnakeCase = RAW_PAYLOAD_METHODS.includes(type)\n const payload = shouldSkipSnakeCase ? cloneDeep(body) : cloneDeep(snakeCaseKeys(body)) // default: snake case for impact / cloneDeep to create serializable object\n\n this.callbacks[id] = {\n dispatched_at: Date.now(),\n type,\n payload: payload ?? {},\n callback,\n }\n\n if (fetchMode === 'prefer-online' && type && onlineRestApiHandlers[type]) {\n onlineRestApiHandlers[type](payload)\n .then((data: any) => {\n if (this.callbacks[id]) {\n this.callbacks[id].callback({\n type: PitcherMessageType.RESPONSE,\n request: { id, type },\n response: { status: PitcherResponseStatus.OK, body: data },\n } satisfies PitcherResponse)\n delete this.callbacks[id]\n }\n })\n .catch((error: any) => {\n if (this.callbacks[id]) {\n this.callbacks[id].callback({\n type: PitcherMessageType.RESPONSE,\n request: { id, type },\n response: { status: PitcherResponseStatus.ERROR, body: error },\n } satisfies PitcherResponse)\n delete this.callbacks[id]\n }\n })\n } else {\n // Post message to top ancestor window\n const targetWindow = getTopPitcherWindow(window)\n if (typeof targetWindow !== 'undefined' && targetWindow) {\n targetWindow.postMessage(\n {\n type: 'PITCHER_REQUEST',\n request: {\n type,\n id,\n body: payload,\n },\n },\n '*',\n )\n }\n }\n })\n }\n}\n","import * as modules from '@sdk/api/modules'\nimport { EventEmitter } from '@sdk/utils/eventEmitter'\nimport { LowLevelApi } from '@sdk/api/LowLevelApi'\nimport type { PitcherEvent, ApiOptions } from '@sdk/interfaces'\n\n/**\n * Creates a high-level API instance and caches it. Reterns a new instance only if new options are provided.\n */\nexport function createHighLevelApi(options?: ApiOptions) {\n const API = new LowLevelApi(options)\n const eventEmitter = new EventEmitter()\n\n API.on('event', (event: PitcherEvent) => {\n eventEmitter.emit(event.type, event.body)\n })\n\n return {\n API,\n ...modules,\n /**\n * Subscribe to a given event type by its key.\n *\n * @param {string} type - The event type to subscribe to.\n * @param {(payload: PitcherEvent) => void} callback - The callback function to handle the event.\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event. * @example\n *\n * @example\n * const unsubscribeFromSectionListUpdate = usePitcherApi().on('entered_fullscreen', (event: object) => {\n * // handle event\n * })\n * // later\n * unsubscribeFromSectionListUpdate()\n */\n on: (type: string, callback: (payload: PitcherEvent) => void) => eventEmitter.on(type, callback),\n\n /**\n * Unsubscribe from a given event type by its key and the attached callback reference.\n * @param {string} type - The event type to unsubscribe from.\n * @param {(payload: PitcherEvent) => void} callback - The callback function reference to remove.\n *\n * @example\n * const callback = (event: object) => {\n * // handle event\n * }\n * usePitcherApi().on('entered_fullscreen', callback)\n * // later\n * usePitcherApi().off('entered_fullscreen', callback)\n */\n off: (type: string, callback: (payload: PitcherEvent) => void) => eventEmitter.off(type, callback),\n\n /**\n * Make the entire CatalogIQ fullscreen.\n *\n * @example\n * usePitcherApi().enterFullscreen()\n */\n enterFullscreen: () => API.request('enter_fullscreen'),\n\n /**\n * Exit fullscreen mode.\n *\n * @example\n * usePitcherApi().exitFullscreen()\n */\n exitFullscreen: () => API.request('exit_fullscreen'),\n\n /**\n * Return is CatalogIQ in fullscreen.\n *\n * @example\n * usePitcherApi().isFullscreen()\n */\n isFullscreen: () => API.request('is_fullscreen'),\n\n /**\n * Log out the current user.\n *\n * @example\n * usePitcherApi().logout()\n */\n logout: () => API.request('logout'),\n\n /**\n * Quit the current instance and go to the instance selection screen.\n *\n * @example\n * usePitcherApi().quitInstance()\n */\n quitInstance: () => API.request('quit_instance'),\n\n /**\n * Get the request types.\n *\n * @returns {Promise<any>}\n */\n getRequestTypes: () => API.request('get_request_types'),\n\n /**\n * Broadcast an event to CatalogIQ.\n * @param {PitcherEvent} event - The event to broadcast.\n *\n * @example\n * usePitcherApi()\n * .broadcast({\n * type: \"canvas_updated\",\n * body: { context: { myContextProperty: 'test' } },\n * })\n * .then(function (result) {\n * useUi().toast({\n * message: \"Canvas Populated.\",\n * type: \"info\",\n * })\n * })\n */\n broadcast: (event: PitcherEvent) => API.request('broadcast', event),\n\n /**\n * Broadcast an event to webviews only (iOS only).\n * @param {PitcherEvent} event - The event to broadcast.\n *\n * @example\n * usePitcherApi()\n * .broadcastToWebviews({\n * type: \"canvas_updated\",\n * body: { context: { myContextProperty: 'test' } },\n * })\n * .then(function (result) {\n * useUi().toast({\n * message: \"Canvas Populated.\",\n * type: \"info\",\n * })\n * })\n */\n broadcastToWebviews: (event: PitcherEvent) => API.request('broadcast_to_webviews', event),\n\n /**\n * Subscribe to updates.\n *\n * @returns {Promise<void>}\n */\n subscribe: () => API.request('subscribe'),\n\n /**\n * Unsubscribe from updates.\n *\n * @returns {Promise<void>}\n */\n unsubscribe: () => API.request('unsubscribe'),\n }\n}\n","export function usePostRobot() {\n if (window.postRobot) return window.postRobot\n\n return import('post-robot').then((m) => m.default || m)\n}\n","import type {\n SelectedPage as ContentSelectorSelectedPage,\n SelectedFile as ContentSelectorSelectedFile,\n SelectorType,\n} from '@content-selector/stores/app'\nimport type { Selection } from '@lib/types/selections'\nimport type { CanvasSelection } from '@canvas-selector/appTypes'\nimport type { ComponentNode, EmbeddableProps } from '@canvas-builder/types/canvas'\nimport type { SfEvent } from '@lib/types/sfdc'\nimport type { Mutable } from '@lib/types/ts'\nimport type { CanvasRetrieve, File, User, Canvas, CanvasSection, FileContentTypeEnum } from '@openapi'\nimport type { OpenRequestPayload } from '@sdk/payload.types'\nimport type { Range } from '@lib/util/tsHelpers'\nimport type { Agenda, AgendaSelectorProps } from '@agenda-selector/types/agenda.type'\nimport type { CollectionSelectorProps } from '@collection-selector/types/collection-selector.type'\nimport type { CollectionPlayer } from '@collection-player/types/collection-player.type'\nimport type { EmbedLocation } from '@lib/types/app'\n\nexport const UI_MESSAGE = 'UI_MESSAGE' as const\n\nexport const UI_API_METHOD_TYPES = {\n UI_BROADCAST: 'ui_broadcast',\n UI_SELECT_CONTENT: 'ui_select_content',\n UI_SELECT_CANVASES: 'ui_select_canvases',\n UI_OPEN: 'ui_open',\n UI_EMBEDDABLE_READY: 'ui_embeddable_ready',\n UI_TOAST: 'ui_toast',\n UI_CAPTURE_APP_ERROR: 'ui_capture_app_error',\n UI_UPDATE_CANVAS: 'ui_update_canvas',\n UI_PRINT_CANVAS: 'ui_print_canvas',\n UI_OPEN_CANVAS_OVERLAY: 'ui_open_canvas_overlay',\n UI_OPEN_COLLECTION_PLAYER_OVERLAY: 'ui_open_collection_player_overlay',\n UI_SELECT_COLLECTION_PLAYER_CONTENT: 'ui_select_collection_player_content',\n UI_SELECT_AGENDA_CONTENT: 'ui_select_agenda_content',\n UI_UPDATE_LOCATION: 'ui_update_location',\n UI_PRESELECT_SFDC_MEETING_ID: 'ui_preselect_sfdc_meeting_id',\n UI_SET_POSTCALL_STYLE: 'ui_set_postcall_style',\n UI_ENABLE_POSTCALL_SUBMIT: 'ui_enable_postcall_submit',\n UI_DISABLE_POSTCALL_SUBMIT: 'ui_disable_postcall_submit',\n UI_COMPLETE_POSTCALL: 'ui_complete_postcall',\n UI_STOP_MEETING: 'ui_stop_meeting',\n UI_CANCEL_MEETING: 'ui_cancel_meeting',\n UI_RESUME_MEETING: 'ui_resume_meeting',\n UI_PROMPT_PIA: 'ui_prompt_pia',\n\n UI_CANVAS_NAVIGATE_NEXT_PAGE: 'ui_canvas_navigate_next_page',\n UI_CANVAS_NAVIGATE_PREVIOUS_PAGE: 'ui_canvas_navigate_previous_page',\n UI_CANVAS_NAVIGATE_PAGE: 'ui_canvas_navigate_page',\n\n UI_APP_LOADED: 'ui_app_loaded',\n UI_APP_RESIZE: 'ui_app_resize',\n\n UI_CLOSE_CANVAS_SECTION_EXECUTION: 'ui_close_canvas_section_execution',\n UI_CLOSE_CANVAS_DRAWER: 'ui_close_canvas_drawer',\n UI_OPEN_GLOBAL_POPUP: 'ui_open_global_popup',\n UI_CLOSE_GLOBAL_POPUP: 'ui_close_global_popup',\n UI_OPEN_SHARING_SETTINGS: 'ui_open_sharing_settings',\n} as const\n\nexport const UI_MESSAGE_TYPES = {\n UI_MEETING_CANCELED: 'ui_meeting_canceled',\n UI_CANVAS_UPDATED: 'ui_canvas_updated',\n UI_SECTION_LIST_UPDATED: 'ui_section_list_updated',\n UI_APP_SET_DATA: 'ui_app_set_data',\n UI_APP_UPDATE_DATA: 'ui_app_update_data',\n UI_PROMPT_PIA_RESPONSE_STREAMED: 'ui_prompt_pia_response_streamed',\n} as const\n\nexport const UI_NATIVE_MESSAGE_TYPES = [\n UI_MESSAGE_TYPES.UI_APP_SET_DATA,\n UI_MESSAGE_TYPES.UI_APP_UPDATE_DATA,\n UI_MESSAGE_TYPES.UI_CANVAS_UPDATED,\n] as const\n\n// UI API METHOD TYPES\nexport type UiBroadcastRequest = Record<string, any>\n\nexport type UiSelectContentRequest = {\n /** Array of selections */\n selections?: Selection[]\n content_type?: 'file' | 'slide' | 'content'\n allowed_selector_types?: SelectorType[]\n allowed_content_types?: FileContentTypeEnum[]\n allowed_asset_content_types?: FileContentTypeEnum[]\n max_selections?: number\n min_selections?: Range<0, 999>\n allowed_ids?: File['id'][]\n initial_metadata_filters?: Record<string, any>\n /**\n * Array of file extensions to scope out list of the results (optional). Only files with these extensions will be shown.\n */\n allowed_original_extensions?: string[]\n /**\n * Disables files from selection which are not sharable (optional).\n */\n disable_no_sharable?: boolean\n /**\n * Disables files from selection which do not have pptx_data in metadata object (optional).\n */\n disable_no_pptx_data?: boolean\n /**\n * Only allow content pdf pages (optional). User will be forced to select a page from the pdf.\n */\n only_allow_content_pdf_pages?: boolean\n}\n\nexport type UiSelectContentResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: (ContentSelectorSelectedFile | ContentSelectorSelectedPage)[]\n}\n\nexport type UiSelectCollectionPlayerRequest = {\n initial_data?: CollectionSelectorProps['initialData']\n attach_to?: CollectionSelectorProps['attachTo']\n open_settings?: CollectionSelectorProps['openSettings']\n readonly_name?: CollectionSelectorProps['readonlyName']\n close_on_settings?: CollectionSelectorProps['closeOnSettings']\n translations?: CollectionSelectorProps['translations']\n initial_metadata_filters?: CollectionSelectorProps['initialMetadataFilters']\n hide_close?: CollectionSelectorProps['hideClose']\n}\n\nexport type UiSelectCollectionPlayerResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected' | 'settings'\n /** Selected content */\n content?: CollectionPlayer\n}\n\nexport type UiSelectAgendaRequest = {\n initial_agenda?: AgendaSelectorProps['initialAgenda']\n attach_to?: AgendaSelectorProps['attachTo']\n}\n\nexport type UiSelectAgendaResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: Agenda\n}\n\nexport type UiSelectCanvasesRequest = {\n /** Array of selections */\n selections?: CanvasSelection[]\n allowed_types?: ('canvas' | 'canvas-template' | 'section' | 'section-template')[]\n allowed_ids?: Canvas['id'][]\n initial_metadata_filters?: Record<string, any>\n}\n\nexport type UiSelectCanvasesResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected canvases */\n canvases?: Canvas[]\n}\n\nexport type UiPromptPiaRequest = {\n /** Unique identifier of this prompt (needed for streaming event) */\n id: string\n /** Prompt to send to PIA */\n prompt: string\n}\n\nexport type UiPromptPiaResponse = {\n /** Unique identifier of this prompt (needed for streaming event) */\n id: string\n /** PIA response */\n response: string\n}\n\n/**\n * Error object to send to Pitcher sentry instance\n */\nexport type UiCaptureAppErrorRequest = Record<string, any>\n\nexport type UiUpdateCanvasRequest = Mutable<CanvasRetrieve> & {\n /** Comma-separated list of field keys to return from the server */\n fields?: string\n}\n\nexport type UiPrintCanvasRequest = {\n /** Canvas ID to print */\n id: CanvasRetrieve['id']\n /** Optional HTTPS URL for async download notifications */\n notify_url?: string\n}\n\nexport type UiPrintCanvasResponse = {\n /** Job ID for tracking the async download */\n job_id?: string\n /** Indicates if the request was successful */\n success: boolean\n}\n\nexport type UiOpenRequest = OpenRequestPayload & {\n /** Name of the app to open */\n app_name?: string\n /** Context to pass to the app */\n app_context?: Record<string, any>\n /** Embed location of the app */\n app_embed_location?: EmbedLocation\n}\n\nexport type UiCompletePostcallRequest = {\n /** Indicates if the postcall was successfully submitted */\n was_successfully_submitted?: boolean\n}\n\nexport type UiSetPostcallStyleRequest = Record<string, any>\n\nexport type UiAppResizeRequest = {\n /** Requested height as the number of pixels */\n height: number\n}\n\nexport type UiCanvasNavigatePageRequest = {\n /** The id of the component we want to navigate to */\n page: ComponentNode['id']\n}\n\nexport interface UiToastRequest {\n /**\n * Type of the toast, influences the default icon\n * @defaultValue **REQUIRED**\n */\n type: 'info' | 'error' | 'warning' | 'success' | 'loading'\n\n /**\n * Text to show inside the toast\n * @defaultValue **REQUIRED**\n */\n message: string\n\n /**\n * Optional, value in milliseconds\n * @defaultValue 3500\n */\n duration?: number\n\n /**\n * Visibility of the close button, default is true\n * @defaultValue true\n */\n closable?: boolean\n\n /**\n * Toast won't be hidden as long as it is hovered\n * @defaultValue true\n */\n keepAliveOnHover?: boolean\n\n /**\n * Set to `false` to hide the icon\n * @defaultValue true\n */\n showIcon?: boolean\n}\n\nexport interface UiPreselectSfdcMeetingIdRequest {\n /** Salesforce Meeting ID */\n eventId: string\n}\n\nexport interface UiPreselectSfdcMeetingIdResponse {\n /** Salesforce Event */\n event: SfEvent | null\n}\n\nexport interface UiOpenCollectionPlayerOverlayGroup {\n /** File ID */\n id: string\n /** File name */\n name: string\n /** Optional: specific slides/pages to show from the file */\n slides?: Array<{\n /** The file ID (same as parent group.id) */\n file_id: string\n /** Zero-based page/slide index to show */\n slide_index: number\n }>\n}\n\nexport interface UiOpenCollectionPlayerOverlayRequest {\n /** Array of files/slides to be played in the collection */\n groups: UiOpenCollectionPlayerOverlayGroup[]\n /** The display name for the collection */\n name: string\n}\n\n// UI API EVENT MESSAGE TYPES\nexport type UiMessagePayloads = {\n [UI_MESSAGE_TYPES.UI_MEETING_CANCELED]: UiMeetingCanceledPayload\n [UI_MESSAGE_TYPES.UI_APP_SET_DATA]: UiAppSetDataPayload\n [UI_MESSAGE_TYPES.UI_APP_UPDATE_DATA]: UiAppUpdateDataPayload\n [UI_MESSAGE_TYPES.UI_CANVAS_UPDATED]: UiCanvasUpdatedPayload\n [UI_MESSAGE_TYPES.UI_SECTION_LIST_UPDATED]: UiSectionListUpdatedPayload\n [UI_MESSAGE_TYPES.UI_PROMPT_PIA_RESPONSE_STREAMED]: UiPromptPiaResponseStreamedPayload\n}\n\nexport type UiMessageEnvelope<\n T extends\n (typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES] = (typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES],\n> = {\n /** Message type */\n type: T\n /** Message body */\n body: UiMessagePayloads[T]\n}\n\nexport type UiMeetingCanceledPayload = {\n /** Account ID */\n accountId?: string\n /** Event ID */\n eventId?: string\n}\n\nexport type UiAppSetDataPayload = {\n /** Client name */\n client: string | null\n /** Platform name */\n platform: string | undefined\n /** User information */\n user: User | null\n /** Edit mode status */\n is_edit_mode: boolean\n /** Call status */\n in_call: boolean\n /** Canvas data */\n canvas: CanvasRetrieve\n /** Section used in canvas */\n used_in_section: CanvasSection | null\n /** Component ID */\n component_id: string\n /** Embeddable settings */\n settings: EmbeddableProps['settings'] | null\n /** Width of the canvas */\n width: string | undefined\n /** Height of the canvas */\n height: string | undefined\n /** Full screen mode status */\n full_screen_mode: boolean | undefined\n /** Display mode */\n display_mode: string | undefined\n /** Section index in section list */\n section_index: number | null\n /** Section list ID */\n section_list_id: string | null\n /** Canvas correlation ID for tracking */\n canvas_correlation_id: string | undefined\n}\n\nexport type UiAppUpdateDataPayload = {\n /** Call status */\n in_call: boolean\n /** Edit mode status */\n is_edit_mode: boolean\n}\n\nexport type UiCanvasUpdatedPayload = {\n /** Canvas data */\n canvas: CanvasRetrieve\n}\n\nexport type UiSectionListUpdatedPayload = {\n /** List of section IDs */\n section_list_ids: string[]\n /** Section list component ID */\n section_list_component_id: string\n /** Canvas data */\n canvas: CanvasRetrieve | null\n}\n\nexport type UiPromptPiaResponseStreamedPayload = {\n /** Unique identifier of this prompt */\n id: string\n /** PIA response so far */\n partial_response: string\n /** Current chunk of the response */\n chunk: string\n}\n\nexport interface UiOpenGlobalPopupRequest {\n /** Name of the app to open */\n app_name: string\n /** Extra context to pass to the app */\n extra_context?: Record<string, any>\n}\n\nexport interface UiOpenGlobalPopupResponse {\n /** Whether the popup was successfully opened */\n success: boolean\n}\n\nexport interface UiOpenSharingSettingsRequest {\n files: Array<{\n id: string\n name: string\n thumbnail_url?: string\n content_type?: string\n }>\n default_auth_strategy?: string\n}\n\nexport interface UiOpenSharingSettingsResponse {\n user_action: 'confirmed' | 'cancelled'\n settings?: {\n auth_strategy:\n | 'none'\n | 'any_email'\n | 'specified_emails'\n | 'specified_domains'\n | 'verified_emails'\n | 'verified_domains'\n allowed_emails?: string[]\n allowed_domains?: string[]\n valid_until_days?: number | null\n allow_download?: boolean\n }\n}\n","import { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport {\n type UiSelectAgendaRequest,\n type UiSelectAgendaResponse,\n type UiSelectCollectionPlayerRequest,\n type UiSelectCollectionPlayerResponse,\n type UiSelectContentRequest,\n type UiSelectContentResponse,\n type UiOpenRequest,\n type UiToastRequest,\n type UiPreselectSfdcMeetingIdRequest,\n type UiPreselectSfdcMeetingIdResponse,\n type UiOpenGlobalPopupRequest,\n type UiOpenGlobalPopupResponse,\n UI_API_METHOD_TYPES,\n} from '@sdk/api/modules/ui/types.ui'\n\n/**\n * @hidden\n * @deprecated\n */\nexport async function ui_select_content(payload: UiSelectContentRequest = {}): Promise<UiSelectContentResponse> {\n const pr = await usePostRobot()\n console.warn(\n '[content.ui.ts]: ui_select_content is deprecated and might get removed in future versions, please use select_content instead.',\n )\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_CONTENT, payload)\n return <UiSelectContentResponse>response.data\n}\n\n/**\n * Allows the user to select (and preselect) content from the instance.\n *\n * Opens the content selector dialog to allow the user to select content and handle the outcome. This method allows you to\n * prompt the user to select content from the CatalogIQ instance and use that content in your application.\n *\n * @example\n * const api = useApi() // or useUi() if you know that you 're in UI context\n * api\n * .selectContent({\n * selections: [\n * { fileId: \"01HCZ623YYRFJQ0F7B69VWE510\", type: \"file\" },\n * {\n * fileId: \"01HD3XGZ5FN90QJGK7CH8TBZDF\",\n * type: \"page\",\n * pageIndex: 2,\n * },\n * ],\n * })\n *\n * @param payload optional payload to preselect specific content\n * @returns Promise with the user action and selected content\n */\nexport async function selectContent(payload: UiSelectContentRequest = {}): Promise<UiSelectContentResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_CONTENT, payload)\n return <UiSelectContentResponse>response.data\n}\n\n/**\n * Open a file in the CatalogIQ instance.\n */\nexport async function open(payload: UiOpenRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_OPEN, payload)\n}\n\n/**\n * Show a toast message to the user.\n *\n * @example\n * useUi().toast({ type: 'info', message: 'Hello, world!' })\n */\nexport async function toast(payload: UiToastRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_TOAST, payload)\n}\n\n/**\n * Preselect a meeting in the top meeting bar by Salesforce Meeting ID. From there, the user can easily start the meeting\n * with a single click.\n *\n * @example\n * const objectFetchedFromSalesforce = {\n * // fetch dynamically from Salesforce or provide in another way\n * EventId: '00U1r00000D1J1zEAF',\n * }\n * ui.preselectSfdcMeetingId({ eventId: objectFetchedFromSalesforce.EventId }).then((response) => {\n * // e.g. display advanced meeting details inside your app\n * console.log(response.event)\n * })\n */\nexport async function preselectSfdcMeetingId(\n payload: UiPreselectSfdcMeetingIdRequest,\n): Promise<UiPreselectSfdcMeetingIdResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_PRESELECT_SFDC_MEETING_ID, payload)\n return <UiPreselectSfdcMeetingIdResponse>response.data\n}\n\n/**\n * Opens the collection player selector modal to allow the user to select collection player content and handle the outcome.\n * ```\n * const api = useApi() // or useUi() if you know that you 're in UI context\n *\n * uiApi.selectCollectionContent({\n * // optional payload\n * initial_data: {\n * name: 'test',\n * groups: []\n * }\n * })\n * ```\n */\nexport async function selectCollectionContent(\n payload: UiSelectCollectionPlayerRequest = {},\n): Promise<UiSelectCollectionPlayerResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_COLLECTION_PLAYER_CONTENT, payload)\n\n return <UiSelectCollectionPlayerResponse>response.data\n}\n\n/**\n * Opens the agenda selector modal to allow the user to select agenda content and handle the outcome.\n * ```\n * const api = useApi() // or useUi() if you know that you 're in UI context\n *\n * uiApi.selectAgendaContent({\n * // optional payload\n * initial_agenda: {\n * name: 'test',\n * groups: []\n * }\n * })\n * ```\n */\nexport async function selectAgendaContent(payload: UiSelectAgendaRequest = {}): Promise<UiSelectAgendaResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_AGENDA_CONTENT, payload)\n\n return <UiSelectAgendaResponse>response.data\n}\n\n/**\n * Opens a global popup app by name.\n *\n * @example\n * const api = useApi()\n * api.openGlobalPopup('my-popup-app')\n * api.openGlobalPopup('my-popup-app', { customData: 'value' })\n *\n * @param appName - The name of the app to open (must have app_type: 'ui-global-popup')\n * @param extraContext - Extra context to pass to the app\n * @returns Promise with the result of the operation\n */\nexport async function openGlobalPopup(\n appName: string,\n extraContext?: Record<string, any>,\n): Promise<UiOpenGlobalPopupResponse> {\n const pr = await usePostRobot()\n const payload: UiOpenGlobalPopupRequest = {\n app_name: appName,\n extra_context: extraContext,\n }\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_OPEN_GLOBAL_POPUP, payload)\n return <UiOpenGlobalPopupResponse>response.data\n}\n\n/**\n * Closes the currently open global popup app.\n *\n * @example\n * const api = useApi()\n * api.closeGlobalPopup()\n */\nexport async function closeGlobalPopup(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_CLOSE_GLOBAL_POPUP, {})\n}\n","import { UI_API_METHOD_TYPES } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * This event is used for appJson.module.canvas.start_in_loading_mode: true apps.\n * A loading curtain is displayed until you call this event.\n *\n * @example\n * useUi().embeddableReady()\n *\n */\nexport async function embeddableReady(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_EMBEDDABLE_READY)\n}\n","import { UI_API_METHOD_TYPES } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport type { UpdateLocationPitcherEvent } from '@sdk/interfaces'\nimport { getTopPitcherWindow } from '@sdk/utils/window'\n\n/**\n * Navigate to another page in the CatalogIQ instance.\n *\n * [//]: # 'TODO: This is a very powerful event, we need to expand documentation here'\n *\n * @example\n * const canvasId = '1234567890abcdef12345678' // obtain target canvasId\n * useUi().updateLocation({\n * action: 'restore',\n * routes: {\n * 'slotty-ui': {\n * path: '/canvases/saved-canvases/' + canvasId + '/build/present',\n * query: {},\n * },\n * },\n * })\n */\n\nexport async function updateLocation(payload: UpdateLocationPitcherEvent): Promise<any> {\n const pr = await usePostRobot()\n return pr.send(getTopPitcherWindow(), UI_API_METHOD_TYPES.UI_UPDATE_LOCATION, payload)\n}\n","import { UI_API_METHOD_TYPES, type UiCaptureAppErrorRequest } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Send an app error to Pitcher sentry instance.\n *\n * @example\n * try {\n * throw new Error('This is an error')\n * } catch (error) {\n * useUi().captureAppError(error)\n * }\n *\n * @param payload error object to send to Pitcher sentry instance\n */\nexport async function captureAppError(payload: UiCaptureAppErrorRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CAPTURE_APP_ERROR, payload)\n}\n","import { type CanvasRetrieve } from '@openapi'\nimport type {\n UiAppResizeRequest,\n UiCanvasNavigatePageRequest,\n UiUpdateCanvasRequest,\n UiPrintCanvasRequest,\n UiPrintCanvasResponse,\n UiSelectCanvasesRequest,\n UiSelectCanvasesResponse,\n UiOpenCollectionPlayerOverlayRequest,\n} from '@sdk/api/modules/ui/types.ui'\nimport { UI_API_METHOD_TYPES } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Modify the currently loaded canvas. On the web it sends\n * an [update_canvas](https://pitcher.readme.io/reference/update_canvas) request to the server.\n *\n * @param payload parts of the canvas object to update with fields to return\n */\nexport async function updateCanvas(payload: UiUpdateCanvasRequest): Promise<CanvasRetrieve> {\n const pr = await usePostRobot()\n return pr\n .send(window.parent, UI_API_METHOD_TYPES.UI_UPDATE_CANVAS, payload)\n .then((response) => response.data as CanvasRetrieve)\n}\n\n/**\n * Trigger async print/download of a canvas with optional notification URL.\n * Calls the downloader-test endpoint to convert the canvas to PDF.\n *\n * @param payload Canvas ID and optional notify URL for async notifications\n * @returns Promise with job ID and success status\n *\n * @example\n * useUi().printCanvas({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * notify_url: 'https://my-webhook.example.com/canvas-ready'\n * })\n */\nexport async function printCanvas(payload: UiPrintCanvasRequest): Promise<UiPrintCanvasResponse> {\n const pr = await usePostRobot()\n return pr\n .send(window.parent, UI_API_METHOD_TYPES.UI_PRINT_CANVAS, payload)\n .then((response) => response.data as UiPrintCanvasResponse)\n}\n\n/**\n * Notify the CatalogIQ instance that the app is loaded and ready to get the data. Triggering this method will trigger\n * the `on_app_set_data` event.\n *\n * @example\n * @example\n * useUi().appLoaded()\n */\nexport async function appLoaded(): Promise<void> {\n window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_APP_LOADED, body: {} }, '*')\n}\n\n/**\n * Resize the app iframe to a given height.\n *\n * Note that initial iframe height comes from the `app.json` manifest file. It can also be adjusted by the user when adding\n * app component to the canvas. In case when the app must be temporarily resized to show larger ui elements it can read the\n * user-set height from the [on_app_set_data](#on-app-set-data) event.\n * @param payload object containing requested height of the iframe as the number of pixels\n */\nexport async function appResize(payload: UiAppResizeRequest): Promise<void> {\n window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_APP_RESIZE, body: payload }, '*')\n}\n\n/**\n * Close the Canvas Section Execution modal. Only takes effect for `canvas_section_execution` app modules\n *\n * Note that this method simply closes the modal and will result in the app calling it being unmounted from the DOM and\n * destroyed. Make sure your app has finished updating data before you call this method.\n *\n * @example\n * useUi().closeCanvasSectionExecution()\n */\nexport async function closeCanvasSectionExecution(): Promise<void> {\n window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_CLOSE_CANVAS_SECTION_EXECUTION, body: {} }, '*')\n}\n\n/**\n * Close the Canvas Drawer modal. Only takes effect for apps running in `canvas_drawer` embed location\n *\n * Note that this method simply closes the drawer and will result in the app calling it being unmounted from the DOM and\n * destroyed. Make sure your app has finished updating data before you call this method.\n *\n * @example\n * useUi().closeCanvasDrawer()\n */\nexport async function closeCanvasDrawer(): Promise<void> {\n window.parent.postMessage({ type: UI_API_METHOD_TYPES.UI_CLOSE_CANVAS_DRAWER, body: {} }, '*')\n}\n\n/**\n * Navigate to the next page in the current canvas. Noop if the current page is the last one.\n *\n * @example\n * useUi().canvasNavigateNextPage()\n */\nexport async function canvasNavigateNextPage(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANVAS_NAVIGATE_NEXT_PAGE)\n}\n\n/**\n * Navigate to the previous page in the current canvas. Noop if the current page is the first one.\n *\n * @example\n * useUi().canvasNavigatePreviousPage()\n */\nexport async function canvasNavigatePreviousPage(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANVAS_NAVIGATE_PREVIOUS_PAGE)\n}\n\n/**\n * Navigate to a specific canvas place in the current canvas. Despite the event and parameter name, it takes the component\n * id that we want to put in view.\n *\n * @example\n * const uiApi = useUi() // our useApi()\n *\n * let activeCanvas = null\n * const unsubscribe = uiApi.on_app_set_data((data) => {\n * activeCanvas = data?.canvas\n * })\n *\n * document.getElementById('my-button').addEventListener('click', () => {\n * const target = activeCanvas?.content?.data?.find((i: any) => i.data.app_name === 'my-target-app-id') || null\n * if (target) {\n * uiApi.canvasNavigatePage({ page: target.id })\n * }\n * })\n */\nexport async function canvasNavigatePage(payload: UiCanvasNavigatePageRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANVAS_NAVIGATE_PAGE, payload)\n}\n\n/**\n * Opens a modal to view a canvas by ID.\n *\n * ```\n * onMounted(() => {\n * uiApi.openCanvasOverlay({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * edit_mode: false,\n * fullscreen: true,\n * })\n * })\n * ```\n *\n * You can also specify a position for the canvas overlay:\n *\n * ```\n * uiApi.openCanvasOverlay({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * position: {\n * top: '10px',\n * left: '20px',\n * right: '20px',\n * bottom: '10px'\n * }\n * })\n * ```\n */\nexport async function openCanvasOverlay(payload: {\n id: CanvasRetrieve['id']\n edit_mode?: boolean\n fullscreen?: boolean\n component_id?: string\n section_id?: string\n position?: {\n left?: number | string\n right?: number | string\n top?: number | string\n bottom?: number | string\n }\n}): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_OPEN_CANVAS_OVERLAY, payload)\n}\n\n/**\n * Opens the collection player overlay to view a collection of files/slides.\n *\n * This method opens the native Pitcher collection player interface with the specified\n * files and slides. You can show entire files or specific pages from files.\n *\n * @example\n * // Open collection with full files\n * useUi().openCollectionPlayerOverlay({\n * groups: [\n * { id: 'file-123-abc', name: 'Product Overview' },\n * { id: 'file-456-def', name: 'Pricing Slides' }\n * ],\n * name: 'Sales Deck'\n * })\n *\n * // Open collection with specific slides/pages\n * useUi().openCollectionPlayerOverlay({\n * groups: [\n * {\n * id: 'file-123-abc',\n * name: 'Product Overview',\n * slides: [\n * { file_id: 'file-123-abc', slide_index: 0 },\n * { file_id: 'file-123-abc', slide_index: 2 }\n * ]\n * }\n * ],\n * name: 'Custom Sales Presentation'\n * })\n *\n * @param payload Object containing groups array and collection name\n */\nexport async function openCollectionPlayerOverlay(payload: UiOpenCollectionPlayerOverlayRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, UI_API_METHOD_TYPES.UI_OPEN_COLLECTION_PLAYER_OVERLAY, payload)\n}\n\n/**\n * Allows the user to select (and preselect) canvases from the instance.\n *\n * This method allows you to prompt the user to select canvases from the CatalogIQ\n * instance and use that canvas selection in your application.\n *\n * @example\n * const api = useApi() // or useUi() if you know that you 're in UI context\n * api\n * .selectCanvases({\n * allowed_types: ['canvas','canvas-template','section','section-template'] // default ['canvas']\n * selections: [\n * { id: \"01HCZ623YYRFJQ0F7B69VWE510\" },\n * { id: \"02HCZ623YYRFJQ0F7B69VWE510\" },\n * ], // default []\n * })\n *\n * @param payload optional payload to preselect specific canvases\n * @returns Promise with the user action and selected canvases\n */\nexport async function selectCanvases(payload: UiSelectCanvasesRequest = {}): Promise<UiSelectCanvasesResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_SELECT_CANVASES, payload)\n return <UiSelectCanvasesResponse>response.data\n}\n","import {\n UI_API_METHOD_TYPES,\n type UiCompletePostcallRequest,\n type UiSetPostcallStyleRequest,\n} from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Completes the postcall stage (with successful submission or not)\n *\n * @example\n * useUi().completePostcall({ was_successfully_submitted: true })\n */\nexport async function completePostcall(payload: UiCompletePostcallRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_COMPLETE_POSTCALL, payload)\n}\n\n/**\n * Cancels current meeting and the event remains unrealized (like it never happened).\n *\n * @example\n * useUi().cancelMeeting()\n */\nexport async function cancelMeeting(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_CANCEL_MEETING)\n}\n\n/**\n * Resumes the meeting and attempts to go at the last presented route / component.\n *\n * @example\n * useUi().resumeMeeting()\n */\nexport async function resumeMeeting(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_RESUME_MEETING)\n}\n\n/**\n * Ends current meeting and shows postcall form.\n *\n * @example\n * useUi().stopMeeting()\n */\nexport async function stopMeeting(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_STOP_MEETING)\n}\n\n/**\n * Mark the postcall form as possible to submit by the user.\n *\n * @deprecated\n * @example\n * useUi().enablePostcallSubmit()\n */\nexport async function enablePostcallSubmit(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_ENABLE_POSTCALL_SUBMIT)\n}\n\n/**\n * Mark the postcall form as **not** possible to submit by the user. Useful while processing the form data.\n *\n * @deprecated\n * @example\n * useUi().disablePostcallSubmit()\n */\nexport async function disablePostcallSubmit(): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_DISABLE_POSTCALL_SUBMIT)\n}\n\n/**\n * Change the height of the postcall form.\n *\n * @example\n * useUi().setPostcallStyle({ height: 100 })\n */\nexport async function setPostcallStyle(payload: UiSetPostcallStyleRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_SET_POSTCALL_STYLE, payload)\n}\n","import { UI_API_METHOD_TYPES, type UiPromptPiaRequest, type UiPromptPiaResponse } from '@sdk/api/modules/ui/types.ui'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Sends a query to the Pitcher Intelligent Assistant (PIA) and handles the streamed response.\n *\n * @example\n * // Subscribe to PIA's streamed responses\n * const cleanup = await useUi().on(\n * UI_MESSAGE_TYPES.UI_PROMPT_PIA_RESPONSE_STREAMED,\n * async ({ chunk, partial_response, id }) => {\n * console.log(`PIA response chunk for stream ${id}: ${chunk}`);\n * console.log(`PIA response so far for stream ${id}: ${partial_response}`);\n * }\n * );\n * // Prompt PIA with a question and ensure cleanup is called afterwards\n * useUi().promptPia({ prompt: \"What's my most presented file?\", id: 'my-prompt-id-to-discern-with-stream-event' })\n * .finally(cleanup);\n */\nexport async function promptPia(payload: UiPromptPiaRequest): Promise<UiPromptPiaResponse> {\n const pr = await usePostRobot()\n const r = await pr.send(window.parent, UI_API_METHOD_TYPES.UI_PROMPT_PIA, payload)\n return r.data as UiPromptPiaResponse\n}\n","import { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport {\n UI_API_METHOD_TYPES,\n type UiOpenSharingSettingsRequest,\n type UiOpenSharingSettingsResponse,\n} from './types.ui'\n\nexport async function openSharingSettings(\n payload: UiOpenSharingSettingsRequest,\n): Promise<UiOpenSharingSettingsResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(\n window.parent,\n UI_API_METHOD_TYPES.UI_OPEN_SHARING_SETTINGS,\n payload,\n )\n return response.data as UiOpenSharingSettingsResponse\n}\n","import { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport type {\n UiMessageEnvelope,\n UiMeetingCanceledPayload,\n UiCanvasUpdatedPayload,\n UiSectionListUpdatedPayload,\n UiAppSetDataPayload,\n UiAppUpdateDataPayload,\n UiBroadcastRequest,\n UiMessagePayloads,\n} from './types.ui'\nimport { UI_API_METHOD_TYPES, UI_MESSAGE_TYPES, UI_NATIVE_MESSAGE_TYPES } from './types.ui'\nimport * as contentUi from './content.ui'\nimport * as loadingUi from './loading.ui'\nimport * as locationUi from './location.ui'\nimport * as appErrorsUi from './app-errors.ui'\nimport * as canvasUi from './canvas.ui'\nimport * as postCallUi from './post-call.ui'\nimport * as piaUi from './pia.ui'\nimport * as sharingUi from './sharing.ui'\n\nasync function onNative<T extends keyof UiMessagePayloads>(\n type: T,\n handler: (data: UiMessagePayloads[T]) => Promise<void>,\n) {\n const messageListener = (event: MessageEvent<UiMessageEnvelope<typeof type>>) => {\n if (event.data.type === type) {\n handler(event.data.body)\n }\n }\n window.addEventListener('message', messageListener)\n\n return () => window.removeEventListener('message', messageListener)\n}\n\nasync function onPostRobot<T extends keyof UiMessagePayloads>(\n type: T,\n handler: (data: UiMessagePayloads[T]) => Promise<void>,\n) {\n const pr = await usePostRobot()\n const listener = pr.on(type, (e) => handler(e.data))\n\n // return the cleanup function\n return listener.cancel\n}\n\n/**\n * Subscribe to a given event type by its key.\n *\n * @example\n * const unsubscribeFromSectionListUpdate = useUi().on('ui_section_list_updated', (event: object) => {\n * // handle event\n * })\n *\n * // later\n * unsubscribeFromSectionListUpdate.then(unsubscribe => unsubscribe())\n *\n * @param type The event type/key to subscribe to.\n * @param handler The handler function to call when the event is emitted.\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction on<T extends keyof UiMessagePayloads>(type: T, handler: (data: UiMessagePayloads[T]) => Promise<void>) {\n if (UI_NATIVE_MESSAGE_TYPES.includes(type as (typeof UI_NATIVE_MESSAGE_TYPES)[number])) {\n return onNative(type, handler)\n }\n\n return onPostRobot(type, handler)\n}\n\n/**\n * Subscribe to the meeting canceled event.\n *\n * @example\n * const unsubscribeFromMeetingCanceled = useUi().onMeetingCanceled((event: {\n * accountId?: string;\n * eventId?: string;\n * }) => {\n * // handle event\n * })\n *\n * // later\n * unsubscribeFromMeetingCanceled.then(cancel => cancel())\n *\n * @param handler\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onMeetingCanceled(handler: (data: UiMeetingCanceledPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_MEETING_CANCELED, handler)\n}\n\n/**\n * Subscribe to the canvas updated event. It is triggered when the current canvas of the app is updated.\n *\n * @example\n * const unsubscribePromise = useUi().onCanvasUpdated((event: { canvas }) => {\n * // handle event\n * })\n *\n * // later\n * unsubscribePromise.then(unsubscribe => unsubscribe())\n *\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onCanvasUpdated(handler: (data: UiCanvasUpdatedPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_CANVAS_UPDATED, handler)\n}\n\n/**\n * Subscribe to the section list updated event. It is triggered when the list of sections (products) in the current canvas\n * is updated.\n *\n * @example\n * const unsubscribePromise = useUi().onSectionListUpdated((event: { canvas }) => {\n * // handle event\n * })\n *\n * // later\n * unsubscribePromise.then(unsubscribe => unsubscribe())\n *\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onSectionListUpdated(handler: (data: UiSectionListUpdatedPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_SECTION_LIST_UPDATED, handler)\n}\n\n/**\n * Subscribe to the app set data event. It is triggered when the app data is set. This event is triggered when the app is\n * loaded and in certain other cases after loading.\n *\n * This is the main event for the canvas app to receive data from the CatalogIQ instance and know about its environment.\n *\n * @example\n * let user = null\n * let isEditMode = null\n * let activeCanvas = null\n * let isPrintMode = false\n * const unsubscribePromise = useUi().onAppSetData((data) => {\n * user = data?.user\n * isEditMode = data?.is_edit_mode\n * activeCanvas = data?.canvas\n * isPrintMode = data?.display_mode === 'print' || data?.client === 'dsr'\n * // ...mode logic...\n * })\n *\n * // later\n * unsubscribePromise.then(unsubscribe => unsubscribe())\n *\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onAppSetData(handler: (data: UiAppSetDataPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_APP_SET_DATA, handler)\n}\n\n/**\n * Subscribe to the app update data event. It is triggered when the user changes from edit mode to view mode or vice versa\n * and when the call is started or ended.\n *\n * @example\n * let inCall = false\n * let isEditMode = false\n * const unsubscribePromise = useUi().onAppUpdateData((data) => {\n * isEditMode = data?.is_edit_mode\n * inCall = data?.in_call\n * // ...mode logic...\n * })\n *\n * // later\n * unsubscribePromise.then(unsubscribe => unsubscribe())\n *\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nfunction onAppUpdateData(handler: (data: UiAppUpdateDataPayload) => Promise<void>) {\n return on(UI_MESSAGE_TYPES.UI_APP_UPDATE_DATA, handler)\n}\n\n/**\n * Broadcast event to the UI. Hidden from the documentation.\n *\n * @hidden\n */\nasync function uiBroadcast(payload: UiBroadcastRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, UI_API_METHOD_TYPES.UI_BROADCAST, payload)\n}\n\nexport default {\n on,\n onMeetingCanceled,\n onCanvasUpdated,\n onSectionListUpdated,\n onAppSetData,\n onAppUpdateData,\n uiBroadcast,\n ...contentUi,\n ...loadingUi,\n ...locationUi,\n ...appErrorsUi,\n ...canvasUi,\n ...postCallUi,\n ...piaUi,\n ...sharingUi,\n}\n","import type { PitcherEnv } from '@sdk/interfaces'\nimport type {\n SelectedPage as ContentSelectorSelectedPage,\n SelectedFile as ContentSelectorSelectedFile,\n SelectorType,\n} from '@content-selector/stores/app'\nimport type { Selection as ContentSelectorSelection } from '@lib/types/selections'\nimport type { Canvas, File } from '@openapi'\nimport type { CanvasSelection } from '@canvas-selector/appTypes'\nimport type { CLIENT_TYPE } from '@lib/constants/cdp.const'\nimport type { LaunchDarklyEnv } from '@lib/types/launchDarkly.types'\nimport type { CollectionSelectorProps } from '@collection-selector/types/collection-selector.type'\nimport type { CollectionPlayer } from '@collection-player/types/collection-player.type'\nimport type { Agenda, AgendaSelectorProps } from '@agenda-selector/types/agenda.type'\n\nexport const ADMIN_MESSAGE = 'ADMIN_MESSAGE' as const\n\nexport const ADMIN_MESSAGE_TYPES = {\n ENV_CHANGED: 'admin_env_changed',\n} as const\n\nexport const ADMIN_API_TYPES = {\n ADMIN_REQUEST: 'ADMIN_REQUEST',\n ADMIN_RESPONSE: 'ADMIN_RESPONSE',\n} as const\n\nexport const ADMIN_API_METHOD_TYPES = {\n CAPTURE_APP_ERROR: 'admin_capture_app_error',\n CREATE_CANVAS: 'admin_create_canvas',\n GET_APP_CONFIG: 'admin_get_app_config',\n GET_CANVAS: 'admin_get_canvas',\n GET_CANVASES: 'admin_get_canvases',\n OPEN_CANVAS_OVERLAY: 'admin_open_canvas_overlay',\n OPEN_COLLECTION_PLAYER_OVERLAY: 'admin_open_collection_player_overlay',\n GET_ENV: 'admin_get_env',\n GET_FILE: 'admin_get_file',\n OPEN: 'admin_open_file_overlay',\n CLOSE: 'admin_close_file_overlay',\n GET_FILES: 'admin_get_files',\n GET_INSTANCE_METADATA_TEMPLATES: 'admin_get_instance_metadata_templates',\n GET_USERS: 'admin_get_users',\n TOAST: 'admin_toast',\n UPDATE_CANVAS: 'admin_update_canvas',\n SELECT_COLLECTION_PLAYER_CONTENT: 'admin_select_collection_player_content',\n SELECT_AGENDA_CONTENT: 'admin_select_agenda_content',\n SELECT_CONTENT: 'admin_select_content',\n SELECT_CANVASES: 'admin_select_canvases',\n} as const\n\nexport type AdminMessagePayloads = {\n [ADMIN_MESSAGE_TYPES.ENV_CHANGED]: AdminEnv\n}\n\n/**\n * Error object to send to Pitcher sentry instance\n */\nexport type AdminCaptureAppErrorRequest = Record<string, any>\n\n/**\n * Represents an admin request with a specific payload.\n * @template Payload - The type of the payload data.\n */\nexport type AdminRequest<Payload = any> = {\n /**\n * Unique identifier for the request.\n */\n id: string\n /**\n * Type of the admin API request.\n */\n type: (typeof ADMIN_API_TYPES)['ADMIN_REQUEST']\n /**\n * Body of the request containing the method type and payload data.\n */\n body: {\n /**\n * Type of the admin API method.\n */\n type: (typeof ADMIN_API_METHOD_TYPES)[keyof typeof ADMIN_API_METHOD_TYPES]\n /**\n * Payload data for the request.\n */\n data: Payload\n }\n}\n\n/**\n * Represents a request to show a toast notification.\n */\nexport interface AdminToastRequest {\n /**\n * Type of the toast notification.\n */\n type: 'info' | 'error' | 'warning' | 'success' | 'loading'\n /**\n * Message to be displayed in the toast.\n */\n message: string\n /**\n * Duration for which the toast should be displayed (optional).\n */\n duration?: number\n /**\n * Indicates if the toast can be closed manually (optional).\n */\n closable?: boolean\n /**\n * Indicates if the toast should remain visible when hovered over (optional).\n */\n keepAliveOnHover?: boolean\n /**\n * Indicates if an icon should be shown in the toast (optional).\n */\n showIcon?: boolean\n}\n\n/**\n * Represents a request to select content.\n */\nexport type AdminSelectContentRequest = {\n /**\n * List of selections to hydrate the picker with.\n */\n selections?: ContentSelectorSelection[]\n /**\n * Maximum number of selections allowed (optional).\n */\n max_selections?: number\n /**\n * Minimum number of selections allowed (optional).\n */\n min_selections?: number\n /**\n * Type of content to allow selection for (optional).\n * file: Files only\n * slide: Slides only\n * content: Files and slides\n * @default 'content'\n */\n content_type?: 'file' | 'slide' | 'content'\n /**\n * CSS style to apply to the picker (optional).\n */\n style?: Record<string, any>\n /**\n * Array of file ids to include in the picker (optional).\n */\n allowed_ids?: File['id'][]\n /**\n * Array of file extensions to scope out list of the results (optional). Only files with these extensions will be shown.\n */\n allowed_original_extensions?: string[]\n /**\n * Initial metadata filters to apply to the picker (optional).\n */\n initial_metadata_filters?: Record<string, any>\n /**\n * Array of selector types to include in the picker (optional).\n */\n allowed_selector_types?: SelectorType[]\n /**\n * Disables files from selection which are not sharable (optional).\n */\n disable_no_sharable?: boolean\n /**\n * Disables files from selection which do not have pptx_data in metadata object (optional).\n */\n disable_no_pptx_data?: boolean\n /**\n * Only allow content pdf pages (optional). User will be forced to select a page from the pdf.\n */\n only_allow_content_pdf_pages?: boolean\n}\n\n/**\n * Represents a response to a content selection request.\n */\nexport type AdminSelectContentResponse = {\n /**\n * Action taken by the user.\n */\n user_action: 'cancelled' | 'selected'\n /**\n * Selected content, if any.\n */\n content?: (ContentSelectorSelectedFile | ContentSelectorSelectedPage)[]\n}\n\nexport type AdminSelectCanvasesRequest = {\n /**\n * Array of selections.\n */\n selections?: CanvasSelection[]\n /**\n * Array of canvas types to include in the picker (optional).\n */\n allowed_types?: ('canvas' | 'canvas-template' | 'section' | 'section-template')[]\n /**\n * Array of canvas ids to include in the picker (optional).\n */\n allowed_ids?: Canvas['id'][]\n /**\n * Initial metadata filters to apply to the picker (optional).\n */\n initial_metadata_filters?: Record<string, any>\n /**\n * The sequencing key to use for ordering the canvases (optional).\n */\n sequencing_key?: string\n}\n\nexport type AdminSelectCanvasesResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected canvases */\n canvases?: Canvas[]\n}\n\n/**\n * Represents an admin response with a specific payload.\n * @template Response - The type of the response data.\n */\nexport type AdminResponse<Response = any> = {\n /**\n * Unique identifier for the response.\n */\n id: string\n /**\n * Type of the admin API response.\n */\n type: (typeof ADMIN_API_TYPES)['ADMIN_RESPONSE']\n /**\n * Body of the response containing the response data.\n */\n body: Response\n}\n\n/**\n * Represents an admin message with a specific payload.\n * @template Payload - The type of the message data.\n */\nexport type AdminMessage<Payload = any> = {\n /**\n * Unique identifier for the message.\n */\n id: string\n /**\n * Type of the admin message.\n */\n type: typeof ADMIN_MESSAGE\n /**\n * Body of the message containing the message type and payload data.\n */\n body: {\n /**\n * Type of the admin message.\n */\n type: (typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES]\n /**\n * Payload data for the message.\n */\n data: Payload\n }\n}\n\n/**\n * Represents the admin environment.\n */\nexport type AdminEnv = {\n /**\n * Pitcher environment settings.\n */\n mode?: PitcherEnv['mode']\n pitcher: PitcherEnv['pitcher']\n launch_darkly?: LaunchDarklyEnv\n client_type?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]\n crm_shape?: Record<string, any>\n state?: PitcherEnv['state']\n}\n\nexport type AdminOpenCollectionPlayerOverlayGroup = {\n id: string\n name: string\n slides?: Array<{\n file_id: string\n slide_index: number\n }>\n}\n\nexport type AdminOpenCollectionPlayerOverlayRequest = {\n groups: AdminOpenCollectionPlayerOverlayGroup[]\n name: string\n}\n\nexport type AdminSelectCollectionPlayerRequest = {\n initial_data?: CollectionSelectorProps['initialData']\n attach_to?: CollectionSelectorProps['attachTo']\n open_settings?: CollectionSelectorProps['openSettings']\n readonly_name?: CollectionSelectorProps['readonlyName']\n close_on_settings?: CollectionSelectorProps['closeOnSettings']\n translations?: CollectionSelectorProps['translations']\n initial_metadata_filters?: CollectionSelectorProps['initialMetadataFilters']\n hide_close?: CollectionSelectorProps['hideClose']\n}\n\nexport type AdminSelectCollectionPlayerResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected' | 'settings'\n /** Selected content */\n content?: CollectionPlayer\n}\n\nexport type AdminSelectAgendaRequest = {\n initial_agenda?: AgendaSelectorProps['initialAgenda']\n attach_to?: AgendaSelectorProps['attachTo']\n}\n\nexport type AdminSelectAgendaResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: Agenda\n}\n","import { ADMIN_API_METHOD_TYPES, type AdminCaptureAppErrorRequest } from '@sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Send an app error to Pitcher sentry instance.\n *\n * @example\n * try {\n * throw new Error('This is an error')\n * } catch (error) {\n * useAdmin().captureAppError({\n * error,\n * message: 'This is an app error',\n * })\n * }\n *\n * @param payload error object to send to Pitcher sentry instance\n */\nexport async function captureAppError(payload: AdminCaptureAppErrorRequest): Promise<void> {\n const pr = await usePostRobot()\n pr.send(window.parent, ADMIN_API_METHOD_TYPES.CAPTURE_APP_ERROR, payload)\n}\n","import { omit } from 'lodash-es'\n\nimport { ADMIN_API_METHOD_TYPES, type AdminEnv } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n/**\n * Fetches the necessary info for the app to know where it is embedded.\n *\n * Check out [usePitcherApi().getEnv()](../internal/functions/createHighLevelApi.md#getenv) for more information.\n *\n * @example\n * adminApi.getEnv()\n */\nexport async function getEnv(): Promise<AdminEnv> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_ENV)\n const env = <AdminEnv>response.data\n return omit(env, 'pitcher.org_config.segment')\n}\n","import type { CanvasRetrieve, PatchedCanvasUpdateRequest, Instance, CanvasCreateRequest } from '@openapi'\nimport type { GetCanvasesParams } from '@lib/types/canvases'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type {\n AdminSelectCanvasesRequest,\n AdminSelectCanvasesResponse,\n AdminOpenCollectionPlayerOverlayRequest,\n} from '@lib/sdk/api/modules/admin/types.admin'\nimport { ADMIN_API_METHOD_TYPES } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Creates a new canvas.\n *\n * @example\n * adminApi.createCanvas({\n * name: 'my new canvas';\n * })\n */\nexport async function createCanvas(payload: CanvasCreateRequest): Promise<CanvasRetrieve> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.CREATE_CANVAS, payload)\n return <CanvasRetrieve>response.data\n}\n\n/**\n * Fetches a list of canvases to use in your app.\n *\n * @example\n * // The `filters` object is a reserved payload key to transfer the metadata dict over the wire.\n * adminApi.getCanvases({\n * search: 'my search query',\n * ordering: '-created_at',\n * filters: {\n * metadata__mydaterangefiltername__range: ['2023-12-10', '2023-12-22'],\n * metadata__mymultiselectfiltername: ['optionAValue', 'optionCValue'],\n * },\n * fields: 'id,name,metadata',\n * })\n */\nexport async function getCanvases(\n payload: GetCanvasesParams & { filters?: Record<string, any>; fields?: string },\n): Promise<PaginatedData<CanvasRetrieve>> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_CANVASES, payload)\n return <PaginatedData<CanvasRetrieve>>response.data\n}\n\n/**\n * Fetches a canvas by id with the defined fields or all of them.\n *\n * @example\n * // The `filters` object is a reserved payload key to transfer the metadata dict over the wire.\n * adminApi.getCanvas({\n * fields: 'id,name,metadata',\n * })\n */\nexport async function getCanvas(payload: { id: CanvasRetrieve['id']; fields?: string }): Promise<CanvasRetrieve> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_CANVAS, payload)\n return <CanvasRetrieve>response.data\n}\n\n/**\n * Updates a canvas by ID and returns the defined fields or all of them.\n *\n * @example\n * // The fields param is appended to the URL as a query param.\n * onMounted(() => {\n * adminApi.updateCanvas({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * fields: 'id,name',\n * name: 'To 3!',\n * }).then((res) => {\n * console.log(res) // logs: { id: '01HH4RCBH631K4JDHWAQB0RPR6', name: 'To 3!' }\n * })\n * })\n */\nexport async function updateCanvas(\n payload: PatchedCanvasUpdateRequest & { id: CanvasRetrieve['id']; instance_id?: Instance['id']; fields?: string },\n): Promise<CanvasRetrieve> {\n const pr = await usePostRobot()\n const r = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.UPDATE_CANVAS, payload)\n return <CanvasRetrieve>r.data\n}\n\n/**\n * Opens a modal to view a canvas by ID.\n *\n * ```\n * onMounted(() => {\n * adminApi.openCanvasOverlay({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * edit_mode: false,\n * fullscreen: true,\n * })\n * })\n * ```\n *\n * You can also specify a position for the canvas overlay:\n *\n * ```\n * adminApi.openCanvasOverlay({\n * id: '01HH4RCBH631K4JDHWAQB0RPR6',\n * position: {\n * top: '10px',\n * left: '20px',\n * right: '20px',\n * bottom: '10px'\n * }\n * })\n * ```\n */\nexport async function openCanvasOverlay(payload: {\n id: CanvasRetrieve['id']\n edit_mode?: boolean\n fullscreen?: boolean\n component_id?: string\n section_id?: string\n position?: {\n left?: number | string\n right?: number | string\n top?: number | string\n bottom?: number | string\n }\n}): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.OPEN_CANVAS_OVERLAY, payload)\n}\n\n/**\n * Opens a modal to display collection player content.\n *\n * @example\n * adminApi.openCollectionPlayerOverlay({\n * name: 'My Collection',\n * groups: [\n * {\n * id: 'file-id-1',\n * name: 'Group 1',\n * },\n * {\n * id: 'group-2',\n * name: 'Group 2',\n * slides: [\n * { file_id: 'file-id-2', slide_index: 0 },\n * { file_id: 'file-id-3', slide_index: 1 },\n * ],\n * },\n * ],\n * })\n */\nexport async function openCollectionPlayerOverlay(payload: AdminOpenCollectionPlayerOverlayRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.OPEN_COLLECTION_PLAYER_OVERLAY, payload)\n}\n\n/**\n * Allows the user to select (and preselect) canvases from the instance.\n *\n * This method allows you to prompt the user to select canvases from the CatalogIQ\n * instance and use that canvas selection in your application.\n *\n * @example\n * const api = useApi() // or useAdmin() if you know that you 're in Admin context\n * api\n * .selectCanvases({\n * allowed_types: ['canvas','canvas-template','section','section-template'] // default ['canvas']\n * selections: [\n * { id: \"01HCZ623YYRFJQ0F7B69VWE510\" },\n * { id: \"02HCZ623YYRFJQ0F7B69VWE510\" },\n * ], // default []\n * })\n *\n * @param payload optional payload to preselect specific canvases\n * @returns Promise with the user action and selected canvases\n */\nexport async function selectCanvases(payload: AdminSelectCanvasesRequest = {}): Promise<AdminSelectCanvasesResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.SELECT_CANVASES, payload)\n return <AdminSelectCanvasesResponse>response.data\n}\n","import type { PaginatedMetadataTemplateList } from '@openapi'\nimport type { GetInstanceMetadataTemplatesPayload } from '@sdk/payload.types'\nimport { ADMIN_API_METHOD_TYPES } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Fetches a list of metadata templates to use in your app. Instance is auto-injected by admin app if in instance scope.\n *\n * @example\n * adminApi.getInstanceMetadataTemplates()\n **/\nexport async function getInstanceMetadataTemplates(\n payload?: GetInstanceMetadataTemplatesPayload,\n): Promise<PaginatedMetadataTemplateList> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_INSTANCE_METADATA_TEMPLATES, payload)\n return <PaginatedMetadataTemplateList>response.data\n}\n","import { ADMIN_API_METHOD_TYPES } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport type { File, PaginatedFileList } from '@openapi'\n\n/**\n * Get the metadata object of an app with a given name.\n *\n * @param {object} payload - The payload object.\n * @param {string} payload.app_name - `name` value from `app.json` of the app you want to get the metadata of.\n *\n * @example\n * useAdmin().getAppConfig({ app_name: 'my-app' })\n */\nexport async function getAppConfig(payload: { app_name: string }): Promise<Record<string, any>> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_APP_CONFIG, payload)\n return <Record<string, any>>response.data\n}\n\n/**\n * Fetches a file by ID.\n *\n * @example\n * adminApi.getFile({ id: 'my-file-id' })\n */\nexport async function getFile(payload: { id: File['id'] }): Promise<File> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_FILE, payload)\n return response.data as File\n}\n\n/**\n * Lists available files.\n *\n * @example\n * adminApi.getFiles()\n */\nexport async function getFiles(payload: Record<string, any>): Promise<PaginatedFileList> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_FILES, payload)\n return response.data as PaginatedFileList\n}\n\n/**\n * Opens a file by id.\n *\n * @example\n * adminApi.open({ id: 'my-file-id' })\n */\nexport async function open(payload: { id: File['id'] }): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.OPEN, payload)\n}\n\n/**\n * Closes the already open file that was opened via api or by the user.\n *\n * @example\n * adminApi.close()\n */\nexport async function close(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.CLOSE)\n}\n","import type {\n AdminSelectAgendaRequest,\n AdminSelectAgendaResponse,\n AdminSelectCollectionPlayerRequest,\n AdminSelectCollectionPlayerResponse,\n AdminSelectContentRequest,\n AdminSelectContentResponse,\n} from '@sdk/api/modules/admin/types.admin'\nimport { ADMIN_API_METHOD_TYPES } from '@sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@sdk/utils/postrobot'\n\n/**\n * Opens the collection player selector modal to allow the user to select collection player content and handle the outcome.\n * ```\n * const api = useApi() // or useAdmin() if you know that you 're in Admin context\n *\n * adminApi.selectCollectionContent({\n * // optional payload\n * initial_data: {\n * name: 'test',\n * groups: []\n * }\n * })\n * ```\n */\nexport async function selectCollectionContent(\n payload: AdminSelectCollectionPlayerRequest = {},\n): Promise<AdminSelectCollectionPlayerResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.SELECT_COLLECTION_PLAYER_CONTENT, payload)\n\n return <AdminSelectCollectionPlayerResponse>response.data\n}\n\n/**\n * Opens the agenda selector modal to allow the user to select agenda content and handle the outcome.\n * ```\n * const api = useApi() // or useAdmin() if you know that you 're in Admin context\n *\n * adminApi.selectAgendaContent({\n * // optional payload\n * initial_agenda: {\n * name: 'test',\n * groups: []\n * }\n * })\n * ```\n */\nexport async function selectAgendaContent(payload: AdminSelectAgendaRequest = {}): Promise<AdminSelectAgendaResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.SELECT_AGENDA_CONTENT, payload)\n\n return <AdminSelectAgendaResponse>response.data\n}\n\n/**\n * Opens a selector that allows you to select (and preselect) from your Pitcher uploaded content.\n *\n * @example\n * const api = useApi() // or useAdmin() if you know that you 're in Admin app context\n * api\n * .select_content({\n * selections: [\n * { fileId: \"01HCZ623YYRFJQ0F7B69VWE510\", type: \"file\" },\n * {\n * fileId: \"01HD3XGZ5FN90QJGK7CH8TBZDF\",\n * type: \"page\",\n * pageIndex: 2,\n * },\n * ],\n * })\n */\nexport async function selectContent(payload: AdminSelectContentRequest): Promise<AdminSelectContentResponse> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.SELECT_CONTENT, payload)\n return response.data as AdminSelectContentResponse\n}\n","import type { GetUsersParams } from '@lib/types/users'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { User } from '@openapi'\nimport { ADMIN_API_METHOD_TYPES } from '@lib/sdk/api/modules/admin/types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Fetches a list of users from the admin API.\n *\n * @param payload - Optional parameters for filtering users\n * @returns Promise resolving to a paginated list of users\n *\n * @example\n * const adminApi = useAdmin()\n * const users = await adminApi.getUsers({ page_size: 100 })\n */\nexport async function getUsers(payload?: GetUsersParams): Promise<PaginatedData<User>> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, ADMIN_API_METHOD_TYPES.GET_USERS, payload)\n return response.data as PaginatedData<User>\n}\n","import {\n ADMIN_API_METHOD_TYPES,\n type AdminToastRequest,\n type ADMIN_MESSAGE_TYPES,\n type AdminMessagePayloads,\n} from './types.admin'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport * as appErrorsAdmin from './app-errors.admin'\nimport * as envAdmin from './env.admin'\nimport * as canvasAdmin from './canvas.admin'\nimport * as metadataTemplatesAdmin from './metadataTemplates.admin'\nimport * as filesAdmin from './files.admin'\nimport * as contentAdmin from './content.admin'\nimport * as usersAdmin from './users.admin'\n/**\n * Subscribe to a given event type by its key.\n *\n * @param type The event type/key to subscribe to.\n * @param handler The handler function to call when the event is emitted.\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\n\nasync function on(\n type: (typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES],\n handler: (data: AdminMessagePayloads[typeof type]) => Promise<void>,\n) {\n const pr = await usePostRobot()\n const listener = pr.on(type, (e) => handler(e.data))\n\n // return the cleanup function\n return listener.cancel\n}\n\n/**\n * Show a toast message to the user. Compatible with the UI API version of this method.\n *\n * @example\n * useAdmin().toast({ type: 'info', message: 'Hello, world!' })\n */\nasync function toast(payload: AdminToastRequest): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, ADMIN_API_METHOD_TYPES.TOAST, payload)\n}\n\nexport default {\n on,\n toast,\n ...appErrorsAdmin,\n ...contentAdmin,\n ...envAdmin,\n ...canvasAdmin,\n ...metadataTemplatesAdmin,\n ...filesAdmin,\n ...usersAdmin,\n}\n","import type { PitcherEnv } from '@sdk/interfaces'\n\nexport const DSR_MESSAGE = 'DSR_MESSAGE' as const\n\nexport const DSR_MESSAGE_TYPES = {\n ENV_CHANGED: 'dsr_env_changed',\n} as const\n\nexport const DSR_API_TYPES = {\n DSR_REQUEST: 'DSR_REQUEST',\n DSR_RESPONSE: 'DSR_RESPONSE',\n} as const\n\nexport const DSR_API_METHOD_TYPES = {\n GET_ENV: 'dsr_get_env',\n GET_FILE: 'dsr_get_file',\n GET_APP_CONFIG: 'dsr_get_app_config',\n CLOSE: 'dsr_close',\n DSR_EMBEDDABLE_READY: 'dsr_embeddable_ready',\n} as const\n\nexport type DsrMessagePayloads = {\n [DSR_MESSAGE_TYPES.ENV_CHANGED]: DsrEnv\n}\n\nexport type DsrRequest<Payload = any> = {\n id: string\n type: (typeof DSR_API_TYPES)['DSR_REQUEST']\n body: {\n type: (typeof DSR_API_METHOD_TYPES)[keyof typeof DSR_API_METHOD_TYPES]\n data: Payload\n }\n}\n\nexport type DsrResponse<Response = any> = {\n id: string\n type: (typeof DSR_API_TYPES)['DSR_RESPONSE']\n body: Response\n}\n\nexport type DsrMessage<Payload = any> = {\n id: string\n type: typeof DSR_MESSAGE\n body: {\n type: (typeof DSR_MESSAGE_TYPES)[keyof typeof DSR_MESSAGE_TYPES]\n data: Payload\n }\n}\n\n// TODO: Request / message payloads to the dsr via embeddable's iframe\n\n// Responses / message payloads from the dsr\nexport type DsrEnv = Pick<PitcherEnv, 'mode' | 'launch_darkly' | 'client_type' | 'state'> & {\n pitcher?: {\n access_token?: string\n }\n}\n","import { omit } from 'lodash-es'\n\nimport { DSR_API_METHOD_TYPES, type DsrEnv } from '@lib/sdk/api/modules/dsr/types.dsr'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Fetches the necessary info for the app to know where it is embedded.\n *\n * Check out [usePitcherApi().getEnv()](../internal/functions/createHighLevelApi.md#getenv) for more information.\n *\n * @example\n * useDsr().getEnv()\n */\nexport async function getEnv(): Promise<DsrEnv> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, DSR_API_METHOD_TYPES.GET_ENV)\n const env = <DsrEnv>response.data\n return omit(env, 'pitcher.org_config.segment')\n}\n","import { DSR_API_METHOD_TYPES } from '@sdk/api/modules/dsr/types.dsr'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\n\n/**\n * Signal to DSR that the app is ready to be shown.\n *\n * @example\n * useDsr().embeddableReady()\n */\nexport async function embeddableReady(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, DSR_API_METHOD_TYPES.DSR_EMBEDDABLE_READY)\n}\n","import { DSR_API_METHOD_TYPES } from '@lib/sdk/api/modules/dsr/types.dsr'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport type { File } from '@openapi'\n/**\n * Closes the already open file that was opened via api or by the user.\n *\n * @example\n * dsrApi.close()\n */\nexport async function close(): Promise<void> {\n const pr = await usePostRobot()\n await pr.send(window.parent, DSR_API_METHOD_TYPES.CLOSE)\n}\n\n/**\n * Fetches a file by ID.\n *\n * @example\n * dsrApi.getFile({ id: 'my-file-id' })\n */\nexport async function getFile(payload: { id: File['id'] }): Promise<File> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, DSR_API_METHOD_TYPES.GET_FILE, payload)\n return response.data as File\n}\n\n/**\n * Retrieves the configuration for the calling app.\n * App name can be optionally provided, otherwise it will be derived from the caller's URL.\n *\n * @example\n * dsrApi.getAppConfig() // for self config\n * // or with explicit app name\n * dsrApi.getAppConfig({ app_name: 'my-app' })\n */\nexport async function getAppConfig(payload?: { app_name?: string }): Promise<Record<string, any>> {\n const pr = await usePostRobot()\n const response = await pr.send(window.parent, DSR_API_METHOD_TYPES.GET_APP_CONFIG, payload ?? {})\n return response.data as Record<string, any>\n}\n","import type { DSR_MESSAGE_TYPES, DsrMessagePayloads } from './types.dsr'\nimport { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport * as envDsr from './env.dsr'\nimport * as loadingDsr from './loading.dsr'\nimport * as filesDsr from './files.dsr'\n\n/**\n * Subscribe to a given event type by its key.\n *\n * @param type The event type/key to subscribe to.\n * @param handler The handler function to call when the event is emitted.\n * @returns A Promise resolving to a cleanup function to unsubscribe from the event.\n */\nasync function on(\n type: (typeof DSR_MESSAGE_TYPES)[keyof typeof DSR_MESSAGE_TYPES],\n handler: (data: DsrMessagePayloads[typeof type]) => Promise<void>,\n) {\n const pr = await usePostRobot()\n const listener = pr.on(type, (e) => handler(e.data))\n\n // return the cleanup function\n return listener.cancel\n}\n\nexport default {\n on,\n ...envDsr,\n ...loadingDsr,\n ...filesDsr,\n}\n","export const PEER_CONNECTIVITY_EVENT = 'peer_connectivity_event'\n\nexport const PeerConnectivityActions = {\n CANVAS_PAGE_NEXT: 'canvas.navigate.next',\n CANVAS_PAGE_PREVIOUS: 'canvas.navigate.previous',\n CANVAS_OPEN: 'canvas.open',\n CANVAS_CLOSE: 'canvas.close',\n ROUTE_CHANGE: 'route.change',\n FILE_OPEN: 'file.open',\n FILE_CLOSE: 'file.close',\n BROWSER_FOLDER_OPEN: 'browser.folder.open',\n} as const\n\nexport const DEFAULT_PEER_CONNECTIVITY_VERSION = 1\nexport const PEER_CONNECTIVITY_HANDLER_MATCH_ALL = '*'\n","import { PitcherEventName, usePitcherApi } from '@sdk/main'\n\nimport { DEFAULT_PEER_CONNECTIVITY_VERSION, PEER_CONNECTIVITY_HANDLER_MATCH_ALL } from './peerConnectivity.constants'\nimport type {\n PeerConnectivityDispatchOptions,\n PeerConnectivityEvent,\n PeerConnectivityEventHandler,\n PeerConnectivityEventPayload,\n} from './peerConnectivity.types'\n\ntype HandlerMap = Map<string, Set<PeerConnectivityEventHandler>>\n\nconst handlers: HandlerMap = new Map()\nlet unsubscribeNativeListener: (() => void) | null = null\nlet peerConnectivitySupportPromise: Promise<boolean> | null = null\n\nfunction generateCorrelationId(): string {\n const cryptoApi = globalThis.crypto\n if (cryptoApi?.randomUUID) {\n return cryptoApi.randomUUID()\n }\n return `peer-${Date.now().toString(16)}-${Math.random().toString(16).slice(2)}`\n}\n\nfunction normalizeEventPayload(\n payload: PeerConnectivityEventPayload,\n defaults?: Partial<PeerConnectivityEvent>,\n): PeerConnectivityEvent {\n const metadata = payload.metadata ?? {}\n const normalized: PeerConnectivityEvent = {\n version: payload.version ?? defaults?.version ?? DEFAULT_PEER_CONNECTIVITY_VERSION,\n action: payload.action,\n context: payload.context ?? defaults?.context,\n data: payload.data ?? defaults?.data,\n metadata: {\n correlationId: metadata.correlationId ?? defaults?.metadata?.correlationId ?? generateCorrelationId(),\n source: metadata.source ?? defaults?.metadata?.source ?? 'web',\n timestamp: metadata.timestamp ?? defaults?.metadata?.timestamp ?? Date.now(),\n extras: {\n ...(defaults?.metadata?.extras ?? {}),\n ...(metadata.extras ?? {}),\n },\n },\n }\n\n return normalized\n}\n\nfunction addHandler(action: string, handler: PeerConnectivityEventHandler) {\n const key = action || PEER_CONNECTIVITY_HANDLER_MATCH_ALL\n const handlerSet = handlers.get(key) ?? new Set<PeerConnectivityEventHandler>()\n handlerSet.add(handler)\n handlers.set(key, handlerSet)\n}\n\nfunction removeHandler(action: string, handler: PeerConnectivityEventHandler) {\n const handlerSet = handlers.get(action)\n if (!handlerSet) {\n return\n }\n handlerSet.delete(handler)\n if (!handlerSet.size) {\n handlers.delete(action)\n }\n if (!handlers.size) {\n teardownNativeListener()\n }\n}\n\nasync function ensureNativeListener() {\n if (unsubscribeNativeListener) {\n return\n }\n\n const api = usePitcherApi()\n const listener = (event: PeerConnectivityEventPayload) => {\n try {\n const normalized = normalizeEventPayload(event, {\n metadata: {\n correlationId: generateCorrelationId(),\n source: 'native',\n timestamp: Date.now(),\n extras: {},\n },\n })\n dispatchEvent(normalized)\n } catch (error) {\n console.error('[peer-connectivity] Failed to handle native event:', error)\n }\n }\n\n api.on(PitcherEventName.PEER_CONNECTIVITY_EVENT, listener as any)\n unsubscribeNativeListener = () => {\n api.off(PitcherEventName.PEER_CONNECTIVITY_EVENT, listener as any)\n unsubscribeNativeListener = null\n }\n}\n\nfunction teardownNativeListener() {\n if (unsubscribeNativeListener) {\n unsubscribeNativeListener()\n unsubscribeNativeListener = null\n }\n}\n\nfunction dispatchEvent(event: PeerConnectivityEvent) {\n const specificHandlers = handlers.get(event.action)\n const wildcardHandlers = handlers.get(PEER_CONNECTIVITY_HANDLER_MATCH_ALL)\n\n if (!specificHandlers && !wildcardHandlers) {\n return\n }\n\n const payload = Object.freeze(event)\n specificHandlers?.forEach((handler) => {\n try {\n handler(payload)\n } catch (error) {\n console.error(`[peer-connectivity] Handler error for action \"${event.action}\":`, error)\n }\n })\n wildcardHandlers?.forEach((handler) => {\n try {\n handler(payload)\n } catch (error) {\n console.error('[peer-connectivity] Handler error for wildcard action:', error)\n }\n })\n}\n\nasync function isPeerConnectivitySupported(): Promise<boolean> {\n if (!peerConnectivitySupportPromise) {\n const api = usePitcherApi()\n peerConnectivitySupportPromise = api\n .getEnv()\n .then((env) => env.mode === 'IOS')\n .catch((error) => {\n console.error('[peer-connectivity] Failed to determine environment support:', error)\n return false\n })\n }\n\n return peerConnectivitySupportPromise\n}\n\nfunction normalizeActions(actionOrActions: string | string[]): string[] {\n return Array.isArray(actionOrActions) ? actionOrActions : [actionOrActions]\n}\n\nexport function registerPeerConnectivityHandler(\n actionOrActions: string | string[],\n handler: PeerConnectivityEventHandler,\n): () => void {\n normalizeActions(actionOrActions).forEach((action) => {\n addHandler(action, handler)\n })\n\n ensureNativeListener().catch((error) => {\n console.error('[peer-connectivity] Failed to register native listener:', error)\n })\n\n return () => {\n normalizeActions(actionOrActions).forEach((action) => {\n removeHandler(action, handler)\n })\n }\n}\n\nexport async function sendPeerConnectivityEvent(\n payload: PeerConnectivityEventPayload,\n options?: PeerConnectivityDispatchOptions,\n): Promise<void> {\n if (!payload?.action) {\n console.warn('[peer-connectivity] Attempted to send an event without action')\n return\n }\n\n if (options?.isFeatureEnabled === false) {\n return\n }\n\n const isSupported = await isPeerConnectivitySupported()\n if (!isSupported) {\n return\n }\n\n const api = usePitcherApi()\n const normalizedPayload = normalizeEventPayload(payload, {\n metadata: {\n correlationId: generateCorrelationId(),\n source: 'web',\n timestamp: Date.now(),\n extras: {},\n },\n })\n\n try {\n await api.broadcast({\n type: PitcherEventName.PEER_CONNECTIVITY_EVENT,\n body: normalizedPayload,\n })\n } catch (error) {\n console.error('[peer-connectivity] Failed to send event:', error)\n }\n}\n","import { isEqual, snakeCase } from 'lodash-es'\n\nimport type { ApiOptions } from './interfaces'\nimport { createHighLevelApi } from '@sdk/api/HighLevelApi'\nimport ui from '@sdk/api/modules/ui'\nimport admin from '@sdk/api/modules/admin'\nimport dsr from '@sdk/api/modules/dsr'\n\nexport * from '@sdk/interfaces'\nexport * from '@sdk/payload.types'\nexport * from '@sdk/api/modules/ui/types.ui'\nexport * from '@sdk/api/modules/admin/types.admin'\nexport * from '@sdk/api/modules/dsr/types.dsr'\nexport * from '@sdk/peer-connectivity'\n\nexport let highLevelApi: ReturnType<typeof createHighLevelApi>\n\nlet prevOptions: ApiOptions | undefined\n\n/**\n * Check out the returned object documentation for the list of available methods.\n */\nexport function usePitcherApi(options?: ApiOptions): ReturnType<typeof createHighLevelApi> {\n if (!highLevelApi || !isEqual(options, prevOptions)) {\n highLevelApi = createHighLevelApi(options)\n prevOptions = options\n }\n\n return highLevelApi\n}\n\nfunction enhanceWithSnakeCase<T extends Record<string, any>>(api: T): T {\n Object.entries(api).forEach(([key, value]) => {\n const newKey = snakeCase(key)\n if (newKey && !api[newKey]) {\n ;(api as any)[newKey] = value\n }\n })\n return api\n}\n\nconst uiApi = enhanceWithSnakeCase(ui)\nconst adminApi = enhanceWithSnakeCase(admin)\nconst dsrApi = enhanceWithSnakeCase(dsr)\n\n/**\n * API methods available in the CatalogIQ default UI.\n *\n * You can store the API object in a variable and call the methods directly.\n *\n * Most methods have a `snake_case` and `camelCase` version of their name available.\n *\n * ```ts\n * const uiApi = useUi()\n * ```\n *\n * @returns UI API object with methods described below.\n */\nexport function useUi() {\n return uiApi\n}\n\n/**\n * API methods available in the CatalogIQ Admin.\n *\n * You can store the API object in a variable and call the methods directly.\n *\n * Most methods have a `snake_case` and `camelCase` version of their name available.\n *\n * ```ts\n * import { useAdmin } from '@pitcher/js-api'\n *\n * const adminApi = useAdmin()\n * ```\n */\nexport function useAdmin() {\n return adminApi\n}\n\n/**\n * API methods available in the CatalogIQ default UI.\n *\n * You can store the API object in a variable and call the methods directly.\n *\n * Most methods have a `snake_case` and `camelCase` version of their name available.\n *\n * ```ts\n * import { useDsr } from '@pitcher/js-api'\n *\n * const dsrApi = useDsr()\n * ```\n */\nexport function useDsr() {\n return dsrApi\n}\n\nexport type JsApiLocation = 'ui' | 'admin' | 'dsr' | 'impact'\n\nexport function getAvailableApis(): JsApiLocation[] {\n if (typeof window === 'undefined') throw new Error('getAvailableApis: window is not defined')\n const location = window.parent.jsApiLocation\n return location === 'ui' ? ['ui', 'impact'] : [location ?? 'impact']\n}\n\n/**\n * This method returns an object containing the API methods that are available to you in a given environment, whether that be the Canvas, UI, Admin or DSR.\n *\n * - CatalogIQ UI - the method will return an object containing methods available in both `usePitcherApi` and `useUi`\n * - CatalogIQ DSR - the method will return the same result as `useDsr`\n * - CatalogIQ Admin - the method will return the same result as `useAdmin`\n *\n * ```ts\n * import { useApi } from '@pitcher/js-api'\n *\n * const api = useApi()\n * ```\n */\nexport function useApi(options?: ApiOptions) {\n if (typeof window === 'undefined') throw new Error('useApi: window is not defined')\n const location = window.parent.jsApiLocation\n switch (location) {\n case 'ui':\n return { ...usePitcherApi(), ...useUi(), ui: useUi(), impact: usePitcherApi() } // merge, but also expose as separate keys to avoid collisions\n case 'admin':\n return useAdmin()\n case 'dsr':\n return { ...useDsr(), broadcast: usePitcherApi().broadcast }\n case 'impact':\n return usePitcherApi(options) // first level (slotty and custom UIs)\n default:\n return usePitcherApi(options)\n }\n}\n","import pr from 'post-robot'\nwindow.postRobot = pr\nexport * from './main'\n"],"names":["this","require$$0","open","getEnv","getCanvases","createCanvas","updateCanvas","getCanvas","getFiles","getAppConfig","getFile","getUsers","toast","smartField","converted","query","getInstanceMetadataTemplates","close","PitcherMessageType","PitcherResponseStatus","PitcherEventName","PitcherBroadcastedEventName","PitcherExternalEventName","res","uuid","selectContent","selectCollectionContent","selectAgendaContent","embeddableReady","captureAppError","openCanvasOverlay","openCollectionPlayerOverlay","selectCanvases","on"],"mappings":"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","x_google_ignoreList":[0,1,27,28,29]}