@threadplane/chat 0.0.53 → 0.0.55

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
@@ -28,7 +28,7 @@ Part of [Threadplane](https://github.com/cacheplane/angular-agent-framework).
28
28
  ## Install
29
29
 
30
30
  ```bash
31
- npm install @threadplane/chat
31
+ npm install @threadplane/chat @threadplane/langgraph marked
32
32
  ```
33
33
 
34
34
  **Peer dependencies:**
@@ -37,6 +37,7 @@ npm install @threadplane/chat
37
37
  @angular/core ^20.0.0 || ^21.0.0
38
38
  @angular/common ^20.0.0 || ^21.0.0
39
39
  @angular/platform-browser ^20.0.0 || ^21.0.0
40
+ @angular/router ^20.0.0 || ^21.0.0
40
41
  @threadplane/licensing *
41
42
  @threadplane/render *
42
43
  @threadplane/a2ui *
@@ -44,6 +45,8 @@ npm install @threadplane/chat
44
45
  @langchain/core ^1.1.33
45
46
  rxjs ~7.8.0
46
47
  marked ^15.0.0 || ^16.0.0
48
+ zod ^3.25.0
49
+ katex ^0.16.0 || ^0.17.0 (optional)
47
50
  ```
48
51
 
49
52
  ---
@@ -54,9 +57,13 @@ marked ^15.0.0 || ^16.0.0
54
57
  // app.config.ts
55
58
  import { ApplicationConfig } from '@angular/core';
56
59
  import { provideChat } from '@threadplane/chat';
60
+ import { provideAgent } from '@threadplane/langgraph';
57
61
 
58
62
  export const appConfig: ApplicationConfig = {
59
- providers: [provideChat({ license: 'eyJ…' })],
63
+ providers: [
64
+ provideAgent({ apiUrl: '/api/langgraph', assistantId: 'agent' }),
65
+ provideChat({ license: 'eyJ…' }),
66
+ ],
60
67
  };
61
68
  ```
62
69
 
@@ -64,7 +71,7 @@ export const appConfig: ApplicationConfig = {
64
71
  // my.component.ts
65
72
  import { Component } from '@angular/core';
66
73
  import { ChatComponent } from '@threadplane/chat';
67
- import { agent } from '@threadplane/langgraph';
74
+ import { injectAgent } from '@threadplane/langgraph';
68
75
 
69
76
  @Component({
70
77
  selector: 'app-root',
@@ -72,11 +79,11 @@ import { agent } from '@threadplane/langgraph';
72
79
  template: `<chat [agent]="myAgent" />`,
73
80
  })
74
81
  export class AppComponent {
75
- myAgent = agent({ apiUrl: '/api/langgraph', graphId: 'agent' });
82
+ protected readonly myAgent = injectAgent();
76
83
  }
77
84
  ```
78
85
 
79
- Get the `agent` signal from `@threadplane/langgraph` (for LangGraph Platform backends) or `@threadplane/ag-ui` (for AG-UI-compatible backends). See those packages for setup details.
86
+ Get the agent from `@threadplane/langgraph` (for LangGraph Platform backends) or `@threadplane/ag-ui` (for AG-UI-compatible backends). See those packages for setup details.
80
87
 
81
88
  ---
82
89
 
@@ -203,7 +210,7 @@ providers: [
203
210
  ];
204
211
  ```
205
212
 
206
- Per-instance, bind the registry on `<chat-streaming-md [viewRegistry]="…" />` instead. Styling uses the existing `--ngaf-chat-*` / `--a2ui-*` tokens — see the [Theming](#theming) section.
213
+ Per-instance, bind the registry on `<chat-streaming-md [viewRegistry]="…" />` instead. Styling uses the existing `--tplane-chat-*` / `--a2ui-*` tokens — see the [Theming](#theming) section.
207
214
 
208
215
  The `renderMarkdown(md, options?)` function produces a parse tree for use outside streaming contexts.
209
216
 
@@ -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 `--ngaf-chat-*` (the chat library's theme tokens).
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
- --ngaf-chat-debug-bg: #18181b;
22
- --ngaf-chat-debug-bg-deep: #09090b;
23
- --ngaf-chat-debug-surface: #1f1f23;
24
- --ngaf-chat-debug-border: #27272a;
25
- --ngaf-chat-debug-border-strong: #3f3f46;
26
- --ngaf-chat-debug-text: #fafafa;
27
- --ngaf-chat-debug-text-muted: #a1a1aa;
28
- --ngaf-chat-debug-text-subtle: #71717a;
29
- --ngaf-chat-debug-accent: #4f8df5;
30
- --ngaf-chat-debug-success: #4ade80;
31
- --ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, 0.5);
32
- --ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, 0.4);
33
- --ngaf-chat-debug-radius-panel: 12px;
34
- --ngaf-chat-debug-radius-input: 8px;
35
- --ngaf-chat-debug-radius-pill: 999px;
36
- --ngaf-chat-debug-font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
37
- --ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
38
- font-family: var(--ngaf-chat-debug-font-sans);
39
- color: var(--ngaf-chat-debug-text);
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 \`--ngaf-chat-*\`
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
- --ngaf-chat-bg: var(--ngaf-chat-debug-bg);
50
- --ngaf-chat-text: var(--ngaf-chat-debug-text);
51
- --ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);
52
- --ngaf-chat-separator: var(--ngaf-chat-debug-border);
53
- --ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);
54
- --ngaf-chat-font-size-xs: 12px;
55
- --ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);
56
- --ngaf-chat-radius-card: 8px;
57
- --ngaf-chat-success: var(--ngaf-chat-debug-success);
58
- --ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);
59
- --ngaf-chat-error-text: #fca5a5;
60
- --ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);
61
- --ngaf-chat-warning-text: #fcd34d;
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 ngaf-chat-debug {
67
+ @layer tplane-chat-debug {
68
68
  :root {
69
- --ngaf-chat-sidebar-claim-right: 0px;
70
- --ngaf-chat-debug-panel-size-h: 40vh;
71
- --ngaf-chat-debug-panel-size-w: 420px;
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
- --ngaf-chat-debug-claim-bottom: var(--ngaf-chat-debug-panel-size-h, 40vh);
75
- --ngaf-chat-occupy-bottom: var(--ngaf-chat-debug-panel-size-h, 40vh);
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
- --ngaf-chat-debug-claim-right: var(--ngaf-chat-debug-panel-size-w, 420px);
79
- --ngaf-chat-occupy-right: var(--ngaf-chat-debug-panel-size-w, 420px);
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
- --ngaf-chat-debug-claim-left: var(--ngaf-chat-debug-panel-size-w, 420px);
83
- --ngaf-chat-occupy-left: var(--ngaf-chat-debug-panel-size-w, 420px);
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 = 'ngaf-chat-debug-root-styles';
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-chat-warning-text: #fcd34d}\n", ".debug-checkpoint-card{width:100%;text-align:left;border-radius:var(--ngaf-chat-radius-card);border:1px solid var(--ngaf-chat-separator);padding:8px 12px;cursor:pointer;background:var(--ngaf-chat-bg);transition:background .15s ease,border-color .15s ease}.debug-checkpoint-card:hover{background:color-mix(in srgb,var(--ngaf-chat-text) 5%,transparent)}.debug-checkpoint-card--selected{border-color:var(--ngaf-chat-text-muted);background:color-mix(in srgb,var(--ngaf-chat-text) 5%,transparent)}.debug-checkpoint-card__title{font-size:var(--ngaf-chat-font-size-xs);font-weight:500;color:var(--ngaf-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(--ngaf-chat-font-size-xs);padding:2px 6px;border-radius:4px;background:var(--ngaf-chat-surface-alt);color:var(--ngaf-chat-text-muted)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-chat-warning-text: #fcd34d}\n", ".debug-checkpoint-card{width:100%;text-align:left;border-radius:var(--ngaf-chat-radius-card);border:1px solid var(--ngaf-chat-separator);padding:8px 12px;cursor:pointer;background:var(--ngaf-chat-bg);transition:background .15s ease,border-color .15s ease}.debug-checkpoint-card:hover{background:color-mix(in srgb,var(--ngaf-chat-text) 5%,transparent)}.debug-checkpoint-card--selected{border-color:var(--ngaf-chat-text-muted);background:color-mix(in srgb,var(--ngaf-chat-text) 5%,transparent)}.debug-checkpoint-card__title{font-size:var(--ngaf-chat-font-size-xs);font-weight:500;color:var(--ngaf-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(--ngaf-chat-font-size-xs);padding:2px 6px;border-radius:4px;background:var(--ngaf-chat-surface-alt);color:var(--ngaf-chat-text-muted)}\n"] }]
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-chat-warning-text: #fcd34d}\n", ".debug-state-diff__empty{font-size:var(--ngaf-chat-font-size-xs);color:var(--ngaf-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(--ngaf-chat-font-size-xs);font-family:var(--ngaf-chat-font-mono);padding:4px 8px;border-radius:4px}.debug-state-diff__entry--added{background:var(--ngaf-chat-surface-alt);color:var(--ngaf-chat-success)}.debug-state-diff__entry--removed{background:var(--ngaf-chat-error-bg);color:var(--ngaf-chat-error-text)}.debug-state-diff__entry--changed{background:var(--ngaf-chat-warning-bg);color:var(--ngaf-chat-warning-text)}.debug-state-diff__key{font-weight:600}.debug-state-diff__value{display:block;padding-left:16px;color:var(--ngaf-chat-text-muted)}\n"], dependencies: [{ kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-chat-warning-text: #fcd34d}\n", ".debug-state-diff__empty{font-size:var(--ngaf-chat-font-size-xs);color:var(--ngaf-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(--ngaf-chat-font-size-xs);font-family:var(--ngaf-chat-font-mono);padding:4px 8px;border-radius:4px}.debug-state-diff__entry--added{background:var(--ngaf-chat-surface-alt);color:var(--ngaf-chat-success)}.debug-state-diff__entry--removed{background:var(--ngaf-chat-error-bg);color:var(--ngaf-chat-error-text)}.debug-state-diff__entry--changed{background:var(--ngaf-chat-warning-bg);color:var(--ngaf-chat-warning-text)}.debug-state-diff__key{font-weight:600}.debug-state-diff__value{display:block;padding-left:16px;color:var(--ngaf-chat-text-muted)}\n"] }]
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-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(--ngaf-chat-debug-border);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ngaf-chat-debug-text-subtle);background:var(--ngaf-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(--ngaf-chat-debug-surface);border:1px solid var(--ngaf-chat-debug-border);color:var(--ngaf-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(--ngaf-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(--ngaf-chat-debug-text);background:var(--ngaf-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(--ngaf-chat-debug-bg)}.timeline__empty{padding:24px 16px;text-align:center;color:var(--ngaf-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(--ngaf-chat-debug-bg-deep);border:1px solid var(--ngaf-chat-debug-border);border-radius:6px;padding:3px 8px;font:inherit;font-size:11px;color:var(--ngaf-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.timeline__row button.row-action:hover{color:var(--ngaf-chat-debug-text);border-color:var(--ngaf-chat-debug-border-strong)}.timeline__diff{padding:12px;background:var(--ngaf-chat-debug-bg-deep);border:1px solid var(--ngaf-chat-debug-border);border-radius:var(--ngaf-chat-debug-radius-input);color:var(--ngaf-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 });
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-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(--ngaf-chat-debug-border);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ngaf-chat-debug-text-subtle);background:var(--ngaf-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(--ngaf-chat-debug-surface);border:1px solid var(--ngaf-chat-debug-border);color:var(--ngaf-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(--ngaf-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(--ngaf-chat-debug-text);background:var(--ngaf-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(--ngaf-chat-debug-bg)}.timeline__empty{padding:24px 16px;text-align:center;color:var(--ngaf-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(--ngaf-chat-debug-bg-deep);border:1px solid var(--ngaf-chat-debug-border);border-radius:6px;padding:3px 8px;font:inherit;font-size:11px;color:var(--ngaf-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.timeline__row button.row-action:hover{color:var(--ngaf-chat-debug-text);border-color:var(--ngaf-chat-debug-border-strong)}.timeline__diff{padding:12px;background:var(--ngaf-chat-debug-bg-deep);border:1px solid var(--ngaf-chat-debug-border);border-radius:var(--ngaf-chat-debug-radius-input);color:var(--ngaf-chat-debug-text)}\n"] }]
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-chat-warning-text: #fcd34d}\n", ".debug-state-inspector{overflow:auto;max-height:256px}.debug-state-inspector__pre{font-size:var(--ngaf-chat-font-size-xs);font-family:var(--ngaf-chat-font-mono);color:var(--ngaf-chat-text);white-space:pre-wrap;word-break:break-all;margin:0}\n"], dependencies: [{ kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-chat-warning-text: #fcd34d}\n", ".debug-state-inspector{overflow:auto;max-height:256px}.debug-state-inspector__pre{font-size:var(--ngaf-chat-font-size-xs);font-family:var(--ngaf-chat-font-mono);color:var(--ngaf-chat-text);white-space:pre-wrap;word-break:break-all;margin:0}\n"] }]
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-chat-warning-text: #fcd34d}\n", ":host{display:flex;flex-direction:column;height:100%;background:var(--ngaf-chat-debug-bg)}.state__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--ngaf-chat-debug-border);background:var(--ngaf-chat-debug-bg);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ngaf-chat-debug-text-subtle)}.state__copy{display:inline-flex;align-items:center;gap:6px;background:var(--ngaf-chat-debug-bg-deep);border:1px solid var(--ngaf-chat-debug-border);border-radius:6px;padding:3px 8px;font:inherit;font-size:11px;letter-spacing:0;text-transform:none;color:var(--ngaf-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.state__copy:hover{color:var(--ngaf-chat-debug-text);border-color:var(--ngaf-chat-debug-border-strong)}.state__copy.is-copied{color:var(--ngaf-chat-debug-success);border-color:var(--ngaf-chat-debug-success)}.state__copy svg{display:block}.state__body{flex:1;overflow-y:auto;padding:12px 16px;color:var(--ngaf-chat-debug-text)}\n"], dependencies: [{ kind: "component", type: DebugStateInspectorComponent, selector: "chat-debug-state-inspector", inputs: ["state"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-chat-warning-text: #fcd34d}\n", ":host{display:flex;flex-direction:column;height:100%;background:var(--ngaf-chat-debug-bg)}.state__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--ngaf-chat-debug-border);background:var(--ngaf-chat-debug-bg);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ngaf-chat-debug-text-subtle)}.state__copy{display:inline-flex;align-items:center;gap:6px;background:var(--ngaf-chat-debug-bg-deep);border:1px solid var(--ngaf-chat-debug-border);border-radius:6px;padding:3px 8px;font:inherit;font-size:11px;letter-spacing:0;text-transform:none;color:var(--ngaf-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.state__copy:hover{color:var(--ngaf-chat-debug-text);border-color:var(--ngaf-chat-debug-border-strong)}.state__copy.is-copied{color:var(--ngaf-chat-debug-success);border-color:var(--ngaf-chat-debug-success)}.state__copy svg{display:block}.state__body{flex:1;overflow-y:auto;padding:12px 16px;color:var(--ngaf-chat-debug-text)}\n"] }]
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 --ngaf-chat-occupy-{right,bottom,left}
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-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(--ngaf-chat-debug-radius-pill);background:var(--ngaf-chat-debug-bg);border:1px solid var(--ngaf-chat-debug-border);color:var(--ngaf-chat-debug-text);cursor:pointer;z-index:990;box-shadow:var(--ngaf-chat-debug-shadow-pill);transition:background .12s ease,border-color .12s ease;padding:0}.launcher:hover{background:var(--ngaf-chat-debug-surface);border-color:var(--ngaf-chat-debug-border-strong)}.launcher__dot{width:8px;height:8px;border-radius:50%;background:var(--ngaf-chat-debug-success);box-shadow:0 0 8px color-mix(in srgb,var(--ngaf-chat-debug-success) 60%,transparent)}.launcher__dot--streaming{background:var(--ngaf-chat-debug-accent);box-shadow:0 0 8px color-mix(in srgb,var(--ngaf-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(--ngaf-chat-debug-bg);color:var(--ngaf-chat-debug-text);border:1px solid var(--ngaf-chat-debug-border);z-index:991;display:flex;flex-direction:column;box-shadow:var(--ngaf-chat-debug-shadow-panel);animation:chat-debug-panel-enter .12s ease}.panel--right{top:0;right:var(--ngaf-chat-sidebar-claim-right, 0);bottom:0;width:var(--panel-size, 420px);border-right:0;border-top-left-radius:var(--ngaf-chat-debug-radius-panel);border-bottom-left-radius:var(--ngaf-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(--ngaf-chat-debug-radius-panel);border-bottom-right-radius:var(--ngaf-chat-debug-radius-panel);transform-origin:bottom left}.panel--bottom{left:0;right:var(--ngaf-chat-sidebar-claim-right, 0);bottom:0;height:var(--panel-size, 40vh);border-bottom:0;border-top-left-radius:var(--ngaf-chat-debug-radius-panel);border-top-right-radius:var(--ngaf-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(--ngaf-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(--ngaf-chat-debug-text)}.panel__actions{display:flex;align-items:center;gap:4px}.panel__dock-group{display:inline-flex;gap:0;padding:2px;background:var(--ngaf-chat-debug-bg-deep);border:1px solid var(--ngaf-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(--ngaf-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(--ngaf-chat-debug-text)}.panel__dock-btn.is-active{background:var(--ngaf-chat-debug-border);color:var(--ngaf-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(--ngaf-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(--ngaf-chat-debug-surface);color:var(--ngaf-chat-debug-text)}.panel__controls{border-bottom:1px solid var(--ngaf-chat-debug-border);overflow-y:auto;max-height:50%;background:var(--ngaf-chat-debug-bg)}.panel__controls:empty{display:none}.panel__tabs{display:flex;gap:4px;border-bottom:1px solid var(--ngaf-chat-debug-border);padding:0 12px;background:var(--ngaf-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(--ngaf-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease;margin-bottom:-1px}.panel__tab:hover{color:var(--ngaf-chat-debug-text)}.panel__tab.is-active{color:var(--ngaf-chat-debug-text);border-bottom-color:var(--ngaf-chat-debug-accent)}.panel__body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--ngaf-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 });
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{--ngaf-chat-debug-bg: #18181b;--ngaf-chat-debug-bg-deep: #09090b;--ngaf-chat-debug-surface: #1f1f23;--ngaf-chat-debug-border: #27272a;--ngaf-chat-debug-border-strong: #3f3f46;--ngaf-chat-debug-text: #fafafa;--ngaf-chat-debug-text-muted: #a1a1aa;--ngaf-chat-debug-text-subtle: #71717a;--ngaf-chat-debug-accent: #4f8df5;--ngaf-chat-debug-success: #4ade80;--ngaf-chat-debug-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--ngaf-chat-debug-shadow-pill: 0 6px 18px rgba(0, 0, 0, .4);--ngaf-chat-debug-radius-panel: 12px;--ngaf-chat-debug-radius-input: 8px;--ngaf-chat-debug-radius-pill: 999px;--ngaf-chat-debug-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--ngaf-chat-debug-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;font-family:var(--ngaf-chat-debug-font-sans);color:var(--ngaf-chat-debug-text);--ngaf-chat-bg: var(--ngaf-chat-debug-bg);--ngaf-chat-text: var(--ngaf-chat-debug-text);--ngaf-chat-text-muted: var(--ngaf-chat-debug-text-muted);--ngaf-chat-separator: var(--ngaf-chat-debug-border);--ngaf-chat-surface-alt: var(--ngaf-chat-debug-bg-deep);--ngaf-chat-font-size-xs: 12px;--ngaf-chat-font-mono: var(--ngaf-chat-debug-font-mono);--ngaf-chat-radius-card: 8px;--ngaf-chat-success: var(--ngaf-chat-debug-success);--ngaf-chat-error-bg: color-mix(in srgb, #ef4444 18%, transparent);--ngaf-chat-error-text: #fca5a5;--ngaf-chat-warning-bg: color-mix(in srgb, #f59e0b 18%, transparent);--ngaf-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(--ngaf-chat-debug-radius-pill);background:var(--ngaf-chat-debug-bg);border:1px solid var(--ngaf-chat-debug-border);color:var(--ngaf-chat-debug-text);cursor:pointer;z-index:990;box-shadow:var(--ngaf-chat-debug-shadow-pill);transition:background .12s ease,border-color .12s ease;padding:0}.launcher:hover{background:var(--ngaf-chat-debug-surface);border-color:var(--ngaf-chat-debug-border-strong)}.launcher__dot{width:8px;height:8px;border-radius:50%;background:var(--ngaf-chat-debug-success);box-shadow:0 0 8px color-mix(in srgb,var(--ngaf-chat-debug-success) 60%,transparent)}.launcher__dot--streaming{background:var(--ngaf-chat-debug-accent);box-shadow:0 0 8px color-mix(in srgb,var(--ngaf-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(--ngaf-chat-debug-bg);color:var(--ngaf-chat-debug-text);border:1px solid var(--ngaf-chat-debug-border);z-index:991;display:flex;flex-direction:column;box-shadow:var(--ngaf-chat-debug-shadow-panel);animation:chat-debug-panel-enter .12s ease}.panel--right{top:0;right:var(--ngaf-chat-sidebar-claim-right, 0);bottom:0;width:var(--panel-size, 420px);border-right:0;border-top-left-radius:var(--ngaf-chat-debug-radius-panel);border-bottom-left-radius:var(--ngaf-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(--ngaf-chat-debug-radius-panel);border-bottom-right-radius:var(--ngaf-chat-debug-radius-panel);transform-origin:bottom left}.panel--bottom{left:0;right:var(--ngaf-chat-sidebar-claim-right, 0);bottom:0;height:var(--panel-size, 40vh);border-bottom:0;border-top-left-radius:var(--ngaf-chat-debug-radius-panel);border-top-right-radius:var(--ngaf-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(--ngaf-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(--ngaf-chat-debug-text)}.panel__actions{display:flex;align-items:center;gap:4px}.panel__dock-group{display:inline-flex;gap:0;padding:2px;background:var(--ngaf-chat-debug-bg-deep);border:1px solid var(--ngaf-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(--ngaf-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(--ngaf-chat-debug-text)}.panel__dock-btn.is-active{background:var(--ngaf-chat-debug-border);color:var(--ngaf-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(--ngaf-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(--ngaf-chat-debug-surface);color:var(--ngaf-chat-debug-text)}.panel__controls{border-bottom:1px solid var(--ngaf-chat-debug-border);overflow-y:auto;max-height:50%;background:var(--ngaf-chat-debug-bg)}.panel__controls:empty{display:none}.panel__tabs{display:flex;gap:4px;border-bottom:1px solid var(--ngaf-chat-debug-border);padding:0 12px;background:var(--ngaf-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(--ngaf-chat-debug-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease;margin-bottom:-1px}.panel__tab:hover{color:var(--ngaf-chat-debug-text)}.panel__tab.is-active{color:var(--ngaf-chat-debug-text);border-bottom-color:var(--ngaf-chat-debug-accent)}.panel__body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--ngaf-chat-debug-bg)}\n"] }]
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']