{"record":{"id":"2aacc64731f3bc67","repo":"paperclipai/paperclip","slug":"daytona-interactive-setup-can-start-from-image-or","errorCode":null,"errorMessage":"Daytona interactive setup can start from image or snapshot templates only, not ${sourceKind}.","messagePattern":"Daytona interactive setup can start from image or snapshot templates only, not (.+?)\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/plugins/sandbox-providers/daytona/src/plugin.ts","lineNumber":734,"sourceCode":"    : null;\n}\n\nfunction sanitizeSnapshotName(value: string | null | undefined, fallback: string): string {\n  const cleaned = (value ?? fallback)\n    .trim()\n    .toLowerCase()\n    .replace(/[^a-z0-9._-]+/g, \"-\")\n    .replace(/^-+|-+$/g, \"\")\n    .slice(0, 96);\n  return cleaned || fallback;\n}\n\nfunction withSetupSourceTemplate(\n  config: DaytonaDriverConfig,\n  params: Pick<PluginEnvironmentStartInteractiveSetupParams, \"sourceTemplateRef\" | \"sourceTemplateKind\">,\n): DaytonaDriverConfig {\n  if (!params.sourceTemplateRef) return config;\n  const sourceKind = params.sourceTemplateKind ?? \"snapshot\";\n  if (sourceKind === \"image\") {\n    return {\n      ...config,\n      image: params.sourceTemplateRef,\n      snapshot: null,\n    };\n  }\n  if (sourceKind !== \"snapshot\") {\n    throw new Error(`Daytona interactive setup can start from image or snapshot templates only, not ${sourceKind}.`);\n  }\n  return {\n    ...config,\n    snapshot: params.sourceTemplateRef,\n    image: null,\n  };\n}\n\nasync function createSshConnection(","sourceCodeStart":716,"sourceCodeEnd":752,"githubUrl":"https://github.com/paperclipai/paperclip/blob/3f1d897a7c018d76563a21c6e39c3c9b03933622/packages/plugins/sandbox-providers/daytona/src/plugin.ts#L716-L752","documentation":"Argument validation in withSetupSourceTemplate: interactive setup was requested with a sourceTemplateRef whose sourceTemplateKind (defaulting to 'snapshot') is neither 'image' nor 'snapshot'. Daytona can only clone a setup sandbox from an image or a snapshot template, so any other template kind is rejected before the config is rewritten.","triggerScenarios":"Thrown at packages/plugins/sandbox-providers/daytona/src/plugin.ts:687 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Start interactive setup from an image or snapshot template."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3f1d897a7c018d76563a21c6e39c3c9b03933622","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}