import {
REDDIT_AUTHORIZE_URL,
REDDIT_CALLBACK_URL,
REDDIT_CONNECT_URL,
REDDIT_SCOPES,
REDDIT_TOKEN_URL,
REDDIT_USER_AGENT,
byoConnectUrl,
} from './request.ts'
export {
RedditApiError,
accounts,
getListing,
getMe,
getPost,
getSubreddit,
getUser,
redditRequest,
request,
resolveIntegration,
searchReddit,
smokeTest,
submitComment,
submitPost,
vote,
} from './client.ts'
/**
* Return Reddit package discovery metadata: utilities, auth, and safety notes.
*/
export default async function redditOverview() {
return {
package: '@kody/reddit',
description:
'Read Reddit subreddits, listings, search, and users, and preview guarded writes through saved OAuth.',
integration: 'reddit',
auth: "createAuthenticatedFetch('reddit') plus Reddit User-Agent on oauth.reddit.com",
callbackUrl: REDDIT_CALLBACK_URL,
connectUrl: REDDIT_CONNECT_URL,
byoConnectUrl: byoConnectUrl(),
authorizeUrl: REDDIT_AUTHORIZE_URL,
tokenUrl: REDDIT_TOKEN_URL,
scopes: [...REDDIT_SCOPES],
userAgent: REDDIT_USER_AGENT,
utilities: [
'accounts',
'smoke-test',
'get-me',
'get-subreddit',
'get-listing',
'search',
'get-user',
'get-post',
'request',
'submit-post',
'submit-comment',
'vote',
],
importPattern: "import utility from 'kody:@kody/reddit/<utility-name>'",
paramsNote: 'When importing from Kody execute, pass utility input as the function argument.',
reconnectUrl: REDDIT_CONNECT_URL,
jobs: false,
safety: 'Write helpers require params.confirm = true unless params.dryRun = true.',
identity: 'Resolved from /api/v1/me. Do not hard-code a Reddit username.',
}
}