Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 0 additions & 119 deletions apps/website/content/docs/chat/api/api-docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -1456,40 +1456,6 @@
],
"methods": []
},
{
"name": "ChatCheckpointMarkerComponent",
"kind": "class",
"description": "",
"params": [],
"examples": [],
"properties": [
{
"name": "checkpointId",
"type": "InputSignal<string>",
"description": "",
"optional": false
},
{
"name": "forkRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
},
{
"name": "isActive",
"type": "InputSignal<boolean>",
"description": "",
"optional": false
},
{
"name": "replayRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
}
],
"methods": []
},
{
"name": "ChatCitationCardTemplateDirective",
"kind": "class",
Expand Down Expand Up @@ -1581,12 +1547,6 @@
"description": "True iff there's a current (last-index) assistant message that's\nstill streaming. The bubble's own caret already signals loading;\nwe suppress the floor typing-indicator in that case so the user\ndoesn't see two loading affordances at once.\n\nMatches the same `streaming + current` condition the bubble uses\nto enable `.chat-message__caret`:\n `agent().isLoading() && i === agent().messages().length - 1`\n `i === agent().messages().length - 1`\n\nRestricted to assistant role because the caret only renders on\nassistant bubbles (`:host([data-role=\"assistant\"][data-current=...\n ][data-streaming=...])`).",
"optional": false
},
{
"name": "forkRequested",
"type": "OutputEmitterRef<string>",
"description": "Bubbled from chat-message gutter markers when the user requests a checkpoint fork.",
"optional": false
},
{
"name": "genuiToolNames",
"type": "InputSignal<readonly string[]>",
Expand Down Expand Up @@ -1659,12 +1619,6 @@
"description": "",
"optional": false
},
{
"name": "replayRequested",
"type": "OutputEmitterRef<string>",
"description": "Bubbled from chat-message gutter markers when the user requests a checkpoint replay.",
"optional": false
},
{
"name": "resolvedStore",
"type": "Signal<StateStore | undefined>",
Expand Down Expand Up @@ -1721,19 +1675,6 @@
}
],
"methods": [
{
"name": "checkpointFor",
"signature": "checkpointFor(msg: Message)",
"description": "Returns the checkpoint id associated with an AI message, if the\n underlying agent exposes messageCheckpoints().",
"params": [
{
"name": "msg",
"type": "Message",
"description": "",
"optional": false
}
]
},
{
"name": "classifyMessage",
"signature": "classifyMessage(content: string, message: object)",
Expand Down Expand Up @@ -2564,18 +2505,6 @@
"description": "",
"optional": false
},
{
"name": "checkpointActive",
"type": "InputSignal<boolean>",
"description": "",
"optional": false
},
{
"name": "checkpointId",
"type": "InputSignal<string | undefined>",
"description": "Optional checkpoint id to anchor a gutter marker. When set, a\n chat-checkpoint-marker is rendered in the left gutter and emits\n bubble through this component's replayRequested / forkRequested outputs.",
"optional": false
},
{
"name": "current",
"type": "InputSignal<boolean>",
Expand All @@ -2588,12 +2517,6 @@
"description": "",
"optional": false
},
{
"name": "forkRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
},
{
"name": "message",
"type": "InputSignal<Message | undefined>",
Expand All @@ -2606,12 +2529,6 @@
"description": "",
"optional": false
},
{
"name": "replayRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
},
{
"name": "role",
"type": "InputSignal<ChatMessageRole>",
Expand Down Expand Up @@ -2779,12 +2696,6 @@
"description": "Close the popup on Escape (default true).",
"optional": false
},
{
"name": "forkRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
},
{
"name": "modelOptions",
"type": "InputSignal<readonly ChatSelectOption[]>",
Expand All @@ -2797,12 +2708,6 @@
"description": "",
"optional": false
},
{
"name": "replayRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
},
{
"name": "selectedModel",
"type": "ModelSignal<string>",
Expand Down Expand Up @@ -3286,12 +3191,6 @@
"description": "Close the sidebar on Escape (default true).",
"optional": false
},
{
"name": "forkRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
},
{
"name": "modelOptions",
"type": "InputSignal<readonly ChatSelectOption[]>",
Expand All @@ -3310,12 +3209,6 @@
"description": "",
"optional": false
},
{
"name": "replayRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
},
{
"name": "selectedModel",
"type": "ModelSignal<string>",
Expand Down Expand Up @@ -3399,12 +3292,6 @@
"description": "",
"optional": false
},
{
"name": "forkRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
},
{
"name": "isDebugStreaming",
"type": "Signal<boolean>",
Expand Down Expand Up @@ -3465,12 +3352,6 @@
"description": "",
"optional": false
},
{
"name": "replayRequested",
"type": "OutputEmitterRef<string>",
"description": "",
"optional": false
},
{
"name": "searchOpened",
"type": "OutputEmitterRef<void>",
Expand Down
2 changes: 0 additions & 2 deletions examples/chat/angular/src/app/modes/embed-mode.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ import { WelcomeSuggestionsComponent } from './welcome-suggestions.component';
[modelOptions]="shell.modelOptions()"
[selectedModel]="shell.model()"
(selectedModelChange)="shell.onModelChange($event)"
(replayRequested)="shell.onTimelineReplay($event)"
(forkRequested)="shell.onTimelineFork($event)"
>
<welcome-suggestions chatWelcomeSuggestions (selected)="send($event)" />
</chat>
Expand Down
2 changes: 0 additions & 2 deletions examples/chat/angular/src/app/modes/popup-mode.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ import { WelcomeSuggestionsComponent } from './welcome-suggestions.component';
[selectedModel]="shell.model()"
[showModelPicker]="false"
(selectedModelChange)="shell.onModelChange($event)"
(replayRequested)="shell.onTimelineReplay($event)"
(forkRequested)="shell.onTimelineFork($event)"
>
<welcome-suggestions chatWelcomeSuggestions (selected)="send($event)" />
</chat-popup>
Expand Down
2 changes: 0 additions & 2 deletions examples/chat/angular/src/app/modes/sidebar-mode.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ import { WelcomeSuggestionsComponent } from './welcome-suggestions.component';
[open]="true"
[pushContent]="true"
(selectedModelChange)="shell.onModelChange($event)"
(replayRequested)="shell.onTimelineReplay($event)"
(forkRequested)="shell.onTimelineFork($event)"
>
<span chatSidebarPanelTitle>{{ shell.currentThreadTitle() }}</span>
<div class="sidebar-mode__background">
Expand Down
2 changes: 0 additions & 2 deletions examples/chat/angular/src/app/shell/demo-shell.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,6 @@
(searchOpened)="paletteOpen.set(true)"
(openChange)="onSidenavOpenChange($event)"
(modeChange)="onSidenavModeChange($event)"
(replayRequested)="onTimelineReplay($event)"
(forkRequested)="onTimelineFork($event)"
>
<button
sidenavFooterRight
Expand Down
12 changes: 0 additions & 12 deletions examples/chat/angular/src/app/shell/demo-shell.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -411,18 +411,6 @@ export class DemoShell {
this.persistence.write('sidenavMode', next);
}

onTimelineReplay(checkpointId: string): void {
void this.agent.submit(null as never, { checkpointId } as never);
}

async onTimelineFork(checkpointId: string): Promise<void> {
const id = await this.threadsSvc.create();
if (!id) return;
this.threadIdSignal.set(id);
this.persistence.write('threadId', id);
void this.agent.submit(null as never, { checkpointId } as never);
}

/** Switch to an existing thread selected from the threads panel. */
protected onThreadSelected(threadId: string): void {
this.threadIdSignal.set(threadId);
Expand Down
2 changes: 1 addition & 1 deletion libs/a2ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ngaf/a2ui",
"version": "0.0.42",
"version": "0.0.43",
"license": "MIT",
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion libs/ag-ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ngaf/ag-ui",
"version": "0.0.42",
"version": "0.0.43",
"peerDependencies": {
"@ngaf/chat": "*",
"@ngaf/licensing": "*",
Expand Down
2 changes: 1 addition & 1 deletion libs/chat/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ngaf/chat",
"version": "0.0.42",
"version": "0.0.43",
"exports": {
"./chat.css": "./chat.css",
"./themes/default-dark.css": "./themes/default-dark.css",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// libs/chat/src/lib/compositions/chat-popup/chat-popup.component.ts
// SPDX-License-Identifier: MIT
import { Component, ChangeDetectionStrategy, input, model, output, DestroyRef, inject, DOCUMENT, effect } from '@angular/core';
import { Component, ChangeDetectionStrategy, input, model, DestroyRef, inject, DOCUMENT, effect } from '@angular/core';
import type { Agent } from '../../agent';
import type { ViewRegistry } from '@ngaf/render';
import { ChatComponent } from '../chat/chat.component';
Expand Down Expand Up @@ -72,8 +72,6 @@ import { CHAT_HOST_TOKENS, ensureChatRootStyles } from '../../styles/chat-tokens
[showModelPicker]="showModelPicker()"
[selectedModel]="selectedModel()"
(selectedModelChange)="selectedModel.set($event)"
(replayRequested)="replayRequested.emit($event)"
(forkRequested)="forkRequested.emit($event)"
>
<ng-content select="[chatHeader]" chatHeader />
<ng-content select="[chatWelcomeSuggestions]" chatWelcomeSuggestions />
Expand Down Expand Up @@ -101,8 +99,6 @@ export class ChatPopupComponent {
/** Two-way bound current model value. */
readonly selectedModel = model<string>('');
readonly open = model(false);
readonly replayRequested = output<string>();
readonly forkRequested = output<string>();
/**
* Keyboard shortcut (single key) that toggles the popup with cmd (mac)
* or ctrl (other). Set to `null` to disable. Default: 'k' — matches the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import {
inject,
input,
model,
output,
} from '@angular/core';
import type { Agent } from '../../agent';
import type { ViewRegistry } from '@ngaf/render';
Expand Down Expand Up @@ -114,8 +113,6 @@ import { CHAT_HOST_TOKENS, ensureChatRootStyles } from '../../styles/chat-tokens
[showModelPicker]="showModelPicker()"
[selectedModel]="selectedModel()"
(selectedModelChange)="selectedModel.set($event)"
(replayRequested)="replayRequested.emit($event)"
(forkRequested)="forkRequested.emit($event)"
>
<ng-content select="[chatHeader]" chatHeader />
<ng-content select="[chatWelcomeSuggestions]" chatWelcomeSuggestions />
Expand Down Expand Up @@ -146,8 +143,6 @@ export class ChatSidebarComponent {
/** Close the sidebar on Escape (default true). */
readonly closeOnEscape = input<boolean>(true);
readonly pushContent = input<boolean>(false);
readonly replayRequested = output<string>();
readonly forkRequested = output<string>();

private readonly document = inject(DOCUMENT);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,6 @@ type ChatDebugDock = 'right' | 'bottom' | 'left';
interface ChatDebugInstance {
setOpen(value: boolean): void;
setDock?(dock: ChatDebugDock): void;
replayRequested?: {
subscribe(callback: (checkpointId: string) => void): OutputRefSubscription;
};
forkRequested?: {
subscribe(callback: (checkpointId: string) => void): OutputRefSubscription;
};
openChange?: {
subscribe(callback: (open: boolean) => void): OutputRefSubscription;
};
Expand Down Expand Up @@ -330,8 +324,6 @@ export class ChatSidenavComponent {
readonly modeChange = output<ChatSidenavMode>();
readonly projectSelected = output<string>();
readonly newProjectRequested = output<void>();
readonly replayRequested = output<string>();
readonly forkRequested = output<string>();

protected readonly archivedOpen = signal<boolean>(false);
protected readonly showDebugButton = computed(
Expand Down Expand Up @@ -428,16 +420,6 @@ export class ChatSidenavComponent {
this.debugRef.setInput('storageKey', 'chat-sidenav-debug');
const initialDock = this.defaultDebugDock();
this.debugRef.setInput('dock', initialDock);
const replaySub = this.debugRef.instance.replayRequested?.subscribe(
(checkpointId) => {
this.replayRequested.emit(checkpointId);
}
);
const forkSub = this.debugRef.instance.forkRequested?.subscribe(
(checkpointId) => {
this.forkRequested.emit(checkpointId);
}
);
const openSub = this.debugRef.instance.openChange?.subscribe((open) => {
if (open) {
this.setDebugEdgeClaim(this.currentDebugDock);
Expand All @@ -450,8 +432,6 @@ export class ChatSidenavComponent {
this.setDebugEdgeClaim(dock);
});
this.debugOutputSubscriptions = [
replaySub,
forkSub,
openSub,
dockSub,
].filter((sub): sub is OutputRefSubscription => !!sub);
Expand Down
Loading