Skip to content

Commit a348e41

Browse files
committed
feat(settings): add version and isDevelopMode fields to Settings model and GraphQL schema
- Introduced new fields `version` and `isDevelopMode` in the Settings model to provide application versioning and development mode status. - Updated GraphQL schema and resolvers to support the new fields, ensuring they are accessible via the Settings query. - Enhanced Swagger documentation to reflect the changes in the Settings API endpoint. - Added necessary validation and response handling for the new fields in the Settings service.
1 parent 6890584 commit a348e41

15 files changed

Lines changed: 692 additions & 16 deletions

File tree

backend/pkg/graph/generated.go

Lines changed: 118 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/pkg/graph/model/models_gen.go

Lines changed: 6 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/pkg/graph/schema.graphqls

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,9 @@ enum VectorStoreAction {
158158
type Settings {
159159
debug: Boolean!
160160
askUser: Boolean!
161+
version: String!
161162
dockerInside: Boolean!
163+
isDevelopMode: Boolean!
162164
assistantUseAgents: Boolean!
163165
}
164166

backend/pkg/graph/schema.resolvers.go

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/pkg/server/docs/docs.go

Lines changed: 134 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5155,7 +5155,10 @@ const docTemplate = `{
51555155
"type": "object",
51565156
"properties": {
51575157
"data": {
5158-
"$ref": "#/definitions/models.ProviderInfo"
5158+
"type": "array",
5159+
"items": {
5160+
"$ref": "#/definitions/models.ProviderInfo"
5161+
}
51595162
}
51605163
}
51615164
}
@@ -6095,6 +6098,48 @@ const docTemplate = `{
60956098
}
60966099
}
60976100
},
6101+
"/settings/": {
6102+
"get": {
6103+
"security": [
6104+
{
6105+
"BearerAuth": []
6106+
}
6107+
],
6108+
"produces": [
6109+
"application/json"
6110+
],
6111+
"tags": [
6112+
"Settings"
6113+
],
6114+
"summary": "Retrieve settings",
6115+
"responses": {
6116+
"200": {
6117+
"description": "settings received successful",
6118+
"schema": {
6119+
"allOf": [
6120+
{
6121+
"$ref": "#/definitions/SuccessResponse"
6122+
},
6123+
{
6124+
"type": "object",
6125+
"properties": {
6126+
"data": {
6127+
"$ref": "#/definitions/models.Settings"
6128+
}
6129+
}
6130+
}
6131+
]
6132+
}
6133+
},
6134+
"403": {
6135+
"description": "getting settings not permitted",
6136+
"schema": {
6137+
"$ref": "#/definitions/ErrorResponse"
6138+
}
6139+
}
6140+
}
6141+
}
6142+
},
60986143
"/termlogs/": {
60996144
"get": {
61006145
"security": [
@@ -8469,6 +8514,53 @@ const docTemplate = `{
84698514
}
84708515
}
84718516
},
8517+
"models.ModelInfo": {
8518+
"type": "object",
8519+
"required": [
8520+
"agent_types",
8521+
"name"
8522+
],
8523+
"properties": {
8524+
"agent_types": {
8525+
"type": "array",
8526+
"items": {
8527+
"type": "string"
8528+
}
8529+
},
8530+
"name": {
8531+
"type": "string",
8532+
"example": "gpt-4o"
8533+
},
8534+
"price_info": {
8535+
"$ref": "#/definitions/models.ModelPriceInfo"
8536+
}
8537+
}
8538+
},
8539+
"models.ModelPriceInfo": {
8540+
"type": "object",
8541+
"properties": {
8542+
"cache_read": {
8543+
"type": "number",
8544+
"minimum": 0,
8545+
"example": 0.1
8546+
},
8547+
"cache_write": {
8548+
"type": "number",
8549+
"minimum": 0,
8550+
"example": 0.3
8551+
},
8552+
"input": {
8553+
"type": "number",
8554+
"minimum": 0,
8555+
"example": 1.1
8556+
},
8557+
"output": {
8558+
"type": "number",
8559+
"minimum": 0,
8560+
"example": 3
8561+
}
8562+
}
8563+
},
84728564
"models.ModelUsageStats": {
84738565
"type": "object",
84748566
"required": [
@@ -8744,10 +8836,22 @@ const docTemplate = `{
87448836
"models.ProviderInfo": {
87458837
"type": "object",
87468838
"required": [
8839+
"default_model",
8840+
"models",
87478841
"name",
87488842
"type"
87498843
],
87508844
"properties": {
8845+
"default_model": {
8846+
"type": "string",
8847+
"example": "gpt-4o"
8848+
},
8849+
"models": {
8850+
"type": "array",
8851+
"items": {
8852+
"$ref": "#/definitions/models.ModelInfo"
8853+
}
8854+
},
87518855
"name": {
87528856
"type": "string",
87538857
"example": "my openai provider"
@@ -8956,6 +9060,35 @@ const docTemplate = `{
89569060
}
89579061
}
89589062
},
9063+
"models.Settings": {
9064+
"type": "object",
9065+
"properties": {
9066+
"ask_user": {
9067+
"type": "boolean",
9068+
"example": false
9069+
},
9070+
"assistant_use_agents": {
9071+
"type": "boolean",
9072+
"example": false
9073+
},
9074+
"debug": {
9075+
"type": "boolean",
9076+
"example": false
9077+
},
9078+
"docker_inside": {
9079+
"type": "boolean",
9080+
"example": false
9081+
},
9082+
"is_develop_mode": {
9083+
"type": "boolean",
9084+
"example": false
9085+
},
9086+
"version": {
9087+
"type": "string",
9088+
"example": "v1.0.0"
9089+
}
9090+
}
9091+
},
89599092
"models.Subtask": {
89609093
"type": "object",
89619094
"required": [

0 commit comments

Comments
 (0)