-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.schema.json
More file actions
60 lines (60 loc) · 1.75 KB
/
config.schema.json
File metadata and controls
60 lines (60 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "FlexGate AI Configuration",
"description": "External configuration file for AI provider settings",
"type": "object",
"properties": {
"ai": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": ["claude", "gemini", "openai", "groq", "demo"],
"description": "AI provider to use",
"default": "gemini"
},
"apiKey": {
"type": "string",
"description": "API key for the selected provider (kept secure, never exposed)",
"minLength": 10
},
"model": {
"type": "string",
"description": "Model ID to use for analysis",
"examples": ["gemini-1.5-flash", "claude-3-5-sonnet-20241022", "gpt-4o-mini"]
},
"maxTokens": {
"type": "integer",
"description": "Maximum tokens for AI response",
"default": 2000,
"minimum": 100,
"maximum": 10000
},
"temperature": {
"type": "number",
"description": "Temperature for AI generation (0 = deterministic, 1 = creative)",
"default": 0,
"minimum": 0,
"maximum": 1
}
},
"required": ["provider"]
},
"security": {
"type": "object",
"properties": {
"encryptionKey": {
"type": "string",
"description": "32-byte encryption key for securing API keys at rest",
"minLength": 32
},
"allowApiKeyEdit": {
"type": "boolean",
"description": "Allow editing API keys via UI (false = write-once, delete-only)",
"default": false
}
}
}
},
"required": ["ai"]
}