summaryrefslogtreecommitdiff
path: root/makima/src/server/openapi.rs
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-11 05:52:14 +0000
committersoryu <soryu@soryu.co>2026-01-15 00:21:16 +0000
commit87044a747b47bd83249d61a45842c7f7b2eae56d (patch)
treeef2000ce79ffcc2723ef841acef5aa1deb1d5378 /makima/src/server/openapi.rs
parent077820c4167c168072d217a1b01df840463a12a8 (diff)
downloadsoryu-87044a747b47bd83249d61a45842c7f7b2eae56d.tar.gz
soryu-87044a747b47bd83249d61a45842c7f7b2eae56d.zip
Contract system
Diffstat (limited to 'makima/src/server/openapi.rs')
-rw-r--r--makima/src/server/openapi.rs52
1 files changed, 46 insertions, 6 deletions
diff --git a/makima/src/server/openapi.rs b/makima/src/server/openapi.rs
index 425c466..c4f0f19 100644
--- a/makima/src/server/openapi.rs
+++ b/makima/src/server/openapi.rs
@@ -3,19 +3,22 @@
use utoipa::OpenApi;
use crate::db::models::{
- BranchInfo, BranchListResponse, CreateFileRequest, CreateTaskRequest, Daemon,
- DaemonDirectoriesResponse, DaemonDirectory, DaemonListResponse, File, FileListResponse,
+ AddLocalRepositoryRequest, AddRemoteRepositoryRequest, BranchInfo, BranchListResponse,
+ ChangePhaseRequest, Contract, ContractChatHistoryResponse, ContractChatMessageRecord,
+ ContractEvent, ContractListResponse, ContractRepository, ContractSummary, ContractWithRelations,
+ CreateContractRequest, CreateFileRequest, CreateManagedRepositoryRequest, CreateTaskRequest,
+ Daemon, DaemonDirectoriesResponse, DaemonDirectory, DaemonListResponse, File, FileListResponse,
FileSummary, MergeCommitRequest, MergeCompleteCheckResponse, MergeResolveRequest,
MergeResultResponse, MergeSkipRequest, MergeStartRequest, MergeStatusResponse,
- MeshChatConversation, MeshChatHistoryResponse, MeshChatMessageRecord, SendMessageRequest,
- Task, TaskEventListResponse, TaskListResponse, TaskSummary, TaskWithSubtasks, TranscriptEntry,
- UpdateFileRequest, UpdateTaskRequest,
+ MeshChatConversation, MeshChatHistoryResponse, MeshChatMessageRecord, SendMessageRequest, Task,
+ TaskEventListResponse, TaskListResponse, TaskSummary, TaskWithSubtasks, TranscriptEntry,
+ UpdateContractRequest, UpdateFileRequest, UpdateTaskRequest,
};
use crate::server::auth::{
ApiKey, ApiKeyInfoResponse, CreateApiKeyRequest, CreateApiKeyResponse,
RefreshApiKeyRequest, RefreshApiKeyResponse, RevokeApiKeyResponse,
};
-use crate::server::handlers::{api_keys, files, listen, mesh, mesh_chat, mesh_merge, users};
+use crate::server::handlers::{api_keys, contract_chat, contracts, files, listen, mesh, mesh_chat, mesh_merge, users};
use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage, TranscriptMessage};
#[derive(OpenApi)]
@@ -33,6 +36,7 @@ use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage
files::create_file,
files::update_file,
files::delete_file,
+ files::sync_file_from_repo,
// Mesh endpoints
mesh::list_tasks,
mesh::get_task,
@@ -71,6 +75,25 @@ use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage
users::change_password_handler,
users::change_email_handler,
users::delete_account_handler,
+ // Contract endpoints
+ contracts::list_contracts,
+ contracts::get_contract,
+ contracts::create_contract,
+ contracts::update_contract,
+ contracts::delete_contract,
+ contracts::change_phase,
+ contracts::get_events,
+ contracts::add_remote_repository,
+ contracts::add_local_repository,
+ contracts::create_managed_repository,
+ contracts::delete_repository,
+ contracts::set_repository_primary,
+ contracts::add_task_to_contract,
+ contracts::remove_task_from_contract,
+ // Contract chat endpoints
+ contract_chat::contract_chat_handler,
+ contract_chat::get_contract_chat_history,
+ contract_chat::clear_contract_chat_history,
),
components(
schemas(
@@ -102,6 +125,9 @@ use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage
MeshChatConversation,
MeshChatMessageRecord,
MeshChatHistoryResponse,
+ // Contract chat schemas
+ ContractChatMessageRecord,
+ ContractChatHistoryResponse,
// Merge schemas
BranchInfo,
BranchListResponse,
@@ -127,12 +153,26 @@ use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage
users::ChangeEmailResponse,
users::DeleteAccountRequest,
users::DeleteAccountResponse,
+ // Contract schemas
+ Contract,
+ ContractSummary,
+ ContractListResponse,
+ ContractWithRelations,
+ ContractRepository,
+ ContractEvent,
+ CreateContractRequest,
+ UpdateContractRequest,
+ AddRemoteRepositoryRequest,
+ AddLocalRepositoryRequest,
+ CreateManagedRepositoryRequest,
+ ChangePhaseRequest,
)
),
tags(
(name = "Listen", description = "Speech-to-text streaming endpoints"),
(name = "Files", description = "Transcript file management"),
(name = "Mesh", description = "Task orchestration for Claude Code instances"),
+ (name = "Contracts", description = "Contract management with workflow phases"),
(name = "API Keys", description = "API key management for programmatic access"),
(name = "Users", description = "User account management"),
)