diff options
author | Nate Sesti <33237525+sestinj@users.noreply.github.com> | 2023-08-22 13:12:58 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-22 13:12:58 -0700 |
commit | 5eec484dc79bb56dabf9a56af0dbe6bc95227d39 (patch) | |
tree | 07edc01475cfe0ba69372f537d36aa3294680b7d /schema | |
parent | b6435e1e479edb1e4f049098dc8522e944317f2a (diff) | |
download | sncontinue-5eec484dc79bb56dabf9a56af0dbe6bc95227d39.tar.gz sncontinue-5eec484dc79bb56dabf9a56af0dbe6bc95227d39.tar.bz2 sncontinue-5eec484dc79bb56dabf9a56af0dbe6bc95227d39.zip |
Config UI (#399)
* feat: :sparkles: UI for config!
* feat: :sparkles: (latent) edit models in settings
Diffstat (limited to 'schema')
-rw-r--r-- | schema/json/ContinueConfig.json | 412 | ||||
-rw-r--r-- | schema/json/FullState.json | 24 | ||||
-rw-r--r-- | schema/json/LLM.json | 30 | ||||
-rw-r--r-- | schema/json/Models.json | 66 |
4 files changed, 531 insertions, 1 deletions
diff --git a/schema/json/ContinueConfig.json b/schema/json/ContinueConfig.json new file mode 100644 index 00000000..0e82bf67 --- /dev/null +++ b/schema/json/ContinueConfig.json @@ -0,0 +1,412 @@ +{ + "title": "ContinueConfig", + "$ref": "#/definitions/src__continuedev__core__config__ContinueConfig", + "definitions": { + "FunctionCall": { + "title": "FunctionCall", + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "arguments": { + "title": "Arguments", + "type": "string" + } + }, + "required": [ + "name", + "arguments" + ] + }, + "ChatMessage": { + "title": "ChatMessage", + "type": "object", + "properties": { + "role": { + "title": "Role", + "enum": [ + "assistant", + "user", + "system", + "function" + ], + "type": "string" + }, + "content": { + "title": "Content", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "summary": { + "title": "Summary", + "type": "string" + }, + "function_call": { + "$ref": "#/definitions/FunctionCall" + } + }, + "required": [ + "role", + "summary" + ] + }, + "Step": { + "title": "Step", + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "hide": { + "title": "Hide", + "default": false, + "type": "boolean" + }, + "description": { + "title": "Description", + "type": "string" + }, + "system_message": { + "title": "System Message", + "type": "string" + }, + "chat_context": { + "title": "Chat Context", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/ChatMessage" + } + }, + "manage_own_chat_context": { + "title": "Manage Own Chat Context", + "default": false, + "type": "boolean" + } + } + }, + "LLM": { + "title": "LLM", + "type": "object", + "properties": { + "requires_api_key": { + "title": "Requires Api Key", + "type": "string" + }, + "requires_unique_id": { + "title": "Requires Unique Id", + "default": false, + "type": "boolean" + }, + "requires_write_log": { + "title": "Requires Write Log", + "default": false, + "type": "boolean" + }, + "system_message": { + "title": "System Message", + "type": "string" + } + } + }, + "ContinueSDK": { + "title": "ContinueSDK", + "type": "object", + "properties": {} + }, + "Models": { + "title": "Models", + "description": "Main class that holds the current model configuration", + "type": "object", + "properties": { + "default": { + "$ref": "#/definitions/LLM" + }, + "small": { + "$ref": "#/definitions/LLM" + }, + "medium": { + "$ref": "#/definitions/LLM" + }, + "large": { + "$ref": "#/definitions/LLM" + }, + "edit": { + "$ref": "#/definitions/LLM" + }, + "chat": { + "$ref": "#/definitions/LLM" + }, + "sdk": { + "$ref": "#/definitions/ContinueSDK" + } + }, + "required": [ + "default" + ] + }, + "CustomCommand": { + "title": "CustomCommand", + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "prompt": { + "title": "Prompt", + "type": "string" + }, + "description": { + "title": "Description", + "type": "string" + } + }, + "required": [ + "name", + "prompt", + "description" + ] + }, + "SlashCommand": { + "title": "SlashCommand", + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "description": { + "title": "Description", + "type": "string" + }, + "step": { + "title": "Step" + }, + "params": { + "title": "Params", + "default": {}, + "type": "object" + } + }, + "required": [ + "name", + "description", + "step" + ] + }, + "Policy": { + "title": "Policy", + "description": "A rule that determines which step to take next", + "type": "object", + "properties": {} + }, + "ContextItemId": { + "title": "ContextItemId", + "description": "A ContextItemId is a unique identifier for a ContextItem.", + "type": "object", + "properties": { + "provider_title": { + "title": "Provider Title", + "type": "string" + }, + "item_id": { + "title": "Item Id", + "type": "string" + } + }, + "required": [ + "provider_title", + "item_id" + ] + }, + "ContextItemDescription": { + "title": "ContextItemDescription", + "description": "A ContextItemDescription is a description of a ContextItem that is displayed to the user when they type '@'.\n\nThe id can be used to retrieve the ContextItem from the ContextManager.", + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "description": { + "title": "Description", + "type": "string" + }, + "id": { + "$ref": "#/definitions/ContextItemId" + } + }, + "required": [ + "name", + "description", + "id" + ] + }, + "ContextItem": { + "title": "ContextItem", + "description": "A ContextItem is a single item that is stored in the ContextManager.", + "type": "object", + "properties": { + "description": { + "$ref": "#/definitions/ContextItemDescription" + }, + "content": { + "title": "Content", + "type": "string" + }, + "editing": { + "title": "Editing", + "default": false, + "type": "boolean" + }, + "editable": { + "title": "Editable", + "default": false, + "type": "boolean" + } + }, + "required": [ + "description", + "content" + ] + }, + "ContextProvider": { + "title": "ContextProvider", + "description": "The ContextProvider class is a plugin that lets you provide new information to the LLM by typing '@'.\nWhen you type '@', the context provider will be asked to populate a list of options.\nThese options will be updated on each keystroke.\nWhen you hit enter on an option, the context provider will add that item to the autopilot's list of context (which is all stored in the ContextManager object).", + "type": "object", + "properties": { + "title": { + "title": "Title", + "type": "string" + }, + "selected_items": { + "title": "Selected Items", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/ContextItem" + } + } + }, + "required": [ + "title" + ] + }, + "src__continuedev__core__config__ContinueConfig": { + "title": "ContinueConfig", + "description": "A pydantic class for the continue config file.", + "type": "object", + "properties": { + "steps_on_startup": { + "title": "Steps On Startup", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Step" + } + }, + "disallowed_steps": { + "title": "Disallowed Steps", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "allow_anonymous_telemetry": { + "title": "Allow Anonymous Telemetry", + "default": true, + "type": "boolean" + }, + "models": { + "title": "Models", + "default": { + "default": { + "requires_api_key": null, + "requires_unique_id": true, + "requires_write_log": true, + "system_message": null, + "model": "gpt-4", + "api_key": null, + "llm": null, + "name": null, + "class_name": "MaybeProxyOpenAI" + }, + "small": null, + "medium": { + "requires_api_key": null, + "requires_unique_id": true, + "requires_write_log": true, + "system_message": null, + "model": "gpt-3.5-turbo", + "api_key": null, + "llm": null, + "name": null, + "class_name": "MaybeProxyOpenAI" + }, + "large": null, + "edit": null, + "chat": null + }, + "allOf": [ + { + "$ref": "#/definitions/Models" + } + ] + }, + "temperature": { + "title": "Temperature", + "default": 0.5, + "type": "number" + }, + "custom_commands": { + "title": "Custom Commands", + "default": [ + { + "name": "test", + "prompt": "Write a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.", + "description": "This is an example custom command. Use /config to edit it and create more" + } + ], + "type": "array", + "items": { + "$ref": "#/definitions/CustomCommand" + } + }, + "slash_commands": { + "title": "Slash Commands", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/SlashCommand" + } + }, + "on_traceback": { + "$ref": "#/definitions/Step" + }, + "system_message": { + "title": "System Message", + "type": "string" + }, + "policy_override": { + "$ref": "#/definitions/Policy" + }, + "context_providers": { + "title": "Context Providers", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/ContextProvider" + } + } + } + } + } +}
\ No newline at end of file diff --git a/schema/json/FullState.json b/schema/json/FullState.json index 99d5128b..9f75930f 100644 --- a/schema/json/FullState.json +++ b/schema/json/FullState.json @@ -268,6 +268,24 @@ "date_created" ] }, + "ContinueConfig": { + "title": "ContinueConfig", + "type": "object", + "properties": { + "system_message": { + "title": "System Message", + "type": "string" + }, + "temperature": { + "title": "Temperature", + "type": "number" + } + }, + "required": [ + "system_message", + "temperature" + ] + }, "src__continuedev__core__main__FullState": { "title": "FullState", "description": "A full state of the program, including the history", @@ -308,6 +326,9 @@ "session_info": { "$ref": "#/definitions/SessionInfo" }, + "config": { + "$ref": "#/definitions/ContinueConfig" + }, "saved_context_groups": { "title": "Saved Context Groups", "default": {}, @@ -326,7 +347,8 @@ "user_input_queue", "slash_commands", "adding_highlighted_code", - "selected_context_items" + "selected_context_items", + "config" ] } } diff --git a/schema/json/LLM.json b/schema/json/LLM.json new file mode 100644 index 00000000..57d78928 --- /dev/null +++ b/schema/json/LLM.json @@ -0,0 +1,30 @@ +{ + "title": "LLM", + "$ref": "#/definitions/src__continuedev__libs__llm__LLM", + "definitions": { + "src__continuedev__libs__llm__LLM": { + "title": "LLM", + "type": "object", + "properties": { + "requires_api_key": { + "title": "Requires Api Key", + "type": "string" + }, + "requires_unique_id": { + "title": "Requires Unique Id", + "default": false, + "type": "boolean" + }, + "requires_write_log": { + "title": "Requires Write Log", + "default": false, + "type": "boolean" + }, + "system_message": { + "title": "System Message", + "type": "string" + } + } + } + } +}
\ No newline at end of file diff --git a/schema/json/Models.json b/schema/json/Models.json new file mode 100644 index 00000000..0b3b9c21 --- /dev/null +++ b/schema/json/Models.json @@ -0,0 +1,66 @@ +{ + "title": "Models", + "$ref": "#/definitions/src__continuedev__core__models__Models", + "definitions": { + "LLM": { + "title": "LLM", + "type": "object", + "properties": { + "requires_api_key": { + "title": "Requires Api Key", + "type": "string" + }, + "requires_unique_id": { + "title": "Requires Unique Id", + "default": false, + "type": "boolean" + }, + "requires_write_log": { + "title": "Requires Write Log", + "default": false, + "type": "boolean" + }, + "system_message": { + "title": "System Message", + "type": "string" + } + } + }, + "ContinueSDK": { + "title": "ContinueSDK", + "type": "object", + "properties": {} + }, + "src__continuedev__core__models__Models": { + "title": "Models", + "description": "Main class that holds the current model configuration", + "type": "object", + "properties": { + "default": { + "$ref": "#/definitions/LLM" + }, + "small": { + "$ref": "#/definitions/LLM" + }, + "medium": { + "$ref": "#/definitions/LLM" + }, + "large": { + "$ref": "#/definitions/LLM" + }, + "edit": { + "$ref": "#/definitions/LLM" + }, + "chat": { + "$ref": "#/definitions/LLM" + }, + "sdk": { + "$ref": "#/definitions/ContinueSDK" + } + }, + "required": [ + "default" + ] + } + } +}
\ No newline at end of file |