pi-studio 0.8.3 → 0.9.0

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
@@ -1232,6 +1232,10 @@
1232
1232
  position: relative;
1233
1233
  }
1234
1234
 
1235
+ .rendered-markdown blockquote.studio-copyable-block {
1236
+ padding-right: 3.6rem;
1237
+ }
1238
+
1235
1239
  .rendered-markdown .studio-copy-block-btn {
1236
1240
  position: absolute;
1237
1241
  top: 8px;
@@ -2088,6 +2092,48 @@
2088
2092
  background: var(--panel);
2089
2093
  }
2090
2094
 
2095
+ .trace-image-gallery {
2096
+ display: grid;
2097
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
2098
+ gap: 8px;
2099
+ padding: 8px;
2100
+ border: 1px solid var(--panel-border);
2101
+ border-radius: 8px;
2102
+ background: var(--panel);
2103
+ }
2104
+
2105
+ .trace-output-wrap + .trace-image-gallery,
2106
+ .trace-output + .trace-image-gallery {
2107
+ margin-top: 4px;
2108
+ }
2109
+
2110
+ .trace-image-card {
2111
+ display: flex;
2112
+ flex-direction: column;
2113
+ gap: 5px;
2114
+ min-width: 0;
2115
+ margin: 0;
2116
+ padding: 7px;
2117
+ border: 1px solid var(--border-subtle);
2118
+ border-radius: 7px;
2119
+ background: var(--panel-2);
2120
+ }
2121
+
2122
+ .trace-image-card img {
2123
+ display: block;
2124
+ width: 100%;
2125
+ max-height: 520px;
2126
+ object-fit: contain;
2127
+ border-radius: 5px;
2128
+ background: var(--panel);
2129
+ }
2130
+
2131
+ .trace-image-caption {
2132
+ color: var(--muted);
2133
+ font-size: 11px;
2134
+ overflow-wrap: anywhere;
2135
+ }
2136
+
2091
2137
  .trace-output-truncation {
2092
2138
  display: flex;
2093
2139
  align-items: center;
@@ -2118,6 +2164,270 @@
2118
2164
  padding: 14px 2px 2px;
2119
2165
  }
2120
2166
 
2167
+ .repl-panel {
2168
+ display: flex;
2169
+ flex-direction: column;
2170
+ gap: 10px;
2171
+ }
2172
+
2173
+ .repl-toolbar {
2174
+ display: flex;
2175
+ flex-wrap: wrap;
2176
+ align-items: flex-start;
2177
+ justify-content: space-between;
2178
+ gap: 10px;
2179
+ }
2180
+
2181
+ .repl-summary,
2182
+ .repl-controls {
2183
+ display: flex;
2184
+ flex-wrap: wrap;
2185
+ align-items: center;
2186
+ gap: 8px;
2187
+ }
2188
+
2189
+ .repl-controls select,
2190
+ .repl-controls button,
2191
+ .repl-more-controls summary,
2192
+ .repl-journal-actions button {
2193
+ min-height: 28px;
2194
+ font-size: 12px;
2195
+ }
2196
+
2197
+ .repl-control-label {
2198
+ display: inline-flex;
2199
+ align-items: center;
2200
+ gap: 5px;
2201
+ color: var(--muted);
2202
+ font-size: 11px;
2203
+ font-weight: 600;
2204
+ }
2205
+
2206
+ .repl-more-controls {
2207
+ position: relative;
2208
+ }
2209
+
2210
+ .repl-more-controls summary {
2211
+ display: inline-flex;
2212
+ align-items: center;
2213
+ justify-content: center;
2214
+ cursor: pointer;
2215
+ user-select: none;
2216
+ list-style: none;
2217
+ border: 1px solid var(--control-border);
2218
+ border-radius: 6px;
2219
+ padding: 4px 10px;
2220
+ color: var(--text);
2221
+ background: var(--button-bg, var(--panel-2));
2222
+ }
2223
+
2224
+ .repl-more-controls summary::-webkit-details-marker {
2225
+ display: none;
2226
+ }
2227
+
2228
+ .repl-more-controls summary::after {
2229
+ content: "⌄";
2230
+ margin-left: 6px;
2231
+ color: var(--studio-info-text, var(--muted));
2232
+ font-size: 11px;
2233
+ }
2234
+
2235
+ .repl-more-controls[open] summary {
2236
+ border-color: var(--accent);
2237
+ background: var(--accent-soft);
2238
+ }
2239
+
2240
+ .repl-more-menu {
2241
+ position: absolute;
2242
+ top: calc(100% + 6px);
2243
+ right: 0;
2244
+ z-index: 20;
2245
+ min-width: 240px;
2246
+ max-width: min(520px, 80vw);
2247
+ padding: 8px;
2248
+ border: 1px solid var(--panel-border);
2249
+ border-radius: 10px;
2250
+ background: var(--panel);
2251
+ box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
2252
+ display: flex;
2253
+ flex-wrap: wrap;
2254
+ gap: 8px;
2255
+ }
2256
+
2257
+ .repl-transcript {
2258
+ margin: 0;
2259
+ padding: 12px 14px;
2260
+ border: 1px solid var(--panel-border);
2261
+ border-radius: 8px;
2262
+ background: var(--panel-2);
2263
+ color: var(--text);
2264
+ font-family: var(--font-mono);
2265
+ font-size: var(--studio-working-font-size);
2266
+ line-height: 1.45;
2267
+ white-space: pre-wrap;
2268
+ overflow-wrap: anywhere;
2269
+ }
2270
+
2271
+ .repl-prompt {
2272
+ color: var(--studio-info-text, var(--muted));
2273
+ font-weight: 700;
2274
+ }
2275
+
2276
+ .repl-empty,
2277
+ .repl-notice {
2278
+ padding: 10px 12px;
2279
+ border: 1px solid var(--panel-border);
2280
+ border-radius: 8px;
2281
+ background: var(--panel-2);
2282
+ color: var(--muted);
2283
+ }
2284
+
2285
+ .repl-notice-info {
2286
+ color: var(--studio-info-text, var(--muted));
2287
+ }
2288
+
2289
+ .repl-notice-error {
2290
+ color: var(--error);
2291
+ border-color: var(--error);
2292
+ background: var(--error-soft);
2293
+ }
2294
+
2295
+ .repl-journal {
2296
+ border: 1px solid var(--panel-border);
2297
+ border-radius: 10px;
2298
+ background: var(--panel-2);
2299
+ padding: 10px;
2300
+ display: flex;
2301
+ flex-direction: column;
2302
+ gap: 10px;
2303
+ }
2304
+
2305
+ .repl-journal-compact {
2306
+ padding: 7px 9px;
2307
+ background: var(--panel);
2308
+ }
2309
+
2310
+ .repl-journal-compact-row {
2311
+ display: flex;
2312
+ align-items: center;
2313
+ justify-content: space-between;
2314
+ gap: 10px;
2315
+ flex-wrap: wrap;
2316
+ }
2317
+
2318
+ .repl-journal-compact-title {
2319
+ display: inline-flex;
2320
+ align-items: center;
2321
+ gap: 8px;
2322
+ min-width: 0;
2323
+ color: var(--muted);
2324
+ font-size: 12px;
2325
+ }
2326
+
2327
+ .repl-journal-chip {
2328
+ display: inline-flex;
2329
+ align-items: center;
2330
+ border: 1px solid var(--border-subtle);
2331
+ border-radius: 999px;
2332
+ padding: 2px 7px;
2333
+ color: var(--studio-info-text, var(--muted));
2334
+ background: var(--panel-2);
2335
+ font-size: 11px;
2336
+ font-weight: 700;
2337
+ letter-spacing: 0.02em;
2338
+ }
2339
+
2340
+ .repl-journal-header {
2341
+ display: flex;
2342
+ justify-content: space-between;
2343
+ align-items: flex-start;
2344
+ gap: 12px;
2345
+ flex-wrap: wrap;
2346
+ }
2347
+
2348
+ .repl-journal-header h3 {
2349
+ margin: 0;
2350
+ font-size: 13px;
2351
+ color: var(--text);
2352
+ }
2353
+
2354
+ .repl-journal-header p,
2355
+ .repl-journal-omitted {
2356
+ margin: 3px 0 0;
2357
+ color: var(--muted);
2358
+ font-size: 12px;
2359
+ line-height: 1.35;
2360
+ }
2361
+
2362
+ .repl-journal-actions {
2363
+ display: inline-flex;
2364
+ align-items: center;
2365
+ gap: 8px;
2366
+ flex-wrap: wrap;
2367
+ justify-content: flex-end;
2368
+ }
2369
+
2370
+ .repl-journal-list {
2371
+ display: flex;
2372
+ flex-direction: column;
2373
+ gap: 10px;
2374
+ }
2375
+
2376
+ .repl-journal-card {
2377
+ border: 1px solid var(--border-subtle);
2378
+ border-radius: 9px;
2379
+ background: var(--panel);
2380
+ padding: 10px;
2381
+ display: flex;
2382
+ flex-direction: column;
2383
+ gap: 8px;
2384
+ }
2385
+
2386
+ .repl-journal-card-header {
2387
+ display: flex;
2388
+ align-items: center;
2389
+ gap: 8px;
2390
+ flex-wrap: wrap;
2391
+ }
2392
+
2393
+ .repl-journal-section {
2394
+ display: flex;
2395
+ flex-direction: column;
2396
+ gap: 4px;
2397
+ }
2398
+
2399
+ .repl-journal-label {
2400
+ color: var(--muted);
2401
+ font-size: 11px;
2402
+ font-weight: 700;
2403
+ text-transform: uppercase;
2404
+ letter-spacing: 0.04em;
2405
+ }
2406
+
2407
+ .repl-journal-prose,
2408
+ .repl-journal-code,
2409
+ .repl-journal-output {
2410
+ margin: 0;
2411
+ border-radius: 7px;
2412
+ padding: 8px 10px;
2413
+ background: var(--panel-2);
2414
+ color: var(--text);
2415
+ white-space: pre-wrap;
2416
+ overflow-wrap: anywhere;
2417
+ }
2418
+
2419
+ .repl-journal-code,
2420
+ .repl-journal-output {
2421
+ font-family: var(--font-mono);
2422
+ font-size: var(--studio-working-font-size);
2423
+ line-height: 1.45;
2424
+ }
2425
+
2426
+ .repl-journal-prose {
2427
+ font-size: 13px;
2428
+ line-height: 1.45;
2429
+ }
2430
+
2121
2431
  footer {
2122
2432
  border-top: 1px solid var(--panel-border);
2123
2433
  padding: 8px 12px;