diff options
| author | soryu <soryu@soryu.co> | 2026-01-11 05:52:14 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-15 00:21:16 +0000 |
| commit | 87044a747b47bd83249d61a45842c7f7b2eae56d (patch) | |
| tree | ef2000ce79ffcc2723ef841acef5aa1deb1d5378 /makima/src/server/openapi.rs | |
| parent | 077820c4167c168072d217a1b01df840463a12a8 (diff) | |
| download | soryu-87044a747b47bd83249d61a45842c7f7b2eae56d.tar.gz soryu-87044a747b47bd83249d61a45842c7f7b2eae56d.zip | |
Contract system
Diffstat (limited to 'makima/src/server/openapi.rs')
| -rw-r--r-- | makima/src/server/openapi.rs | 52 |
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"), ) |
