wip: the presets API's shape, answering nothing yet

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ilker ManapandClaude Opus 5.5 committed 2026-10-13 16:14:55 +02:00
1 parent d817558121
commit 92b588452e
4 files changed
+306

No files matched your search

+184
View File
@@ -86,6 +86,9 @@
{
"name": "plan"
},
{
"name": "presets"
},
{
"name": "projects"
},
@@ -3651,6 +3654,116 @@
}
}
},
"/api/v1/presets": {
"get": {
"operationId": "getPresets",
"summary": "The models that come with llmgw: whether each fits this cluster, is in the catalog, was declined",
"tags": [
"presets"
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PresetsView"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"default": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/api/v1/presets/auto": {
"put": {
"operationId": "putPresetsAuto",
"summary": "Turn on or off the adding of presets when a node fits them",
"tags": [
"presets"
],
"parameters": [
{
"$ref": "#/components/parameters/Actor"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PresetsAutoRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PresetsView"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"default": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/api/v1/presets/{name}": {
"post": {
"operationId": "postPresetsName",
"summary": "Add a preset to the catalog, and clear its decline",
"tags": [
"presets"
],
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"description": "The preset's name, as `llmgw ctl model presets` lists it.",
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/Actor"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModelAdded"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"default": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/api/v1/projects": {
"post": {
"operationId": "postProjects",
@@ -7481,6 +7594,77 @@
}
}
},
"PresetView": {
"type": "object",
"description": "PresetView is one preset as it stands in this cluster.",
"properties": {
"name": {
"type": "string"
},
"makes": {
"type": "string"
},
"description": {
"type": "string"
},
"card": {
"type": "string"
},
"licence": {
"$ref": "#/components/schemas/catalog.License"
},
"fits": {
"type": "boolean",
"description": "Fits is whether some node has a card that meets the preset's need; FitsClasses names those classes."
},
"fits_classes": {
"type": "array",
"items": {
"type": "string"
}
},
"in_catalog": {
"type": "boolean"
},
"added_by": {
"type": "string",
"description": "AddedBy is \"auto\" when the leader added it, who did otherwise, \"\" when it was not added as a preset; AddedAt is when."
},
"added_at": {
"type": "string",
"format": "date-time"
},
"declined": {
"type": "boolean",
"description": "Declined is whether somebody removed it after it was added, so it is not added again by itself; adding it again clears that."
}
}
},
"PresetsAutoRequest": {
"type": "object",
"description": "PresetsAutoRequest turns the automatic adding of presets on or off.",
"properties": {
"on": {
"type": "boolean"
}
}
},
"PresetsView": {
"type": "object",
"description": "PresetsView is the models that come with llmgw, and whether the leader adds them by itself.",
"properties": {
"auto": {
"type": "boolean",
"description": "Auto is whether a preset is added when a node fits it and the catalog has no model that makes what it makes (presets.auto)."
},
"presets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PresetView"
}
}
}
},
"ProjectView": {
"type": "object",
"description": "ProjectView is a project, with how many people and keys are in it.",