Skip to content

src/index.ts

39 lines · 1.2 KB · TypeScript
Raw
/**
 * Describe the Dropbox package, integration requirements, and export surface.
 * @example
 * import dropbox from 'kody:@kentcdodds/dropbox'
 * const overview = await dropbox()
 */
import { APP_FOLDER_ROOT, UPLOAD_SESSION_CHUNK_BYTES, UPLOAD_SINGLE_MAX_BYTES } from './paths.ts'

export default async function dropboxOverview() {
	return {
		name: 'Dropbox',
		integration: 'dropbox',
		connectUrl: 'https://kody.codes/connect/oauth?provider=dropbox',
		safety: 'Mutating operations require confirm: true and support dryRun: true.',
		appFolderRoot: APP_FOLDER_ROOT,
		uploadSingleMaxBytes: UPLOAD_SINGLE_MAX_BYTES,
		uploadSessionChunkBytes: UPLOAD_SESSION_CHUNK_BYTES,
		doNotUse: [
			'files/get_temporary_upload_link — dead end for agents; use ./upload or ./upload-large',
			'Dropbox website login / UI — use MCP package exports instead',
		],
		exports: {
			account: ['get-current-account', 'get-space-usage', 'smoke-test'],
			files: [
				'list-folder',
				'get-metadata',
				'search',
				'download',
				'upload',
				'upload-large',
				'upload-from-url',
				'delete',
			],
			sharing: ['create-shared-link', 'ensure-shared-direct-url'],
			paths: ['paths'],
			advanced: ['request'],
		},
	}
}