mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
1398 lines
35 KiB
YAML
1398 lines
35 KiB
YAML
definitions:
|
|
chat.ChatRequest:
|
|
properties:
|
|
current_platform:
|
|
type: string
|
|
language:
|
|
type: string
|
|
locale:
|
|
type: string
|
|
max_context_load_time:
|
|
type: integer
|
|
max_steps:
|
|
type: integer
|
|
messages:
|
|
items:
|
|
$ref: '#/definitions/chat.GatewayMessage'
|
|
type: array
|
|
model:
|
|
type: string
|
|
platforms:
|
|
items:
|
|
type: string
|
|
type: array
|
|
provider:
|
|
type: string
|
|
query:
|
|
type: string
|
|
type: object
|
|
chat.ChatResponse:
|
|
properties:
|
|
messages:
|
|
items:
|
|
$ref: '#/definitions/chat.GatewayMessage'
|
|
type: array
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
type: object
|
|
chat.GatewayMessage:
|
|
additionalProperties: true
|
|
type: object
|
|
handlers.CreateContainerRequest:
|
|
properties:
|
|
container_id:
|
|
type: string
|
|
image:
|
|
type: string
|
|
snapshotter:
|
|
type: string
|
|
type: object
|
|
handlers.CreateContainerResponse:
|
|
properties:
|
|
container_id:
|
|
type: string
|
|
image:
|
|
type: string
|
|
snapshotter:
|
|
type: string
|
|
started:
|
|
type: boolean
|
|
type: object
|
|
handlers.CreateSnapshotRequest:
|
|
properties:
|
|
container_id:
|
|
type: string
|
|
snapshot_name:
|
|
type: string
|
|
type: object
|
|
handlers.CreateSnapshotResponse:
|
|
properties:
|
|
container_id:
|
|
type: string
|
|
snapshot_name:
|
|
type: string
|
|
snapshotter:
|
|
type: string
|
|
type: object
|
|
handlers.EmbeddingsInput:
|
|
properties:
|
|
image_url:
|
|
type: string
|
|
text:
|
|
type: string
|
|
video_url:
|
|
type: string
|
|
type: object
|
|
handlers.EmbeddingsRequest:
|
|
properties:
|
|
dimensions:
|
|
type: integer
|
|
input:
|
|
$ref: '#/definitions/handlers.EmbeddingsInput'
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
type:
|
|
type: string
|
|
type: object
|
|
handlers.EmbeddingsResponse:
|
|
properties:
|
|
dimensions:
|
|
type: integer
|
|
embedding:
|
|
items:
|
|
type: number
|
|
type: array
|
|
message:
|
|
type: string
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
type:
|
|
type: string
|
|
usage:
|
|
$ref: '#/definitions/handlers.EmbeddingsUsage'
|
|
type: object
|
|
handlers.EmbeddingsUsage:
|
|
properties:
|
|
image_tokens:
|
|
type: integer
|
|
input_tokens:
|
|
type: integer
|
|
video_tokens:
|
|
type: integer
|
|
type: object
|
|
handlers.ErrorResponse:
|
|
properties:
|
|
message:
|
|
type: string
|
|
type: object
|
|
handlers.LoginRequest:
|
|
properties:
|
|
password:
|
|
type: string
|
|
username:
|
|
type: string
|
|
type: object
|
|
handlers.LoginResponse:
|
|
properties:
|
|
access_token:
|
|
type: string
|
|
expires_at:
|
|
type: string
|
|
token_type:
|
|
type: string
|
|
user_id:
|
|
type: string
|
|
username:
|
|
type: string
|
|
type: object
|
|
memory.AddRequest:
|
|
properties:
|
|
agent_id:
|
|
type: string
|
|
filters:
|
|
additionalProperties: true
|
|
type: object
|
|
infer:
|
|
type: boolean
|
|
message:
|
|
type: string
|
|
messages:
|
|
items:
|
|
$ref: '#/definitions/memory.Message'
|
|
type: array
|
|
metadata:
|
|
additionalProperties: true
|
|
type: object
|
|
run_id:
|
|
type: string
|
|
user_id:
|
|
type: string
|
|
type: object
|
|
memory.DeleteAllRequest:
|
|
properties:
|
|
agent_id:
|
|
type: string
|
|
run_id:
|
|
type: string
|
|
user_id:
|
|
type: string
|
|
type: object
|
|
memory.DeleteResponse:
|
|
properties:
|
|
message:
|
|
type: string
|
|
type: object
|
|
memory.EmbedInput:
|
|
properties:
|
|
image_url:
|
|
type: string
|
|
text:
|
|
type: string
|
|
video_url:
|
|
type: string
|
|
type: object
|
|
memory.EmbedUpsertRequest:
|
|
properties:
|
|
agent_id:
|
|
type: string
|
|
filters:
|
|
additionalProperties: true
|
|
type: object
|
|
input:
|
|
$ref: '#/definitions/memory.EmbedInput'
|
|
metadata:
|
|
additionalProperties: true
|
|
type: object
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
run_id:
|
|
type: string
|
|
source:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user_id:
|
|
type: string
|
|
type: object
|
|
memory.EmbedUpsertResponse:
|
|
properties:
|
|
dimensions:
|
|
type: integer
|
|
item:
|
|
$ref: '#/definitions/memory.MemoryItem'
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
type: object
|
|
memory.MemoryItem:
|
|
properties:
|
|
agentId:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
hash:
|
|
type: string
|
|
id:
|
|
type: string
|
|
memory:
|
|
type: string
|
|
metadata:
|
|
additionalProperties: true
|
|
type: object
|
|
runId:
|
|
type: string
|
|
score:
|
|
type: number
|
|
updatedAt:
|
|
type: string
|
|
userId:
|
|
type: string
|
|
type: object
|
|
memory.Message:
|
|
properties:
|
|
content:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type: object
|
|
memory.SearchRequest:
|
|
properties:
|
|
agent_id:
|
|
type: string
|
|
filters:
|
|
additionalProperties: true
|
|
type: object
|
|
limit:
|
|
type: integer
|
|
query:
|
|
type: string
|
|
run_id:
|
|
type: string
|
|
sources:
|
|
items:
|
|
type: string
|
|
type: array
|
|
user_id:
|
|
type: string
|
|
type: object
|
|
memory.SearchResponse:
|
|
properties:
|
|
relations:
|
|
items: {}
|
|
type: array
|
|
results:
|
|
items:
|
|
$ref: '#/definitions/memory.MemoryItem'
|
|
type: array
|
|
type: object
|
|
memory.UpdateRequest:
|
|
properties:
|
|
memory:
|
|
type: string
|
|
memory_id:
|
|
type: string
|
|
type: object
|
|
models.AddRequest:
|
|
properties:
|
|
dimensions:
|
|
type: integer
|
|
enable_as:
|
|
$ref: '#/definitions/models.EnableAs'
|
|
is_multimodal:
|
|
type: boolean
|
|
llm_provider_id:
|
|
type: string
|
|
model_id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type:
|
|
$ref: '#/definitions/models.ModelType'
|
|
type: object
|
|
models.AddResponse:
|
|
properties:
|
|
id:
|
|
type: string
|
|
model_id:
|
|
type: string
|
|
type: object
|
|
models.CountResponse:
|
|
properties:
|
|
count:
|
|
type: integer
|
|
type: object
|
|
models.EnableAs:
|
|
enum:
|
|
- chat
|
|
- memory
|
|
- embedding
|
|
type: string
|
|
x-enum-varnames:
|
|
- EnableAsChat
|
|
- EnableAsMemory
|
|
- EnableAsEmbedding
|
|
models.GetResponse:
|
|
properties:
|
|
dimensions:
|
|
type: integer
|
|
enable_as:
|
|
$ref: '#/definitions/models.EnableAs'
|
|
is_multimodal:
|
|
type: boolean
|
|
llm_provider_id:
|
|
type: string
|
|
model_id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type:
|
|
$ref: '#/definitions/models.ModelType'
|
|
type: object
|
|
models.ModelType:
|
|
enum:
|
|
- chat
|
|
- embedding
|
|
type: string
|
|
x-enum-varnames:
|
|
- ModelTypeChat
|
|
- ModelTypeEmbedding
|
|
models.UpdateRequest:
|
|
properties:
|
|
dimensions:
|
|
type: integer
|
|
enable_as:
|
|
$ref: '#/definitions/models.EnableAs'
|
|
is_multimodal:
|
|
type: boolean
|
|
llm_provider_id:
|
|
type: string
|
|
model_id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type:
|
|
$ref: '#/definitions/models.ModelType'
|
|
type: object
|
|
providers.ClientType:
|
|
enum:
|
|
- openai
|
|
- openai-compat
|
|
- anthropic
|
|
- google
|
|
- ollama
|
|
type: string
|
|
x-enum-varnames:
|
|
- ClientTypeOpenAI
|
|
- ClientTypeOpenAICompat
|
|
- ClientTypeAnthropic
|
|
- ClientTypeGoogle
|
|
- ClientTypeOllama
|
|
providers.CountResponse:
|
|
properties:
|
|
count:
|
|
type: integer
|
|
type: object
|
|
providers.CreateRequest:
|
|
properties:
|
|
api_key:
|
|
type: string
|
|
base_url:
|
|
type: string
|
|
client_type:
|
|
$ref: '#/definitions/providers.ClientType'
|
|
metadata:
|
|
additionalProperties: true
|
|
type: object
|
|
name:
|
|
type: string
|
|
required:
|
|
- base_url
|
|
- client_type
|
|
- name
|
|
type: object
|
|
providers.GetResponse:
|
|
properties:
|
|
api_key:
|
|
description: masked in response
|
|
type: string
|
|
base_url:
|
|
type: string
|
|
client_type:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
id:
|
|
type: string
|
|
metadata:
|
|
additionalProperties: true
|
|
type: object
|
|
name:
|
|
type: string
|
|
updated_at:
|
|
type: string
|
|
type: object
|
|
providers.UpdateRequest:
|
|
properties:
|
|
api_key:
|
|
type: string
|
|
base_url:
|
|
type: string
|
|
client_type:
|
|
$ref: '#/definitions/providers.ClientType'
|
|
metadata:
|
|
additionalProperties: true
|
|
type: object
|
|
name:
|
|
type: string
|
|
type: object
|
|
info:
|
|
contact: {}
|
|
paths:
|
|
/auth/login:
|
|
post:
|
|
description: Validate user credentials and issue a JWT
|
|
parameters:
|
|
- description: Login request
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/handlers.LoginRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/handlers.LoginResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"401":
|
|
description: Unauthorized
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Login
|
|
tags:
|
|
- auth
|
|
/chat:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Send a chat message and get a response. The system will automatically
|
|
select an appropriate chat model from the database.
|
|
parameters:
|
|
- description: Chat request
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/chat.ChatRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/chat.ChatResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Chat with AI
|
|
tags:
|
|
- chat
|
|
/chat/stream:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Send a chat message and get a streaming response. The system will
|
|
automatically select an appropriate chat model from the database.
|
|
parameters:
|
|
- description: Chat request
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/chat.ChatRequest'
|
|
produces:
|
|
- text/event-stream
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Stream chat with AI
|
|
tags:
|
|
- chat
|
|
/embeddings:
|
|
post:
|
|
description: Create text or multimodal embeddings
|
|
parameters:
|
|
- description: Embeddings request
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/handlers.EmbeddingsRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/handlers.EmbeddingsResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"501":
|
|
description: Not Implemented
|
|
schema:
|
|
$ref: '#/definitions/handlers.EmbeddingsResponse'
|
|
summary: Create embeddings
|
|
tags:
|
|
- embeddings
|
|
/mcp/containers:
|
|
post:
|
|
parameters:
|
|
- description: Create container payload
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/handlers.CreateContainerRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/handlers.CreateContainerResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Create and start MCP container
|
|
tags:
|
|
- containerd
|
|
/mcp/containers/{id}:
|
|
delete:
|
|
parameters:
|
|
- description: Container ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Delete MCP container
|
|
tags:
|
|
- containerd
|
|
/mcp/snapshots:
|
|
post:
|
|
parameters:
|
|
- description: Create snapshot payload
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/handlers.CreateSnapshotRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/handlers.CreateSnapshotResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Create container snapshot
|
|
tags:
|
|
- containerd
|
|
/memory/add:
|
|
post:
|
|
description: Add memory for a user via memory
|
|
parameters:
|
|
- description: Add request
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/memory.AddRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/memory.SearchResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Add memory
|
|
tags:
|
|
- memory
|
|
/memory/embed:
|
|
post:
|
|
description: Embed text or multimodal input and upsert into memory store
|
|
parameters:
|
|
- description: Embed upsert request
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/memory.EmbedUpsertRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/memory.EmbedUpsertResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Embed and upsert memory
|
|
tags:
|
|
- memory
|
|
/memory/memories:
|
|
delete:
|
|
description: Delete all memories for a user via memory
|
|
parameters:
|
|
- description: Delete all request
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/memory.DeleteAllRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/memory.DeleteResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Delete memories
|
|
tags:
|
|
- memory
|
|
get:
|
|
description: List memories for a user via memory
|
|
parameters:
|
|
- description: User ID
|
|
in: query
|
|
name: user_id
|
|
type: string
|
|
- description: Agent ID
|
|
in: query
|
|
name: agent_id
|
|
type: string
|
|
- description: Run ID
|
|
in: query
|
|
name: run_id
|
|
type: string
|
|
- description: Limit
|
|
in: query
|
|
name: limit
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/memory.SearchResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: List memories
|
|
tags:
|
|
- memory
|
|
/memory/memories/{memoryId}:
|
|
delete:
|
|
description: Delete a memory by ID via memory
|
|
parameters:
|
|
- description: Memory ID
|
|
in: path
|
|
name: memoryId
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/memory.DeleteResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Delete memory
|
|
tags:
|
|
- memory
|
|
get:
|
|
description: Get a memory by ID via memory
|
|
parameters:
|
|
- description: Memory ID
|
|
in: path
|
|
name: memoryId
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/memory.MemoryItem'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Get memory
|
|
tags:
|
|
- memory
|
|
/memory/search:
|
|
post:
|
|
description: Search memories for a user via memory
|
|
parameters:
|
|
- description: Search request
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/memory.SearchRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/memory.SearchResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Search memories
|
|
tags:
|
|
- memory
|
|
/memory/update:
|
|
post:
|
|
description: Update a memory by ID via memory
|
|
parameters:
|
|
- description: Update request
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/memory.UpdateRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/memory.MemoryItem'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Update memory
|
|
tags:
|
|
- memory
|
|
/models:
|
|
get:
|
|
description: Get a list of all configured models, optionally filtered by type
|
|
or client type
|
|
parameters:
|
|
- description: Model type (chat, embedding)
|
|
in: query
|
|
name: type
|
|
type: string
|
|
- description: Client type (openai, anthropic, google)
|
|
in: query
|
|
name: client_type
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/models.GetResponse'
|
|
type: array
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: List all models
|
|
tags:
|
|
- models
|
|
post:
|
|
description: Create a new model configuration
|
|
parameters:
|
|
- description: Model configuration
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/models.AddRequest'
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/models.AddResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Create a new model
|
|
tags:
|
|
- models
|
|
/models/{id}:
|
|
delete:
|
|
description: Delete a model configuration by its internal UUID
|
|
parameters:
|
|
- description: Model internal ID (UUID)
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Delete model by internal ID
|
|
tags:
|
|
- models
|
|
get:
|
|
description: Get a model configuration by its internal UUID
|
|
parameters:
|
|
- description: Model internal ID (UUID)
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/models.GetResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Get model by internal ID
|
|
tags:
|
|
- models
|
|
put:
|
|
description: Update a model configuration by its internal UUID
|
|
parameters:
|
|
- description: Model internal ID (UUID)
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Updated model configuration
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/models.UpdateRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/models.GetResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Update model by internal ID
|
|
tags:
|
|
- models
|
|
/models/count:
|
|
get:
|
|
description: Get the total count of models, optionally filtered by type
|
|
parameters:
|
|
- description: Model type (chat, embedding)
|
|
in: query
|
|
name: type
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/models.CountResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Get model count
|
|
tags:
|
|
- models
|
|
/models/enable-as/{enableAs}:
|
|
get:
|
|
description: |-
|
|
Get the model that is enabled for a specific purpose (chat, memory, embedding)
|
|
Get the default model configured for a specific purpose (chat, memory, or embedding)
|
|
parameters:
|
|
- description: Enable as value (chat, memory, embedding)
|
|
in: path
|
|
name: enableAs
|
|
required: true
|
|
type: string
|
|
- description: Enable as value (chat, memory, embedding)
|
|
in: path
|
|
name: enableAs
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/models.GetResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Get default model by enable_as
|
|
tags:
|
|
- models
|
|
- models
|
|
/models/model/{modelId}:
|
|
delete:
|
|
description: Delete a model configuration by its model_id field (e.g., gpt-4)
|
|
parameters:
|
|
- description: Model ID (e.g., gpt-4)
|
|
in: path
|
|
name: modelId
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Delete model by model ID
|
|
tags:
|
|
- models
|
|
get:
|
|
description: Get a model configuration by its model_id field (e.g., gpt-4)
|
|
parameters:
|
|
- description: Model ID (e.g., gpt-4)
|
|
in: path
|
|
name: modelId
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/models.GetResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Get model by model ID
|
|
tags:
|
|
- models
|
|
put:
|
|
description: Update a model configuration by its model_id field (e.g., gpt-4)
|
|
parameters:
|
|
- description: Model ID (e.g., gpt-4)
|
|
in: path
|
|
name: modelId
|
|
required: true
|
|
type: string
|
|
- description: Updated model configuration
|
|
in: body
|
|
name: payload
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/models.UpdateRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/models.GetResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Update model by model ID
|
|
tags:
|
|
- models
|
|
/providers:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Get a list of all configured LLM providers, optionally filtered
|
|
by client type
|
|
parameters:
|
|
- description: Client type filter (openai, anthropic, google, ollama)
|
|
in: query
|
|
name: client_type
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/providers.GetResponse'
|
|
type: array
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: List all LLM providers
|
|
tags:
|
|
- providers
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new LLM provider configuration
|
|
parameters:
|
|
- description: Provider configuration
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/providers.CreateRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/providers.GetResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Create a new LLM provider
|
|
tags:
|
|
- providers
|
|
/providers/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a provider configuration
|
|
parameters:
|
|
- description: Provider ID (UUID)
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Delete provider
|
|
tags:
|
|
- providers
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Get a provider configuration by its ID
|
|
parameters:
|
|
- description: Provider ID (UUID)
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/providers.GetResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Get provider by ID
|
|
tags:
|
|
- providers
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing provider configuration
|
|
parameters:
|
|
- description: Provider ID (UUID)
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Updated provider configuration
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/providers.UpdateRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/providers.GetResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Update provider
|
|
tags:
|
|
- providers
|
|
/providers/count:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Get the total count of providers, optionally filtered by client
|
|
type
|
|
parameters:
|
|
- description: Client type filter (openai, anthropic, google, ollama)
|
|
in: query
|
|
name: client_type
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/providers.CountResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Count providers
|
|
tags:
|
|
- providers
|
|
/providers/name/{name}:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Get a provider configuration by its name
|
|
parameters:
|
|
- description: Provider name
|
|
in: path
|
|
name: name
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/providers.GetResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/handlers.ErrorResponse'
|
|
summary: Get provider by name
|
|
tags:
|
|
- providers
|
|
swagger: "2.0"
|