@pitcher/js-api 1.23.0 → 1.24.0-beta.1

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 (172) hide show
  1. package/README.md +7 -0
  2. package/js-api.esm.js +17 -0
  3. package/js-api.esm.js.map +1 -1
  4. package/js-api.umd.min.js +9 -9
  5. package/js-api.umd.min.js.map +1 -1
  6. package/lib/apps/agenda-selector/App.vue.d.ts +9 -0
  7. package/lib/apps/agenda-selector/components/AgendaGroup.vue.d.ts +7 -0
  8. package/lib/apps/agenda-selector/components/AgendaItem.vue.d.ts +29 -0
  9. package/lib/apps/agenda-selector/components/AgendaToolbar.vue.d.ts +2 -0
  10. package/lib/apps/agenda-selector/components/AppFooter.vue.d.ts +8 -0
  11. package/lib/apps/agenda-selector/components/AppHeader.vue.d.ts +6 -0
  12. package/lib/apps/agenda-selector/components/modals/ApplicationBlockSelectorModal.vue.d.ts +8 -0
  13. package/lib/apps/agenda-selector/components/modals/MoveItemModal.vue.d.ts +15 -0
  14. package/lib/apps/agenda-selector/composables/application-block-selector-modal.use.d.ts +17 -0
  15. package/lib/apps/agenda-selector/composables/move-item-modal.use.d.ts +128 -0
  16. package/lib/apps/agenda-selector/composables/table-input.use.d.ts +15 -0
  17. package/lib/apps/agenda-selector/stores/app.store.d.ts +32 -0
  18. package/lib/apps/agenda-selector/types/agenda.type.d.ts +28 -0
  19. package/lib/apps/agenda-selector/types/common.type.d.ts +8 -0
  20. package/lib/apps/agenda-selector/types/move-item-modal.type.d.ts +5 -0
  21. package/lib/apps/agenda-selector/utils/data.util.d.ts +14 -0
  22. package/lib/apps/agenda-selector/utils/theme-overrides.util.d.ts +8 -0
  23. package/lib/apps/browser/App.vue.d.ts +3 -1
  24. package/lib/apps/browser/components/UploadFilesDropzone/UploadFilesDropzone.vue.d.ts +5 -1
  25. package/lib/apps/browser/stores/api.d.ts +28 -6
  26. package/lib/apps/browser/stores/upload.d.ts +12 -12
  27. package/lib/apps/canvas-builder/App.vue.d.ts +56 -32
  28. package/lib/apps/canvas-builder/components/container/EditableComponent/EditableComponent.vue.d.ts +9 -0
  29. package/lib/apps/canvas-builder/components/container/EditableComponent/EditableComponentActionToolbar.vue.d.ts +10 -10
  30. package/lib/apps/canvas-builder/components/container/EditableComponent/EditableComponentLegacy.vue.d.ts +9 -0
  31. package/lib/apps/canvas-builder/components/container/EditableComponent/EditableComponentRevamp.vue.d.ts +13 -0
  32. package/lib/apps/canvas-builder/components/container/EditableComponent/ResizeHandles.vue.d.ts +23 -0
  33. package/lib/apps/canvas-builder/components/ui/Block/Block.helpers.d.ts +2 -0
  34. package/lib/apps/canvas-builder/components/ui/Block/Block.types.d.ts +7 -0
  35. package/lib/apps/canvas-builder/components/ui/{CollectionPlayer/CollectionSelector.vue.d.ts → Block/BlockToolbar.vue.d.ts} +6 -11
  36. package/lib/apps/canvas-builder/components/ui/CollectionPlayer/CollectionPlayer.vue.d.ts +4 -3
  37. package/lib/apps/canvas-builder/components/ui/CollectionPlayer/{CollectionPlayer.edit.vue.d.ts → CollectionPlayerEmpty.vue.d.ts} +5 -5
  38. package/lib/apps/canvas-builder/components/ui/Multimedia/Multimedia.raw.vue.d.ts +3 -1
  39. package/lib/apps/canvas-builder/components/ui/Multimedia/Multimedia.vue.d.ts +4 -5
  40. package/lib/apps/canvas-builder/components/ui/Scribble/Scribble.vue.d.ts +34 -0
  41. package/lib/apps/canvas-builder/components/ui/Scribble/scribble.helpers.d.ts +5 -0
  42. package/lib/apps/canvas-builder/components/ui/SectionList/SectionSelector.helpers.d.ts +6 -1
  43. package/lib/apps/canvas-builder/components/ui/SectionList/SectionSelectorSelected.vue.d.ts +2 -2
  44. package/lib/apps/canvas-builder/composables/useCanvas.d.ts +519 -439
  45. package/lib/apps/canvas-builder/composables/useCanvasBlocks.d.ts +117 -94
  46. package/lib/apps/canvas-builder/composables/useCanvasDnd.d.ts +1 -1
  47. package/lib/apps/canvas-builder/composables/useCanvasHistory.d.ts +104 -86
  48. package/lib/apps/canvas-builder/composables/useCanvasPages.d.ts +1 -1
  49. package/lib/apps/canvas-builder/composables/useCanvasSectionOverrides.d.ts +1 -1
  50. package/lib/apps/canvas-builder/composables/useCanvasTheme.d.ts +38 -0
  51. package/lib/apps/canvas-builder/composables/useCanvasVisibility.d.ts +1 -1
  52. package/lib/apps/canvas-builder/composables/useCollectionSelector.d.ts +9 -0
  53. package/lib/apps/canvas-builder/composables/useComponentStyle.d.ts +22 -0
  54. package/lib/apps/canvas-builder/composables/useContentSelector.d.ts +5 -14
  55. package/lib/apps/canvas-builder/composables/useCrmShape.d.ts +28 -0
  56. package/lib/apps/canvas-builder/composables/useReorderComponent.d.ts +4 -2
  57. package/lib/apps/canvas-builder/types/canvas.d.ts +22 -31
  58. package/lib/apps/canvas-builder/util/canvas.util.d.ts +6 -5
  59. package/lib/apps/canvas-builder/util/url.d.ts +1 -0
  60. package/lib/apps/canvas-selector/stores/app.d.ts +28 -0
  61. package/lib/apps/collection-player/App.vue.d.ts +33 -0
  62. package/lib/apps/collection-player/components/AppFooter.vue.d.ts +2 -0
  63. package/lib/apps/collection-player/components/AppHeader.vue.d.ts +2 -0
  64. package/lib/apps/collection-player/components/AppWrapper.vue.d.ts +17 -0
  65. package/lib/apps/collection-player/components/MainContent.vue.d.ts +2 -0
  66. package/lib/apps/{canvas-builder/components/ui/CollectionPlayer → collection-player}/components/MainImage.vue.d.ts +3 -3
  67. package/lib/apps/collection-player/components/TableOfContents.vue.d.ts +2 -0
  68. package/lib/apps/collection-player/composables/focus-trap.use.d.ts +9 -0
  69. package/lib/apps/collection-player/composables/fullscreen.use.d.ts +10 -0
  70. package/lib/apps/{canvas-builder/components/ui/CollectionPlayer/composables/gestures.use.d.ts → collection-player/composables/moving-group-gestures.use.d.ts} +6 -3
  71. package/lib/apps/collection-player/composables/slide-direction.use.d.ts +11 -0
  72. package/lib/apps/collection-player/composables/tracking.use.d.ts +10 -0
  73. package/lib/apps/{canvas-builder/components/ui/CollectionPlayer → collection-player}/composables/zoom.use.d.ts +2 -2
  74. package/lib/apps/collection-player/export.d.ts +3 -0
  75. package/lib/apps/collection-player/stores/app.store.d.ts +77 -0
  76. package/lib/apps/collection-player/types/collection-player.type.d.ts +26 -0
  77. package/lib/apps/collection-player/utils/node.util.d.ts +4 -0
  78. package/lib/apps/collection-player/utils/slide-type.util.d.ts +5 -0
  79. package/lib/apps/collection-selector/App.vue.d.ts +29 -0
  80. package/lib/apps/collection-selector/components/AppFooter.vue.d.ts +8 -0
  81. package/lib/apps/collection-selector/components/AppHeader.vue.d.ts +6 -0
  82. package/lib/apps/collection-selector/components/CollectionGroup.vue.d.ts +7 -0
  83. package/lib/apps/collection-selector/components/CollectionItem.vue.d.ts +21 -0
  84. package/lib/apps/collection-selector/components/CollectionToolbar.vue.d.ts +2 -0
  85. package/lib/apps/{canvas-builder/components/ui/CollectionPlayer/CollectionGroupSelector.vue.d.ts → collection-selector/components/modals/MoveSlideModal.vue.d.ts} +7 -13
  86. package/lib/apps/collection-selector/composables/move-slide-modal.use.d.ts +106 -0
  87. package/lib/apps/collection-selector/composables/table-input.use.d.ts +15 -0
  88. package/lib/apps/collection-selector/stores/app.store.d.ts +156 -0
  89. package/lib/apps/collection-selector/types/collection-selector.type.d.ts +12 -0
  90. package/lib/apps/collection-selector/types/common.type.d.ts +18 -0
  91. package/lib/apps/collection-selector/types/move-slide-modal.type.d.ts +5 -0
  92. package/lib/apps/collection-selector/utils/content-selector-adapter.util.d.ts +41 -0
  93. package/lib/apps/collection-selector/utils/data.util.d.ts +23 -0
  94. package/lib/apps/collection-selector/utils/theme-overrides.util.d.ts +8 -0
  95. package/lib/apps/content-selector/appTypes.d.ts +7 -29
  96. package/lib/apps/content-selector/components/Content/ActionsToolbar/ActionsToolbar.vue.d.ts +2 -0
  97. package/lib/apps/content-selector/components/Content/AllContent/List/FoldersFilesListItem.vue.d.ts +6 -3
  98. package/lib/apps/content-selector/stores/api.d.ts +252 -0
  99. package/lib/apps/content-selector/stores/app.d.ts +42 -7
  100. package/lib/components/CBackgroundImageThemeOptions/CBackgroundImageThemeOptions.vue.d.ts +42 -0
  101. package/lib/components/CCanvasSelector/CCanvasSelector.vue.d.ts +3 -0
  102. package/lib/components/CComponentListItem/CComponentListItem.vue.d.ts +9 -2
  103. package/lib/components/CComponentThemeOptions/CComponentThemeOptions.vue.d.ts +55 -15
  104. package/lib/components/CDataTable/CDataTableEdit.use.d.ts +1 -1
  105. package/lib/components/CFileViewer/pdf/CFileViewerCopyPagesMetadata.pdf.vue.d.ts +5 -1
  106. package/lib/components/CGlobalSearch/CGlobalSearch.vue.d.ts +3 -2
  107. package/lib/components/CIcon/CIcon.vue.d.ts +1 -0
  108. package/lib/components/CInfoBadge/CInfoBadge.vue.d.ts +1 -1
  109. package/lib/components/CRichTextEditor/CRichTextEditor.vue.d.ts +8 -0
  110. package/lib/components/CRichTextEditor/components/CContentLinkToolbar.vue.d.ts +8 -0
  111. package/lib/components/CRichTextEditor/components/CEditorMenu.vue.d.ts +8 -0
  112. package/lib/components/CRichTextEditor/extensions/contentLink.d.ts +9 -3
  113. package/lib/components/CSearch/CSearchOnClick.vue.d.ts +15 -1
  114. package/lib/components/CSearchFilters/CSearchFilters.types.d.ts +5 -0
  115. package/lib/components/CSearchFilters/CSearchFilters.vue.d.ts +22 -1
  116. package/lib/components/CSingleFileSelector/CSingleFileSelector.vue.d.ts +9 -3
  117. package/lib/components/CTable/CTable.vue.d.ts +2 -2
  118. package/lib/components/CTableColumnsSettings/CTableColumnsSettings.vue.d.ts +2 -2
  119. package/lib/components/CTableTag/CTableTag.vue.d.ts +1 -1
  120. package/lib/components/canvas-blocks/CBlockManagement.vue.d.ts +6 -6
  121. package/lib/components/canvas-templates/CTemplateManagement.vue.d.ts +39 -54
  122. package/lib/components/canvas-templates/CTemplateManagementToolbar.vue.d.ts +26 -35
  123. package/lib/components/savedCanvases/CSavedCanvasesManagement.vue.d.ts +32 -43
  124. package/lib/components/savedCanvases/CSavedCanvasesManagementShareCanvas.use.d.ts +1 -0
  125. package/lib/components/savedCanvases/CSavedCanvasesManagementToolbar.vue.d.ts +25 -33
  126. package/lib/components/savedCanvases/smartFolders/SmartFolders.use.d.ts +11 -6
  127. package/lib/components/sections/CSectionManagement.vue.d.ts +6 -6
  128. package/lib/composables/useConfirmation.d.ts +1 -0
  129. package/lib/composables/useToast.d.ts +6 -5
  130. package/lib/constants/appsDb.const.d.ts +2 -0
  131. package/lib/main.lib.d.ts +10 -0
  132. package/lib/sdk/api/modules/admin/types.admin.d.ts +20 -1
  133. package/lib/sdk/api/modules/ui/content.ui.d.ts +31 -1
  134. package/lib/sdk/api/modules/ui/index.d.ts +2 -0
  135. package/lib/sdk/api/modules/ui/types.ui.d.ts +29 -2
  136. package/lib/sdk/interfaces.d.ts +6 -0
  137. package/lib/sdk/main.d.ts +6 -0
  138. package/lib/types/app.d.ts +1 -1
  139. package/lib/types/background.d.ts +5 -0
  140. package/lib/types/common.d.ts +2 -0
  141. package/lib/types/instanceSettings.types.d.ts +2 -0
  142. package/lib/types/launchDarkly.types.d.ts +3 -1
  143. package/lib/types/organizationSettings.types.d.ts +1 -1
  144. package/lib/types/selections.d.ts +19 -0
  145. package/lib/util/eval.d.ts +1 -0
  146. package/package.json +1 -1
  147. package/types/openapi/index.d.ts +2 -0
  148. package/types/openapi/models/Canvas.d.ts +2 -0
  149. package/types/openapi/models/CanvasCreate.d.ts +2 -0
  150. package/types/openapi/models/CanvasRecommendedFile.d.ts +4 -0
  151. package/types/openapi/models/CanvasRetrieve.d.ts +2 -0
  152. package/types/openapi/models/CanvasUpdate.d.ts +2 -0
  153. package/types/openapi/models/DeletedCanvas.d.ts +2 -0
  154. package/types/openapi/models/DeletedFavorite.d.ts +2 -2
  155. package/types/openapi/models/DeletedFile.d.ts +4 -0
  156. package/types/openapi/models/Favorite.d.ts +2 -2
  157. package/types/openapi/models/FavoriteCreate.d.ts +2 -2
  158. package/types/openapi/models/FavoriteFolder.d.ts +6 -0
  159. package/types/openapi/models/FavoriteFolderRequest.d.ts +3 -0
  160. package/types/openapi/models/FavoriteUpdate.d.ts +2 -2
  161. package/types/openapi/models/File.d.ts +4 -0
  162. package/types/openapi/models/FileCreate.d.ts +4 -0
  163. package/types/openapi/models/FileRetrieve.d.ts +4 -0
  164. package/types/openapi/models/FileUpdate.d.ts +4 -0
  165. package/types/openapi/models/SearchCanvas.d.ts +1 -0
  166. package/lib/apps/canvas-builder/components/ui/CollectionPlayer/CollectionListItem.vue.d.ts +0 -37
  167. package/lib/apps/canvas-builder/components/ui/CollectionPlayer/CollectionPlayer.raw.vue.d.ts +0 -19
  168. package/lib/apps/canvas-builder/components/ui/CollectionPlayer/composables/tracking.use.d.ts +0 -4
  169. package/lib/apps/canvas-builder/components/ui/CollectionPlayer/utils/type.util.d.ts +0 -5
  170. package/lib/apps/canvas-builder/composables/useCollectionPlayer.d.ts +0 -31
  171. /package/lib/apps/{canvas-builder/components/ui/CollectionPlayer → collection-player}/composables/arrow-keys.use.d.ts +0 -0
  172. /package/lib/apps/{canvas-builder/components/ui/CollectionPlayer → collection-player}/composables/image-cache.use.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/events.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/sdk/api/modules/query.ts","../../src/lib/sdk/api/modules/folders.ts","../../src/lib/sdk/api/modules/favorites.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/utils/eventEmitter.ts","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/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/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/index.ts","../../src/lib/sdk/api/modules/admin/types.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/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/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 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')\n}\n\ntype UpdateEnvParams = Pick<User, 'language' | 'dark_mode'>\n\nexport function updateMyUser(payload: UpdateEnvParams): Promise<User> {\n return this.API.request('update_my_user', payload)\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 { highLevelApi } from '@sdk/main'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { Event, EventRequest, PatchedEventRequest } from '@openapi'\n\nexport function getEvents(payload: Partial<EventRequest>): Promise<PaginatedData<Event>> {\n return highLevelApi.API.request('get_events', payload)\n}\n\nexport function createEvent(payload: EventRequest): Promise<Event> {\n return highLevelApi.API.request('create_event', payload)\n}\n\nexport function updateEvent(payload: PatchedEventRequest): Promise<Event> {\n return highLevelApi.API.request('update_event', payload)\n}\n\nexport function deleteEvent(payload: Partial<Event>): Promise<void> {\n return highLevelApi.API.request('delete_event', payload)\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'\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 * 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","import type { File, FileRetrieve, PaginatedFileList, FileUpdateRequest, FileRevision } from '@openapi'\nimport type { GetRecentFilesPayload, 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 getRecentFiles(payload?: GetRecentFilesPayload): Promise<File[]> {\n return this.API.request('get_recent_files', payload || {})\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 return 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', { 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","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","import { highLevelApi } from '@sdk/main'\nimport type { QueryPayload } from '@sdk/payload.types'\n\nexport function query(payload: QueryPayload) {\n return highLevelApi.API.request('query', payload)\n}\n","import type { File, Folder, FolderRetrieve, FolderCreateRequest, FolderUpdateRequest } from '@openapi'\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 { Favorite, FavoriteCreateRequest, PaginatedFavoriteList } from '@openapi'\nimport type { GetFavoritesParams } from '@lib/types/favorites'\n\n/**\n * Get a list of favorites\n */\nexport function getFavorites(payload?: GetFavoritesParams): Promise<PaginatedFavoriteList> {\n return this.API.request('get_favorites', payload)\n}\n\n/**\n * Create a favorite\n */\nexport function createFavorite(payload: FavoriteCreateRequest): Promise<Favorite> {\n return this.API.request('create_favorite', payload)\n}\n\n/**\n * Delete a favorite\n */\nexport function deleteFavorite(payload: { favorite_id: Favorite['id'] }): Promise<void> {\n return this.API.request('delete_favorite', payload)\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 } 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","import type { SharePayload, ShareResponse } 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","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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFNckMsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO0FBRS9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFNekQsT0FBTyxDQUNMLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixHQUFHO1FBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsR0FBRztRQUNILFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUM1QixDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFDNUMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQU8xQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDcEIsTUFBTSxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsZUFBZSxTQUFTLENBQUMifQ==","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm5nLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm5nLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsSUFBSSxlQUEwRCxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxPQUFPLFVBQVUsR0FBRztJQUV6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwwR0FBMEcsQ0FDM0csQ0FBQztRQUNKLENBQUM7UUFFRCxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMifQ==","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmF0aXZlLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQ2QsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdkYsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDIn0=","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random || (options.rng || rng)();\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsU0FBUyxFQUFFLENBQUMsT0FBeUIsRUFBRSxHQUFnQixFQUFFLE1BQWU7SUFDdEUsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRXhCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFHdEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBR2xDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUVyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxlQUFlLEVBQUUsQ0FBQyJ9","import type { Emitter } from './utils/eventEmitter'\nimport type { Favorite, File, User, CanvasRetrieve } from '@openapi'\nimport type { PitcherOrg } from '@lib/types/organization.types'\nimport type { PitcherInstance } from '@lib/types/instance.types'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { LaunchDarklyEnv } from '@lib/types/launchDarkly.types'\nimport type { CDP_EVENT_TYPE, CLIENT_TYPE } from '@lib/constants/cdp.const'\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 PitcherEnv {\n mode: 'WEB' | 'IOS' | 'WINDOWS' | 'ANDROID'\n pitcher: {\n token_claims: Record<string, any>\n organization: PitcherOrg\n instance: PitcherInstance\n user: User\n access_token: string\n id_token: string\n }\n launch_darkly?: LaunchDarklyEnv\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 }\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 canvas_id?: string\n edit_mode?: 'true' | 'false'\n post_action?: string\n post_action_path?: string\n}\n\nexport enum PitcherEventName {\n ENV_CHANGED = 'env_changed',\n PHOTOS_CAPTURED = 'photos_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 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}\n\nexport enum PitcherBroadcastedEventName {\n UI_SHOW_MODAL = 'ui:show-modal',\n UI_HIDE_MODAL = 'ui:hide-modal',\n FAVORITES_CHANGED = 'favorites:changed',\n FILE_DOWNLOAD = 'file:download',\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\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'>>\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 * @see iOS-only\n */\n [PitcherEventName.PHOTOS_CAPTURED]: void\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 }\n [PitcherEventName.SUBMIT_POSTCALL_CLICKED]: void\n // broadcasted requests\n [PitcherBroadcastedEventName.UI_SHOW_MODAL]: void\n [PitcherBroadcastedEventName.UI_HIDE_MODAL]: void\n [PitcherBroadcastedEventName.FAVORITES_CHANGED]: { body: PaginatedData<Favorite> }\n [PitcherBroadcastedEventName.FILE_DOWNLOAD]: { body: File['id'] }\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 '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]\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 basePath = origin + '/api/v1'\n const baseCommon = { credentials: 'include' as RequestCredentials }\n\n return {\n get: async (endpoint: string, options: FetchOptions = {}) => {\n const url = new URL(`${basePath}${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(`${basePath}${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(`${basePath}${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(`${basePath}${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(`${basePath}${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 }\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 } 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 env = e\n http = createHttpClient(\n env.pitcher.token_claims['https://pitcher.com/claims/urls'].custom_domain,\n env.pitcher.access_token,\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, ...restParams } = params\n const res = await http.patch(`/canvases/${params.id}`, restParams)\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}\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'\n\nconst TRUNCATE_LENGTH_TRIGGER = 10\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 payload = cloneDeep(snakeCaseKeys(body)) // always 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 if (typeof window !== 'undefined' && window.top) {\n window.top.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 * 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 '@content-selector/appTypes'\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, User, Canvas, CanvasSection, FileContentTypeEnum } from '@openapi'\nimport type { OpenRequestPayload } from '@sdk/payload.types'\nimport type { Range } from '@lib/util/tsHelpers'\n\nexport const UI_MESSAGE = 'UI_MESSAGE' as const\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_OPEN_CANVAS_OVERLAY: 'ui_open_canvas_overlay',\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} 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}\nexport type UiSelectContentResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: (ContentSelectorSelectedFile | ContentSelectorSelectedPage)[]\n}\nexport type UiSelectCanvasesRequest = {\n /** Array of selections */\n selections?: CanvasSelection[]\n allowed_types?: ('canvas' | 'canvas-template' | 'section' | 'section-template')[]\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 UiOpenRequest = OpenRequestPayload\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\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 /** Display mode */\n display_mode: 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","import { usePostRobot } from '@lib/sdk/utils/postrobot'\nimport {\n UI_API_METHOD_TYPES,\n type UiSelectContentRequest,\n type UiSelectContentResponse,\n type UiOpenRequest,\n type UiToastRequest,\n type UiPreselectSfdcMeetingIdRequest,\n type UiPreselectSfdcMeetingIdResponse,\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","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'\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 */\nexport async function updateLocation(payload: UpdateLocationPitcherEvent): Promise<any> {\n const pr = await usePostRobot()\n return pr.send(window.top, 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 UiSelectCanvasesRequest,\n UiSelectCanvasesResponse,\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 * 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 * 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 */\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}): 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 * 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 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'\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}\n","import type { PitcherEnv } from '@sdk/interfaces'\nimport type {\n SelectedPage as ContentSelectorSelectedPage,\n SelectedFile as ContentSelectorSelectedFile,\n} from '@content-selector/stores/app'\nimport type { Selection as ContentSelectorSelection } from '@content-selector/appTypes'\nimport type { Canvas } 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'\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 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 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 TOAST: 'admin_toast',\n UPDATE_CANVAS: 'admin_update_canvas',\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 * 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 * 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\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 /** Array of selections */\n selections?: CanvasSelection[]\n allowed_types?: ('canvas' | 'canvas-template' | 'section' | 'section-template')[]\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","import { 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 return <AdminEnv>response.data\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 { AdminSelectCanvasesRequest, AdminSelectCanvasesResponse } 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 */\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}): 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 * 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 type { AdminSelectContentRequest, AdminSelectContentResponse } 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'\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\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 {\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 envAdmin from './env.admin'\nimport * as canvasAdmin from './canvas.admin'\nimport * as metadataTemplatesAdmin from './metadataTemplates.admin'\nimport * as filesAdmin from './files.admin'\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 */\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 ...envAdmin,\n ...canvasAdmin,\n ...metadataTemplatesAdmin,\n ...filesAdmin,\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 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","import { 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 return <DsrEnv>response.data\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","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","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'\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()\n case 'impact':\n return usePitcherApi(options) // first level (slotty and custom UIs)\n default:\n throw new Error(`Unknown api for location: ${location}`)\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","toast","getInstanceMetadataTemplates","close","PitcherMessageType","PitcherResponseStatus","PitcherEventName","PitcherBroadcastedEventName","PitcherExternalEventName","uuid","selectContent","embeddableReady","openCanvasOverlay","selectCanvases","on"],"mappings":"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","x_google_ignoreList":[0,1,24,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/sdk/api/modules/open.ts","../../src/lib/sdk/api/modules/env.ts","../../src/lib/sdk/api/modules/languages.ts","../../src/lib/sdk/api/modules/events.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/sdk/api/modules/query.ts","../../src/lib/sdk/api/modules/folders.ts","../../src/lib/sdk/api/modules/favorites.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/utils/eventEmitter.ts","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/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/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/index.ts","../../src/lib/sdk/api/modules/admin/types.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/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/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 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')\n}\n\ntype UpdateEnvParams = Pick<User, 'language' | 'dark_mode'>\n\nexport function updateMyUser(payload: UpdateEnvParams): Promise<User> {\n return this.API.request('update_my_user', payload)\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 { highLevelApi } from '@sdk/main'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { Event, EventRequest, PatchedEventRequest } from '@openapi'\n\nexport function getEvents(payload: Partial<EventRequest>): Promise<PaginatedData<Event>> {\n return highLevelApi.API.request('get_events', payload)\n}\n\nexport function createEvent(payload: EventRequest): Promise<Event> {\n return highLevelApi.API.request('create_event', payload)\n}\n\nexport function updateEvent(payload: PatchedEventRequest): Promise<Event> {\n return highLevelApi.API.request('update_event', payload)\n}\n\nexport function deleteEvent(payload: Partial<Event>): Promise<void> {\n return highLevelApi.API.request('delete_event', payload)\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'\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 * 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","import type { File, FileRetrieve, PaginatedFileList, FileUpdateRequest, FileRevision } from '@openapi'\nimport type { GetRecentFilesPayload, 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 getRecentFiles(payload?: GetRecentFilesPayload): Promise<File[]> {\n return this.API.request('get_recent_files', payload || {})\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 return 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', { 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","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","import { highLevelApi } from '@sdk/main'\nimport type { QueryPayload } from '@sdk/payload.types'\n\nexport function query(payload: QueryPayload) {\n return highLevelApi.API.request('query', payload)\n}\n","import type { File, Folder, FolderRetrieve, FolderCreateRequest, FolderUpdateRequest } from '@openapi'\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 { Favorite, FavoriteCreateRequest, PaginatedFavoriteList } from '@openapi'\nimport type { GetFavoritesParams } from '@lib/types/favorites'\n\n/**\n * Get a list of favorites\n */\nexport function getFavorites(payload?: GetFavoritesParams): Promise<PaginatedFavoriteList> {\n return this.API.request('get_favorites', payload)\n}\n\n/**\n * Create a favorite\n */\nexport function createFavorite(payload: FavoriteCreateRequest): Promise<Favorite> {\n return this.API.request('create_favorite', payload)\n}\n\n/**\n * Delete a favorite\n */\nexport function deleteFavorite(payload: { favorite_id: Favorite['id'] }): Promise<void> {\n return this.API.request('delete_favorite', payload)\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 } 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","import type { SharePayload, ShareResponse } 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","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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFNckMsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO0FBRS9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFNekQsT0FBTyxDQUNMLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixHQUFHO1FBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsR0FBRztRQUNILFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUM1QixDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFDNUMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQU8xQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDcEIsTUFBTSxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsZUFBZSxTQUFTLENBQUMifQ==","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm5nLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm5nLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsSUFBSSxlQUEwRCxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxPQUFPLFVBQVUsR0FBRztJQUV6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwwR0FBMEcsQ0FDM0csQ0FBQztRQUNKLENBQUM7UUFFRCxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMifQ==","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmF0aXZlLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQ2QsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdkYsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDIn0=","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random || (options.rng || rng)();\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsU0FBUyxFQUFFLENBQUMsT0FBeUIsRUFBRSxHQUFnQixFQUFFLE1BQWU7SUFDdEUsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRXhCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFHdEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBR2xDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUVyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxlQUFlLEVBQUUsQ0FBQyJ9","import type { Emitter } from './utils/eventEmitter'\nimport type { Favorite, File, User, CanvasRetrieve } from '@openapi'\nimport type { PitcherOrg } from '@lib/types/organization.types'\nimport type { PitcherInstance } from '@lib/types/instance.types'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { LaunchDarklyEnv } from '@lib/types/launchDarkly.types'\nimport type { CDP_EVENT_TYPE, CLIENT_TYPE } from '@lib/constants/cdp.const'\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 PitcherEnv {\n mode: 'WEB' | 'IOS' | 'WINDOWS' | 'ANDROID'\n pitcher: {\n token_claims: Record<string, any>\n organization: PitcherOrg\n instance: PitcherInstance\n user: User\n access_token: string\n id_token: string\n }\n launch_darkly?: LaunchDarklyEnv\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 }\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 canvas_id?: string\n edit_mode?: 'true' | 'false'\n post_action?: string\n post_action_path?: string\n}\n\nexport enum PitcherEventName {\n ENV_CHANGED = 'env_changed',\n PHOTOS_CAPTURED = 'photos_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}\n\nexport enum PitcherBroadcastedEventName {\n UI_SHOW_MODAL = 'ui:show-modal',\n UI_HIDE_MODAL = 'ui:hide-modal',\n FAVORITES_CHANGED = 'favorites:changed',\n FILE_DOWNLOAD = 'file:download',\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\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'>>\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 * @see iOS-only\n */\n [PitcherEventName.PHOTOS_CAPTURED]: void\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 // broadcasted requests\n [PitcherBroadcastedEventName.UI_SHOW_MODAL]: void\n [PitcherBroadcastedEventName.UI_HIDE_MODAL]: void\n [PitcherBroadcastedEventName.FAVORITES_CHANGED]: { body: PaginatedData<Favorite> }\n [PitcherBroadcastedEventName.FILE_DOWNLOAD]: { body: File['id'] }\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 '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]\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 basePath = origin + '/api/v1'\n const baseCommon = { credentials: 'include' as RequestCredentials }\n\n return {\n get: async (endpoint: string, options: FetchOptions = {}) => {\n const url = new URL(`${basePath}${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(`${basePath}${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(`${basePath}${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(`${basePath}${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(`${basePath}${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 }\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 } 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 env = e\n http = createHttpClient(\n env.pitcher.token_claims['https://pitcher.com/claims/urls'].custom_domain,\n env.pitcher.access_token,\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, ...restParams } = params\n const res = await http.patch(`/canvases/${params.id}`, restParams)\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}\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'\n\nconst TRUNCATE_LENGTH_TRIGGER = 10\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 payload = cloneDeep(snakeCaseKeys(body)) // always 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 if (typeof window !== 'undefined' && window.top) {\n window.top.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 * 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, 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\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_OPEN_CANVAS_OVERLAY: 'ui_open_canvas_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} 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}\nexport type UiSelectContentResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: (ContentSelectorSelectedFile | ContentSelectorSelectedPage)[]\n}\nexport type UiSelectCollectionPlayerRequest = Pick<CollectionSelectorProps, 'initialData' | 'attachTo' | 'openSettings'>\nexport type UiSelectCollectionPlayerResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: CollectionPlayer\n}\nexport type UiSelectAgendaRequest = Pick<AgendaSelectorProps, 'initialAgenda' | 'attachTo'>\nexport type UiSelectAgendaResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: Agenda\n}\nexport type UiSelectCanvasesRequest = {\n /** Array of selections */\n selections?: CanvasSelection[]\n allowed_types?: ('canvas' | 'canvas-template' | 'section' | 'section-template')[]\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 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\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 /** Display mode */\n display_mode: 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","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 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 * initialData: {\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 * initialAgenda: {\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","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'\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 */\nexport async function updateLocation(payload: UpdateLocationPitcherEvent): Promise<any> {\n const pr = await usePostRobot()\n return pr.send(window.top, 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 UiSelectCanvasesRequest,\n UiSelectCanvasesResponse,\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 * 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 * 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 */\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}): 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 * 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 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'\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}\n","import type { PitcherEnv } from '@sdk/interfaces'\nimport type {\n SelectedPage as ContentSelectorSelectedPage,\n SelectedFile as ContentSelectorSelectedFile,\n} from '@content-selector/stores/app'\nimport type { Selection as ContentSelectorSelection } from '@lib/types/selections'\nimport type { Canvas } 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 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 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 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 * 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 * 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\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 /** Array of selections */\n selections?: CanvasSelection[]\n allowed_types?: ('canvas' | 'canvas-template' | 'section' | 'section-template')[]\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 AdminSelectCollectionPlayerRequest = Pick<\n CollectionSelectorProps,\n 'initialData' | 'attachTo' | 'openSettings'\n>\nexport type AdminSelectCollectionPlayerResponse = {\n /** User action result */\n user_action: 'cancelled' | 'selected'\n /** Selected content */\n content?: CollectionPlayer\n}\nexport type AdminSelectAgendaRequest = Pick<AgendaSelectorProps, 'initialAgenda' | 'attachTo'>\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 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 return <AdminEnv>response.data\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 { AdminSelectCanvasesRequest, AdminSelectCanvasesResponse } 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 */\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}): 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 * 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 type { AdminSelectContentRequest, AdminSelectContentResponse } 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'\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\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 {\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 envAdmin from './env.admin'\nimport * as canvasAdmin from './canvas.admin'\nimport * as metadataTemplatesAdmin from './metadataTemplates.admin'\nimport * as filesAdmin from './files.admin'\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 */\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 ...envAdmin,\n ...canvasAdmin,\n ...metadataTemplatesAdmin,\n ...filesAdmin,\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 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","import { 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 return <DsrEnv>response.data\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","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","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'\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()\n case 'impact':\n return usePitcherApi(options) // first level (slotty and custom UIs)\n default:\n throw new Error(`Unknown api for location: ${location}`)\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","toast","getInstanceMetadataTemplates","close","PitcherMessageType","PitcherResponseStatus","PitcherEventName","PitcherBroadcastedEventName","PitcherExternalEventName","uuid","selectContent","embeddableReady","openCanvasOverlay","selectCanvases","on"],"mappings":"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","x_google_ignoreList":[0,1,24,25,26,27]}