Coverage for / home / runner / work / bijux-cli / bijux-cli / src / bijux_cli / cli / commands / payloads.py: 100%
171 statements
« prev ^ index » next coverage.py v7.13.2, created at 2026-01-26 17:59 +0000
« prev ^ index » next coverage.py v7.13.2, created at 2026-01-26 17:59 +0000
1# SPDX-License-Identifier: Apache-2.0
2# Copyright © 2025 Bijan Mousavi
4"""Dataclasses for structured CLI command payloads."""
6from __future__ import annotations
8from dataclasses import dataclass
11@dataclass(frozen=True)
12class AuditPayload:
13 """Structured payload for audit command results."""
15 status: str
16 file: str | None = None
17 python: str | None = None
18 platform: str | None = None
21@dataclass(frozen=True)
22class DoctorPayload:
23 """Structured payload for doctor command results."""
25 status: str
26 summary: list[str]
27 python: str | None = None
28 platform: str | None = None
31@dataclass(frozen=True)
32class StatusPayload:
33 """Structured payload for status command results."""
35 status: str
36 python: str | None = None
37 platform: str | None = None
38 ts: float | None = None
41@dataclass(frozen=True)
42class SleepPayload:
43 """Structured payload for sleep command results."""
45 slept: float
46 python: str | None = None
47 platform: str | None = None
50@dataclass(frozen=True)
51class VersionPayload:
52 """Structured payload for version command results."""
54 version: str
55 python: str | None = None
56 platform: str | None = None
57 timestamp: float | None = None
60@dataclass(frozen=True)
61class MemorySummaryPayload:
62 """Structured payload for memory summary results."""
64 status: str
65 count: int | None
66 message: str
67 python: str | None = None
68 platform: str | None = None
71@dataclass(frozen=True)
72class MemoryItemPayload:
73 """Structured payload for memory item results."""
75 status: str
76 key: str
77 value: str
78 python: str | None = None
79 platform: str | None = None
82@dataclass(frozen=True)
83class MemoryDeletePayload:
84 """Structured payload for memory delete results."""
86 status: str
87 key: str
88 python: str | None = None
89 platform: str | None = None
92@dataclass(frozen=True)
93class MemoryListPayload:
94 """Structured payload for memory list results."""
96 status: str
97 keys: list[str]
98 count: int
99 python: str | None = None
100 platform: str | None = None
103@dataclass(frozen=True)
104class MemoryClearPayload:
105 """Structured payload for memory clear results."""
107 status: str
108 count: int
109 python: str | None = None
110 platform: str | None = None
113@dataclass(frozen=True)
114class HelpPayload:
115 """Structured payload for help output."""
117 help: str
118 python: str | None = None
119 platform: str | None = None
120 runtime_ms: int | None = None
123@dataclass(frozen=True)
124class DevDiPayload:
125 """Structured payload for dev DI output."""
127 factories: list[dict[str, str | None]]
128 services: list[dict[str, str | None]]
129 python: str | None = None
130 platform: str | None = None
133@dataclass(frozen=True)
134class DevPluginsPayload:
135 """Structured payload for dev plugin listing."""
137 plugins: list[dict[str, object]]
138 python: str | None = None
139 platform: str | None = None
142@dataclass(frozen=True)
143class DevStatusPayload:
144 """Structured payload for dev status."""
146 status: str
147 mode: str | None = None
148 python: str | None = None
149 platform: str | None = None
152@dataclass(frozen=True)
153class ConfigGetPayload:
154 """Structured payload for config get output."""
156 value: str
157 python: str | None = None
158 platform: str | None = None
161@dataclass(frozen=True)
162class ConfigSetPayload:
163 """Structured payload for config set output."""
165 status: str
166 key: str
167 value: str
168 python: str | None = None
169 platform: str | None = None
172@dataclass(frozen=True)
173class ConfigLoadPayload:
174 """Structured payload for config load output."""
176 status: str
177 file: str
178 python: str | None = None
179 platform: str | None = None
182@dataclass(frozen=True)
183class ConfigClearPayload:
184 """Structured payload for config clear output."""
186 status: str
187 python: str | None = None
188 platform: str | None = None
191@dataclass(frozen=True)
192class ConfigReloadPayload:
193 """Structured payload for config reload output."""
195 status: str
196 python: str | None = None
197 platform: str | None = None
200@dataclass(frozen=True)
201class ConfigUnsetPayload:
202 """Structured payload for config unset output."""
204 status: str
205 key: str
206 python: str | None = None
207 platform: str | None = None
210@dataclass(frozen=True)
211class ConfigListPayload:
212 """Structured payload for config list output."""
214 items: list[dict[str, str]]
215 python: str | None = None
216 platform: str | None = None
219@dataclass(frozen=True)
220class ConfigExportPayload:
221 """Structured payload for config export output."""
223 status: str
224 file: str
225 format: str | None = None
226 python: str | None = None
227 platform: str | None = None
230@dataclass(frozen=True)
231class ConfigDumpPayload:
232 """Structured payload for config dump output."""
234 entries: dict[str, object]
235 python: str | None = None
236 platform: str | None = None
239@dataclass(frozen=True)
240class DocsSpecPayload:
241 """Structured payload for docs spec output."""
243 version: str
244 commands: list[str]
245 python: str | None = None
246 platform: str | None = None
249@dataclass(frozen=True)
250class DocsWritePayload:
251 """Structured payload for docs write output."""
253 status: str
254 file: str
257@dataclass(frozen=True)
258class HistoryImportPayload:
259 """Structured payload for history import output."""
261 status: str
262 file: str
263 python: str | None = None
264 platform: str | None = None
267@dataclass(frozen=True)
268class HistoryExportPayload:
269 """Structured payload for history export output."""
271 status: str
272 file: str
273 python: str | None = None
274 platform: str | None = None
277@dataclass(frozen=True)
278class HistoryEntriesPayload:
279 """Structured payload for history list output."""
281 entries: list[dict[str, object]]
282 python: str | None = None
283 platform: str | None = None
286@dataclass(frozen=True)
287class HistoryClearPayload:
288 """Structured payload for history clear output."""
290 status: str
291 python: str | None = None
292 platform: str | None = None
295__all__ = [
296 "AuditPayload",
297 "DoctorPayload",
298 "StatusPayload",
299 "SleepPayload",
300 "VersionPayload",
301 "MemorySummaryPayload",
302 "MemoryItemPayload",
303 "MemoryDeletePayload",
304 "MemoryListPayload",
305 "MemoryClearPayload",
306 "HelpPayload",
307 "DevDiPayload",
308 "DevPluginsPayload",
309 "DevStatusPayload",
310 "ConfigGetPayload",
311 "ConfigSetPayload",
312 "ConfigLoadPayload",
313 "ConfigClearPayload",
314 "ConfigReloadPayload",
315 "ConfigUnsetPayload",
316 "ConfigListPayload",
317 "ConfigExportPayload",
318 "ConfigDumpPayload",
319 "DocsSpecPayload",
320 "DocsWritePayload",
321 "HistoryImportPayload",
322 "HistoryExportPayload",
323 "HistoryEntriesPayload",
324 "HistoryClearPayload",
325]