2023-06-07 18:17:00 +00:00
{
"openapi" : "3.0.3" ,
"info" : {
"title" : "Tabby Server" ,
"description" : "\n[](https://github.com/TabbyML/tabby)\n\nOpenAPI documentation for [tabby](https://github.com/TabbyML/tabby), a self-hosted AI coding assistant." ,
"license" : {
"name" : "Apache 2.0" ,
"url" : "https://github.com/TabbyML/tabby/blob/main/LICENSE"
} ,
"version" : "0.1.0"
} ,
"servers" : [
{
2023-06-24 01:55:23 +00:00
"url" : "https://playground.app.tabbyml.com" ,
2023-06-13 20:13:03 +00:00
"description" : "Playground server"
2023-06-07 18:17:00 +00:00
} ,
{
"url" : "http://localhost:8080" ,
"description" : "Local server"
}
] ,
"paths" : {
"/v1/completions" : {
"post" : {
"tags" : [
"v1"
] ,
"operationId" : "completion" ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/CompletionRequest"
}
}
} ,
"required" : true
} ,
"responses" : {
"200" : {
"description" : "Success" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/CompletionResponse"
}
}
}
} ,
"400" : {
"description" : "Bad Request"
}
}
}
} ,
"/v1/events" : {
"post" : {
"tags" : [
"v1"
] ,
"operationId" : "event" ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/LogEventRequest"
}
}
} ,
"required" : true
} ,
"responses" : {
"200" : {
"description" : "Success"
} ,
"400" : {
"description" : "Bad Request"
}
}
}
2023-06-11 19:28:23 +00:00
} ,
"/v1/health" : {
"post" : {
"tags" : [
"v1"
] ,
"operationId" : "health" ,
"responses" : {
"200" : {
2023-06-13 20:13:03 +00:00
"description" : "Success" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/HealthState"
}
}
}
2023-06-11 19:28:23 +00:00
}
}
}
2023-06-07 18:17:00 +00:00
}
} ,
"components" : {
"schemas" : {
"Choice" : {
"type" : "object" ,
"required" : [
"index" ,
"text"
] ,
"properties" : {
"index" : {
"type" : "integer" ,
"format" : "int32" ,
2023-06-16 20:49:45 +00:00
"minimum" : 0
2023-06-07 18:17:00 +00:00
} ,
"text" : {
"type" : "string"
}
}
} ,
"CompletionRequest" : {
"type" : "object" ,
"properties" : {
"prompt" : {
"type" : "string" ,
"example" : "def fib(n):" ,
"nullable" : true
} ,
"language" : {
"type" : "string" ,
"description" : "Language identifier, full list is maintained at\nhttps://code.visualstudio.com/docs/languages/identifiers" ,
"example" : "python" ,
"nullable" : true
} ,
"segments" : {
"allOf" : [
{
"$ref" : "#/components/schemas/Segments"
}
] ,
"nullable" : true
2023-06-16 10:29:28 +00:00
} ,
"user" : {
"type" : "string" ,
"nullable" : true
}
} ,
"example" : {
"language" : "python" ,
"segments" : {
2023-06-16 20:49:45 +00:00
"prefix" : "def fib(n):\n " ,
2023-06-16 10:29:28 +00:00
"suffix" : "\n return fib(n - 1) + fib(n - 2)"
2023-06-07 18:17:00 +00:00
}
}
} ,
"CompletionResponse" : {
"type" : "object" ,
"required" : [
"id" ,
"choices"
] ,
"properties" : {
"id" : {
"type" : "string"
} ,
"choices" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Choice"
}
}
}
} ,
2023-06-13 20:13:03 +00:00
"HealthState" : {
"type" : "object" ,
"required" : [
"model" ,
"device" ,
"compute_type"
] ,
"properties" : {
"model" : {
"type" : "string"
} ,
"device" : {
"type" : "string"
} ,
"compute_type" : {
"type" : "string"
}
}
} ,
2023-06-07 18:17:00 +00:00
"LogEventRequest" : {
"type" : "object" ,
"required" : [
"type" ,
"completion_id" ,
"choice_index"
] ,
"properties" : {
"type" : {
"type" : "string" ,
"description" : "Event type, should be `view` or `select`." ,
"example" : "view"
} ,
"completion_id" : {
"type" : "string"
} ,
"choice_index" : {
"type" : "integer" ,
"format" : "int32" ,
2023-06-16 20:49:45 +00:00
"minimum" : 0
2023-06-07 18:17:00 +00:00
}
}
} ,
"Segments" : {
"type" : "object" ,
"required" : [
"prefix"
] ,
"properties" : {
"prefix" : {
"type" : "string" ,
2023-06-16 10:29:28 +00:00
"description" : "Content that appears before the cursor in the editor window."
2023-06-07 18:17:00 +00:00
} ,
"suffix" : {
"type" : "string" ,
"description" : "Content that appears after the cursor in the editor window." ,
"nullable" : true
}
}
}
}
}
2023-06-16 20:49:45 +00:00
}