deepline 0.1.308 → 0.1.309
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/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +6 -1
- package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +7 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-payload-transport.ts +6 -5
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/viewer/viewer.css +64 -61
- package/package.json +1 -1
|
@@ -157,7 +157,7 @@ export const SDK_RELEASE = {
|
|
|
157
157
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
158
158
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
159
159
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
160
|
-
version: '0.1.
|
|
160
|
+
version: '0.1.309',
|
|
161
161
|
contracts: {
|
|
162
162
|
api: {
|
|
163
163
|
name: 'sdk-http-api',
|
|
@@ -8810,7 +8810,12 @@ export class PlayContextImpl {
|
|
|
8810
8810
|
const executeSuffix = requestsDurableInvocationFence
|
|
8811
8811
|
? 'execute-fenced-v1'
|
|
8812
8812
|
: 'execute';
|
|
8813
|
-
|
|
8813
|
+
// Keep receipts, runner heartbeats, terminals, sheets, and runtime control
|
|
8814
|
+
// on baseUrl (the receipt gateway). Only the potentially long-lived
|
|
8815
|
+
// provider request may use the separately managed execution relay.
|
|
8816
|
+
const executionBaseUrl =
|
|
8817
|
+
this.#options.executionGatewayBaseUrl?.trim() || this.#options.baseUrl;
|
|
8818
|
+
const url = `${executionBaseUrl.replace(/\/$/, '')}/api/v2/integrations/${encodeURIComponent(toolId)}/${executeSuffix}`;
|
|
8814
8819
|
const toolErrorSchemaVersion = this.currentToolErrorSchemaVersion;
|
|
8815
8820
|
const timeoutMs = resolveToolRuntimeTimeoutMs(toolId, options?.timeoutMs);
|
|
8816
8821
|
const provider = toolId.split(/[._]/)[0]?.trim() || 'provider';
|
|
@@ -522,6 +522,13 @@ export interface ContextOptions {
|
|
|
522
522
|
/** Short-lived HMAC-signed internal token for tool callbacks. Required for cloud execution. */
|
|
523
523
|
executorToken?: string;
|
|
524
524
|
baseUrl?: string;
|
|
525
|
+
/**
|
|
526
|
+
* Optional long-lived integration transport. Runtime control, receipts, and
|
|
527
|
+
* runner terminals continue to use baseUrl; only provider execute requests
|
|
528
|
+
* use this origin. This lets production rotate the receipt gateway without
|
|
529
|
+
* terminating an in-flight provider request.
|
|
530
|
+
*/
|
|
531
|
+
executionGatewayBaseUrl?: string | null;
|
|
525
532
|
/**
|
|
526
533
|
* The integration base URL persists each keyed execute response before
|
|
527
534
|
* exposing it. Only runtime adapters that route through that gateway may
|
|
@@ -370,11 +370,12 @@ function remoteRuntimeContextForDaytona(
|
|
|
370
370
|
context.executionGatewayBaseUrl?.trim() || gatewayBaseUrl;
|
|
371
371
|
return {
|
|
372
372
|
...context,
|
|
373
|
-
//
|
|
374
|
-
//
|
|
375
|
-
//
|
|
376
|
-
//
|
|
377
|
-
|
|
373
|
+
// The generic runtime transport owns receipts, runner terminal publication,
|
|
374
|
+
// heartbeats, sheets, and runtime control, so it must stay on the receipt
|
|
375
|
+
// gateway. Only ctx.tools.execute selects executionGatewayBaseUrl below.
|
|
376
|
+
// Otherwise a receipt gateway rollout silently moves all durable control
|
|
377
|
+
// traffic to the relay and can leave a run parked after its sandbox starts.
|
|
378
|
+
baseUrl: gatewayBaseUrl,
|
|
378
379
|
executionGatewayBaseUrl,
|
|
379
380
|
receiptGatewayBaseUrl: gatewayBaseUrl,
|
|
380
381
|
// The execution relay owns the Postgres-backed invocation fence even though
|
package/dist/cli/index.js
CHANGED
|
@@ -1037,7 +1037,7 @@ var SDK_RELEASE = {
|
|
|
1037
1037
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
1038
1038
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
1039
1039
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
1040
|
-
version: "0.1.
|
|
1040
|
+
version: "0.1.309",
|
|
1041
1041
|
contracts: {
|
|
1042
1042
|
api: {
|
|
1043
1043
|
name: "sdk-http-api",
|
package/dist/cli/index.mjs
CHANGED
|
@@ -1022,7 +1022,7 @@ var SDK_RELEASE = {
|
|
|
1022
1022
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
1023
1023
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
1024
1024
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
1025
|
-
version: "0.1.
|
|
1025
|
+
version: "0.1.309",
|
|
1026
1026
|
contracts: {
|
|
1027
1027
|
api: {
|
|
1028
1028
|
name: "sdk-http-api",
|
package/dist/index.js
CHANGED
|
@@ -760,7 +760,7 @@ var SDK_RELEASE = {
|
|
|
760
760
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
761
761
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
762
762
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
763
|
-
version: "0.1.
|
|
763
|
+
version: "0.1.309",
|
|
764
764
|
contracts: {
|
|
765
765
|
api: {
|
|
766
766
|
name: "sdk-http-api",
|
package/dist/index.mjs
CHANGED
|
@@ -686,7 +686,7 @@ var SDK_RELEASE = {
|
|
|
686
686
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
687
687
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
688
688
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
689
|
-
version: "0.1.
|
|
689
|
+
version: "0.1.309",
|
|
690
690
|
contracts: {
|
|
691
691
|
api: {
|
|
692
692
|
name: "sdk-http-api",
|
package/dist/viewer/viewer.css
CHANGED
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
|
|
2
2
|
:root {
|
|
3
|
-
--bg:
|
|
4
|
-
--bg-secondary:
|
|
5
|
-
--bg-tertiary:
|
|
6
|
-
--
|
|
7
|
-
--text:
|
|
8
|
-
--text-
|
|
9
|
-
--
|
|
10
|
-
--
|
|
11
|
-
--
|
|
12
|
-
--
|
|
13
|
-
--
|
|
14
|
-
--
|
|
15
|
-
--
|
|
16
|
-
--cyan: #39d2c0;
|
|
3
|
+
--bg: var(--background);
|
|
4
|
+
--bg-secondary: var(--background-secondary);
|
|
5
|
+
--bg-tertiary: var(--background-tertiary);
|
|
6
|
+
--text: var(--foreground);
|
|
7
|
+
--text-dim: var(--foreground-secondary);
|
|
8
|
+
--text-dimmer: var(--foreground-muted);
|
|
9
|
+
--green: var(--status-success-foreground);
|
|
10
|
+
--red: var(--status-error-foreground);
|
|
11
|
+
--yellow: var(--status-warning-foreground);
|
|
12
|
+
--blue: var(--primary-text);
|
|
13
|
+
--purple: var(--color-silver-400);
|
|
14
|
+
--orange: var(--status-warning-foreground);
|
|
15
|
+
--cyan: var(--status-info-foreground);
|
|
17
16
|
}
|
|
18
17
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
19
18
|
body {
|
|
20
19
|
background: var(--bg);
|
|
21
20
|
color: var(--text);
|
|
22
|
-
font-family: -
|
|
21
|
+
font-family: var(--font-base);
|
|
23
22
|
font-size: 14px;
|
|
24
23
|
line-height: 1.5;
|
|
24
|
+
letter-spacing: -0.011em;
|
|
25
|
+
-webkit-font-smoothing: antialiased;
|
|
26
|
+
-moz-osx-font-smoothing: grayscale;
|
|
27
|
+
text-rendering: optimizeLegibility;
|
|
25
28
|
}
|
|
26
29
|
.layout { display: flex; height: 100vh; }
|
|
27
30
|
.sidebar {
|
|
@@ -36,7 +39,7 @@ body {
|
|
|
36
39
|
padding: 10px 16px;
|
|
37
40
|
cursor: pointer;
|
|
38
41
|
border-left: 3px solid transparent;
|
|
39
|
-
transition: background
|
|
42
|
+
transition: background-color var(--duration-normal) var(--ease-standard);
|
|
40
43
|
font-size: 13px;
|
|
41
44
|
}
|
|
42
45
|
.sidebar-item:hover { background: var(--bg-tertiary); }
|
|
@@ -54,7 +57,7 @@ body {
|
|
|
54
57
|
.sidebar-compare kbd {
|
|
55
58
|
background: var(--bg-tertiary);
|
|
56
59
|
border: 1px solid var(--border);
|
|
57
|
-
border-radius:
|
|
60
|
+
border-radius: var(--radius-icon);
|
|
58
61
|
padding: 0 4px;
|
|
59
62
|
font-size: 10px;
|
|
60
63
|
font-family: inherit;
|
|
@@ -64,7 +67,7 @@ body {
|
|
|
64
67
|
.header {
|
|
65
68
|
background: var(--bg-secondary);
|
|
66
69
|
border: 1px solid var(--border);
|
|
67
|
-
border-radius:
|
|
70
|
+
border-radius: var(--radius-lg);
|
|
68
71
|
padding: 20px 24px;
|
|
69
72
|
margin-bottom: 20px;
|
|
70
73
|
}
|
|
@@ -99,7 +102,7 @@ body {
|
|
|
99
102
|
gap: 4px;
|
|
100
103
|
background: var(--bg);
|
|
101
104
|
border: 1px solid var(--border);
|
|
102
|
-
border-radius:
|
|
105
|
+
border-radius: var(--radius-sm);
|
|
103
106
|
padding: 2px 8px;
|
|
104
107
|
font-size: 12px;
|
|
105
108
|
}
|
|
@@ -150,7 +153,7 @@ body {
|
|
|
150
153
|
line-height: 1.6;
|
|
151
154
|
white-space: pre-wrap;
|
|
152
155
|
word-break: break-word;
|
|
153
|
-
background:
|
|
156
|
+
background: color-mix(in srgb, var(--status-success-accent) 4%, transparent);
|
|
154
157
|
}
|
|
155
158
|
.user-message.collapsed { max-height: 100px; overflow: hidden; position: relative; }
|
|
156
159
|
.user-message.collapsed::after {
|
|
@@ -184,7 +187,7 @@ body {
|
|
|
184
187
|
white-space: pre-wrap;
|
|
185
188
|
word-break: break-word;
|
|
186
189
|
font-style: italic;
|
|
187
|
-
background:
|
|
190
|
+
background: color-mix(in srgb, var(--color-silver-400) 3%, transparent);
|
|
188
191
|
}
|
|
189
192
|
.thinking.collapsed { max-height: 100px; overflow: hidden; position: relative; }
|
|
190
193
|
.thinking.collapsed::after {
|
|
@@ -231,10 +234,10 @@ body {
|
|
|
231
234
|
align-items: center;
|
|
232
235
|
gap: 12px;
|
|
233
236
|
padding: 6px 12px;
|
|
234
|
-
border-radius:
|
|
237
|
+
border-radius: var(--radius-md);
|
|
235
238
|
cursor: pointer;
|
|
236
|
-
transition: background
|
|
237
|
-
font-family:
|
|
239
|
+
transition: background-color var(--duration-normal) var(--ease-standard);
|
|
240
|
+
font-family: var(--font-mono);
|
|
238
241
|
font-size: 13px;
|
|
239
242
|
}
|
|
240
243
|
.tool-row:hover { background: var(--bg-secondary); }
|
|
@@ -244,15 +247,15 @@ body {
|
|
|
244
247
|
.tool-status {
|
|
245
248
|
display: inline-block;
|
|
246
249
|
padding: 1px 8px;
|
|
247
|
-
border-radius:
|
|
250
|
+
border-radius: var(--radius-control);
|
|
248
251
|
font-size: 11px;
|
|
249
252
|
font-weight: 600;
|
|
250
253
|
min-width: 42px;
|
|
251
254
|
text-align: center;
|
|
252
255
|
}
|
|
253
|
-
.tool-status.ok { background:
|
|
254
|
-
.tool-status.fail { background:
|
|
255
|
-
.tool-status.unknown { background:
|
|
256
|
+
.tool-status.ok { background: color-mix(in srgb, var(--status-success-accent) 15%, transparent); color: var(--green); }
|
|
257
|
+
.tool-status.fail { background: color-mix(in srgb, var(--status-error-accent) 15%, transparent); color: var(--red); }
|
|
258
|
+
.tool-status.unknown { background: color-mix(in srgb, var(--foreground-muted) 15%, transparent); color: var(--text-dim); }
|
|
256
259
|
.tool-name {
|
|
257
260
|
font-weight: 600;
|
|
258
261
|
min-width: 70px;
|
|
@@ -274,22 +277,22 @@ body {
|
|
|
274
277
|
color: var(--text-dimmer);
|
|
275
278
|
background: var(--bg-tertiary);
|
|
276
279
|
border: 1px solid var(--border);
|
|
277
|
-
border-radius:
|
|
280
|
+
border-radius: var(--radius-sm);
|
|
278
281
|
padding: 0 5px;
|
|
279
282
|
white-space: nowrap;
|
|
280
283
|
}
|
|
281
284
|
.loop-badge {
|
|
282
285
|
color: var(--yellow);
|
|
283
|
-
border-color:
|
|
284
|
-
background:
|
|
286
|
+
border-color: color-mix(in srgb, var(--status-warning-accent) 40%, transparent);
|
|
287
|
+
background: color-mix(in srgb, var(--status-warning-accent) 8%, transparent);
|
|
285
288
|
}
|
|
286
289
|
.repeat-badge {
|
|
287
290
|
margin-left: 6px;
|
|
288
291
|
font-size: 10px;
|
|
289
292
|
color: var(--text-dimmer);
|
|
290
|
-
background:
|
|
291
|
-
border: 1px solid
|
|
292
|
-
border-radius:
|
|
293
|
+
background: color-mix(in srgb, var(--color-silver-400) 8%, transparent);
|
|
294
|
+
border: 1px solid color-mix(in srgb, var(--color-silver-400) 30%, transparent);
|
|
295
|
+
border-radius: var(--radius-sm);
|
|
293
296
|
padding: 0 5px;
|
|
294
297
|
white-space: nowrap;
|
|
295
298
|
cursor: help;
|
|
@@ -319,7 +322,7 @@ body {
|
|
|
319
322
|
margin-left: 48px;
|
|
320
323
|
margin-bottom: 12px;
|
|
321
324
|
border: 1px solid var(--border);
|
|
322
|
-
border-radius:
|
|
325
|
+
border-radius: var(--radius-md);
|
|
323
326
|
overflow: hidden;
|
|
324
327
|
}
|
|
325
328
|
.tool-detail.open { display: block; }
|
|
@@ -337,12 +340,12 @@ body {
|
|
|
337
340
|
}
|
|
338
341
|
.tool-detail-section pre {
|
|
339
342
|
background: var(--bg);
|
|
340
|
-
border-radius:
|
|
343
|
+
border-radius: var(--radius-sm);
|
|
341
344
|
padding: 10px 14px;
|
|
342
345
|
overflow-x: auto;
|
|
343
346
|
font-size: 12px;
|
|
344
347
|
line-height: 1.5;
|
|
345
|
-
font-family:
|
|
348
|
+
font-family: var(--font-mono);
|
|
346
349
|
white-space: pre-wrap;
|
|
347
350
|
word-break: break-word;
|
|
348
351
|
max-height: 400px;
|
|
@@ -351,13 +354,13 @@ body {
|
|
|
351
354
|
}
|
|
352
355
|
.tool-detail-section pre.error-content {
|
|
353
356
|
border: 1px solid var(--red);
|
|
354
|
-
background:
|
|
357
|
+
background: color-mix(in srgb, var(--status-error-accent) 6%, transparent);
|
|
355
358
|
}
|
|
356
359
|
.tool-detail-toggle {
|
|
357
360
|
margin-top: 8px;
|
|
358
361
|
background: var(--bg-tertiary);
|
|
359
362
|
border: 1px solid var(--border);
|
|
360
|
-
border-radius:
|
|
363
|
+
border-radius: var(--radius-sm);
|
|
361
364
|
color: var(--blue);
|
|
362
365
|
cursor: pointer;
|
|
363
366
|
font-size: 12px;
|
|
@@ -369,7 +372,7 @@ body {
|
|
|
369
372
|
.result-card {
|
|
370
373
|
background: var(--bg-secondary);
|
|
371
374
|
border: 1px solid var(--border);
|
|
372
|
-
border-radius:
|
|
375
|
+
border-radius: var(--radius-lg);
|
|
373
376
|
padding: 20px 24px;
|
|
374
377
|
margin-top: 20px;
|
|
375
378
|
}
|
|
@@ -392,7 +395,7 @@ body {
|
|
|
392
395
|
flex: 1;
|
|
393
396
|
background: var(--bg-secondary);
|
|
394
397
|
border: 1px solid var(--border);
|
|
395
|
-
border-radius:
|
|
398
|
+
border-radius: var(--radius-md);
|
|
396
399
|
padding: 8px 12px;
|
|
397
400
|
color: var(--text);
|
|
398
401
|
font-size: 13px;
|
|
@@ -404,7 +407,7 @@ body {
|
|
|
404
407
|
.filter-btn {
|
|
405
408
|
background: var(--bg-secondary);
|
|
406
409
|
border: 1px solid var(--border);
|
|
407
|
-
border-radius:
|
|
410
|
+
border-radius: var(--radius-md);
|
|
408
411
|
padding: 8px 12px;
|
|
409
412
|
color: var(--text-dim);
|
|
410
413
|
font-size: 12px;
|
|
@@ -417,7 +420,7 @@ body {
|
|
|
417
420
|
.prompt-card {
|
|
418
421
|
background: var(--bg-secondary);
|
|
419
422
|
border: 1px solid var(--border);
|
|
420
|
-
border-radius:
|
|
423
|
+
border-radius: var(--radius-lg);
|
|
421
424
|
padding: 16px 20px;
|
|
422
425
|
margin-bottom: 16px;
|
|
423
426
|
}
|
|
@@ -440,11 +443,11 @@ body {
|
|
|
440
443
|
font-size: 11px;
|
|
441
444
|
font-weight: 600;
|
|
442
445
|
padding: 2px 8px;
|
|
443
|
-
border-radius:
|
|
446
|
+
border-radius: var(--radius-control);
|
|
444
447
|
vertical-align: middle;
|
|
445
448
|
}
|
|
446
|
-
.timing-badge.exact { background:
|
|
447
|
-
.timing-badge.estimated { background:
|
|
449
|
+
.timing-badge.exact { background: color-mix(in srgb, var(--status-success-accent) 15%, transparent); color: var(--green); }
|
|
450
|
+
.timing-badge.estimated { background: color-mix(in srgb, var(--status-warning-accent) 15%, transparent); color: var(--yellow); }
|
|
448
451
|
|
|
449
452
|
/* Live badge */
|
|
450
453
|
.live-badge {
|
|
@@ -452,8 +455,8 @@ body {
|
|
|
452
455
|
font-size: 11px;
|
|
453
456
|
font-weight: 700;
|
|
454
457
|
padding: 2px 10px;
|
|
455
|
-
border-radius:
|
|
456
|
-
background:
|
|
458
|
+
border-radius: var(--radius-control);
|
|
459
|
+
background: color-mix(in srgb, var(--status-error-accent) 15%, transparent);
|
|
457
460
|
color: var(--red);
|
|
458
461
|
animation: live-pulse 2s ease-in-out infinite;
|
|
459
462
|
letter-spacing: 0.5px;
|
|
@@ -461,7 +464,7 @@ body {
|
|
|
461
464
|
user-select: none;
|
|
462
465
|
}
|
|
463
466
|
.live-badge.paused {
|
|
464
|
-
background:
|
|
467
|
+
background: color-mix(in srgb, var(--foreground-muted) 15%, transparent);
|
|
465
468
|
color: var(--text-dim);
|
|
466
469
|
animation: none;
|
|
467
470
|
}
|
|
@@ -473,7 +476,7 @@ body {
|
|
|
473
476
|
.download-btn {
|
|
474
477
|
background: var(--bg-secondary);
|
|
475
478
|
border: 1px solid var(--border);
|
|
476
|
-
border-radius:
|
|
479
|
+
border-radius: var(--radius-md);
|
|
477
480
|
padding: 4px 10px;
|
|
478
481
|
color: var(--text-dim);
|
|
479
482
|
font-size: 12px;
|
|
@@ -487,7 +490,7 @@ body {
|
|
|
487
490
|
.file-map-card {
|
|
488
491
|
background: var(--bg-secondary);
|
|
489
492
|
border: 1px solid var(--border);
|
|
490
|
-
border-radius:
|
|
493
|
+
border-radius: var(--radius-lg);
|
|
491
494
|
margin-bottom: 16px;
|
|
492
495
|
overflow: hidden;
|
|
493
496
|
}
|
|
@@ -500,7 +503,7 @@ body {
|
|
|
500
503
|
font-size: 13px;
|
|
501
504
|
font-weight: 600;
|
|
502
505
|
color: var(--text-dim);
|
|
503
|
-
transition: background
|
|
506
|
+
transition: background-color var(--duration-normal) var(--ease-standard);
|
|
504
507
|
}
|
|
505
508
|
.file-map-header:hover { background: var(--bg-tertiary); }
|
|
506
509
|
.file-map-toggle {
|
|
@@ -517,7 +520,7 @@ body {
|
|
|
517
520
|
width: 100%;
|
|
518
521
|
border-collapse: collapse;
|
|
519
522
|
font-size: 12px;
|
|
520
|
-
font-family:
|
|
523
|
+
font-family: var(--font-mono);
|
|
521
524
|
}
|
|
522
525
|
.file-map-table th {
|
|
523
526
|
background: var(--bg-tertiary);
|
|
@@ -536,13 +539,13 @@ body {
|
|
|
536
539
|
color: var(--text-dim);
|
|
537
540
|
}
|
|
538
541
|
.file-map-table td:first-child { color: var(--text); }
|
|
539
|
-
.file-map-table tr:hover { background:
|
|
542
|
+
.file-map-table tr:hover { background: color-mix(in srgb, var(--primary) 4%, transparent); }
|
|
540
543
|
|
|
541
544
|
/* Comparison view */
|
|
542
545
|
.comparison-table-wrap {
|
|
543
546
|
background: var(--bg-secondary);
|
|
544
547
|
border: 1px solid var(--border);
|
|
545
|
-
border-radius:
|
|
548
|
+
border-radius: var(--radius-lg);
|
|
546
549
|
overflow: hidden;
|
|
547
550
|
}
|
|
548
551
|
.comparison-table {
|
|
@@ -571,7 +574,7 @@ body {
|
|
|
571
574
|
font-weight: 500;
|
|
572
575
|
min-width: 140px;
|
|
573
576
|
}
|
|
574
|
-
.comparison-table tr:hover { background:
|
|
577
|
+
.comparison-table tr:hover { background: color-mix(in srgb, var(--primary) 4%, transparent); }
|
|
575
578
|
.compare-dim { color: var(--text-dimmer); font-size: 11px; }
|
|
576
579
|
.compare-best { color: var(--green); font-weight: 600; }
|
|
577
580
|
.compare-worst { color: var(--red); }
|
|
@@ -593,8 +596,8 @@ body {
|
|
|
593
596
|
.md-rendered p { margin-bottom: 8px; }
|
|
594
597
|
.md-rendered strong { color: var(--text); font-weight: 600; }
|
|
595
598
|
.md-rendered code {
|
|
596
|
-
background: var(--bg-tertiary); border-radius:
|
|
597
|
-
font-family:
|
|
599
|
+
background: var(--bg-tertiary); border-radius: var(--radius-icon); padding: 1px 5px;
|
|
600
|
+
font-family: var(--font-mono); font-size: 12px;
|
|
598
601
|
}
|
|
599
602
|
.md-rendered table {
|
|
600
603
|
border-collapse: collapse; margin: 8px 0; width: 100%; font-size: 12px;
|
|
@@ -606,7 +609,7 @@ body {
|
|
|
606
609
|
background: var(--bg-tertiary); color: var(--text-dim); font-weight: 600;
|
|
607
610
|
font-size: 11px; text-transform: uppercase; letter-spacing: 0.3px;
|
|
608
611
|
}
|
|
609
|
-
.md-rendered tr:hover { background:
|
|
612
|
+
.md-rendered tr:hover { background: color-mix(in srgb, var(--primary) 4%, transparent); }
|
|
610
613
|
.md-rendered a { color: var(--blue); text-decoration: none; }
|
|
611
614
|
.md-rendered a:hover { text-decoration: underline; }
|
|
612
615
|
.md-rendered h1, .md-rendered h2, .md-rendered h3 {
|
|
@@ -618,9 +621,9 @@ body {
|
|
|
618
621
|
.md-rendered ul, .md-rendered ol { margin: 4px 0 8px 20px; }
|
|
619
622
|
.md-rendered li { margin-bottom: 2px; }
|
|
620
623
|
.md-rendered pre {
|
|
621
|
-
background: var(--bg); border-radius:
|
|
624
|
+
background: var(--bg); border-radius: var(--radius-sm); padding: 10px 14px;
|
|
622
625
|
font-size: 12px; line-height: 1.5; overflow-x: auto;
|
|
623
|
-
font-family:
|
|
626
|
+
font-family: var(--font-mono);
|
|
624
627
|
margin: 8px 0;
|
|
625
628
|
white-space: pre-wrap;
|
|
626
629
|
word-break: break-word;
|