{"record":{"id":"0a2a325318f178f8","repo":"paperclipai/paperclip","slug":"adapter-type-is-not-registered","errorCode":null,"errorMessage":"Adapter \"${type}\" is not registered.","messagePattern":"Adapter \"(.+?)\" is not registered\\.","errorType":"http","errorClass":null,"httpStatus":404,"severity":"error","filePath":"server/src/routes/adapters.ts","lineNumber":729,"sourceCode":"\n  // ── GET /api/adapters/:type/config-schema ────────────────────────────────\n  // Serve a declarative config schema for an adapter's UI form fields.\n  // The adapter's getConfigSchema() resolves all options (static and dynamic)\n  // so the UI receives a fully hydrated schema in a single fetch.\n  const configSchemaCache = new Map<string, {\n    adapter: ServerAdapterModule;\n    schema: AdapterConfigSchema;\n    fetchedAt: number;\n  }>();\n  const CONFIG_SCHEMA_TTL_MS = 30_000;\n\n  router.get(\"/adapters/:type/config-schema\", async (req, res) => {\n    // Config schemas are read-only form metadata used when org members create\n    // or edit agents; they do not install or execute new adapter code.\n    assertBoardOrgAccess(req);\n    const { type } = req.params;\n\n    const adapter = findActiveServerAdapter(type);\n    if (!adapter) {\n      res.status(404).json({ error: `Adapter \"${type}\" is not registered.` });\n      return;\n    }\n    if (!adapter.getConfigSchema) {\n      res.status(404).json({ error: `Adapter \"${type}\" does not provide a config schema.` });\n      return;\n    }\n\n    const cached = configSchemaCache.get(type);\n    if (cached && cached.adapter === adapter && Date.now() - cached.fetchedAt < CONFIG_SCHEMA_TTL_MS) {\n      res.json(cached.schema);\n      return;\n    }\n\n    try {\n      const schema = await adapter.getConfigSchema();\n      configSchemaCache.set(type, { adapter, schema, fetchedAt: Date.now() });","sourceCodeStart":711,"sourceCodeEnd":747,"githubUrl":"https://github.com/paperclipai/paperclip/blob/5716fe907e596ce73501408fc6efdb19fb61edf2/server/src/routes/adapters.ts#L711-L747","documentation":"Lookup failure on GET /api/adapters/:type/config-schema: no active adapter module with this type exists in the registry, so no config schema can be resolved; the route returns 404 so the UI can fall back to no-schema rendering.","triggerScenarios":"Thrown at server/src/routes/adapters.ts:671 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install or register the adapter type first, or use a registered adapter type."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5716fe907e596ce73501408fc6efdb19fb61edf2","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}