Skip to content

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

Package listing

@kody/raycast

src/index.ts

49 lines · 1.1 KB · TypeScript
import {
	DISCOVERY_EXPORTS,
	KODY_ID,
	PACKAGE_NAME,
	PUBLIC_URL,
	tokenSetupUrl,
} from './helpers.ts'

export type RaycastDescribeResult = {
	name: string
	kodyId: string
	description: string
	publicUrl: string
	tokenSetupUrl: string
	exports: string[]
	safety: {
		invokeSupportsDryRun: true
		jobsEnabledByDefault: false
		noBakedInTokens: true
		noPersonalPackageLists: true
	}
}

/**
 * Describe the official Raycast discovery package.
 *
 * @returns Package metadata, share URL, and discovery export names.
 *
 * @example
 * import describe from 'kody:@kody/raycast'
 * const info = await describe()
 */
export default async function describe(): Promise<RaycastDescribeResult> {
	return {
		name: PACKAGE_NAME,
		kodyId: KODY_ID,
		description:
			'Discover saved packages and invoke their exports from Raycast or other HTTP clients.',
		publicUrl: PUBLIC_URL,
		tokenSetupUrl: tokenSetupUrl(),
		exports: [...DISCOVERY_EXPORTS],
		safety: {
			invokeSupportsDryRun: true,
			jobsEnabledByDefault: false,
			noBakedInTokens: true,
			noPersonalPackageLists: true,
		},
	}
}