@pitcher/js-api 1.26.0-beta.9 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/impact-js-api.spec.json +6 -0
  2. package/js-api.esm.js +775 -48
  3. package/js-api.esm.js.map +1 -1
  4. package/js-api.umd.min.js +10 -10
  5. package/js-api.umd.min.js.map +1 -1
  6. package/lib/api/events/events.helpers.d.ts +14 -2
  7. package/lib/apps/agenda-selector/composables/move-item-modal.use.d.ts +12 -0
  8. package/lib/apps/browser/App.vue.d.ts +117 -0
  9. package/lib/apps/browser/appTypes.d.ts +7 -7
  10. package/lib/apps/browser/components/Content/ActionsToolbar/ActionsToolbar.vue.d.ts +21 -4
  11. package/lib/apps/browser/components/Content/Content.vue.d.ts +1 -0
  12. package/lib/apps/browser/components/Content/Panel/DetailsDrawer/DetailsDrawer.vue.d.ts +1 -0
  13. package/lib/apps/browser/components/Content/Panel/FolderPanel/FolderPanel.vue.d.ts +16 -1
  14. package/lib/apps/browser/components/ContextMenu/ConvertToSlidesButton.vue.d.ts +6 -0
  15. package/lib/apps/browser/components/RepUploads.vue.d.ts +206 -0
  16. package/lib/apps/browser/components/UploadFilesModal/UploadFilesModal.vue.d.ts +2 -0
  17. package/lib/apps/browser/components/UploadFilesModal/UploadFilesModalProperties.vue.d.ts +4 -0
  18. package/lib/apps/browser/stores/api.d.ts +63 -10
  19. package/lib/apps/browser/stores/app.d.ts +1 -1
  20. package/lib/apps/browser/stores/repUploadsStore.d.ts +34 -0
  21. package/lib/apps/browser/stores/upload.d.ts +16 -4
  22. package/lib/apps/browser/types/actionKeys.d.ts +3 -1
  23. package/lib/apps/canvas-builder/App.vue.d.ts +13 -0
  24. package/lib/apps/canvas-builder/components/container/CanvasContent/canvas-component-map.const.d.ts +3 -0
  25. package/lib/apps/canvas-builder/components/container/CanvasContent/page.paginated.vue.d.ts +2 -2
  26. package/lib/apps/canvas-builder/components/container/CanvasContent/pageWrapper.paginated.vue.d.ts +7 -0
  27. package/lib/apps/canvas-builder/components/ui/Carousel/Carousel.vue.d.ts +5 -0
  28. package/lib/apps/canvas-builder/components/ui/CollectionPlayer/CollectionPlayer.vue.d.ts +5 -2
  29. package/lib/apps/canvas-builder/components/ui/ContentGrid/ContentGrid.vue.d.ts +5 -0
  30. package/lib/apps/canvas-builder/components/ui/ContentList/ContentList.vue.d.ts +9 -8
  31. package/lib/apps/canvas-builder/components/ui/CustomDataTable/CustomDataTable.vue.d.ts +5 -0
  32. package/lib/apps/canvas-builder/components/ui/DataCharts/DataCharts.raw.vue.d.ts +4 -0
  33. package/lib/apps/canvas-builder/components/ui/DataCharts/DataCharts.vue.d.ts +5 -0
  34. package/lib/apps/canvas-builder/components/ui/DataCharts/types.d.ts +119 -8
  35. package/lib/apps/canvas-builder/components/ui/DynamicContent/DynamicContent.edit.vue.d.ts +2 -0
  36. package/lib/apps/canvas-builder/components/ui/DynamicContent/DynamicContent.raw.vue.d.ts +8 -0
  37. package/lib/apps/canvas-builder/components/ui/DynamicContent/DynamicContent.settings.vue.d.ts +7 -0
  38. package/lib/apps/canvas-builder/components/ui/DynamicContent/DynamicContent.vue.d.ts +31 -0
  39. package/lib/apps/canvas-builder/components/ui/DynamicContent/DynamicContentList.vue.d.ts +12 -0
  40. package/lib/apps/canvas-builder/components/ui/DynamicContent/dynamicContent.const.d.ts +4 -0
  41. package/lib/apps/canvas-builder/components/ui/DynamicContent/section-component-map.const.d.ts +1 -0
  42. package/lib/apps/canvas-builder/components/ui/DynamicContent/useDynamicContent.d.ts +436 -0
  43. package/lib/apps/canvas-builder/components/ui/DynamicDataTable/DynamicDataTable.vue.d.ts +5 -0
  44. package/lib/apps/canvas-builder/components/ui/Embeddable/Embeddable.vue.d.ts +5 -0
  45. package/lib/apps/canvas-builder/components/ui/Grid/Grid.vue.d.ts +5 -0
  46. package/lib/apps/canvas-builder/components/ui/Html/Html.vue.d.ts +5 -0
  47. package/lib/apps/canvas-builder/components/ui/IFrame/IFrame.vue.d.ts +5 -0
  48. package/lib/apps/canvas-builder/components/ui/Link/Link.vue.d.ts +5 -0
  49. package/lib/apps/canvas-builder/components/ui/Multimedia/Multimedia.vue.d.ts +5 -0
  50. package/lib/apps/canvas-builder/components/ui/Page/Page.vue.d.ts +5 -0
  51. package/lib/apps/canvas-builder/components/ui/PageBreak/PageBreak.vue.d.ts +15 -1
  52. package/lib/apps/canvas-builder/components/ui/Scribble/Scribble.original.vue.d.ts +5 -0
  53. package/lib/apps/canvas-builder/components/ui/Scribble/Scribble.responsive.vue.d.ts +5 -0
  54. package/lib/apps/canvas-builder/components/ui/SectionList/SectionItemModal.vue.d.ts +4 -2
  55. package/lib/apps/canvas-builder/components/ui/SectionList/SectionList.vue.d.ts +9 -3
  56. package/lib/apps/canvas-builder/components/ui/SectionList/SectionSelectorToolbar.vue.d.ts +0 -12
  57. package/lib/apps/canvas-builder/components/ui/Timeline/Timeline.vue.d.ts +5 -0
  58. package/lib/apps/canvas-builder/composables/useCanvas.d.ts +361 -13
  59. package/lib/apps/canvas-builder/composables/useCanvasBlocks.d.ts +60 -0
  60. package/lib/apps/canvas-builder/composables/useCanvasCompletionWizard.d.ts +1 -1
  61. package/lib/apps/canvas-builder/composables/useCanvasHistory.d.ts +60 -0
  62. package/lib/apps/canvas-builder/composables/useCanvasPages.d.ts +1 -1
  63. package/lib/apps/canvas-builder/composables/useCanvasSectionOverrides.d.ts +1 -1
  64. package/lib/apps/canvas-builder/composables/useCanvasTheme.d.ts +24 -0
  65. package/lib/apps/canvas-builder/composables/useCanvasVisibility.d.ts +2 -2
  66. package/lib/apps/canvas-builder/composables/useComponentPermissions.d.ts +2 -1
  67. package/lib/apps/canvas-builder/composables/useContentSelector.d.ts +9 -1
  68. package/lib/apps/canvas-builder/composables/useCrmShape.d.ts +2 -1
  69. package/lib/apps/canvas-builder/composables/useCrmShapeWithSectionContext.d.ts +1 -2
  70. package/lib/apps/canvas-builder/composables/usePopupApps.d.ts +10 -2
  71. package/lib/apps/canvas-builder/composables/useReorderComponent.d.ts +3 -3
  72. package/lib/apps/canvas-builder/composables/useScribbleChild.d.ts +1 -1
  73. package/lib/apps/canvas-builder/constants/canvas.const.d.ts +4 -0
  74. package/lib/apps/canvas-builder/types/canvas.d.ts +24 -2
  75. package/lib/apps/canvas-builder/util/canvas.util.d.ts +6 -5
  76. package/lib/apps/canvas-builder/util/fetchAnalyticsPopularity.d.ts +18 -0
  77. package/lib/apps/collection-player/App.vue.d.ts +0 -1
  78. package/lib/apps/collection-player/stores/app.store.d.ts +0 -1
  79. package/lib/apps/collection-selector/composables/move-slide-modal.use.d.ts +12 -0
  80. package/lib/apps/content-selector/appTypes.d.ts +1 -0
  81. package/lib/apps/content-selector/components/Content/AllContent/List/FoldersFilesList.vue.d.ts +21 -4
  82. package/lib/apps/content-selector/stores/app.d.ts +2 -1
  83. package/lib/apps/ppt-conversion-selector/composables/move-slide-modal.use.d.ts +6 -0
  84. package/lib/apps/ppt-conversion-selector/export.d.ts +1 -0
  85. package/lib/apps/ppt-conversion-selector/stores/app.store.d.ts +8 -0
  86. package/lib/apps/ppt-conversion-selector/utils/data.util.d.ts +1 -0
  87. package/lib/apps/ppt-conversion-selector/utils/data.util.test.d.ts +1 -0
  88. package/lib/components/CBulkToolbar/CBulkToolbar.vue.d.ts +3 -0
  89. package/lib/components/CComponentListItem/CComponentListItem.vue.d.ts +8 -8
  90. package/lib/components/CContactSelector/CContactAccountListItem.vue.d.ts +3 -0
  91. package/lib/components/CContactSelector/CContactSelector.vue.d.ts +3 -1
  92. package/lib/components/CContactSelector/CContactSelectorAccountsWithContacts.vue.d.ts +10 -4
  93. package/lib/components/CContentError/CContentError.vue.d.ts +2 -0
  94. package/lib/components/CFileAttributes/CFileAttributes.vue.d.ts +11 -0
  95. package/lib/components/CGlobalSearch/GlobalSearch.use.d.ts +2 -1
  96. package/lib/components/CSearchFilters/CSearchFilters.vue.d.ts +7 -1
  97. package/lib/components/CSwitch/CSwitch.vue.d.ts +4 -2
  98. package/lib/components/CTemplateAccessInfo/CTemplateAccessInfo.vue.d.ts +25 -0
  99. package/lib/components/CTemplateAccessManage/CTemplateAccessManage.vue.d.ts +26 -0
  100. package/lib/components/CUsersGroupsAccessManage/CUsersGroupsAccessManage.types.d.ts +3 -8
  101. package/lib/components/assignedCanvases/CAssignedCanvasesManagement.vue.d.ts +20 -4
  102. package/lib/components/assignedCanvases/CAssignedCanvasesManagementToolbar.vue.d.ts +4 -1
  103. package/lib/components/canvas-blocks/CBlockManagement.vue.d.ts +19 -7
  104. package/lib/components/canvas-blocks/CBlockManagementToolbar.vue.d.ts +4 -1
  105. package/lib/components/canvas-templates/CTemplateManagement.vue.d.ts +77 -15
  106. package/lib/components/canvas-templates/CTemplateManagementActionsCell.vue.d.ts +3 -0
  107. package/lib/components/canvas-templates/CTemplateManagementToolbar.vue.d.ts +28 -5
  108. package/lib/components/filters/CSearchFilter.vue.d.ts +1148 -1
  109. package/lib/components/savedCanvases/CSavedCanvasesManagement.use.d.ts +3 -0
  110. package/lib/components/savedCanvases/CSavedCanvasesManagement.use.spec.d.ts +1 -0
  111. package/lib/components/savedCanvases/CSavedCanvasesManagement.vue.d.ts +31 -4
  112. package/lib/components/savedCanvases/CSavedCanvasesManagementActionsCell.vue.d.ts +12 -0
  113. package/lib/components/savedCanvases/CSavedCanvasesManagementToolbar.vue.d.ts +5 -1
  114. package/lib/components/sections/CSectionManagement.vue.d.ts +23 -7
  115. package/lib/components/sections/CSectionManagementActionsCell.vue.d.ts +3 -0
  116. package/lib/components/sections/CSectionManagementToolbar.vue.d.ts +4 -1
  117. package/lib/components/themes/CThemeManagement.vue.d.ts +18 -4
  118. package/lib/components/themes/CThemeManagementActionsCell.vue.d.ts +3 -0
  119. package/lib/components/themes/CThemeManagementToolbar.vue.d.ts +4 -1
  120. package/lib/composables/presentationHistory.use.d.ts +12 -2
  121. package/lib/composables/useCanvasStandardFilters.d.ts +17 -2
  122. package/lib/composables/useFileDisplayHelpers.d.ts +1 -0
  123. package/lib/composables/useFilterSuggestions.d.ts +5 -1
  124. package/lib/composables/useMetadataSearch.d.ts +8 -2
  125. package/lib/composables/useSmartStore.d.ts +25 -0
  126. package/lib/main.lib.d.ts +8 -1
  127. package/lib/sdk/api/HighLevelApi.d.ts +6 -4
  128. package/lib/sdk/api/modules/index.d.ts +0 -1
  129. package/lib/sdk/api/modules/query.d.ts +120 -1
  130. package/lib/sdk/api/modules/ui/content.ui.d.ts +22 -1
  131. package/lib/sdk/api/modules/ui/index.d.ts +3 -0
  132. package/lib/sdk/api/modules/ui/sharing.ui.d.ts +2 -0
  133. package/lib/sdk/api/modules/ui/types.ui.d.ts +32 -0
  134. package/lib/sdk/interfaces.d.ts +16 -0
  135. package/lib/sdk/main.d.ts +27 -12
  136. package/lib/sdk/payload.types.d.ts +116 -0
  137. package/lib/sdk/utils/httpFetch.d.ts +2 -0
  138. package/lib/types/app.d.ts +2 -1
  139. package/lib/types/call.d.ts +9 -2
  140. package/lib/types/canvases.d.ts +1 -0
  141. package/lib/types/core/MetadataFilter.d.ts +1 -0
  142. package/lib/types/instanceSettings.types.d.ts +4 -2
  143. package/lib/types/launchDarkly.types.d.ts +11 -4
  144. package/lib/types/organizationSettings.types.d.ts +11 -0
  145. package/lib/types/sfdc.d.ts +6 -1
  146. package/lib/util/app.util.d.ts +46 -0
  147. package/lib/util/eval.d.ts +4 -0
  148. package/lib/util/font.util.d.ts +4 -0
  149. package/lib/util/handlebars.d.ts +35 -0
  150. package/lib/util/object.d.ts +1 -0
  151. package/lib/util/sfdc.util.d.ts +7 -0
  152. package/lib/util/sfdc.util.spec.d.ts +1 -0
  153. package/lib/util/smart-store.util.d.ts +53 -0
  154. package/lib/util/smart-store.util.spec.d.ts +1 -0
  155. package/package.json +2 -2
  156. package/types/openapi/models/CanvasRecommendedFile.d.ts +1 -0
  157. package/types/openapi/models/DeletedFile.d.ts +1 -0
  158. package/types/openapi/models/FavoriteFile.d.ts +1 -0
  159. package/types/openapi/models/FavoriteFileRequest.d.ts +1 -0
  160. package/types/openapi/models/File.d.ts +1 -0
  161. package/types/openapi/models/FileContentTypeEnum.d.ts +3 -0
  162. package/types/openapi/models/FileCreate.d.ts +1 -0
  163. package/types/openapi/models/FileCreateRequest.d.ts +1 -0
  164. package/types/openapi/models/FilePermission.d.ts +2 -0
  165. package/types/openapi/models/FilePermissionRequest.d.ts +2 -0
  166. package/types/openapi/models/FileRetrieve.d.ts +1 -0
  167. package/types/openapi/models/FileUpdate.d.ts +1 -0
  168. package/types/openapi/models/FileUpdateRequest.d.ts +1 -0
  169. package/types/openapi/models/FolderFile.d.ts +1 -0
  170. package/types/openapi/models/PaginatedAppList.d.ts +2 -2
  171. package/types/openapi/models/PaginatedAuthTokenList.d.ts +2 -2
  172. package/types/openapi/models/PaginatedCanvasList.d.ts +2 -2
  173. package/types/openapi/models/PaginatedCollaborationList.d.ts +2 -2
  174. package/types/openapi/models/PaginatedContentDistributionGroupList.d.ts +2 -2
  175. package/types/openapi/models/PaginatedContentDistributionGroupMembershipList.d.ts +2 -2
  176. package/types/openapi/models/PaginatedEnvironmentList.d.ts +2 -2
  177. package/types/openapi/models/PaginatedEventList.d.ts +2 -2
  178. package/types/openapi/models/PaginatedFavoriteList.d.ts +2 -2
  179. package/types/openapi/models/PaginatedFileList.d.ts +2 -2
  180. package/types/openapi/models/PaginatedFileRevisionList.d.ts +2 -2
  181. package/types/openapi/models/PaginatedFolderList.d.ts +2 -2
  182. package/types/openapi/models/PaginatedInstanceAssignmentGroupList.d.ts +2 -2
  183. package/types/openapi/models/PaginatedInstanceAssignmentGroupMembershipList.d.ts +2 -2
  184. package/types/openapi/models/PaginatedInstanceList.d.ts +2 -2
  185. package/types/openapi/models/PaginatedInstanceMembershipList.d.ts +2 -2
  186. package/types/openapi/models/PaginatedInvitationList.d.ts +2 -2
  187. package/types/openapi/models/PaginatedMetadataTemplateList.d.ts +2 -2
  188. package/types/openapi/models/PaginatedOfflineSyncFolderList.d.ts +2 -2
  189. package/types/openapi/models/PaginatedRegionList.d.ts +2 -2
  190. package/types/openapi/models/PaginatedRevisionList.d.ts +2 -2
  191. package/types/openapi/models/PaginatedUserList.d.ts +2 -2
  192. package/types/openapi/models/PatchedFileUpdateRequest.d.ts +1 -0
  193. package/types/openapi/models/User.d.ts +1 -0
  194. package/lib/api/events/events.queries.d.ts +0 -9
  195. package/lib/sdk/api/modules/events.d.ts +0 -6
@@ -1,6 +1,22 @@
1
- import { QueryPayload, CRMQueryPayload, UpsertCRMObjectsPayload, CRMSmartObjectValidationRulesPayload, CRMSmartObjectMetadataPayload, CRMSmartDeleteObjectsPayload } from '../../payload.types';
1
+ import { QueryPayload, CRMQueryPayload, UpsertCRMObjectsPayload, CRMSmartObjectValidationRulesPayload, CRMSmartObjectMetadataPayload, CRMSmartObjectLayoutPayload, CRMSmartDeleteObjectsPayload, CRMCreatePayload, CRMUpsertPayload, CRMDescribePayload, CRMLayoutPayload } from '../../payload.types';
2
2
  export declare function query(payload: QueryPayload): Promise<any>;
3
3
  export declare function crmQuery(payload: CRMQueryPayload): Promise<any>;
4
+ /**
5
+ * Executes a CRM query with automatic iOS/SmartStore adaptation.
6
+ *
7
+ * On iOS devices with the 'sfdc_offline_enabled' LaunchDarkly flag enabled,
8
+ * this function automatically converts SOQL queries to SmartStore Smart SQL format
9
+ * and uses the local SmartStore for offline data access.
10
+ * On other platforms or when the flag is disabled, it uses the standard CRM query API.
11
+ *
12
+ * @param {CRMQueryPayload} payload - The query payload containing the SOQL query string.
13
+ * @returns {Promise<any>} - Promise resolving with query results.
14
+ *
15
+ * @example
16
+ * // Works on all platforms - automatically adapts for iOS with sfdc_offline_enabled LD flag
17
+ * const result = await crmQueryAdaptive({ query: 'SELECT Id, Name FROM Account WHERE Active = true' })
18
+ */
19
+ export declare function crmQueryAdaptive(payload: CRMQueryPayload): Promise<any>;
4
20
  /**
5
21
  * Executes a SmartStore query against local CRM data (iOS only).
6
22
  * Uses Salesforce Mobile SDK SmartStore query syntax.
@@ -88,6 +104,23 @@ export declare function crmSmartUpsertObjects(payload: UpsertCRMObjectsPayload):
88
104
  * api.crmSmartObjectValidationRules({ object: 'Contact' })
89
105
  */
90
106
  export declare function crmSmartObjectValidationRules(payload: CRMSmartObjectValidationRulesPayload): Promise<any>;
107
+ /**
108
+ * Retrieves layout information for a CRM smart object (iOS only).
109
+ * Fetches object layout metadata from the Salesforce Mobile SDK cache.
110
+ *
111
+ * @param {CRMSmartObjectLayoutPayload} payload - The payload containing the object name and optional layout parameters.
112
+ * @returns {Promise<any>} - Promise resolving with the object layout metadata.
113
+ * @throws {Error} - Throws an error if the object name is not provided.
114
+ *
115
+ * @example
116
+ * // iOS only method to retrieve CRM object layout.
117
+ * api.crmSmartObjectLayout({ object: 'Account' })
118
+ *
119
+ * @example
120
+ * // Get layout with specific form factor and mode.
121
+ * api.crmSmartObjectLayout({ object: 'Account', form_factor: 'Large', mode: 'Edit' })
122
+ */
123
+ export declare function crmSmartObjectLayout(payload: CRMSmartObjectLayoutPayload): Promise<any>;
91
124
  /**
92
125
  * Deletes CRM objects from local CRM data (iOS only).
93
126
  * Uses Salesforce Mobile SDK SmartStore to delete records.
@@ -113,3 +146,89 @@ export declare function crmSmartObjectValidationRules(payload: CRMSmartObjectVal
113
146
  * })
114
147
  */
115
148
  export declare function crmSmartDeleteObjects(payload: CRMSmartDeleteObjectsPayload): Promise<any>;
149
+ /**
150
+ * Creates new records in CRM (Web only).
151
+ * Uses Salesforce REST API to create records.
152
+ *
153
+ * @param {CRMCreatePayload} payload - The create payload containing sobject type and records.
154
+ * @returns {Promise<any>} - Promise resolving with the result of the create operation.
155
+ * @throws {Error} - Throws an error if the payload is invalid.
156
+ *
157
+ * @example
158
+ * // Web only method to create CRM records.
159
+ * api.crmCreate({
160
+ * sobject: 'Order__c',
161
+ * records: [
162
+ * { Account__c: '001xx000003DGbQAAW', Order_Date__c: '2024-01-15' },
163
+ * { Account__c: '001xx000003DGbRABW', Order_Date__c: '2024-01-16' }
164
+ * ]
165
+ * })
166
+ */
167
+ export declare function crmCreate(payload: CRMCreatePayload): Promise<any>;
168
+ /**
169
+ * Upserts records in CRM (Web only).
170
+ * Uses Salesforce REST API to insert or update records based on external ID.
171
+ * If a record with matching external ID exists, it will be updated; otherwise, a new record is created.
172
+ *
173
+ * @param {CRMUpsertPayload} payload - The upsert payload containing sobject type, records, and external ID field.
174
+ * @returns {Promise<any>} - Promise resolving with the result of the upsert operation.
175
+ * @throws {Error} - Throws an error if the payload is invalid.
176
+ *
177
+ * @example
178
+ * // Web only method to upsert CRM records.
179
+ * api.crmUpsert({
180
+ * sobject: 'Order__c',
181
+ * records: [
182
+ * { External_Id__c: 'ORD-001', Account__c: '001xx000003DGbQAAW', Status__c: 'Submitted' },
183
+ * { External_Id__c: 'ORD-002', Account__c: '001xx000003DGbRABW', Status__c: 'Draft' }
184
+ * ],
185
+ * external_id_field: 'External_Id__c'
186
+ * })
187
+ */
188
+ export declare function crmUpsert(payload: CRMUpsertPayload): Promise<any>;
189
+ /**
190
+ * Retrieves metadata/describe for a CRM object (Web only).
191
+ * Uses Salesforce REST API to fetch object metadata including fields and picklist values.
192
+ *
193
+ * @param {CRMDescribePayload} payload - The describe payload containing the sobject name.
194
+ * @returns {Promise<any>} - Promise resolving with the object metadata including fields and picklist values.
195
+ * @throws {Error} - Throws an error if the payload is invalid.
196
+ *
197
+ * @example
198
+ * // Web only method to get CRM object metadata.
199
+ * api.crmDescribe({ sobject: 'Account' })
200
+ * .then(metadata => {
201
+ * // Access fields
202
+ * console.log(metadata.fields)
203
+ * // Access picklist values for a specific field
204
+ * const industryField = metadata.fields.find(f => f.name === 'Industry')
205
+ * console.log(industryField.picklistValues)
206
+ * })
207
+ */
208
+ export declare function crmDescribe(payload: CRMDescribePayload): Promise<any>;
209
+ /**
210
+ * Retrieves layout information for a CRM object (Web only).
211
+ * Uses Salesforce REST API to fetch object layout including sections, fields arrangement, and form factors.
212
+ *
213
+ * @param {CRMLayoutPayload} payload - The layout payload containing the sobject name and optional layout parameters.
214
+ * @returns {Promise<any>} - Promise resolving with the object layout information.
215
+ * @throws {Error} - Throws an error if the payload is invalid.
216
+ *
217
+ * @example
218
+ * // Web only method to get CRM object layout.
219
+ * api.crmLayout({ sobject: 'Account' })
220
+ * .then(layout => {
221
+ * // Access layout sections
222
+ * console.log(layout.editLayoutSections)
223
+ * })
224
+ *
225
+ * @example
226
+ * // Get layout with specific form factor, mode, and record type.
227
+ * api.crmLayout({
228
+ * sobject: 'Account',
229
+ * form_factor: 'Large',
230
+ * mode: 'Edit',
231
+ * record_type_id: '012xx0000004ABC'
232
+ * })
233
+ */
234
+ export declare function crmLayout(payload: CRMLayoutPayload): Promise<any>;
@@ -1,4 +1,4 @@
1
- import { UiSelectAgendaRequest, UiSelectAgendaResponse, UiSelectCollectionPlayerRequest, UiSelectCollectionPlayerResponse, UiSelectContentRequest, UiSelectContentResponse, UiOpenRequest, UiToastRequest, UiPreselectSfdcMeetingIdRequest, UiPreselectSfdcMeetingIdResponse } from './types.ui';
1
+ import { UiSelectAgendaRequest, UiSelectAgendaResponse, UiSelectCollectionPlayerRequest, UiSelectCollectionPlayerResponse, UiSelectContentRequest, UiSelectContentResponse, UiOpenRequest, UiToastRequest, UiPreselectSfdcMeetingIdRequest, UiPreselectSfdcMeetingIdResponse, UiOpenGlobalPopupResponse } from './types.ui';
2
2
  /**
3
3
  * @hidden
4
4
  * @deprecated
@@ -84,3 +84,24 @@ export declare function selectCollectionContent(payload?: UiSelectCollectionPlay
84
84
  * ```
85
85
  */
86
86
  export declare function selectAgendaContent(payload?: UiSelectAgendaRequest): Promise<UiSelectAgendaResponse>;
87
+ /**
88
+ * Opens a global popup app by name.
89
+ *
90
+ * @example
91
+ * const api = useApi()
92
+ * api.openGlobalPopup('my-popup-app')
93
+ * api.openGlobalPopup('my-popup-app', { customData: 'value' })
94
+ *
95
+ * @param appName - The name of the app to open (must have app_type: 'ui-global-popup')
96
+ * @param extraContext - Extra context to pass to the app
97
+ * @returns Promise with the result of the operation
98
+ */
99
+ export declare function openGlobalPopup(appName: string, extraContext?: Record<string, any>): Promise<UiOpenGlobalPopupResponse>;
100
+ /**
101
+ * Closes the currently open global popup app.
102
+ *
103
+ * @example
104
+ * const api = useApi()
105
+ * api.closeGlobalPopup()
106
+ */
107
+ export declare function closeGlobalPopup(): Promise<void>;
@@ -113,6 +113,7 @@ declare function onAppUpdateData(handler: (data: UiAppUpdateDataPayload) => Prom
113
113
  */
114
114
  declare function uiBroadcast(payload: UiBroadcastRequest): Promise<void>;
115
115
  declare const _default: {
116
+ openSharingSettings(payload: import('./types.ui').UiOpenSharingSettingsRequest): Promise<import('./types.ui').UiOpenSharingSettingsResponse>;
116
117
  promptPia(payload: import('./types.ui').UiPromptPiaRequest): Promise<import('./types.ui').UiPromptPiaResponse>;
117
118
  completePostcall(payload: import('./types.ui').UiCompletePostcallRequest): Promise<void>;
118
119
  cancelMeeting(): Promise<void>;
@@ -155,6 +156,8 @@ declare const _default: {
155
156
  preselectSfdcMeetingId(payload: import('./types.ui').UiPreselectSfdcMeetingIdRequest): Promise<import('./types.ui').UiPreselectSfdcMeetingIdResponse>;
156
157
  selectCollectionContent(payload?: import('./types.ui').UiSelectCollectionPlayerRequest): Promise<import('./types.ui').UiSelectCollectionPlayerResponse>;
157
158
  selectAgendaContent(payload?: import('./types.ui').UiSelectAgendaRequest): Promise<import('./types.ui').UiSelectAgendaResponse>;
159
+ openGlobalPopup(appName: string, extraContext?: Record<string, any>): Promise<import('./types.ui').UiOpenGlobalPopupResponse>;
160
+ closeGlobalPopup(): Promise<void>;
158
161
  on: typeof on;
159
162
  onMeetingCanceled: typeof onMeetingCanceled;
160
163
  onCanvasUpdated: typeof onCanvasUpdated;
@@ -0,0 +1,2 @@
1
+ import { UiOpenSharingSettingsRequest, UiOpenSharingSettingsResponse } from './types.ui';
2
+ export declare function openSharingSettings(payload: UiOpenSharingSettingsRequest): Promise<UiOpenSharingSettingsResponse>;
@@ -43,6 +43,9 @@ export declare const UI_API_METHOD_TYPES: {
43
43
  readonly UI_APP_RESIZE: "ui_app_resize";
44
44
  readonly UI_CLOSE_CANVAS_SECTION_EXECUTION: "ui_close_canvas_section_execution";
45
45
  readonly UI_CLOSE_CANVAS_DRAWER: "ui_close_canvas_drawer";
46
+ readonly UI_OPEN_GLOBAL_POPUP: "ui_open_global_popup";
47
+ readonly UI_CLOSE_GLOBAL_POPUP: "ui_close_global_popup";
48
+ readonly UI_OPEN_SHARING_SETTINGS: "ui_open_sharing_settings";
46
49
  };
47
50
  export declare const UI_MESSAGE_TYPES: {
48
51
  readonly UI_MEETING_CANCELED: "ui_meeting_canceled";
@@ -319,3 +322,32 @@ export type UiPromptPiaResponseStreamedPayload = {
319
322
  /** Current chunk of the response */
320
323
  chunk: string;
321
324
  };
325
+ export interface UiOpenGlobalPopupRequest {
326
+ /** Name of the app to open */
327
+ app_name: string;
328
+ /** Extra context to pass to the app */
329
+ extra_context?: Record<string, any>;
330
+ }
331
+ export interface UiOpenGlobalPopupResponse {
332
+ /** Whether the popup was successfully opened */
333
+ success: boolean;
334
+ }
335
+ export interface UiOpenSharingSettingsRequest {
336
+ files: Array<{
337
+ id: string;
338
+ name: string;
339
+ thumbnail_url?: string;
340
+ content_type?: string;
341
+ }>;
342
+ default_auth_strategy?: string;
343
+ }
344
+ export interface UiOpenSharingSettingsResponse {
345
+ user_action: 'confirmed' | 'cancelled';
346
+ settings?: {
347
+ auth_strategy: 'none' | 'any_email' | 'specified_emails' | 'specified_domains' | 'verified_emails' | 'verified_domains';
348
+ allowed_emails?: string[];
349
+ allowed_domains?: string[];
350
+ valid_until_days?: number | null;
351
+ allow_download?: boolean;
352
+ };
353
+ }
@@ -58,8 +58,10 @@ export interface PitcherEnv {
58
58
  user: User;
59
59
  access_token: string;
60
60
  id_token: string;
61
+ impersonated_by?: string;
61
62
  };
62
63
  launch_darkly?: LaunchDarklyEnv;
64
+ permissions?: string[];
63
65
  client_type?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE];
64
66
  crm_shape?: Record<string, any>;
65
67
  state?: {
@@ -147,6 +149,7 @@ export declare enum PitcherEventName {
147
149
  ITEM_SHAREBOX_ADD_REQUESTED = "item_sharebox_add_requested",
148
150
  ITEM_SHAREBOX_ADD_COMPLETED = "item_sharebox_add_completed",
149
151
  SYNC_BADGE_VALUE_REPORTED = "sync_badge_value_reported",
152
+ SYNC_BOX_RESOLVE_ERROR_TAPPED = "sync_box_resolve_error_tapped",
150
153
  PEER_CONNECTIVITY_EVENT = "peer_connectivity_event"
151
154
  }
152
155
  export declare enum PitcherBroadcastedEventName {
@@ -444,6 +447,19 @@ export interface PitcherEventMap {
444
447
  [PitcherEventName.SYNC_BADGE_VALUE_REPORTED]: {
445
448
  count: number;
446
449
  };
450
+ /**
451
+ * @see iOS-only
452
+ * Fired when user taps "Fix" on a failed SFDC sync error in the Syncbox.
453
+ * The id may be a Salesforce ID, external ID, or locally-generated temp ID.
454
+ */
455
+ [PitcherEventName.SYNC_BOX_RESOLVE_ERROR_TAPPED]: {
456
+ /** Record ID that failed to sync (SF ID, external ID, or temp ID like PIT_...) */
457
+ id: string;
458
+ /** SFDC object/soup name (e.g. "Event", "Call2_vod__c") */
459
+ table_name: string;
460
+ /** Salesforce sync error message */
461
+ last_error: string;
462
+ };
447
463
  [PitcherEventName.PEER_CONNECTIVITY_EVENT]: PeerConnectivityEvent;
448
464
  [PitcherBroadcastedEventName.UI_SHOW_MODAL]: void;
449
465
  [PitcherBroadcastedEventName.UI_HIDE_MODAL]: void;
package/lib/sdk/main.d.ts CHANGED
@@ -25,6 +25,7 @@ export declare function usePitcherApi(options?: ApiOptions): ReturnType<typeof c
25
25
  * @returns UI API object with methods described below.
26
26
  */
27
27
  export declare function useUi(): {
28
+ openSharingSettings(payload: import('./api/modules/ui/types.ui').UiOpenSharingSettingsRequest): Promise<import('./api/modules/ui/types.ui').UiOpenSharingSettingsResponse>;
28
29
  promptPia(payload: import('./api/modules/ui/types.ui').UiPromptPiaRequest): Promise<import('./api/modules/ui/types.ui').UiPromptPiaResponse>;
29
30
  completePostcall(payload: import('./api/modules/ui/types.ui').UiCompletePostcallRequest): Promise<void>;
30
31
  cancelMeeting(): Promise<void>;
@@ -67,6 +68,8 @@ export declare function useUi(): {
67
68
  preselectSfdcMeetingId(payload: import('./api/modules/ui/types.ui').UiPreselectSfdcMeetingIdRequest): Promise<import('./api/modules/ui/types.ui').UiPreselectSfdcMeetingIdResponse>;
68
69
  selectCollectionContent(payload?: import('./api/modules/ui/types.ui').UiSelectCollectionPlayerRequest): Promise<import('./api/modules/ui/types.ui').UiSelectCollectionPlayerResponse>;
69
70
  selectAgendaContent(payload?: import('./api/modules/ui/types.ui').UiSelectAgendaRequest): Promise<import('./api/modules/ui/types.ui').UiSelectAgendaResponse>;
71
+ openGlobalPopup(appName: string, extraContext?: Record<string, any>): Promise<import('./api/modules/ui/types.ui').UiOpenGlobalPopupResponse>;
72
+ closeGlobalPopup(): Promise<void>;
70
73
  on: <T extends keyof import('./api/modules/ui/types.ui').UiMessagePayloads>(type: T, handler: (data: import('./api/modules/ui/types.ui').UiMessagePayloads[T]) => Promise<void>) => Promise<() => void>;
71
74
  onMeetingCanceled: (handler: (data: import('./api/modules/ui/types.ui').UiMeetingCanceledPayload) => Promise<void>) => Promise<() => void>;
72
75
  onCanvasUpdated: (handler: (data: import('./api/modules/ui/types.ui').UiCanvasUpdatedPayload) => Promise<void>) => Promise<() => void>;
@@ -200,10 +203,6 @@ export declare function useApi(options?: ApiOptions): {
200
203
  }): Promise<import('../main.lib').User>;
201
204
  isOffline(): Promise<boolean>;
202
205
  getLanguages(): Promise<import('./api/modules').Language[]>;
203
- getEvents(payload: Partial<import('../main.lib').EventRequest>): Promise<import('../main.lib').PaginatedData<import('../main.lib').Event>>;
204
- createEvent(payload: import('../main.lib').EventRequest): Promise<import('../main.lib').Event>;
205
- updateEvent(payload: import('../main.lib').PatchedEventRequest): Promise<import('../main.lib').Event>;
206
- deleteEvent(payload: Partial<import('../main.lib').Event>): Promise<void>;
207
206
  getCanvases(payload: import('../main.lib').GetCanvasesParams & {
208
207
  filters?: Record<string, any>;
209
208
  fields?: string;
@@ -302,11 +301,17 @@ export declare function useApi(options?: ApiOptions): {
302
301
  }): Promise<void>;
303
302
  query(payload: import('./payload.types').QueryPayload): Promise<any>;
304
303
  crmQuery(payload: import('./payload.types').CRMQueryPayload): Promise<any>;
304
+ crmQueryAdaptive(payload: import('./payload.types').CRMQueryPayload): Promise<any>;
305
305
  crmSmartQuery(payload: import('./payload.types').CRMQueryPayload): Promise<Array<any>>;
306
306
  crmSmartObjectMetadata(payload: import('./payload.types').CRMSmartObjectMetadataPayload): Promise<any>;
307
307
  crmSmartUpsertObjects(payload: import('./payload.types').UpsertCRMObjectsPayload): Promise<any>;
308
308
  crmSmartObjectValidationRules(payload: import('./payload.types').CRMSmartObjectValidationRulesPayload): Promise<any>;
309
+ crmSmartObjectLayout(payload: import('./payload.types').CRMSmartObjectLayoutPayload): Promise<any>;
309
310
  crmSmartDeleteObjects(payload: import('./payload.types').CRMSmartDeleteObjectsPayload): Promise<any>;
311
+ crmCreate(payload: import('./payload.types').CRMCreatePayload): Promise<any>;
312
+ crmUpsert(payload: import('./payload.types').CRMUpsertPayload): Promise<any>;
313
+ crmDescribe(payload: import('./payload.types').CRMDescribePayload): Promise<any>;
314
+ crmLayout(payload: import('./payload.types').CRMLayoutPayload): Promise<any>;
310
315
  getFolders(payload: import('./payload.types').FolderListRequest): Promise<import('../main.lib').PaginatedFolderList>;
311
316
  getFolder(payload?: {
312
317
  id: import('../main.lib').FolderRetrieve["id"];
@@ -410,6 +415,7 @@ export declare function useApi(options?: ApiOptions): {
410
415
  toast: (payload: import('./api/modules/admin/types.admin').AdminToastRequest) => Promise<void>;
411
416
  } | {
412
417
  ui: {
418
+ openSharingSettings(payload: import('./api/modules/ui/types.ui').UiOpenSharingSettingsRequest): Promise<import('./api/modules/ui/types.ui').UiOpenSharingSettingsResponse>;
413
419
  promptPia(payload: import('./api/modules/ui/types.ui').UiPromptPiaRequest): Promise<import('./api/modules/ui/types.ui').UiPromptPiaResponse>;
414
420
  completePostcall(payload: import('./api/modules/ui/types.ui').UiCompletePostcallRequest): Promise<void>;
415
421
  cancelMeeting(): Promise<void>;
@@ -452,6 +458,8 @@ export declare function useApi(options?: ApiOptions): {
452
458
  preselectSfdcMeetingId(payload: import('./api/modules/ui/types.ui').UiPreselectSfdcMeetingIdRequest): Promise<import('./api/modules/ui/types.ui').UiPreselectSfdcMeetingIdResponse>;
453
459
  selectCollectionContent(payload?: import('./api/modules/ui/types.ui').UiSelectCollectionPlayerRequest): Promise<import('./api/modules/ui/types.ui').UiSelectCollectionPlayerResponse>;
454
460
  selectAgendaContent(payload?: import('./api/modules/ui/types.ui').UiSelectAgendaRequest): Promise<import('./api/modules/ui/types.ui').UiSelectAgendaResponse>;
461
+ openGlobalPopup(appName: string, extraContext?: Record<string, any>): Promise<import('./api/modules/ui/types.ui').UiOpenGlobalPopupResponse>;
462
+ closeGlobalPopup(): Promise<void>;
455
463
  on: <T extends keyof import('./api/modules/ui/types.ui').UiMessagePayloads>(type: T, handler: (data: import('./api/modules/ui/types.ui').UiMessagePayloads[T]) => Promise<void>) => Promise<() => void>;
456
464
  onMeetingCanceled: (handler: (data: import('./api/modules/ui/types.ui').UiMeetingCanceledPayload) => Promise<void>) => Promise<() => void>;
457
465
  onCanvasUpdated: (handler: (data: import('./api/modules/ui/types.ui').UiCanvasUpdatedPayload) => Promise<void>) => Promise<() => void>;
@@ -481,10 +489,6 @@ export declare function useApi(options?: ApiOptions): {
481
489
  }): Promise<import('../main.lib').User>;
482
490
  isOffline(): Promise<boolean>;
483
491
  getLanguages(): Promise<import('./api/modules').Language[]>;
484
- getEvents(payload: Partial<import('../main.lib').EventRequest>): Promise<import('../main.lib').PaginatedData<import('../main.lib').Event>>;
485
- createEvent(payload: import('../main.lib').EventRequest): Promise<import('../main.lib').Event>;
486
- updateEvent(payload: import('../main.lib').PatchedEventRequest): Promise<import('../main.lib').Event>;
487
- deleteEvent(payload: Partial<import('../main.lib').Event>): Promise<void>;
488
492
  getCanvases(payload: import('../main.lib').GetCanvasesParams & {
489
493
  filters?: Record<string, any>;
490
494
  fields?: string;
@@ -583,11 +587,17 @@ export declare function useApi(options?: ApiOptions): {
583
587
  }): Promise<void>;
584
588
  query(payload: import('./payload.types').QueryPayload): Promise<any>;
585
589
  crmQuery(payload: import('./payload.types').CRMQueryPayload): Promise<any>;
590
+ crmQueryAdaptive(payload: import('./payload.types').CRMQueryPayload): Promise<any>;
586
591
  crmSmartQuery(payload: import('./payload.types').CRMQueryPayload): Promise<Array<any>>;
587
592
  crmSmartObjectMetadata(payload: import('./payload.types').CRMSmartObjectMetadataPayload): Promise<any>;
588
593
  crmSmartUpsertObjects(payload: import('./payload.types').UpsertCRMObjectsPayload): Promise<any>;
589
594
  crmSmartObjectValidationRules(payload: import('./payload.types').CRMSmartObjectValidationRulesPayload): Promise<any>;
595
+ crmSmartObjectLayout(payload: import('./payload.types').CRMSmartObjectLayoutPayload): Promise<any>;
590
596
  crmSmartDeleteObjects(payload: import('./payload.types').CRMSmartDeleteObjectsPayload): Promise<any>;
597
+ crmCreate(payload: import('./payload.types').CRMCreatePayload): Promise<any>;
598
+ crmUpsert(payload: import('./payload.types').CRMUpsertPayload): Promise<any>;
599
+ crmDescribe(payload: import('./payload.types').CRMDescribePayload): Promise<any>;
600
+ crmLayout(payload: import('./payload.types').CRMLayoutPayload): Promise<any>;
591
601
  getFolders(payload: import('./payload.types').FolderListRequest): Promise<import('../main.lib').PaginatedFolderList>;
592
602
  getFolder(payload?: {
593
603
  id: import('../main.lib').FolderRetrieve["id"];
@@ -640,6 +650,7 @@ export declare function useApi(options?: ApiOptions): {
640
650
  }>;
641
651
  API: import('./api/LowLevelApi').LowLevelApi;
642
652
  };
653
+ openSharingSettings(payload: import('./api/modules/ui/types.ui').UiOpenSharingSettingsRequest): Promise<import('./api/modules/ui/types.ui').UiOpenSharingSettingsResponse>;
643
654
  promptPia(payload: import('./api/modules/ui/types.ui').UiPromptPiaRequest): Promise<import('./api/modules/ui/types.ui').UiPromptPiaResponse>;
644
655
  completePostcall(payload: import('./api/modules/ui/types.ui').UiCompletePostcallRequest): Promise<void>;
645
656
  cancelMeeting(): Promise<void>;
@@ -682,6 +693,8 @@ export declare function useApi(options?: ApiOptions): {
682
693
  preselectSfdcMeetingId(payload: import('./api/modules/ui/types.ui').UiPreselectSfdcMeetingIdRequest): Promise<import('./api/modules/ui/types.ui').UiPreselectSfdcMeetingIdResponse>;
683
694
  selectCollectionContent(payload?: import('./api/modules/ui/types.ui').UiSelectCollectionPlayerRequest): Promise<import('./api/modules/ui/types.ui').UiSelectCollectionPlayerResponse>;
684
695
  selectAgendaContent(payload?: import('./api/modules/ui/types.ui').UiSelectAgendaRequest): Promise<import('./api/modules/ui/types.ui').UiSelectAgendaResponse>;
696
+ openGlobalPopup(appName: string, extraContext?: Record<string, any>): Promise<import('./api/modules/ui/types.ui').UiOpenGlobalPopupResponse>;
697
+ closeGlobalPopup(): Promise<void>;
685
698
  on: <T extends keyof import('./api/modules/ui/types.ui').UiMessagePayloads>(type: T, handler: (data: import('./api/modules/ui/types.ui').UiMessagePayloads[T]) => Promise<void>) => Promise<() => void>;
686
699
  onMeetingCanceled: (handler: (data: import('./api/modules/ui/types.ui').UiMeetingCanceledPayload) => Promise<void>) => Promise<() => void>;
687
700
  onCanvasUpdated: (handler: (data: import('./api/modules/ui/types.ui').UiCanvasUpdatedPayload) => Promise<void>) => Promise<() => void>;
@@ -707,10 +720,6 @@ export declare function useApi(options?: ApiOptions): {
707
720
  }): Promise<import('../main.lib').User>;
708
721
  isOffline(): Promise<boolean>;
709
722
  getLanguages(): Promise<import('./api/modules').Language[]>;
710
- getEvents(payload: Partial<import('../main.lib').EventRequest>): Promise<import('../main.lib').PaginatedData<import('../main.lib').Event>>;
711
- createEvent(payload: import('../main.lib').EventRequest): Promise<import('../main.lib').Event>;
712
- updateEvent(payload: import('../main.lib').PatchedEventRequest): Promise<import('../main.lib').Event>;
713
- deleteEvent(payload: Partial<import('../main.lib').Event>): Promise<void>;
714
723
  getCanvases(payload: import('../main.lib').GetCanvasesParams & {
715
724
  filters?: Record<string, any>;
716
725
  fields?: string;
@@ -800,11 +809,17 @@ export declare function useApi(options?: ApiOptions): {
800
809
  }): Promise<ArrayBuffer>;
801
810
  query(payload: import('./payload.types').QueryPayload): Promise<any>;
802
811
  crmQuery(payload: import('./payload.types').CRMQueryPayload): Promise<any>;
812
+ crmQueryAdaptive(payload: import('./payload.types').CRMQueryPayload): Promise<any>;
803
813
  crmSmartQuery(payload: import('./payload.types').CRMQueryPayload): Promise<Array<any>>;
804
814
  crmSmartObjectMetadata(payload: import('./payload.types').CRMSmartObjectMetadataPayload): Promise<any>;
805
815
  crmSmartUpsertObjects(payload: import('./payload.types').UpsertCRMObjectsPayload): Promise<any>;
806
816
  crmSmartObjectValidationRules(payload: import('./payload.types').CRMSmartObjectValidationRulesPayload): Promise<any>;
817
+ crmSmartObjectLayout(payload: import('./payload.types').CRMSmartObjectLayoutPayload): Promise<any>;
807
818
  crmSmartDeleteObjects(payload: import('./payload.types').CRMSmartDeleteObjectsPayload): Promise<any>;
819
+ crmCreate(payload: import('./payload.types').CRMCreatePayload): Promise<any>;
820
+ crmUpsert(payload: import('./payload.types').CRMUpsertPayload): Promise<any>;
821
+ crmDescribe(payload: import('./payload.types').CRMDescribePayload): Promise<any>;
822
+ crmLayout(payload: import('./payload.types').CRMLayoutPayload): Promise<any>;
808
823
  getFolders(payload: import('./payload.types').FolderListRequest): Promise<import('../main.lib').PaginatedFolderList>;
809
824
  getFolder(payload?: {
810
825
  id: import('../main.lib').FolderRetrieve["id"];
@@ -106,6 +106,10 @@ export interface CRMSmartObjectMetadataPayload {
106
106
  * The name of the CRM object to retrieve metadata for (e.g., 'Account', 'Contact', 'Opportunity').
107
107
  */
108
108
  object: string;
109
+ /**
110
+ * Optional record type ID to retrieve metadata for a specific record type.
111
+ */
112
+ record_type_id?: string;
109
113
  }
110
114
  /**
111
115
  * Payload for submitting user feedback.
@@ -339,6 +343,31 @@ export interface CRMSmartObjectValidationRulesPayload {
339
343
  */
340
344
  object: string;
341
345
  }
346
+ /**
347
+ * Payload for getting CRM smart object layout (iOS only).
348
+ */
349
+ export interface CRMSmartObjectLayoutPayload {
350
+ /**
351
+ * The name of the CRM object (e.g., 'Account', 'Contact', 'Opportunity').
352
+ */
353
+ object: string;
354
+ /**
355
+ * Optional form factor (e.g., 'Large', 'Medium', 'Small').
356
+ */
357
+ form_factor?: string;
358
+ /**
359
+ * Optional layout type (e.g., 'Full', 'Compact').
360
+ */
361
+ layout_type?: string;
362
+ /**
363
+ * Optional mode (e.g., 'Create', 'Edit', 'View').
364
+ */
365
+ mode?: string;
366
+ /**
367
+ * Optional record type ID.
368
+ */
369
+ record_type_id?: string;
370
+ }
342
371
  /**
343
372
  * Represents a single CRM object to be deleted.
344
373
  */
@@ -361,3 +390,90 @@ export interface CRMSmartDeleteObjectsPayload {
361
390
  */
362
391
  objects: CRMDeleteObject[];
363
392
  }
393
+ /**
394
+ * Payload for creating CRM records (Web only).
395
+ * Uses Salesforce REST API to create records.
396
+ */
397
+ export interface CRMCreatePayload {
398
+ /**
399
+ * The Salesforce object type (e.g., 'Account', 'Contact', 'Order__c').
400
+ */
401
+ sobject: string;
402
+ /**
403
+ * Array of records to create. Each record is a key-value map of field names to values.
404
+ * Field names should use Salesforce API names (e.g., 'Account__c', 'Order_Date__c').
405
+ */
406
+ records: Array<Record<string, unknown>>;
407
+ /**
408
+ * Optional name of the CRM service to use.
409
+ */
410
+ service?: CRMServiceType;
411
+ }
412
+ /**
413
+ * Payload for upserting CRM records (Web only).
414
+ * Uses Salesforce REST API to insert or update records based on external ID.
415
+ */
416
+ export interface CRMUpsertPayload {
417
+ /**
418
+ * The Salesforce object type (e.g., 'Account', 'Contact', 'Order__c').
419
+ */
420
+ sobject: string;
421
+ /**
422
+ * Array of records to upsert. Each record is a key-value map of field names to values.
423
+ * Field names should use Salesforce API names (e.g., 'Account__c', 'Order_Date__c').
424
+ */
425
+ records: Array<Record<string, unknown>>;
426
+ /**
427
+ * The external ID field used to match existing records for update.
428
+ * If a record with matching external ID exists, it will be updated; otherwise, a new record is created.
429
+ */
430
+ external_id_field: string;
431
+ /**
432
+ * Optional name of the CRM service to use.
433
+ */
434
+ service?: CRMServiceType;
435
+ }
436
+ /**
437
+ * Payload for retrieving CRM object metadata/describe (Web only).
438
+ * Uses Salesforce REST API to fetch object metadata including fields and picklist values.
439
+ */
440
+ export interface CRMDescribePayload {
441
+ /**
442
+ * The Salesforce object type to describe (e.g., 'Account', 'Contact', 'Opportunity').
443
+ */
444
+ sobject: string;
445
+ /**
446
+ * Optional name of the CRM service to use.
447
+ */
448
+ service?: CRMServiceType;
449
+ }
450
+ /**
451
+ * Payload for retrieving CRM object layout (Web only).
452
+ * Uses Salesforce REST API to fetch object layout information including sections, fields arrangement, and form factors.
453
+ */
454
+ export interface CRMLayoutPayload {
455
+ /**
456
+ * The Salesforce object type to get layout for (e.g., 'Account', 'Contact', 'Opportunity').
457
+ */
458
+ sobject: string;
459
+ /**
460
+ * Optional form factor (e.g., 'Large', 'Medium', 'Small').
461
+ */
462
+ form_factor?: string;
463
+ /**
464
+ * Optional layout type (e.g., 'Full', 'Compact').
465
+ */
466
+ layout_type?: string;
467
+ /**
468
+ * Optional mode (e.g., 'Create', 'Edit', 'View').
469
+ */
470
+ mode?: string;
471
+ /**
472
+ * Optional record type ID for record type specific layouts.
473
+ */
474
+ record_type_id?: string;
475
+ /**
476
+ * Optional name of the CRM service to use.
477
+ */
478
+ service?: CRMServiceType;
479
+ }
@@ -11,5 +11,7 @@ export declare function createHttpClient(origin: string, token: string): {
11
11
  put: (endpoint: string, body: object, options?: FetchOptions) => Promise<any>;
12
12
  delete: (endpoint: string, options?: FetchOptions) => Promise<any>;
13
13
  patch: (endpoint: string, body: object, options?: FetchOptions) => Promise<any>;
14
+ /** PATCH with a full absolute URL (bypasses /api/v1 prefix). */
15
+ patchUrl: (absoluteUrl: string, body: object, options?: FetchOptions) => Promise<any>;
14
16
  };
15
17
  export {};
@@ -89,10 +89,11 @@ export type AppJson = {
89
89
  description?: string;
90
90
  authors?: string[];
91
91
  module: Record<EmbedLocation, Module>;
92
- app_type?: 'canvas-popup' | 'section-selector' | 'sharebox';
92
+ app_type?: 'canvas-popup' | 'section-selector' | 'sharebox' | 'ui-global-popup';
93
93
  app_options?: AppTypeJsonOptions;
94
94
  order_override?: number;
95
95
  has_multiple_routes?: boolean;
96
+ configure_entry?: string;
96
97
  };
97
98
  export type AppFile = File & {
98
99
  app_metadata?: AppJson;
@@ -15,7 +15,7 @@ export declare enum PostAction {
15
15
  CLOSE_WINDOW = "close_window",
16
16
  REDIRECT = "redirect"
17
17
  }
18
- export type CallPresentationHistory = {
18
+ export type CallPresentationHistoryItem = {
19
19
  type: 'canvas' | 'section' | 'file' | 'page' | 'canvas_page';
20
20
  duration?: number;
21
21
  timeStarted?: string;
@@ -25,7 +25,14 @@ export type CallPresentationHistory = {
25
25
  page?: number;
26
26
  component_ids?: string[];
27
27
  id: string;
28
- }[];
28
+ shared?: boolean;
29
+ leftBehind?: boolean;
30
+ pdfDownloaded?: boolean;
31
+ templateName?: string;
32
+ tags?: string[];
33
+ metadata?: Record<string, any>;
34
+ };
35
+ export type CallPresentationHistory = CallPresentationHistoryItem[];
29
36
  export type ContentRating = -1 | 0 | 1;
30
37
  export type CallPresentationHistoryMetadata = {
31
38
  [id: string]: {
@@ -16,6 +16,7 @@ export interface GetCanvasesParams {
16
16
  tags__not_in?: string;
17
17
  id__in?: string;
18
18
  access_type?: string;
19
+ template__id?: string;
19
20
  }
20
21
  export interface CanvasMetadataRetrieve {
21
22
  canvas_id: CanvasRetrieve['id'];
@@ -23,6 +23,7 @@ export type MetadataSearchParams = MetadataFilterRequest & {
23
23
  cursor?: string;
24
24
  page_size?: number;
25
25
  fetch_all_unique?: boolean;
26
+ tags_not_in?: string;
26
27
  };
27
28
  interface MetadataResultItem {
28
29
  id: string;
@@ -41,9 +41,7 @@ export type InstanceSettings = OrganizationSettings & {
41
41
  show_fallback_section_name_on_collapsibles?: boolean;
42
42
  capture_component_enter_exit_events?: 'all' | 'named_components';
43
43
  enable_collection_player_component?: boolean;
44
- autoselect_selected_canvas_account?: boolean;
45
44
  require_account_on_canvas_creation?: boolean;
46
- enable_canvases_account_filtering?: boolean;
47
45
  pptx_slide_image_width?: number;
48
46
  correlation_id_cleanup_delay?: number;
49
47
  async_download_expiration_hours?: number;
@@ -53,6 +51,7 @@ export type InstanceSettings = OrganizationSettings & {
53
51
  disable_rep_canvas_creation?: boolean;
54
52
  disable_shared_link_creation?: boolean;
55
53
  hide_meeting_bar?: boolean;
54
+ sync_from_template?: string[];
56
55
  };
57
56
  custom_event?: string;
58
57
  enable_recents?: boolean;
@@ -62,5 +61,8 @@ export type InstanceSettings = OrganizationSettings & {
62
61
  enable_sync_file_filtering?: boolean;
63
62
  time_format?: string;
64
63
  date_format?: string;
64
+ is_file_expiration_mandatory?: boolean;
65
+ rep_uploads_folder_name?: string;
66
+ admin_landing_page?: string;
65
67
  ios?: InstanceSettings;
66
68
  };