@dollhousemcp/mcp-server 2.0.25 → 2.0.26
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/CHANGELOG.md +4 -0
- package/dist/auto-dollhouse/portDiscovery.d.ts.map +1 -1
- package/dist/auto-dollhouse/portDiscovery.js +7 -4
- package/dist/di/Container.d.ts.map +1 -1
- package/dist/di/Container.js +4 -2
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +3 -3
- package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/MCPAQLHandler.js +18 -1
- package/dist/handlers/mcp-aql/OperationRouter.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/OperationRouter.js +6 -1
- package/dist/handlers/mcp-aql/OperationSchema.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/OperationSchema.js +16 -1
- package/dist/handlers/mcp-aql/SchemaDispatcher.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/SchemaDispatcher.js +2 -1
- package/dist/index.js +14 -2
- package/dist/server/tools/BuildInfoTools.d.ts +1 -0
- package/dist/server/tools/BuildInfoTools.d.ts.map +1 -1
- package/dist/server/tools/BuildInfoTools.js +2 -1
- package/dist/server/tools/MCPAQLTools.js +3 -1
- package/dist/services/ActivationStore.d.ts +8 -0
- package/dist/services/ActivationStore.d.ts.map +1 -1
- package/dist/services/ActivationStore.js +28 -29
- package/dist/services/BuildInfoService.d.ts +3 -0
- package/dist/services/BuildInfoService.d.ts.map +1 -1
- package/dist/services/BuildInfoService.js +18 -1
- package/dist/services/sessionIdentity.d.ts +24 -0
- package/dist/services/sessionIdentity.d.ts.map +1 -0
- package/dist/services/sessionIdentity.js +42 -0
- package/dist/utils/permissionAuthority.d.ts +38 -0
- package/dist/utils/permissionAuthority.d.ts.map +1 -0
- package/dist/utils/permissionAuthority.js +341 -0
- package/dist/utils/permissionHooks.d.ts.map +1 -1
- package/dist/utils/permissionHooks.js +10 -1
- package/dist/web/console/UnifiedConsole.d.ts +2 -0
- package/dist/web/console/UnifiedConsole.d.ts.map +1 -1
- package/dist/web/console/UnifiedConsole.js +3 -1
- package/dist/web/portDiscovery.d.ts +7 -0
- package/dist/web/portDiscovery.d.ts.map +1 -1
- package/dist/web/portDiscovery.js +35 -4
- package/dist/web/public/app.js +28 -4
- package/dist/web/public/index.html +2 -0
- package/dist/web/public/permissions.css +456 -0
- package/dist/web/public/permissions.js +553 -16
- package/dist/web/public/sessions.css +119 -0
- package/dist/web/public/sessions.js +95 -9
- package/dist/web/public/setup.js +56 -4
- package/dist/web/public/styles.css +21 -2
- package/dist/web/routes/permissionRoutes.d.ts +4 -1
- package/dist/web/routes/permissionRoutes.d.ts.map +1 -1
- package/dist/web/routes/permissionRoutes.js +118 -6
- package/dist/web/routes/setupRoutes.d.ts +18 -0
- package/dist/web/routes/setupRoutes.d.ts.map +1 -1
- package/dist/web/routes/setupRoutes.js +47 -26
- package/dist/web/server.d.ts +4 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +19 -1
- package/package.json +4 -3
- package/scripts/pretooluse-dollhouse.sh +78 -12
- package/scripts/pretooluse-vscode.sh +6 -9
- package/scripts/pretooluse-windsurf.sh +6 -9
- package/server.json +2 -2
|
@@ -74,6 +74,25 @@
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
#tab-permissions {
|
|
77
|
+
--perm-authority-warning-base: #b45309;
|
|
78
|
+
--perm-authority-warning-ink: #7c2d12;
|
|
79
|
+
--perm-authority-cta-accent: #0f766e;
|
|
80
|
+
--perm-authority-host-claude-bg: #fff1e8;
|
|
81
|
+
--perm-authority-host-claude-ink: #9a3412;
|
|
82
|
+
--perm-authority-host-codex-bg: #e8f1ff;
|
|
83
|
+
--perm-authority-host-codex-ink: #1d4ed8;
|
|
84
|
+
--perm-authority-host-cursor-bg: #ecfdf3;
|
|
85
|
+
--perm-authority-host-cursor-ink: #047857;
|
|
86
|
+
--perm-authority-host-vscode-bg: #e0f2fe;
|
|
87
|
+
--perm-authority-host-vscode-ink: #0369a1;
|
|
88
|
+
--perm-authority-host-windsurf-bg: #eef2ff;
|
|
89
|
+
--perm-authority-host-windsurf-ink: #4338ca;
|
|
90
|
+
--perm-authority-host-gemini-bg: #fef3c7;
|
|
91
|
+
--perm-authority-host-gemini-ink: #b45309;
|
|
92
|
+
--perm-authority-host-cline-bg: #f5f3ff;
|
|
93
|
+
--perm-authority-host-cline-ink: #6d28d9;
|
|
94
|
+
--perm-authority-host-generic-bg: #f1f5f9;
|
|
95
|
+
--perm-authority-host-generic-ink: #475569;
|
|
77
96
|
padding-inline: clamp(0.5rem, 1vw, 1rem);
|
|
78
97
|
padding-bottom: calc(var(--site-footer-height, 4.5rem) + 1.5rem);
|
|
79
98
|
}
|
|
@@ -230,6 +249,308 @@
|
|
|
230
249
|
outline: none;
|
|
231
250
|
}
|
|
232
251
|
|
|
252
|
+
.perm-authority-reason-input {
|
|
253
|
+
width: 100%;
|
|
254
|
+
margin-top: 0.35rem;
|
|
255
|
+
border: 1px solid var(--ink-100, #cbd5e1);
|
|
256
|
+
border-radius: 0.75rem;
|
|
257
|
+
background: var(--paper-strong, #fff);
|
|
258
|
+
color: var(--ink-800, #1e293b);
|
|
259
|
+
padding: 0.7rem 0.8rem;
|
|
260
|
+
font: inherit;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.perm-authority-reason-input:focus-visible {
|
|
264
|
+
outline: 2px solid color-mix(in srgb, var(--signal-2, #3b82f6) 28%, transparent);
|
|
265
|
+
outline-offset: 1px;
|
|
266
|
+
border-color: var(--signal-2, #3b82f6);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.perm-authority-field-label {
|
|
270
|
+
display: block;
|
|
271
|
+
margin-top: 0.85rem;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.perm-authority-field-label:first-of-type {
|
|
275
|
+
margin-top: 0;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.perm-authority-options {
|
|
279
|
+
display: grid;
|
|
280
|
+
gap: 0.65rem;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.perm-authority-option {
|
|
284
|
+
display: block;
|
|
285
|
+
border: 1px solid var(--ink-100, #d8e0ea);
|
|
286
|
+
border-radius: 0.9rem;
|
|
287
|
+
background: var(--paper-strong, #fff);
|
|
288
|
+
padding: 0.8rem 0.9rem;
|
|
289
|
+
transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.perm-authority-option:hover {
|
|
293
|
+
border-color: color-mix(in srgb, var(--signal-2, #3b82f6) 32%, var(--ink-100, #d8e0ea));
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.perm-authority-option[data-checked="true"] {
|
|
297
|
+
border-color: color-mix(in srgb, var(--signal-2, #3b82f6) 48%, var(--ink-100, #d8e0ea));
|
|
298
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--signal-2, #3b82f6) 14%, transparent);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.perm-authority-option[data-disabled="true"] {
|
|
302
|
+
background:
|
|
303
|
+
linear-gradient(135deg, color-mix(in srgb, var(--ink-50, #f8fafc) 96%, white), color-mix(in srgb, var(--ink-100, #e2e8f0) 58%, white));
|
|
304
|
+
border-style: dashed;
|
|
305
|
+
border-color: color-mix(in srgb, #f59e0b 44%, var(--ink-100, #d8e0ea));
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.perm-authority-option-main {
|
|
309
|
+
display: grid;
|
|
310
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
311
|
+
gap: 0.75rem;
|
|
312
|
+
align-items: start;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.perm-authority-option-main input {
|
|
316
|
+
margin-top: 0.2rem;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.perm-authority-option-copy {
|
|
320
|
+
display: grid;
|
|
321
|
+
gap: 0.28rem;
|
|
322
|
+
min-width: 0;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
.perm-authority-option-title-row {
|
|
326
|
+
display: flex;
|
|
327
|
+
align-items: center;
|
|
328
|
+
gap: 0.5rem;
|
|
329
|
+
flex-wrap: wrap;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.perm-authority-option-title {
|
|
333
|
+
color: var(--ink-900, #0f172a);
|
|
334
|
+
font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
|
|
335
|
+
font-size: 0.9rem;
|
|
336
|
+
font-weight: 700;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
.perm-authority-option-description {
|
|
340
|
+
color: var(--ink-500, #64748b);
|
|
341
|
+
font-size: 0.8rem;
|
|
342
|
+
line-height: 1.5;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.perm-authority-inline-note {
|
|
346
|
+
display: inline-flex;
|
|
347
|
+
align-items: center;
|
|
348
|
+
padding: 0.18rem 0.48rem;
|
|
349
|
+
border-radius: 999px;
|
|
350
|
+
background: color-mix(in srgb, var(--perm-authority-warning-base) 12%, white);
|
|
351
|
+
border: 1px solid color-mix(in srgb, var(--perm-authority-warning-base) 28%, white);
|
|
352
|
+
color: var(--perm-authority-warning-ink);
|
|
353
|
+
font-size: 0.68rem;
|
|
354
|
+
font-weight: 700;
|
|
355
|
+
letter-spacing: 0.02em;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
.perm-authority-human-note {
|
|
359
|
+
margin-top: 0.85rem;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.perm-authority-current-list {
|
|
363
|
+
display: grid;
|
|
364
|
+
gap: 0.55rem;
|
|
365
|
+
margin-top: 0.9rem;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
.perm-authority-current-host {
|
|
369
|
+
appearance: none;
|
|
370
|
+
width: 100%;
|
|
371
|
+
display: flex;
|
|
372
|
+
align-items: center;
|
|
373
|
+
gap: 0.7rem;
|
|
374
|
+
padding: 0.7rem 0.75rem;
|
|
375
|
+
border: 1px solid var(--ink-100, #d8e0ea);
|
|
376
|
+
border-radius: 0.85rem;
|
|
377
|
+
background: var(--paper-strong, #fff);
|
|
378
|
+
text-align: left;
|
|
379
|
+
cursor: pointer;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.perm-authority-current-host[data-selected="true"] {
|
|
383
|
+
border-color: color-mix(in srgb, var(--signal-2, #3b82f6) 42%, var(--ink-100, #d8e0ea));
|
|
384
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--signal-2, #3b82f6) 10%, transparent);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.perm-authority-current-host:hover,
|
|
388
|
+
.perm-authority-current-host:focus-visible {
|
|
389
|
+
border-color: color-mix(in srgb, var(--signal-2, #3b82f6) 32%, var(--ink-100, #d8e0ea));
|
|
390
|
+
outline: none;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.perm-authority-host-mark {
|
|
394
|
+
display: inline-flex;
|
|
395
|
+
align-items: center;
|
|
396
|
+
justify-content: center;
|
|
397
|
+
width: 2rem;
|
|
398
|
+
height: 2rem;
|
|
399
|
+
border-radius: 0.65rem;
|
|
400
|
+
font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
|
|
401
|
+
font-size: 0.7rem;
|
|
402
|
+
font-weight: 800;
|
|
403
|
+
letter-spacing: 0.04em;
|
|
404
|
+
flex-shrink: 0;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
.perm-authority-host-mark--claude {
|
|
408
|
+
background: var(--perm-authority-host-claude-bg);
|
|
409
|
+
color: var(--perm-authority-host-claude-ink);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.perm-authority-host-mark--codex {
|
|
413
|
+
background: var(--perm-authority-host-codex-bg);
|
|
414
|
+
color: var(--perm-authority-host-codex-ink);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
.perm-authority-host-mark--cursor {
|
|
418
|
+
background: var(--perm-authority-host-cursor-bg);
|
|
419
|
+
color: var(--perm-authority-host-cursor-ink);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
.perm-authority-host-mark--vscode {
|
|
423
|
+
background: var(--perm-authority-host-vscode-bg);
|
|
424
|
+
color: var(--perm-authority-host-vscode-ink);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.perm-authority-host-mark--windsurf {
|
|
428
|
+
background: var(--perm-authority-host-windsurf-bg);
|
|
429
|
+
color: var(--perm-authority-host-windsurf-ink);
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
.perm-authority-host-mark--gemini {
|
|
433
|
+
background: var(--perm-authority-host-gemini-bg);
|
|
434
|
+
color: var(--perm-authority-host-gemini-ink);
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.perm-authority-host-mark--cline {
|
|
438
|
+
background: var(--perm-authority-host-cline-bg);
|
|
439
|
+
color: var(--perm-authority-host-cline-ink);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.perm-authority-host-mark--lmstudio,
|
|
443
|
+
.perm-authority-host-mark--generic {
|
|
444
|
+
background: var(--perm-authority-host-generic-bg);
|
|
445
|
+
color: var(--perm-authority-host-generic-ink);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.perm-authority-current-host-copy {
|
|
449
|
+
display: grid;
|
|
450
|
+
gap: 0.14rem;
|
|
451
|
+
min-width: 0;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
.perm-authority-current-host-name {
|
|
455
|
+
color: var(--ink-900, #0f172a);
|
|
456
|
+
font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
|
|
457
|
+
font-size: 0.84rem;
|
|
458
|
+
font-weight: 700;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.perm-authority-current-host-mode {
|
|
462
|
+
color: var(--ink-500, #64748b);
|
|
463
|
+
font-size: 0.76rem;
|
|
464
|
+
font-weight: 600;
|
|
465
|
+
text-transform: uppercase;
|
|
466
|
+
letter-spacing: 0.05em;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
.perm-authority-selected-host {
|
|
470
|
+
color: var(--ink-900, #0f172a);
|
|
471
|
+
font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
|
|
472
|
+
font-size: 1rem;
|
|
473
|
+
font-weight: 800;
|
|
474
|
+
margin-bottom: 0.25rem;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
.perm-authority-save-shell {
|
|
478
|
+
margin-top: 0.85rem;
|
|
479
|
+
border: 1px solid var(--ink-100, #d8e0ea);
|
|
480
|
+
border-radius: 0.95rem;
|
|
481
|
+
background: color-mix(in srgb, var(--paper-base, #f8fafc) 84%, white);
|
|
482
|
+
padding: 0.85rem;
|
|
483
|
+
transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
.perm-authority-save-shell[data-dirty="true"] {
|
|
487
|
+
border-color: color-mix(in srgb, var(--signal-2, #3b82f6) 48%, var(--ink-100, #d8e0ea));
|
|
488
|
+
background: color-mix(in srgb, var(--signal-2, #3b82f6) 9%, white);
|
|
489
|
+
box-shadow: 0 10px 30px color-mix(in srgb, var(--signal-2, #3b82f6) 10%, transparent);
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
.perm-authority-dirty-state {
|
|
493
|
+
margin-bottom: 0.7rem;
|
|
494
|
+
padding: 0.65rem 0.75rem;
|
|
495
|
+
border-radius: 0.8rem;
|
|
496
|
+
background: color-mix(in srgb, var(--signal-2, #3b82f6) 11%, white);
|
|
497
|
+
border: 1px solid color-mix(in srgb, var(--signal-2, #3b82f6) 24%, white);
|
|
498
|
+
color: var(--ink-800, #1e293b);
|
|
499
|
+
font-size: 0.8rem;
|
|
500
|
+
line-height: 1.45;
|
|
501
|
+
font-weight: 600;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
.perm-authority-actions {
|
|
505
|
+
display: flex;
|
|
506
|
+
align-items: center;
|
|
507
|
+
justify-content: space-between;
|
|
508
|
+
gap: 0.85rem;
|
|
509
|
+
flex-wrap: wrap;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
.perm-authority-save-copy {
|
|
513
|
+
color: var(--ink-600, #475569);
|
|
514
|
+
font-size: 0.8rem;
|
|
515
|
+
line-height: 1.45;
|
|
516
|
+
max-width: 34rem;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
.perm-authority-save-btn {
|
|
520
|
+
padding-inline: 0.95rem;
|
|
521
|
+
padding-block: 0.5rem;
|
|
522
|
+
font-size: 0.74rem;
|
|
523
|
+
font-weight: 700;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
.perm-authority-save-btn[data-dirty="true"] {
|
|
527
|
+
background: linear-gradient(
|
|
528
|
+
135deg,
|
|
529
|
+
color-mix(in srgb, var(--signal-2, #3b82f6) 78%, #0f172a),
|
|
530
|
+
color-mix(in srgb, var(--perm-authority-cta-accent) 72%, #0f172a)
|
|
531
|
+
);
|
|
532
|
+
border-color: color-mix(in srgb, var(--signal-2, #3b82f6) 70%, #0f172a);
|
|
533
|
+
color: white;
|
|
534
|
+
box-shadow: 0 10px 22px color-mix(in srgb, var(--signal-2, #3b82f6) 28%, transparent);
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.perm-authority-save-btn[data-dirty="true"]:hover,
|
|
538
|
+
.perm-authority-save-btn[data-dirty="true"]:focus-visible {
|
|
539
|
+
color: white;
|
|
540
|
+
border-color: color-mix(in srgb, var(--signal-2, #3b82f6) 78%, #0f172a);
|
|
541
|
+
background: linear-gradient(
|
|
542
|
+
135deg,
|
|
543
|
+
color-mix(in srgb, var(--signal-2, #3b82f6) 72%, #0f172a),
|
|
544
|
+
color-mix(in srgb, var(--perm-authority-cta-accent) 78%, #0f172a)
|
|
545
|
+
);
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
.perm-authority-save-btn:disabled {
|
|
549
|
+
cursor: default;
|
|
550
|
+
opacity: 0.74;
|
|
551
|
+
box-shadow: none;
|
|
552
|
+
}
|
|
553
|
+
|
|
233
554
|
.perm-source-item--selected {
|
|
234
555
|
background: color-mix(in srgb, var(--signal-2, #3b82f6) 10%, transparent);
|
|
235
556
|
border-left: 3px solid var(--signal-2, #3b82f6);
|
|
@@ -433,6 +754,7 @@
|
|
|
433
754
|
|
|
434
755
|
.perm-audit-modal .modal-body {
|
|
435
756
|
display: flex;
|
|
757
|
+
align-items: stretch;
|
|
436
758
|
min-height: 0;
|
|
437
759
|
padding: 0;
|
|
438
760
|
}
|
|
@@ -442,10 +764,16 @@
|
|
|
442
764
|
}
|
|
443
765
|
|
|
444
766
|
.perm-audit-modal .perm-feed--modal {
|
|
767
|
+
flex: 1 1 auto;
|
|
768
|
+
width: 100%;
|
|
769
|
+
min-width: 0;
|
|
445
770
|
padding: 0.875rem 1rem 1rem;
|
|
446
771
|
}
|
|
447
772
|
|
|
448
773
|
.perm-audit-entry {
|
|
774
|
+
display: block;
|
|
775
|
+
width: 100%;
|
|
776
|
+
box-sizing: border-box;
|
|
449
777
|
border: 1px solid var(--ink-100, #e2e8f0);
|
|
450
778
|
border-radius: 0.75rem;
|
|
451
779
|
background: var(--paper-strong, #fff);
|
|
@@ -558,6 +886,48 @@
|
|
|
558
886
|
font-size: 0.82rem;
|
|
559
887
|
}
|
|
560
888
|
|
|
889
|
+
@media (max-width: 720px) {
|
|
890
|
+
.perm-audit-modal-dialog {
|
|
891
|
+
width: min(calc(100vw - 1rem), 82rem);
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
.perm-audit-modal .modal-header {
|
|
895
|
+
grid-template-areas:
|
|
896
|
+
"heading"
|
|
897
|
+
"meta"
|
|
898
|
+
"actions";
|
|
899
|
+
grid-template-columns: minmax(0, 1fr);
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
.perm-audit-modal .modal-header-actions {
|
|
903
|
+
justify-self: start;
|
|
904
|
+
flex-wrap: wrap;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
.perm-audit-modal .perm-feed--modal {
|
|
908
|
+
padding: 0.75rem;
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
.perm-audit-entry {
|
|
912
|
+
margin-bottom: 0.625rem;
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
.perm-audit-summary-row {
|
|
916
|
+
grid-template-columns: minmax(0, 1fr);
|
|
917
|
+
gap: 0.45rem;
|
|
918
|
+
padding: 0.75rem 0.875rem;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
.perm-audit-entry-body {
|
|
922
|
+
padding: 0.85rem 0.875rem 0.9rem;
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
.perm-audit-detail-row {
|
|
926
|
+
grid-template-columns: minmax(0, 1fr);
|
|
927
|
+
gap: 0.25rem;
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
|
|
561
931
|
/* ── Source Elements ───────────────────────────────────────── */
|
|
562
932
|
|
|
563
933
|
.perm-source-list {
|
|
@@ -669,6 +1039,86 @@
|
|
|
669
1039
|
background: color-mix(in srgb, var(--surface-2) 78%, var(--paper-strong));
|
|
670
1040
|
}
|
|
671
1041
|
|
|
1042
|
+
[data-theme="dark"] .perm-authority-option {
|
|
1043
|
+
background: color-mix(in srgb, var(--surface-1) 82%, var(--paper-strong));
|
|
1044
|
+
border-color: color-mix(in srgb, var(--line, #2b3445) 90%, transparent);
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
[data-theme="dark"] .perm-authority-option[data-checked="true"] {
|
|
1048
|
+
border-color: color-mix(in srgb, var(--signal-2) 48%, var(--line, #2b3445));
|
|
1049
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--signal-2) 20%, transparent);
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
[data-theme="dark"] .perm-authority-option[data-disabled="true"] {
|
|
1053
|
+
background: linear-gradient(135deg, color-mix(in srgb, var(--surface-1) 94%, var(--paper-strong)), color-mix(in srgb, #7c2d12 16%, var(--surface-1)));
|
|
1054
|
+
border-color: color-mix(in srgb, #f59e0b 48%, var(--line, #2b3445));
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
[data-theme="dark"] .perm-authority-option-title,
|
|
1058
|
+
[data-theme="dark"] .perm-authority-reason-input {
|
|
1059
|
+
color: var(--ink-200, #e2e8f0);
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
[data-theme="dark"] .perm-authority-option-description,
|
|
1063
|
+
[data-theme="dark"] .perm-authority-save-copy {
|
|
1064
|
+
color: var(--ink-400, #94a3b8);
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
[data-theme="dark"] .perm-authority-inline-note {
|
|
1068
|
+
background: color-mix(in srgb, var(--perm-authority-warning-ink) 54%, var(--surface-1));
|
|
1069
|
+
border-color: color-mix(in srgb, #fdba74 28%, var(--line, #2b3445));
|
|
1070
|
+
color: #fdba74;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
[data-theme="dark"] .perm-authority-reason-input {
|
|
1074
|
+
background: color-mix(in srgb, var(--surface-2) 62%, var(--paper-strong));
|
|
1075
|
+
border-color: color-mix(in srgb, var(--line, #2b3445) 94%, transparent);
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
[data-theme="dark"] .perm-authority-save-shell {
|
|
1079
|
+
background: color-mix(in srgb, var(--surface-1) 82%, var(--paper-strong));
|
|
1080
|
+
border-color: color-mix(in srgb, var(--line, #2b3445) 92%, transparent);
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
[data-theme="dark"] .perm-authority-current-host {
|
|
1084
|
+
background: color-mix(in srgb, var(--surface-1) 82%, var(--paper-strong));
|
|
1085
|
+
border-color: color-mix(in srgb, var(--line, #2b3445) 92%, transparent);
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
[data-theme="dark"] .perm-authority-current-host[data-selected="true"] {
|
|
1089
|
+
border-color: color-mix(in srgb, var(--signal-2) 40%, var(--line, #2b3445));
|
|
1090
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--signal-2) 16%, transparent);
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
[data-theme="dark"] .perm-authority-current-host:hover,
|
|
1094
|
+
[data-theme="dark"] .perm-authority-current-host:focus-visible {
|
|
1095
|
+
border-color: color-mix(in srgb, var(--signal-2) 34%, var(--line, #2b3445));
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
[data-theme="dark"] .perm-authority-current-host-name {
|
|
1099
|
+
color: var(--ink-200, #e2e8f0);
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
[data-theme="dark"] .perm-authority-selected-host {
|
|
1103
|
+
color: var(--ink-200, #e2e8f0);
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
[data-theme="dark"] .perm-authority-current-host-mode {
|
|
1107
|
+
color: var(--ink-400, #94a3b8);
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
[data-theme="dark"] .perm-authority-save-shell[data-dirty="true"] {
|
|
1111
|
+
background: color-mix(in srgb, var(--signal-2) 10%, var(--surface-1));
|
|
1112
|
+
border-color: color-mix(in srgb, var(--signal-2) 42%, var(--line, #2b3445));
|
|
1113
|
+
box-shadow: 0 10px 30px color-mix(in srgb, var(--signal-2) 16%, transparent);
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
[data-theme="dark"] .perm-authority-dirty-state {
|
|
1117
|
+
background: color-mix(in srgb, var(--signal-2) 16%, var(--surface-1));
|
|
1118
|
+
border-color: color-mix(in srgb, var(--signal-2) 24%, var(--line, #2b3445));
|
|
1119
|
+
color: var(--ink-200, #e2e8f0);
|
|
1120
|
+
}
|
|
1121
|
+
|
|
672
1122
|
[data-theme="dark"] .perm-stat-value {
|
|
673
1123
|
color: var(--ink-50, #f1f5f9);
|
|
674
1124
|
}
|
|
@@ -701,6 +1151,12 @@
|
|
|
701
1151
|
background: color-mix(in srgb, var(--paper) 36%, var(--surface-1));
|
|
702
1152
|
}
|
|
703
1153
|
|
|
1154
|
+
[data-theme="dark"] .perm-detail-refresh {
|
|
1155
|
+
background: color-mix(in srgb, var(--signal-2) 14%, var(--surface-1));
|
|
1156
|
+
border-color: color-mix(in srgb, var(--signal-2) 24%, var(--line, #2b3445));
|
|
1157
|
+
color: var(--ink-300, #cbd5e1);
|
|
1158
|
+
}
|
|
1159
|
+
|
|
704
1160
|
[data-theme="dark"] .perm-audit-entry {
|
|
705
1161
|
background: color-mix(in srgb, var(--paper) 22%, var(--surface-1));
|
|
706
1162
|
border-color: color-mix(in srgb, var(--line) 88%, transparent);
|