chore: Regenerate OpenAPI spec with custom theme endpoints

Regenerated the frontend API SDK to include:
- /theme/save-custom endpoint for saving custom themes
- /theme/saved/{id} endpoint for deleting custom themes
- SaveCustomThemeRequest type definition
- Updated theme presets description

This completes the custom theme saving feature integration.
This commit is contained in:
spencrmartin
2026-02-13 15:54:31 -05:00
parent 0f72b310bf
commit 5c86ab8619
4 changed files with 188 additions and 5 deletions
+108 -1
View File
@@ -3280,7 +3280,7 @@
"operationId": "get_theme_presets",
"responses": {
"200": {
"description": "List of all built-in theme presets",
"description": "List of all theme presets (built-in and custom)",
"content": {
"application/json": {
"schema": {
@@ -3325,6 +3325,76 @@
}
}
},
"/theme/save-custom": {
"post": {
"tags": [
"super::routes::config_management"
],
"operationId": "save_custom_theme",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SaveCustomThemeRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Custom theme saved successfully",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"500": {
"description": "Failed to save custom theme"
}
}
}
},
"/theme/saved/{id}": {
"delete": {
"tags": [
"super::routes::config_management"
],
"operationId": "delete_custom_theme",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Theme ID to delete",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Custom theme deleted successfully",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"404": {
"description": "Theme not found"
},
"500": {
"description": "Failed to delete theme"
}
}
}
},
"/theme/variables": {
"get": {
"tags": [
@@ -6301,6 +6371,40 @@
}
}
},
"SaveCustomThemeRequest": {
"type": "object",
"required": [
"id",
"name",
"author",
"description",
"tags",
"colors"
],
"properties": {
"author": {
"type": "string"
},
"colors": {
"$ref": "#/components/schemas/ThemeColorsDto"
},
"description": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"SavePromptRequest": {
"type": "object",
"required": [
@@ -7061,6 +7165,9 @@
"id": {
"type": "string"
},
"is_custom": {
"type": "boolean"
},
"name": {
"type": "string"
},
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+66 -1
View File
@@ -983,6 +983,15 @@ export type RunNowResponse = {
session_id: string;
};
export type SaveCustomThemeRequest = {
author: string;
colors: ThemeColorsDto;
description: string;
id: string;
name: string;
tags: Array<string>;
};
export type SavePromptRequest = {
content: string;
};
@@ -1217,6 +1226,7 @@ export type ThemePreset = {
colors: ThemeColorsDto;
description: string;
id: string;
is_custom?: boolean;
name: string;
tags: Array<string>;
version: string;
@@ -3983,7 +3993,7 @@ export type GetThemePresetsData = {
export type GetThemePresetsResponses = {
/**
* List of all built-in theme presets
* List of all theme presets (built-in and custom)
*/
200: ThemePresetsResponse;
};
@@ -4013,6 +4023,61 @@ export type SaveThemeResponses = {
export type SaveThemeResponse = SaveThemeResponses[keyof SaveThemeResponses];
export type SaveCustomThemeData = {
body: SaveCustomThemeRequest;
path?: never;
query?: never;
url: '/theme/save-custom';
};
export type SaveCustomThemeErrors = {
/**
* Failed to save custom theme
*/
500: unknown;
};
export type SaveCustomThemeResponses = {
/**
* Custom theme saved successfully
*/
200: string;
};
export type SaveCustomThemeResponse = SaveCustomThemeResponses[keyof SaveCustomThemeResponses];
export type DeleteCustomThemeData = {
body?: never;
path: {
/**
* Theme ID to delete
*/
id: string;
};
query?: never;
url: '/theme/saved/{id}';
};
export type DeleteCustomThemeErrors = {
/**
* Theme not found
*/
404: unknown;
/**
* Failed to delete theme
*/
500: unknown;
};
export type DeleteCustomThemeResponses = {
/**
* Custom theme deleted successfully
*/
200: string;
};
export type DeleteCustomThemeResponse = DeleteCustomThemeResponses[keyof DeleteCustomThemeResponses];
export type GetThemeVariablesData = {
body?: never;
path?: never;