Skip to content

Built for people who want to own their automations. Join the waitlist for an invite.

Package listing

@kody/x

src/index.ts

78 lines · 1.8 KB · TypeScript
import { connectUrls } from './domain.ts'

export {
	XApiError,
	bookmarkTweet,
	connectUrls,
	createTweet,
	deleteTweet,
	followUser,
	getMe,
	getTweet,
	getUserByUsername,
	getUserTweets,
	likeTweet,
	listXAccounts,
	mediaUploadGuide,
	oauthTokenStorageNotes,
	rawXRequest,
	refreshOauthToken,
	removeBookmark,
	repostTweet,
	resolveIntegrationName,
	resolveOAuthAccount,
	searchRecent,
	shapeTweet,
	shapeTweetsResponse,
	smokeTest,
	summarizeUser,
	unfollowUser,
	unlikeTweet,
	unrepostTweet,
	xRequest,
} from './client.ts'

/** Package overview, connect URLs, and export map. */
export default async function xOverview() {
	return {
		package: '@kody/x',
		kodyId: 'x',
		publicUrl: 'https://kody.codes/@kody/x',
		description:
			'Official X API v2 helpers: user lookup, tweets, search, and guarded posting through saved OAuth.',
		auth: {
			defaultOauthIntegration: 'x',
			accountConvention:
				"Omit account for integration `x`; account: '<purpose>' → integration `x-<purpose>`; or pass integration explicitly.",
			example: { account: 'work', resolvesTo: 'x-work' },
			connect: connectUrls(),
		},
		safety:
			'Write helpers return dryRun unless confirm: true is provided after explicit user approval.',
		utilities: [
			'accounts',
			'smoke-test',
			'request',
			'refresh-oauth-token',
			'get-me',
			'get-user-by-username',
			'get-tweet',
			'search-recent',
			'get-user-tweets',
			'create-tweet',
			'delete-tweet',
			'like-tweet',
			'unlike-tweet',
			'repost-tweet',
			'unrepost-tweet',
			'bookmark-tweet',
			'remove-bookmark',
			'follow-user',
			'unfollow-user',
			'media-upload-guide',
		],
		importPattern: "import utility from 'kody:@kody/x/<utility-name>'",
		rateLimitNote:
			'X free and basic tiers are rate-limited. Prefer one GET smoke; treat HTTP 429 as auth-plumbing-verified.',
	}
}