export * from './accounts.ts' export * from './core.ts' export * as instagram from './instagram.ts' export * as pages from './pages.ts' export * as whatsapp from './whatsapp.ts' import { describeMetaAccount } from './accounts.ts' import { ALL_PRODUCT_SCOPES, buildMetaConnectUrl, GRAPH_API_BASE_URL, setupUrls } from './scopes.ts' import smokeTest from './smoke-test.ts' export { smokeTest } export { default as request } from './request.ts' export { default as scopes } from './scopes.ts' /** * Package overview plus a read-only Graph smoke test (`GET /me`). * @example * import meta, { smokeTest } from 'kody:@kody/meta' * const overview = await meta() * const me = await smokeTest() */ export default async function meta() { return { package: '@kody/meta', description: 'Meta Graph helpers for Facebook Pages, Instagram professional accounts, and WhatsApp Cloud.', auth: ['oauth', 'system-user'], notApiKey: true, notBotToken: true, apiBaseUrl: GRAPH_API_BASE_URL, defaultAccount: describeMetaAccount(), setup: setupUrls(), connectUrl: buildMetaConnectUrl(), allProductsConnectUrl: buildMetaConnectUrl({ scopes: [...new Set(ALL_PRODUCT_SCOPES)] }), safety: [ 'Auth is Facebook Login OAuth via /connect/oauth or a Business system user token — not an API key or bot token.', 'Pass integration or account to select among meta / meta-* connections.', 'Mutations (Page publish, Instagram publish, WhatsApp send) require dryRun: true to preview, or confirm: true after explicit user approval.', '403 / permission errors name the missing Graph permission and the BYO OAuth connect URL (plus the system user secret URL).', 'Never hard-code a Page, Instagram, or phone-number id. Discover them from the connected token.', ], exports: { accounts: 'kody:@kody/meta/accounts', pages: 'kody:@kody/meta/pages', instagram: 'kody:@kody/meta/instagram', whatsapp: 'kody:@kody/meta/whatsapp', core: 'kody:@kody/meta/core', request: 'kody:@kody/meta/request', scopes: 'kody:@kody/meta/scopes', smokeTest: 'kody:@kody/meta/smoke-test', types: 'kody:@kody/meta/types', }, } }