@imenam/mcp-messenger 1.0.29 → 1.0.31

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.
@@ -1627,6 +1627,50 @@ body {
1627
1627
  font-weight: 600;
1628
1628
  }
1629
1629
 
1630
+ .attachments {
1631
+ display: flex;
1632
+ flex-wrap: wrap;
1633
+ gap: 8px;
1634
+ margin: 10px 0 0;
1635
+ padding: 0;
1636
+ list-style: none;
1637
+ }
1638
+
1639
+ .attachment {
1640
+ display: inline-flex;
1641
+ align-items: center;
1642
+ gap: 6px;
1643
+ max-width: 100%;
1644
+ padding: 4px 10px;
1645
+ border: 1px solid var(--border);
1646
+ border-radius: var(--radius);
1647
+ background: var(--panel);
1648
+ color: var(--text);
1649
+ font-size: 12px;
1650
+ text-decoration: none;
1651
+ }
1652
+
1653
+ .attachment:hover {
1654
+ background: var(--accent-soft);
1655
+ border-color: var(--accent-softer);
1656
+ }
1657
+
1658
+ .attachment .icon {
1659
+ flex: none;
1660
+ color: var(--muted);
1661
+ }
1662
+
1663
+ .attachment-name {
1664
+ overflow: hidden;
1665
+ text-overflow: ellipsis;
1666
+ white-space: nowrap;
1667
+ }
1668
+
1669
+ .attachment-size {
1670
+ flex: none;
1671
+ color: var(--muted);
1672
+ }
1673
+
1630
1674
  .message-foot {
1631
1675
  display: flex;
1632
1676
  align-items: center;
@@ -1769,39 +1813,726 @@ body {
1769
1813
  color: var(--muted);
1770
1814
  }
1771
1815
 
1772
- /* --- États vides et erreurs ----------------------------------------------- */
1816
+ /* --- Onglets de la barre du haut ------------------------------------------ */
1773
1817
 
1774
- .empty {
1775
- padding: 48px 24px;
1776
- text-align: center;
1818
+ .tabs {
1819
+ display: flex;
1820
+ align-self: stretch;
1821
+ gap: 4px;
1822
+ flex: none;
1823
+ }
1824
+
1825
+ .tab {
1826
+ display: inline-flex;
1827
+ align-items: center;
1828
+ gap: 8px;
1829
+ padding: 0 10px;
1830
+ border: 0;
1831
+ border-top: 3px solid transparent;
1832
+ border-bottom: 3px solid transparent;
1833
+ background: none;
1834
+ font: inherit;
1835
+ font-size: 14px;
1777
1836
  color: var(--muted);
1837
+ cursor: pointer;
1778
1838
  }
1779
1839
 
1780
- .empty-title {
1781
- display: block;
1840
+ .tab:hover {
1782
1841
  color: var(--text);
1842
+ }
1843
+
1844
+ .tab.is-active {
1845
+ color: var(--accent);
1783
1846
  font-weight: 600;
1784
- margin-bottom: 4px;
1847
+ border-bottom-color: var(--accent);
1785
1848
  }
1786
1849
 
1787
- .banner {
1788
- margin: 16px 20px;
1789
- padding: 12px 14px;
1850
+ .tab:focus-visible {
1851
+ outline: 2px solid var(--accent);
1852
+ outline-offset: -4px;
1853
+ }
1854
+
1855
+ /* --- Liaisons -------------------------------------------------------------- */
1856
+
1857
+ .links {
1858
+ display: grid;
1859
+ grid-template-columns: minmax(0, 1fr) 360px;
1860
+ height: calc(100vh - var(--topbar-h));
1861
+ }
1862
+
1863
+ .links.is-linking {
1864
+ cursor: crosshair;
1865
+ user-select: none;
1866
+ }
1867
+
1868
+ .links-map {
1869
+ display: flex;
1870
+ flex-direction: column;
1871
+ min-width: 0;
1872
+ min-height: 0;
1873
+ }
1874
+
1875
+ .links-toolbar {
1876
+ display: flex;
1877
+ align-items: flex-start;
1878
+ justify-content: space-between;
1879
+ gap: 16px;
1880
+ padding: 16px 20px 12px;
1881
+ }
1882
+
1883
+ .links-toolbar h2 {
1884
+ margin: 0;
1885
+ font-size: 17px;
1886
+ }
1887
+
1888
+ .links-toolbar p {
1889
+ margin: 2px 0 0;
1890
+ font-size: 12px;
1891
+ }
1892
+
1893
+ .links-window {
1894
+ display: flex;
1895
+ align-items: center;
1896
+ gap: 8px;
1897
+ flex: none;
1898
+ font-size: 13px;
1899
+ color: var(--muted);
1900
+ }
1901
+
1902
+ .links-window select {
1903
+ font: inherit;
1904
+ font-size: 13px;
1905
+ padding: 5px 8px;
1790
1906
  border-radius: var(--radius);
1791
- background: var(--danger-soft);
1792
- color: var(--danger);
1907
+ border: 1px solid var(--border);
1908
+ background: var(--panel);
1909
+ color: var(--text);
1910
+ }
1911
+
1912
+ .links-scroll {
1913
+ flex: 1;
1914
+ overflow: auto;
1915
+ padding: 0 20px 12px 0;
1916
+ }
1917
+
1918
+ .links-canvas {
1919
+ position: relative;
1920
+ }
1921
+
1922
+ .links-canvas > * {
1923
+ position: absolute;
1924
+ }
1925
+
1926
+ .links-canvas > .empty {
1927
+ position: static;
1928
+ }
1929
+
1930
+ .links-lane {
1931
+ z-index: 0;
1932
+ background: var(--panel);
1933
+ border: 1px solid var(--border);
1934
+ border-radius: 12px;
1935
+ }
1936
+
1937
+ .links-lane-head {
1938
+ display: flex;
1939
+ align-items: center;
1940
+ gap: 8px;
1941
+ height: 56px;
1942
+ padding: 0 12px;
1943
+ border-bottom: 1px solid var(--border-soft);
1944
+ }
1945
+
1946
+ .links-lane-text {
1947
+ min-width: 0;
1948
+ }
1949
+
1950
+ .links-lane-name {
1793
1951
  font-size: 13px;
1952
+ font-weight: 600;
1953
+ white-space: nowrap;
1954
+ overflow: hidden;
1955
+ text-overflow: ellipsis;
1794
1956
  }
1795
1957
 
1796
- /* --- Écrans étroits ------------------------------------------------------- */
1958
+ .links-lane-last {
1959
+ font-size: 11px;
1960
+ color: var(--muted);
1961
+ white-space: nowrap;
1962
+ }
1797
1963
 
1798
- @media (max-width: 1000px) {
1799
- .topbar-search {
1800
- max-width: 240px;
1801
- }
1964
+ .links-lane-last.is-fresh {
1965
+ color: var(--ok);
1966
+ }
1802
1967
 
1803
- .console,
1804
- .console.is-collapsed {
1805
- grid-template-columns: 57px var(--w-gutter) 300px var(--w-gutter) minmax(0, 1fr);
1968
+ .links-zoom {
1969
+ z-index: 1;
1970
+ pointer-events: none;
1971
+ background: var(--accent);
1972
+ opacity: 0.05;
1973
+ }
1974
+
1975
+ .links-tick {
1976
+ z-index: 1;
1977
+ pointer-events: none;
1978
+ border-top: 1px solid var(--border-soft);
1979
+ }
1980
+
1981
+ .links-tick--zoom {
1982
+ border-top-color: var(--accent-softer);
1983
+ }
1984
+
1985
+ .links-tick--now {
1986
+ border-top: 2px solid var(--ok);
1987
+ }
1988
+
1989
+ .links-separator {
1990
+ z-index: 1;
1991
+ border-top: 2px solid var(--border);
1992
+ }
1993
+
1994
+ .links-axis-label {
1995
+ z-index: 1;
1996
+ display: flex;
1997
+ flex-direction: column;
1998
+ font-size: 11px;
1999
+ line-height: 1.3;
2000
+ color: var(--muted);
2001
+ }
2002
+
2003
+ .links-axis-label strong {
2004
+ font-weight: 600;
2005
+ }
2006
+
2007
+ .links-axis-label .mono {
2008
+ font-size: 10px;
2009
+ }
2010
+
2011
+ .links-axis-label--now {
2012
+ color: var(--ok);
2013
+ }
2014
+
2015
+ .links-axis-label--zoom strong {
2016
+ color: var(--accent);
2017
+ }
2018
+
2019
+ .links-axis-old {
2020
+ color: var(--text);
2021
+ }
2022
+
2023
+ .links-axis-old span {
2024
+ color: var(--muted);
2025
+ font-size: 10px;
2026
+ }
2027
+
2028
+ .links-wires {
2029
+ z-index: 2;
2030
+ top: 0;
2031
+ left: 0;
2032
+ pointer-events: none;
2033
+ overflow: visible;
2034
+ }
2035
+
2036
+ .links-wire {
2037
+ fill: none;
2038
+ stroke: var(--muted);
2039
+ stroke-width: 2;
2040
+ opacity: 0.7;
2041
+ }
2042
+
2043
+ .links-wire.is-active {
2044
+ stroke: var(--accent);
2045
+ stroke-width: 3;
2046
+ opacity: 1;
2047
+ }
2048
+
2049
+ .links-wire.is-drawing {
2050
+ stroke: var(--accent);
2051
+ stroke-width: 3;
2052
+ stroke-dasharray: 6 4;
2053
+ opacity: 1;
2054
+ }
2055
+
2056
+ .links-card {
2057
+ z-index: 3;
2058
+ display: flex;
2059
+ align-items: center;
2060
+ gap: 8px;
2061
+ padding: 0 10px 0 8px;
2062
+ border: 1px solid var(--border);
2063
+ border-radius: var(--radius);
2064
+ background: var(--panel);
2065
+ font: inherit;
2066
+ color: var(--text);
2067
+ text-align: left;
2068
+ cursor: pointer;
2069
+ }
2070
+
2071
+ .links-card:hover,
2072
+ .links-card.is-linked {
2073
+ border-color: var(--accent);
2074
+ }
2075
+
2076
+ .links-card:focus-visible,
2077
+ .links-old-row:focus-visible {
2078
+ outline: 2px solid var(--accent);
2079
+ outline-offset: 1px;
2080
+ }
2081
+
2082
+ .links-card.is-selected {
2083
+ background: var(--accent-soft);
2084
+ border: 2px solid var(--accent);
2085
+ }
2086
+
2087
+ .links-rank {
2088
+ display: inline-grid;
2089
+ place-items: center;
2090
+ width: 22px;
2091
+ height: 22px;
2092
+ border-radius: 50%;
2093
+ flex: none;
2094
+ font-size: 11px;
2095
+ font-weight: 700;
2096
+ color: var(--panel);
2097
+ background: var(--muted);
2098
+ }
2099
+
2100
+ .links-rank.is-top {
2101
+ background: var(--text);
2102
+ }
2103
+
2104
+ .links-card.is-selected .links-rank {
2105
+ background: var(--accent);
2106
+ color: #ffffff;
2107
+ }
2108
+
2109
+ .links-rank.is-old {
2110
+ background: none;
2111
+ color: var(--muted);
2112
+ }
2113
+
2114
+ .links-card-text {
2115
+ display: flex;
2116
+ flex-direction: column;
2117
+ flex: 1;
2118
+ min-width: 0;
2119
+ }
2120
+
2121
+ .links-card-name {
2122
+ font-size: 12px;
2123
+ font-weight: 600;
2124
+ white-space: nowrap;
2125
+ overflow: hidden;
2126
+ text-overflow: ellipsis;
2127
+ }
2128
+
2129
+ .links-card-name.is-absent,
2130
+ .links-old-name.is-absent {
2131
+ font-weight: 400;
2132
+ color: var(--muted);
2133
+ }
2134
+
2135
+ .links-card-meta {
2136
+ display: flex;
2137
+ justify-content: space-between;
2138
+ gap: 6px;
2139
+ font-size: 11px;
2140
+ white-space: nowrap;
2141
+ }
2142
+
2143
+ .links-card-meta .mono {
2144
+ font-size: 11px;
2145
+ }
2146
+
2147
+ .links-card-ago {
2148
+ color: var(--muted);
2149
+ font-weight: 600;
2150
+ }
2151
+
2152
+ .links-card-ago.is-fresh {
2153
+ color: var(--ok);
2154
+ }
2155
+
2156
+ .links-card-count {
2157
+ position: absolute;
2158
+ top: 4px;
2159
+ right: 12px;
2160
+ display: inline-flex;
2161
+ align-items: center;
2162
+ gap: 2px;
2163
+ font-size: 11px;
2164
+ color: var(--muted);
2165
+ }
2166
+
2167
+ .links-card:has(.links-card-count) .links-card-name {
2168
+ padding-right: 24px;
2169
+ }
2170
+
2171
+ .links-card-count .icon {
2172
+ width: 11px;
2173
+ height: 11px;
2174
+ }
2175
+
2176
+ /* Poignée à cheval sur le bord droit de la carte : c'est d'elle que part le fil. */
2177
+ .links-handle {
2178
+ position: absolute;
2179
+ right: -7px;
2180
+ top: calc(50% - 7px);
2181
+ width: 14px;
2182
+ height: 14px;
2183
+ border-radius: 50%;
2184
+ border: 2px solid var(--panel);
2185
+ background: var(--border);
2186
+ cursor: crosshair;
2187
+ touch-action: none;
2188
+ }
2189
+
2190
+ .links-card:hover .links-handle,
2191
+ .links-card.is-selected .links-handle {
2192
+ background: var(--accent);
2193
+ }
2194
+
2195
+ .links-old-row {
2196
+ z-index: 3;
2197
+ display: flex;
2198
+ align-items: center;
2199
+ gap: 6px;
2200
+ padding: 0 10px;
2201
+ border: 1px solid transparent;
2202
+ border-radius: 6px;
2203
+ background: var(--bg);
2204
+ font: inherit;
2205
+ font-size: 12px;
2206
+ color: var(--text);
2207
+ text-align: left;
2208
+ cursor: pointer;
2209
+ }
2210
+
2211
+ .links-old-row:hover,
2212
+ .links-old-row.is-linked {
2213
+ border-color: var(--accent);
2214
+ }
2215
+
2216
+ .links-old-row.is-selected {
2217
+ background: var(--accent-soft);
2218
+ border-color: var(--accent);
2219
+ }
2220
+
2221
+ .links-old-row .icon {
2222
+ width: 11px;
2223
+ height: 11px;
2224
+ color: var(--muted);
2225
+ }
2226
+
2227
+ .links-old-name {
2228
+ flex: 1;
2229
+ min-width: 0;
2230
+ white-space: nowrap;
2231
+ overflow: hidden;
2232
+ text-overflow: ellipsis;
2233
+ }
2234
+
2235
+ .links-old-date {
2236
+ font-size: 11px;
2237
+ color: var(--muted);
2238
+ flex: none;
2239
+ }
2240
+
2241
+ .links-old-none {
2242
+ z-index: 3;
2243
+ font-size: 11px;
2244
+ font-style: italic;
2245
+ color: var(--muted);
2246
+ padding: 4px 10px;
2247
+ }
2248
+
2249
+ .links-old-more {
2250
+ z-index: 3;
2251
+ border: 0;
2252
+ background: none;
2253
+ font: inherit;
2254
+ font-size: 11px;
2255
+ color: var(--accent);
2256
+ text-align: left;
2257
+ padding: 2px 10px;
2258
+ cursor: pointer;
2259
+ }
2260
+
2261
+ .links-legend {
2262
+ display: flex;
2263
+ flex-wrap: wrap;
2264
+ gap: 8px 24px;
2265
+ padding: 10px 20px 14px;
2266
+ border-top: 1px solid var(--border-soft);
2267
+ font-size: 12px;
2268
+ color: var(--muted);
2269
+ }
2270
+
2271
+ .links-legend-item {
2272
+ display: inline-flex;
2273
+ align-items: center;
2274
+ gap: 8px;
2275
+ }
2276
+
2277
+ .links-legend .links-rank {
2278
+ width: 18px;
2279
+ height: 18px;
2280
+ font-size: 10px;
2281
+ background: var(--text);
2282
+ }
2283
+
2284
+ .links-legend-line {
2285
+ display: inline-block;
2286
+ width: 24px;
2287
+ border-top: 2px solid var(--muted);
2288
+ }
2289
+
2290
+ .links-legend-line.is-new {
2291
+ border-top: 3px solid var(--accent);
2292
+ }
2293
+
2294
+ .links-panel {
2295
+ overflow-y: auto;
2296
+ background: var(--panel);
2297
+ border-left: 1px solid var(--border);
2298
+ padding: 16px 20px;
2299
+ display: flex;
2300
+ flex-direction: column;
2301
+ gap: 16px;
2302
+ }
2303
+
2304
+ .links-panel-head {
2305
+ display: flex;
2306
+ align-items: center;
2307
+ justify-content: space-between;
2308
+ }
2309
+
2310
+ .links-panel-identity {
2311
+ display: flex;
2312
+ align-items: center;
2313
+ gap: 12px;
2314
+ }
2315
+
2316
+ .links-panel-agent {
2317
+ font-size: 17px;
2318
+ font-weight: 700;
2319
+ white-space: nowrap;
2320
+ overflow: hidden;
2321
+ text-overflow: ellipsis;
2322
+ }
2323
+
2324
+ .links-panel-identity .party-addr {
2325
+ font-size: 13px;
2326
+ flex-wrap: wrap;
2327
+ }
2328
+
2329
+ .links-panel-meta {
2330
+ margin: 10px 0 0;
2331
+ font-size: 12px;
2332
+ color: var(--muted);
2333
+ }
2334
+
2335
+ .links-panel-section {
2336
+ border-top: 1px solid var(--border-soft);
2337
+ padding-top: 14px;
2338
+ }
2339
+
2340
+ .links-panel-section h3 {
2341
+ margin: 0 0 10px;
2342
+ font-size: 14px;
2343
+ }
2344
+
2345
+ .links-panel-title {
2346
+ display: flex;
2347
+ align-items: baseline;
2348
+ justify-content: space-between;
2349
+ font-size: 11px;
2350
+ }
2351
+
2352
+ .links-panel-links,
2353
+ .links-candidates {
2354
+ list-style: none;
2355
+ margin: 0;
2356
+ padding: 0;
2357
+ }
2358
+
2359
+ .links-panel-none {
2360
+ font-size: 12px;
2361
+ color: var(--muted);
2362
+ }
2363
+
2364
+ .links-panel-link + .links-panel-link {
2365
+ border-top: 1px solid var(--border-soft);
2366
+ margin-top: 10px;
2367
+ padding-top: 10px;
2368
+ }
2369
+
2370
+ .links-panel-link-top {
2371
+ display: flex;
2372
+ align-items: center;
2373
+ gap: 8px;
2374
+ }
2375
+
2376
+ .links-unlink.btn--danger {
2377
+ padding: 4px 10px;
2378
+ font-size: 12px;
2379
+ }
2380
+
2381
+ .links-panel-note {
2382
+ margin: 6px 0 0 32px;
2383
+ font-size: 12px;
2384
+ font-style: italic;
2385
+ color: var(--muted);
2386
+ }
2387
+
2388
+ .links-panel-status {
2389
+ display: flex;
2390
+ flex-wrap: wrap;
2391
+ align-items: center;
2392
+ gap: 6px;
2393
+ margin: 6px 0 0 32px;
2394
+ font-size: 11px;
2395
+ }
2396
+
2397
+ .links-input,
2398
+ .links-search {
2399
+ width: 100%;
2400
+ height: 34px;
2401
+ border-radius: var(--radius);
2402
+ border: 1px solid var(--border);
2403
+ background: var(--panel);
2404
+ font: inherit;
2405
+ font-size: 13px;
2406
+ color: var(--text);
2407
+ }
2408
+
2409
+ .links-input {
2410
+ padding: 0 10px;
2411
+ margin-bottom: 8px;
2412
+ }
2413
+
2414
+ .links-search {
2415
+ display: flex;
2416
+ align-items: center;
2417
+ gap: 8px;
2418
+ padding: 0 10px;
2419
+ color: var(--muted);
2420
+ }
2421
+
2422
+ .links-search input {
2423
+ flex: 1;
2424
+ min-width: 0;
2425
+ border: 0;
2426
+ background: none;
2427
+ font: inherit;
2428
+ color: var(--text);
2429
+ outline: none;
2430
+ }
2431
+
2432
+ .links-input:focus,
2433
+ .links-search:focus-within {
2434
+ border-color: var(--accent);
2435
+ outline: none;
2436
+ }
2437
+
2438
+ .links-error {
2439
+ margin: 6px 0 0;
2440
+ font-size: 12px;
2441
+ color: var(--danger);
2442
+ }
2443
+
2444
+ .links-error:empty {
2445
+ display: none;
2446
+ }
2447
+
2448
+ .links-candidates {
2449
+ margin-top: 8px;
2450
+ }
2451
+
2452
+ .links-candidate {
2453
+ display: flex;
2454
+ align-items: center;
2455
+ gap: 8px;
2456
+ padding: 8px 6px;
2457
+ border-radius: var(--radius);
2458
+ }
2459
+
2460
+ .links-candidate:hover {
2461
+ background: var(--accent-soft);
2462
+ }
2463
+
2464
+ .links-candidate .agent-box.is-fresh {
2465
+ color: var(--ok);
2466
+ }
2467
+
2468
+ .links-link {
2469
+ padding: 4px 12px;
2470
+ flex: none;
2471
+ }
2472
+
2473
+ .links-candidate:hover .links-link {
2474
+ background: var(--accent);
2475
+ border-color: var(--accent);
2476
+ color: #ffffff;
2477
+ }
2478
+
2479
+ .links-candidates-sep {
2480
+ margin: 12px 6px 4px;
2481
+ font-size: 11px;
2482
+ font-weight: 600;
2483
+ letter-spacing: 0.06em;
2484
+ text-transform: uppercase;
2485
+ color: var(--muted);
2486
+ }
2487
+
2488
+ .links-delivery {
2489
+ display: flex;
2490
+ gap: 8px;
2491
+ margin: auto 0 0;
2492
+ padding: 12px;
2493
+ border-radius: var(--radius);
2494
+ background: var(--bg);
2495
+ font-size: 12px;
2496
+ color: var(--muted);
2497
+ }
2498
+
2499
+ /* --- États vides et erreurs ----------------------------------------------- */
2500
+
2501
+ .empty {
2502
+ padding: 48px 24px;
2503
+ text-align: center;
2504
+ color: var(--muted);
2505
+ }
2506
+
2507
+ .empty-title {
2508
+ display: block;
2509
+ color: var(--text);
2510
+ font-weight: 600;
2511
+ margin-bottom: 4px;
2512
+ }
2513
+
2514
+ .banner {
2515
+ margin: 16px 20px;
2516
+ padding: 12px 14px;
2517
+ border-radius: var(--radius);
2518
+ background: var(--danger-soft);
2519
+ color: var(--danger);
2520
+ font-size: 13px;
2521
+ }
2522
+
2523
+ /* --- Écrans étroits ------------------------------------------------------- */
2524
+
2525
+ @media (max-width: 1000px) {
2526
+ .topbar-search {
2527
+ max-width: 240px;
2528
+ }
2529
+
2530
+ .console,
2531
+ .console.is-collapsed {
2532
+ grid-template-columns: 57px var(--w-gutter) 300px var(--w-gutter) minmax(0, 1fr);
2533
+ }
2534
+
2535
+ .links {
2536
+ grid-template-columns: minmax(0, 1fr) 300px;
1806
2537
  }
1807
2538
  }