{
 "openapi": "3.1.0",
 "info": {
  "title": "Imperal Extension Registry",
  "version": "1.0.0"
 },
 "paths": {
  "/v1/apps": {
   "post": {
    "tags": [
     "apps"
    ],
    "summary": "Create App",
    "operationId": "create_app_v1_apps_post",
    "parameters": [
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/AppCreate"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "get": {
    "tags": [
     "apps"
    ],
    "summary": "List Apps",
    "operationId": "list_apps_v1_apps_get",
    "parameters": [
     {
      "name": "owner_id",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "title": "Owner Id"
      }
     },
     {
      "name": "status",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": "active",
       "title": "Status"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/apps/{app_id}": {
   "get": {
    "tags": [
     "apps"
    ],
    "summary": "Get App",
    "operationId": "get_app_v1_apps__app_id__get",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "patch": {
    "tags": [
     "apps"
    ],
    "summary": "Update App",
    "operationId": "update_app_v1_apps__app_id__patch",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/AppUpdate"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "delete": {
    "tags": [
     "apps"
    ],
    "summary": "Delete App",
    "operationId": "delete_app_v1_apps__app_id__delete",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/apps/{app_id}/keys": {
   "post": {
    "tags": [
     "keys"
    ],
    "summary": "Create Key",
    "operationId": "create_key_v1_apps__app_id__keys_post",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/KeyCreate"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "get": {
    "tags": [
     "keys"
    ],
    "summary": "List Keys",
    "operationId": "list_keys_v1_apps__app_id__keys_get",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/apps/{app_id}/keys/{key_id}": {
   "delete": {
    "tags": [
     "keys"
    ],
    "summary": "Revoke Key",
    "operationId": "revoke_key_v1_apps__app_id__keys__key_id__delete",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "key_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "Key Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/apps/{app_id}/tools": {
   "put": {
    "tags": [
     "tools"
    ],
    "summary": "Register Tools",
    "description": "Full sync: replaces all tools and skeleton sections for this app.",
    "operationId": "register_tools_v1_apps__app_id__tools_put",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ToolRegistration"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "get": {
    "tags": [
     "tools"
    ],
    "summary": "Get Tools",
    "description": "Get registered tools and skeleton config for an app.\nUsed by GenericSessionWorkflow to know which activities to call.",
    "operationId": "get_tools_v1_apps__app_id__tools_get",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/apps/{app_id}/settings": {
   "get": {
    "tags": [
     "settings"
    ],
    "summary": "Get Settings",
    "operationId": "get_settings_v1_apps__app_id__settings_get",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "put": {
    "tags": [
     "settings"
    ],
    "summary": "Update Settings",
    "description": "Partial update. Skeleton changes signal running workflow for live reload.\nConfig sections are written to both local Registry DB and Auth Gateway unified store.",
    "operationId": "update_settings_v1_apps__app_id__settings_put",
    "parameters": [
     {
      "name": "app_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "App Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Body"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/users/{user_id}/automations": {
   "get": {
    "tags": [
     "automations"
    ],
    "summary": "Get Automations",
    "description": "Get automation rules with TTL from app_skeleton_config (single source of truth).",
    "operationId": "get_automations_v1_users__user_id__automations_get",
    "parameters": [
     {
      "name": "user_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "User Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "put": {
    "tags": [
     "automations"
    ],
    "summary": "Save Automations",
    "description": "Save user automation rules + update skeleton config + signal workflow reload.",
    "operationId": "save_automations_v1_users__user_id__automations_put",
    "parameters": [
     {
      "name": "user_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "User Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "array",
        "items": {},
        "title": "Body"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/hub/{user_id}/messages": {
   "post": {
    "tags": [
     "hub"
    ],
    "summary": "Send Hub Message",
    "description": "Signal IcnliSessionWorkflow in imperal-hub to process a message.",
    "operationId": "send_hub_message_v1_hub__user_id__messages_post",
    "parameters": [
     {
      "name": "user_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "User Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Body"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/catalog": {
   "get": {
    "tags": [
     "catalog"
    ],
    "summary": "Get Catalog",
    "description": "Return all active tools with embeddings for worker local cache.",
    "operationId": "get_catalog_v1_catalog_get",
    "parameters": [
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/health": {
   "get": {
    "summary": "Health",
    "operationId": "health_health_get",
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     }
    }
   }
  },
  "/extensions": {
   "get": {
    "summary": "List Extensions",
    "operationId": "list_extensions_extensions_get",
    "parameters": [
     {
      "name": "status",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": "active",
       "title": "Status"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "post": {
    "summary": "Create Extension",
    "operationId": "create_extension_extensions_post",
    "parameters": [
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ExtensionCreate"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/extensions/{ext_id}": {
   "get": {
    "summary": "Get Extension",
    "operationId": "get_extension_extensions__ext_id__get",
    "parameters": [
     {
      "name": "ext_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "Ext Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "put": {
    "summary": "Update Extension",
    "operationId": "update_extension_extensions__ext_id__put",
    "parameters": [
     {
      "name": "ext_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "Ext Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ExtensionUpdate"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   },
   "delete": {
    "summary": "Delete Extension",
    "operationId": "delete_extension_extensions__ext_id__delete",
    "parameters": [
     {
      "name": "ext_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "Ext Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/user-extensions/{user_id}": {
   "get": {
    "summary": "List User Extensions",
    "description": "Get all active extensions for a user \u2014 used by Panel on load to build UI.",
    "operationId": "list_user_extensions_user_extensions__user_id__get",
    "parameters": [
     {
      "name": "user_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "integer",
       "title": "User Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/user-extensions": {
   "post": {
    "summary": "Activate Extension",
    "description": "Activate an extension for a user (marketplace 'Activate' button).",
    "operationId": "activate_extension_user_extensions_post",
    "parameters": [
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/UserExtensionActivate"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/user-extensions/{user_id}/{ext_id}": {
   "delete": {
    "summary": "Deactivate User Extension",
    "description": "Deactivate an extension for a user (marketplace 'Deactivate' button).",
    "operationId": "deactivate_user_extension_user_extensions__user_id___ext_id__delete",
    "parameters": [
     {
      "name": "user_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "integer",
       "title": "User Id"
      }
     },
     {
      "name": "ext_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "Ext Id"
      }
     },
     {
      "name": "x-api-key",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "title": "X-Api-Key"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  }
 },
 "components": {
  "schemas": {
   "AppCreate": {
    "properties": {
     "app_id": {
      "type": "string",
      "maxLength": 64,
      "minLength": 2,
      "pattern": "^[a-z0-9][a-z0-9_-]*$",
      "title": "App Id"
     },
     "display_name": {
      "type": "string",
      "maxLength": 255,
      "minLength": 1,
      "title": "Display Name"
     },
     "owner_id": {
      "type": "string",
      "maxLength": 50,
      "minLength": 1,
      "title": "Owner Id"
     },
     "config": {
      "anyOf": [
       {
        "additionalProperties": true,
        "type": "object"
       },
       {
        "type": "null"
       }
      ],
      "title": "Config"
     }
    },
    "type": "object",
    "required": [
     "app_id",
     "display_name",
     "owner_id"
    ],
    "title": "AppCreate"
   },
   "AppUpdate": {
    "properties": {
     "display_name": {
      "anyOf": [
       {
        "type": "string",
        "maxLength": 255
       },
       {
        "type": "null"
       }
      ],
      "title": "Display Name"
     },
     "status": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Status"
     },
     "config": {
      "anyOf": [
       {
        "additionalProperties": true,
        "type": "object"
       },
       {
        "type": "null"
       }
      ],
      "title": "Config"
     }
    },
    "type": "object",
    "title": "AppUpdate"
   },
   "ExtensionCreate": {
    "properties": {
     "id": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "pattern": "^[a-z0-9_-]+$",
      "title": "Id"
     },
     "display_name": {
      "type": "string",
      "maxLength": 255,
      "minLength": 1,
      "title": "Display Name"
     },
     "description": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Description"
     },
     "version": {
      "type": "string",
      "title": "Version",
      "default": "1.0.0"
     },
     "manifest": {
      "additionalProperties": true,
      "type": "object",
      "title": "Manifest"
     }
    },
    "type": "object",
    "required": [
     "id",
     "display_name",
     "manifest"
    ],
    "title": "ExtensionCreate"
   },
   "ExtensionUpdate": {
    "properties": {
     "display_name": {
      "anyOf": [
       {
        "type": "string",
        "maxLength": 255
       },
       {
        "type": "null"
       }
      ],
      "title": "Display Name"
     },
     "description": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Description"
     },
     "version": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Version"
     },
     "status": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Status"
     },
     "manifest": {
      "anyOf": [
       {
        "additionalProperties": true,
        "type": "object"
       },
       {
        "type": "null"
       }
      ],
      "title": "Manifest"
     }
    },
    "type": "object",
    "title": "ExtensionUpdate"
   },
   "HTTPValidationError": {
    "properties": {
     "detail": {
      "items": {
       "$ref": "#/components/schemas/ValidationError"
      },
      "type": "array",
      "title": "Detail"
     }
    },
    "type": "object",
    "title": "HTTPValidationError"
   },
   "KeyCreate": {
    "properties": {
     "scope": {
      "type": "string",
      "title": "Scope",
      "default": "full"
     }
    },
    "type": "object",
    "title": "KeyCreate"
   },
   "ToolRegistration": {
    "properties": {
     "tools": {
      "items": {
       "additionalProperties": true,
       "type": "object"
      },
      "type": "array",
      "title": "Tools"
     },
     "skeleton_sections": {
      "items": {
       "additionalProperties": true,
       "type": "object"
      },
      "type": "array",
      "title": "Skeleton Sections"
     },
     "version": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Version"
     }
    },
    "type": "object",
    "title": "ToolRegistration"
   },
   "UserExtensionActivate": {
    "properties": {
     "user_id": {
      "type": "integer",
      "title": "User Id"
     },
     "extension_id": {
      "type": "string",
      "title": "Extension Id"
     },
     "config": {
      "anyOf": [
       {
        "additionalProperties": true,
        "type": "object"
       },
       {
        "type": "null"
       }
      ],
      "title": "Config"
     }
    },
    "type": "object",
    "required": [
     "user_id",
     "extension_id"
    ],
    "title": "UserExtensionActivate"
   },
   "ValidationError": {
    "properties": {
     "loc": {
      "items": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "integer"
        }
       ]
      },
      "type": "array",
      "title": "Location"
     },
     "msg": {
      "type": "string",
      "title": "Message"
     },
     "type": {
      "type": "string",
      "title": "Error Type"
     }
    },
    "type": "object",
    "required": [
     "loc",
     "msg",
     "type"
    ],
    "title": "ValidationError"
   }
  }
 }
}