Skip to content
← Public packages

@cameronpak/box

Full Box Public API v1 client: lifecycle, prompts, files, commands, snapshots, environments, webhooks, desktop, hosting, and account.

src/index.ts

227 lines · 6.0 KB · TypeScript
import createBox from './create-box.ts'
import getBox from './get-box.ts'
import listBoxes from './list-boxes.ts'
import updateBox from './update-box.ts'
import deleteBox from './delete-box.ts'
import waitForBox from './wait-for-box.ts'
import runCommand from './run-command.ts'
import getCommandStatus from './get-command-status.ts'
import runCode from './run-code.ts'
import readFile from './read-file.ts'
import writeFile from './write-file.ts'
import stopBox from './stop-box.ts'
import resumeBox from './resume-box.ts'
import forkBox from './fork-box.ts'
import promptBox from './prompt-box.ts'
import getPromptRun from './get-prompt-run.ts'
import listEvents from './list-events.ts'
import interruptBox from './interrupt-box.ts'
import getDesktopUrl from './get-desktop-url.ts'
import configureSshKey from './configure-ssh-key.ts'
import hostPort from './host-port.ts'
import downloadArtifact from './download-artifact.ts'
import getLimits from './get-limits.ts'
import getMe from './get-me.ts'
import getDataRetention from './get-data-retention.ts'
import updateDataRetention from './update-data-retention.ts'
import getDeletionOperation from './get-deletion-operation.ts'
import listRepos from './list-repos.ts'
import selectRepo from './select-repo.ts'
import listApiKeys from './list-api-keys.ts'
import getSecrets from './get-secrets.ts'
import updateSecrets from './update-secrets.ts'
import listWebhooks from './list-webhooks.ts'
import createWebhook from './create-webhook.ts'
import getWebhook from './get-webhook.ts'
import updateWebhook from './update-webhook.ts'
import deleteWebhook from './delete-webhook.ts'
import rotateWebhookSecret from './rotate-webhook-secret.ts'
import listEnvironments from './list-environments.ts'
import createEnvironment from './create-environment.ts'
import updateEnvironment from './update-environment.ts'
import deleteEnvironment from './delete-environment.ts'
import upgradeEnvironment from './upgrade-environment.ts'
import setEnvironmentVar from './set-environment-var.ts'
import deleteEnvironmentVar from './delete-environment-var.ts'
import setEnvironmentSecretFile from './set-environment-secret-file.ts'
import deleteEnvironmentSecretFile from './delete-environment-secret-file.ts'
import addEnvironmentRepo from './add-environment-repo.ts'
import deleteEnvironmentRepo from './delete-environment-repo.ts'
import listSnapshots from './list-snapshots.ts'
import listBoxSnapshots from './list-box-snapshots.ts'
import getLatestBoxSnapshot from './get-latest-box-snapshot.ts'
import getSnapshotTree from './get-snapshot-tree.ts'
import getSnapshotFile from './get-snapshot-file.ts'
import getSnapshotDownload from './get-snapshot-download.ts'
import deleteSnapshot from './delete-snapshot.ts'
import listNamedSnapshots from './list-named-snapshots.ts'
import saveNamedSnapshot from './save-named-snapshot.ts'
import getNamedSnapshot from './get-named-snapshot.ts'
import deleteNamedSnapshot from './delete-named-snapshot.ts'

export {
	createBox,
	getBox,
	listBoxes,
	updateBox,
	deleteBox,
	waitForBox,
	runCommand,
	getCommandStatus,
	runCode,
	readFile,
	writeFile,
	stopBox,
	resumeBox,
	forkBox,
	promptBox,
	getPromptRun,
	listEvents,
	interruptBox,
	getDesktopUrl,
	configureSshKey,
	hostPort,
	downloadArtifact,
	getLimits,
	getMe,
	getDataRetention,
	updateDataRetention,
	getDeletionOperation,
	listRepos,
	selectRepo,
	listApiKeys,
	getSecrets,
	updateSecrets,
	listWebhooks,
	createWebhook,
	getWebhook,
	updateWebhook,
	deleteWebhook,
	rotateWebhookSecret,
	listEnvironments,
	createEnvironment,
	updateEnvironment,
	deleteEnvironment,
	upgradeEnvironment,
	setEnvironmentVar,
	deleteEnvironmentVar,
	setEnvironmentSecretFile,
	deleteEnvironmentSecretFile,
	addEnvironmentRepo,
	deleteEnvironmentRepo,
	listSnapshots,
	listBoxSnapshots,
	getLatestBoxSnapshot,
	getSnapshotTree,
	getSnapshotFile,
	getSnapshotDownload,
	deleteSnapshot,
	listNamedSnapshots,
	saveNamedSnapshot,
	getNamedSnapshot,
	deleteNamedSnapshot,
}

export type { BoxError, BinaryPayload, Result } from './client.ts'
export type {
	ApiKey,
	Box,
	BoxEnvironment,
	BoxEnvironmentVersionSummary,
	BoxEvent,
	BoxSize,
	BoxState,
	BoxUser,
	CommandResult,
	CommandStarted,
	CommandStatus,
	DataRetentionPolicy,
	DeletionOperation,
	NamedSnapshot,
	PageInfo,
	PromptRun,
	Repository,
	RepositoryInstallation,
	SecretFile,
	SelectedRepository,
	SnapshotChunk,
	SnapshotSummary,
	SnapshotTreeEntry,
	Webhook,
	WebhookEventType,
} from './types.ts'

/**
 * Root invocation surface. Reports what this package exposes so a bare
 * invocation returns something useful. Call a named export to do real work.
 */
export default async function boxPackage() {
	return {
		package: '@cameronpak/box',
		baseUrl: 'https://ascii.dev/api/box/v1',
		secret: 'boxApiKey',
		coverage: 'Box Public API v1',
		exports: [
			'create-box',
			'get-box',
			'list-boxes',
			'update-box',
			'delete-box',
			'wait-for-box',
			'run-command',
			'get-command-status',
			'run-code',
			'read-file',
			'write-file',
			'stop-box',
			'resume-box',
			'fork-box',
			'prompt-box',
			'get-prompt-run',
			'list-events',
			'interrupt-box',
			'get-desktop-url',
			'configure-ssh-key',
			'host-port',
			'download-artifact',
			'get-limits',
			'get-me',
			'get-data-retention',
			'update-data-retention',
			'get-deletion-operation',
			'list-repos',
			'select-repo',
			'list-api-keys',
			'get-secrets',
			'update-secrets',
			'list-webhooks',
			'create-webhook',
			'get-webhook',
			'update-webhook',
			'delete-webhook',
			'rotate-webhook-secret',
			'list-environments',
			'create-environment',
			'update-environment',
			'delete-environment',
			'upgrade-environment',
			'set-environment-var',
			'delete-environment-var',
			'set-environment-secret-file',
			'delete-environment-secret-file',
			'add-environment-repo',
			'delete-environment-repo',
			'list-snapshots',
			'list-box-snapshots',
			'get-latest-box-snapshot',
			'get-snapshot-tree',
			'get-snapshot-file',
			'get-snapshot-download',
			'delete-snapshot',
			'list-named-snapshots',
			'save-named-snapshot',
			'get-named-snapshot',
			'delete-named-snapshot',
		],
	}
}