@grifhinz/logics-manager 2.8.0 → 2.8.1

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.
@@ -830,6 +830,142 @@
830
830
  color: var(--vscode-descriptionForeground, #9da5b4);
831
831
  }
832
832
 
833
+ .viewer-workspace {
834
+ display: grid;
835
+ grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
836
+ gap: 12px;
837
+ min-height: min(62vh, 760px);
838
+ }
839
+
840
+ .viewer-workspace__tree,
841
+ .viewer-workspace__preview {
842
+ min-width: 0;
843
+ border: 1px solid var(--vscode-panel-border, #333333);
844
+ border-radius: 6px;
845
+ background: var(--vscode-editorWidget-background, #202020);
846
+ }
847
+
848
+ .viewer-workspace__tree {
849
+ overflow: auto;
850
+ }
851
+
852
+ .viewer-workspace__preview {
853
+ display: grid;
854
+ align-content: start;
855
+ gap: 10px;
856
+ padding: 12px;
857
+ overflow: auto;
858
+ }
859
+
860
+ .viewer-workspace__tree-header {
861
+ position: sticky;
862
+ top: 0;
863
+ z-index: 1;
864
+ padding: 8px;
865
+ border-bottom: 1px solid var(--vscode-panel-border, #333333);
866
+ background: var(--vscode-editorWidget-background, #202020);
867
+ color: var(--vscode-descriptionForeground, #aaaaaa);
868
+ font-size: 11px;
869
+ font-weight: 700;
870
+ overflow-wrap: anywhere;
871
+ }
872
+
873
+ .viewer-workspace__tree-list {
874
+ display: grid;
875
+ gap: 1px;
876
+ padding: 6px;
877
+ }
878
+
879
+ .viewer-workspace__item {
880
+ width: 100%;
881
+ min-width: 0;
882
+ display: grid;
883
+ grid-template-columns: 18px minmax(0, 1fr);
884
+ gap: 5px;
885
+ align-items: center;
886
+ border: 0;
887
+ border-radius: 4px;
888
+ padding: 5px 6px;
889
+ background: transparent;
890
+ color: var(--vscode-foreground, #d4d4d4);
891
+ font: inherit;
892
+ font-size: 12px;
893
+ text-align: left;
894
+ cursor: pointer;
895
+ }
896
+
897
+ .viewer-workspace__item:hover,
898
+ .viewer-workspace__item.is-selected {
899
+ background: var(--vscode-list-hoverBackground, rgb(255 255 255 / 8%));
900
+ }
901
+
902
+ .viewer-workspace__item.is-muted {
903
+ color: var(--vscode-descriptionForeground, #aaaaaa);
904
+ cursor: default;
905
+ }
906
+
907
+ .viewer-workspace__item-icon {
908
+ color: var(--vscode-descriptionForeground, #aaaaaa);
909
+ text-align: center;
910
+ }
911
+
912
+ .viewer-workspace__item-name {
913
+ min-width: 0;
914
+ overflow: hidden;
915
+ text-overflow: ellipsis;
916
+ white-space: nowrap;
917
+ }
918
+
919
+ .viewer-workspace__preview-header {
920
+ display: flex;
921
+ justify-content: space-between;
922
+ gap: 12px;
923
+ min-width: 0;
924
+ }
925
+
926
+ .viewer-workspace__preview-header > div {
927
+ min-width: 0;
928
+ display: grid;
929
+ gap: 3px;
930
+ }
931
+
932
+ .viewer-workspace__preview-header strong,
933
+ .viewer-workspace__preview-header span {
934
+ min-width: 0;
935
+ overflow-wrap: anywhere;
936
+ }
937
+
938
+ .viewer-workspace__preview-header span,
939
+ .viewer-workspace__preview-header em,
940
+ .viewer-workspace__empty {
941
+ color: var(--vscode-descriptionForeground, #aaaaaa);
942
+ font-size: 12px;
943
+ }
944
+
945
+ .viewer-workspace__code {
946
+ max-height: min(70vh, 760px);
947
+ overflow: auto;
948
+ margin: 0;
949
+ padding: 12px;
950
+ border: 1px solid var(--vscode-panel-border, #333333);
951
+ border-radius: 6px;
952
+ background: var(--vscode-textCodeBlock-background, #111111);
953
+ color: var(--vscode-textPreformat-foreground, #d7ba7d);
954
+ font-size: 12px;
955
+ line-height: 1.45;
956
+ white-space: pre-wrap;
957
+ overflow-wrap: anywhere;
958
+ }
959
+
960
+ .viewer-workspace__image {
961
+ max-width: 100%;
962
+ max-height: min(70vh, 760px);
963
+ object-fit: contain;
964
+ border: 1px solid var(--vscode-panel-border, #333333);
965
+ border-radius: 6px;
966
+ background: var(--vscode-textCodeBlock-background, #111111);
967
+ }
968
+
833
969
  .viewer-cdx__stack {
834
970
  display: grid;
835
971
  gap: 12px;
@@ -1095,6 +1231,117 @@
1095
1231
  margin-top: 8px;
1096
1232
  }
1097
1233
 
1234
+ .viewer-cdx__controls {
1235
+ display: flex;
1236
+ justify-content: flex-start;
1237
+ gap: 6px;
1238
+ margin: 8px 0 12px;
1239
+ }
1240
+
1241
+ .viewer-cdx__menu {
1242
+ position: relative;
1243
+ }
1244
+
1245
+ .viewer-cdx__menu > summary {
1246
+ list-style: none;
1247
+ }
1248
+
1249
+ .viewer-cdx__menu > summary::-webkit-details-marker {
1250
+ display: none;
1251
+ }
1252
+
1253
+ .viewer-cdx__icon-button {
1254
+ min-width: 30px;
1255
+ height: 30px;
1256
+ display: inline-flex;
1257
+ align-items: center;
1258
+ justify-content: center;
1259
+ gap: 4px;
1260
+ border: 1px solid var(--vscode-panel-border, #333333);
1261
+ border-radius: 6px;
1262
+ box-sizing: border-box;
1263
+ background: var(--vscode-button-secondaryBackground, transparent);
1264
+ color: var(--vscode-button-secondaryForeground, var(--vscode-foreground, #d4d4d4));
1265
+ cursor: pointer;
1266
+ padding: 0 8px;
1267
+ white-space: nowrap;
1268
+ }
1269
+
1270
+ .viewer-cdx__icon-button:hover {
1271
+ border-color: color-mix(in srgb, var(--vscode-textLink-foreground, #4ea1ff) 45%, var(--vscode-panel-border, #333333));
1272
+ color: var(--vscode-textLink-foreground, #4ea1ff);
1273
+ }
1274
+
1275
+ .viewer-cdx__icon-button svg {
1276
+ width: 16px;
1277
+ height: 16px;
1278
+ display: block;
1279
+ }
1280
+
1281
+ .viewer-cdx__icon-count {
1282
+ display: inline-block;
1283
+ min-width: 18px;
1284
+ font-size: 10px;
1285
+ font-weight: 700;
1286
+ text-align: center;
1287
+ }
1288
+
1289
+ .viewer-cdx__menu-panel {
1290
+ position: absolute;
1291
+ z-index: 25;
1292
+ top: calc(100% + 6px);
1293
+ left: 0;
1294
+ min-width: 170px;
1295
+ max-height: min(340px, calc(100vh - 150px));
1296
+ overflow: auto;
1297
+ display: grid;
1298
+ gap: 2px;
1299
+ padding: 6px;
1300
+ border: 1px solid var(--vscode-panel-border, #333333);
1301
+ border-radius: 6px;
1302
+ background: var(--vscode-dropdown-background, var(--vscode-editorWidget-background, #202020));
1303
+ box-shadow: 0 12px 28px rgb(0 0 0 / 28%);
1304
+ }
1305
+
1306
+ .viewer-cdx__menu-check {
1307
+ display: flex;
1308
+ align-items: center;
1309
+ gap: 7px;
1310
+ min-width: 0;
1311
+ padding: 5px 6px;
1312
+ border-radius: 4px;
1313
+ color: var(--vscode-foreground, #d4d4d4);
1314
+ font-size: 12px;
1315
+ cursor: pointer;
1316
+ }
1317
+
1318
+ .viewer-cdx__menu-check:hover,
1319
+ .viewer-cdx__menu-action:hover {
1320
+ background: var(--vscode-list-hoverBackground, rgb(255 255 255 / 8%));
1321
+ }
1322
+
1323
+ .viewer-cdx__menu-check input {
1324
+ flex: 0 0 auto;
1325
+ }
1326
+
1327
+ .viewer-cdx__menu-check span {
1328
+ overflow: hidden;
1329
+ text-overflow: ellipsis;
1330
+ white-space: nowrap;
1331
+ }
1332
+
1333
+ .viewer-cdx__menu-action {
1334
+ border: 0;
1335
+ border-radius: 4px;
1336
+ padding: 6px;
1337
+ background: transparent;
1338
+ color: var(--vscode-textLink-foreground, #4ea1ff);
1339
+ font: inherit;
1340
+ font-size: 12px;
1341
+ text-align: left;
1342
+ cursor: pointer;
1343
+ }
1344
+
1098
1345
  .viewer-cdx__table-wrap {
1099
1346
  min-width: 0;
1100
1347
  overflow-x: auto;
@@ -1309,6 +1556,10 @@
1309
1556
  .viewer-cdx__workspace {
1310
1557
  grid-template-columns: 1fr;
1311
1558
  }
1559
+
1560
+ .viewer-workspace {
1561
+ grid-template-columns: 1fr;
1562
+ }
1312
1563
  }
1313
1564
 
1314
1565
  .viewer-git__section h2 {
@@ -410,26 +410,26 @@ def main(argv: list[str] | None = None) -> int:
410
410
  autofix_structure=parsed.autofix_structure,
411
411
  governance_profile=parsed.governance_profile,
412
412
  )
413
- output = render_audit(
414
- repo_root,
415
- stale_days=parsed.stale_days,
416
- skip_ac_traceability=parsed.skip_ac_traceability,
417
- skip_gates=parsed.skip_gates,
418
- legacy_cutoff_version=parsed.legacy_cutoff_version,
419
- output_format=parsed.format,
420
- group_by_doc=parsed.group_by_doc,
421
- autofix_ac_traceability=parsed.autofix_ac_traceability,
422
- paths=parsed.paths,
423
- refs=parsed.refs,
424
- since_version=parsed.since_version,
425
- token_hygiene=parsed.token_hygiene,
426
- autofix_structure=parsed.autofix_structure,
427
- governance_profile=parsed.governance_profile,
428
- )
429
413
  except ConfigError as exc:
430
414
  raise SystemExit(str(exc)) from exc
415
+ output = json.dumps(payload, indent=2, sort_keys=True) if parsed.format == "json" else render_audit(
416
+ repo_root,
417
+ stale_days=parsed.stale_days,
418
+ skip_ac_traceability=parsed.skip_ac_traceability,
419
+ skip_gates=parsed.skip_gates,
420
+ legacy_cutoff_version=parsed.legacy_cutoff_version,
421
+ output_format=parsed.format,
422
+ group_by_doc=parsed.group_by_doc,
423
+ autofix_ac_traceability=parsed.autofix_ac_traceability,
424
+ paths=parsed.paths,
425
+ refs=parsed.refs,
426
+ since_version=parsed.since_version,
427
+ token_hygiene=parsed.token_hygiene,
428
+ autofix_structure=parsed.autofix_structure,
429
+ governance_profile=parsed.governance_profile,
430
+ )
431
431
  print(output)
432
- return 0
432
+ return 0 if payload["ok"] else 1
433
433
  if command == "index":
434
434
  parser = argparse.ArgumentParser(prog="logics-manager index", add_help=False)
435
435
  parser.add_argument("--out", default="logics/INDEX.md")