sondera-harness 0.6.0__py3-none-any.whl → 0.6.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
sondera/tui/app.tcss ADDED
@@ -0,0 +1,460 @@
1
+ Screen {
2
+ layout: grid;
3
+ grid-size: 1;
4
+ grid-rows: 30% 70%;
5
+ }
6
+
7
+ .panel {
8
+ height: 1fr;
9
+ padding: 1;
10
+ }
11
+
12
+ /* Summary panel - auto height */
13
+ .panel:first-child {
14
+ height: auto;
15
+ }
16
+
17
+ /* Summary widget styles */
18
+ Summary {
19
+ }
20
+
21
+ Summary .summary-section {
22
+ height: auto;
23
+ padding-bottom: 1;
24
+ }
25
+
26
+ Summary .section-label {
27
+ width: 16;
28
+ padding-top: 1;
29
+ }
30
+
31
+ Summary .stat {
32
+ width: 1fr;
33
+ height: auto;
34
+ }
35
+
36
+ Summary .stat-label {
37
+ color: $text-muted;
38
+ }
39
+
40
+ Summary Digits {
41
+ height: auto;
42
+ }
43
+
44
+ /* Trajectory status colors */
45
+ Summary .stat-running {
46
+ color: $primary;
47
+ }
48
+
49
+ Summary .stat-suspended {
50
+ color: $warning;
51
+ }
52
+
53
+ Summary .stat-completed {
54
+ color: $success;
55
+ }
56
+
57
+ Summary .stat-pending {
58
+ color: $text-muted;
59
+ }
60
+
61
+ Summary .stat-failed {
62
+ color: $error;
63
+ }
64
+
65
+ /* Policy colors */
66
+ Summary .stat-violations {
67
+ color: $error;
68
+ }
69
+
70
+ Summary .stat-approved {
71
+ color: $success;
72
+ }
73
+
74
+
75
+ .step {
76
+ border: solid $primary;
77
+ padding: 1;
78
+ }
79
+
80
+ .step-hovered {
81
+ border: solid $primary;
82
+ }
83
+
84
+ .step-highlight {
85
+ border: solid $primary;
86
+ }
87
+
88
+ .card {
89
+ width: 1fr;
90
+ height: 100%;
91
+ border: solid $primary;
92
+ padding: 1;
93
+ background: $surface;
94
+ }
95
+
96
+ /* Main tabs */
97
+ #main-tabs {
98
+ height: 100%;
99
+ }
100
+
101
+ #main-tabs ContentSwitcher {
102
+ height: 1fr;
103
+ }
104
+
105
+ #main-tabs TabPane {
106
+ height: 100%;
107
+ padding: 0;
108
+ }
109
+
110
+ RecentTrajectories {
111
+ height: 100%;
112
+ }
113
+
114
+ RecentTrajectories DataTable {
115
+ height: 100%;
116
+ }
117
+
118
+ RecentAdjudications {
119
+ height: 100%;
120
+ }
121
+
122
+ RecentAdjudications DataTable {
123
+ height: 100%;
124
+ }
125
+
126
+ AgentList {
127
+ height: 100%;
128
+ border: solid $primary;
129
+ background: $surface;
130
+ }
131
+
132
+ AgentList .header {
133
+ height: 3;
134
+ }
135
+
136
+ AgentList .header-column {
137
+ width: 1fr;
138
+ }
139
+
140
+ AgentItem {
141
+ border: solid $primary;
142
+ height: 10;
143
+ }
144
+
145
+ AgentItem .column {
146
+ width: 1fr;
147
+ }
148
+
149
+ Sparkline {
150
+ width: 100%;
151
+ margin: 2;
152
+ }
153
+
154
+ ListView {
155
+ & > ListItem {
156
+ &.-highlight {
157
+ background: $block-hover-background;
158
+ }
159
+ }
160
+ }
161
+
162
+ TrajectoryScreen {
163
+ layout: horizontal
164
+ }
165
+
166
+ #sidebar {
167
+ width: 0.33fr;
168
+ height: 100%;
169
+ }
170
+
171
+ /* AgentScreen styles */
172
+ AgentScreen {
173
+ layout:horizontal ;
174
+ }
175
+
176
+ #agent-screen-content {
177
+ height: 1fr;
178
+ padding: 1;
179
+ }
180
+
181
+ #agent-card {
182
+ width: 0.4fr;
183
+ height: 100%;
184
+ border: solid $primary;
185
+ padding: 1;
186
+ }
187
+
188
+ #agent-card-container {
189
+ height: 100%;
190
+ }
191
+
192
+ #agent-details-grid {
193
+ grid-size: 2;
194
+ grid-columns: auto 1fr;
195
+ grid-rows: auto;
196
+ height: auto;
197
+ padding: 1;
198
+ }
199
+
200
+ #agent-details-grid .label {
201
+ padding-right: 2;
202
+ color: $text-muted;
203
+ }
204
+
205
+ #agent-details-grid .value {
206
+ padding-bottom: 1;
207
+ }
208
+
209
+ #agent-details-grid .description,
210
+ #agent-details-grid .instruction {
211
+ max-height: 4;
212
+ }
213
+
214
+ .section-header {
215
+ padding: 1 0;
216
+ border-bottom: solid $primary;
217
+ margin-bottom: 1;
218
+ }
219
+
220
+ #tools-list {
221
+ height: 1fr;
222
+ border: solid $secondary;
223
+ }
224
+
225
+ #agent-tabs {
226
+ width: 0.6fr;
227
+ height: 100%;
228
+ border: solid $primary;
229
+ }
230
+
231
+ #agent-trajectories-table {
232
+ height: 100%;
233
+ }
234
+
235
+ /* ToolCard styles */
236
+ ToolCard {
237
+ border: solid $secondary;
238
+ height: auto;
239
+ padding: 1;
240
+ margin-bottom: 1;
241
+ }
242
+
243
+ .tool-card-content {
244
+ height: auto;
245
+ }
246
+
247
+ .tool-description {
248
+ padding-bottom: 1;
249
+ }
250
+
251
+ .tool-parameters {
252
+ color: $text-muted;
253
+ }
254
+
255
+ .tool-response {
256
+ color: $text-muted;
257
+ }
258
+
259
+ /* AdjudicationScreen styles */
260
+ AdjudicationScreen {
261
+ layout: vertical;
262
+ }
263
+
264
+ .adjudication-content {
265
+ height: 1fr;
266
+ padding: 1;
267
+ }
268
+
269
+ #adjudication-left-panel {
270
+ width: 0.6fr;
271
+ height: 100%;
272
+ }
273
+
274
+ #violations-summary {
275
+ height: 0.45fr;
276
+ border: solid $primary;
277
+ padding: 1;
278
+ }
279
+
280
+ #violations-list {
281
+ height: 0.55fr;
282
+ border: solid $primary;
283
+ padding: 1;
284
+ }
285
+
286
+ #violation-panel {
287
+ width: 0.4fr;
288
+ height: 100%;
289
+ border: solid $primary;
290
+ padding: 1;
291
+ }
292
+
293
+ /* ViolationsSummary styles */
294
+ ViolationsSummary .section-header {
295
+ padding: 1 0;
296
+ border-bottom: solid $primary;
297
+ margin-bottom: 1;
298
+ }
299
+
300
+ ViolationsSummary .summary-row {
301
+ height: auto;
302
+ padding: 1 0;
303
+ }
304
+
305
+ ViolationsSummary .summary-item {
306
+ width: 1fr;
307
+ height: auto;
308
+ padding: 0 1;
309
+ }
310
+
311
+ ViolationsSummary .summary-digit {
312
+ width: 100%;
313
+ }
314
+
315
+ ViolationsSummary .stat-violations {
316
+ color: $error;
317
+ }
318
+
319
+ ViolationsSummary .stat-escalated {
320
+ color: $warning;
321
+ }
322
+
323
+ ViolationsSummary .stat-allowed {
324
+ color: $success;
325
+ }
326
+
327
+ ViolationsSummary .digit-violations {
328
+ color: $error;
329
+ }
330
+
331
+ ViolationsSummary .digit-escalated {
332
+ color: $warning;
333
+ }
334
+
335
+ ViolationsSummary .digit-allowed {
336
+ color: $success;
337
+ }
338
+
339
+ ViolationsSummary .agent-label,
340
+ ViolationsSummary .policy-label {
341
+ color: $text-muted;
342
+ }
343
+
344
+ ViolationsSummary .empty-message {
345
+ color: $text-muted;
346
+ padding: 1;
347
+ }
348
+
349
+ /* ViolationPanel styles */
350
+ ViolationPanel .section-header {
351
+ padding: 1 0;
352
+ border-bottom: solid $primary;
353
+ margin-bottom: 1;
354
+ }
355
+
356
+ ViolationPanel .empty-message {
357
+ color: $text-muted;
358
+ padding: 2;
359
+ text-align: center;
360
+ }
361
+
362
+ ViolationPanel .decision-badge {
363
+ padding: 1;
364
+ text-align: center;
365
+ text-style: bold;
366
+ margin-bottom: 1;
367
+ }
368
+
369
+ ViolationPanel .decision-deny {
370
+ background: $error 30%;
371
+ color: $error;
372
+ }
373
+
374
+ ViolationPanel .decision-escalate {
375
+ background: $warning 30%;
376
+ color: $warning;
377
+ }
378
+
379
+ ViolationPanel .decision-allow {
380
+ background: $success 30%;
381
+ color: $success;
382
+ }
383
+
384
+ #violation-details-grid {
385
+ grid-size: 2;
386
+ grid-columns: auto 1fr;
387
+ grid-rows: auto;
388
+ height: auto;
389
+ padding: 1;
390
+ }
391
+
392
+ #violation-details-grid .label {
393
+ padding-right: 2;
394
+ color: $text-muted;
395
+ }
396
+
397
+ #violation-details-grid .value {
398
+ padding-bottom: 1;
399
+ }
400
+
401
+ ViolationPanel .reason-container {
402
+ height: auto;
403
+ padding: 1;
404
+ border: solid $secondary;
405
+ }
406
+
407
+ ViolationPanel .reason-text {
408
+ height: auto;
409
+ }
410
+
411
+ /* Annotation styles */
412
+ ViolationPanel .annotations-container {
413
+ height: auto;
414
+ max-height: 20;
415
+ }
416
+
417
+ ViolationPanel .annotation-card {
418
+ height: auto;
419
+ padding: 1;
420
+ margin-bottom: 1;
421
+ border: solid $secondary;
422
+ background: $surface-darken-1;
423
+ }
424
+
425
+ ViolationPanel .annotation-id {
426
+ color: $primary;
427
+ padding-bottom: 1;
428
+ }
429
+
430
+ ViolationPanel .annotation-description {
431
+ color: $text;
432
+ padding-bottom: 1;
433
+ }
434
+
435
+ ViolationPanel .annotation-custom-grid {
436
+ grid-size: 2;
437
+ grid-columns: auto 1fr;
438
+ grid-rows: auto;
439
+ height: auto;
440
+ padding-top: 1;
441
+ border-top: dashed $secondary;
442
+ }
443
+
444
+ ViolationPanel .annotation-custom-grid .label {
445
+ padding-right: 2;
446
+ color: $text-muted;
447
+ }
448
+
449
+ ViolationPanel .annotation-custom-grid .value {
450
+ color: $text;
451
+ }
452
+
453
+ /* RecentViolations styles */
454
+ RecentViolations {
455
+ height: 100%;
456
+ }
457
+
458
+ RecentViolations DataTable {
459
+ height: 100%;
460
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sondera-harness
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: Sondera Harness SDK for Python - Agent governance and policy enforcement
5
5
  Author-email: Sondera AI <sdk@sondera.ai>
6
6
  License-Expression: MIT
@@ -55,6 +55,7 @@ sondera/strands/analyze.py,sha256=yT9_DGieoMIxy5DGma9EdeAl2FVnkFQkdqK8waTphB8,80
55
55
  sondera/strands/harness.py,sha256=CazoBF-grM2D2Ipj68QdYW4BmWw9fdLVy3_ntcylXvs,13100
56
56
  sondera/tui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  sondera/tui/app.py,sha256=I6Pcyatr5pPqjYwmBZrdTSFY11oR9sWmG90gVbN9pqo,11521
58
+ sondera/tui/app.tcss,sha256=AE239R11BCuhKj8ZxvMYXduZw_-H11I7UkTDh72qdME,6562
58
59
  sondera/tui/screens/__init__.py,sha256=-Yf_mYDWiEmA0lOCay01NhOVPOOCV6EnaFi8ZV7MkDk,186
59
60
  sondera/tui/screens/adjudication.py,sha256=w-CTCu5X5qWASkRJxC_kqEaCvpcIiYSfqUfNu030OnY,7151
60
61
  sondera/tui/screens/agent.py,sha256=xkMC37YIcDBJahQeZjI1Li8KmE90irF0-6VDvQGyuKY,6125
@@ -69,9 +70,9 @@ sondera/tui/widgets/tool_card.py,sha256=3yNQcc_umcan4V1S5GiEKd7l4YA_atibwn3HF0n6
69
70
  sondera/tui/widgets/violation_panel.py,sha256=fowe4KWb13NXLX0_RAxEPdRqYeyGzlImpRs4_L9y1zI,2933
70
71
  sondera/tui/widgets/violations_list.py,sha256=86qICAsQOC6kjQLs64WxK7u59vEJ8kvfiToLVlzFyHM,2866
71
72
  sondera/tui/widgets/violations_summary.py,sha256=e2LwqlB1aS8sZ2gEC5clk7siA16NSgePU1mpv8T1iTc,4473
72
- sondera_harness-0.6.0.dist-info/licenses/LICENSE,sha256=DmSfauhgrslTxZOcDAmcYqsqsKBkMqVh3PYdjPghNbU,1070
73
- sondera_harness-0.6.0.dist-info/METADATA,sha256=HiP8aqRfKWl5ERBjIYWRUqP6twIMbNK-77705MEFwhk,8899
74
- sondera_harness-0.6.0.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
75
- sondera_harness-0.6.0.dist-info/entry_points.txt,sha256=e9aHpIPUUlP5MPKORk7k6ekUfZLN3RyO1MEJa-nCzK4,44
76
- sondera_harness-0.6.0.dist-info/top_level.txt,sha256=BR0X8Gq9CCpwbQg5evpQfy5zwp9fTuGnlJhXSNqQ_hA,8
77
- sondera_harness-0.6.0.dist-info/RECORD,,
73
+ sondera_harness-0.6.1.dist-info/licenses/LICENSE,sha256=DmSfauhgrslTxZOcDAmcYqsqsKBkMqVh3PYdjPghNbU,1070
74
+ sondera_harness-0.6.1.dist-info/METADATA,sha256=ZNFNrXzrWJEHRFmLfAqqmRYwxgxP-4oheQRKjpcT_EQ,8899
75
+ sondera_harness-0.6.1.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
76
+ sondera_harness-0.6.1.dist-info/entry_points.txt,sha256=e9aHpIPUUlP5MPKORk7k6ekUfZLN3RyO1MEJa-nCzK4,44
77
+ sondera_harness-0.6.1.dist-info/top_level.txt,sha256=BR0X8Gq9CCpwbQg5evpQfy5zwp9fTuGnlJhXSNqQ_hA,8
78
+ sondera_harness-0.6.1.dist-info/RECORD,,