@jevelin/bridge 2.53.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.
- package/LICENSE +12 -0
- package/README.md +78 -0
- package/dist/esm/_virtual/_polyfill-node.buffer.js +1 -0
- package/dist/esm/_virtual/_polyfill-node.global.js +1 -0
- package/dist/esm/_virtual/browser.js +1 -0
- package/dist/esm/node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.55.1_tslib@2.8.1_typescript@4.9.5/node_modules/tslib/tslib.es6.js +1 -0
- package/dist/esm/node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/browser.js +1 -0
- package/dist/esm/node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/common.js +1 -0
- package/dist/esm/node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/uuid@11.1.1/node_modules/uuid/dist/esm-browser/native.js +1 -0
- package/dist/esm/node_modules/.pnpm/uuid@11.1.1/node_modules/uuid/dist/esm-browser/regex.js +1 -0
- package/dist/esm/node_modules/.pnpm/uuid@11.1.1/node_modules/uuid/dist/esm-browser/rng.js +1 -0
- package/dist/esm/node_modules/.pnpm/uuid@11.1.1/node_modules/uuid/dist/esm-browser/stringify.js +1 -0
- package/dist/esm/node_modules/.pnpm/uuid@11.1.1/node_modules/uuid/dist/esm-browser/v4.js +1 -0
- package/dist/esm/node_modules/.pnpm/uuid@11.1.1/node_modules/uuid/dist/esm-browser/validate.js +1 -0
- package/dist/esm/packages/teams-js/dts/index.d.ts +2 -0
- package/dist/esm/packages/teams-js/dts/internal/VideoFrameTypes.d.ts +78 -0
- package/dist/esm/packages/teams-js/dts/internal/appHelpers.d.ts +19 -0
- package/dist/esm/packages/teams-js/dts/internal/childCommunication.d.ts +38 -0
- package/dist/esm/packages/teams-js/dts/internal/communication.d.ts +151 -0
- package/dist/esm/packages/teams-js/dts/internal/communicationUtils.d.ts +20 -0
- package/dist/esm/packages/teams-js/dts/internal/constants.d.ts +146 -0
- package/dist/esm/packages/teams-js/dts/internal/deepLinkConstants.d.ts +26 -0
- package/dist/esm/packages/teams-js/dts/internal/deepLinkUtilities.d.ts +4 -0
- package/dist/esm/packages/teams-js/dts/internal/dialogHelpers.d.ts +32 -0
- package/dist/esm/packages/teams-js/dts/internal/emailAddressValidation.d.ts +1 -0
- package/dist/esm/packages/teams-js/dts/internal/globalVars.d.ts +13 -0
- package/dist/esm/packages/teams-js/dts/internal/handlers.d.ts +101 -0
- package/dist/esm/packages/teams-js/dts/internal/hostToAppTelemetry.d.ts +51 -0
- package/dist/esm/packages/teams-js/dts/internal/idValidation.d.ts +37 -0
- package/dist/esm/packages/teams-js/dts/internal/interfaces.d.ts +58 -0
- package/dist/esm/packages/teams-js/dts/internal/internalAPIs.d.ts +61 -0
- package/dist/esm/packages/teams-js/dts/internal/marketplaceUtils.d.ts +94 -0
- package/dist/esm/packages/teams-js/dts/internal/mediaUtil.d.ts +95 -0
- package/dist/esm/packages/teams-js/dts/internal/messageObjects.d.ts +80 -0
- package/dist/esm/packages/teams-js/dts/internal/nestedAppAuthUtils.d.ts +107 -0
- package/dist/esm/packages/teams-js/dts/internal/pagesHelpers.d.ts +27 -0
- package/dist/esm/packages/teams-js/dts/internal/profileUtil.d.ts +33 -0
- package/dist/esm/packages/teams-js/dts/internal/responseHandler.d.ts +32 -0
- package/dist/esm/packages/teams-js/dts/internal/telemetry.d.ts +411 -0
- package/dist/esm/packages/teams-js/dts/internal/typeCheckUtilities.d.ts +1 -0
- package/dist/esm/packages/teams-js/dts/internal/urlPattern.d.ts +50 -0
- package/dist/esm/packages/teams-js/dts/internal/utils.d.ts +226 -0
- package/dist/esm/packages/teams-js/dts/internal/validOrigins.d.ts +13 -0
- package/dist/esm/packages/teams-js/dts/internal/videoEffectsUtils.d.ts +31 -0
- package/dist/esm/packages/teams-js/dts/internal/videoFrameTick.d.ts +10 -0
- package/dist/esm/packages/teams-js/dts/internal/videoPerformanceMonitor.d.ts +54 -0
- package/dist/esm/packages/teams-js/dts/internal/videoPerformanceStatistics.d.ts +49 -0
- package/dist/esm/packages/teams-js/dts/internal/visualMediaHelpers.d.ts +14 -0
- package/dist/esm/packages/teams-js/dts/internal/webStorageHelpers.d.ts +4 -0
- package/dist/esm/packages/teams-js/dts/private/appEntity.d.ts +89 -0
- package/dist/esm/packages/teams-js/dts/private/constants.d.ts +9 -0
- package/dist/esm/packages/teams-js/dts/private/conversations.d.ts +152 -0
- package/dist/esm/packages/teams-js/dts/private/copilot/copilot.d.ts +5 -0
- package/dist/esm/packages/teams-js/dts/private/copilot/customTelemetry.d.ts +33 -0
- package/dist/esm/packages/teams-js/dts/private/copilot/eligibility.d.ts +31 -0
- package/dist/esm/packages/teams-js/dts/private/copilot/sidePanel.d.ts +75 -0
- package/dist/esm/packages/teams-js/dts/private/copilot/sidePanelInterfaces.d.ts +522 -0
- package/dist/esm/packages/teams-js/dts/private/copilot/view.d.ts +21 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppAuthentication.d.ts +472 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppAuthenticationForCEA.d.ts +93 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppCardActions.d.ts +111 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppCardActionsForCEA.d.ts +48 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppCardActionsForDA.d.ts +75 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppCommands.d.ts +122 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppErrorHandling.d.ts +19 -0
- package/dist/esm/packages/teams-js/dts/private/files.d.ts +766 -0
- package/dist/esm/packages/teams-js/dts/private/hostEntity/hostEntity.d.ts +50 -0
- package/dist/esm/packages/teams-js/dts/private/hostEntity/tab.d.ts +134 -0
- package/dist/esm/packages/teams-js/dts/private/index.d.ts +29 -0
- package/dist/esm/packages/teams-js/dts/private/interfaces.d.ts +290 -0
- package/dist/esm/packages/teams-js/dts/private/logs.d.ts +31 -0
- package/dist/esm/packages/teams-js/dts/private/meetingRoom.d.ts +208 -0
- package/dist/esm/packages/teams-js/dts/private/messageChannels/dataLayer.d.ts +39 -0
- package/dist/esm/packages/teams-js/dts/private/messageChannels/messageChannels.d.ts +28 -0
- package/dist/esm/packages/teams-js/dts/private/messageChannels/telemetry.d.ts +39 -0
- package/dist/esm/packages/teams-js/dts/private/nestedAppAuth/nestedAppAuthBridge.d.ts +32 -0
- package/dist/esm/packages/teams-js/dts/private/notifications.d.ts +32 -0
- package/dist/esm/packages/teams-js/dts/private/otherAppStateChange.d.ts +94 -0
- package/dist/esm/packages/teams-js/dts/private/plugins.d.ts +94 -0
- package/dist/esm/packages/teams-js/dts/private/privateAPIs.d.ts +94 -0
- package/dist/esm/packages/teams-js/dts/private/remoteCamera.d.ts +303 -0
- package/dist/esm/packages/teams-js/dts/private/store.d.ts +128 -0
- package/dist/esm/packages/teams-js/dts/private/teams/fullTrust/fullTrust.d.ts +31 -0
- package/dist/esm/packages/teams-js/dts/private/teams/fullTrust/joinedTeams.d.ts +30 -0
- package/dist/esm/packages/teams-js/dts/private/teams/teams.d.ts +63 -0
- package/dist/esm/packages/teams-js/dts/private/videoEffectsEx.d.ts +250 -0
- package/dist/esm/packages/teams-js/dts/private/widgetHosting/widgetContext.d.ts +121 -0
- package/dist/esm/packages/teams-js/dts/private/widgetHosting/widgetHosting.d.ts +101 -0
- package/dist/esm/packages/teams-js/dts/public/adaptiveCards.d.ts +6 -0
- package/dist/esm/packages/teams-js/dts/public/app/app.d.ts +648 -0
- package/dist/esm/packages/teams-js/dts/public/app/lifecycle.d.ts +41 -0
- package/dist/esm/packages/teams-js/dts/public/appId.d.ts +28 -0
- package/dist/esm/packages/teams-js/dts/public/appInitialization.d.ts +57 -0
- package/dist/esm/packages/teams-js/dts/public/appInstallDialog.d.ts +18 -0
- package/dist/esm/packages/teams-js/dts/public/appPerformanceMetrics.d.ts +24 -0
- package/dist/esm/packages/teams-js/dts/public/appWindow.d.ts +66 -0
- package/dist/esm/packages/teams-js/dts/public/authentication.d.ts +417 -0
- package/dist/esm/packages/teams-js/dts/public/badge.d.ts +42 -0
- package/dist/esm/packages/teams-js/dts/public/barCode.d.ts +54 -0
- package/dist/esm/packages/teams-js/dts/public/calendar.d.ts +41 -0
- package/dist/esm/packages/teams-js/dts/public/call.d.ts +54 -0
- package/dist/esm/packages/teams-js/dts/public/chat.d.ts +68 -0
- package/dist/esm/packages/teams-js/dts/public/clipboard.d.ts +35 -0
- package/dist/esm/packages/teams-js/dts/public/connectivity.d.ts +52 -0
- package/dist/esm/packages/teams-js/dts/public/constants.d.ts +203 -0
- package/dist/esm/packages/teams-js/dts/public/dialog/adaptiveCard/adaptiveCard.d.ts +22 -0
- package/dist/esm/packages/teams-js/dts/public/dialog/adaptiveCard/bot.d.ts +22 -0
- package/dist/esm/packages/teams-js/dts/public/dialog/dialog.d.ts +49 -0
- package/dist/esm/packages/teams-js/dts/public/dialog/update.d.ts +19 -0
- package/dist/esm/packages/teams-js/dts/public/dialog/url/bot.d.ts +25 -0
- package/dist/esm/packages/teams-js/dts/public/dialog/url/parentCommunication.d.ts +41 -0
- package/dist/esm/packages/teams-js/dts/public/dialog/url/url.d.ts +54 -0
- package/dist/esm/packages/teams-js/dts/public/emailAddress.d.ts +12 -0
- package/dist/esm/packages/teams-js/dts/public/externalApp.d.ts +130 -0
- package/dist/esm/packages/teams-js/dts/public/featureFlags.d.ts +44 -0
- package/dist/esm/packages/teams-js/dts/public/geoLocation/geoLocation.d.ts +68 -0
- package/dist/esm/packages/teams-js/dts/public/geoLocation/map.d.ts +33 -0
- package/dist/esm/packages/teams-js/dts/public/haptics.d.ts +42 -0
- package/dist/esm/packages/teams-js/dts/public/index.d.ts +57 -0
- package/dist/esm/packages/teams-js/dts/public/interfaces.d.ts +1321 -0
- package/dist/esm/packages/teams-js/dts/public/liveShareHost.d.ts +220 -0
- package/dist/esm/packages/teams-js/dts/public/location.d.ts +85 -0
- package/dist/esm/packages/teams-js/dts/public/mail/handoff.d.ts +48 -0
- package/dist/esm/packages/teams-js/dts/public/mail/mail.d.ts +97 -0
- package/dist/esm/packages/teams-js/dts/public/marketplace.d.ts +320 -0
- package/dist/esm/packages/teams-js/dts/public/media.d.ts +435 -0
- package/dist/esm/packages/teams-js/dts/public/meeting/appShareButton.d.ts +51 -0
- package/dist/esm/packages/teams-js/dts/public/meeting/meeting.d.ts +854 -0
- package/dist/esm/packages/teams-js/dts/public/menus.d.ts +187 -0
- package/dist/esm/packages/teams-js/dts/public/monetization.d.ts +64 -0
- package/dist/esm/packages/teams-js/dts/public/navigation.d.ts +46 -0
- package/dist/esm/packages/teams-js/dts/public/nestedAppAuth.d.ts +64 -0
- package/dist/esm/packages/teams-js/dts/public/offlineStorage/drafts.d.ts +104 -0
- package/dist/esm/packages/teams-js/dts/public/offlineStorage/inbox.d.ts +86 -0
- package/dist/esm/packages/teams-js/dts/public/offlineStorage/offlineStorage.d.ts +258 -0
- package/dist/esm/packages/teams-js/dts/public/offlineStorage/outbox.d.ts +112 -0
- package/dist/esm/packages/teams-js/dts/public/offlineStorage/sent.d.ts +69 -0
- package/dist/esm/packages/teams-js/dts/public/offlineStorage/sync.d.ts +183 -0
- package/dist/esm/packages/teams-js/dts/public/pages/appButton.d.ts +30 -0
- package/dist/esm/packages/teams-js/dts/public/pages/backStack.d.ts +44 -0
- package/dist/esm/packages/teams-js/dts/public/pages/config.d.ts +123 -0
- package/dist/esm/packages/teams-js/dts/public/pages/currentApp.d.ts +46 -0
- package/dist/esm/packages/teams-js/dts/public/pages/fullTrust.d.ts +33 -0
- package/dist/esm/packages/teams-js/dts/public/pages/pages.d.ts +253 -0
- package/dist/esm/packages/teams-js/dts/public/pages/tabs.d.ts +32 -0
- package/dist/esm/packages/teams-js/dts/public/people.d.ts +73 -0
- package/dist/esm/packages/teams-js/dts/public/profile.d.ts +105 -0
- package/dist/esm/packages/teams-js/dts/public/publicAPIs.d.ts +218 -0
- package/dist/esm/packages/teams-js/dts/public/runtime.d.ts +240 -0
- package/dist/esm/packages/teams-js/dts/public/search.d.ts +90 -0
- package/dist/esm/packages/teams-js/dts/public/secondaryBrowser.d.ts +31 -0
- package/dist/esm/packages/teams-js/dts/public/security.d.ts +83 -0
- package/dist/esm/packages/teams-js/dts/public/serializable.interface.d.ts +17 -0
- package/dist/esm/packages/teams-js/dts/public/settings.d.ts +102 -0
- package/dist/esm/packages/teams-js/dts/public/sharing/history.d.ts +47 -0
- package/dist/esm/packages/teams-js/dts/public/sharing/sharing.d.ts +93 -0
- package/dist/esm/packages/teams-js/dts/public/shortcutRelay.d.ts +53 -0
- package/dist/esm/packages/teams-js/dts/public/stageView/self.d.ts +23 -0
- package/dist/esm/packages/teams-js/dts/public/stageView/stageView.d.ts +81 -0
- package/dist/esm/packages/teams-js/dts/public/tasks.d.ts +52 -0
- package/dist/esm/packages/teams-js/dts/public/teamsAPIs.d.ts +79 -0
- package/dist/esm/packages/teams-js/dts/public/thirdPartyCloudStorage.d.ts +118 -0
- package/dist/esm/packages/teams-js/dts/public/uuidObject.d.ts +38 -0
- package/dist/esm/packages/teams-js/dts/public/validatedSafeString.d.ts +25 -0
- package/dist/esm/packages/teams-js/dts/public/version.d.ts +5 -0
- package/dist/esm/packages/teams-js/dts/public/videoEffects.d.ts +212 -0
- package/dist/esm/packages/teams-js/dts/public/visualMedia/image.d.ts +64 -0
- package/dist/esm/packages/teams-js/dts/public/visualMedia/visualMedia.d.ts +116 -0
- package/dist/esm/packages/teams-js/dts/public/webStorage.d.ts +25 -0
- package/dist/esm/packages/teams-js/src/artifactsForCDN/validDomains.json.js +1 -0
- package/dist/esm/packages/teams-js/src/index.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/appHelpers.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/childCommunication.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/communication.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/communicationUtils.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/constants.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/deepLinkConstants.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/deepLinkUtilities.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/dialogHelpers.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/emailAddressValidation.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/globalVars.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/handlers.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/hostToAppTelemetry.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/idValidation.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/internalAPIs.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/marketplaceUtils.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/mediaUtil.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/messageObjects.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/nestedAppAuthUtils.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/pagesHelpers.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/profileUtil.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/responseHandler.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/telemetry.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/typeCheckUtilities.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/urlPattern.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/utils.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/validOrigins.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/videoEffectsUtils.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/videoFrameTick.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/videoPerformanceMonitor.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/videoPerformanceStatistics.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/visualMediaHelpers.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/webStorageHelpers.js +1 -0
- package/dist/esm/packages/teams-js/src/private/appEntity.js +1 -0
- package/dist/esm/packages/teams-js/src/private/constants.js +1 -0
- package/dist/esm/packages/teams-js/src/private/conversations.js +1 -0
- package/dist/esm/packages/teams-js/src/private/copilot/copilot.js +1 -0
- package/dist/esm/packages/teams-js/src/private/copilot/customTelemetry.js +1 -0
- package/dist/esm/packages/teams-js/src/private/copilot/eligibility.js +1 -0
- package/dist/esm/packages/teams-js/src/private/copilot/sidePanel.js +1 -0
- package/dist/esm/packages/teams-js/src/private/copilot/sidePanelInterfaces.js +1 -0
- package/dist/esm/packages/teams-js/src/private/copilot/view.js +1 -0
- package/dist/esm/packages/teams-js/src/private/externalAppAuthentication.js +1 -0
- package/dist/esm/packages/teams-js/src/private/externalAppAuthenticationForCEA.js +1 -0
- package/dist/esm/packages/teams-js/src/private/externalAppCardActions.js +1 -0
- package/dist/esm/packages/teams-js/src/private/externalAppCardActionsForCEA.js +1 -0
- package/dist/esm/packages/teams-js/src/private/externalAppCardActionsForDA.js +1 -0
- package/dist/esm/packages/teams-js/src/private/externalAppCommands.js +1 -0
- package/dist/esm/packages/teams-js/src/private/externalAppErrorHandling.js +1 -0
- package/dist/esm/packages/teams-js/src/private/files.js +1 -0
- package/dist/esm/packages/teams-js/src/private/hostEntity/hostEntity.js +1 -0
- package/dist/esm/packages/teams-js/src/private/hostEntity/tab.js +1 -0
- package/dist/esm/packages/teams-js/src/private/interfaces.js +1 -0
- package/dist/esm/packages/teams-js/src/private/logs.js +1 -0
- package/dist/esm/packages/teams-js/src/private/meetingRoom.js +1 -0
- package/dist/esm/packages/teams-js/src/private/messageChannels/dataLayer.js +1 -0
- package/dist/esm/packages/teams-js/src/private/messageChannels/messageChannels.js +1 -0
- package/dist/esm/packages/teams-js/src/private/messageChannels/telemetry.js +1 -0
- package/dist/esm/packages/teams-js/src/private/nestedAppAuth/nestedAppAuthBridge.js +1 -0
- package/dist/esm/packages/teams-js/src/private/notifications.js +1 -0
- package/dist/esm/packages/teams-js/src/private/otherAppStateChange.js +1 -0
- package/dist/esm/packages/teams-js/src/private/plugins.js +1 -0
- package/dist/esm/packages/teams-js/src/private/privateAPIs.js +1 -0
- package/dist/esm/packages/teams-js/src/private/remoteCamera.js +1 -0
- package/dist/esm/packages/teams-js/src/private/store.js +1 -0
- package/dist/esm/packages/teams-js/src/private/teams/fullTrust/fullTrust.js +1 -0
- package/dist/esm/packages/teams-js/src/private/teams/fullTrust/joinedTeams.js +1 -0
- package/dist/esm/packages/teams-js/src/private/teams/teams.js +1 -0
- package/dist/esm/packages/teams-js/src/private/videoEffectsEx.js +1 -0
- package/dist/esm/packages/teams-js/src/private/widgetHosting/widgetHosting.js +1 -0
- package/dist/esm/packages/teams-js/src/public/adaptiveCards.js +1 -0
- package/dist/esm/packages/teams-js/src/public/app/app.js +1 -0
- package/dist/esm/packages/teams-js/src/public/app/lifecycle.js +1 -0
- package/dist/esm/packages/teams-js/src/public/appId.js +1 -0
- package/dist/esm/packages/teams-js/src/public/appInitialization.js +1 -0
- package/dist/esm/packages/teams-js/src/public/appInstallDialog.js +1 -0
- package/dist/esm/packages/teams-js/src/public/appPerformanceMetrics.js +1 -0
- package/dist/esm/packages/teams-js/src/public/appWindow.js +1 -0
- package/dist/esm/packages/teams-js/src/public/authentication.js +1 -0
- package/dist/esm/packages/teams-js/src/public/badge.js +1 -0
- package/dist/esm/packages/teams-js/src/public/barCode.js +1 -0
- package/dist/esm/packages/teams-js/src/public/calendar.js +1 -0
- package/dist/esm/packages/teams-js/src/public/call.js +1 -0
- package/dist/esm/packages/teams-js/src/public/chat.js +1 -0
- package/dist/esm/packages/teams-js/src/public/clipboard.js +1 -0
- package/dist/esm/packages/teams-js/src/public/connectivity.js +1 -0
- package/dist/esm/packages/teams-js/src/public/constants.js +1 -0
- package/dist/esm/packages/teams-js/src/public/dialog/adaptiveCard/adaptiveCard.js +1 -0
- package/dist/esm/packages/teams-js/src/public/dialog/adaptiveCard/bot.js +1 -0
- package/dist/esm/packages/teams-js/src/public/dialog/dialog.js +1 -0
- package/dist/esm/packages/teams-js/src/public/dialog/update.js +1 -0
- package/dist/esm/packages/teams-js/src/public/dialog/url/bot.js +1 -0
- package/dist/esm/packages/teams-js/src/public/dialog/url/parentCommunication.js +1 -0
- package/dist/esm/packages/teams-js/src/public/dialog/url/url.js +1 -0
- package/dist/esm/packages/teams-js/src/public/emailAddress.js +1 -0
- package/dist/esm/packages/teams-js/src/public/externalApp.js +1 -0
- package/dist/esm/packages/teams-js/src/public/featureFlags.js +1 -0
- package/dist/esm/packages/teams-js/src/public/geoLocation/geoLocation.js +1 -0
- package/dist/esm/packages/teams-js/src/public/geoLocation/map.js +1 -0
- package/dist/esm/packages/teams-js/src/public/haptics.js +1 -0
- package/dist/esm/packages/teams-js/src/public/interfaces.js +1 -0
- package/dist/esm/packages/teams-js/src/public/liveShareHost.js +1 -0
- package/dist/esm/packages/teams-js/src/public/location.js +1 -0
- package/dist/esm/packages/teams-js/src/public/mail/handoff.js +1 -0
- package/dist/esm/packages/teams-js/src/public/mail/mail.js +1 -0
- package/dist/esm/packages/teams-js/src/public/marketplace.js +1 -0
- package/dist/esm/packages/teams-js/src/public/media.js +1 -0
- package/dist/esm/packages/teams-js/src/public/meeting/appShareButton.js +1 -0
- package/dist/esm/packages/teams-js/src/public/meeting/meeting.js +1 -0
- package/dist/esm/packages/teams-js/src/public/menus.js +1 -0
- package/dist/esm/packages/teams-js/src/public/monetization.js +1 -0
- package/dist/esm/packages/teams-js/src/public/navigation.js +1 -0
- package/dist/esm/packages/teams-js/src/public/nestedAppAuth.js +1 -0
- package/dist/esm/packages/teams-js/src/public/offlineStorage/drafts.js +1 -0
- package/dist/esm/packages/teams-js/src/public/offlineStorage/inbox.js +1 -0
- package/dist/esm/packages/teams-js/src/public/offlineStorage/offlineStorage.js +1 -0
- package/dist/esm/packages/teams-js/src/public/offlineStorage/outbox.js +1 -0
- package/dist/esm/packages/teams-js/src/public/offlineStorage/sent.js +1 -0
- package/dist/esm/packages/teams-js/src/public/offlineStorage/sync.js +1 -0
- package/dist/esm/packages/teams-js/src/public/pages/appButton.js +1 -0
- package/dist/esm/packages/teams-js/src/public/pages/backStack.js +1 -0
- package/dist/esm/packages/teams-js/src/public/pages/config.js +1 -0
- package/dist/esm/packages/teams-js/src/public/pages/currentApp.js +1 -0
- package/dist/esm/packages/teams-js/src/public/pages/fullTrust.js +1 -0
- package/dist/esm/packages/teams-js/src/public/pages/pages.js +1 -0
- package/dist/esm/packages/teams-js/src/public/pages/tabs.js +1 -0
- package/dist/esm/packages/teams-js/src/public/people.js +1 -0
- package/dist/esm/packages/teams-js/src/public/profile.js +1 -0
- package/dist/esm/packages/teams-js/src/public/publicAPIs.js +1 -0
- package/dist/esm/packages/teams-js/src/public/runtime.js +1 -0
- package/dist/esm/packages/teams-js/src/public/search.js +1 -0
- package/dist/esm/packages/teams-js/src/public/secondaryBrowser.js +1 -0
- package/dist/esm/packages/teams-js/src/public/security.js +1 -0
- package/dist/esm/packages/teams-js/src/public/serializable.interface.js +1 -0
- package/dist/esm/packages/teams-js/src/public/settings.js +1 -0
- package/dist/esm/packages/teams-js/src/public/sharing/history.js +1 -0
- package/dist/esm/packages/teams-js/src/public/sharing/sharing.js +1 -0
- package/dist/esm/packages/teams-js/src/public/shortcutRelay.js +1 -0
- package/dist/esm/packages/teams-js/src/public/stageView/self.js +1 -0
- package/dist/esm/packages/teams-js/src/public/stageView/stageView.js +1 -0
- package/dist/esm/packages/teams-js/src/public/tasks.js +1 -0
- package/dist/esm/packages/teams-js/src/public/teamsAPIs.js +1 -0
- package/dist/esm/packages/teams-js/src/public/thirdPartyCloudStorage.js +1 -0
- package/dist/esm/packages/teams-js/src/public/uuidObject.js +1 -0
- package/dist/esm/packages/teams-js/src/public/validatedSafeString.js +1 -0
- package/dist/esm/packages/teams-js/src/public/version.js +1 -0
- package/dist/esm/packages/teams-js/src/public/videoEffects.js +1 -0
- package/dist/esm/packages/teams-js/src/public/visualMedia/image.js +1 -0
- package/dist/esm/packages/teams-js/src/public/visualMedia/visualMedia.js +1 -0
- package/dist/esm/packages/teams-js/src/public/webStorage.js +1 -0
- package/dist/umd/JevelinBridge-manifest.json +642 -0
- package/dist/umd/JevelinBridge.js +23119 -0
- package/dist/umd/JevelinBridge.js.map +1 -0
- package/dist/umd/JevelinBridge.min.js +3 -0
- package/dist/umd/JevelinBridge.min.js.LICENSE.txt +8 -0
- package/dist/umd/JevelinBridge.min.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module to interact with the offline storage capability of the host.
|
|
3
|
+
* Provides a mail-like pattern with inbox, drafts, outbox, and sent boxes
|
|
4
|
+
* for managing server-driven dynamic schemas with offline-first data persistence.
|
|
5
|
+
*
|
|
6
|
+
* @beta
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import * as drafts from './drafts';
|
|
10
|
+
import * as inbox from './inbox';
|
|
11
|
+
import * as outbox from './outbox';
|
|
12
|
+
import * as sent from './sent';
|
|
13
|
+
import * as sync from './sync';
|
|
14
|
+
/**
|
|
15
|
+
* Represents a field definition within a schema
|
|
16
|
+
*
|
|
17
|
+
* @beta
|
|
18
|
+
*/
|
|
19
|
+
export interface SchemaField {
|
|
20
|
+
/** The name of the field */
|
|
21
|
+
name: string;
|
|
22
|
+
/** The data type of the field */
|
|
23
|
+
type: 'text' | 'integer' | 'real' | 'boolean' | 'json' | 'blob_ref';
|
|
24
|
+
/** Whether this field should be indexed for query performance */
|
|
25
|
+
indexed?: boolean;
|
|
26
|
+
/** Whether this field is required */
|
|
27
|
+
required?: boolean;
|
|
28
|
+
/** Default value for the field */
|
|
29
|
+
defaultValue?: string | number | boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Represents a server-driven schema definition used to create storage tables dynamically
|
|
33
|
+
*
|
|
34
|
+
* @beta
|
|
35
|
+
*/
|
|
36
|
+
export interface SchemaDefinition {
|
|
37
|
+
/** Unique identifier for this schema */
|
|
38
|
+
schemaId: string;
|
|
39
|
+
/** Version number of the schema, used for migrations */
|
|
40
|
+
version: number;
|
|
41
|
+
/** Human-readable display name for the schema */
|
|
42
|
+
displayName?: string;
|
|
43
|
+
/** Field definitions for this schema */
|
|
44
|
+
fields: SchemaField[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Information about a registered schema
|
|
48
|
+
*
|
|
49
|
+
* @beta
|
|
50
|
+
*/
|
|
51
|
+
export interface SchemaInfo {
|
|
52
|
+
/** Unique identifier for this schema */
|
|
53
|
+
schemaId: string;
|
|
54
|
+
/** Current version number */
|
|
55
|
+
version: number;
|
|
56
|
+
/** Human-readable display name */
|
|
57
|
+
displayName?: string;
|
|
58
|
+
/** Number of records across all boxes */
|
|
59
|
+
recordCount: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Result of a schema migration operation
|
|
63
|
+
*
|
|
64
|
+
* @beta
|
|
65
|
+
*/
|
|
66
|
+
export interface MigrationResult {
|
|
67
|
+
/** Whether the migration completed successfully */
|
|
68
|
+
success: boolean;
|
|
69
|
+
/** The previous schema version */
|
|
70
|
+
previousVersion: number;
|
|
71
|
+
/** The new schema version */
|
|
72
|
+
currentVersion: number;
|
|
73
|
+
/** Fields that were added during migration */
|
|
74
|
+
addedFields: string[];
|
|
75
|
+
/** Fields that were deprecated during migration */
|
|
76
|
+
deprecatedFields: string[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Represents a filter condition for querying records
|
|
80
|
+
*
|
|
81
|
+
* @beta
|
|
82
|
+
*/
|
|
83
|
+
export interface QueryFilter {
|
|
84
|
+
/** Field name to filter on */
|
|
85
|
+
field: string;
|
|
86
|
+
/** Comparison operator */
|
|
87
|
+
operator: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'contains' | 'in';
|
|
88
|
+
/** Value to compare against */
|
|
89
|
+
value: string | number | boolean | string[] | number[];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Options for paginated queries
|
|
93
|
+
*
|
|
94
|
+
* @beta
|
|
95
|
+
*/
|
|
96
|
+
export interface QueryOptions {
|
|
97
|
+
/** Filters to apply */
|
|
98
|
+
filters?: QueryFilter[];
|
|
99
|
+
/** Field to sort by */
|
|
100
|
+
sortBy?: string;
|
|
101
|
+
/** Sort direction */
|
|
102
|
+
sortOrder?: 'asc' | 'desc';
|
|
103
|
+
/** Maximum number of results to return */
|
|
104
|
+
limit?: number;
|
|
105
|
+
/** Number of results to skip */
|
|
106
|
+
offset?: number;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Paginated result set
|
|
110
|
+
*
|
|
111
|
+
* @beta
|
|
112
|
+
*/
|
|
113
|
+
export interface PaginatedResult<T = Record<string, unknown>> {
|
|
114
|
+
/** The result items */
|
|
115
|
+
items: T[];
|
|
116
|
+
/** Total number of matching records */
|
|
117
|
+
totalCount: number;
|
|
118
|
+
/** Whether there are more results beyond this page */
|
|
119
|
+
hasMore: boolean;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* The status of a record in the offline storage system
|
|
123
|
+
*
|
|
124
|
+
* @beta
|
|
125
|
+
*/
|
|
126
|
+
export declare enum RecordStatus {
|
|
127
|
+
/** Record is a local draft, not yet submitted for sync */
|
|
128
|
+
Draft = "draft",
|
|
129
|
+
/** Record is queued for sync */
|
|
130
|
+
Pending = "pending",
|
|
131
|
+
/** Record is currently being synced */
|
|
132
|
+
Syncing = "syncing",
|
|
133
|
+
/** Record has been successfully synced */
|
|
134
|
+
Synced = "synced",
|
|
135
|
+
/** Record sync has failed */
|
|
136
|
+
Failed = "failed"
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The box (category) a record belongs to
|
|
140
|
+
*
|
|
141
|
+
* @beta
|
|
142
|
+
*/
|
|
143
|
+
export declare enum RecordBox {
|
|
144
|
+
/** Server-owned records received from the server */
|
|
145
|
+
Inbox = "inbox",
|
|
146
|
+
/** Client-owned records created locally but not yet submitted */
|
|
147
|
+
Drafts = "drafts",
|
|
148
|
+
/** Sync-owned records submitted and queued/in-progress for upload */
|
|
149
|
+
Outbox = "outbox",
|
|
150
|
+
/** Synchronized copy of successfully uploaded records */
|
|
151
|
+
Sent = "sent"
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Metadata fields attached to every record in offline storage
|
|
155
|
+
*
|
|
156
|
+
* @beta
|
|
157
|
+
*/
|
|
158
|
+
export interface RecordMetadata {
|
|
159
|
+
/** Client-generated unique identifier */
|
|
160
|
+
id: string;
|
|
161
|
+
/** Which box this record belongs to */
|
|
162
|
+
box: RecordBox;
|
|
163
|
+
/** Current sync status */
|
|
164
|
+
status: RecordStatus;
|
|
165
|
+
/** Optimistic locking version (client-side) */
|
|
166
|
+
version: number;
|
|
167
|
+
/** Last known server version */
|
|
168
|
+
serverVersion?: number;
|
|
169
|
+
/** Timestamp when the record was created */
|
|
170
|
+
createdAt: number;
|
|
171
|
+
/** Timestamp when the record was last updated */
|
|
172
|
+
updatedAt: number;
|
|
173
|
+
/** Timestamp when the record was last synced */
|
|
174
|
+
syncedAt?: number;
|
|
175
|
+
/** Last sync error message, if any */
|
|
176
|
+
error?: string;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* A record stored in offline storage, combining metadata with schema-driven data
|
|
180
|
+
*
|
|
181
|
+
* @beta
|
|
182
|
+
*/
|
|
183
|
+
export type OfflineRecord<T = Record<string, unknown>> = RecordMetadata & {
|
|
184
|
+
/** The schema-driven data payload */
|
|
185
|
+
data: T;
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Registers a new schema definition with the offline storage system.
|
|
189
|
+
* The host will create the necessary storage structures to hold records of this schema.
|
|
190
|
+
*
|
|
191
|
+
* @param schema - The schema definition to register
|
|
192
|
+
* @returns A promise that resolves when the schema has been registered
|
|
193
|
+
*
|
|
194
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
195
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
196
|
+
*
|
|
197
|
+
* @beta
|
|
198
|
+
*/
|
|
199
|
+
export declare function registerSchema(schema: SchemaDefinition): Promise<void>;
|
|
200
|
+
/**
|
|
201
|
+
* Checks whether a schema with the given identifier is registered locally
|
|
202
|
+
*
|
|
203
|
+
* @param schemaId - The unique identifier of the schema to check
|
|
204
|
+
* @returns A promise that resolves to `true` if the schema exists, `false` otherwise
|
|
205
|
+
*
|
|
206
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
207
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
208
|
+
*
|
|
209
|
+
* @beta
|
|
210
|
+
*/
|
|
211
|
+
export declare function hasSchema(schemaId: string): Promise<boolean>;
|
|
212
|
+
/**
|
|
213
|
+
* Lists all schemas currently registered in the offline storage system
|
|
214
|
+
*
|
|
215
|
+
* @returns A promise that resolves to an array of schema information objects
|
|
216
|
+
*
|
|
217
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
218
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
219
|
+
*
|
|
220
|
+
* @beta
|
|
221
|
+
*/
|
|
222
|
+
export declare function listSchemas(): Promise<SchemaInfo[]>;
|
|
223
|
+
/**
|
|
224
|
+
* Migrates an existing schema to a new version.
|
|
225
|
+
* Added fields will be created, removed fields will be marked deprecated (not dropped).
|
|
226
|
+
*
|
|
227
|
+
* @param schema - The updated schema definition with an incremented version number
|
|
228
|
+
* @returns A promise that resolves to the migration result
|
|
229
|
+
*
|
|
230
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
231
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
232
|
+
*
|
|
233
|
+
* @beta
|
|
234
|
+
*/
|
|
235
|
+
export declare function migrateSchema(schema: SchemaDefinition): Promise<MigrationResult>;
|
|
236
|
+
/**
|
|
237
|
+
* Removes a schema and all its associated records from offline storage.
|
|
238
|
+
* This operation is irreversible.
|
|
239
|
+
*
|
|
240
|
+
* @param schemaId - The unique identifier of the schema to remove
|
|
241
|
+
* @returns A promise that resolves when the schema has been removed
|
|
242
|
+
*
|
|
243
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
244
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
245
|
+
*
|
|
246
|
+
* @beta
|
|
247
|
+
*/
|
|
248
|
+
export declare function removeSchema(schemaId: string): Promise<void>;
|
|
249
|
+
/**
|
|
250
|
+
* Checks if the offlineStorage capability is supported by the host
|
|
251
|
+
* @returns boolean to represent whether the offlineStorage capability is supported
|
|
252
|
+
*
|
|
253
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
254
|
+
*
|
|
255
|
+
* @beta
|
|
256
|
+
*/
|
|
257
|
+
export declare function isSupported(): boolean;
|
|
258
|
+
export { drafts, inbox, outbox, sent, sync };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module for managing sync-owned outbox records in offline storage.
|
|
3
|
+
* Outbox records are submitted drafts that are queued or in-progress for synchronization to the server.
|
|
4
|
+
*
|
|
5
|
+
* @beta
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { OfflineRecord, RecordStatus } from './offlineStorage';
|
|
9
|
+
/**
|
|
10
|
+
* Summary information about the outbox state
|
|
11
|
+
*
|
|
12
|
+
* @beta
|
|
13
|
+
*/
|
|
14
|
+
export interface OutboxSummary {
|
|
15
|
+
/** Total number of records in the outbox */
|
|
16
|
+
totalCount: number;
|
|
17
|
+
/** Number of records pending sync */
|
|
18
|
+
pendingCount: number;
|
|
19
|
+
/** Number of records currently syncing */
|
|
20
|
+
syncingCount: number;
|
|
21
|
+
/** Number of records that failed to sync */
|
|
22
|
+
failedCount: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* An outbox entry with additional sync status information
|
|
26
|
+
*
|
|
27
|
+
* @beta
|
|
28
|
+
*/
|
|
29
|
+
export interface OutboxEntry {
|
|
30
|
+
/** The offline record data */
|
|
31
|
+
record: OfflineRecord;
|
|
32
|
+
/** Number of sync retry attempts made */
|
|
33
|
+
retryCount: number;
|
|
34
|
+
/** Timestamp of the next scheduled retry, if applicable */
|
|
35
|
+
nextRetryAt?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Handler invoked when the status of an outbox record changes
|
|
39
|
+
*
|
|
40
|
+
* @beta
|
|
41
|
+
*/
|
|
42
|
+
export type OutboxStatusChangeHandler = (schemaId: string, id: string, status: RecordStatus, error?: string) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Lists all outbox records for a given schema
|
|
45
|
+
*
|
|
46
|
+
* @param schemaId - The schema identifier to list outbox records for
|
|
47
|
+
* @returns A promise that resolves to an array of outbox entries
|
|
48
|
+
*
|
|
49
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
50
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
51
|
+
*
|
|
52
|
+
* @beta
|
|
53
|
+
*/
|
|
54
|
+
export declare function list(schemaId: string): Promise<OutboxEntry[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Gets a summary of the outbox state across all schemas or for a specific schema
|
|
57
|
+
*
|
|
58
|
+
* @param schemaId - Optional schema identifier to get summary for. If omitted, returns summary across all schemas.
|
|
59
|
+
* @returns A promise that resolves to an outbox summary
|
|
60
|
+
*
|
|
61
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
62
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
63
|
+
*
|
|
64
|
+
* @beta
|
|
65
|
+
*/
|
|
66
|
+
export declare function getSummary(schemaId?: string): Promise<OutboxSummary>;
|
|
67
|
+
/**
|
|
68
|
+
* Retries synchronization of a failed outbox record
|
|
69
|
+
*
|
|
70
|
+
* @param schemaId - The schema identifier for this record
|
|
71
|
+
* @param id - The unique identifier of the outbox record to retry
|
|
72
|
+
* @returns A promise that resolves when the record has been re-queued for sync
|
|
73
|
+
*
|
|
74
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
75
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
76
|
+
*
|
|
77
|
+
* @beta
|
|
78
|
+
*/
|
|
79
|
+
export declare function retry(schemaId: string, id: string): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Cancels an outbox record, moving it back to drafts
|
|
82
|
+
*
|
|
83
|
+
* @param schemaId - The schema identifier for this record
|
|
84
|
+
* @param id - The unique identifier of the outbox record to cancel
|
|
85
|
+
* @returns A promise that resolves when the record has been moved back to drafts
|
|
86
|
+
*
|
|
87
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
88
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
89
|
+
*
|
|
90
|
+
* @beta
|
|
91
|
+
*/
|
|
92
|
+
export declare function cancel(schemaId: string, id: string): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Registers a handler to be called when the status of an outbox record changes
|
|
95
|
+
*
|
|
96
|
+
* @param handler - The handler function to invoke on status changes
|
|
97
|
+
*
|
|
98
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
99
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
100
|
+
*
|
|
101
|
+
* @beta
|
|
102
|
+
*/
|
|
103
|
+
export declare function registerOnStatusChangeHandler(handler: OutboxStatusChangeHandler): void;
|
|
104
|
+
/**
|
|
105
|
+
* Checks if the offlineStorage.outbox capability is supported by the host
|
|
106
|
+
* @returns boolean to represent whether the offlineStorage.outbox capability is supported
|
|
107
|
+
*
|
|
108
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
109
|
+
*
|
|
110
|
+
* @beta
|
|
111
|
+
*/
|
|
112
|
+
export declare function isSupported(): boolean;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module for managing synchronized copies of successfully uploaded records.
|
|
3
|
+
* Sent records are confirmation copies that have been synced to the server.
|
|
4
|
+
*
|
|
5
|
+
* @beta
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { OfflineRecord, PaginatedResult, QueryOptions } from './offlineStorage';
|
|
9
|
+
/**
|
|
10
|
+
* Retrieves a single sent record by its identifier
|
|
11
|
+
*
|
|
12
|
+
* @param schemaId - The schema identifier for this record
|
|
13
|
+
* @param id - The unique identifier of the sent record to retrieve
|
|
14
|
+
* @returns A promise that resolves to the sent record
|
|
15
|
+
*
|
|
16
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
17
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
18
|
+
*
|
|
19
|
+
* @beta
|
|
20
|
+
*/
|
|
21
|
+
export declare function get(schemaId: string, id: string): Promise<OfflineRecord>;
|
|
22
|
+
/**
|
|
23
|
+
* Queries sent records with optional filtering and pagination
|
|
24
|
+
*
|
|
25
|
+
* @param schemaId - The schema identifier to query
|
|
26
|
+
* @param options - Optional query parameters including filters, sorting, and pagination
|
|
27
|
+
* @returns A promise that resolves to a paginated result set
|
|
28
|
+
*
|
|
29
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
30
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
31
|
+
*
|
|
32
|
+
* @beta
|
|
33
|
+
*/
|
|
34
|
+
export declare function query(schemaId: string, options?: QueryOptions): Promise<PaginatedResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Lists sent records that were synced after a given timestamp
|
|
37
|
+
*
|
|
38
|
+
* @param schemaId - The schema identifier to list sent records for
|
|
39
|
+
* @param since - Unix timestamp in milliseconds; only records synced after this time will be returned
|
|
40
|
+
* @returns A promise that resolves to an array of sent records
|
|
41
|
+
*
|
|
42
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
43
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
44
|
+
*
|
|
45
|
+
* @beta
|
|
46
|
+
*/
|
|
47
|
+
export declare function listSince(schemaId: string, since: number): Promise<OfflineRecord[]>;
|
|
48
|
+
/**
|
|
49
|
+
* Removes sent records older than the specified timestamp to free up storage space
|
|
50
|
+
*
|
|
51
|
+
* @param schemaId - The schema identifier to purge records from
|
|
52
|
+
* @param olderThan - Unix timestamp in milliseconds; records synced before this time will be removed
|
|
53
|
+
* @returns A promise that resolves to the number of records purged
|
|
54
|
+
*
|
|
55
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
56
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
57
|
+
*
|
|
58
|
+
* @beta
|
|
59
|
+
*/
|
|
60
|
+
export declare function purge(schemaId: string, olderThan: number): Promise<number>;
|
|
61
|
+
/**
|
|
62
|
+
* Checks if the offlineStorage.sent capability is supported by the host
|
|
63
|
+
* @returns boolean to represent whether the offlineStorage.sent capability is supported
|
|
64
|
+
*
|
|
65
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
66
|
+
*
|
|
67
|
+
* @beta
|
|
68
|
+
*/
|
|
69
|
+
export declare function isSupported(): boolean;
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module for controlling and monitoring the synchronization engine in offline storage.
|
|
3
|
+
* The sync module provides APIs to trigger sync operations, monitor status, and handle conflicts.
|
|
4
|
+
*
|
|
5
|
+
* @beta
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Represents the overall synchronization status
|
|
10
|
+
*
|
|
11
|
+
* @beta
|
|
12
|
+
*/
|
|
13
|
+
export declare enum SyncState {
|
|
14
|
+
/** Sync engine is idle, no operations in progress */
|
|
15
|
+
Idle = "idle",
|
|
16
|
+
/** Sync engine is actively uploading/downloading records */
|
|
17
|
+
Syncing = "syncing",
|
|
18
|
+
/** Sync engine is waiting for network connectivity */
|
|
19
|
+
WaitingForNetwork = "waitingForNetwork",
|
|
20
|
+
/** Sync engine encountered an error */
|
|
21
|
+
Error = "error"
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Detailed sync status information
|
|
25
|
+
*
|
|
26
|
+
* @beta
|
|
27
|
+
*/
|
|
28
|
+
export interface SyncStatus {
|
|
29
|
+
/** Current state of the sync engine */
|
|
30
|
+
state: SyncState;
|
|
31
|
+
/** Timestamp of the last successful sync */
|
|
32
|
+
lastSyncAt?: number;
|
|
33
|
+
/** Number of records pending upload */
|
|
34
|
+
pendingUploadCount: number;
|
|
35
|
+
/** Number of records pending download */
|
|
36
|
+
pendingDownloadCount: number;
|
|
37
|
+
/** Whether the device currently has network connectivity */
|
|
38
|
+
isOnline: boolean;
|
|
39
|
+
/** Error message if state is Error */
|
|
40
|
+
error?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Result of a manually triggered sync operation
|
|
44
|
+
*
|
|
45
|
+
* @beta
|
|
46
|
+
*/
|
|
47
|
+
export interface SyncResult {
|
|
48
|
+
/** Whether the sync operation completed successfully */
|
|
49
|
+
success: boolean;
|
|
50
|
+
/** Number of records uploaded to the server */
|
|
51
|
+
uploadedCount: number;
|
|
52
|
+
/** Number of records downloaded from the server */
|
|
53
|
+
downloadedCount: number;
|
|
54
|
+
/** Number of conflicts encountered during sync */
|
|
55
|
+
conflictCount: number;
|
|
56
|
+
/** Timestamp when this sync completed */
|
|
57
|
+
completedAt: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Strategy for resolving conflicts between client and server versions
|
|
61
|
+
*
|
|
62
|
+
* @beta
|
|
63
|
+
*/
|
|
64
|
+
export declare enum ConflictStrategy {
|
|
65
|
+
/** Server version always wins (default) */
|
|
66
|
+
ServerWins = "serverWins",
|
|
67
|
+
/** Client version always wins */
|
|
68
|
+
ClientWins = "clientWins",
|
|
69
|
+
/** Escalate to the application layer for manual resolution */
|
|
70
|
+
Manual = "manual"
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Information about a sync conflict
|
|
74
|
+
*
|
|
75
|
+
* @beta
|
|
76
|
+
*/
|
|
77
|
+
export interface ConflictInfo {
|
|
78
|
+
/** The schema identifier of the conflicting record */
|
|
79
|
+
schemaId: string;
|
|
80
|
+
/** The record identifier */
|
|
81
|
+
recordId: string;
|
|
82
|
+
/** The client version of the data */
|
|
83
|
+
clientData: Record<string, unknown>;
|
|
84
|
+
/** The server version of the data */
|
|
85
|
+
serverData: Record<string, unknown>;
|
|
86
|
+
/** Client-side version number */
|
|
87
|
+
clientVersion: number;
|
|
88
|
+
/** Server-side version number */
|
|
89
|
+
serverVersion: number;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Handler invoked when the sync status changes
|
|
93
|
+
*
|
|
94
|
+
* @beta
|
|
95
|
+
*/
|
|
96
|
+
export type SyncStatusChangeHandler = (status: SyncStatus) => void;
|
|
97
|
+
/**
|
|
98
|
+
* Handler invoked when a sync conflict is detected and the strategy is Manual
|
|
99
|
+
*
|
|
100
|
+
* @beta
|
|
101
|
+
*/
|
|
102
|
+
export type SyncConflictHandler = (conflict: ConflictInfo) => void;
|
|
103
|
+
/**
|
|
104
|
+
* Triggers an immediate synchronization operation
|
|
105
|
+
*
|
|
106
|
+
* @returns A promise that resolves to the sync result when the operation completes
|
|
107
|
+
*
|
|
108
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
109
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
110
|
+
*
|
|
111
|
+
* @beta
|
|
112
|
+
*/
|
|
113
|
+
export declare function trigger(): Promise<SyncResult>;
|
|
114
|
+
/**
|
|
115
|
+
* Gets the current synchronization status
|
|
116
|
+
*
|
|
117
|
+
* @returns A promise that resolves to the current sync status
|
|
118
|
+
*
|
|
119
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
120
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
121
|
+
*
|
|
122
|
+
* @beta
|
|
123
|
+
*/
|
|
124
|
+
export declare function getStatus(): Promise<SyncStatus>;
|
|
125
|
+
/**
|
|
126
|
+
* Sets the conflict resolution strategy for a given schema
|
|
127
|
+
*
|
|
128
|
+
* @param schemaId - The schema identifier to configure
|
|
129
|
+
* @param strategy - The conflict resolution strategy to use
|
|
130
|
+
* @returns A promise that resolves when the strategy has been set
|
|
131
|
+
*
|
|
132
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
133
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
134
|
+
*
|
|
135
|
+
* @beta
|
|
136
|
+
*/
|
|
137
|
+
export declare function setConflictStrategy(schemaId: string, strategy: ConflictStrategy): Promise<void>;
|
|
138
|
+
/**
|
|
139
|
+
* Resolves a conflict by choosing either the client or server version
|
|
140
|
+
*
|
|
141
|
+
* @param schemaId - The schema identifier of the conflicting record
|
|
142
|
+
* @param recordId - The record identifier
|
|
143
|
+
* @param resolution - Whether to keep the client or server version
|
|
144
|
+
* @returns A promise that resolves when the conflict has been resolved
|
|
145
|
+
*
|
|
146
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
147
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
148
|
+
*
|
|
149
|
+
* @beta
|
|
150
|
+
*/
|
|
151
|
+
export declare function resolveConflict(schemaId: string, recordId: string, resolution: 'client' | 'server'): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Registers a handler to be called when the sync status changes
|
|
154
|
+
*
|
|
155
|
+
* @param handler - The handler function to invoke on status changes
|
|
156
|
+
*
|
|
157
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
158
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
159
|
+
*
|
|
160
|
+
* @beta
|
|
161
|
+
*/
|
|
162
|
+
export declare function registerOnStatusChangeHandler(handler: SyncStatusChangeHandler): void;
|
|
163
|
+
/**
|
|
164
|
+
* Registers a handler to be called when a sync conflict is detected.
|
|
165
|
+
* This handler is only invoked when the conflict strategy is set to {@link ConflictStrategy.Manual}.
|
|
166
|
+
*
|
|
167
|
+
* @param handler - The handler function to invoke when a conflict occurs
|
|
168
|
+
*
|
|
169
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
170
|
+
* @throws Error if the offlineStorage capability is not supported
|
|
171
|
+
*
|
|
172
|
+
* @beta
|
|
173
|
+
*/
|
|
174
|
+
export declare function registerOnConflictHandler(handler: SyncConflictHandler): void;
|
|
175
|
+
/**
|
|
176
|
+
* Checks if the offlineStorage.sync capability is supported by the host
|
|
177
|
+
* @returns boolean to represent whether the offlineStorage.sync capability is supported
|
|
178
|
+
*
|
|
179
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
180
|
+
*
|
|
181
|
+
* @beta
|
|
182
|
+
*/
|
|
183
|
+
export declare function isSupported(): boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides APIs to interact with the app button part of the SDK.
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import { handlerFunctionType } from './pages';
|
|
6
|
+
/**
|
|
7
|
+
* Registers a handler for clicking the app button.
|
|
8
|
+
* Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
|
|
9
|
+
* @param handler - The handler to invoke when the personal app button is clicked in the app bar.
|
|
10
|
+
*/
|
|
11
|
+
export declare function onClick(handler: handlerFunctionType): void;
|
|
12
|
+
/**
|
|
13
|
+
* Registers a handler for entering hover of the app button.
|
|
14
|
+
* Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
|
|
15
|
+
* @param handler - The handler to invoke when entering hover of the personal app button in the app bar.
|
|
16
|
+
*/
|
|
17
|
+
export declare function onHoverEnter(handler: handlerFunctionType): void;
|
|
18
|
+
/**
|
|
19
|
+
* Registers a handler for exiting hover of the app button.
|
|
20
|
+
* Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
|
|
21
|
+
* @param handler - The handler to invoke when exiting hover of the personal app button in the app bar.
|
|
22
|
+
*/
|
|
23
|
+
export declare function onHoverLeave(handler: handlerFunctionType): void;
|
|
24
|
+
/**
|
|
25
|
+
* Checks if pages.appButton capability is supported by the host
|
|
26
|
+
* @returns boolean to represent whether the pages.appButton capability is supported
|
|
27
|
+
*
|
|
28
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
29
|
+
*/
|
|
30
|
+
export declare function isSupported(): boolean;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides APIs for handling the user's navigational history.
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import { backButtonHandlerFunctionType } from './pages';
|
|
6
|
+
/**
|
|
7
|
+
* @hidden
|
|
8
|
+
* Register backButtonPress handler.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
* Limited to Microsoft-internal use.
|
|
12
|
+
*/
|
|
13
|
+
export declare function _initialize(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Navigates back in the hosted application. See {@link pages.backStack.registerBackButtonHandler} for notes on usage.
|
|
16
|
+
* @returns Promise that resolves when the navigation has completed.
|
|
17
|
+
*/
|
|
18
|
+
export declare function navigateBack(): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Registers a handler for user presses of the host client's back button. Experiences that maintain an internal
|
|
21
|
+
* navigation stack should use this handler to navigate the user back within their frame. If an application finds
|
|
22
|
+
* that after running its back button handler it cannot handle the event it should call the navigateBack
|
|
23
|
+
* method to ask the host client to handle it instead.
|
|
24
|
+
* @param handler - The handler to invoke when the user presses the host client's back button.
|
|
25
|
+
*/
|
|
26
|
+
export declare function registerBackButtonHandler(handler: backButtonHandlerFunctionType): void;
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
* Undocumented helper function with shared code between deprecated version and current version of the registerBackButtonHandler API.
|
|
30
|
+
*
|
|
31
|
+
* @internal
|
|
32
|
+
* Limited to Microsoft-internal use
|
|
33
|
+
* @param apiVersionTag - The tag indicating API version number with name
|
|
34
|
+
* @param handler - The handler to invoke when the user presses the host client's back button.
|
|
35
|
+
* @param versionSpecificHelper - The helper function containing logic pertaining to a specific version of the API.
|
|
36
|
+
*/
|
|
37
|
+
export declare function registerBackButtonHandlerHelper(apiVersionTag: string, handler: () => boolean, versionSpecificHelper?: () => void): void;
|
|
38
|
+
/**
|
|
39
|
+
* Checks if the pages.backStack capability is supported by the host
|
|
40
|
+
* @returns boolean to represent whether the pages.backStack capability is supported
|
|
41
|
+
*
|
|
42
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
43
|
+
*/
|
|
44
|
+
export declare function isSupported(): boolean;
|