From 9e8cdcb10ae5386b50ddd9c46eb0391627565b44 Mon Sep 17 00:00:00 2001 From: Brian Love Date: Thu, 7 May 2026 10:10:38 -0700 Subject: [PATCH] docs: align chat public context --- apps/website/content/AGENTS.md.template | 27 +- apps/website/content/CLAUDE.md.template | 27 +- .../content/docs/chat/api/mock-agent.mdx | 91 + .../docs/chat/api/mock-langgraph-agent.mdx | 238 - .../content/docs/chat/api/provide-chat.mdx | 2 +- .../docs/chat/components/chat-debug.mdx | 4 +- .../docs/chat/components/chat-input.mdx | 21 +- .../chat/components/chat-interrupt-panel.mdx | 12 +- .../chat/components/chat-message-list.mdx | 8 +- .../docs/chat/components/chat-popup.mdx | 2 +- .../docs/chat/components/chat-sidebar.mdx | 2 +- .../chat/components/chat-subagent-card.mdx | 16 +- .../content/docs/chat/components/chat.mdx | 8 +- .../chat/getting-started/introduction.mdx | 16 +- .../docs/chat/guides/custom-catalogs.mdx | 8 +- .../docs/chat/guides/generative-ui.mdx | 4 +- .../content/docs/chat/guides/markdown.mdx | 2 +- .../content/docs/render/a2ui/overview.mdx | 6 +- .../website/content/docs/render/api/views.mdx | 2 +- apps/website/content/prompts/configuration.md | 2 +- apps/website/public/AGENTS.md | 29 +- apps/website/public/CLAUDE.md | 29 +- apps/website/public/api-docs.json | 6623 ----------------- .../website/scripts/generate-agent-context.ts | 4 +- .../scripts/generate-narrative-docs.ts | 26 +- apps/website/src/app/llms-full.txt/route.ts | 28 +- apps/website/src/app/llms.txt/route.ts | 21 +- apps/website/src/lib/docs-config.ts | 2 +- packages/mcp/project.json | 2 +- packages/mcp/src/data/loader.ts | 12 +- packages/mcp/src/tools/get-api-reference.ts | 8 +- 31 files changed, 282 insertions(+), 7000 deletions(-) create mode 100644 apps/website/content/docs/chat/api/mock-agent.mdx delete mode 100644 apps/website/content/docs/chat/api/mock-langgraph-agent.mdx delete mode 100644 apps/website/public/api-docs.json diff --git a/apps/website/content/AGENTS.md.template b/apps/website/content/AGENTS.md.template index f32de2f6f..778772e04 100644 --- a/apps/website/content/AGENTS.md.template +++ b/apps/website/content/AGENTS.md.template @@ -1,9 +1,9 @@ # Angular Agent Framework v@VERSION@ -Angular agent framework for LangChain/LangGraph. Provides `agent()` — Signal-native streaming for Angular agents, built for LangGraph. +Agent UI primitives and LangGraph streaming adapters for Angular. ## Install -npm install @ngaf/langgraph +npm install @ngaf/chat @ngaf/langgraph ## Key requirement `agent()` MUST be called within an Angular injection context (component constructor or field initializer). Calling it in ngOnInit or any async context throws "NG0203: inject() must be called from an injection context". @@ -11,22 +11,25 @@ npm install @ngaf/langgraph ## Basic usage ```typescript // app.config.ts +import type { ApplicationConfig } from '@angular/core'; import { provideAgent } from '@ngaf/langgraph'; export const appConfig: ApplicationConfig = { providers: [provideAgent({ apiUrl: 'http://localhost:2024' })] }; // chat.component.ts +import { Component } from '@angular/core'; import { agent } from '@ngaf/langgraph'; -import type { BaseMessage } from '@langchain/core/messages'; - -@Component({ template: ` - @for (msg of chat.messages(); track $index) {

{{ msg.content }}

} - -`}) +import { ChatComponent as NgafChatComponent } from '@ngaf/chat'; + +@Component({ + imports: [NgafChatComponent], + template: ` + + `, +}) export class ChatComponent { - chat = agent<{ messages: BaseMessage[] }>({ assistantId: 'chat_agent' }); - send() { this.chat.submit({ message: 'Hello' }); } + chat = agent({ assistantId: 'chat_agent' }); } ``` @@ -36,9 +39,5 @@ export class ChatComponent { - Per-call override: pass `apiUrl` directly to `agent()` - Testing: use `MockAgentTransport` — never mock `agent()` itself -## MCP server (for tool access) -Add to ~/.claude/settings.json: -{"mcpServers":{"angular-agent":{"command":"npx","args":["@ngaf/langgraph-mcp"]}}} - ## Version check If this file is stale, fetch the latest: https://cacheplane.ai/llms-full.txt diff --git a/apps/website/content/CLAUDE.md.template b/apps/website/content/CLAUDE.md.template index f32de2f6f..778772e04 100644 --- a/apps/website/content/CLAUDE.md.template +++ b/apps/website/content/CLAUDE.md.template @@ -1,9 +1,9 @@ # Angular Agent Framework v@VERSION@ -Angular agent framework for LangChain/LangGraph. Provides `agent()` — Signal-native streaming for Angular agents, built for LangGraph. +Agent UI primitives and LangGraph streaming adapters for Angular. ## Install -npm install @ngaf/langgraph +npm install @ngaf/chat @ngaf/langgraph ## Key requirement `agent()` MUST be called within an Angular injection context (component constructor or field initializer). Calling it in ngOnInit or any async context throws "NG0203: inject() must be called from an injection context". @@ -11,22 +11,25 @@ npm install @ngaf/langgraph ## Basic usage ```typescript // app.config.ts +import type { ApplicationConfig } from '@angular/core'; import { provideAgent } from '@ngaf/langgraph'; export const appConfig: ApplicationConfig = { providers: [provideAgent({ apiUrl: 'http://localhost:2024' })] }; // chat.component.ts +import { Component } from '@angular/core'; import { agent } from '@ngaf/langgraph'; -import type { BaseMessage } from '@langchain/core/messages'; - -@Component({ template: ` - @for (msg of chat.messages(); track $index) {

{{ msg.content }}

} - -`}) +import { ChatComponent as NgafChatComponent } from '@ngaf/chat'; + +@Component({ + imports: [NgafChatComponent], + template: ` + + `, +}) export class ChatComponent { - chat = agent<{ messages: BaseMessage[] }>({ assistantId: 'chat_agent' }); - send() { this.chat.submit({ message: 'Hello' }); } + chat = agent({ assistantId: 'chat_agent' }); } ``` @@ -36,9 +39,5 @@ export class ChatComponent { - Per-call override: pass `apiUrl` directly to `agent()` - Testing: use `MockAgentTransport` — never mock `agent()` itself -## MCP server (for tool access) -Add to ~/.claude/settings.json: -{"mcpServers":{"angular-agent":{"command":"npx","args":["@ngaf/langgraph-mcp"]}}} - ## Version check If this file is stale, fetch the latest: https://cacheplane.ai/llms-full.txt diff --git a/apps/website/content/docs/chat/api/mock-agent.mdx b/apps/website/content/docs/chat/api/mock-agent.mdx new file mode 100644 index 000000000..7fbced52f --- /dev/null +++ b/apps/website/content/docs/chat/api/mock-agent.mdx @@ -0,0 +1,91 @@ +# mockAgent() + +`mockAgent()` creates a runtime-neutral `Agent` mock with writable signals for testing `@ngaf/chat` components. Use it when you are testing chat UI behavior and do not need LangGraph-specific fields. + +**Import:** + +```typescript +import { mockAgent } from '@ngaf/chat'; +import type { MockAgent } from '@ngaf/chat'; +``` + +## Signature + +```typescript +function mockAgent(options?: MockAgentOptions): MockAgent +``` + +### Options + +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `messages` | `Message[]` | `[]` | Initial runtime-neutral messages | +| `status` | `AgentStatus` | `'idle'` | Initial agent status | +| `isLoading` | `boolean` | `false` | Whether the agent is currently running | +| `error` | `unknown` | `null` | Initial error value | +| `toolCalls` | `ToolCall[]` | `[]` | Initial tool-call list | +| `state` | `Record` | `{}` | Initial agent state | +| `withInterrupt` | `boolean` | `false` | Include a writable `interrupt` signal | +| `withSubagents` | `boolean` | `false` | Include a writable `subagents` signal | +| `history` | `AgentCheckpoint[]` | `undefined` | Include history and return an `AgentWithHistory`-compatible mock | + +## Basic Test Usage + +```typescript +import { TestBed } from '@angular/core/testing'; +import { ChatComponent, mockAgent } from '@ngaf/chat'; + +it('renders messages from an agent', async () => { + const agent = mockAgent({ + messages: [ + { id: 'm1', role: 'user', content: 'Hello' }, + { id: 'm2', role: 'assistant', content: 'Hi there' }, + ], + }); + + await TestBed.configureTestingModule({ + imports: [ChatComponent], + }).compileComponents(); + + const fixture = TestBed.createComponent(ChatComponent); + fixture.componentRef.setInput('agent', agent); + fixture.detectChanges(); + + expect(fixture.nativeElement.textContent).toContain('Hello'); + expect(fixture.nativeElement.textContent).toContain('Hi there'); +}); +``` + +## Controlling State + +The returned mock exposes writable signals, so tests can update state directly: + +```typescript +const agent = mockAgent(); + +agent.isLoading.set(true); +agent.error.set(new Error('Connection failed')); +agent.messages.set([{ id: 'm1', role: 'assistant', content: 'Retry?' }]); +``` + +## Spying on Actions + +The mock records calls to core actions: + +```typescript +const agent = mockAgent(); + +await agent.submit({ message: 'Hello' }); +await agent.stop(); +await agent.regenerate(1); + +expect(agent.submitCalls[0]?.input).toEqual({ message: 'Hello' }); +expect(agent.stopCount).toBe(1); +expect(agent.submitCalls[1]?.input).toEqual({ + regenerate: { assistantMessageIndex: 1 }, +}); +``` + +## LangGraph-Specific Tests + +Use `mockLangGraphAgent()` from `@ngaf/langgraph` only when the test needs LangGraph-specific signals such as raw LangGraph messages, checkpoint state, branches, queued runs, or transport metadata. diff --git a/apps/website/content/docs/chat/api/mock-langgraph-agent.mdx b/apps/website/content/docs/chat/api/mock-langgraph-agent.mdx deleted file mode 100644 index c349cefe4..000000000 --- a/apps/website/content/docs/chat/api/mock-langgraph-agent.mdx +++ /dev/null @@ -1,238 +0,0 @@ -# mockLangGraphAgent() - -`mockLangGraphAgent()` creates a mock `LangGraphAgent` with writable signals for testing chat components. Instead of connecting to a real LangGraph agent, you get an object whose signals you can set directly to simulate any agent state. - -**Import:** - -```typescript -import { mockLangGraphAgent } from '@ngaf/chat'; -``` - -## Signature - -```typescript -function mockLangGraphAgent(initial?: { - messages?: BaseMessage[]; - status?: ResourceStatus; - isLoading?: boolean; - error?: unknown; - hasValue?: boolean; - isThreadLoading?: boolean; -}): MockLangGraphAgent -``` - -### Parameters - -| Parameter | Type | Default | Description | -|-----------|------|---------|-------------| -| `initial` | `object` | `{}` | Optional initial values for the mock's signals | - -### Initial Options - -| Option | Type | Default | Description | -|--------|------|---------|-------------| -| `messages` | `BaseMessage[]` | `[]` | Initial message list | -| `status` | `ResourceStatus` | `ResourceStatus.Idle` | Initial resource status | -| `isLoading` | `boolean` | `false` | Initial loading state | -| `error` | `unknown` | `null` | Initial error value | -| `hasValue` | `boolean` | `false` | Whether the agent has a resolved value | -| `isThreadLoading` | `boolean` | `false` | Whether thread data is loading | - -### Returns - -A `MockLangGraphAgent` object — a `LangGraphAgent` with all signals replaced by `WritableSignal` instances. - -## MockLangGraphAgent Interface - -```typescript -interface MockLangGraphAgent extends LangGraphAgent { - messages: WritableSignal; - status: WritableSignal; - error: WritableSignal; - interrupt: WritableSignal | undefined>; - interrupts: WritableSignal[]>; - isLoading: WritableSignal; - hasValue: WritableSignal; - value: WritableSignal; - toolProgress: WritableSignal; - toolCalls: WritableSignal; - branch: WritableSignal; - history: WritableSignal[]>; - isThreadLoading: WritableSignal; - subagents: WritableSignal>; - activeSubagents: WritableSignal; -} -``` - -Every property on `MockLangGraphAgent` is a `WritableSignal`, so you can call `.set()` to control the state directly in your tests. - -## Mock Methods - -The mock provides no-op implementations for all `LangGraphAgent` methods: - -| Method | Behavior | -|--------|----------| -| `submit()` | Returns `Promise.resolve()` | -| `stop()` | Returns `Promise.resolve()` | -| `reload()` | No-op | -| `switchThread()` | No-op | -| `joinStream()` | Returns `Promise.resolve()` | -| `setBranch()` | No-op | -| `getMessagesMetadata()` | Returns `undefined` | -| `getToolCalls()` | Returns `[]` | - -## Basic Test Usage - -```typescript -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { mockLangGraphAgent, ChatComponent } from '@ngaf/chat'; -import type { MockLangGraphAgent } from '@ngaf/chat'; - -describe('ChatComponent', () => { - let fixture: ComponentFixture; - let mockAgent: MockLangGraphAgent; - - beforeEach(async () => { - mockAgent = mockLangGraphAgent({ - messages: [], - isLoading: false, - }); - - await TestBed.configureTestingModule({ - imports: [ChatComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(ChatComponent); - fixture.componentRef.setInput('ref', mockAgent); - fixture.detectChanges(); - }); - - it('should show empty state when no messages', () => { - const el = fixture.nativeElement; - expect(el.textContent).toContain('Send a message'); - }); - - it('should render messages when set', () => { - mockAgent.messages.set([ - { content: 'Hello', _getType: () => 'human' } as any, - { content: 'Hi there!', _getType: () => 'ai' } as any, - ]); - fixture.detectChanges(); - - const el = fixture.nativeElement; - expect(el.textContent).toContain('Hello'); - expect(el.textContent).toContain('Hi there!'); - }); -}); -``` - -## Simulating Agent States - -### Loading State - -```typescript -const agent = mockLangGraphAgent({ isLoading: true }); -// Typing indicator will appear, input will be disabled -``` - -### Error State - -```typescript -const agent = mockLangGraphAgent(); -agent.error.set(new Error('Connection failed')); -// ChatErrorComponent will display "Connection failed" -``` - -### Interrupt State - -```typescript -const agent = mockLangGraphAgent(); -agent.interrupt.set({ - value: 'Please confirm the deletion', - resumable: true, - ns: [], -}); -// ChatInterruptComponent / ChatInterruptPanelComponent will render -``` - -### Tool Calls - -```typescript -const agent = mockLangGraphAgent(); -agent.toolCalls.set([ - { - id: 'call_1', - name: 'search_docs', - args: { query: 'Angular signals' }, - result: { found: 3 }, - }, -]); -``` - -### History (for Debug Components) - -```typescript -const agent = mockLangGraphAgent(); -agent.history.set([ - { - values: { messages: [], count: 0 }, - next: ['agent'], - checkpoint: { checkpoint_id: 'cp_1' }, - }, - { - values: { messages: [{ content: 'Hello' }], count: 1 }, - next: ['tools'], - checkpoint: { checkpoint_id: 'cp_2' }, - }, -]); -``` - -## Testing Custom Components - -Use `mockLangGraphAgent()` to test any component that accepts a `LangGraphAgent` input: - -```typescript -import { Component, input } from '@angular/core'; -import type { LangGraphAgent } from '@ngaf/langgraph'; -import { mockLangGraphAgent } from '@ngaf/chat'; - -// Your component -@Component({ - selector: 'app-message-count', - template: `Messages: {{ ref().messages().length }}`, -}) -export class MessageCountComponent { - ref = input.required>(); -} - -// Test -it('should display message count', () => { - const mockAgent = mockLangGraphAgent({ - messages: [ - { content: 'One', _getType: () => 'human' } as any, - { content: 'Two', _getType: () => 'ai' } as any, - ], - }); - - const fixture = TestBed.createComponent(MessageCountComponent); - fixture.componentRef.setInput('ref', mockAgent); - fixture.detectChanges(); - - expect(fixture.nativeElement.textContent).toContain('Messages: 2'); -}); -``` - -## Spying on Methods - -Since the mock methods are plain functions, you can replace them with spies: - -```typescript -const agent = mockLangGraphAgent(); -const submitSpy = jest.fn().mockResolvedValue(undefined); -agent.submit = submitSpy; - -// After triggering a submit in the component: -expect(submitSpy).toHaveBeenCalledWith({ - message: 'Hello', -}); -``` diff --git a/apps/website/content/docs/chat/api/provide-chat.mdx b/apps/website/content/docs/chat/api/provide-chat.mdx index 944c9cba3..d6343e1fe 100644 --- a/apps/website/content/docs/chat/api/provide-chat.mdx +++ b/apps/website/content/docs/chat/api/provide-chat.mdx @@ -132,7 +132,7 @@ All chat components work without `provideChat()`. They use defaults: // This works fine without provideChat() @Component({ imports: [ChatComponent], - template: ``, + template: ``, }) export class SimpleChatComponent { chatRef = agent<{ messages: BaseMessage[] }>({ diff --git a/apps/website/content/docs/chat/components/chat-debug.mdx b/apps/website/content/docs/chat/components/chat-debug.mdx index 7133ee0d7..718ec6cc2 100644 --- a/apps/website/content/docs/chat/components/chat-debug.mdx +++ b/apps/website/content/docs/chat/components/chat-debug.mdx @@ -34,7 +34,7 @@ import { ChatDebugComponent } from '@ngaf/chat'; changeDetection: ChangeDetectionStrategy.OnPush, template: `
- +
`, }) @@ -52,7 +52,7 @@ export class DebugPageComponent { | Input | Type | Default | Description | |-------|------|---------|-------------| -| `ref` | `LangGraphAgent` | **Required** | The agent providing streaming state and execution history | +| `agent` | `AgentWithHistory` | **Required** | The agent providing streaming state and execution history | ## Layout diff --git a/apps/website/content/docs/chat/components/chat-input.mdx b/apps/website/content/docs/chat/components/chat-input.mdx index 973db590a..2fd227b3f 100644 --- a/apps/website/content/docs/chat/components/chat-input.mdx +++ b/apps/website/content/docs/chat/components/chat-input.mdx @@ -14,7 +14,7 @@ import { ChatInputComponent, submitMessage } from '@ngaf/chat'; ```html ` | **Required** | The agent to submit messages to | +| `agent` | `Agent` | **Required** | The agent to submit messages to | | `submitOnEnter` | `boolean` | `true` | When `true`, pressing Enter submits the message. Shift+Enter inserts a newline. When `false`, Enter always inserts a newline. | | `placeholder` | `string` | `''` | Placeholder text shown when the input is empty | @@ -45,14 +45,14 @@ When the user submits (via Enter key or clicking the send button): 1. The message text is trimmed 2. If empty after trimming, nothing happens -3. `ref.submit()` is called with `{ message: trimmed }` +3. `agent.submit()` is called with `{ message: trimmed }` 4. The `submitted` output emits the trimmed text 5. The input is cleared 6. Focus is returned to the textarea ### Disabled State -The input is automatically disabled when `ref.isLoading()` returns `true`. This prevents sending messages while the agent is processing. Both the textarea and the send button reflect the disabled state. +The input is automatically disabled when `agent.isLoading()` returns `true`. This prevents sending messages while the agent is processing. Both the textarea and the send button reflect the disabled state. ### Auto-Sizing @@ -71,9 +71,10 @@ The `submitMessage()` function is exported as a standalone utility for programma ```typescript import { submitMessage } from '@ngaf/chat'; +import type { Agent } from '@ngaf/chat'; -function sendGreeting(ref: LangGraphAgent) { - const result = submitMessage(ref, 'Hello!'); +function sendGreeting(agent: Agent) { + const result = submitMessage(agent, 'Hello!'); // result is 'Hello!' or null if the text was empty } ``` @@ -82,19 +83,19 @@ function sendGreeting(ref: LangGraphAgent) { ```typescript function submitMessage( - ref: LangGraphAgent, + agent: Agent, text: string ): string | null ``` | Parameter | Type | Description | |-----------|------|-------------| -| `ref` | `LangGraphAgent` | The agent to submit to | +| `agent` | `Agent` | The agent to submit to | | `text` | `string` | The message text to send | **Returns:** The trimmed message string if submitted, or `null` if the trimmed text was empty. -The function calls `ref.submit({ message: trimmed })` under the hood. +The function calls `agent.submit({ message: trimmed })` under the hood. ## Slots @@ -147,7 +148,7 @@ import { ChatInputComponent } from '@ngaf/chat'; template: `
``` @@ -53,7 +53,7 @@ handleInterrupt(action: InterruptAction) { | Input | Type | Default | Description | |-------|------|---------|-------------| -| `ref` | `LangGraphAgent` | **Required** | The agent providing interrupt state | +| `agent` | `Agent` | **Required** | The agent providing interrupt state | ### Outputs @@ -100,7 +100,7 @@ The panel uses the chat theme's warning variables: If you need full control over the interrupt UI, use the lower-level `ChatInterruptComponent` primitive instead. It provides content projection via an `ng-template`: ```html - +

Agent paused: {{ interrupt.value }}

@@ -135,11 +135,11 @@ import type { InterruptAction } from '@ngaf/chat'; template: `
- +
diff --git a/apps/website/content/docs/chat/components/chat-message-list.mdx b/apps/website/content/docs/chat/components/chat-message-list.mdx index 0e7d20f17..ba45bdf30 100644 --- a/apps/website/content/docs/chat/components/chat-message-list.mdx +++ b/apps/website/content/docs/chat/components/chat-message-list.mdx @@ -1,6 +1,6 @@ # ChatMessageListComponent -`ChatMessageListComponent` is the core primitive for rendering chat messages. It iterates over the messages from a `LangGraphAgent` and renders each one using a matching `MessageTemplateDirective`. This gives you full control over how each message type is displayed. +`ChatMessageListComponent` is the core primitive for rendering chat messages. It iterates over the messages from an `Agent` and renders each one using a matching `MessageTemplateDirective`. This gives you full control over how each message type is displayed. **Selector:** `chat-message-list` @@ -49,7 +49,7 @@ import { | Input | Type | Default | Description | |-------|------|---------|-------------| -| `agent` | `LangGraphAgent` | **Required** | The agent providing streaming state | +| `agent` | `Agent` | **Required** | The agent providing streaming state | ### Content Children @@ -61,7 +61,7 @@ Each template receives: | Variable | Type | Description | |----------|------|-------------| -| `$implicit` (via `let-message`) | `BaseMessage` | The LangChain message object | +| `$implicit` (via `let-message`) | `Message` | The runtime-neutral chat message | | `index` | `number` | The index of the message in the array | ```html @@ -94,7 +94,7 @@ type MessageTemplateType = 'human' | 'ai' | 'tool' | 'system' | 'function'; ## getMessageType() -The `getMessageType()` function maps a LangChain `BaseMessage` to a `MessageTemplateType`. It handles both class instances (with `_getType()` method) and plain JSON objects (with a `type` property), since SSE stream events deliver plain JSON rather than hydrated class instances. +The `getMessageType()` function maps a runtime-neutral `Message` role to a `MessageTemplateType`. ```typescript import { getMessageType } from '@ngaf/chat'; diff --git a/apps/website/content/docs/chat/components/chat-popup.mdx b/apps/website/content/docs/chat/components/chat-popup.mdx index 3db1f24c0..a3e0200da 100644 --- a/apps/website/content/docs/chat/components/chat-popup.mdx +++ b/apps/website/content/docs/chat/components/chat-popup.mdx @@ -51,7 +51,7 @@ export class AppComponent { | Input | Type | Default | Description | |-------|------|---------|-------------| -| `agent` | `LangGraphAgent` | **Required** | The agent providing streaming state | +| `agent` | `Agent` | **Required** | The agent providing streaming state | | `open` | `boolean` | `false` | Two-way bindable. Controls whether the chat window is open | ### Outputs diff --git a/apps/website/content/docs/chat/components/chat-sidebar.mdx b/apps/website/content/docs/chat/components/chat-sidebar.mdx index 9496a2864..b97a385cb 100644 --- a/apps/website/content/docs/chat/components/chat-sidebar.mdx +++ b/apps/website/content/docs/chat/components/chat-sidebar.mdx @@ -67,7 +67,7 @@ In push-content mode, `ChatSidebarComponent` uses `display: flex` on its host. T | Input | Type | Default | Description | |-------|------|---------|-------------| -| `agent` | `LangGraphAgent` | **Required** | The agent providing streaming state | +| `agent` | `Agent` | **Required** | The agent providing streaming state | | `open` | `boolean` | `false` | Two-way bindable. Controls whether the sidebar is open | | `pushContent` | `boolean` | `false` | When `true`, the sidebar shifts projected content rather than overlaying it | diff --git a/apps/website/content/docs/chat/components/chat-subagent-card.mdx b/apps/website/content/docs/chat/components/chat-subagent-card.mdx index 04ce181d1..a1a2e2f2e 100644 --- a/apps/website/content/docs/chat/components/chat-subagent-card.mdx +++ b/apps/website/content/docs/chat/components/chat-subagent-card.mdx @@ -22,17 +22,17 @@ import { ChatSubagentCardComponent } from '@ngaf/chat'; | Input | Type | Default | Description | |-------|------|---------|-------------| -| `subagent` | `SubagentStreamRef` | **Required** | The subagent stream reference to display | +| `subagent` | `Subagent` | **Required** | The subagent to display | -## SubagentStreamRef +## Subagent -The `SubagentStreamRef` type comes from `@ngaf/langgraph`. It provides reactive state for a subagent: +The `Subagent` type comes from `@ngaf/chat`. It provides reactive state for a subagent: | Property | Type | Description | |----------|------|-------------| | `toolCallId` | `string` | The ID linking this subagent to its parent tool call | | `status()` | `Signal<'pending' \| 'running' \| 'complete' \| 'error'>` | Current execution status | -| `messages()` | `Signal` | Messages produced by the subagent | +| `messages()` | `Signal` | Messages produced by the subagent | ## Card Behavior @@ -63,10 +63,10 @@ The status badge uses different chat theme variables based on the current status ## Using with ChatSubagentsComponent -The `ChatSubagentsComponent` primitive iterates over active subagent streams from a `LangGraphAgent`. Combine it with `ChatSubagentCardComponent`: +The `ChatSubagentsComponent` primitive iterates over active subagent streams from an `Agent`. Combine it with `ChatSubagentCardComponent`: ```html - + @@ -93,13 +93,13 @@ import { template: `
- +

Active Subagents

- + diff --git a/apps/website/content/docs/chat/components/chat.mdx b/apps/website/content/docs/chat/components/chat.mdx index 46b9db397..7ee2d73eb 100644 --- a/apps/website/content/docs/chat/components/chat.mdx +++ b/apps/website/content/docs/chat/components/chat.mdx @@ -43,7 +43,7 @@ import type { BaseMessage } from '@langchain/core/messages'; imports: [ChatComponent], template: `
- +
`, }) @@ -65,7 +65,7 @@ export class ChatPageComponent { | Input | Type | Default | Description | |-------|------|---------|-------------| -| `ref` | `LangGraphAgent` | **Required** | The agent providing streaming state. Created by `agent()` from `@ngaf/langgraph`. | +| `agent` | `Agent` | **Required** | The runtime-neutral agent providing streaming state. `agent()` from `@ngaf/langgraph` returns a compatible `LangGraphAgent`. | | `views` | `ViewRegistry \| undefined` | `undefined` | View registry for generative UI. Maps spec type names to Angular components. Created with `views()` from `@ngaf/chat`. | | `store` | `StateStore \| undefined` | `undefined` | Optional state store for interactive generative UI specs. | | `handlers` | `Record) => unknown \| Promise>` | `{}` | Event handlers for generative UI specs and A2UI `functionCall` actions. Handlers run in Angular injection context — `inject()` is available inside handler functions. | @@ -92,7 +92,7 @@ When you pass a non-empty `threads` array, a sidebar appears on the left (hidden @Component({ template: ` + ``` ```typescript diff --git a/apps/website/content/docs/chat/getting-started/introduction.mdx b/apps/website/content/docs/chat/getting-started/introduction.mdx index 632f32691..a888731db 100644 --- a/apps/website/content/docs/chat/getting-started/introduction.mdx +++ b/apps/website/content/docs/chat/getting-started/introduction.mdx @@ -1,6 +1,6 @@ # Introduction -`@ngaf/chat` is the Angular UI component library for building chat interfaces on top of `@ngaf/agent`. It provides a complete set of composable, Signal-driven components that render messages, handle user input, display tool calls, manage interrupts, and support generative UI -- all styled with CSS custom properties and built for Angular 20+. +`@ngaf/chat` is the Angular UI component library for building chat interfaces on top of a runtime-neutral `Agent` contract. It provides a complete set of composable, Signal-driven components that render messages, handle user input, display tool calls, manage interrupts, and support generative UI -- all styled with CSS custom properties and built for Angular 20+. This guide explains the library's two-tier architecture, how it relates to the rest of the Cacheplane stack, and when to reach for the all-in-one composition versus assembling primitives yourself. @@ -12,7 +12,7 @@ The library is organized into two layers: **primitives** and **compositions**. ### Primitives -Primitives are low-level, headless components that read from a `LangGraphAgent` and expose their state through content projection (`ng-template`). They carry no opinion about layout or styling. Use them when you need full control over how chat elements render. +Primitives are low-level, headless components that read from an `Agent` and expose their state through content projection (`ng-template`). They carry no opinion about layout or styling. Use them when you need full control over how chat elements render. | Primitive | Selector | Purpose | |-----------|----------|---------| @@ -51,29 +51,29 @@ Your App @ngaf/chat <-- UI components (this library) | | v v -@ngaf/agent @ngaf/render +@ngaf/langgraph @ngaf/render (streaming state) (generative UI) | v LangGraph Platform ``` -- **`@ngaf/agent`** provides the `agent()` function and the `LangGraphAgent` type. Every chat component accepts a `LangGraphAgent` as its primary input. It exposes reactive Signals for `messages()`, `isLoading()`, `error()`, `interrupt()`, `toolCalls()`, `history()`, and more. +- **`@ngaf/langgraph`** provides the `agent()` function and returns a `LangGraphAgent`, which satisfies the `Agent` contract consumed by `@ngaf/chat`. It exposes reactive Signals for `messages()`, `isLoading()`, `error()`, `interrupt()`, `toolCalls()`, `history()`, and more. - **`@ngaf/render`** provides `RenderSpecComponent` and view registries for rendering JSON UI specs as Angular components. The `ChatComponent` auto-detects JSON specs in AI messages and renders them through `@ngaf/render` — pass a view registry via the `[views]` input. The `ChatComponent` also auto-detects A2UI v0.9 payloads and renders them using a built-in 12-component catalog. ## When to Use `ChatComponent` vs. Custom Assembly -**Use `ChatComponent`** when you want a complete, styled chat interface with minimal setup. It includes message rendering (with markdown), a text input, typing indicator, error display, interrupt banner, and an optional thread sidebar. Drop it in, pass a `LangGraphAgent`, and you have a working chat. +**Use `ChatComponent`** when you want a complete, styled chat interface with minimal setup. It includes message rendering (with markdown), a text input, typing indicator, error display, interrupt banner, and an optional thread sidebar. Drop it in, pass an `Agent`, and you have a working chat. ```html - + ``` **Assemble primitives** when you need to customize layout, add components between sections, change the message rendering logic, or integrate chat into a larger dashboard. Primitives give you building blocks without opinions. ```html - + @@ -82,7 +82,7 @@ LangGraph Platform - + ``` ## What's Next diff --git a/apps/website/content/docs/chat/guides/custom-catalogs.mdx b/apps/website/content/docs/chat/guides/custom-catalogs.mdx index 152f1ca55..06a2f151f 100644 --- a/apps/website/content/docs/chat/guides/custom-catalogs.mdx +++ b/apps/website/content/docs/chat/guides/custom-catalogs.mdx @@ -12,7 +12,7 @@ Both json-render specs and A2UI surfaces render through the same `ViewRegistry`. ```typescript import { a2uiBasicCatalog } from '@ngaf/chat'; - + ``` ## Adding Custom Components @@ -26,7 +26,7 @@ const catalog = withViews(a2uiBasicCatalog(), { DataGrid: MyDataGridComponent, }); - + ``` ## Overriding Built-In Components @@ -60,7 +60,7 @@ const catalog = views({ Table: MyTableComponent, }); - + ``` ## No Generative UI @@ -68,7 +68,7 @@ const catalog = views({ If `views` is not provided, no generative UI renders. Specs and A2UI surfaces are silently skipped. ```html - + ``` ## Writing a Custom Component diff --git a/apps/website/content/docs/chat/guides/generative-ui.mdx b/apps/website/content/docs/chat/guides/generative-ui.mdx index 170003d19..613669be3 100644 --- a/apps/website/content/docs/chat/guides/generative-ui.mdx +++ b/apps/website/content/docs/chat/guides/generative-ui.mdx @@ -41,7 +41,7 @@ const myViews = views({ imports: [ChatComponent], template: `
- +
`, }) @@ -120,7 +120,7 @@ import { signalStateStore } from '@ngaf/render'; @Component({ template: ` - + `, }) export class InteractiveChatComponent { diff --git a/apps/website/content/docs/chat/guides/markdown.mdx b/apps/website/content/docs/chat/guides/markdown.mdx index 05f2ba5da..7f58ec28e 100644 --- a/apps/website/content/docs/chat/guides/markdown.mdx +++ b/apps/website/content/docs/chat/guides/markdown.mdx @@ -102,7 +102,7 @@ import { imports: [ChatMessagesComponent, MessageTemplateDirective], styles: [CHAT_MARKDOWN_STYLES], template: ` - +
`, + template: ``, imports: [ChatComponent], }) export class AppComponent { @@ -152,7 +152,7 @@ import { ChatComponent, a2uiBasicCatalog } from '@ngaf/chat'; import { agent } from '@ngaf/langgraph'; @Component({ - template: ``, + template: ``, }) export class MyComponent { agentRef = agent({ apiUrl: '/api', assistantId: 'my-agent' }); @@ -166,7 +166,7 @@ When an A2UI button has a `functionCall` action, the `call` name is looked up in ```typescript @Component({ - template: ``, + template: ``, }) export class MyComponent { agentRef = agent({ apiUrl: '/api', assistantId: 'my-agent' }); diff --git a/apps/website/content/docs/render/api/views.mdx b/apps/website/content/docs/render/api/views.mdx index 75c71313b..d7a641b59 100644 --- a/apps/website/content/docs/render/api/views.mdx +++ b/apps/website/content/docs/render/api/views.mdx @@ -22,7 +22,7 @@ const ui = views({ Pass to the chat component: ```html - + ``` Or provide globally via DI: diff --git a/apps/website/content/prompts/configuration.md b/apps/website/content/prompts/configuration.md index 9f019a23a..f9fdb02ea 100644 --- a/apps/website/content/prompts/configuration.md +++ b/apps/website/content/prompts/configuration.md @@ -7,7 +7,7 @@ Per-call override (overrides global config for one component): Pass apiUrl directly to agent({ apiUrl: 'https://other-server.com', assistantId: 'my-agent' }) — per-call options take precedence over global config. Custom transport (for auth headers, logging, or testing): -Implement AgentTransport interface — it has one method: stream(input, options). Pass it as transport: myTransport to either provideAgent or agent(). FetchStreamTransport is the default. +Implement the AgentTransport interface from @ngaf/langgraph. Its required method is stream(assistantId, threadId, payload, signal, options), and optional methods cover queued runs, cancellation, history, and updateState. Pass an AgentTransport instance as transport: myTransport to either provideAgent() or agent(). FetchStreamTransport is the default. To pass a system prompt to the LangGraph agent per-thread, use the config option: agent({ config: { configurable: { system_prompt: 'You are a helpful assistant.' } } }) diff --git a/apps/website/public/AGENTS.md b/apps/website/public/AGENTS.md index cdd8dccbc..fa13afad2 100644 --- a/apps/website/public/AGENTS.md +++ b/apps/website/public/AGENTS.md @@ -1,9 +1,9 @@ -# Angular Agent Framework v0.1.0 +# Angular Agent Framework v0.0.28 -Angular agent framework for LangChain/LangGraph. Provides `agent()` — Signal-native streaming for Angular agents, built for LangGraph. +Agent UI primitives and LangGraph streaming adapters for Angular. ## Install -npm install @ngaf/langgraph +npm install @ngaf/chat @ngaf/langgraph ## Key requirement `agent()` MUST be called within an Angular injection context (component constructor or field initializer). Calling it in ngOnInit or any async context throws "NG0203: inject() must be called from an injection context". @@ -11,22 +11,25 @@ npm install @ngaf/langgraph ## Basic usage ```typescript // app.config.ts +import type { ApplicationConfig } from '@angular/core'; import { provideAgent } from '@ngaf/langgraph'; export const appConfig: ApplicationConfig = { providers: [provideAgent({ apiUrl: 'http://localhost:2024' })] }; // chat.component.ts +import { Component } from '@angular/core'; import { agent } from '@ngaf/langgraph'; -import type { BaseMessage } from '@langchain/core/messages'; - -@Component({ template: ` - @for (msg of chat.messages(); track $index) {

{{ msg.content }}

} - -`}) +import { ChatComponent as NgafChatComponent } from '@ngaf/chat'; + +@Component({ + imports: [NgafChatComponent], + template: ` + + `, +}) export class ChatComponent { - chat = agent<{ messages: BaseMessage[] }>({ assistantId: 'chat_agent' }); - send() { this.chat.submit({ message: 'Hello' }); } + chat = agent({ assistantId: 'chat_agent' }); } ``` @@ -36,9 +39,5 @@ export class ChatComponent { - Per-call override: pass `apiUrl` directly to `agent()` - Testing: use `MockAgentTransport` — never mock `agent()` itself -## MCP server (for tool access) -Add to ~/.claude/settings.json: -{"mcpServers":{"angular-agent":{"command":"npx","args":["@ngaf/langgraph-mcp"]}}} - ## Version check If this file is stale, fetch the latest: https://cacheplane.ai/llms-full.txt diff --git a/apps/website/public/CLAUDE.md b/apps/website/public/CLAUDE.md index cdd8dccbc..fa13afad2 100644 --- a/apps/website/public/CLAUDE.md +++ b/apps/website/public/CLAUDE.md @@ -1,9 +1,9 @@ -# Angular Agent Framework v0.1.0 +# Angular Agent Framework v0.0.28 -Angular agent framework for LangChain/LangGraph. Provides `agent()` — Signal-native streaming for Angular agents, built for LangGraph. +Agent UI primitives and LangGraph streaming adapters for Angular. ## Install -npm install @ngaf/langgraph +npm install @ngaf/chat @ngaf/langgraph ## Key requirement `agent()` MUST be called within an Angular injection context (component constructor or field initializer). Calling it in ngOnInit or any async context throws "NG0203: inject() must be called from an injection context". @@ -11,22 +11,25 @@ npm install @ngaf/langgraph ## Basic usage ```typescript // app.config.ts +import type { ApplicationConfig } from '@angular/core'; import { provideAgent } from '@ngaf/langgraph'; export const appConfig: ApplicationConfig = { providers: [provideAgent({ apiUrl: 'http://localhost:2024' })] }; // chat.component.ts +import { Component } from '@angular/core'; import { agent } from '@ngaf/langgraph'; -import type { BaseMessage } from '@langchain/core/messages'; - -@Component({ template: ` - @for (msg of chat.messages(); track $index) {

{{ msg.content }}

} - -`}) +import { ChatComponent as NgafChatComponent } from '@ngaf/chat'; + +@Component({ + imports: [NgafChatComponent], + template: ` + + `, +}) export class ChatComponent { - chat = agent<{ messages: BaseMessage[] }>({ assistantId: 'chat_agent' }); - send() { this.chat.submit({ message: 'Hello' }); } + chat = agent({ assistantId: 'chat_agent' }); } ``` @@ -36,9 +39,5 @@ export class ChatComponent { - Per-call override: pass `apiUrl` directly to `agent()` - Testing: use `MockAgentTransport` — never mock `agent()` itself -## MCP server (for tool access) -Add to ~/.claude/settings.json: -{"mcpServers":{"angular-agent":{"command":"npx","args":["@ngaf/langgraph-mcp"]}}} - ## Version check If this file is stale, fetch the latest: https://cacheplane.ai/llms-full.txt diff --git a/apps/website/public/api-docs.json b/apps/website/public/api-docs.json deleted file mode 100644 index 17e9f7d66..000000000 --- a/apps/website/public/api-docs.json +++ /dev/null @@ -1,6623 +0,0 @@ -{ - "schemaVersion": "2.0", - "id": 0, - "name": "angular", - "variant": "project", - "kind": 1, - "flags": {}, - "children": [ - { - "id": 206, - "name": "FetchStreamTransport", - "variant": "declaration", - "kind": 128, - "flags": {}, - "children": [ - { - "id": 207, - "name": "constructor", - "variant": "declaration", - "kind": 512, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/fetch-stream.transport.ts", - "line": 8, - "character": 2 - } - ], - "signatures": [ - { - "id": 208, - "name": "FetchStreamTransport", - "variant": "signature", - "kind": 16384, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/fetch-stream.transport.ts", - "line": 8, - "character": 2 - } - ], - "parameters": [ - { - "id": 209, - "name": "apiUrl", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 210, - "name": "onThreadId", - "variant": "param", - "kind": 32768, - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 211, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 212, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "parameters": [ - { - "id": 213, - "name": "id", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "target": 206, - "name": "FetchStreamTransport", - "package": "angular" - } - } - ] - }, - { - "id": 225, - "name": "joinStream", - "variant": "declaration", - "kind": 2048, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/fetch-stream.transport.ts", - "line": 41, - "character": 9 - } - ], - "signatures": [ - { - "id": 226, - "name": "joinStream", - "variant": "signature", - "kind": 4096, - "flags": {}, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Optional: join an already-started run without creating a new one." - } - ] - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/fetch-stream.transport.ts", - "line": 41, - "character": 9 - } - ], - "parameters": [ - { - "id": 227, - "name": "threadId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 228, - "name": "runId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 229, - "name": "lastEventId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 230, - "name": "signal", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.dom.d.ts", - "qualifiedName": "AbortSignal" - }, - "name": "AbortSignal", - "package": "typescript" - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es2018.asynciterable.d.ts", - "qualifiedName": "AsyncIterable" - }, - "typeArguments": [ - { - "type": "reference", - "target": 97, - "name": "StreamEvent", - "package": "angular" - } - ], - "name": "AsyncIterable", - "package": "typescript" - }, - "implementationOf": { - "type": "reference", - "target": 92, - "name": "AgentTransport.joinStream" - } - } - ], - "implementationOf": { - "type": "reference", - "target": 91, - "name": "AgentTransport.joinStream" - } - }, - { - "id": 219, - "name": "stream", - "variant": "declaration", - "kind": 2048, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/fetch-stream.transport.ts", - "line": 13, - "character": 9 - } - ], - "signatures": [ - { - "id": 220, - "name": "stream", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/fetch-stream.transport.ts", - "line": 13, - "character": 9 - } - ], - "parameters": [ - { - "id": 221, - "name": "assistantId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 222, - "name": "threadId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "literal", - "value": null - } - ] - } - }, - { - "id": 223, - "name": "payload", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "id": 224, - "name": "signal", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.dom.d.ts", - "qualifiedName": "AbortSignal" - }, - "name": "AbortSignal", - "package": "typescript" - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es2018.asynciterable.d.ts", - "qualifiedName": "AsyncIterable" - }, - "typeArguments": [ - { - "type": "reference", - "target": 97, - "name": "StreamEvent", - "package": "angular" - } - ], - "name": "AsyncIterable", - "package": "typescript" - }, - "implementationOf": { - "type": "reference", - "target": 86, - "name": "AgentTransport.stream" - } - } - ], - "implementationOf": { - "type": "reference", - "target": 85, - "name": "AgentTransport.stream" - } - } - ], - "groups": [ - { - "title": "Constructors", - "children": [ - 207 - ] - }, - { - "title": "Methods", - "children": [ - 225, - 219 - ] - } - ], - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/fetch-stream.transport.ts", - "line": 4, - "character": 13 - } - ], - "implementedTypes": [ - { - "type": "reference", - "target": 84, - "name": "AgentTransport", - "package": "angular" - } - ] - }, - { - "id": 173, - "name": "MockAgentTransport", - "variant": "declaration", - "kind": 128, - "flags": {}, - "children": [ - { - "id": 174, - "name": "constructor", - "variant": "declaration", - "kind": 512, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 13, - "character": 2 - } - ], - "signatures": [ - { - "id": 175, - "name": "MockAgentTransport", - "variant": "signature", - "kind": 16384, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 13, - "character": 2 - } - ], - "parameters": [ - { - "id": 176, - "name": "script", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "array", - "elementType": { - "type": "array", - "elementType": { - "type": "reference", - "target": 97, - "name": "StreamEvent", - "package": "angular" - } - } - }, - "defaultValue": "[]" - } - ], - "type": { - "type": "reference", - "target": 173, - "name": "MockAgentTransport", - "package": "angular" - } - } - ] - }, - { - "id": 194, - "name": "close", - "variant": "declaration", - "kind": 2048, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 32, - "character": 2 - } - ], - "signatures": [ - { - "id": 195, - "name": "close", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - }, - { - "id": 188, - "name": "emit", - "variant": "declaration", - "kind": 2048, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 22, - "character": 2 - } - ], - "signatures": [ - { - "id": 189, - "name": "emit", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 22, - "character": 2 - } - ], - "parameters": [ - { - "id": 190, - "name": "events", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "array", - "elementType": { - "type": "reference", - "target": 97, - "name": "StreamEvent", - "package": "angular" - } - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - }, - { - "id": 191, - "name": "emitError", - "variant": "declaration", - "kind": 2048, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 27, - "character": 2 - } - ], - "signatures": [ - { - "id": 192, - "name": "emitError", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 27, - "character": 2 - } - ], - "parameters": [ - { - "id": 193, - "name": "err", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Error" - }, - "name": "Error", - "package": "typescript" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - }, - { - "id": 196, - "name": "isStreaming", - "variant": "declaration", - "kind": 2048, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 37, - "character": 2 - } - ], - "signatures": [ - { - "id": 197, - "name": "isStreaming", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 37, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ] - }, - { - "id": 186, - "name": "nextBatch", - "variant": "declaration", - "kind": 2048, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 17, - "character": 2 - } - ], - "signatures": [ - { - "id": 187, - "name": "nextBatch", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 17, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "target": 97, - "name": "StreamEvent", - "package": "angular" - } - } - } - ] - }, - { - "id": 198, - "name": "stream", - "variant": "declaration", - "kind": 2048, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 41, - "character": 9 - } - ], - "signatures": [ - { - "id": 199, - "name": "stream", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 41, - "character": 9 - } - ], - "parameters": [ - { - "id": 200, - "name": "_assistantId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 201, - "name": "_threadId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "literal", - "value": null - } - ] - } - }, - { - "id": 202, - "name": "_payload", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "id": 203, - "name": "signal", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.dom.d.ts", - "qualifiedName": "AbortSignal" - }, - "name": "AbortSignal", - "package": "typescript" - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es2018.asynciterable.d.ts", - "qualifiedName": "AsyncIterable" - }, - "typeArguments": [ - { - "type": "reference", - "target": 97, - "name": "StreamEvent", - "package": "angular" - } - ], - "name": "AsyncIterable", - "package": "typescript" - }, - "implementationOf": { - "type": "reference", - "target": 86, - "name": "AgentTransport.stream" - } - } - ], - "implementationOf": { - "type": "reference", - "target": 85, - "name": "AgentTransport.stream" - } - } - ], - "groups": [ - { - "title": "Constructors", - "children": [ - 174 - ] - }, - { - "title": "Methods", - "children": [ - 194, - 188, - 191, - 196, - 186, - 198 - ] - } - ], - "sources": [ - { - "fileName": "libs/angular/src/lib/transport/mock-stream.transport.ts", - "line": 3, - "character": 13 - } - ], - "implementedTypes": [ - { - "type": "reference", - "target": 84, - "name": "AgentTransport", - "package": "angular" - } - ] - }, - { - "id": 118, - "name": "Interrupt", - "variant": "declaration", - "kind": 256, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "An interrupt thrown inside a thread." - } - ] - }, - "children": [ - { - "id": 120, - "name": "id", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "The ID of the interrupt." - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 126, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 125, - "name": "ns", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "The namespace of the interrupt." - } - ], - "blockTags": [ - { - "tag": "@deprecated", - "content": [ - { - "kind": "text", - "text": "Replaced by " - }, - { - "kind": "code", - "text": "`interrupt_id`" - } - ] - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 145, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 124, - "name": "resumable", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Whether the interrupt can be resumed." - } - ], - "blockTags": [ - { - "tag": "@deprecated", - "content": [ - { - "kind": "text", - "text": "Will be removed in the future." - } - ] - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 140, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 121, - "name": "value", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "The value of the interrupt." - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 130, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": 119, - "name": "TValue", - "package": "@langchain/langgraph-sdk", - "qualifiedName": "Interrupt.TValue", - "refersToTypeParameter": true - } - }, - { - "id": 122, - "name": "when", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Will be deprecated in the future." - } - ], - "blockTags": [ - { - "tag": "@deprecated", - "content": [ - { - "kind": "text", - "text": "Will be removed in the future." - } - ] - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 135, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intersection", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reflection", - "declaration": { - "id": 123, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": { - "isExternal": true - } - } - } - ] - }, - { - "type": "literal", - "value": "during" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 120, - 125, - 124, - 121, - 122 - ] - } - ], - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 122, - "character": 10 - } - ], - "typeParameters": [ - { - "id": 119, - "name": "TValue", - "variant": "typeParam", - "kind": 131072, - "flags": { - "isExternal": true - }, - "default": { - "type": "intrinsic", - "name": "unknown" - } - } - ] - }, - { - "id": 97, - "name": "StreamEvent", - "variant": "declaration", - "kind": 256, - "flags": {}, - "children": [ - { - "id": 98, - "name": "type", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 40, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "error" - }, - { - "type": "literal", - "value": "values" - }, - { - "type": "literal", - "value": "messages" - }, - { - "type": "literal", - "value": "updates" - }, - { - "type": "literal", - "value": "tools" - }, - { - "type": "literal", - "value": "custom" - }, - { - "type": "literal", - "value": "metadata" - }, - { - "type": "literal", - "value": "checkpoints" - }, - { - "type": "literal", - "value": "tasks" - }, - { - "type": "literal", - "value": "debug" - }, - { - "type": "literal", - "value": "events" - }, - { - "type": "literal", - "value": "interrupt" - }, - { - "type": "literal", - "value": "interrupts" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 98 - ] - } - ], - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 39, - "character": 17 - } - ], - "indexSignatures": [ - { - "id": 99, - "name": "__index", - "variant": "signature", - "kind": 8192, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 43, - "character": 2 - } - ], - "parameters": [ - { - "id": 100, - "name": "key", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ] - }, - { - "id": 10, - "name": "AgentConfig", - "variant": "declaration", - "kind": 256, - "flags": {}, - "children": [ - { - "id": 11, - "name": "apiUrl", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.provider.ts", - "line": 5, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 12, - "name": "transport", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.provider.ts", - "line": 6, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": 84, - "name": "AgentTransport", - "package": "angular" - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 11, - 12 - ] - } - ], - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.provider.ts", - "line": 4, - "character": 17 - } - ] - }, - { - "id": 13, - "name": "AgentOptions", - "variant": "declaration", - "kind": 256, - "flags": {}, - "children": [ - { - "id": 16, - "name": "apiUrl", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 66, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 17, - "name": "assistantId", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 67, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 31, - "name": "filterSubagentMessages", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 75, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 23, - "name": "initialValues", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 70, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Partial" - }, - "typeArguments": [ - { - "type": "reference", - "target": 14, - "name": "T", - "package": "angular", - "qualifiedName": "AgentOptions.T", - "refersToTypeParameter": true - } - ], - "name": "Partial", - "package": "typescript" - } - }, - { - "id": 24, - "name": "messagesKey", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 71, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 19, - "name": "onThreadId", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 69, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 20, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 21, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "parameters": [ - { - "id": 22, - "name": "id", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - }, - { - "id": 32, - "name": "subagentToolNames", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 76, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 18, - "name": "threadId", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 68, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "literal", - "value": null - } - ] - } - ], - "name": "Signal", - "package": "@angular/core" - }, - { - "type": "literal", - "value": null - } - ] - } - }, - { - "id": 25, - "name": "throttle", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 72, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "literal", - "value": false - } - ] - } - }, - { - "id": 26, - "name": "toMessage", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 73, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 27, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 28, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "parameters": [ - { - "id": 29, - "name": "msg", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/base.ts", - "qualifiedName": "BaseMessage" - }, - "name": "BaseMessage", - "package": "@langchain/core" - } - } - ] - } - } - }, - { - "id": 30, - "name": "transport", - "variant": "declaration", - "kind": 1024, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 74, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": 84, - "name": "AgentTransport", - "package": "angular" - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 16, - 17, - 31, - 23, - 24, - 19, - 32, - 18, - 25, - 26, - 30 - ] - } - ], - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 65, - "character": 17 - } - ], - "typeParameters": [ - { - "id": 14, - "name": "T", - "variant": "typeParam", - "kind": 131072, - "flags": {} - }, - { - "id": 15, - "name": "ResolvedBag", - "variant": "typeParam", - "kind": 131072, - "flags": {}, - "type": { - "type": "reference", - "target": 106, - "name": "BagTemplate", - "package": "@langchain/langgraph-sdk" - } - } - ] - }, - { - "id": 33, - "name": "AgentRef", - "variant": "declaration", - "kind": 256, - "flags": {}, - "children": [ - { - "id": 53, - "name": "activeSubagents", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 113, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "target": 101, - "name": "SubagentStreamRef", - "package": "angular" - } - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 49, - "name": "branch", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 107, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 39, - "name": "error", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 95, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 75, - "name": "getMessagesMetadata", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 121, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 76, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 77, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "parameters": [ - { - "id": 78, - "name": "msg", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/base.ts", - "qualifiedName": "BaseMessage" - }, - "name": "BaseMessage", - "package": "@langchain/core" - } - }, - { - "id": 79, - "name": "idx", - "variant": "param", - "kind": 32768, - "flags": { - "isOptional": true - }, - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "MessageMetadata" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - } - ], - "name": "MessageMetadata", - "package": "@langchain/langgraph-sdk" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - } - ] - } - } - }, - { - "id": 80, - "name": "getToolCalls", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 122, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 81, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 82, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "parameters": [ - { - "id": 83, - "name": "msg", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/ai.ts", - "qualifiedName": "AIMessage" - }, - "name": "AIMessage", - "package": "@langchain/core" - } - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.messages.ts", - "qualifiedName": "ToolCallWithResult" - }, - "name": "ToolCallWithResult", - "package": "@langchain/langgraph-sdk" - } - } - } - ] - } - } - }, - { - "id": 40, - "name": "hasValue", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 96, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "boolean" - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 50, - "name": "history", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 108, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "target": 126, - "typeArguments": [ - { - "type": "reference", - "target": 34, - "name": "T", - "package": "angular", - "qualifiedName": "AgentRef.T", - "refersToTypeParameter": true - } - ], - "name": "ThreadState", - "package": "@langchain/langgraph-sdk" - } - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 45, - "name": "interrupt", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 101, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reference", - "target": 118, - "typeArguments": [ - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "InterruptType" - }, - "objectType": { - "type": "reference", - "target": 35, - "name": "ResolvedBag", - "package": "angular", - "qualifiedName": "AgentRef.ResolvedBag", - "refersToTypeParameter": true - } - } - ], - "name": "Interrupt", - "package": "@langchain/langgraph-sdk" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 46, - "name": "interrupts", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 102, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "target": 118, - "typeArguments": [ - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "InterruptType" - }, - "objectType": { - "type": "reference", - "target": 35, - "name": "ResolvedBag", - "package": "angular", - "qualifiedName": "AgentRef.ResolvedBag", - "refersToTypeParameter": true - } - } - ], - "name": "Interrupt", - "package": "@langchain/langgraph-sdk" - } - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 38, - "name": "isLoading", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 94, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "boolean" - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 51, - "name": "isThreadLoading", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 109, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "boolean" - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 66, - "name": "joinStream", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 119, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 67, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 68, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "parameters": [ - { - "id": 69, - "name": "runId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 70, - "name": "lastEventId", - "variant": "param", - "kind": 32768, - "flags": { - "isOptional": true - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Promise" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ], - "name": "Promise", - "package": "typescript" - } - } - ] - } - } - }, - { - "id": 44, - "name": "messages", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 100, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/base.ts", - "qualifiedName": "BaseMessage" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/message.ts", - "qualifiedName": "MessageStructure" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/message.ts", - "qualifiedName": "MessageToolSet" - }, - "name": "MessageToolSet", - "package": "@langchain/core" - } - ], - "name": "MessageStructure", - "package": "@langchain/core" - }, - { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/message.ts", - "qualifiedName": "MessageType" - }, - "name": "MessageType", - "package": "@langchain/core" - } - ], - "name": "BaseMessage", - "package": "@langchain/core" - } - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 41, - "name": "reload", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 97, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 42, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 43, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - }, - { - "id": 71, - "name": "setBranch", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 120, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 72, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 73, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "parameters": [ - { - "id": 74, - "name": "branch", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - }, - { - "id": 37, - "name": "status", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 93, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_api-chunk.d.ts", - "qualifiedName": "ResourceStatus" - }, - "name": "ResourceStatus", - "package": "@angular/core" - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 59, - "name": "stop", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 117, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 60, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 61, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Promise" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ], - "name": "Promise", - "package": "typescript" - } - } - ] - } - } - }, - { - "id": 52, - "name": "subagents", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 112, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es2015.collection.d.ts", - "qualifiedName": "Map" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "target": 101, - "name": "SubagentStreamRef", - "package": "angular" - } - ], - "name": "Map", - "package": "typescript" - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 54, - "name": "submit", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 116, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 55, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 56, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "parameters": [ - { - "id": 57, - "name": "values", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "UpdateType" - }, - "objectType": { - "type": "reference", - "target": 35, - "name": "ResolvedBag", - "package": "angular", - "qualifiedName": "AgentRef.ResolvedBag", - "refersToTypeParameter": true - } - }, - { - "type": "literal", - "value": null - } - ] - } - }, - { - "id": 58, - "name": "opts", - "variant": "param", - "kind": 32768, - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "target": 135, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - }, - { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - } - ], - "name": "SubmitOptions", - "package": "@langchain/langgraph-sdk" - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Promise" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ], - "name": "Promise", - "package": "typescript" - } - } - ] - } - } - }, - { - "id": 62, - "name": "switchThread", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 118, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 63, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "signatures": [ - { - "id": 64, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": {}, - "parameters": [ - { - "id": 65, - "name": "threadId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "literal", - "value": null - } - ] - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - }, - { - "id": 48, - "name": "toolCalls", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 104, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.messages.ts", - "qualifiedName": "ToolCallWithResult" - }, - "name": "ToolCallWithResult", - "package": "@langchain/langgraph-sdk" - } - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 47, - "name": "toolProgress", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 103, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.stream.ts", - "qualifiedName": "ToolProgress" - }, - "name": "ToolProgress", - "package": "@langchain/langgraph-sdk" - } - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 36, - "name": "value", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 92, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "reference", - "target": 34, - "name": "T", - "package": "angular", - "qualifiedName": "AgentRef.T", - "refersToTypeParameter": true - } - ], - "name": "Signal", - "package": "@angular/core" - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 53, - 49, - 39, - 75, - 80, - 40, - 50, - 45, - 46, - 38, - 51, - 66, - 44, - 41, - 71, - 37, - 59, - 52, - 54, - 62, - 48, - 47, - 36 - ] - } - ], - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 90, - "character": 17 - } - ], - "typeParameters": [ - { - "id": 34, - "name": "T", - "variant": "typeParam", - "kind": 131072, - "flags": {} - }, - { - "id": 35, - "name": "ResolvedBag", - "variant": "typeParam", - "kind": 131072, - "flags": {}, - "type": { - "type": "reference", - "target": 106, - "name": "BagTemplate", - "package": "@langchain/langgraph-sdk" - } - } - ] - }, - { - "id": 84, - "name": "AgentTransport", - "variant": "declaration", - "kind": 256, - "flags": {}, - "children": [ - { - "id": 91, - "name": "joinStream", - "variant": "declaration", - "kind": 2048, - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 55, - "character": 2 - } - ], - "signatures": [ - { - "id": 92, - "name": "joinStream", - "variant": "signature", - "kind": 4096, - "flags": {}, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Optional: join an already-started run without creating a new one." - } - ] - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 55, - "character": 2 - } - ], - "parameters": [ - { - "id": 93, - "name": "threadId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 94, - "name": "runId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 95, - "name": "lastEventId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 96, - "name": "signal", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.dom.d.ts", - "qualifiedName": "AbortSignal" - }, - "name": "AbortSignal", - "package": "typescript" - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es2018.asynciterable.d.ts", - "qualifiedName": "AsyncIterable" - }, - "typeArguments": [ - { - "type": "reference", - "target": 97, - "name": "StreamEvent", - "package": "angular" - } - ], - "name": "AsyncIterable", - "package": "typescript" - } - } - ] - }, - { - "id": 85, - "name": "stream", - "variant": "declaration", - "kind": 2048, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 47, - "character": 2 - } - ], - "signatures": [ - { - "id": 86, - "name": "stream", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 47, - "character": 2 - } - ], - "parameters": [ - { - "id": 87, - "name": "assistantId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 88, - "name": "threadId", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "literal", - "value": null - } - ] - } - }, - { - "id": 89, - "name": "payload", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "id": 90, - "name": "signal", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.dom.d.ts", - "qualifiedName": "AbortSignal" - }, - "name": "AbortSignal", - "package": "typescript" - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es2018.asynciterable.d.ts", - "qualifiedName": "AsyncIterable" - }, - "typeArguments": [ - { - "type": "reference", - "target": 97, - "name": "StreamEvent", - "package": "angular" - } - ], - "name": "AsyncIterable", - "package": "typescript" - } - } - ] - } - ], - "groups": [ - { - "title": "Methods", - "children": [ - 91, - 85 - ] - } - ], - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 46, - "character": 17 - } - ], - "implementedBy": [ - { - "type": "reference", - "target": 206, - "name": "FetchStreamTransport" - }, - { - "type": "reference", - "target": 173, - "name": "MockAgentTransport" - } - ] - }, - { - "id": 101, - "name": "SubagentStreamRef", - "variant": "declaration", - "kind": 256, - "flags": {}, - "children": [ - { - "id": 105, - "name": "messages", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 85, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/base.ts", - "qualifiedName": "BaseMessage" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/message.ts", - "qualifiedName": "MessageStructure" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/message.ts", - "qualifiedName": "MessageToolSet" - }, - "name": "MessageToolSet", - "package": "@langchain/core" - } - ], - "name": "MessageStructure", - "package": "@langchain/core" - }, - { - "type": "reference", - "target": { - "packageName": "@langchain/core", - "packagePath": "src/messages/message.ts", - "qualifiedName": "MessageType" - }, - "name": "MessageType", - "package": "@langchain/core" - } - ], - "name": "BaseMessage", - "package": "@langchain/core" - } - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 103, - "name": "status", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 83, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "literal", - "value": "error" - }, - { - "type": "literal", - "value": "pending" - }, - { - "type": "literal", - "value": "running" - }, - { - "type": "literal", - "value": "complete" - } - ] - } - ], - "name": "Signal", - "package": "@angular/core" - } - }, - { - "id": 102, - "name": "toolCallId", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 82, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 104, - "name": "values", - "variant": "declaration", - "kind": 1024, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 84, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Signal" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - } - ], - "name": "Signal", - "package": "@angular/core" - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 105, - 103, - 102, - 104 - ] - } - ], - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 81, - "character": 17 - } - ] - }, - { - "id": 135, - "name": "SubmitOptions", - "variant": "declaration", - "kind": 256, - "flags": { - "isExternal": true - }, - "children": [ - { - "id": 140, - "name": "checkpoint", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 891, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Omit" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Checkpoint" - }, - "name": "Checkpoint", - "package": "@langchain/langgraph-sdk" - }, - { - "type": "literal", - "value": "thread_id" - } - ], - "name": "Omit", - "package": "typescript" - }, - { - "type": "literal", - "value": null - } - ] - } - }, - { - "id": 141, - "name": "command", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 892, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.ts", - "qualifiedName": "Command" - }, - "name": "Command", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 138, - "name": "config", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 889, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "ConfigWithConfigurable" - }, - "typeArguments": [ - { - "type": "reference", - "target": 137, - "name": "ContextType", - "package": "@langchain/langgraph-sdk", - "qualifiedName": "SubmitOptions.ContextType", - "refersToTypeParameter": true - } - ], - "name": "ConfigWithConfigurable", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 139, - "name": "context", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 890, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": 137, - "name": "ContextType", - "package": "@langchain/langgraph-sdk", - "qualifiedName": "SubmitOptions.ContextType", - "refersToTypeParameter": true - } - }, - { - "id": 157, - "name": "durability", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Whether to checkpoint during the run (or only at the end/interruption).\n- " - }, - { - "kind": "code", - "text": "`\"async\"`" - }, - { - "kind": "text", - "text": ": Save checkpoint asynchronously while the next step executes (default).\n- " - }, - { - "kind": "code", - "text": "`\"sync\"`" - }, - { - "kind": "text", - "text": ": Save checkpoint synchronously before the next step starts.\n- " - }, - { - "kind": "code", - "text": "`\"exit\"`" - }, - { - "kind": "text", - "text": ": Save checkpoint only when the graph exits." - } - ], - "blockTags": [ - { - "tag": "@default", - "content": [ - { - "kind": "code", - "text": "```ts\n\"async\"\n```" - } - ] - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 922, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.ts", - "qualifiedName": "Durability" - }, - "name": "Durability", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 148, - "name": "feedbackKeys", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 899, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 143, - "name": "interruptAfter", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 894, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - { - "type": "literal", - "value": "*" - } - ] - } - }, - { - "id": 142, - "name": "interruptBefore", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 893, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - { - "type": "literal", - "value": "*" - } - ] - } - }, - { - "id": 144, - "name": "metadata", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 895, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Metadata" - }, - "name": "Metadata", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 145, - "name": "multitaskStrategy", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 896, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.ts", - "qualifiedName": "MultitaskStrategy" - }, - "name": "MultitaskStrategy", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 146, - "name": "onCompletion", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 897, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.ts", - "qualifiedName": "OnCompletionBehavior" - }, - "name": "OnCompletionBehavior", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 147, - "name": "onDisconnect", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 898, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.ts", - "qualifiedName": "DisconnectMode" - }, - "name": "DisconnectMode", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 159, - "name": "onError", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Callback that is called when an error occurs during this specific submit call.\nUnlike the hook-level " - }, - { - "kind": "code", - "text": "`onError`" - }, - { - "kind": "text", - "text": ", this allows handling errors on a per-submit basis,\ne.g. to show a retry button or a specific error message to the user." - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 935, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 160, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": { - "isExternal": true - }, - "signatures": [ - { - "id": 161, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": { - "isExternal": true - }, - "parameters": [ - { - "id": 162, - "name": "error", - "variant": "param", - "kind": 32768, - "flags": { - "isExternal": true - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "id": 163, - "name": "run", - "variant": "param", - "kind": 32768, - "flags": { - "isExternal": true - }, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "RunCallbackMeta" - }, - "name": "RunCallbackMeta", - "package": "@langchain/langgraph-sdk" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - }, - { - "id": 151, - "name": "optimisticValues", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 902, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Partial" - }, - "typeArguments": [ - { - "type": "reference", - "target": 136, - "name": "StateType", - "package": "@langchain/langgraph-sdk", - "qualifiedName": "SubmitOptions.StateType", - "refersToTypeParameter": true - } - ], - "name": "Partial", - "package": "typescript" - }, - { - "type": "reflection", - "declaration": { - "id": 152, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": { - "isExternal": true - }, - "signatures": [ - { - "id": 153, - "name": "__type", - "variant": "signature", - "kind": 4096, - "flags": { - "isExternal": true - }, - "parameters": [ - { - "id": 154, - "name": "prev", - "variant": "param", - "kind": 32768, - "flags": { - "isExternal": true - }, - "type": { - "type": "reference", - "target": 136, - "name": "StateType", - "package": "@langchain/langgraph-sdk", - "qualifiedName": "SubmitOptions.StateType", - "refersToTypeParameter": true - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Partial" - }, - "typeArguments": [ - { - "type": "reference", - "target": 136, - "name": "StateType", - "package": "@langchain/langgraph-sdk", - "qualifiedName": "SubmitOptions.StateType", - "refersToTypeParameter": true - } - ], - "name": "Partial", - "package": "typescript" - } - } - ] - } - } - ] - } - }, - { - "id": 150, - "name": "runId", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 901, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 149, - "name": "streamMode", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 900, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.stream.ts", - "qualifiedName": "StreamMode" - }, - "name": "StreamMode", - "package": "@langchain/langgraph-sdk" - } - } - }, - { - "id": 156, - "name": "streamResumable", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Mark the stream as resumable. All events emitted during the run will be temporarily persisted\nin order to be re-emitted if the stream is re-joined." - } - ], - "blockTags": [ - { - "tag": "@default", - "content": [ - { - "kind": "code", - "text": "```ts\nfalse\n```" - } - ] - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 914, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 155, - "name": "streamSubgraphs", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Whether or not to stream the nodes of any subgraphs called\nby the assistant." - } - ], - "blockTags": [ - { - "tag": "@default", - "content": [ - { - "kind": "code", - "text": "```ts\nfalse\n```" - } - ] - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 908, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 158, - "name": "threadId", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "The ID to use when creating a new thread. When provided, this ID will be used\nfor thread creation when threadId is " - }, - { - "kind": "code", - "text": "`null`" - }, - { - "kind": "text", - "text": " or " - }, - { - "kind": "code", - "text": "`undefined`" - }, - { - "kind": "text", - "text": ".\nThis enables optimistic UI updates where you know the thread ID\nbefore the thread is actually created." - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 929, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 140, - 141, - 138, - 139, - 157, - 148, - 143, - 142, - 144, - 145, - 146, - 147, - 159, - 151, - 150, - 149, - 156, - 155, - 158 - ] - } - ], - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/types.d.ts", - "line": 888, - "character": 10 - } - ], - "typeParameters": [ - { - "id": 136, - "name": "StateType", - "variant": "typeParam", - "kind": 131072, - "flags": { - "isExternal": true - }, - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - }, - "default": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - } - }, - { - "id": 137, - "name": "ContextType", - "variant": "typeParam", - "kind": 131072, - "flags": { - "isExternal": true - }, - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - }, - "default": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - } - } - ] - }, - { - "id": 126, - "name": "ThreadState", - "variant": "declaration", - "kind": 256, - "flags": { - "isExternal": true - }, - "children": [ - { - "id": 130, - "name": "checkpoint", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Checkpoint of the thread state" - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 209, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Checkpoint" - }, - "name": "Checkpoint", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 132, - "name": "created_at", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Time of state creation" - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 213, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Optional" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - } - ], - "name": "Optional", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 131, - "name": "metadata", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Metadata for this state" - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 211, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Metadata" - }, - "name": "Metadata", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 129, - "name": "next", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "The next nodes to execute. If empty, the thread is done until new input is received" - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 207, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 133, - "name": "parent_checkpoint", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "The parent checkpoint. If missing, this is the root checkpoint" - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 215, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Optional" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Checkpoint" - }, - "name": "Checkpoint", - "package": "@langchain/langgraph-sdk" - } - ], - "name": "Optional", - "package": "@langchain/langgraph-sdk" - } - }, - { - "id": 134, - "name": "tasks", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Tasks to execute in this step. If already attempted, may contain an error" - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 217, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadTask" - }, - "typeArguments": [ - { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "DefaultValues" - }, - "name": "DefaultValues", - "package": "@langchain/langgraph-sdk" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "ThreadTask", - "package": "@langchain/langgraph-sdk" - } - } - }, - { - "id": 128, - "name": "values", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "The state values" - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 205, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": 127, - "name": "ValuesType", - "package": "@langchain/langgraph-sdk", - "qualifiedName": "ThreadState.ValuesType", - "refersToTypeParameter": true - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 130, - 132, - 131, - 129, - 133, - 134, - 128 - ] - } - ], - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/schema.d.ts", - "line": 203, - "character": 10 - } - ], - "typeParameters": [ - { - "id": 127, - "name": "ValuesType", - "variant": "typeParam", - "kind": 131072, - "flags": { - "isExternal": true - }, - "default": { - "type": "reference", - "target": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "DefaultValues" - }, - "name": "DefaultValues", - "package": "@langchain/langgraph-sdk" - } - } - ] - }, - { - "id": 106, - "name": "BagTemplate", - "variant": "declaration", - "kind": 2097152, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Template for the bag type." - } - ], - "blockTags": [ - { - "tag": "@template", - "name": "ConfigurableType", - "content": [ - { - "kind": "text", - "text": "Type for the " - }, - { - "kind": "code", - "text": "`config.configurable`" - }, - { - "kind": "text", - "text": " property" - } - ] - }, - { - "tag": "@template", - "name": "InterruptType", - "content": [ - { - "kind": "text", - "text": "Type for interrupt values" - } - ] - }, - { - "tag": "@template", - "name": "CustomEventType", - "content": [ - { - "kind": "text", - "text": "Type for custom events" - } - ] - }, - { - "tag": "@template", - "name": "UpdateType", - "content": [ - { - "kind": "text", - "text": "Type for the submit function updates" - } - ] - }, - { - "tag": "@template", - "name": "MetaType", - "content": [ - { - "kind": "text", - "text": "Type for the meta property" - } - ] - } - ] - }, - "children": [ - { - "id": 108, - "name": "ConfigurableType", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/types.template.d.ts", - "line": 11, - "character": 2 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - } - }, - { - "id": 110, - "name": "CustomEventType", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/types.template.d.ts", - "line": 13, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "id": 109, - "name": "InterruptType", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/types.template.d.ts", - "line": 12, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "id": 112, - "name": "MetaType", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/types.template.d.ts", - "line": 15, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "id": 111, - "name": "UpdateType", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/types.template.d.ts", - "line": 14, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 108, - 110, - 109, - 112, - 111 - ] - } - ], - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/types.template.d.ts", - "line": 10, - "character": 5 - } - ] - }, - { - "id": 113, - "name": "InferBag", - "variant": "declaration", - "kind": 2097152, - "flags": { - "isExternal": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Infer the Bag type from an agent, defaulting to the provided Bag.\n\nCurrently returns the provided Bag for all types.\nCan be extended in the future to extract Bag from agent types." - } - ] - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/stream/index.d.ts", - "line": 163, - "character": 5 - } - ], - "typeParameters": [ - { - "id": 116, - "name": "T", - "variant": "typeParam", - "kind": 131072, - "flags": { - "isExternal": true - } - }, - { - "id": 117, - "name": "B", - "variant": "typeParam", - "kind": 131072, - "flags": { - "isExternal": true - }, - "type": { - "type": "reference", - "target": 106, - "name": "BagTemplate", - "package": "@langchain/langgraph-sdk" - }, - "default": { - "type": "reference", - "target": 106, - "name": "BagTemplate", - "package": "@langchain/langgraph-sdk" - } - } - ], - "type": { - "type": "conditional", - "checkType": { - "type": "reference", - "target": 116, - "name": "T", - "package": "@langchain/langgraph-sdk", - "refersToTypeParameter": true - }, - "extendsType": { - "type": "reflection", - "declaration": { - "id": 114, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": { - "isExternal": true - }, - "children": [ - { - "id": 115, - "name": "~agentTypes", - "variant": "declaration", - "kind": 1024, - "flags": { - "isExternal": true - }, - "sources": [ - { - "fileName": "node_modules/@langchain/langgraph-sdk/dist/ui/stream/index.d.ts", - "line": 164, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 115 - ] - } - ] - } - }, - "trueType": { - "type": "reference", - "target": 106, - "name": "BagTemplate", - "package": "@langchain/langgraph-sdk" - }, - "falseType": { - "type": "reference", - "target": 117, - "name": "B", - "package": "@langchain/langgraph-sdk", - "refersToTypeParameter": true - } - } - }, - { - "id": 172, - "name": "ResourceStatus", - "variant": "declaration", - "kind": 2097152, - "flags": {}, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Runtime constant mirroring Angular's ResourceStatus string-union type.\nAngular 21 ships ResourceStatus as a pure string-union type (no runtime value),\nso we provide a const-object shim for code that needs runtime comparisons." - } - ] - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 26, - "character": 13 - }, - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 35, - "character": 12 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_api-chunk.d.ts", - "qualifiedName": "ResourceStatus" - }, - "name": "NgResourceStatus", - "package": "@angular/core", - "qualifiedName": "ResourceStatus" - } - }, - { - "id": 164, - "name": "ResourceStatus", - "variant": "declaration", - "kind": 32, - "flags": { - "isConst": true - }, - "comment": { - "summary": [ - { - "kind": "text", - "text": "Runtime constant mirroring Angular's ResourceStatus string-union type.\nAngular 21 ships ResourceStatus as a pure string-union type (no runtime value),\nso we provide a const-object shim for code that needs runtime comparisons." - } - ] - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 26, - "character": 13 - }, - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 35, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 165, - "name": "__type", - "variant": "declaration", - "kind": 65536, - "flags": {}, - "children": [ - { - "id": 170, - "name": "Error", - "variant": "declaration", - "kind": 1024, - "flags": { - "isReadonly": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 31, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "error" - }, - "defaultValue": "'error'" - }, - { - "id": 166, - "name": "Idle", - "variant": "declaration", - "kind": 1024, - "flags": { - "isReadonly": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 27, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "idle" - }, - "defaultValue": "'idle'" - }, - { - "id": 167, - "name": "Loading", - "variant": "declaration", - "kind": 1024, - "flags": { - "isReadonly": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 28, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "loading" - }, - "defaultValue": "'loading'" - }, - { - "id": 171, - "name": "Local", - "variant": "declaration", - "kind": 1024, - "flags": { - "isReadonly": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "local" - }, - "defaultValue": "'local'" - }, - { - "id": 168, - "name": "Reloading", - "variant": "declaration", - "kind": 1024, - "flags": { - "isReadonly": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 29, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "reloading" - }, - "defaultValue": "'reloading'" - }, - { - "id": 169, - "name": "Resolved", - "variant": "declaration", - "kind": 1024, - "flags": { - "isReadonly": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.types.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "resolved" - }, - "defaultValue": "'resolved'" - } - ], - "groups": [ - { - "title": "Properties", - "children": [ - 170, - 166, - 167, - 171, - 168, - 169 - ] - } - ] - } - }, - "defaultValue": "..." - }, - { - "id": 9, - "name": "STREAM_RESOURCE_CONFIG", - "variant": "declaration", - "kind": 32, - "flags": { - "isConst": true - }, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.provider.ts", - "line": 9, - "character": 13 - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "InjectionToken" - }, - "typeArguments": [ - { - "type": "reference", - "target": 10, - "name": "AgentConfig", - "package": "angular" - } - ], - "name": "InjectionToken", - "package": "@angular/core" - }, - "defaultValue": "..." - }, - { - "id": 6, - "name": "provideAgent", - "variant": "declaration", - "kind": 64, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.provider.ts", - "line": 12, - "character": 16 - } - ], - "signatures": [ - { - "id": 7, - "name": "provideAgent", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.provider.ts", - "line": 12, - "character": 16 - } - ], - "parameters": [ - { - "id": 8, - "name": "config", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": 10, - "name": "AgentConfig", - "package": "angular" - } - } - ], - "type": { - "type": "reference", - "target": { - "packageName": "@angular/core", - "packagePath": "types/_chrome_dev_tools_performance-chunk.d.ts", - "qualifiedName": "Provider" - }, - "name": "Provider", - "package": "@angular/core" - } - } - ] - }, - { - "id": 1, - "name": "agent", - "variant": "declaration", - "kind": 64, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.fn.ts", - "line": 26, - "character": 16 - } - ], - "signatures": [ - { - "id": 2, - "name": "agent", - "variant": "signature", - "kind": 4096, - "flags": {}, - "sources": [ - { - "fileName": "libs/angular/src/lib/angular.fn.ts", - "line": 26, - "character": 16 - } - ], - "typeParameters": [ - { - "id": 3, - "name": "T", - "variant": "typeParam", - "kind": 131072, - "flags": {}, - "default": { - "type": "reference", - "target": { - "packageName": "typescript", - "packagePath": "lib/lib.es5.d.ts", - "qualifiedName": "Record" - }, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "name": "Record", - "package": "typescript" - } - }, - { - "id": 4, - "name": "Bag", - "variant": "typeParam", - "kind": 131072, - "flags": {}, - "type": { - "type": "reference", - "target": 106, - "name": "BagTemplate", - "package": "@langchain/langgraph-sdk" - }, - "default": { - "type": "reference", - "target": 106, - "name": "BagTemplate", - "package": "@langchain/langgraph-sdk" - } - } - ], - "parameters": [ - { - "id": 5, - "name": "options", - "variant": "param", - "kind": 32768, - "flags": {}, - "type": { - "type": "reference", - "target": 13, - "typeArguments": [ - { - "type": "reference", - "target": 3, - "name": "T", - "package": "angular", - "refersToTypeParameter": true - }, - { - "type": "reference", - "target": 113, - "typeArguments": [ - { - "type": "reference", - "target": 3, - "name": "T", - "package": "angular", - "refersToTypeParameter": true - }, - { - "type": "reference", - "target": 4, - "name": "Bag", - "package": "angular", - "refersToTypeParameter": true - } - ], - "name": "InferBag", - "package": "@langchain/langgraph-sdk" - } - ], - "name": "AgentOptions", - "package": "angular" - } - } - ], - "type": { - "type": "reference", - "target": 33, - "typeArguments": [ - { - "type": "reference", - "target": 3, - "name": "T", - "package": "angular", - "refersToTypeParameter": true - }, - { - "type": "reference", - "target": 113, - "typeArguments": [ - { - "type": "reference", - "target": 3, - "name": "T", - "package": "angular", - "refersToTypeParameter": true - }, - { - "type": "reference", - "target": 4, - "name": "Bag", - "package": "angular", - "refersToTypeParameter": true - } - ], - "name": "InferBag", - "package": "@langchain/langgraph-sdk" - } - ], - "name": "AgentRef", - "package": "angular" - } - } - ] - } - ], - "groups": [ - { - "title": "Classes", - "children": [ - 206, - 173 - ] - }, - { - "title": "Interfaces", - "children": [ - 118, - 97, - 10, - 13, - 33, - 84, - 101, - 135, - 126 - ] - }, - { - "title": "Type Aliases", - "children": [ - 106, - 113, - 172 - ] - }, - { - "title": "Variables", - "children": [ - 164, - 9 - ] - }, - { - "title": "Functions", - "children": [ - 6, - 1 - ] - } - ], - "packageName": "angular", - "readme": [ - { - "kind": "text", - "text": "# angular\n\nThis library was generated with [Nx](https://nx.dev)." - } - ], - "symbolIdMap": { - "0": { - "packageName": "angular", - "packagePath": "src/public-api.ts", - "qualifiedName": "" - }, - "1": { - "packageName": "angular", - "packagePath": "src/lib/angular.fn.ts", - "qualifiedName": "agent" - }, - "2": { - "packageName": "angular", - "packagePath": "src/lib/angular.fn.ts", - "qualifiedName": "agent" - }, - "3": { - "packageName": "angular", - "packagePath": "src/lib/angular.fn.ts", - "qualifiedName": "T" - }, - "4": { - "packageName": "angular", - "packagePath": "src/lib/angular.fn.ts", - "qualifiedName": "Bag" - }, - "5": { - "packageName": "angular", - "packagePath": "src/lib/angular.fn.ts", - "qualifiedName": "options" - }, - "6": { - "packageName": "angular", - "packagePath": "src/lib/angular.provider.ts", - "qualifiedName": "provideAgent" - }, - "7": { - "packageName": "angular", - "packagePath": "src/lib/angular.provider.ts", - "qualifiedName": "provideAgent" - }, - "8": { - "packageName": "angular", - "packagePath": "src/lib/angular.provider.ts", - "qualifiedName": "config" - }, - "9": { - "packageName": "angular", - "packagePath": "src/lib/angular.provider.ts", - "qualifiedName": "STREAM_RESOURCE_CONFIG" - }, - "10": { - "packageName": "angular", - "packagePath": "src/lib/angular.provider.ts", - "qualifiedName": "AgentConfig" - }, - "11": { - "packageName": "angular", - "packagePath": "src/lib/angular.provider.ts", - "qualifiedName": "AgentConfig.apiUrl" - }, - "12": { - "packageName": "angular", - "packagePath": "src/lib/angular.provider.ts", - "qualifiedName": "AgentConfig.transport" - }, - "13": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions" - }, - "14": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.T" - }, - "15": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.ResolvedBag" - }, - "16": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.apiUrl" - }, - "17": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.assistantId" - }, - "18": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.threadId" - }, - "19": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.onThreadId" - }, - "20": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "21": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "22": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "id" - }, - "23": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.initialValues" - }, - "24": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.messagesKey" - }, - "25": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.throttle" - }, - "26": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.toMessage" - }, - "27": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "28": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "29": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "msg" - }, - "30": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.transport" - }, - "31": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.filterSubagentMessages" - }, - "32": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentOptions.subagentToolNames" - }, - "33": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef" - }, - "34": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.T" - }, - "35": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.ResolvedBag" - }, - "36": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.value" - }, - "37": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.status" - }, - "38": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.isLoading" - }, - "39": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.error" - }, - "40": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.hasValue" - }, - "41": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.reload" - }, - "42": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "43": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "44": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.messages" - }, - "45": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.interrupt" - }, - "46": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.interrupts" - }, - "47": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.toolProgress" - }, - "48": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.toolCalls" - }, - "49": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.branch" - }, - "50": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.history" - }, - "51": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.isThreadLoading" - }, - "52": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.subagents" - }, - "53": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.activeSubagents" - }, - "54": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.submit" - }, - "55": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "56": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "57": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "values" - }, - "58": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "opts" - }, - "59": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.stop" - }, - "60": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "61": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "62": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.switchThread" - }, - "63": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "64": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "65": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "threadId" - }, - "66": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.joinStream" - }, - "67": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "68": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "69": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "runId" - }, - "70": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "lastEventId" - }, - "71": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.setBranch" - }, - "72": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "73": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "74": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "branch" - }, - "75": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.getMessagesMetadata" - }, - "76": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "77": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "78": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "msg" - }, - "79": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "idx" - }, - "80": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentRef.getToolCalls" - }, - "81": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "82": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__type" - }, - "83": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "msg" - }, - "84": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentTransport" - }, - "85": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentTransport.stream" - }, - "86": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentTransport.stream" - }, - "87": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "assistantId" - }, - "88": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "threadId" - }, - "89": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "payload" - }, - "90": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "signal" - }, - "91": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentTransport.joinStream" - }, - "92": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "AgentTransport.joinStream" - }, - "93": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "threadId" - }, - "94": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "runId" - }, - "95": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "lastEventId" - }, - "96": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "signal" - }, - "97": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "StreamEvent" - }, - "98": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "StreamEvent.type" - }, - "99": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "StreamEvent.__index" - }, - "101": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "SubagentStreamRef" - }, - "102": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "SubagentStreamRef.toolCallId" - }, - "103": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "SubagentStreamRef.status" - }, - "104": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "SubagentStreamRef.values" - }, - "105": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "SubagentStreamRef.messages" - }, - "106": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.template.ts", - "qualifiedName": "BagTemplate" - }, - "108": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.template.ts", - "qualifiedName": "__type.ConfigurableType" - }, - "109": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.template.ts", - "qualifiedName": "__type.InterruptType" - }, - "110": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.template.ts", - "qualifiedName": "__type.CustomEventType" - }, - "111": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.template.ts", - "qualifiedName": "__type.UpdateType" - }, - "112": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/types.template.ts", - "qualifiedName": "__type.MetaType" - }, - "113": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/stream/index.ts", - "qualifiedName": "InferBag" - }, - "114": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/stream/index.ts", - "qualifiedName": "__type" - }, - "115": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/stream/index.ts", - "qualifiedName": "__type.~agentTypes" - }, - "116": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/stream/index.ts", - "qualifiedName": "T" - }, - "117": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/stream/index.ts", - "qualifiedName": "B" - }, - "118": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Interrupt" - }, - "119": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Interrupt.TValue" - }, - "120": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Interrupt.id" - }, - "121": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Interrupt.value" - }, - "122": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Interrupt.when" - }, - "123": { - "packageName": "angular", - "packagePath": "", - "qualifiedName": "__type" - }, - "124": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Interrupt.resumable" - }, - "125": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "Interrupt.ns" - }, - "126": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadState" - }, - "127": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadState.ValuesType" - }, - "128": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadState.values" - }, - "129": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadState.next" - }, - "130": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadState.checkpoint" - }, - "131": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadState.metadata" - }, - "132": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadState.created_at" - }, - "133": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadState.parent_checkpoint" - }, - "134": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/schema.ts", - "qualifiedName": "ThreadState.tasks" - }, - "135": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions" - }, - "136": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.StateType" - }, - "137": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.ContextType" - }, - "138": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.config" - }, - "139": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.context" - }, - "140": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.checkpoint" - }, - "141": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.command" - }, - "142": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.interruptBefore" - }, - "143": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.interruptAfter" - }, - "144": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.metadata" - }, - "145": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.multitaskStrategy" - }, - "146": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.onCompletion" - }, - "147": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.onDisconnect" - }, - "148": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.feedbackKeys" - }, - "149": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.streamMode" - }, - "150": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.runId" - }, - "151": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.optimisticValues" - }, - "152": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "__type" - }, - "153": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "__type" - }, - "154": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "prev" - }, - "155": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.streamSubgraphs" - }, - "156": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.streamResumable" - }, - "157": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.durability" - }, - "158": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.threadId" - }, - "159": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "SubmitOptions.onError" - }, - "160": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "__type" - }, - "161": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "__type" - }, - "162": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "error" - }, - "163": { - "packageName": "@langchain/langgraph-sdk", - "packagePath": "src/ui/types.ts", - "qualifiedName": "run" - }, - "164": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "ResourceStatus" - }, - "165": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__object" - }, - "166": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__object.Idle" - }, - "167": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__object.Loading" - }, - "168": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__object.Reloading" - }, - "169": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__object.Resolved" - }, - "170": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__object.Error" - }, - "171": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "__object.Local" - }, - "172": { - "packageName": "angular", - "packagePath": "src/lib/angular.types.ts", - "qualifiedName": "ResourceStatus" - }, - "173": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport" - }, - "174": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.__constructor" - }, - "175": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport" - }, - "176": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "script" - }, - "186": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.nextBatch" - }, - "187": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.nextBatch" - }, - "188": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.emit" - }, - "189": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.emit" - }, - "190": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "events" - }, - "191": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.emitError" - }, - "192": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.emitError" - }, - "193": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "err" - }, - "194": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.close" - }, - "195": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.close" - }, - "196": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.isStreaming" - }, - "197": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.isStreaming" - }, - "198": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.stream" - }, - "199": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "MockAgentTransport.stream" - }, - "200": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "_assistantId" - }, - "201": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "_threadId" - }, - "202": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "_payload" - }, - "203": { - "packageName": "angular", - "packagePath": "src/lib/transport/mock-stream.transport.ts", - "qualifiedName": "signal" - }, - "206": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "FetchStreamTransport" - }, - "207": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "FetchStreamTransport.__constructor" - }, - "208": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "FetchStreamTransport" - }, - "209": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "apiUrl" - }, - "210": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "onThreadId" - }, - "211": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "__type" - }, - "212": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "__type" - }, - "213": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "id" - }, - "219": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "FetchStreamTransport.stream" - }, - "220": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "FetchStreamTransport.stream" - }, - "221": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "assistantId" - }, - "222": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "threadId" - }, - "223": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "payload" - }, - "224": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "signal" - }, - "225": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "FetchStreamTransport.joinStream" - }, - "226": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "FetchStreamTransport.joinStream" - }, - "227": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "threadId" - }, - "228": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "runId" - }, - "229": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "lastEventId" - }, - "230": { - "packageName": "angular", - "packagePath": "src/lib/transport/fetch-stream.transport.ts", - "qualifiedName": "signal" - } - }, - "files": { - "entries": { - "1": "libs/angular/src/public-api.ts", - "2": "libs/angular/README.md", - "3": "libs/angular" - }, - "reflections": { - "1": 0, - "2": 0, - "3": 0 - } - } -} diff --git a/apps/website/scripts/generate-agent-context.ts b/apps/website/scripts/generate-agent-context.ts index 5eecd23b2..83d3af18d 100644 --- a/apps/website/scripts/generate-agent-context.ts +++ b/apps/website/scripts/generate-agent-context.ts @@ -1,8 +1,8 @@ import fs from 'fs'; import path from 'path'; -// Read version from library package.json (not website) -const libPkgPath = path.join(__dirname, '..', '..', '..', 'libs', 'angular', 'package.json'); +// Read version from the primary public adapter package (not website/root). +const libPkgPath = path.join(__dirname, '..', '..', '..', 'libs', 'langgraph', 'package.json'); let version = '0.1.0'; if (fs.existsSync(libPkgPath)) { const libPkg = JSON.parse(fs.readFileSync(libPkgPath, 'utf8')) as { version?: string }; diff --git a/apps/website/scripts/generate-narrative-docs.ts b/apps/website/scripts/generate-narrative-docs.ts index 11180b1ba..f22479a98 100644 --- a/apps/website/scripts/generate-narrative-docs.ts +++ b/apps/website/scripts/generate-narrative-docs.ts @@ -5,7 +5,7 @@ import path from 'path'; const client = new Anthropic(); const MODEL = process.env['ANTHROPIC_MODEL'] ?? 'claude-sonnet-4-6'; const DOCS_DIR = 'apps/website/content/docs'; -const API_DOCS = 'apps/website/public/api-docs.json'; +const API_DOCS_ROOT = 'apps/website/content/docs'; const TOPICS = [ { @@ -48,11 +48,29 @@ Write clean, developer-friendly MDX documentation. Use precise, no-fluff prose. return content.text; } -async function main() { - if (!fs.existsSync(API_DOCS)) { +function loadApiDocs(): string { + if (!fs.existsSync(API_DOCS_ROOT)) { + throw new Error('Run generate-api-docs first: npx tsx apps/website/scripts/generate-api-docs.ts'); + } + + const sections = fs.readdirSync(API_DOCS_ROOT) + .sort() + .map((library) => { + const apiDocsPath = path.join(API_DOCS_ROOT, library, 'api', 'api-docs.json'); + if (!fs.existsSync(apiDocsPath)) return null; + return `### ${library}\n\n${fs.readFileSync(apiDocsPath, 'utf8')}`; + }) + .filter((section): section is string => section !== null); + + if (sections.length === 0) { throw new Error('Run generate-api-docs first: npx tsx apps/website/scripts/generate-api-docs.ts'); } - const apiDocsJson = fs.readFileSync(API_DOCS, 'utf8'); + + return sections.join('\n\n'); +} + +async function main() { + const apiDocsJson = loadApiDocs(); fs.mkdirSync(DOCS_DIR, { recursive: true }); for (const topic of TOPICS) { diff --git a/apps/website/src/app/llms-full.txt/route.ts b/apps/website/src/app/llms-full.txt/route.ts index a324347b5..a56812335 100644 --- a/apps/website/src/app/llms-full.txt/route.ts +++ b/apps/website/src/app/llms-full.txt/route.ts @@ -3,13 +3,29 @@ import fs from 'fs'; import path from 'path'; function loadApiDocs(): string { - // process.cwd() = apps/website/ in Nx Next.js context - const p = path.join(process.cwd(), 'public', 'api-docs.json'); - if (!fs.existsSync(p)) { - return '(API reference not yet generated — run npm run generate-docs)'; + const roots = [ + path.join(process.cwd(), 'apps', 'website', 'content', 'docs'), + path.join(process.cwd(), 'content', 'docs'), + ]; + + const docsRoot = roots.find((root) => fs.existsSync(root)); + if (!docsRoot) { + return '(API reference not yet generated — run npm run generate-api-docs)'; } - const raw = fs.readFileSync(p, 'utf8'); - return raw; + + const sections = fs.readdirSync(docsRoot) + .sort() + .map((library) => { + const apiDocsPath = path.join(docsRoot, library, 'api', 'api-docs.json'); + if (!fs.existsSync(apiDocsPath)) return null; + const raw = fs.readFileSync(apiDocsPath, 'utf8'); + return `### ${library}\n\n${raw}`; + }) + .filter((section): section is string => section !== null); + + return sections.length > 0 + ? sections.join('\n\n') + : '(API reference not yet generated — run npm run generate-api-docs)'; } function loadAllPrompts(): string { diff --git a/apps/website/src/app/llms.txt/route.ts b/apps/website/src/app/llms.txt/route.ts index 60043f665..c5a8d9493 100644 --- a/apps/website/src/app/llms.txt/route.ts +++ b/apps/website/src/app/llms.txt/route.ts @@ -1,9 +1,20 @@ import { NextResponse } from 'next/server'; +import fs from 'fs'; +import path from 'path'; + +function loadVersion(): string { + const candidates = [ + path.join(process.cwd(), 'libs', 'langgraph', 'package.json'), + path.join(process.cwd(), '..', '..', 'libs', 'langgraph', 'package.json'), + ]; + const packagePath = candidates.find((candidate) => fs.existsSync(candidate)); + if (!packagePath) return '0.0.0'; + const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf8')) as { version?: string }; + return packageJson.version ?? '0.0.0'; +} -// Build compact LLMs summary at request time so version is always current function buildLlmsTxt(): string { - // Inline version — bump on each release - const version = '0.0.1'; + const version = loadVersion(); return [ `# Angular Agent Framework v${version}`, '', @@ -27,7 +38,7 @@ function buildLlmsTxt(): string { '## Key API', '- LangGraphAgent — unified type returned by agent(); exposes messages/status/isLoading/error/toolCalls/history signals + submit/stop methods', '- agent({ apiUrl, assistantId }) — single call that creates and returns a LangGraphAgent; no toAgent() step needed', - '- ChatComponent, ChatMessagesComponent, ChatInputComponent — composable Angular components consuming LangGraphAgent', + '- ChatComponent, ChatMessagesComponent, ChatInputComponent — composable Angular components consuming the runtime-neutral Agent contract', '- mockLangGraphAgent — testing utility with a writable signal-backed LangGraphAgent', '- runAgentConformance / runAgentWithHistoryConformance — conformance suites for adapter authors', '', @@ -36,7 +47,7 @@ function buildLlmsTxt(): string { "import { ChatComponent } from '@ngaf/chat';", '// In a component:', "chat = agent({ apiUrl: 'http://localhost:2024', assistantId: 'chat_agent' });", - '// Template: ', + '// Template: ', '', '## Minimal AG-UI example', "import { provideAgUiAgent, AG_UI_AGENT } from '@ngaf/ag-ui';", diff --git a/apps/website/src/lib/docs-config.ts b/apps/website/src/lib/docs-config.ts index 1fd83f8e7..8f1afe24b 100644 --- a/apps/website/src/lib/docs-config.ts +++ b/apps/website/src/lib/docs-config.ts @@ -178,7 +178,7 @@ export const docsConfig: DocsLibrary[] = [ pages: [ { title: 'provideChat()', slug: 'provide-chat', section: 'api' }, { title: 'ChatConfig', slug: 'chat-config', section: 'api' }, - { title: 'mockLangGraphAgent()', slug: 'mock-langgraph-agent', section: 'api' }, + { title: 'mockAgent()', slug: 'mock-agent', section: 'api' }, { title: 'createContentClassifier()', slug: 'content-classifier', section: 'api' }, { title: 'createParseTreeStore()', slug: 'parse-tree-store', section: 'api' }, ], diff --git a/packages/mcp/project.json b/packages/mcp/project.json index 5c8a6ce1f..f2dd8a732 100644 --- a/packages/mcp/project.json +++ b/packages/mcp/project.json @@ -13,7 +13,7 @@ "tsConfig": "packages/mcp/tsconfig.json", "assets": [ { - "input": "apps/website/public", + "input": "apps/website/content/docs/agent/api", "glob": "api-docs.json", "output": "." } diff --git a/packages/mcp/src/data/loader.ts b/packages/mcp/src/data/loader.ts index 078362988..b692c115a 100644 --- a/packages/mcp/src/data/loader.ts +++ b/packages/mcp/src/data/loader.ts @@ -8,7 +8,14 @@ export interface ApiDocsJson { export interface ApiSymbol { name: string; + kind?: string; kindString?: string; + description?: string; + params?: { + name: string; + type?: string; + description?: string; + }[]; comment?: { summary?: { text: string }[] }; signatures?: { parameters?: { @@ -25,11 +32,12 @@ export function getApiDocs(): ApiDocsJson { if (cachedDocs) return cachedDocs; const candidates = [ path.join(__dirname, '../../api-docs.json'), - path.join(__dirname, '../../../../apps/website/public/api-docs.json'), + path.join(__dirname, '../../../../apps/website/content/docs/agent/api/api-docs.json'), ]; for (const p of candidates) { if (fs.existsSync(p)) { - cachedDocs = JSON.parse(fs.readFileSync(p, 'utf8')) as ApiDocsJson; + const parsed = JSON.parse(fs.readFileSync(p, 'utf8')) as ApiDocsJson | ApiSymbol[]; + cachedDocs = Array.isArray(parsed) ? { children: parsed } : parsed; return cachedDocs; } } diff --git a/packages/mcp/src/tools/get-api-reference.ts b/packages/mcp/src/tools/get-api-reference.ts index 678652eee..0ae2a1226 100644 --- a/packages/mcp/src/tools/get-api-reference.ts +++ b/packages/mcp/src/tools/get-api-reference.ts @@ -17,14 +17,16 @@ export function handleGetApiReference(args: Record) { if (!entry) { return { content: [{ type: 'text', text: `Symbol not found: "${symbol}". Available: ${getAllSymbolNames().join(', ')}` }] }; } - const summary = entry.comment?.summary?.map((s) => s.text).join('') ?? ''; - const params = entry.signatures?.[0]?.parameters?.map((p) => { + const summary = entry.description ?? entry.comment?.summary?.map((s) => s.text).join('') ?? ''; + const params = entry.params?.map((p) => + ` ${p.name}: ${p.type ?? 'unknown'} — ${p.description ?? ''}` + ).join('\n') ?? entry.signatures?.[0]?.parameters?.map((p) => { const pSummary = p.comment?.summary?.map((s) => s.text).join('') ?? ''; return ` ${p.name}: ${p.type?.name ?? 'unknown'} — ${pSummary}`; }).join('\n') ?? ''; const text = [ `## ${entry.name}`, - `Kind: ${entry.kindString ?? 'unknown'}`, + `Kind: ${entry.kind ?? entry.kindString ?? 'unknown'}`, summary, params ? `Parameters:\n${params}` : '', ].filter(Boolean).join('\n\n');