pi-studio 0.9.23 → 0.9.25

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/client/studio.css CHANGED
@@ -350,31 +350,34 @@
350
350
  }
351
351
 
352
352
  .pane-focus-btn.is-active {
353
- background: var(--accent);
354
- border-color: var(--accent);
355
- color: var(--accent-contrast);
353
+ background: var(--panel);
354
+ border-color: var(--control-border);
355
+ color: var(--accent);
356
356
  font-weight: 600;
357
357
  }
358
358
 
359
359
  button.pane-focus-btn.is-active:not(:disabled):hover {
360
- background: var(--accent);
361
- border-color: var(--accent);
362
- color: var(--accent-contrast);
363
- filter: brightness(0.95);
360
+ background: var(--panel-2);
361
+ border-color: var(--control-border);
362
+ color: var(--accent);
364
363
  }
365
364
 
366
365
  #scratchpadBtn.has-content,
367
366
  #reviewNotesBtn.has-content,
368
367
  #reviewNotesBtn.is-active,
369
368
  #outlineBtn.is-active {
370
- border-color: var(--accent);
369
+ background: var(--panel);
370
+ border-color: var(--control-border);
371
371
  color: var(--accent);
372
372
  font-weight: 600;
373
373
  }
374
374
 
375
- #reviewNotesBtn.is-active,
376
- #outlineBtn.is-active {
377
- background: var(--accent-soft);
375
+ #scratchpadBtn.has-content:not(:disabled):hover,
376
+ #reviewNotesBtn.has-content:not(:disabled):hover,
377
+ #reviewNotesBtn.is-active:not(:disabled):hover,
378
+ #outlineBtn.is-active:not(:disabled):hover {
379
+ background: var(--panel-2);
380
+ color: var(--accent);
378
381
  }
379
382
 
380
383
  .section-header select {
@@ -2529,9 +2532,10 @@
2529
2532
 
2530
2533
  .rendered-markdown .studio-html-artifact-comment-btn.is-active,
2531
2534
  .rendered-markdown .studio-html-artifact-shell.is-comment-mode .studio-html-artifact-comment-btn.is-active {
2532
- background: var(--accent-soft);
2533
- border-color: var(--accent);
2535
+ background: var(--panel);
2536
+ border-color: var(--accent-soft-strong);
2534
2537
  color: var(--accent);
2538
+ font-weight: 600;
2535
2539
  }
2536
2540
 
2537
2541
  .rendered-markdown .studio-html-artifact-zoom-controls {
@@ -2920,6 +2924,295 @@
2920
2924
  flex: 0 0 auto;
2921
2925
  }
2922
2926
 
2927
+ #critiqueView.git-changes-host {
2928
+ flex: 1 1 auto;
2929
+ min-height: 0;
2930
+ display: flex;
2931
+ flex-direction: column;
2932
+ overflow: hidden;
2933
+ padding: 0;
2934
+ }
2935
+
2936
+ .git-changes-panel {
2937
+ display: flex;
2938
+ flex-direction: column;
2939
+ flex: 1 1 auto;
2940
+ min-height: 0;
2941
+ height: 100%;
2942
+ gap: 0;
2943
+ color: var(--text);
2944
+ font-family: var(--font-ui);
2945
+ font-size: var(--studio-response-font-size);
2946
+ }
2947
+
2948
+ .git-changes-toolbar {
2949
+ display: flex;
2950
+ align-items: flex-start;
2951
+ justify-content: space-between;
2952
+ gap: 14px;
2953
+ padding: 10px 12px;
2954
+ border-bottom: 1px solid var(--panel-border);
2955
+ background: var(--panel-2);
2956
+ }
2957
+
2958
+ .git-changes-title-group {
2959
+ min-width: 0;
2960
+ display: grid;
2961
+ gap: 3px;
2962
+ }
2963
+
2964
+ .git-changes-title {
2965
+ color: var(--text);
2966
+ font-size: 13px;
2967
+ font-weight: 700;
2968
+ }
2969
+
2970
+ .git-changes-subtitle,
2971
+ .git-changes-root {
2972
+ color: var(--studio-info-text, var(--muted));
2973
+ font-size: 12px;
2974
+ line-height: 1.35;
2975
+ overflow: hidden;
2976
+ text-overflow: ellipsis;
2977
+ white-space: nowrap;
2978
+ }
2979
+
2980
+ .git-changes-actions {
2981
+ display: inline-flex;
2982
+ gap: 8px;
2983
+ flex-wrap: wrap;
2984
+ justify-content: flex-end;
2985
+ flex: 0 0 auto;
2986
+ }
2987
+
2988
+ .git-changes-actions button {
2989
+ padding: 6px 10px;
2990
+ font-size: 12px;
2991
+ }
2992
+
2993
+ .git-changes-notice {
2994
+ margin: 10px 12px 0;
2995
+ padding: 8px 10px;
2996
+ border: 1px solid var(--control-border);
2997
+ border-radius: 10px;
2998
+ color: var(--studio-info-text, var(--muted));
2999
+ background: var(--panel);
3000
+ font-size: 12px;
3001
+ }
3002
+
3003
+ .git-changes-notice-error {
3004
+ color: var(--error);
3005
+ border-color: var(--error);
3006
+ background: var(--error-soft);
3007
+ }
3008
+
3009
+ .git-changes-body {
3010
+ display: grid;
3011
+ grid-template-columns: minmax(150px, clamp(170px, 28%, 260px)) minmax(0, 1fr);
3012
+ min-height: 0;
3013
+ flex: 1 1 auto;
3014
+ overflow: hidden;
3015
+ }
3016
+
3017
+ .git-changes-file-list {
3018
+ min-width: 0;
3019
+ min-height: 0;
3020
+ overflow: auto;
3021
+ overscroll-behavior: contain;
3022
+ padding: 12px;
3023
+ display: grid;
3024
+ align-content: start;
3025
+ gap: 8px;
3026
+ border-right: 1px solid var(--panel-border);
3027
+ background: var(--panel);
3028
+ }
3029
+
3030
+ .git-changes-file {
3031
+ width: 100%;
3032
+ min-width: 0;
3033
+ display: grid;
3034
+ grid-template-columns: auto minmax(0, 1fr) auto;
3035
+ grid-template-areas:
3036
+ "icon name status"
3037
+ "icon stats status";
3038
+ gap: 3px 10px;
3039
+ align-items: center;
3040
+ text-align: left;
3041
+ padding: 9px 10px;
3042
+ border-radius: 10px;
3043
+ border-color: var(--border-subtle);
3044
+ background: var(--panel-2);
3045
+ }
3046
+
3047
+ .git-changes-file.is-selected {
3048
+ border-color: var(--accent-soft-strong);
3049
+ color: var(--accent);
3050
+ background: var(--panel-2);
3051
+ }
3052
+
3053
+ .git-changes-file-icon {
3054
+ grid-area: icon;
3055
+ min-width: 28px;
3056
+ height: 22px;
3057
+ display: inline-flex;
3058
+ align-items: center;
3059
+ justify-content: center;
3060
+ border: 1px solid var(--control-border);
3061
+ border-radius: 7px;
3062
+ color: var(--studio-info-text, var(--muted));
3063
+ font-size: 11px;
3064
+ font-family: var(--font-mono);
3065
+ font-weight: 700;
3066
+ }
3067
+
3068
+ .git-changes-file-name {
3069
+ grid-area: name;
3070
+ min-width: 0;
3071
+ overflow: hidden;
3072
+ text-overflow: ellipsis;
3073
+ white-space: nowrap;
3074
+ color: var(--text);
3075
+ font-weight: 600;
3076
+ }
3077
+
3078
+ .git-changes-file.is-selected .git-changes-file-name {
3079
+ color: var(--accent);
3080
+ }
3081
+
3082
+ .git-changes-file-status {
3083
+ grid-area: status;
3084
+ justify-self: end;
3085
+ padding: 2px 8px;
3086
+ border: 1px solid var(--control-border);
3087
+ border-radius: 999px;
3088
+ color: var(--studio-info-text, var(--muted));
3089
+ font-size: 11px;
3090
+ line-height: 1.2;
3091
+ background: var(--panel);
3092
+ }
3093
+
3094
+ .git-changes-stats {
3095
+ grid-area: stats;
3096
+ display: inline-flex;
3097
+ gap: 8px;
3098
+ font-family: var(--font-mono);
3099
+ font-size: 11px;
3100
+ }
3101
+
3102
+ .git-changes-additions {
3103
+ color: color-mix(in srgb, var(--ok) 72%, var(--text));
3104
+ }
3105
+
3106
+ .git-changes-deletions {
3107
+ color: color-mix(in srgb, var(--error) 72%, var(--text));
3108
+ }
3109
+
3110
+ .git-changes-diff-pane {
3111
+ min-width: 0;
3112
+ min-height: 0;
3113
+ overflow-x: hidden;
3114
+ overflow-y: auto;
3115
+ overscroll-behavior: contain;
3116
+ background: var(--panel);
3117
+ }
3118
+
3119
+ #critiqueView.git-changes-host .git-changes-diff {
3120
+ margin: 0;
3121
+ padding: 8px 0 10px;
3122
+ border: 0;
3123
+ border-radius: 0;
3124
+ min-height: 100%;
3125
+ overflow: visible;
3126
+ background: var(--panel);
3127
+ color: var(--text);
3128
+ font-family: var(--font-mono);
3129
+ font-size: var(--studio-response-raw-font-size);
3130
+ line-height: 1.45;
3131
+ white-space: pre-wrap;
3132
+ overflow-wrap: anywhere;
3133
+ word-break: break-word;
3134
+ }
3135
+
3136
+ #critiqueView.git-changes-host .git-changes-diff code,
3137
+ #critiqueView.git-changes-host .git-changes-diff code > span {
3138
+ color: inherit;
3139
+ font-size: inherit;
3140
+ white-space: inherit;
3141
+ }
3142
+
3143
+ .git-changes-line {
3144
+ display: block;
3145
+ padding: 0 18px;
3146
+ min-height: 1.45em;
3147
+ }
3148
+
3149
+ .git-changes-line-meta {
3150
+ color: var(--studio-link, var(--accent));
3151
+ font-weight: 600;
3152
+ }
3153
+
3154
+ .git-changes-line-add {
3155
+ color: color-mix(in srgb, var(--ok) 62%, var(--text));
3156
+ background: var(--diff-added-bg);
3157
+ }
3158
+
3159
+ .git-changes-line-del {
3160
+ color: color-mix(in srgb, var(--error) 62%, var(--text));
3161
+ background: var(--diff-removed-bg);
3162
+ }
3163
+
3164
+ .git-changes-empty {
3165
+ padding: 18px;
3166
+ color: var(--studio-info-text, var(--muted));
3167
+ font-size: 13px;
3168
+ }
3169
+
3170
+ @container (max-width: 780px) {
3171
+ .git-changes-toolbar {
3172
+ gap: 10px;
3173
+ }
3174
+ .git-changes-actions {
3175
+ gap: 6px;
3176
+ }
3177
+ .git-changes-actions button {
3178
+ padding: 5px 8px;
3179
+ }
3180
+ .git-changes-body {
3181
+ grid-template-columns: minmax(130px, 180px) minmax(0, 1fr);
3182
+ }
3183
+ .git-changes-file-list {
3184
+ padding: 10px 8px;
3185
+ }
3186
+ .git-changes-file {
3187
+ grid-template-columns: auto minmax(0, 1fr);
3188
+ grid-template-areas:
3189
+ "icon name"
3190
+ "icon stats";
3191
+ gap: 3px 8px;
3192
+ padding: 8px;
3193
+ }
3194
+ .git-changes-file-status {
3195
+ display: none;
3196
+ }
3197
+ .git-changes-file-icon {
3198
+ min-width: 24px;
3199
+ height: 20px;
3200
+ font-size: 10px;
3201
+ }
3202
+ }
3203
+
3204
+ @container (max-width: 480px) {
3205
+ .git-changes-body {
3206
+ grid-template-columns: 1fr;
3207
+ grid-template-rows: minmax(120px, 0.34fr) minmax(0, 0.66fr);
3208
+ }
3209
+ .git-changes-file-list {
3210
+ max-height: none;
3211
+ border-right: 0;
3212
+ border-bottom: 1px solid var(--panel-border);
3213
+ }
3214
+ }
3215
+
2923
3216
  .files-panel {
2924
3217
  display: flex;
2925
3218
  flex-direction: column;
@@ -3108,9 +3401,9 @@
3108
3401
  }
3109
3402
 
3110
3403
  .trace-filter-btn.is-active {
3111
- border-color: var(--accent-soft-strong);
3112
- background: var(--accent-soft);
3113
- color: var(--accent);
3404
+ border-color: var(--control-border);
3405
+ background: var(--panel-2);
3406
+ color: var(--text);
3114
3407
  font-weight: 600;
3115
3408
  }
3116
3409
 
@@ -3148,16 +3441,16 @@
3148
3441
 
3149
3442
  .trace-entry-status.trace-entry-status-streaming,
3150
3443
  .trace-entry-status.trace-entry-status-pending {
3151
- color: var(--accent);
3152
- border-color: var(--accent-soft-strong);
3153
- background: var(--accent-soft);
3444
+ color: color-mix(in srgb, var(--accent) 72%, var(--text));
3445
+ border-color: var(--control-border);
3446
+ background: transparent;
3154
3447
  }
3155
3448
 
3156
3449
  .trace-summary-status.trace-status-complete,
3157
3450
  .trace-entry-status.trace-entry-status-complete {
3158
- color: var(--ok);
3159
- border-color: var(--ok-border);
3160
- background: var(--ok-soft);
3451
+ color: color-mix(in srgb, var(--ok) 68%, var(--text));
3452
+ border-color: var(--control-border);
3453
+ background: transparent;
3161
3454
  }
3162
3455
 
3163
3456
  .trace-entry-status.trace-entry-status-error {
@@ -3256,6 +3549,118 @@
3256
3549
  background: var(--panel);
3257
3550
  }
3258
3551
 
3552
+ .trace-tool-input {
3553
+ display: flex;
3554
+ flex-direction: column;
3555
+ gap: 8px;
3556
+ min-width: 0;
3557
+ }
3558
+
3559
+ .trace-tool-fields {
3560
+ display: grid;
3561
+ gap: 5px;
3562
+ padding: 8px 9px;
3563
+ border: 1px solid var(--panel-border);
3564
+ border-radius: 8px;
3565
+ background: var(--panel);
3566
+ }
3567
+
3568
+ .trace-tool-field {
3569
+ display: grid;
3570
+ grid-template-columns: minmax(58px, auto) minmax(0, 1fr);
3571
+ gap: 8px;
3572
+ align-items: baseline;
3573
+ min-width: 0;
3574
+ font-size: 12px;
3575
+ }
3576
+
3577
+ .trace-tool-field-label,
3578
+ .trace-tool-code-label {
3579
+ color: var(--muted);
3580
+ font-size: 11px;
3581
+ font-weight: 600;
3582
+ letter-spacing: 0.04em;
3583
+ text-transform: uppercase;
3584
+ }
3585
+
3586
+ .trace-tool-field-value {
3587
+ min-width: 0;
3588
+ color: var(--text);
3589
+ overflow-wrap: anywhere;
3590
+ white-space: pre-wrap;
3591
+ font-family: var(--font-mono);
3592
+ font-size: 12px;
3593
+ }
3594
+
3595
+ .trace-tool-path {
3596
+ color: var(--studio-info-text, var(--muted));
3597
+ }
3598
+
3599
+ .trace-tool-change-list {
3600
+ display: flex;
3601
+ flex-direction: column;
3602
+ gap: 7px;
3603
+ }
3604
+
3605
+ .trace-tool-details {
3606
+ border: 1px solid var(--panel-border);
3607
+ border-radius: 8px;
3608
+ background: var(--panel);
3609
+ overflow: hidden;
3610
+ }
3611
+
3612
+ .trace-tool-details > summary {
3613
+ cursor: pointer;
3614
+ user-select: none;
3615
+ padding: 7px 9px;
3616
+ color: var(--studio-info-text, var(--muted));
3617
+ font-size: 12px;
3618
+ font-weight: 600;
3619
+ line-height: 1.35;
3620
+ }
3621
+
3622
+ .trace-tool-details[open] > summary {
3623
+ border-bottom: 1px solid var(--border-subtle);
3624
+ background: var(--panel-2);
3625
+ }
3626
+
3627
+ .trace-tool-details-body,
3628
+ .trace-tool-change-body {
3629
+ padding: 8px;
3630
+ }
3631
+
3632
+ .trace-tool-change-grid {
3633
+ display: grid;
3634
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
3635
+ gap: 8px;
3636
+ }
3637
+
3638
+ .trace-tool-change-column {
3639
+ display: flex;
3640
+ flex-direction: column;
3641
+ gap: 5px;
3642
+ min-width: 0;
3643
+ }
3644
+
3645
+ .trace-tool-input-command > .trace-output,
3646
+ .trace-tool-details-body .trace-output,
3647
+ .trace-tool-change-column .trace-output {
3648
+ border: 1px solid var(--panel-border);
3649
+ border-radius: 8px;
3650
+ background: var(--panel);
3651
+ }
3652
+
3653
+ .trace-tool-raw-input > summary {
3654
+ color: var(--muted);
3655
+ font-weight: 500;
3656
+ }
3657
+
3658
+ @container (max-width: 720px) {
3659
+ .trace-tool-change-grid {
3660
+ grid-template-columns: 1fr;
3661
+ }
3662
+ }
3663
+
3259
3664
  .trace-image-gallery {
3260
3665
  display: grid;
3261
3666
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
@@ -4081,6 +4486,39 @@
4081
4486
  display: none !important;
4082
4487
  }
4083
4488
 
4489
+ .scratchpad-recent-header {
4490
+ display: flex;
4491
+ align-items: flex-start;
4492
+ justify-content: space-between;
4493
+ gap: 12px;
4494
+ margin-bottom: 10px;
4495
+ }
4496
+
4497
+ .scratchpad-recent-heading-group {
4498
+ min-width: 0;
4499
+ }
4500
+
4501
+ .scratchpad-recent-heading {
4502
+ color: var(--text);
4503
+ font-size: 12px;
4504
+ font-weight: 700;
4505
+ line-height: 1.25;
4506
+ }
4507
+
4508
+ .scratchpad-recent-subtitle {
4509
+ margin-top: 2px;
4510
+ color: var(--studio-info-text, var(--muted));
4511
+ font-size: 11px;
4512
+ line-height: 1.35;
4513
+ }
4514
+
4515
+ .scratchpad-recent-hide-btn {
4516
+ flex: 0 0 auto;
4517
+ padding: 4px 8px;
4518
+ font-size: 11px;
4519
+ line-height: 1.1;
4520
+ }
4521
+
4084
4522
  .scratchpad-recent-empty,
4085
4523
  .scratchpad-recent-loading {
4086
4524
  color: var(--studio-info-text, var(--muted));
@@ -4750,9 +5188,9 @@
4750
5188
 
4751
5189
  body.studio-ui-refresh #leftFocusBtn.is-active,
4752
5190
  body.studio-ui-refresh #rightFocusBtn.is-active {
4753
- background: var(--accent);
4754
- border-color: var(--accent);
4755
- color: var(--accent-contrast);
5191
+ background: var(--studio-header-action-bg, transparent);
5192
+ border-color: var(--studio-header-action-border, transparent);
5193
+ color: var(--accent);
4756
5194
  }
4757
5195
 
4758
5196
  body.studio-ui-refresh #sourceBadge,
@@ -4878,9 +5316,18 @@
4878
5316
  body.studio-ui-refresh #outlineBtn.is-active,
4879
5317
  body.studio-ui-refresh #scratchpadBtn.has-content,
4880
5318
  body.studio-ui-refresh #reviewNotesBtn.has-content {
4881
- background: var(--accent-soft);
5319
+ background: var(--studio-header-action-bg, transparent);
5320
+ color: var(--accent);
5321
+ border-color: var(--studio-header-action-border, transparent);
5322
+ font-weight: 600;
5323
+ }
5324
+
5325
+ body.studio-ui-refresh #reviewNotesBtn.is-active:not(:disabled):hover,
5326
+ body.studio-ui-refresh #outlineBtn.is-active:not(:disabled):hover,
5327
+ body.studio-ui-refresh #scratchpadBtn.has-content:not(:disabled):hover,
5328
+ body.studio-ui-refresh #reviewNotesBtn.has-content:not(:disabled):hover {
5329
+ background: var(--studio-header-action-hover-bg, var(--panel-2));
4882
5330
  color: var(--accent);
4883
- border-color: transparent;
4884
5331
  }
4885
5332
 
4886
5333
  body.studio-ui-refresh .source-wrap {
@@ -5176,7 +5623,8 @@
5176
5623
  font-weight: 450;
5177
5624
  }
5178
5625
 
5179
- body.studio-ui-refresh .studio-refresh-menu-item > .source-origin-summary {
5626
+ body.studio-ui-refresh .studio-refresh-menu-item > .source-origin-summary,
5627
+ body.studio-ui-refresh .studio-refresh-menu-item > .source-session-summary {
5180
5628
  width: 100%;
5181
5629
  border-color: var(--border-subtle);
5182
5630
  background: var(--panel-2);