@codemem/server 0.46.0-beta.1 → 0.46.0-beta.2

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/static/app.js.br CHANGED
Binary file
package/static/app.js.gz CHANGED
Binary file
package/static/index.html CHANGED
@@ -1372,6 +1372,28 @@
1372
1372
  font-weight: var(--font-weight-regular);
1373
1373
  }
1374
1374
  .recipient-policy-review-status:empty { display: none; }
1375
+ .recipient-policy-review-bulk {
1376
+ display: grid;
1377
+ grid-template-columns: auto minmax(0, 1fr) auto;
1378
+ align-items: center;
1379
+ gap: var(--sp-3);
1380
+ margin: var(--sp-3) 0;
1381
+ padding: var(--sp-3);
1382
+ border: 1px solid var(--border);
1383
+ border-radius: var(--radius-md);
1384
+ background: var(--surface-2);
1385
+ }
1386
+ .recipient-policy-review-select-all,
1387
+ .recipient-policy-review-selection {
1388
+ display: inline-flex;
1389
+ align-items: center;
1390
+ gap: var(--sp-2);
1391
+ cursor: pointer;
1392
+ }
1393
+ .recipient-policy-review-select-all input,
1394
+ .recipient-policy-review-selection input { width: 18px; height: 18px; }
1395
+ .recipient-policy-review-selection-count { color: var(--text-secondary); }
1396
+ .recipient-policy-review-bulk-actions { display: flex; gap: var(--sp-2); }
1375
1397
  .recipient-policy-review-list {
1376
1398
  margin-top: var(--sp-3);
1377
1399
  overflow: hidden;
@@ -1415,6 +1437,8 @@
1415
1437
  }
1416
1438
  .recipient-policy-review-section { margin-top: var(--sp-5); }
1417
1439
  @media (max-width: 900px) {
1440
+ .recipient-policy-review-bulk { grid-template-columns: minmax(0, 1fr); }
1441
+ .recipient-policy-review-bulk-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
1418
1442
  .recipient-policy-review-item { grid-template-columns: minmax(0, 1fr); row-gap: var(--sp-3); }
1419
1443
  .recipient-policy-review-details { grid-column: 1; }
1420
1444
  }
@@ -2415,7 +2439,7 @@
2415
2439
  /* ── Feed items ────────────────────────────────────────── */
2416
2440
  .feed-item {
2417
2441
  display: grid;
2418
- grid-template-columns: 104px minmax(0, 1fr) auto;
2442
+ grid-template-columns: max-content minmax(0, 1fr) auto;
2419
2443
  column-gap: var(--sp-4);
2420
2444
  padding: var(--sp-4) var(--sp-5);
2421
2445
  border: 1px solid var(--border);
@@ -2450,21 +2474,52 @@
2450
2474
  .feed-card-header > .feed-header { flex: 1; overflow: hidden; }
2451
2475
  .feed-card-side {
2452
2476
  display: flex;
2453
- flex-direction: column;
2454
- align-items: flex-end;
2455
- justify-content: space-between;
2477
+ align-items: flex-start;
2478
+ justify-content: flex-end;
2456
2479
  min-width: 0;
2457
- gap: var(--sp-3);
2458
2480
  }
2459
- .feed-card-side-top,
2460
- .feed-card-side-bottom {
2481
+ .feed-card-side-top {
2461
2482
  display: flex;
2462
2483
  align-items: center;
2463
2484
  justify-content: flex-end;
2464
2485
  min-width: 0;
2465
2486
  gap: var(--sp-2);
2466
2487
  }
2467
- .feed-card-side-bottom { flex-wrap: wrap; }
2488
+
2489
+ .feed-disclosure {
2490
+ display: inline-flex;
2491
+ align-items: center;
2492
+ justify-content: center;
2493
+ width: 30px;
2494
+ height: 30px;
2495
+ min-height: 30px;
2496
+ padding: 0;
2497
+ border: 1px solid var(--border);
2498
+ border-radius: var(--radius-pill);
2499
+ background: transparent;
2500
+ color: var(--text-secondary);
2501
+ font-size: var(--font-size-sm);
2502
+ font-weight: var(--font-weight-medium);
2503
+ white-space: nowrap;
2504
+ cursor: pointer;
2505
+ transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
2506
+ }
2507
+ .feed-disclosure:hover {
2508
+ border-color: var(--border-hover);
2509
+ background: var(--surface-2);
2510
+ color: var(--text-primary);
2511
+ }
2512
+ .feed-disclosure:focus-visible {
2513
+ outline: 2px solid var(--accent);
2514
+ outline-offset: 2px;
2515
+ }
2516
+ .feed-disclosure-icon {
2517
+ width: 14px;
2518
+ height: 14px;
2519
+ flex: 0 0 auto;
2520
+ transition: transform var(--duration-fast) var(--ease-standard);
2521
+ }
2522
+ .feed-disclosure[aria-expanded="false"] .feed-disclosure-icon { transform: rotate(-90deg); }
2468
2523
 
2469
2524
  .feed-menu-panel {
2470
2525
  min-width: 180px;
@@ -2479,6 +2534,7 @@
2479
2534
  width: 30px;
2480
2535
  height: 30px;
2481
2536
  border: 1px solid var(--border);
2537
+ border-radius: var(--radius-pill);
2482
2538
  background: transparent;
2483
2539
  color: var(--text-tertiary);
2484
2540
  font-size: var(--font-size-2xl);
@@ -2539,22 +2595,6 @@
2539
2595
  overflow-wrap: anywhere;
2540
2596
  white-space: normal;
2541
2597
  }
2542
- button.feed-title { cursor: pointer; }
2543
- button.feed-title:hover { color: var(--accent); }
2544
- button.feed-title:focus-visible {
2545
- border-radius: var(--radius-sm);
2546
- outline: 2px solid var(--accent);
2547
- outline-offset: 2px;
2548
- }
2549
- .feed-summary {
2550
- min-width: 0;
2551
- overflow: hidden;
2552
- color: var(--text-secondary);
2553
- font-size: var(--font-size-md);
2554
- line-height: 1.4;
2555
- text-overflow: ellipsis;
2556
- white-space: nowrap;
2557
- }
2558
2598
  .feed-meta-line {
2559
2599
  display: flex;
2560
2600
  align-items: center;
@@ -2564,6 +2604,10 @@
2564
2604
  color: var(--text-tertiary);
2565
2605
  font-size: var(--font-size-sm);
2566
2606
  }
2607
+ .feed-collapsed-note {
2608
+ color: var(--text-tertiary);
2609
+ font-size: var(--font-size-sm);
2610
+ }
2567
2611
  .feed-project { color: var(--text-secondary); }
2568
2612
  .feed-meta {
2569
2613
  color: var(--text-tertiary);
@@ -2597,9 +2641,8 @@
2597
2641
  .feed-detail {
2598
2642
  display: flex;
2599
2643
  flex-direction: column;
2600
- gap: var(--sp-2);
2601
- padding-top: var(--sp-2);
2602
- border-top: 1px solid var(--border);
2644
+ gap: var(--sp-3);
2645
+ padding-top: var(--sp-3);
2603
2646
  animation: feedDisclosure var(--duration-fast) var(--ease-out);
2604
2647
  }
2605
2648
  @keyframes feedDisclosure {
@@ -2678,6 +2721,12 @@
2678
2721
  white-space: normal;
2679
2722
  overflow-wrap: anywhere;
2680
2723
  }
2724
+ .feed-item .provenance-chip,
2725
+ .feed-item .tag-chip {
2726
+ min-height: 22px;
2727
+ padding: 2px 7px;
2728
+ border-radius: var(--radius-pill);
2729
+ }
2681
2730
  .provenance-chip.mine { background: var(--accent-subtle); color: var(--accent); border-color: rgba(43, 122, 176, 0.18); }
2682
2731
  .provenance-chip.author { color: var(--text-secondary); }
2683
2732
  .provenance-chip.private { background: rgba(140, 140, 140, 0.12); color: var(--text-secondary); }
@@ -2749,12 +2798,8 @@
2749
2798
  .first-run-guide button,
2750
2799
  .feed-empty-actions .settings-button { width: 100%; }
2751
2800
  }
2752
- .feed-body.narrative { max-width: 88ch; }
2753
- .feed-body.clamp { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
2754
- .feed-body.clamp-3 { -webkit-line-clamp: 3; }
2755
- .feed-body.clamp-5 { -webkit-line-clamp: 5; }
2756
- .feed-body.facts { display: flex; flex-direction: column; gap: 6px; }
2757
- .feed-body p { margin: 0 0 0.5em; }
2801
+ .feed-body.narrative { max-width: 76ch; line-height: 1.65; color: var(--text-secondary); }
2802
+ .feed-body p { margin: 0 0 0.75em; }
2758
2803
  .feed-body p:last-child { margin-bottom: 0; }
2759
2804
  .feed-body ul, .feed-body ol { margin: 0.3em 0; padding-left: 1.3em; list-style: revert; }
2760
2805
  .feed-body li { margin: 0.15em 0; padding: 0; border: none; border-radius: 0; background: none; font-size: inherit; }
@@ -2766,32 +2811,81 @@
2766
2811
  .feed-body em { font-style: italic; }
2767
2812
  .feed-body a { color: var(--accent); text-decoration: underline; }
2768
2813
  .feed-body h1, .feed-body h2, .feed-body h3, .feed-body h4 { font-size: 1em; font-weight: var(--font-weight-semibold); margin: 0.6em 0 0.3em; }
2814
+ .feed-body .feed-semantic-section {
2815
+ --feed-section-color: var(--accent);
2816
+ --feed-section-tint: var(--accent-subtle);
2817
+ margin: var(--sp-5) 0;
2818
+ padding-bottom: var(--sp-3);
2819
+ border-radius: 0 var(--radius-md) var(--radius-md) 0;
2820
+ background: color-mix(in srgb, var(--feed-section-color) 6%, transparent);
2821
+ overflow: hidden;
2822
+ }
2823
+ .feed-body .feed-semantic-section:first-child { margin-top: 0; }
2824
+ .feed-body .feed-semantic-section:last-child { margin-bottom: 0; }
2825
+ .feed-body .feed-semantic-section > :not(.feed-section-heading) {
2826
+ margin-left: var(--sp-3);
2827
+ margin-right: var(--sp-3);
2828
+ }
2829
+ .feed-body .feed-section-heading {
2830
+ margin: 0 0 var(--sp-3);
2831
+ padding: 5px var(--sp-3);
2832
+ border-left: 3px solid var(--feed-section-color);
2833
+ border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
2834
+ background: var(--feed-section-tint);
2835
+ color: var(--feed-section-color);
2836
+ font-family: var(--font-mono);
2837
+ font-size: var(--font-size-xs);
2838
+ font-weight: var(--font-weight-semibold);
2839
+ letter-spacing: 0.07em;
2840
+ text-transform: uppercase;
2841
+ }
2842
+ .feed-body .feed-section-request { --feed-section-color: var(--accent-cool); --feed-section-tint: var(--accent-cool-subtle); }
2843
+ .feed-body .feed-section-completed { --feed-section-color: var(--accent); --feed-section-tint: var(--accent-subtle); }
2844
+ .feed-body .feed-section-learned { --feed-section-color: var(--accent-violet); --feed-section-tint: var(--accent-violet-subtle); }
2845
+ .feed-body .feed-section-investigated { --feed-section-color: var(--accent-steel); --feed-section-tint: var(--accent-steel-subtle); }
2846
+ .feed-body .feed-section-next-steps { --feed-section-color: var(--accent-ochre); --feed-section-tint: var(--accent-ochre-subtle); }
2847
+ .feed-body .feed-section-notes { --feed-section-color: var(--accent-neutral); --feed-section-tint: var(--accent-neutral-subtle); }
2769
2848
  .feed-body blockquote { border-left: 3px solid var(--border); margin: 0.5em 0; padding-left: 0.8em; color: var(--text-tertiary); }
2770
2849
 
2771
- .summary-section {
2772
- display: flex;
2773
- flex-direction: column;
2774
- gap: 4px;
2775
- padding: 6px 0;
2776
- border-bottom: 1px solid var(--border);
2850
+ .feed-pack-facts {
2851
+ max-width: 76ch;
2852
+ margin-top: var(--sp-2);
2853
+ padding-top: var(--sp-3);
2854
+ border-top: 1px solid var(--border);
2777
2855
  }
2778
- .summary-section:last-child { border-bottom: none; }
2779
- .summary-section-label { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-tertiary); }
2780
- .summary-section-content { font-size: var(--font-size-md); line-height: 1.5; color: var(--text-primary); }
2781
-
2782
- .feed-visibility-label {
2783
- display: flex;
2784
- flex-direction: column;
2785
- gap: 3px;
2856
+ .feed-pack-facts-label {
2857
+ margin-bottom: var(--sp-2);
2786
2858
  color: var(--text-tertiary);
2859
+ font-family: var(--font-mono);
2787
2860
  font-size: var(--font-size-2xs);
2788
- letter-spacing: 0.06em;
2861
+ font-weight: var(--font-weight-medium);
2862
+ letter-spacing: 0.08em;
2789
2863
  text-transform: uppercase;
2790
2864
  }
2865
+ .feed-pack-facts .feed-body ul { display: grid; gap: 4px; margin: 0; }
2866
+ .feed-pack-facts .feed-body li::marker { color: var(--accent); }
2867
+
2868
+ .feed-card-footer {
2869
+ display: flex;
2870
+ margin-top: var(--sp-2);
2871
+ padding-top: var(--sp-3);
2872
+ border-top: 1px solid var(--border);
2873
+ }
2874
+
2875
+ .feed-visibility-label {
2876
+ display: inline-flex;
2877
+ min-width: 0;
2878
+ }
2791
2879
  .feed-visibility-select {
2792
- min-width: 180px;
2880
+ display: inline-flex;
2881
+ align-items: center;
2882
+ justify-content: space-between;
2883
+ gap: var(--sp-2);
2884
+ width: 124px;
2885
+ min-width: 0;
2886
+ min-height: 30px;
2793
2887
  padding: 6px 10px;
2794
- border-radius: var(--radius-md);
2888
+ border-radius: var(--radius-pill);
2795
2889
  border: 1px solid var(--border);
2796
2890
  background: var(--input-bg);
2797
2891
  color: var(--text-primary);
@@ -2800,6 +2894,7 @@
2800
2894
  letter-spacing: normal;
2801
2895
  text-transform: none;
2802
2896
  }
2897
+ .feed-visibility-content { z-index: 30; }
2803
2898
 
2804
2899
  .feed-tags { display: flex; flex-wrap: wrap; gap: 6px; }
2805
2900
  /* File paths render as compact pill-tags in their own row — the actual
@@ -4704,26 +4799,16 @@
4704
4799
  .feed-card-side { display: contents; }
4705
4800
  .feed-card-side-top { grid-column: 2; grid-row: 1; }
4706
4801
  .feed-item > .feed-card-body { grid-column: 1 / -1; grid-row: 2; }
4707
- .feed-card-side-bottom {
4708
- grid-column: 1 / -1;
4709
- grid-row: 3;
4710
- justify-content: space-between;
4711
- flex-wrap: wrap;
4712
- }
4713
- .feed-toggle { max-width: 100%; }
4714
- .toggle-button { padding-inline: var(--sp-2); }
4715
- .feed-visibility-label { flex: 1 1 180px; }
4716
- .feed-visibility-select { box-sizing: border-box; width: 100%; min-width: 0; }
4717
4802
  .feed-meta-line { max-width: 100%; }
4718
4803
  .feed-file { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
4719
4804
  }
4720
4805
 
4721
4806
  @media print {
4722
4807
  .feed-menu-trigger,
4723
- .feed-card-side-bottom { display: none !important; }
4808
+ .feed-disclosure { display: none !important; }
4724
4809
  .feed-item {
4725
4810
  break-inside: avoid;
4726
- grid-template-columns: 104px minmax(0, 1fr) auto;
4811
+ grid-template-columns: max-content minmax(0, 1fr) auto;
4727
4812
  box-shadow: none;
4728
4813
  }
4729
4814
  .feed-item:hover { transform: none; box-shadow: none; }
@@ -4747,6 +4832,10 @@
4747
4832
  .recipient-policy-sharing-team-setup-row { grid-template-columns: 1fr auto; }
4748
4833
  .recipient-policy-sharing-team-setup-label { grid-column: 1 / -1; }
4749
4834
  .recipient-policy-sharing-team-setup-separator { display: none; }
4835
+ .feed-item { grid-template-columns: minmax(0, 1fr); }
4836
+ .feed-kind-rail { grid-column: 1; grid-row: 1; }
4837
+ .feed-card-side-top { grid-column: 1; grid-row: 2; justify-self: end; }
4838
+ .feed-item > .feed-card-body { grid-column: 1; grid-row: 3; }
4750
4839
  }
4751
4840
 
4752
4841
  /* ──────────────────────────────────────────────────────────────────
@@ -5325,6 +5414,6 @@
5325
5414
  </div>
5326
5415
  </div>
5327
5416
 
5328
- <script src="/assets/app.js?v=a52e5e81ae2c"></script>
5417
+ <script src="/assets/app.js?v=cfd33fb491d8"></script>
5329
5418
  </body>
5330
5419
  </html>