← Public packages
@cameronpak/box
Full Box Public API v1 client: lifecycle, prompts, files, commands, snapshots, environments, webhooks, desktop, hosting, and account.
src/get-prompt-run.ts
33 lines · 906 B · TypeScriptimport { assertBoxId, boxRequest, failure, type Result } from './client.ts'
import type { PromptRun } from './types.ts'
export type GetPromptRunInput = {
boxId: string
promptId: string
}
export type GetPromptRunOutput = {
id: string
promptRun: PromptRun
}
/**
* Return first-class status for a queued, running, or finished prompt so
* clients do not infer completion from box state and events.
*/
export default async function getPromptRun(
input: GetPromptRunInput,
): Promise<Result<GetPromptRunOutput>> {
const invalid = assertBoxId(input?.boxId)
if (invalid) return failure<GetPromptRunOutput>(invalid)
if (!input?.promptId) {
return failure<GetPromptRunOutput>({
code: 'invalid_prompt_id',
message: 'promptId is required.',
status: 400,
})
}
return boxRequest<GetPromptRunOutput>({
path: '/boxes/' + input.boxId + '/prompts/' + encodeURIComponent(input.promptId),
})
}