### Full Meeting Join and Media Setup Example Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-meetings/README.md A comprehensive example demonstrating meeting creation, stream retrieval, event listeners for media changes, joining with a resource ID, and adding media. ```javascript let activeMeeting; const mediaSettings = { receiveVideo: true, receiveAudio: true, receiveShare: true, sendVideo: true, sendAudio: true, sendShare: false }; const myStreams = {} function setMedia(media){ if (media.type === 'local') { document.getElementById('').srcObject = media.stream; } else if (media.type === 'remote') { document.getElementById('').srcObject = media.stream; } } function handleAudioChange(audio){ // perform some actions after audio has been muted/unmuted } function handleVideoChange(video) { // perform some action after video has been muted/unmuted } return webex.meetings .create(destination) .then((meeting) => { activeMeeting = meeting; activeMeeting.getMediaStreams(mediaSettings).then(([localStream, localShare]) => { return {localStream, localShare}; }).then((streams) => { myStreams.localStream = streams.localStream myStreams.localShare = streams.localShare }); activeMeeting.on('media:ready', () => setMedia)); activeMeeting.on('media:audioChanged', handleAudioChange); activeMeeting.on('media:videoChanged', handleVideoChange); // join a meeting using resourceId as the destination, i.e., paired to a device and using the device for the call activeMeeting.join({resourceId: }).then((joinResponse) => { activeMeeting.addMedia({ localShare, localStream, mediaSettings }).then((mediaResponse) => { // do something once you know media has been completed }); }); }); ``` -------------------------------- ### Quick Start with Shell Script Source: https://github.com/webex/webex-js-sdk/blob/next/documentation/webex.md Get a ready-to-use Webex instance in a JavaScript file by setting the WEBEX_ACCESS_TOKEN environment variable and requiring 'webex/env'. Useful for bots. ```javascript const webex = require(`webex/env`); ``` -------------------------------- ### Install @webex/test-helper-mock-webex Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-helper-mock-webex/README.md Install the package using npm. ```bash npm install --save @webex/test-helper-mock-webex ``` -------------------------------- ### Installation Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/storage-adapter-local-storage/README.md Instructions on how to install the @webex/storage-adapter-local-storage package using npm. ```APIDOC ## Installation ### Description Install the package using npm. ### Command ```bash npm install --save @webex/storage-adapter-local-storage ``` ``` -------------------------------- ### Install @webex/storage-adapter-local-storage Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/storage-adapter-local-storage/README.md Install the package using npm. ```bash npm install --save @webex/storage-adapter-local-storage ``` -------------------------------- ### Install @webex/media-helpers Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/media-helpers/README.md Install the media-helpers package using npm. ```bash npm install --save @webex/media-helpers ``` -------------------------------- ### Install @webex/test-helper-file Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-helper-file/README.md Install the package using npm. ```bash npm install --save @webex/test-helper-file ``` -------------------------------- ### Install @webex/helper-html Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/helper-html/README.md Install the package using npm. ```bash npm install --save @webex/helper-html ``` -------------------------------- ### Install @webex/common Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/common/README.md Install the package using npm. ```bash npm install --save @webex/common ``` -------------------------------- ### Install @webex/test-helper-mock-web-socket Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-helper-mock-web-socket/README.md Use npm to install the test-helper-mock-web-socket package. ```bash npm install --save @webex/test-helper-mock-web-socket ``` -------------------------------- ### Install @webex/plugin-authorization-browser Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-authorization-browser/README.md Install the plugin using npm. ```bash npm install --save @webex/plugin-authorization-browser ``` -------------------------------- ### Install @webex/test-helper-retry Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-helper-retry/README.md Install the package using npm. ```bash npm install --save @webex/test-helper-retry ``` -------------------------------- ### Install @webex/plugin-authorization-node Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-authorization-node/README.md Install the package using npm. ```bash npm install --save @webex/plugin-authorization-node ``` -------------------------------- ### Install @webex/test-users Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-users/README.md Install the package using npm. ```bash npm install --save @webex/test-users ``` -------------------------------- ### Install @webex/internal-plugin-device Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-device/README.md Install the device management plugin using npm. ```bash npm install --save @webex/internal-plugin-device ``` -------------------------------- ### Install @webex/plugin-device-manager Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-device-manager/README.md Install the device manager plugin using npm. ```bash npm install --save @webex/plugin-device-manager ``` -------------------------------- ### Install @webex/test-helper-make-local-url Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-helper-make-local-url/README.md Install the package using npm. This is a necessary step before using its functionalities. ```bash npm install --save @webex/test-helper-make-local-url ``` -------------------------------- ### Install @webex/webex-server Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/webex-server/README.md Install the package globally using npm. ```bash npm install -g @webex/webex-server ``` -------------------------------- ### Install @webex/common-timers Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/common-timers/README.md Install the package using npm. ```bash npm install --save @webex/common-timers ``` -------------------------------- ### Install @webex/plugin-authorization-browser-first-party Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-authorization-browser-first-party/README.md Use npm to install the first-party browser authorization plugin. ```bash npm install --save @webex/plugin-authorization-browser-first-party ``` -------------------------------- ### Install @webex/test-webex-node Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-webex-node/README.md Install the package using npm or yarn. ```bash npm install --save @webex/test-webex-node (or) yarn add @webex/test-webex-node ``` -------------------------------- ### Install @webex/plugin-authorization Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-authorization/README.md Install the authorization plugin using npm. ```bash npm install --save @webex/plugin-authorization ``` -------------------------------- ### Install @webex/internal-plugin-presence Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-presence/README.md Install the package using npm. ```bash npm install --save @webex/internal-plugin-presence ``` -------------------------------- ### Install @webex/webex-core Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/webex-core/README.md Install the core Webex JS SDK package using npm. ```bash npm install --save @webex/webex-core ``` -------------------------------- ### Install @webex/test-helper-test-users Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-helper-test-users/README.md Install the test helper package using npm. ```bash npm install --save @webex/test-helper-test-users ``` -------------------------------- ### Install @webex/plugin-rooms Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-rooms/README.md Install the @webex/plugin-rooms package using npm. ```bash npm install --save @webex/plugin-rooms ``` -------------------------------- ### Install @webex/http-core Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/http-core/README.md Install the @webex/http-core package using npm. ```bash npm install --save @webex/http-core ``` -------------------------------- ### Install @webex/internal-plugin-wdm Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-wdm/README.md Install the WDM plugin using npm. ```bash npm install --save @webex/internal-plugin-wdm ``` -------------------------------- ### Install @webex/plugin-logger Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-logger/README.md Install the logger plugin using npm. ```bash npm install --save @webex/plugin-logger ``` -------------------------------- ### Install @webex/test-helper-appid Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-helper-appid/README.md Install the test helper package using npm. ```bash npm install --save @webex/test-helper-appid ``` -------------------------------- ### Install @webex/test-helper-server Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/test-helper-server/README.md Install the @webex/test-helper-server package using npm. This is a dependency for testing purposes. ```bash npm install --save @webex/test-helper-server ``` -------------------------------- ### Get Meeting by Type Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-meetings/README.md Retrieves a specific meeting by its type and identifier. For example, you can get a meeting using its SIP URI. ```javascript webex.meetings.getMeetingByType('SIP_URI', sipUri); ``` -------------------------------- ### Start Screen Share in Meeting Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-meetings/UPGRADING.md Starts screen sharing in a meeting. Requires getting local media streams first and then updating the share with the local share stream. ```javascript // First get the local screen share stream const mediaStreams = await meeting.getMediaStreams(mediaSettings); const [localStream, localShare] = mediaStreams; // Then, update share meeting.updateShare({sendShare: true, receiveShare: true, stream: localShare}); ``` -------------------------------- ### Get Do Not Disturb Settings Response Source: https://github.com/webex/webex-js-sdk/wiki/Call-Settings Example response structure for a successful retrieval of Do Not Disturb settings. ```json { "statusCode": 200, "data": { "callSetting": { "enabled": false, "ringSplashEnabled": false } }, "message": "SUCCESS" } ``` -------------------------------- ### API Extractor Configuration File Source: https://github.com/webex/webex-js-sdk/blob/next/config/api-extractor/README.md Example configuration for api-extractor.config.json. This setup targets built TypeScript definition files and specifies output folders for metadata. ```jsonc // ./api-extractor.config.json { "extends": "./../../../config/api-extractor/index.json", "projectFolder": "." } ``` -------------------------------- ### Run Demo Server Source: https://github.com/webex/webex-js-sdk/blob/next/packages/byods/README.md Start the BYoDS demo server in hot-reloading mode using Yarn. ```bash yarn workspace @webex/byods-demo-server dev:hot ``` -------------------------------- ### Install @webex/plugin-memberships Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-memberships/README.md Install the memberships plugin using npm. This is a prerequisite for using its functionalities. ```bash npm install --save @webex/plugin-memberships ``` -------------------------------- ### Download and Setup Webex JS SDK Source: https://github.com/webex/webex-js-sdk/blob/next/CONTRIBUTING.md Clone the forked repository, navigate into the project directory, and add the upstream remote for SSH or HTTPS. ```bash # download the forked project git clone {https/ssh-target-to-clone} # move the focus into the directory cd ./webex-js-sdk # add the upstream remote git remote add upstream git@github.com:webex/webex-js-sdk.git # for SSH # OR git remote add upstream https://github.com/webex/webex-js-sdk.git # for HTTPS ``` -------------------------------- ### Get Webhook Details with Webex JS SDK Source: https://github.com/webex/webex-js-sdk/blob/next/docs/api/index.html Retrieve details for a specific webhook using its ID. This example first creates a webhook and then fetches its details to verify. ```javascript var webhook; webex.rooms.create({title: 'Get Webhook Example'}) .then(function(room) { return webex.webhooks.create({ resource: 'messages', event: 'created', filter: 'roomId=' + room.id, targetUrl: 'https://example.com/webhook', name: 'Test Webhook' }); }) .then(function(w) { webhook = w; return webex.webhooks.get(webhook.id); }) .then(function(webhook2) { var assert = require('assert'); assert.deepEqual(webhook2, webhook); return 'success'; }); // => success ``` -------------------------------- ### Usage Example Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/storage-adapter-local-storage/README.md A practical example demonstrating how to import, instantiate, bind, and use the StorageAdapterLocalStorage. ```APIDOC ## Usage Example ### Description Demonstrates the basic usage of the StorageAdapterLocalStorage. ### Code ```javascript import StorageAdapterLocalStorage from '@webex/storage-adapter-local-storage'; const adapter = new StorageAdapterLocalStorage('webex-storage'); // Bind to a namespace adapter.bind('myNamespace', { logger: console }) .then(store => { // Store data return store.put('key', 'value'); }) .then(() => { // Retrieve data return store.get('key'); }) .then(value => { console.log('Retrieved:', value); }); ``` ``` -------------------------------- ### Get Full Transcript Content Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-call-ai-summary/README.md Fetches and decrypts the full call transcript. The transcript is returned as an array of snippets, each containing speaker information, content, and start time. ```javascript const transcript = await webex.internal.aisummary.getTranscript({ containerInfo: container, }); transcript.snippets.forEach((snippet) => { console.log(`[${snippet.startTime}] ${snippet.speaker?.speakerName}: ${snippet.content}`); }); ``` -------------------------------- ### Get Call Forwarding Settings Response Source: https://github.com/webex/webex-js-sdk/wiki/Call-Settings Example response structure for a successful retrieval of call forwarding settings, including configurations for always, busy, and no-answer scenarios. ```json { "statusCode": 200, "data": { "callSetting": { "callForwarding": { "always": { "enabled": false, "ringReminderEnabled": false, "destinationVoicemailEnabled": false }, "busy": { "enabled": false, "destinationVoicemailEnabled": false }, "noAnswer": { "enabled": false, "numberOfRings": 3, "systemMaxNumberOfRings": 20, "destinationVoicemailEnabled": false } }, "businessContinuity": { "enabled": false, "destinationVoicemailEnabled": false } } }, "message": "SUCCESS" } ``` -------------------------------- ### Run a Specific Package Sample Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-meetings/internal-README.md Serve and run a sample application for a specific package. This is useful for testing individual components. ```bash yarn run serve:package --env.package @webex/plugin-meetings ``` -------------------------------- ### Get Member CSIs for Media Source: https://github.com/webex/webex-js-sdk/wiki/Multistream-Comprehensive-Guide Retrieve an array of CSI (Channel Session Identifier) numbers for a specific member and media type. This method is synchronous and does not require any special setup. ```javascript const csiList = meeting.members.getCsisForMember(memberId, mediaType='video', mediaContent='main'); ``` -------------------------------- ### Example: Setting Video Layout with Render Info Source: https://github.com/webex/webex-js-sdk/wiki/Layout Demonstrates how to set the video layout to 'Equal' and provides preferred dimensions for the main video stream. Ensure `meeting` object is initialized. ```javascript const layoutType = 'Equal'; const renderInfo = { "main": { "width": "1920", "height": "1080" } }; meeting.changeVideoLayout(layoutType, renderInfo); ``` -------------------------------- ### Get Call Forward Always Status Source: https://github.com/webex/webex-js-sdk/blob/next/packages/calling/src/CallSettings/ai-docs/AGENTS.md Retrieve the Call Forward Always (CFA) status. For UCM backends, a directory number is required. The destination can be checked, for example, to see if it's set to voicemail. ```typescript // WXC backend (no directoryNumber needed) const cfaResponse = await callSettings.getCallForwardAlwaysSetting(); // UCM backend (directoryNumber required) const cfaResponse = await callSettings.getCallForwardAlwaysSetting('1234'); if (cfaResponse.data.callSetting?.destination === 'VOICEMAIL') { console.log('CFA is set to voicemail'); } ``` -------------------------------- ### Initialize Voicemail Client Source: https://github.com/webex/webex-js-sdk/wiki/Voicemail Initialize the voicemail client instance using the init() method before accessing voicemail backend services. Ensure the Call objects are created and modules are instantiated as per the Quickstart Guide. ```javascript const voicemailClient = calling.voicemailClient; const initResponse = await voicemailClient.init(); ``` -------------------------------- ### Get Remote Media Elements Source: https://github.com/webex/webex-js-sdk/wiki/Multistream-Comprehensive-Guide Invoke getRemoteMedia() to obtain a list of remote media elements from a group. This example specifically retrieves the first remote media element from a screen share audio media group. ```javascript const remoteMedia = screenShareAudioMediaGroup.getRemoteMedia()[0]; const remoteMediaStream = remoteMedia.stream; ``` -------------------------------- ### Install @webex/recipe-private-web-client Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/recipe-private-web-client/README.md Use this command to install the package. This package is transitional and should not be used in new projects. ```bash npm install --save @webex/recipe-private-web-client ``` -------------------------------- ### Get/Set Do Not Disturb Setting (WXC - Hydra API) Source: https://github.com/webex/webex-js-sdk/blob/next/packages/calling/src/CallSettings/ai-docs/ARCHITECTURE.md Shows how to retrieve and update the Do Not Disturb (DND) setting using the WXC backend connector, which communicates with the Hydra People API. Includes examples for both GET and PUT requests. ```mermaid sequenceDiagram participant App as Application participant WXC as WxCallBackendConnector participant Hydra as Hydra People API App->>WXC: getDoNotDisturbSetting() WXC->>Hydra: GET /people/{personId}/features/doNotDisturb?orgId={orgId} Hydra-->>WXC: {enabled: true, ringSplashEnabled: false} WXC-->>App: {statusCode: 200, data: {callSetting: ToggleSetting}} App->>WXC: setDoNotDisturbSetting(true) WXC->>Hydra: PUT /people/{personId}/features/doNotDisturb?orgId={orgId} Note over WXC,Hydra: Body: {enabled: true, ringSplashEnabled: false} Hydra-->>WXC: 200 OK WXC-->>App: {statusCode: 200, data: {callSetting: ToggleSetting}} ``` -------------------------------- ### Install @webex/package-tools Locally Source: https://github.com/webex/webex-js-sdk/blob/next/packages/tools/package/README.md Use these yarn commands to install the package locally within the project. The first command installs it at the project root, while the second installs it for a specific workspace package. ```bash # Project root installation. yarn add @webex/package-tools ``` ```bash # Package installation. yarn workspace @{scope}/{package} add @webex/package-tools ``` -------------------------------- ### Install @webex/nyc-config and Dependencies Source: https://github.com/webex/webex-js-sdk/blob/next/packages/config/nyc/README.md Installs the @webex/nyc-config package along with its required peer dependencies for project-wide or package-specific installations. ```bash # Project root installation. yarn add --dev @webex/nyc-config @webex/jasmine-config @webex/cli-tools jasmine nyc # Package installation. yarn workspace @{scope}/{package} add --dev @webex/nyc-config @webex/jasmine-config @webex/cli-tools jasmine nyc ``` -------------------------------- ### Initialize Webex Core with Metrics Plugin Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-metrics/README.md Import the metrics plugin and initialize WebexCore. This setup is for internal clients and requires specific Webex Core setup. ```javascript import '@webex/internal-plugin-metrics'; import WebexCore from '@webex/webex-core'; const webex = new WebexCore(); webex.internal.metrics.WHATEVER; ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/webex/webex-js-sdk/blob/next/CONTRIBUTING.md Install Node.js/NPM versions from .nvmrc, enable Corepack for Yarn, and install all project dependencies. ```bash nvm install corepack enable yarn ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-meetings/internal-README.md Install the necessary tooling dependencies for the project. Ensure Node.js LTS and npm are installed. ```bash npm install ``` -------------------------------- ### Initialize Webex Core and Use Search Plugin Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-search/README.md Import the internal search plugin and initialize WebexCore. Access the search functionality via `webex.internal.search`. ```javascript import '@webex/internal-plugin-search'; import WebexCore from '@webex/webex-core'; const webex = new WebexCore(); webex.internal.search.WHATEVER; ``` -------------------------------- ### Install @webex/internal-plugin-llm Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-llm/README.md Install the package using npm. ```bash npm install --save @webex/internal-plugin-llm ``` -------------------------------- ### Install @webex/helper-image Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/helper-image/README.md Install the package using npm. This is a prerequisite for using the image helper functions. ```bash npm install --save @webex/helper-image ``` -------------------------------- ### Initialize Webex SDK and create a room with members and a message Source: https://github.com/webex/webex-js-sdk/blob/next/packages/webex-node/README.md This JavaScript code demonstrates how to initialize the Webex SDK with an access token, create a new room, add members by email, and send an initial message to the room. Ensure you replace `` with your actual token. ```javascript const Webex = require(`webex-node`); const webex = Webex.init({ credentials: { access_token: } }); // Create a room with the title "My First Room" // Add Alice and Bob to the room // Send a **Hi Everyone** message to the room webex.rooms.create({ title: `My First Room` }).then(room => { return Promise.all([ webex.memberships.create({ roomId: room.id, personEmail: `alice@example.com` }), webex.memberships.create({ roomId: room.id, personEmail: `bob@example.com` }) ]).then(() => webex.messages.create({ markdown: `**Hi Everyone**`, roomId: room.id }) ); }); ``` -------------------------------- ### Serve Webex SDK Samples Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/contact-center/README.md Serve the Webex SDK samples locally using the 'samples:serve' Yarn command. ```bash yarn run samples:serve ``` -------------------------------- ### Build and Serve Samples Source: https://github.com/webex/webex-js-sdk/blob/next/CONTRIBUTING.md Builds the project samples and serves them in watch mode for development. Access the samples via https://localhost:8000/. Note browser security settings for self-signed certificates. ```bash yarn samples:build yarn samples:serve ``` -------------------------------- ### Initialize Webex and Connect Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-device-manager/README.md Initialize a Webex instance, connect to Mercury, register the device, and initialize the device manager plugin to listen for device updates. Ensure the access token is provided. ```javascript import '@webex/plugin-device-manager'; import WebexCore from '@webex/webex-core'; function connect() { if (!webex) { webex = WebexCore.init({ config: {}, credentials: { access_token: document.getElementById('access-token').value, }, }); } if (!webex.internal.device.registered) { webex.internal.device.register().then(() => { return webex.internal.mercury.connect(); }); } } ``` -------------------------------- ### Initialize Calling SDK with Configuration Source: https://github.com/webex/webex-js-sdk/wiki/Quickstart-Guide-(Calling) Initialize the Calling SDK using Webex and Calling configurations. This option requires waiting for the 'ready' event and then calling 'register()' to establish a connection. ```javascript // Create the Webex configuration const webexConfig = { config: { logger: { level: 'debug' // Set the desired log level }, meetings: { reconnection: { enabled: true }, enableRtx: true }, encryption: { kmsInitialTimeout: 8000, kmsMaxTimeout: 40000, batcherMaxCalls: 30, caroots: null }, dss: {} }, credentials: { access_token: 'access_token' } }; // Create the calling configuration const callingConfig = { clientConfig: { calling: true, contact: true, callHistory: true, callSettings: true, voicemail: true }, callingClientConfig: { logger: { level: 'info' } }, logger: { level: 'info' } }; // Create the Calling object const calling = await Calling.init({ webexConfig, callingConfig }); let callingClient; calling.on('ready', () => { calling.register().then(() => { callingClient = calling.callingClient; }); }); ``` -------------------------------- ### Install @webex/internal-plugin-mercury Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-mercury/README.md Install the package using npm. ```bash npm install --save @webex/internal-plugin-mercury ``` -------------------------------- ### Install Webex JS SDK Source: https://github.com/webex/webex-js-sdk/blob/next/documentation/webex.md Install the Webex JS SDK using npm. This is the first step to using the SDK in your project. ```bash npm install --save webex ``` -------------------------------- ### Install @webex/internal-plugin-dss Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-dss/README.md Install the package using npm. ```bash npm install --save @webex/internal-plugin-dss ``` -------------------------------- ### WebexCore Initialization Source: https://github.com/webex/webex-js-sdk/blob/next/webex-plugin-architecture.md Sets up configuration, event handlers, interceptors, and request functions for the WebexCore instance. ```javascript WebexCore.initialize(attrs) ``` -------------------------------- ### Install @webex/xunit-with-logs Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/xunit-with-logs/README.md Install the package using npm. This command should be run in your project's root directory. ```bash npm install --save @webex/xunit-with-logs ``` -------------------------------- ### Run the Meetings Sample App Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-meetings/internal-README.md Execute the 'sample app' for meetings. This requires connecting with a Personal Access Token and allows interaction with meeting functionalities. ```bash yarn run samples:meetings ``` -------------------------------- ### Install @webex/storage-adapter-local-forage Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/storage-adapter-local-forage/README.md Install the localForage storage adapter for the Webex JS SDK using npm. ```bash npm install --save @webex/storage-adapter-local-forage ``` -------------------------------- ### Usage of @webex/plugin-presence Source: https://github.com/webex/webex-js-sdk/blob/next/docs/presence/index.html Import the Presence plugin and initialize WebexCore. This example shows how to set up the Webex client and access presence-related functionalities. ```javascript import '@webex/plugin-presence'; import WebexCore from '@webex/webex-core'; const webex = new WebexCore(); webex.presence.WHATEVER; ``` -------------------------------- ### Initialize Webex Core and Use User Plugin Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/internal-plugin-user/README.md Import the internal user plugin and initialize WebexCore. Access internal user properties via `webex.internal.user`. ```javascript import '@webex/internal-plugin-user'; import WebexCore from '@webex/webex-core'; const webex = new WebexCore(); webex.internal.user.WHATEVER; ``` -------------------------------- ### Install @webex/plugin-webhooks Source: https://github.com/webex/webex-js-sdk/blob/next/packages/@webex/plugin-webhooks/README.md Install the Webhooks plugin using npm. ```bash npm install --save @webex/plugin-webhooks ```