{"record":{"id":"776d081c03873361","repo":"JuliusBrussee/caveman","slug":"cave-async-jobs-unavailable","errorCode":"cave_async_jobs_unavailable","errorMessage":"Async job execution is unavailable: durable encrypted request storage, provider credential custody, and a draining worker are not wired. No job was submitted.","messagePattern":"Async job execution is unavailable: durable encrypted request storage, provider credential custody, and a draining worker are not wired\\. No job was submitted\\.","errorType":"exception","errorClass":"AsyncJobsUnavailableError","httpStatus":null,"severity":"error","filePath":"packages/sdk/typescript/src/index.ts","lineNumber":739,"sourceCode":"export class AsyncJobsUnavailableError extends Error {\n  readonly code = \"cave_async_jobs_unavailable\";\n\n  constructor() {\n    super(ASYNC_JOBS_UNAVAILABLE);\n    this.name = \"AsyncJobsUnavailableError\";\n  }\n}\n\n/**\n * Reserved async-job surface. Every method fails locally before network I/O\n * until delayed requests have durable payload, credential, and worker support.\n * Mirrors Python `JobsClient` and prevents fake queued/completed work.\n */\nexport class JobsClient {\n  constructor(_cave: Cave) {}\n\n  async submit(_body: Record<string, unknown>, _options?: { latencyClass?: LatencyClass }): Promise<Job> {\n    throw new AsyncJobsUnavailableError();\n  }\n\n  async status(_id: string): Promise<Job> {\n    throw new AsyncJobsUnavailableError();\n  }\n\n  async cancel(_id: string): Promise<Record<string, unknown>> {\n    throw new AsyncJobsUnavailableError();\n  }\n\n  async wait(_id: string, _options?: { intervalMs?: number; timeoutMs?: number }): Promise<Job> {\n    throw new AsyncJobsUnavailableError();\n  }\n\n  async submitAndWait(\n    _body: Record<string, unknown>,\n    _options?: { latencyClass?: LatencyClass; intervalMs?: number; timeoutMs?: number }\n  ): Promise<Job> {","sourceCodeStart":721,"sourceCodeEnd":757,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/packages/sdk/typescript/src/index.ts#L721-L757","documentation":"Error \"Async job execution is unavailable: durable encrypted request storage, provider credential custody, and a draining worker are not wired. No job was submitted.\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at packages/sdk/typescript/src/index.ts:739 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Async job execution is not wired; run synchronously or wait for durable storage, credential custody, and a draining worker to be available."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"27d5a3981a347890211bb1bf2439e5c821a63bc9","analyzedAt":"2026-08-15T09:26:11.751Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}