export type * from './types.ts'
export {
DEFAULT_ZOOM_ACCOUNT_ID_SECRET,
DEFAULT_ZOOM_API_BASE_URL,
DEFAULT_ZOOM_API_HOST,
DEFAULT_ZOOM_CLIENT_ID_SECRET,
DEFAULT_ZOOM_INTEGRATION_NAME,
DEFAULT_ZOOM_S2S_CLIENT_SECRET,
SUGGESTED_ZOOM_OAUTH_SCOPES,
SUGGESTED_ZOOM_S2S_SCOPES,
ZOOM_ACCOUNT_ID_SETUP_URL,
ZOOM_CLIENT_ID_SETUP_URL,
ZOOM_MARKETPLACE_CREATE_URL,
ZOOM_OAUTH_AUTHORIZE_URL,
ZOOM_OAUTH_CONNECT_URL,
ZOOM_OAUTH_DOCS_URL,
ZOOM_OAUTH_TOKEN_URL,
ZOOM_S2S_CLIENT_SECRET_SETUP_URL,
ZOOM_S2S_DOCS_URL,
ZoomRequestError,
accounts,
buildOauthConnectUrl,
buildSecretSetupUrl,
getCurrentUser,
paginate,
request,
resolveZoomAuth,
} from './core.ts'
import {
DEFAULT_ZOOM_ACCOUNT_ID_SECRET,
DEFAULT_ZOOM_CLIENT_ID_SECRET,
DEFAULT_ZOOM_INTEGRATION_NAME,
DEFAULT_ZOOM_S2S_CLIENT_SECRET,
ZOOM_ACCOUNT_ID_SETUP_URL,
ZOOM_CLIENT_ID_SETUP_URL,
ZOOM_OAUTH_CONNECT_URL,
ZOOM_S2S_CLIENT_SECRET_SETUP_URL,
accounts,
} from './core.ts'
/**
* Describe the Zoom package and its documented export surface.
*/
export default async function describeZoomPackage() {
return {
package: '@kody/zoom',
kodyId: 'zoom',
publicUrl: 'https://kody.codes/@kody/zoom',
purpose:
'Zoom REST helpers for users, meetings, recordings, and webinars, using user OAuth or Server-to-Server secrets.',
defaultIntegrationName: DEFAULT_ZOOM_INTEGRATION_NAME,
oauthConnectUrl: ZOOM_OAUTH_CONNECT_URL,
s2sSecrets: {
accountId: DEFAULT_ZOOM_ACCOUNT_ID_SECRET,
clientId: DEFAULT_ZOOM_CLIENT_ID_SECRET,
clientSecret: DEFAULT_ZOOM_S2S_CLIENT_SECRET,
accountIdSetupUrl: ZOOM_ACCOUNT_ID_SETUP_URL,
clientIdSetupUrl: ZOOM_CLIENT_ID_SETUP_URL,
clientSecretSetupUrl: ZOOM_S2S_CLIENT_SECRET_SETUP_URL,
},
accounts: accounts(),
jobs: {
'upcoming-meetings': 'Disabled by default. Lists upcoming meetings when enabled.',
},
exports: {
request: 'Make a normalized Zoom REST request.',
paginate: 'Follow Zoom next_page_token pagination.',
getCurrentUser: 'Verify which Zoom identity the selected lane uses.',
accounts: 'List OAuth vs Server-to-Server lanes and selection guidance.',
'smoke-test': 'Local helper checks plus optional live /users/me read.',
'users/list': 'List users on the account (admin / S2S).',
'users/get': 'Fetch one user (default me).',
'meetings/list': 'List meetings for a user.',
'meetings/get': 'Fetch one meeting.',
'meetings/create': 'Create a meeting (dryRun or confirm).',
'meetings/update': 'Update a meeting (dryRun or confirm).',
'meetings/delete': 'Delete a meeting (dryRun or confirm).',
'recordings/list': 'List cloud recordings for a user.',
'recordings/get': 'Fetch recordings for one meeting.',
'webinars/list': 'List webinars for a user.',
'webinars/get': 'Fetch one webinar.',
'webinars/create': 'Create a webinar (dryRun or confirm).',
'webinars/update': 'Update a webinar (dryRun or confirm).',
'webinars/delete': 'Delete a webinar (dryRun or confirm).',
},
}
}