Files
cleveragents-core/docs/reference/contracts/stubs/req_res.py
T
freemo a6f3bd3841 feat(discovery): Add comprehensive data contracts documentation and validation framework
This commit adds JSON/YAML schemas, Python stubs, fixture examples, and comprehensive test coverage for data contracts across all modules (auth, AI models, contexts, plans, orgs, etc.). Implements automated validation through Behave and
2025-11-01 23:33:12 -04:00

468 lines
11 KiB
Python

"""Auto-generated Python stubs from Go contracts."""
from dataclasses import dataclass, field
from typing import Any, Dict, List, Optional
from datetime import datetime
from enum import Enum
class BuildMode(str, Enum):
"""Enum for BuildMode."""
BuildModeAuto = "BuildModeAuto"
BuildModeNone = "BuildModeNone"
class RespondMissingFileChoice(str, Enum):
"""Enum for RespondMissingFileChoice."""
RespondMissingFileChoiceLoad = "RespondMissingFileChoiceLoad"
RespondMissingFileChoiceSkip = "RespondMissingFileChoiceSkip"
RespondMissingFileChoiceOverwrite = "RespondMissingFileChoiceOverwrite"
BuildMode = str
RespondMissingFileChoice = str
FileMapInputs = map[string]string
LoadContextRequest = []*LoadContextParams
UpdateContextRequest = map[string]*UpdateContextParams
UpdateContextResponse = =
@dataclass
class CreateEmailVerificationRequest:
"""Data contract for CreateEmailVerificationRequest."""
email: str
userId: str
requireUser: bool
requireNoUser: bool
@dataclass
class CreateEmailVerificationResponse:
"""Data contract for CreateEmailVerificationResponse."""
hasAccount: bool
isLocalMode: bool
@dataclass
class VerifyEmailPinRequest:
"""Data contract for VerifyEmailPinRequest."""
email: str
pin: str
@dataclass
class SignInRequest:
"""Data contract for SignInRequest."""
email: str
pin: str
isSignInCode: bool
@dataclass
class UiSignInToken:
"""Data contract for UiSignInToken."""
pin: str
redirectTo: str
@dataclass
class CreateAccountRequest:
"""Data contract for CreateAccountRequest."""
email: str
pin: str
userName: str
@dataclass
class SessionResponse:
"""Data contract for SessionResponse."""
userId: str
token: str
email: str
userName: str
orgs: List[*Org] = field(default_factory=list)
isLocalMode: bool
@dataclass
class CreateOrgRequest:
"""Data contract for CreateOrgRequest."""
name: str
autoAddDomainUsers: bool
@dataclass
class ConvertTrialRequest:
"""Data contract for ConvertTrialRequest."""
email: str
pin: str
userName: str
orgName: str
orgAutoAddDomainUsers: bool
@dataclass
class CreateOrgResponse:
"""Data contract for CreateOrgResponse."""
id: str
@dataclass
class InviteRequest:
"""Data contract for InviteRequest."""
email: str
name: str
orgRoleId: str
@dataclass
class CreateProjectRequest:
"""Data contract for CreateProjectRequest."""
name: str
@dataclass
class CreateProjectResponse:
"""Data contract for CreateProjectResponse."""
id: str
@dataclass
class SetProjectPlanRequest:
"""Data contract for SetProjectPlanRequest."""
planId: str
@dataclass
class RenameProjectRequest:
"""Data contract for RenameProjectRequest."""
name: str
@dataclass
class CreatePlanRequest:
"""Data contract for CreatePlanRequest."""
name: str
@dataclass
class CreatePlanResponse:
"""Data contract for CreatePlanResponse."""
id: str
name: str
@dataclass
class GetCurrentBranchByPlanIdRequest:
"""Data contract for GetCurrentBranchByPlanIdRequest."""
currentBranchByPlanId: Dict[str, map[string]string] = field(default_factory=dict)
@dataclass
class ListPlansRunningResponse:
"""Data contract for ListPlansRunningResponse."""
branches: List[*Branch] = field(default_factory=list)
streamStartedAtByBranchId: Dict[str, Time] = field(default_factory=dict)
streamFinishedAtByBranchId: Dict[str, Time] = field(default_factory=dict)
streamIdByBranchId: Dict[str, map[string]string] = field(default_factory=dict)
plansById: Dict[str, map[string]*Plan] = field(default_factory=dict)
@dataclass
class TellPlanRequest:
"""Data contract for TellPlanRequest."""
prompt: str
buildMode: BuildMode
connectStream: bool
autoContinue: bool
isUserContinue: bool
isUserDebug: bool
isApplyDebug: bool
isChatOnly: bool
autoContext: bool
smartContext: bool
execEnabled: bool
osDetails: str
# deprecated
apiKeys: Dict[str, map[string]string] = field(default_factory=dict)
# deprecated
openAIOrgId: str
authVars: Dict[str, map[string]string] = field(default_factory=dict)
projectPaths: Dict[str, map[string]bool] = field(default_factory=dict)
isImplementationOfChat: bool
isGitRepo: bool
sessionId: str
@dataclass
class BuildPlanRequest:
"""Data contract for BuildPlanRequest."""
connectStream: bool
# deprecated
apiKeys: Dict[str, map[string]string] = field(default_factory=dict)
# deprecated
openAIOrgId: str
authVars: Dict[str, map[string]string] = field(default_factory=dict)
projectPaths: Dict[str, map[string]bool] = field(default_factory=dict)
sessionId: str
@dataclass
class RespondMissingFileRequest:
"""Data contract for RespondMissingFileRequest."""
choice: RespondMissingFileChoice
filePath: str
body: str
@dataclass
class LoadContextParams:
"""Data contract for LoadContextParams."""
contextType: ContextType
name: str
url: str
file_path: str
body: str
forceSkipIgnore: bool
imageDetail: ImageURLDetail
autoLoaded: bool
inputShas: Dict[str, map[string]string] = field(default_factory=dict)
inputTokens: Dict[str, map[string]int] = field(default_factory=dict)
inputSizes: Dict[str, map[string]int64] = field(default_factory=dict)
# For naming piped data
mapBodies: FileMapBodies
# deprecated
apiKeys: Dict[str, map[string]string] = field(default_factory=dict)
# deprecated
openAIBase: str
# deprecated
openAIOrgId: str
authVars: Dict[str, map[string]string] = field(default_factory=dict)
sessionId: str
@dataclass
class LoadContextResponse:
"""Data contract for LoadContextResponse."""
tokensAdded: int
totalTokens: int
maxTokensExceeded: bool
maxTokens: int
msg: str
@dataclass
class UpdateContextParams:
"""Data contract for UpdateContextParams."""
body: str
inputShas: Dict[str, map[string]string] = field(default_factory=dict)
inputTokens: Dict[str, map[string]int] = field(default_factory=dict)
inputSizes: Dict[str, map[string]int64] = field(default_factory=dict)
mapBodies: FileMapBodies
removedMapPaths: List[str] = field(default_factory=list)
@dataclass
class GetFileMapRequest:
"""Data contract for GetFileMapRequest."""
mapInputs: FileMapInputs
@dataclass
class GetFileMapResponse:
"""Data contract for GetFileMapResponse."""
mapBodies: FileMapBodies
@dataclass
class LoadCachedFileMapRequest:
"""Data contract for LoadCachedFileMapRequest."""
filePaths: List[str] = field(default_factory=list)
@dataclass
class LoadCachedFileMapResponse:
"""Data contract for LoadCachedFileMapResponse."""
loadRes: Optional[LoadContextResponse] = None
cachedByPath: Dict[str, map[string]bool] = field(default_factory=dict)
@dataclass
class GetContextBodyRequest:
"""Data contract for GetContextBodyRequest."""
contextId: str
@dataclass
class GetContextBodyResponse:
"""Data contract for GetContextBodyResponse."""
body: str
@dataclass
class DeleteContextRequest:
"""Data contract for DeleteContextRequest."""
ids: Dict[str, map[string]bool] = field(default_factory=dict)
@dataclass
class DeleteContextResponse:
"""Data contract for DeleteContextResponse."""
tokensRemoved: int
totalTokens: int
msg: str
@dataclass
class RejectFileRequest:
"""Data contract for RejectFileRequest."""
filePath: str
@dataclass
class RejectFilesRequest:
"""Data contract for RejectFilesRequest."""
paths: List[str] = field(default_factory=list)
@dataclass
class RewindPlanRequest:
"""Data contract for RewindPlanRequest."""
sha: str
@dataclass
class RewindPlanResponse:
"""Data contract for RewindPlanResponse."""
latestSha: str
latestCommit: str
@dataclass
class LogResponse:
"""Data contract for LogResponse."""
shas: List[str] = field(default_factory=list)
body: str
@dataclass
class CreateBranchRequest:
"""Data contract for CreateBranchRequest."""
name: str
@dataclass
class UpdateSettingsRequest:
"""Data contract for UpdateSettingsRequest."""
modelPackName: str
modelPack: Optional[ModelPack] = None
@dataclass
class UpdateSettingsResponse:
"""Data contract for UpdateSettingsResponse."""
msg: str
@dataclass
class UpdatePlanConfigRequest:
"""Data contract for UpdatePlanConfigRequest."""
config: Optional[PlanConfig] = None
@dataclass
class UpdateDefaultPlanConfigRequest:
"""Data contract for UpdateDefaultPlanConfigRequest."""
config: Optional[PlanConfig] = None
@dataclass
class GetPlanConfigResponse:
"""Data contract for GetPlanConfigResponse."""
config: Optional[PlanConfig] = None
@dataclass
class GetDefaultPlanConfigResponse:
"""Data contract for GetDefaultPlanConfigResponse."""
config: Optional[PlanConfig] = None
@dataclass
class ListUsersResponse:
"""Data contract for ListUsersResponse."""
users: List[*User] = field(default_factory=list)
orgUsersByUserId: Dict[str, map[string]*OrgUser] = field(default_factory=dict)
@dataclass
class ApplyPlanRequest:
"""Data contract for ApplyPlanRequest."""
# deprecated
apiKeys: Dict[str, map[string]string] = field(default_factory=dict)
# deprecated
openAIBase: str
# deprecated
openAIOrgId: str
authVars: Dict[str, map[string]string] = field(default_factory=dict)
sessionId: str
@dataclass
class RenamePlanRequest:
"""Data contract for RenamePlanRequest."""
name: str
@dataclass
class GetBuildStatusResponse:
"""Data contract for GetBuildStatusResponse."""
builtFiles: Dict[str, map[string]bool] = field(default_factory=dict)
isBuildingByPath: Dict[str, map[string]bool] = field(default_factory=dict)
@dataclass
class CreditsLogRequest:
"""Data contract for CreditsLogRequest."""
transactionType: CreditsTransactionType
planId: str
sessionId: str
dayStart: Optional[Time] = None
month: bool
@dataclass
class CreditsLogResponse:
"""Data contract for CreditsLogResponse."""
transactions: List[*CreditsTransaction] = field(default_factory=list)
numPages: int
numPagesMax: bool
monthStart: Time
planNamesById: Dict[str, map[string]string] = field(default_factory=dict)
@dataclass
class CreditsSummaryResponse:
"""Data contract for CreditsSummaryResponse."""
balance: Decimal
totalSpend: Decimal
monthStart: Time
byPlanId: Dict[str, Decimal] = field(default_factory=dict)
planNamesById: Dict[str, map[string]string] = field(default_factory=dict)
byModelName: Dict[str, Decimal] = field(default_factory=dict)
byPurpose: Dict[str, Decimal] = field(default_factory=dict)
cacheSavings: Decimal
@dataclass
class GetBalanceResponse:
"""Data contract for GetBalanceResponse."""
balance: Decimal