@threadplane/chat 0.0.52 → 0.0.54
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/README.md
CHANGED
|
@@ -173,6 +173,17 @@ Agents can emit surface specs via `buildA2uiActionMessage(...)`. Actions from ca
|
|
|
173
173
|
|
|
174
174
|
The built-in catalog ships via `a2uiBasicCatalog`. Compose a custom catalog with `withViews()` and pass it to the surface.
|
|
175
175
|
|
|
176
|
+
**Icons.** The catalog `Icon` component renders [Material Symbols](https://fonts.google.com/icons) by name (the A2UI canonical icon set — e.g. `check`, `trending_up`, `star`). For glyphs to render, include the Material Symbols Outlined stylesheet in your app's `<head>` (the library does not inject any web font):
|
|
177
|
+
|
|
178
|
+
```html
|
|
179
|
+
<link
|
|
180
|
+
rel="stylesheet"
|
|
181
|
+
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200"
|
|
182
|
+
/>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Without the font, the icon name falls back to plain text. Icons inherit `currentColor` and size via the `size` prop.
|
|
186
|
+
|
|
176
187
|
### Streaming markdown
|
|
177
188
|
|
|
178
189
|
`<chat-streaming-md>` renders markdown token-by-token as the agent streams. The `cacheplaneMarkdownViews` registry maps each CommonMark node type to an Angular component.
|
|
@@ -192,10 +203,21 @@ providers: [
|
|
|
192
203
|
];
|
|
193
204
|
```
|
|
194
205
|
|
|
195
|
-
Per-instance, bind the registry on `<chat-streaming-md [viewRegistry]="…" />` instead. Styling uses the existing `--
|
|
206
|
+
Per-instance, bind the registry on `<chat-streaming-md [viewRegistry]="…" />` instead. Styling uses the existing `--tplane-chat-*` / `--a2ui-*` tokens — see the [Theming](#theming) section.
|
|
196
207
|
|
|
197
208
|
The `renderMarkdown(md, options?)` function produces a parse tree for use outside streaming contexts.
|
|
198
209
|
|
|
210
|
+
#### Math (KaTeX)
|
|
211
|
+
|
|
212
|
+
LaTeX math — inline `$…$` / `\(…\)` and display `$$…$$` / `\[…\]` — renders via [KaTeX](https://katex.org), an **optional** peer dependency loaded lazily only when a message actually contains math (so non-math chats carry zero extra bundle weight). To enable styled math, install `katex` and import its stylesheet once in your app:
|
|
213
|
+
|
|
214
|
+
```typescript
|
|
215
|
+
// e.g. in your global styles or app bootstrap
|
|
216
|
+
import 'katex/dist/katex.min.css';
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Without `katex` installed, or without the stylesheet, math degrades gracefully — the raw `$…$` source is shown rather than breaking. Currency like `$5` is not treated as math.
|
|
220
|
+
|
|
199
221
|
### Theming
|
|
200
222
|
|
|
201
223
|
`<a2ui-surface>` declares ~50 `--a2ui-*` CSS custom properties at `:host` with dark-theme defaults covering color, spacing, typography, shape radius, focus ring, motion, and elevation. Catalog components consume them via `var(--a2ui-*)`.
|
|
@@ -10,7 +10,7 @@ import { JsonPipe } from '@angular/common';
|
|
|
10
10
|
* so the defaults are set on each `:host` element. Hosts override by
|
|
11
11
|
* setting any token on `chat-debug` or any ancestor.
|
|
12
12
|
*
|
|
13
|
-
* Independent from `--
|
|
13
|
+
* Independent from `--tplane-chat-*` (the chat library's theme tokens).
|
|
14
14
|
* Devtools chrome stays dark regardless of host theme by default —
|
|
15
15
|
* matches Chrome DevTools / React DevTools / Redux DevTools convention.
|
|
16
16
|
*
|
|
@@ -18,73 +18,73 @@ import { JsonPipe } from '@angular/common';
|
|
|
18
18
|
*/
|
|
19
19
|
const CHAT_DEBUG_TOKENS = `
|
|
20
20
|
:host {
|
|
21
|
-
--
|
|
22
|
-
--
|
|
23
|
-
--
|
|
24
|
-
--
|
|
25
|
-
--
|
|
26
|
-
--
|
|
27
|
-
--
|
|
28
|
-
--
|
|
29
|
-
--
|
|
30
|
-
--
|
|
31
|
-
--
|
|
32
|
-
--
|
|
33
|
-
--
|
|
34
|
-
--
|
|
35
|
-
--
|
|
36
|
-
--
|
|
37
|
-
--
|
|
38
|
-
font-family: var(--
|
|
39
|
-
color: var(--
|
|
21
|
+
--tplane-chat-debug-bg: #18181b;
|
|
22
|
+
--tplane-chat-debug-bg-deep: #09090b;
|
|
23
|
+
--tplane-chat-debug-surface: #1f1f23;
|
|
24
|
+
--tplane-chat-debug-border: #27272a;
|
|
25
|
+
--tplane-chat-debug-border-strong: #3f3f46;
|
|
26
|
+
--tplane-chat-debug-text: #fafafa;
|
|
27
|
+
--tplane-chat-debug-text-muted: #a1a1aa;
|
|
28
|
+
--tplane-chat-debug-text-subtle: #71717a;
|
|
29
|
+
--tplane-chat-debug-accent: #4f8df5;
|
|
30
|
+
--tplane-chat-debug-success: #4ade80;
|
|
31
|
+
--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, 0.5);
|
|
32
|
+
--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, 0.4);
|
|
33
|
+
--tplane-chat-debug-radius-panel: 12px;
|
|
34
|
+
--tplane-chat-debug-radius-input: 8px;
|
|
35
|
+
--tplane-chat-debug-radius-pill: 999px;
|
|
36
|
+
--tplane-chat-debug-font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
|
|
37
|
+
--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
38
|
+
font-family: var(--tplane-chat-debug-font-sans);
|
|
39
|
+
color: var(--tplane-chat-debug-text);
|
|
40
40
|
|
|
41
41
|
/*
|
|
42
42
|
* Cascade shim: rewire the chat library's color tokens to debug
|
|
43
|
-
* equivalents so embedded components that consume \`--
|
|
43
|
+
* equivalents so embedded components that consume \`--tplane-chat-*\`
|
|
44
44
|
* (debug-checkpoint-card, debug-state-diff, debug-state-inspector,
|
|
45
45
|
* any host-projected slot content) pick up the dark devtools surface
|
|
46
46
|
* without each one needing its own re-skin. Geometry / font tokens
|
|
47
47
|
* are left alone — they're neutral.
|
|
48
48
|
*/
|
|
49
|
-
--
|
|
50
|
-
--
|
|
51
|
-
--
|
|
52
|
-
--
|
|
53
|
-
--
|
|
54
|
-
--
|
|
55
|
-
--
|
|
56
|
-
--
|
|
57
|
-
--
|
|
58
|
-
--
|
|
59
|
-
--
|
|
60
|
-
--
|
|
61
|
-
--
|
|
49
|
+
--tplane-chat-bg: var(--tplane-chat-debug-bg);
|
|
50
|
+
--tplane-chat-text: var(--tplane-chat-debug-text);
|
|
51
|
+
--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);
|
|
52
|
+
--tplane-chat-separator: var(--tplane-chat-debug-border);
|
|
53
|
+
--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);
|
|
54
|
+
--tplane-chat-font-size-xs: 12px;
|
|
55
|
+
--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);
|
|
56
|
+
--tplane-chat-radius-card: 8px;
|
|
57
|
+
--tplane-chat-success: var(--tplane-chat-debug-success);
|
|
58
|
+
--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);
|
|
59
|
+
--tplane-chat-error-text: #fca5a5;
|
|
60
|
+
--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);
|
|
61
|
+
--tplane-chat-warning-text: #fcd34d;
|
|
62
62
|
}
|
|
63
63
|
`;
|
|
64
64
|
|
|
65
65
|
// SPDX-License-Identifier: MIT
|
|
66
66
|
const CHAT_DEBUG_ROOT_STYLES = `
|
|
67
|
-
@layer
|
|
67
|
+
@layer tplane-chat-debug {
|
|
68
68
|
:root {
|
|
69
|
-
--
|
|
70
|
-
--
|
|
71
|
-
--
|
|
69
|
+
--tplane-chat-sidebar-claim-right: 0px;
|
|
70
|
+
--tplane-chat-debug-panel-size-h: 40vh;
|
|
71
|
+
--tplane-chat-debug-panel-size-w: 420px;
|
|
72
72
|
}
|
|
73
73
|
:root[data-threadplane-chat-debug="bottom"] {
|
|
74
|
-
--
|
|
75
|
-
--
|
|
74
|
+
--tplane-chat-debug-claim-bottom: var(--tplane-chat-debug-panel-size-h, 40vh);
|
|
75
|
+
--tplane-chat-occupy-bottom: var(--tplane-chat-debug-panel-size-h, 40vh);
|
|
76
76
|
}
|
|
77
77
|
:root[data-threadplane-chat-debug="right"] {
|
|
78
|
-
--
|
|
79
|
-
--
|
|
78
|
+
--tplane-chat-debug-claim-right: var(--tplane-chat-debug-panel-size-w, 420px);
|
|
79
|
+
--tplane-chat-occupy-right: var(--tplane-chat-debug-panel-size-w, 420px);
|
|
80
80
|
}
|
|
81
81
|
:root[data-threadplane-chat-debug="left"] {
|
|
82
|
-
--
|
|
83
|
-
--
|
|
82
|
+
--tplane-chat-debug-claim-left: var(--tplane-chat-debug-panel-size-w, 420px);
|
|
83
|
+
--tplane-chat-occupy-left: var(--tplane-chat-debug-panel-size-w, 420px);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
`;
|
|
87
|
-
const STYLE_ELEMENT_ID = '
|
|
87
|
+
const STYLE_ELEMENT_ID = 'tplane-chat-debug-root-styles';
|
|
88
88
|
function ensureChatDebugRootStyles() {
|
|
89
89
|
if (typeof document === 'undefined')
|
|
90
90
|
return;
|
|
@@ -118,7 +118,7 @@ class DebugCheckpointCardComponent {
|
|
|
118
118
|
}
|
|
119
119
|
</div>
|
|
120
120
|
</button>
|
|
121
|
-
`, isInline: true, styles: [":host{--
|
|
121
|
+
`, isInline: true, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ".debug-checkpoint-card{width:100%;text-align:left;border-radius:var(--tplane-chat-radius-card);border:1px solid var(--tplane-chat-separator);padding:8px 12px;cursor:pointer;background:var(--tplane-chat-bg);transition:background .15s ease,border-color .15s ease}.debug-checkpoint-card:hover{background:color-mix(in srgb,var(--tplane-chat-text) 5%,transparent)}.debug-checkpoint-card--selected{border-color:var(--tplane-chat-text-muted);background:color-mix(in srgb,var(--tplane-chat-text) 5%,transparent)}.debug-checkpoint-card__title{font-size:var(--tplane-chat-font-size-xs);font-weight:500;color:var(--tplane-chat-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debug-checkpoint-card__meta{display:flex;gap:8px;margin-top:4px}.debug-checkpoint-card__badge{font-size:var(--tplane-chat-font-size-xs);padding:2px 6px;border-radius:4px;background:var(--tplane-chat-surface-alt);color:var(--tplane-chat-text-muted)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
122
122
|
}
|
|
123
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DebugCheckpointCardComponent, decorators: [{
|
|
124
124
|
type: Component,
|
|
@@ -138,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
138
138
|
}
|
|
139
139
|
</div>
|
|
140
140
|
</button>
|
|
141
|
-
`, styles: [":host{--
|
|
141
|
+
`, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ".debug-checkpoint-card{width:100%;text-align:left;border-radius:var(--tplane-chat-radius-card);border:1px solid var(--tplane-chat-separator);padding:8px 12px;cursor:pointer;background:var(--tplane-chat-bg);transition:background .15s ease,border-color .15s ease}.debug-checkpoint-card:hover{background:color-mix(in srgb,var(--tplane-chat-text) 5%,transparent)}.debug-checkpoint-card--selected{border-color:var(--tplane-chat-text-muted);background:color-mix(in srgb,var(--tplane-chat-text) 5%,transparent)}.debug-checkpoint-card__title{font-size:var(--tplane-chat-font-size-xs);font-weight:500;color:var(--tplane-chat-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debug-checkpoint-card__meta{display:flex;gap:8px;margin-top:4px}.debug-checkpoint-card__badge{font-size:var(--tplane-chat-font-size-xs);padding:2px 6px;border-radius:4px;background:var(--tplane-chat-surface-alt);color:var(--tplane-chat-text-muted)}\n"] }]
|
|
142
142
|
}], propDecorators: { checkpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkpoint", required: true }] }], isSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSelected", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }] } });
|
|
143
143
|
|
|
144
144
|
// SPDX-License-Identifier: MIT
|
|
@@ -245,7 +245,7 @@ class DebugStateDiffComponent {
|
|
|
245
245
|
}
|
|
246
246
|
</div>
|
|
247
247
|
}
|
|
248
|
-
`, isInline: true, styles: [":host{--
|
|
248
|
+
`, isInline: true, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ".debug-state-diff__empty{font-size:var(--tplane-chat-font-size-xs);color:var(--tplane-chat-text-muted);font-style:italic;margin:0}.debug-state-diff__list{display:flex;flex-direction:column;gap:4px}.debug-state-diff__entry{font-size:var(--tplane-chat-font-size-xs);font-family:var(--tplane-chat-font-mono);padding:4px 8px;border-radius:4px}.debug-state-diff__entry--added{background:var(--tplane-chat-surface-alt);color:var(--tplane-chat-success)}.debug-state-diff__entry--removed{background:var(--tplane-chat-error-bg);color:var(--tplane-chat-error-text)}.debug-state-diff__entry--changed{background:var(--tplane-chat-warning-bg);color:var(--tplane-chat-warning-text)}.debug-state-diff__key{font-weight:600}.debug-state-diff__value{display:block;padding-left:16px;color:var(--tplane-chat-text-muted)}\n"], dependencies: [{ kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
249
249
|
}
|
|
250
250
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DebugStateDiffComponent, decorators: [{
|
|
251
251
|
type: Component,
|
|
@@ -268,7 +268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
268
268
|
}
|
|
269
269
|
</div>
|
|
270
270
|
}
|
|
271
|
-
`, styles: [":host{--
|
|
271
|
+
`, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ".debug-state-diff__empty{font-size:var(--tplane-chat-font-size-xs);color:var(--tplane-chat-text-muted);font-style:italic;margin:0}.debug-state-diff__list{display:flex;flex-direction:column;gap:4px}.debug-state-diff__entry{font-size:var(--tplane-chat-font-size-xs);font-family:var(--tplane-chat-font-mono);padding:4px 8px;border-radius:4px}.debug-state-diff__entry--added{background:var(--tplane-chat-surface-alt);color:var(--tplane-chat-success)}.debug-state-diff__entry--removed{background:var(--tplane-chat-error-bg);color:var(--tplane-chat-error-text)}.debug-state-diff__entry--changed{background:var(--tplane-chat-warning-bg);color:var(--tplane-chat-warning-text)}.debug-state-diff__key{font-weight:600}.debug-state-diff__value{display:block;padding-left:16px;color:var(--tplane-chat-text-muted)}\n"] }]
|
|
272
272
|
}], propDecorators: { before: [{ type: i0.Input, args: [{ isSignal: true, alias: "before", required: false }] }], after: [{ type: i0.Input, args: [{ isSignal: true, alias: "after", required: false }] }] } });
|
|
273
273
|
|
|
274
274
|
function toDebugCheckpoint(cp, index) {
|
|
@@ -370,7 +370,7 @@ class TimelineInspectorComponent {
|
|
|
370
370
|
</div>
|
|
371
371
|
}
|
|
372
372
|
</div>
|
|
373
|
-
`, isInline: true, styles: [":host{--
|
|
373
|
+
`, isInline: true, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ":host{display:flex;flex-direction:column;height:100%;outline:none}.timeline__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--tplane-chat-debug-border);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tplane-chat-debug-text-subtle);background:var(--tplane-chat-debug-bg)}.timeline__count{display:inline-flex;align-items:center;gap:6px}.timeline__count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;border-radius:9px;background:var(--tplane-chat-debug-surface);border:1px solid var(--tplane-chat-debug-border);color:var(--tplane-chat-debug-text);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}.timeline__clear{background:transparent;border:0;cursor:pointer;color:var(--tplane-chat-debug-text-subtle);font:inherit;font-size:11px;letter-spacing:0;text-transform:none;padding:2px 6px;border-radius:6px;transition:color .12s ease,background .12s ease}.timeline__clear:hover:not(:disabled){color:var(--tplane-chat-debug-text);background:var(--tplane-chat-debug-surface)}.timeline__clear:disabled{opacity:.4;cursor:default}.timeline__list{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px;background:var(--tplane-chat-debug-bg)}.timeline__empty{padding:24px 16px;text-align:center;color:var(--tplane-chat-debug-text-subtle);font-size:13px}.timeline__row{display:flex;flex-direction:column;gap:8px}.timeline__row-actions{display:none;gap:8px;padding-left:12px}.timeline__row:hover .timeline__row-actions{display:flex}.timeline__row button.row-action{background:var(--tplane-chat-debug-bg-deep);border:1px solid var(--tplane-chat-debug-border);border-radius:6px;padding:3px 8px;font:inherit;font-size:11px;color:var(--tplane-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.timeline__row button.row-action:hover{color:var(--tplane-chat-debug-text);border-color:var(--tplane-chat-debug-border-strong)}.timeline__diff{padding:12px;background:var(--tplane-chat-debug-bg-deep);border:1px solid var(--tplane-chat-debug-border);border-radius:var(--tplane-chat-debug-radius-input);color:var(--tplane-chat-debug-text)}\n"], dependencies: [{ kind: "component", type: DebugCheckpointCardComponent, selector: "chat-debug-checkpoint-card", inputs: ["checkpoint", "isSelected"], outputs: ["selected"] }, { kind: "component", type: DebugStateDiffComponent, selector: "chat-debug-state-diff", inputs: ["before", "after"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
374
374
|
}
|
|
375
375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TimelineInspectorComponent, decorators: [{
|
|
376
376
|
type: Component,
|
|
@@ -420,7 +420,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
420
420
|
</div>
|
|
421
421
|
}
|
|
422
422
|
</div>
|
|
423
|
-
`, styles: [":host{--
|
|
423
|
+
`, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ":host{display:flex;flex-direction:column;height:100%;outline:none}.timeline__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--tplane-chat-debug-border);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tplane-chat-debug-text-subtle);background:var(--tplane-chat-debug-bg)}.timeline__count{display:inline-flex;align-items:center;gap:6px}.timeline__count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;border-radius:9px;background:var(--tplane-chat-debug-surface);border:1px solid var(--tplane-chat-debug-border);color:var(--tplane-chat-debug-text);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}.timeline__clear{background:transparent;border:0;cursor:pointer;color:var(--tplane-chat-debug-text-subtle);font:inherit;font-size:11px;letter-spacing:0;text-transform:none;padding:2px 6px;border-radius:6px;transition:color .12s ease,background .12s ease}.timeline__clear:hover:not(:disabled){color:var(--tplane-chat-debug-text);background:var(--tplane-chat-debug-surface)}.timeline__clear:disabled{opacity:.4;cursor:default}.timeline__list{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px;background:var(--tplane-chat-debug-bg)}.timeline__empty{padding:24px 16px;text-align:center;color:var(--tplane-chat-debug-text-subtle);font-size:13px}.timeline__row{display:flex;flex-direction:column;gap:8px}.timeline__row-actions{display:none;gap:8px;padding-left:12px}.timeline__row:hover .timeline__row-actions{display:flex}.timeline__row button.row-action{background:var(--tplane-chat-debug-bg-deep);border:1px solid var(--tplane-chat-debug-border);border-radius:6px;padding:3px 8px;font:inherit;font-size:11px;color:var(--tplane-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.timeline__row button.row-action:hover{color:var(--tplane-chat-debug-text);border-color:var(--tplane-chat-debug-border-strong)}.timeline__diff{padding:12px;background:var(--tplane-chat-debug-bg-deep);border:1px solid var(--tplane-chat-debug-border);border-radius:var(--tplane-chat-debug-radius-input);color:var(--tplane-chat-debug-text)}\n"] }]
|
|
424
424
|
}], propDecorators: { agent: [{ type: i0.Input, args: [{ isSignal: true, alias: "agent", required: true }] }], replayRequested: [{ type: i0.Output, args: ["replayRequested"] }], forkRequested: [{ type: i0.Output, args: ["forkRequested"] }], onKey: [{
|
|
425
425
|
type: HostListener,
|
|
426
426
|
args: ['keydown', ['$event']]
|
|
@@ -434,7 +434,7 @@ class DebugStateInspectorComponent {
|
|
|
434
434
|
<div class="debug-state-inspector">
|
|
435
435
|
<pre class="debug-state-inspector__pre">{{ state() | json }}</pre>
|
|
436
436
|
</div>
|
|
437
|
-
`, isInline: true, styles: [":host{--
|
|
437
|
+
`, isInline: true, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ".debug-state-inspector{overflow:auto;max-height:256px}.debug-state-inspector__pre{font-size:var(--tplane-chat-font-size-xs);font-family:var(--tplane-chat-font-mono);color:var(--tplane-chat-text);white-space:pre-wrap;word-break:break-all;margin:0}\n"], dependencies: [{ kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
438
438
|
}
|
|
439
439
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DebugStateInspectorComponent, decorators: [{
|
|
440
440
|
type: Component,
|
|
@@ -442,7 +442,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
442
442
|
<div class="debug-state-inspector">
|
|
443
443
|
<pre class="debug-state-inspector__pre">{{ state() | json }}</pre>
|
|
444
444
|
</div>
|
|
445
|
-
`, styles: [":host{--
|
|
445
|
+
`, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ".debug-state-inspector{overflow:auto;max-height:256px}.debug-state-inspector__pre{font-size:var(--tplane-chat-font-size-xs);font-family:var(--tplane-chat-font-mono);color:var(--tplane-chat-text);white-space:pre-wrap;word-break:break-all;margin:0}\n"] }]
|
|
446
446
|
}], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }] } });
|
|
447
447
|
|
|
448
448
|
// SPDX-License-Identifier: MIT
|
|
@@ -476,7 +476,7 @@ class StateInspectorComponent {
|
|
|
476
476
|
<div class="state__body">
|
|
477
477
|
<chat-debug-state-inspector [state]="state()" />
|
|
478
478
|
</div>
|
|
479
|
-
`, isInline: true, styles: [":host{--
|
|
479
|
+
`, isInline: true, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ":host{display:flex;flex-direction:column;height:100%;background:var(--tplane-chat-debug-bg)}.state__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--tplane-chat-debug-border);background:var(--tplane-chat-debug-bg);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tplane-chat-debug-text-subtle)}.state__copy{display:inline-flex;align-items:center;gap:6px;background:var(--tplane-chat-debug-bg-deep);border:1px solid var(--tplane-chat-debug-border);border-radius:6px;padding:3px 8px;font:inherit;font-size:11px;letter-spacing:0;text-transform:none;color:var(--tplane-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.state__copy:hover{color:var(--tplane-chat-debug-text);border-color:var(--tplane-chat-debug-border-strong)}.state__copy.is-copied{color:var(--tplane-chat-debug-success);border-color:var(--tplane-chat-debug-success)}.state__copy svg{display:block}.state__body{flex:1;overflow-y:auto;padding:12px 16px;color:var(--tplane-chat-debug-text)}\n"], dependencies: [{ kind: "component", type: DebugStateInspectorComponent, selector: "chat-debug-state-inspector", inputs: ["state"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
480
480
|
}
|
|
481
481
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: StateInspectorComponent, decorators: [{
|
|
482
482
|
type: Component,
|
|
@@ -496,7 +496,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
496
496
|
<div class="state__body">
|
|
497
497
|
<chat-debug-state-inspector [state]="state()" />
|
|
498
498
|
</div>
|
|
499
|
-
`, styles: [":host{--
|
|
499
|
+
`, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ":host{display:flex;flex-direction:column;height:100%;background:var(--tplane-chat-debug-bg)}.state__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--tplane-chat-debug-border);background:var(--tplane-chat-debug-bg);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tplane-chat-debug-text-subtle)}.state__copy{display:inline-flex;align-items:center;gap:6px;background:var(--tplane-chat-debug-bg-deep);border:1px solid var(--tplane-chat-debug-border);border-radius:6px;padding:3px 8px;font:inherit;font-size:11px;letter-spacing:0;text-transform:none;color:var(--tplane-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.state__copy:hover{color:var(--tplane-chat-debug-text);border-color:var(--tplane-chat-debug-border-strong)}.state__copy.is-copied{color:var(--tplane-chat-debug-success);border-color:var(--tplane-chat-debug-success)}.state__copy svg{display:block}.state__body{flex:1;overflow-y:auto;padding:12px 16px;color:var(--tplane-chat-debug-text)}\n"] }]
|
|
500
500
|
}], propDecorators: { agent: [{ type: i0.Input, args: [{ isSignal: true, alias: "agent", required: true }] }] } });
|
|
501
501
|
|
|
502
502
|
/**
|
|
@@ -618,7 +618,7 @@ class ChatDebugComponent {
|
|
|
618
618
|
p.write('tab', this.activeTabId());
|
|
619
619
|
});
|
|
620
620
|
// Publish the dock the panel currently occupies. Peer panels
|
|
621
|
-
// (e.g. chat-sidebar) read --
|
|
621
|
+
// (e.g. chat-sidebar) read --tplane-chat-occupy-{right,bottom,left}
|
|
622
622
|
// to avoid overlap.
|
|
623
623
|
effect(() => {
|
|
624
624
|
if (typeof document === 'undefined')
|
|
@@ -828,7 +828,7 @@ class ChatDebugComponent {
|
|
|
828
828
|
</div>
|
|
829
829
|
</div>
|
|
830
830
|
}
|
|
831
|
-
`, isInline: true, styles: [":host{--
|
|
831
|
+
`, isInline: true, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ":host{display:contents}.launcher{position:fixed;top:20px;right:20px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--tplane-chat-debug-radius-pill);background:var(--tplane-chat-debug-bg);border:1px solid var(--tplane-chat-debug-border);color:var(--tplane-chat-debug-text);cursor:pointer;z-index:990;box-shadow:var(--tplane-chat-debug-shadow-pill);transition:background .12s ease,border-color .12s ease;padding:0}.launcher:hover{background:var(--tplane-chat-debug-surface);border-color:var(--tplane-chat-debug-border-strong)}.launcher__dot{width:8px;height:8px;border-radius:50%;background:var(--tplane-chat-debug-success);box-shadow:0 0 8px color-mix(in srgb,var(--tplane-chat-debug-success) 60%,transparent)}.launcher__dot--streaming{background:var(--tplane-chat-debug-accent);box-shadow:0 0 8px color-mix(in srgb,var(--tplane-chat-debug-accent) 70%,transparent);animation:chat-debug-pill-pulse 1.2s ease-in-out infinite}@keyframes chat-debug-pill-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.panel{position:fixed;background:var(--tplane-chat-debug-bg);color:var(--tplane-chat-debug-text);border:1px solid var(--tplane-chat-debug-border);z-index:991;display:flex;flex-direction:column;box-shadow:var(--tplane-chat-debug-shadow-panel);animation:chat-debug-panel-enter .12s ease}.panel--right{top:0;right:var(--tplane-chat-sidebar-claim-right, 0);bottom:0;width:var(--panel-size, 420px);border-right:0;border-top-left-radius:var(--tplane-chat-debug-radius-panel);border-bottom-left-radius:var(--tplane-chat-debug-radius-panel);transform-origin:bottom right;transition:right .2s ease-out}.panel--left{top:0;left:0;bottom:0;width:var(--panel-size, 420px);border-left:0;border-top-right-radius:var(--tplane-chat-debug-radius-panel);border-bottom-right-radius:var(--tplane-chat-debug-radius-panel);transform-origin:bottom left}.panel--bottom{left:0;right:var(--tplane-chat-sidebar-claim-right, 0);bottom:0;height:var(--panel-size, 40vh);border-bottom:0;border-top-left-radius:var(--tplane-chat-debug-radius-panel);border-top-right-radius:var(--tplane-chat-debug-radius-panel);transform-origin:bottom right;transition:right .2s ease-out}@media(max-width:767px){.panel--bottom{display:none}}@keyframes chat-debug-panel-enter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--tplane-chat-debug-border);min-height:44px;box-sizing:border-box}.panel__title{margin:0;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--tplane-chat-debug-text)}.panel__actions{display:flex;align-items:center;gap:4px}.panel__dock-group{display:inline-flex;gap:0;padding:2px;background:var(--tplane-chat-debug-bg-deep);border:1px solid var(--tplane-chat-debug-border);border-radius:6px}.panel__dock-btn{appearance:none;background:transparent;border:0;border-radius:4px;width:24px;height:22px;padding:0;color:var(--tplane-chat-debug-text-subtle);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.panel__dock-btn:hover{color:var(--tplane-chat-debug-text)}.panel__dock-btn.is-active{background:var(--tplane-chat-debug-border);color:var(--tplane-chat-debug-text)}.panel__dock-btn svg{display:block}.panel__close{appearance:none;background:transparent;border:0;border-radius:6px;width:26px;height:26px;margin-left:4px;color:var(--tplane-chat-debug-text-subtle);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.panel__close:hover{background:var(--tplane-chat-debug-surface);color:var(--tplane-chat-debug-text)}.panel__controls{border-bottom:1px solid var(--tplane-chat-debug-border);overflow-y:auto;max-height:50%;background:var(--tplane-chat-debug-bg)}.panel__controls:empty{display:none}.panel__tabs{display:flex;gap:4px;border-bottom:1px solid var(--tplane-chat-debug-border);padding:0 12px;background:var(--tplane-chat-debug-bg)}.panel__tab{appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;padding:10px 8px;font:inherit;font-size:13px;font-weight:500;color:var(--tplane-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease;margin-bottom:-1px}.panel__tab:hover{color:var(--tplane-chat-debug-text)}.panel__tab.is-active{color:var(--tplane-chat-debug-text);border-bottom-color:var(--tplane-chat-debug-accent)}.panel__body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--tplane-chat-debug-bg)}\n"], dependencies: [{ kind: "component", type: TimelineInspectorComponent, selector: "chat-debug-timeline-inspector", inputs: ["agent"], outputs: ["replayRequested", "forkRequested"] }, { kind: "component", type: StateInspectorComponent, selector: "chat-debug-state-tab", inputs: ["agent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
832
832
|
}
|
|
833
833
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ChatDebugComponent, decorators: [{
|
|
834
834
|
type: Component,
|
|
@@ -983,7 +983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
983
983
|
</div>
|
|
984
984
|
</div>
|
|
985
985
|
}
|
|
986
|
-
`, styles: [":host{--
|
|
986
|
+
`, styles: [":host{--tplane-chat-debug-bg: #18181b;--tplane-chat-debug-bg-deep: #09090b;--tplane-chat-debug-surface: #1f1f23;--tplane-chat-debug-border: #27272a;--tplane-chat-debug-border-strong: #3f3f46;--tplane-chat-debug-text: #fafafa;--tplane-chat-debug-text-muted: #a1a1aa;--tplane-chat-debug-text-subtle: #71717a;--tplane-chat-debug-accent: #4f8df5;--tplane-chat-debug-success: #4ade80;--tplane-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--tplane-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--tplane-chat-debug-radius-panel: 12px;--tplane-chat-debug-radius-input: 8px;--tplane-chat-debug-radius-pill: 999px;--tplane-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--tplane-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--tplane-chat-debug-font-sans);color:var(--tplane-chat-debug-text);--tplane-chat-bg: var(--tplane-chat-debug-bg);--tplane-chat-text: var(--tplane-chat-debug-text);--tplane-chat-text-muted: var(--tplane-chat-debug-text-muted);--tplane-chat-separator: var(--tplane-chat-debug-border);--tplane-chat-surface-alt: var(--tplane-chat-debug-bg-deep);--tplane-chat-font-size-xs: 12px;--tplane-chat-font-mono: var(--tplane-chat-debug-font-mono);--tplane-chat-radius-card: 8px;--tplane-chat-success: var(--tplane-chat-debug-success);--tplane-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--tplane-chat-error-text: #fca5a5;--tplane-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--tplane-chat-warning-text: #fcd34d}\n", ":host{display:contents}.launcher{position:fixed;top:20px;right:20px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--tplane-chat-debug-radius-pill);background:var(--tplane-chat-debug-bg);border:1px solid var(--tplane-chat-debug-border);color:var(--tplane-chat-debug-text);cursor:pointer;z-index:990;box-shadow:var(--tplane-chat-debug-shadow-pill);transition:background .12s ease,border-color .12s ease;padding:0}.launcher:hover{background:var(--tplane-chat-debug-surface);border-color:var(--tplane-chat-debug-border-strong)}.launcher__dot{width:8px;height:8px;border-radius:50%;background:var(--tplane-chat-debug-success);box-shadow:0 0 8px color-mix(in srgb,var(--tplane-chat-debug-success) 60%,transparent)}.launcher__dot--streaming{background:var(--tplane-chat-debug-accent);box-shadow:0 0 8px color-mix(in srgb,var(--tplane-chat-debug-accent) 70%,transparent);animation:chat-debug-pill-pulse 1.2s ease-in-out infinite}@keyframes chat-debug-pill-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.panel{position:fixed;background:var(--tplane-chat-debug-bg);color:var(--tplane-chat-debug-text);border:1px solid var(--tplane-chat-debug-border);z-index:991;display:flex;flex-direction:column;box-shadow:var(--tplane-chat-debug-shadow-panel);animation:chat-debug-panel-enter .12s ease}.panel--right{top:0;right:var(--tplane-chat-sidebar-claim-right, 0);bottom:0;width:var(--panel-size, 420px);border-right:0;border-top-left-radius:var(--tplane-chat-debug-radius-panel);border-bottom-left-radius:var(--tplane-chat-debug-radius-panel);transform-origin:bottom right;transition:right .2s ease-out}.panel--left{top:0;left:0;bottom:0;width:var(--panel-size, 420px);border-left:0;border-top-right-radius:var(--tplane-chat-debug-radius-panel);border-bottom-right-radius:var(--tplane-chat-debug-radius-panel);transform-origin:bottom left}.panel--bottom{left:0;right:var(--tplane-chat-sidebar-claim-right, 0);bottom:0;height:var(--panel-size, 40vh);border-bottom:0;border-top-left-radius:var(--tplane-chat-debug-radius-panel);border-top-right-radius:var(--tplane-chat-debug-radius-panel);transform-origin:bottom right;transition:right .2s ease-out}@media(max-width:767px){.panel--bottom{display:none}}@keyframes chat-debug-panel-enter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--tplane-chat-debug-border);min-height:44px;box-sizing:border-box}.panel__title{margin:0;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--tplane-chat-debug-text)}.panel__actions{display:flex;align-items:center;gap:4px}.panel__dock-group{display:inline-flex;gap:0;padding:2px;background:var(--tplane-chat-debug-bg-deep);border:1px solid var(--tplane-chat-debug-border);border-radius:6px}.panel__dock-btn{appearance:none;background:transparent;border:0;border-radius:4px;width:24px;height:22px;padding:0;color:var(--tplane-chat-debug-text-subtle);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.panel__dock-btn:hover{color:var(--tplane-chat-debug-text)}.panel__dock-btn.is-active{background:var(--tplane-chat-debug-border);color:var(--tplane-chat-debug-text)}.panel__dock-btn svg{display:block}.panel__close{appearance:none;background:transparent;border:0;border-radius:6px;width:26px;height:26px;margin-left:4px;color:var(--tplane-chat-debug-text-subtle);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.panel__close:hover{background:var(--tplane-chat-debug-surface);color:var(--tplane-chat-debug-text)}.panel__controls{border-bottom:1px solid var(--tplane-chat-debug-border);overflow-y:auto;max-height:50%;background:var(--tplane-chat-debug-bg)}.panel__controls:empty{display:none}.panel__tabs{display:flex;gap:4px;border-bottom:1px solid var(--tplane-chat-debug-border);padding:0 12px;background:var(--tplane-chat-debug-bg)}.panel__tab{appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;padding:10px 8px;font:inherit;font-size:13px;font-weight:500;color:var(--tplane-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease;margin-bottom:-1px}.panel__tab:hover{color:var(--tplane-chat-debug-text)}.panel__tab.is-active{color:var(--tplane-chat-debug-text);border-bottom-color:var(--tplane-chat-debug-accent)}.panel__body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--tplane-chat-debug-bg)}\n"] }]
|
|
987
987
|
}], ctorParameters: () => [], propDecorators: { agent: [{ type: i0.Input, args: [{ isSignal: true, alias: "agent", required: false }] }], dock: [{ type: i0.Input, args: [{ isSignal: true, alias: "dock", required: false }] }], defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], launcher: [{ type: i0.Input, args: [{ isSignal: true, alias: "launcher", required: false }] }], storageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "storageKey", required: false }] }], replayRequested: [{ type: i0.Output, args: ["replayRequested"] }], forkRequested: [{ type: i0.Output, args: ["forkRequested"] }], openChange: [{ type: i0.Output, args: ["openChange"] }], dockChange: [{ type: i0.Output, args: ["dockChange"] }], onEsc: [{
|
|
988
988
|
type: HostListener,
|
|
989
989
|
args: ['document:keydown.escape']
|