@grifhinz/logics-manager 2.5.2 → 2.7.0
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.
- package/VERSION +1 -1
- package/clients/shared-web/media/css/layout.css +6 -0
- package/clients/viewer/browser-host.js +898 -68
- package/clients/viewer/index.html +48 -22
- package/clients/viewer/viewer.css +536 -8
- package/logics_manager/assist.py +1 -0
- package/logics_manager/flow.py +6 -2
- package/logics_manager/lint.py +11 -7
- package/logics_manager/viewer.py +603 -14
- package/package.json +1 -1
- package/pyproject.toml +1 -1
|
@@ -37,6 +37,128 @@
|
|
|
37
37
|
line-height: 1.3;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
.viewer-project-switcher {
|
|
41
|
+
position: relative;
|
|
42
|
+
min-width: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.viewer-project-switcher__button {
|
|
46
|
+
display: inline-flex;
|
|
47
|
+
align-items: center;
|
|
48
|
+
gap: 6px;
|
|
49
|
+
cursor: pointer;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.viewer-project-switcher__button[disabled] {
|
|
53
|
+
cursor: default;
|
|
54
|
+
opacity: 0.75;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.viewer-project-switcher__chevron {
|
|
58
|
+
font-size: 9px;
|
|
59
|
+
opacity: 0.75;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.viewer-project-switcher__menu {
|
|
63
|
+
position: absolute;
|
|
64
|
+
z-index: 20;
|
|
65
|
+
top: calc(100% + 6px);
|
|
66
|
+
left: 0;
|
|
67
|
+
min-width: 260px;
|
|
68
|
+
max-width: min(420px, calc(100vw - 24px));
|
|
69
|
+
max-height: min(360px, calc(100vh - 96px));
|
|
70
|
+
overflow: auto;
|
|
71
|
+
padding: 6px;
|
|
72
|
+
border: 1px solid var(--vscode-panel-border, #333333);
|
|
73
|
+
border-radius: 6px;
|
|
74
|
+
background: var(--vscode-dropdown-background, var(--vscode-editorWidget-background, #202020));
|
|
75
|
+
box-shadow: 0 12px 28px rgb(0 0 0 / 28%);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.viewer-project-switcher__menu[hidden] {
|
|
79
|
+
display: none !important;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.viewer-project-switcher__item {
|
|
83
|
+
width: 100%;
|
|
84
|
+
display: grid;
|
|
85
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
86
|
+
gap: 4px 10px;
|
|
87
|
+
padding: 7px 8px;
|
|
88
|
+
border: 0;
|
|
89
|
+
border-radius: 4px;
|
|
90
|
+
background: transparent;
|
|
91
|
+
color: var(--vscode-foreground, #d4d4d4);
|
|
92
|
+
text-align: left;
|
|
93
|
+
cursor: pointer;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.viewer-project-switcher__item:hover,
|
|
97
|
+
.viewer-project-switcher__item.is-active {
|
|
98
|
+
background: var(--vscode-list-hoverBackground, rgb(255 255 255 / 8%));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.viewer-project-switcher__item-name,
|
|
102
|
+
.viewer-project-switcher__item-state {
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
text-overflow: ellipsis;
|
|
105
|
+
white-space: nowrap;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.viewer-project-switcher__item-name {
|
|
109
|
+
font-weight: 650;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.viewer-project-switcher__item-path {
|
|
113
|
+
grid-column: 1 / -1;
|
|
114
|
+
overflow: hidden;
|
|
115
|
+
text-overflow: ellipsis;
|
|
116
|
+
white-space: nowrap;
|
|
117
|
+
color: var(--vscode-descriptionForeground, #9da5b4);
|
|
118
|
+
font-size: 11px;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.viewer-project-switcher__item-state {
|
|
122
|
+
color: var(--vscode-descriptionForeground, #9da5b4);
|
|
123
|
+
font-size: 11px;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.viewer-topbar__repo-actions {
|
|
127
|
+
display: inline-flex;
|
|
128
|
+
align-items: center;
|
|
129
|
+
gap: 4px;
|
|
130
|
+
flex: 0 0 auto;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.viewer-topbar__repo-action {
|
|
134
|
+
width: 24px;
|
|
135
|
+
height: 24px;
|
|
136
|
+
display: inline-grid;
|
|
137
|
+
place-items: center;
|
|
138
|
+
border: 1px solid var(--vscode-panel-border, #333333);
|
|
139
|
+
border-radius: 999px;
|
|
140
|
+
background: var(--vscode-button-secondaryBackground, transparent);
|
|
141
|
+
color: var(--vscode-button-secondaryForeground, var(--vscode-foreground, #d4d4d4));
|
|
142
|
+
padding: 0;
|
|
143
|
+
cursor: pointer;
|
|
144
|
+
text-decoration: none;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.viewer-topbar__repo-action[hidden] {
|
|
148
|
+
display: none !important;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.viewer-topbar__repo-action:hover {
|
|
152
|
+
border-color: color-mix(in srgb, var(--vscode-textLink-foreground, #4ea1ff) 45%, var(--vscode-panel-border, #333333));
|
|
153
|
+
color: var(--vscode-textLink-foreground, #4ea1ff);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.viewer-topbar__repo-action svg {
|
|
157
|
+
width: 15px;
|
|
158
|
+
height: 15px;
|
|
159
|
+
display: block;
|
|
160
|
+
}
|
|
161
|
+
|
|
40
162
|
.viewer-topbar__meta {
|
|
41
163
|
margin-top: 2px;
|
|
42
164
|
font-size: 12px;
|
|
@@ -87,6 +209,62 @@
|
|
|
87
209
|
color: #f59e0b;
|
|
88
210
|
}
|
|
89
211
|
|
|
212
|
+
.viewer-ci-badge {
|
|
213
|
+
display: inline-grid;
|
|
214
|
+
min-width: 18px;
|
|
215
|
+
height: 16px;
|
|
216
|
+
place-items: center;
|
|
217
|
+
border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
|
|
218
|
+
border-radius: 999px;
|
|
219
|
+
padding: 0 5px;
|
|
220
|
+
font-size: 10px;
|
|
221
|
+
font-weight: 700;
|
|
222
|
+
line-height: 1;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.viewer-ci-badge--passing,
|
|
226
|
+
.viewer-ci__badge--passing {
|
|
227
|
+
background: rgba(34, 197, 94, 0.14);
|
|
228
|
+
color: #22c55e;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.viewer-ci-badge--failing,
|
|
232
|
+
.viewer-ci__badge--failing {
|
|
233
|
+
background: rgba(239, 68, 68, 0.16);
|
|
234
|
+
color: #ef4444;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.viewer-ci-badge--running,
|
|
238
|
+
.viewer-ci__badge--running {
|
|
239
|
+
background: rgba(245, 158, 11, 0.16);
|
|
240
|
+
color: #f59e0b;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.viewer-ci-badge--cancelled,
|
|
244
|
+
.viewer-ci-badge--unavailable,
|
|
245
|
+
.viewer-ci-badge--unknown,
|
|
246
|
+
.viewer-ci__badge--cancelled,
|
|
247
|
+
.viewer-ci__badge--unavailable,
|
|
248
|
+
.viewer-ci__badge--unknown {
|
|
249
|
+
background: color-mix(in srgb, var(--vscode-descriptionForeground, #aaaaaa) 14%, transparent);
|
|
250
|
+
color: var(--vscode-descriptionForeground, #aaaaaa);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.viewer-cdx-button-badge {
|
|
254
|
+
display: inline-grid;
|
|
255
|
+
min-width: 16px;
|
|
256
|
+
height: 16px;
|
|
257
|
+
place-items: center;
|
|
258
|
+
border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
|
|
259
|
+
border-radius: 999px;
|
|
260
|
+
padding: 0 4px;
|
|
261
|
+
background: rgba(34, 197, 94, 0.14);
|
|
262
|
+
color: #22c55e;
|
|
263
|
+
font-size: 10px;
|
|
264
|
+
font-weight: 700;
|
|
265
|
+
line-height: 1;
|
|
266
|
+
}
|
|
267
|
+
|
|
90
268
|
.viewer-refresh-menu {
|
|
91
269
|
position: relative;
|
|
92
270
|
display: inline-flex;
|
|
@@ -99,8 +277,8 @@
|
|
|
99
277
|
right: 0;
|
|
100
278
|
z-index: 60;
|
|
101
279
|
display: grid;
|
|
102
|
-
gap:
|
|
103
|
-
min-width:
|
|
280
|
+
gap: 12px;
|
|
281
|
+
min-width: 220px;
|
|
104
282
|
padding: 10px;
|
|
105
283
|
border: 1px solid var(--vscode-panel-border, #333333);
|
|
106
284
|
border-radius: 6px;
|
|
@@ -113,6 +291,29 @@
|
|
|
113
291
|
display: none !important;
|
|
114
292
|
}
|
|
115
293
|
|
|
294
|
+
.viewer-settings-menu__section {
|
|
295
|
+
display: grid;
|
|
296
|
+
gap: 8px;
|
|
297
|
+
min-width: 0;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.viewer-settings-menu__section + .viewer-settings-menu__section {
|
|
301
|
+
padding-top: 10px;
|
|
302
|
+
border-top: 1px solid var(--vscode-panel-border, #333333);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.viewer-settings-menu__heading {
|
|
306
|
+
color: var(--vscode-descriptionForeground, #9da5b4);
|
|
307
|
+
font-size: 11px;
|
|
308
|
+
font-weight: 700;
|
|
309
|
+
text-transform: uppercase;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.viewer-settings-menu__section > .btn {
|
|
313
|
+
justify-content: center;
|
|
314
|
+
width: 100%;
|
|
315
|
+
}
|
|
316
|
+
|
|
116
317
|
.viewer-auto-refresh {
|
|
117
318
|
display: inline-flex;
|
|
118
319
|
align-items: center;
|
|
@@ -153,19 +354,30 @@
|
|
|
153
354
|
text-transform: none;
|
|
154
355
|
}
|
|
155
356
|
|
|
156
|
-
.viewer-update
|
|
357
|
+
.viewer-update,
|
|
358
|
+
.viewer-connection {
|
|
157
359
|
flex: 0 0 auto;
|
|
158
360
|
display: flex;
|
|
159
361
|
align-items: center;
|
|
160
362
|
gap: 10px;
|
|
161
363
|
padding: 8px 12px;
|
|
162
|
-
border-bottom: 1px solid rgba(245, 158, 11, 0.4);
|
|
163
|
-
background: rgba(245, 158, 11, 0.12);
|
|
164
364
|
color: var(--vscode-foreground, #d4d4d4);
|
|
165
365
|
font-size: 12px;
|
|
166
366
|
}
|
|
167
367
|
|
|
168
|
-
.viewer-update
|
|
368
|
+
.viewer-update {
|
|
369
|
+
border-bottom: 1px solid rgba(245, 158, 11, 0.4);
|
|
370
|
+
background: rgba(245, 158, 11, 0.12);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.viewer-connection {
|
|
374
|
+
justify-content: space-between;
|
|
375
|
+
border-bottom: 1px solid rgba(248, 113, 113, 0.45);
|
|
376
|
+
background: rgba(127, 29, 29, 0.24);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.viewer-update[hidden],
|
|
380
|
+
.viewer-connection[hidden] {
|
|
169
381
|
display: none !important;
|
|
170
382
|
}
|
|
171
383
|
|
|
@@ -176,6 +388,10 @@
|
|
|
176
388
|
color: var(--vscode-textPreformat-foreground, #d7ba7d);
|
|
177
389
|
}
|
|
178
390
|
|
|
391
|
+
.viewer-connection__detail {
|
|
392
|
+
color: var(--vscode-descriptionForeground, #9da5b4);
|
|
393
|
+
}
|
|
394
|
+
|
|
179
395
|
.viewer-filter-panel {
|
|
180
396
|
display: grid;
|
|
181
397
|
grid-template-columns: minmax(220px, 0.9fr) minmax(360px, 1.6fr) minmax(180px, 0.7fr);
|
|
@@ -399,8 +615,34 @@
|
|
|
399
615
|
gap: 14px;
|
|
400
616
|
}
|
|
401
617
|
|
|
618
|
+
.viewer-cdx__modes {
|
|
619
|
+
display: inline-flex;
|
|
620
|
+
align-items: center;
|
|
621
|
+
gap: 2px;
|
|
622
|
+
width: fit-content;
|
|
623
|
+
padding: 2px;
|
|
624
|
+
border: 1px solid var(--vscode-panel-border, #333333);
|
|
625
|
+
border-radius: 6px;
|
|
626
|
+
background: var(--vscode-editorWidget-background, #202020);
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
.viewer-cdx__mode {
|
|
630
|
+
border: 0;
|
|
631
|
+
border-radius: 4px;
|
|
632
|
+
padding: 5px 10px;
|
|
633
|
+
background: transparent;
|
|
634
|
+
color: var(--vscode-descriptionForeground, #9da5b4);
|
|
635
|
+
cursor: pointer;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
.viewer-cdx__mode.is-active {
|
|
639
|
+
background: var(--vscode-button-secondaryBackground, #3a3d41);
|
|
640
|
+
color: var(--vscode-button-secondaryForeground, var(--vscode-foreground, #d4d4d4));
|
|
641
|
+
}
|
|
642
|
+
|
|
402
643
|
.viewer-git__summary,
|
|
403
644
|
.viewer-cdx__summary,
|
|
645
|
+
.viewer-ci__summary,
|
|
404
646
|
.viewer-insights__summary,
|
|
405
647
|
.viewer-health__summary {
|
|
406
648
|
display: grid;
|
|
@@ -415,6 +657,114 @@
|
|
|
415
657
|
align-items: start;
|
|
416
658
|
}
|
|
417
659
|
|
|
660
|
+
.viewer-ci {
|
|
661
|
+
display: grid;
|
|
662
|
+
gap: 12px;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
.viewer-ci__workspace {
|
|
666
|
+
display: grid;
|
|
667
|
+
grid-template-columns: minmax(280px, 1fr) minmax(240px, 0.85fr);
|
|
668
|
+
gap: 12px;
|
|
669
|
+
align-items: start;
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
.viewer-ci__section {
|
|
673
|
+
min-width: 0;
|
|
674
|
+
border: 1px solid var(--vscode-panel-border, #333333);
|
|
675
|
+
border-radius: 6px;
|
|
676
|
+
background: var(--vscode-editorWidget-background, #202020);
|
|
677
|
+
padding: 12px;
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
.viewer-ci__heading {
|
|
681
|
+
display: flex;
|
|
682
|
+
align-items: center;
|
|
683
|
+
justify-content: space-between;
|
|
684
|
+
gap: 10px;
|
|
685
|
+
margin-bottom: 10px;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
.viewer-ci__heading h2 {
|
|
689
|
+
margin: 0;
|
|
690
|
+
font-size: 13px;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
.viewer-ci__heading span {
|
|
694
|
+
color: var(--vscode-descriptionForeground, #aaaaaa);
|
|
695
|
+
font-size: 12px;
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
.viewer-ci__badge {
|
|
699
|
+
display: inline-flex;
|
|
700
|
+
align-items: center;
|
|
701
|
+
justify-content: center;
|
|
702
|
+
min-height: 20px;
|
|
703
|
+
border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
|
|
704
|
+
border-radius: 999px;
|
|
705
|
+
padding: 2px 8px;
|
|
706
|
+
font-size: 11px;
|
|
707
|
+
font-weight: 700;
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
.viewer-ci__list,
|
|
711
|
+
.viewer-ci__jobs {
|
|
712
|
+
display: grid;
|
|
713
|
+
gap: 6px;
|
|
714
|
+
margin: 0;
|
|
715
|
+
padding: 0;
|
|
716
|
+
list-style: none;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
.viewer-ci__row,
|
|
720
|
+
.viewer-ci__job,
|
|
721
|
+
.viewer-ci__empty {
|
|
722
|
+
min-width: 0;
|
|
723
|
+
border: 1px solid color-mix(in srgb, var(--vscode-panel-border, #333333) 74%, transparent);
|
|
724
|
+
border-radius: 6px;
|
|
725
|
+
padding: 8px 9px;
|
|
726
|
+
background: var(--vscode-sideBar-background, #252526);
|
|
727
|
+
font-size: 12px;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
.viewer-ci__row,
|
|
731
|
+
.viewer-ci__job,
|
|
732
|
+
.viewer-ci__job a {
|
|
733
|
+
display: flex;
|
|
734
|
+
justify-content: space-between;
|
|
735
|
+
gap: 12px;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
.viewer-ci__job a {
|
|
739
|
+
width: 100%;
|
|
740
|
+
color: inherit;
|
|
741
|
+
text-decoration: none;
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
.viewer-ci__row span,
|
|
745
|
+
.viewer-ci__job span {
|
|
746
|
+
color: var(--vscode-descriptionForeground, #aaaaaa);
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
.viewer-ci__row strong,
|
|
750
|
+
.viewer-ci__job strong {
|
|
751
|
+
min-width: 0;
|
|
752
|
+
text-align: right;
|
|
753
|
+
overflow-wrap: anywhere;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
.viewer-ci__link {
|
|
757
|
+
display: inline-flex;
|
|
758
|
+
margin-top: 10px;
|
|
759
|
+
color: var(--vscode-textLink-foreground, #4ea1ff);
|
|
760
|
+
font-size: 12px;
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
.viewer-ci__state,
|
|
764
|
+
.viewer-ci__empty {
|
|
765
|
+
color: var(--vscode-descriptionForeground, #9da5b4);
|
|
766
|
+
}
|
|
767
|
+
|
|
418
768
|
.viewer-cdx__stack {
|
|
419
769
|
display: grid;
|
|
420
770
|
gap: 12px;
|
|
@@ -785,6 +1135,33 @@
|
|
|
785
1135
|
background: var(--vscode-editorWidget-background, #202020);
|
|
786
1136
|
}
|
|
787
1137
|
|
|
1138
|
+
.viewer-git__commit-row[hidden] {
|
|
1139
|
+
display: none !important;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
.viewer-git__commit-row--reveal {
|
|
1143
|
+
padding: 0;
|
|
1144
|
+
border: 0;
|
|
1145
|
+
background: transparent;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
.viewer-git__reveal {
|
|
1149
|
+
width: 100%;
|
|
1150
|
+
min-height: 32px;
|
|
1151
|
+
border: 1px solid var(--vscode-panel-border, #333333);
|
|
1152
|
+
border-radius: 6px;
|
|
1153
|
+
background: var(--vscode-button-secondaryBackground, transparent);
|
|
1154
|
+
color: var(--vscode-button-secondaryForeground, var(--vscode-foreground, #d4d4d4));
|
|
1155
|
+
font: inherit;
|
|
1156
|
+
font-size: 12px;
|
|
1157
|
+
cursor: pointer;
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
.viewer-git__reveal:hover {
|
|
1161
|
+
border-color: color-mix(in srgb, var(--vscode-textLink-foreground, #4ea1ff) 45%, var(--vscode-panel-border, #333333));
|
|
1162
|
+
color: var(--vscode-textLink-foreground, #4ea1ff);
|
|
1163
|
+
}
|
|
1164
|
+
|
|
788
1165
|
.viewer-git__commit-main,
|
|
789
1166
|
.viewer-git__commit-meta {
|
|
790
1167
|
display: flex;
|
|
@@ -940,6 +1317,10 @@
|
|
|
940
1317
|
.viewer-git__workspace {
|
|
941
1318
|
grid-template-columns: 1fr;
|
|
942
1319
|
}
|
|
1320
|
+
|
|
1321
|
+
.viewer-ci__workspace {
|
|
1322
|
+
grid-template-columns: 1fr;
|
|
1323
|
+
}
|
|
943
1324
|
}
|
|
944
1325
|
|
|
945
1326
|
.viewer-document__content a {
|
|
@@ -1001,11 +1382,34 @@
|
|
|
1001
1382
|
gap: 16px;
|
|
1002
1383
|
}
|
|
1003
1384
|
|
|
1385
|
+
.viewer-insights__hero {
|
|
1386
|
+
display: grid;
|
|
1387
|
+
grid-template-columns: minmax(220px, 0.9fr) minmax(320px, 1.1fr);
|
|
1388
|
+
gap: 12px;
|
|
1389
|
+
align-items: stretch;
|
|
1390
|
+
padding: 12px;
|
|
1391
|
+
border: 1px solid var(--vscode-panel-border, #333333);
|
|
1392
|
+
border-radius: 6px;
|
|
1393
|
+
background: color-mix(in srgb, var(--vscode-editorWidget-background, #202020) 86%, var(--vscode-textLink-foreground, #4ea1ff) 14%);
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
.viewer-insights__hero h2,
|
|
1397
|
+
.viewer-insights__section h2 {
|
|
1398
|
+
margin: 0;
|
|
1399
|
+
font-size: 14px;
|
|
1400
|
+
}
|
|
1401
|
+
|
|
1402
|
+
.viewer-insights__hero p {
|
|
1403
|
+
margin: 6px 0 0;
|
|
1404
|
+
color: var(--vscode-descriptionForeground, #9da5b4);
|
|
1405
|
+
line-height: 1.45;
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1004
1408
|
.viewer-insights__summary,
|
|
1005
1409
|
.viewer-insights__grid {
|
|
1006
1410
|
display: grid;
|
|
1007
|
-
grid-template-columns: repeat(
|
|
1008
|
-
gap:
|
|
1411
|
+
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
|
|
1412
|
+
gap: 8px;
|
|
1009
1413
|
}
|
|
1010
1414
|
|
|
1011
1415
|
.viewer-insights__card {
|
|
@@ -1015,6 +1419,14 @@
|
|
|
1015
1419
|
background: var(--vscode-sideBar-background, #252526);
|
|
1016
1420
|
}
|
|
1017
1421
|
|
|
1422
|
+
.viewer-insights__card--warning {
|
|
1423
|
+
border-color: color-mix(in srgb, var(--vscode-notificationsWarningIcon-foreground, #d7ba7d) 48%, var(--vscode-panel-border, #333333));
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
.viewer-insights__card--ok {
|
|
1427
|
+
border-color: color-mix(in srgb, var(--vscode-testing-iconPassed, #73c991) 44%, var(--vscode-panel-border, #333333));
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1018
1430
|
.viewer-insights__label {
|
|
1019
1431
|
color: var(--vscode-descriptionForeground, #9da5b4);
|
|
1020
1432
|
font-size: 11px;
|
|
@@ -1033,6 +1445,25 @@
|
|
|
1033
1445
|
gap: 8px;
|
|
1034
1446
|
}
|
|
1035
1447
|
|
|
1448
|
+
.viewer-insights__workspace {
|
|
1449
|
+
display: grid;
|
|
1450
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1451
|
+
gap: 12px;
|
|
1452
|
+
align-items: start;
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
.viewer-insights__section {
|
|
1456
|
+
min-width: 0;
|
|
1457
|
+
padding: 12px;
|
|
1458
|
+
border: 1px solid var(--vscode-panel-border, #333333);
|
|
1459
|
+
border-radius: 6px;
|
|
1460
|
+
background: color-mix(in srgb, var(--vscode-editorWidget-background, #202020) 88%, transparent);
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
.viewer-insights__section--wide {
|
|
1464
|
+
grid-column: 1 / -1;
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1036
1467
|
.viewer-insights__list {
|
|
1037
1468
|
display: grid;
|
|
1038
1469
|
gap: 6px;
|
|
@@ -1051,6 +1482,83 @@
|
|
|
1051
1482
|
background: var(--vscode-editorWidget-background, #202020);
|
|
1052
1483
|
}
|
|
1053
1484
|
|
|
1485
|
+
.viewer-insights__bars,
|
|
1486
|
+
.viewer-insights__signals {
|
|
1487
|
+
display: grid;
|
|
1488
|
+
gap: 8px;
|
|
1489
|
+
margin: 0;
|
|
1490
|
+
padding: 0;
|
|
1491
|
+
list-style: none;
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
.viewer-insights__bar-row {
|
|
1495
|
+
display: grid;
|
|
1496
|
+
gap: 5px;
|
|
1497
|
+
min-width: 0;
|
|
1498
|
+
font-size: 12px;
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
.viewer-insights__bar-meta,
|
|
1502
|
+
.viewer-insights__signal {
|
|
1503
|
+
display: flex;
|
|
1504
|
+
justify-content: space-between;
|
|
1505
|
+
gap: 12px;
|
|
1506
|
+
min-width: 0;
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1509
|
+
.viewer-insights__bar-meta span,
|
|
1510
|
+
.viewer-insights__signal span {
|
|
1511
|
+
min-width: 0;
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
.viewer-insights__signal span {
|
|
1515
|
+
flex: 0 0 min(42%, 160px);
|
|
1516
|
+
overflow-wrap: normal;
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1519
|
+
.viewer-insights__signal strong {
|
|
1520
|
+
flex: 1 1 auto;
|
|
1521
|
+
min-width: 0;
|
|
1522
|
+
text-align: right;
|
|
1523
|
+
overflow-wrap: anywhere;
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
.viewer-insights__bar-track {
|
|
1527
|
+
height: 7px;
|
|
1528
|
+
overflow: hidden;
|
|
1529
|
+
border: 1px solid var(--vscode-panel-border, #333333);
|
|
1530
|
+
border-radius: 999px;
|
|
1531
|
+
background: var(--vscode-sideBar-background, #252526);
|
|
1532
|
+
}
|
|
1533
|
+
|
|
1534
|
+
.viewer-insights__bar-track span {
|
|
1535
|
+
display: block;
|
|
1536
|
+
height: 100%;
|
|
1537
|
+
border-radius: inherit;
|
|
1538
|
+
background: var(--vscode-textLink-foreground, #4ea1ff);
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
.viewer-insights__signal {
|
|
1542
|
+
padding: 7px 9px;
|
|
1543
|
+
border: 1px solid var(--vscode-panel-border, #333333);
|
|
1544
|
+
border-radius: 6px;
|
|
1545
|
+
background: var(--vscode-editorWidget-background, #202020);
|
|
1546
|
+
font-size: 12px;
|
|
1547
|
+
}
|
|
1548
|
+
|
|
1549
|
+
.viewer-insights__signal--warning {
|
|
1550
|
+
border-color: color-mix(in srgb, var(--vscode-notificationsWarningIcon-foreground, #d7ba7d) 44%, var(--vscode-panel-border, #333333));
|
|
1551
|
+
}
|
|
1552
|
+
|
|
1553
|
+
.viewer-insights__signal--ok strong {
|
|
1554
|
+
color: var(--vscode-testing-iconPassed, #73c991);
|
|
1555
|
+
}
|
|
1556
|
+
|
|
1557
|
+
.viewer-insights__signal--muted strong,
|
|
1558
|
+
.viewer-insights__signal--empty {
|
|
1559
|
+
color: var(--vscode-descriptionForeground, #9da5b4);
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1054
1562
|
.viewer-health__summary {
|
|
1055
1563
|
display: grid;
|
|
1056
1564
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
@@ -1150,15 +1658,35 @@
|
|
|
1150
1658
|
justify-content: center;
|
|
1151
1659
|
}
|
|
1152
1660
|
|
|
1661
|
+
.viewer-refresh-menu__panel {
|
|
1662
|
+
left: 0;
|
|
1663
|
+
right: auto;
|
|
1664
|
+
min-width: min(260px, 100%);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1153
1667
|
.viewer-document {
|
|
1154
1668
|
inset: 10px;
|
|
1155
1669
|
}
|
|
1156
1670
|
|
|
1671
|
+
.viewer-insights__hero,
|
|
1672
|
+
.viewer-insights__workspace,
|
|
1157
1673
|
.viewer-insights__summary,
|
|
1158
1674
|
.viewer-insights__grid {
|
|
1159
1675
|
grid-template-columns: 1fr;
|
|
1160
1676
|
}
|
|
1161
1677
|
|
|
1678
|
+
.viewer-insights__signal {
|
|
1679
|
+
align-items: flex-start;
|
|
1680
|
+
flex-direction: column;
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
.viewer-insights__signal span,
|
|
1684
|
+
.viewer-insights__signal strong {
|
|
1685
|
+
flex: none;
|
|
1686
|
+
width: 100%;
|
|
1687
|
+
text-align: left;
|
|
1688
|
+
}
|
|
1689
|
+
|
|
1162
1690
|
.viewer-health__summary {
|
|
1163
1691
|
grid-template-columns: 1fr;
|
|
1164
1692
|
}
|
package/logics_manager/assist.py
CHANGED
|
@@ -336,6 +336,7 @@ def _build_spec_first_pass(repo_root: Path, backlog_ref: str) -> dict[str, objec
|
|
|
336
336
|
[
|
|
337
337
|
f"## {ref} - {spec_title}",
|
|
338
338
|
f"> From version: {_parse_package_version(repo_root)}",
|
|
339
|
+
"> Status: Draft",
|
|
339
340
|
"> Understanding: 90%",
|
|
340
341
|
"> Confidence: 85%",
|
|
341
342
|
"",
|
package/logics_manager/flow.py
CHANGED
|
@@ -800,6 +800,8 @@ def _workflow_mermaid_block(kind: str, signature: str) -> list[str]:
|
|
|
800
800
|
|
|
801
801
|
|
|
802
802
|
def _with_workflow_mermaid_overview(kind: str, content: str) -> str:
|
|
803
|
+
if kind == "task":
|
|
804
|
+
return content
|
|
803
805
|
lines = content.rstrip().splitlines()
|
|
804
806
|
signature = expected_workflow_mermaid_signature(kind, lines)
|
|
805
807
|
if not signature:
|
|
@@ -995,6 +997,8 @@ def _mermaid_closeout_issue(path: Path, kind: str) -> str | None:
|
|
|
995
997
|
text = path.read_text(encoding="utf-8")
|
|
996
998
|
match = re.search(r"```mermaid\s*\n(.*?)\n```", text, flags=re.DOTALL)
|
|
997
999
|
if match is None:
|
|
1000
|
+
if kind == "task":
|
|
1001
|
+
return None
|
|
998
1002
|
return "missing Mermaid overview block"
|
|
999
1003
|
signature_match = re.search(r"^\s*%%\s*logics-signature:\s*(.+?)\s*$", match.group(1), flags=re.MULTILINE)
|
|
1000
1004
|
expected = expected_workflow_mermaid_signature(kind, text.splitlines())
|
|
@@ -1625,7 +1629,7 @@ def _build_native_task_doc(
|
|
|
1625
1629
|
"",
|
|
1626
1630
|
]
|
|
1627
1631
|
).rstrip() + "\n"
|
|
1628
|
-
return
|
|
1632
|
+
return content
|
|
1629
1633
|
|
|
1630
1634
|
|
|
1631
1635
|
def _extract_doc_title(path: Path) -> str:
|
|
@@ -2183,7 +2187,7 @@ def _build_native_task_from_backlog(
|
|
|
2183
2187
|
"",
|
|
2184
2188
|
]
|
|
2185
2189
|
).rstrip() + "\n"
|
|
2186
|
-
return ref,
|
|
2190
|
+
return ref, content
|
|
2187
2191
|
|
|
2188
2192
|
|
|
2189
2193
|
def build_parser() -> argparse.ArgumentParser:
|