{"record":{"id":"541ea818310ef9af","repo":"paperclipai/paperclip","slug":"adapter-entry-adaptertype-is-missing-required","errorCode":null,"errorMessage":"Adapter \"${entry.adapterType}\" is missing required runtime field: runtimeImage","messagePattern":"Adapter \"(.+?)\" is missing required runtime field: runtimeImage","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/plugins/sandbox-providers/kubernetes/src/adapter-defaults.ts","lineNumber":59,"sourceCode":"    probeCommand: [\"opencode\", \"--version\"],\n  },\n  pi_local: {\n    runtimeImage: \"ghcr.io/paperclipai/agent-runtime-pi:v1\",\n    envKeys: [\"ANTHROPIC_API_KEY\"],\n    allowFqdns: [\"api.anthropic.com\"],\n    probeCommand: [\"pi\", \"--version\"],\n  },\n};\n\nexport const KNOWN_ADAPTER_TYPES: ReadonlySet<string> = new Set(Object.keys(REGISTRY));\n\nfunction fromRegistryEntry(entry: AdapterRegistryEntry): AdapterDefaults {\n  // Only runtimeImage is strictly required. The array fields are optional and\n  // default to []: the operator emits them with `omitempty`, so a genuinely\n  // empty allowFqdns/envKeys/probeCommand arrives as undefined, which is valid\n  // (no extra egress / no forwarded secrets / no probe), NOT an error.\n  if (!entry.runtimeImage) {\n    throw new Error(\n      `Adapter \"${entry.adapterType}\" is missing required runtime field: runtimeImage`,\n    );\n  }\n  return {\n    runtimeImage: entry.runtimeImage,\n    envKeys: entry.envKeys ?? [],\n    allowFqdns: entry.allowFqdns ?? [],\n    probeCommand: entry.probeCommand ?? [],\n    defaultEnv: entry.defaultEnv,\n  };\n}\n\n/**\n * Resolve the runtime defaults for an adapter. When a `registry` is supplied it\n * is authoritative (replace semantics): the type MUST be present and complete,\n * else this throws. With no registry, falls back to the built-in REGISTRY.\n */\nexport function getAdapterDefaults(","sourceCodeStart":41,"sourceCodeEnd":77,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/packages/plugins/sandbox-providers/kubernetes/src/adapter-defaults.ts#L41-L77","documentation":"Error \"Adapter \"${entry.adapterType}\" is missing required runtime field: runtimeImage\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at packages/plugins/sandbox-providers/kubernetes/src/adapter-defaults.ts:59 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add runtimeImage to the adapter's runtime defaults entry."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}