import { patSetupUrl, oauthConnectUrl, DEFAULT_OAUTH_SCOPES, ASANA_CALLBACK_URL, ASANA_REQUIRED_HOST, ASANA_SCOPES, } from './setup.ts' /** * Describe the Asana package, auth lanes, and export surface. * @example * import asana from 'kody:@kody/asana' * const overview = await asana() */ export default async function asanaOverview() { return { name: 'Asana', auth: { oauth: { defaultIntegration: 'asana', connectUrl: oauthConnectUrl('asana'), callbackUrl: ASANA_CALLBACK_URL, scopes: ASANA_SCOPES, defaultScopes: [...DEFAULT_OAUTH_SCOPES], scopeSeparator: ' ', requiredHost: ASANA_REQUIRED_HOST, }, pat: { defaultSecret: 'asanaPat', setupUrl: patSetupUrl('asanaPat'), requiredHost: ASANA_REQUIRED_HOST, }, }, safety: 'Mutating operations require confirm: true and support dryRun: true.', exports: { setup: ['accounts', 'smoke-test', 'viewer'], workspaces: ['list-workspaces', 'get-workspace'], projects: ['list-projects', 'get-project', 'create-project'], tasks: ['list-tasks', 'get-task', 'create-task', 'update-task'], stories: ['list-stories', 'create-story'], advanced: ['request'], }, } }