From d50df7cf90b58d51eb93746d713e4771a9163099 Mon Sep 17 00:00:00 2001 From: Brian Love Date: Wed, 8 Apr 2026 16:42:55 -0700 Subject: [PATCH] refactor: rename STREAM_RESOURCE_CONFIG to AGENT_CONFIG - Rename InjectionToken from STREAM_RESOURCE_CONFIG to AGENT_CONFIG in provider, fn, public API, and tests - Update stale "stream resource" prose in cockpit example comments --- .../langgraph/interrupts/angular/prompts/interrupts.md | 2 +- .../time-travel/angular/src/app/time-travel.component.ts | 2 +- libs/agent/src/lib/agent.fn.ts | 4 ++-- libs/agent/src/lib/agent.provider.spec.ts | 8 ++++---- libs/agent/src/lib/agent.provider.ts | 6 +++--- libs/agent/src/public-api.ts | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cockpit/langgraph/interrupts/angular/prompts/interrupts.md b/cockpit/langgraph/interrupts/angular/prompts/interrupts.md index 840f96b01..51d09138b 100644 --- a/cockpit/langgraph/interrupts/angular/prompts/interrupts.md +++ b/cockpit/langgraph/interrupts/angular/prompts/interrupts.md @@ -2,4 +2,4 @@ This capability demonstrates human-in-the-loop interrupt handling using LangGraph's `interrupt()` primitive and the `@cacheplane/chat` Angular component library. When the graph pauses at an interrupt node, the `` surfaces the pending decision to the user; their response is submitted back to the graph via `agent`'s `resume` helper. -Key components used: ``, ``. The interrupt panel renders inside the chat host and becomes visible automatically whenever the underlying stream resource detects a pending interrupt in the thread state. +Key components used: ``, ``. The interrupt panel renders inside the chat host and becomes visible automatically whenever the underlying agent detects a pending interrupt in the thread state. diff --git a/cockpit/langgraph/time-travel/angular/src/app/time-travel.component.ts b/cockpit/langgraph/time-travel/angular/src/app/time-travel.component.ts index ae21482b1..492db6a64 100644 --- a/cockpit/langgraph/time-travel/angular/src/app/time-travel.component.ts +++ b/cockpit/langgraph/time-travel/angular/src/app/time-travel.component.ts @@ -109,7 +109,7 @@ export class TimeTravelComponent { /** Index of the currently selected checkpoint in the sidebar. */ protected readonly selectedIndex = signal(-1); - /** Checkpoint history derived from the stream resource. */ + /** Checkpoint history derived from the agent. */ protected readonly checkpoints = computed( (): ThreadState[] => this.stream.history(), ); diff --git a/libs/agent/src/lib/agent.fn.ts b/libs/agent/src/lib/agent.fn.ts index 919c5611f..2b1b0229e 100644 --- a/libs/agent/src/lib/agent.fn.ts +++ b/libs/agent/src/lib/agent.fn.ts @@ -3,7 +3,7 @@ import { inject, DestroyRef, computed, isSignal, Signal, } from '@angular/core'; -import { STREAM_RESOURCE_CONFIG } from './agent.provider'; +import { AGENT_CONFIG } from './agent.provider'; import { toSignal, toObservable } from '@angular/core/rxjs-interop'; import { BehaviorSubject, Subject, of, @@ -58,7 +58,7 @@ export function agent< ): AgentRef> { // Injection context required const destroyRef = inject(DestroyRef); - const globalConfig = inject(STREAM_RESOURCE_CONFIG, { optional: true }); + const globalConfig = inject(AGENT_CONFIG, { optional: true }); const destroy$ = new Subject(); destroyRef.onDestroy(() => { destroy$.next(); destroy$.complete(); }); diff --git a/libs/agent/src/lib/agent.provider.spec.ts b/libs/agent/src/lib/agent.provider.spec.ts index 54d98f210..e37bf91a4 100644 --- a/libs/agent/src/lib/agent.provider.spec.ts +++ b/libs/agent/src/lib/agent.provider.spec.ts @@ -1,14 +1,14 @@ import { describe, it, expect } from 'vitest'; import { TestBed } from '@angular/core/testing'; -import { provideAgent, STREAM_RESOURCE_CONFIG } from './agent.provider'; +import { provideAgent, AGENT_CONFIG } from './agent.provider'; import { MockAgentTransport } from './transport/mock-stream.transport'; describe('provideAgent', () => { - it('provides STREAM_RESOURCE_CONFIG token', () => { + it('provides AGENT_CONFIG token', () => { TestBed.configureTestingModule({ providers: [provideAgent({ apiUrl: 'https://api.example.com' })], }); - const config = TestBed.inject(STREAM_RESOURCE_CONFIG); + const config = TestBed.inject(AGENT_CONFIG); expect(config.apiUrl).toBe('https://api.example.com'); }); @@ -17,7 +17,7 @@ describe('provideAgent', () => { TestBed.configureTestingModule({ providers: [provideAgent({ apiUrl: '', transport })], }); - const config = TestBed.inject(STREAM_RESOURCE_CONFIG); + const config = TestBed.inject(AGENT_CONFIG); expect(config.transport).toBe(transport); }); }); diff --git a/libs/agent/src/lib/agent.provider.ts b/libs/agent/src/lib/agent.provider.ts index e89cebd2b..02f919577 100644 --- a/libs/agent/src/lib/agent.provider.ts +++ b/libs/agent/src/lib/agent.provider.ts @@ -13,8 +13,8 @@ export interface AgentConfig { transport?: AgentTransport; } -export const STREAM_RESOURCE_CONFIG = - new InjectionToken('STREAM_RESOURCE_CONFIG'); +export const AGENT_CONFIG = + new InjectionToken('AGENT_CONFIG'); /** * Angular provider factory that registers global defaults for all @@ -37,7 +37,7 @@ export const STREAM_RESOURCE_CONFIG = */ export function provideAgent(config: AgentConfig): Provider { return { - provide: STREAM_RESOURCE_CONFIG, + provide: AGENT_CONFIG, useValue: config, }; } diff --git a/libs/agent/src/public-api.ts b/libs/agent/src/public-api.ts index b1f4c5c3d..e14541a80 100644 --- a/libs/agent/src/public-api.ts +++ b/libs/agent/src/public-api.ts @@ -3,7 +3,7 @@ export { agent } from './lib/agent.fn'; // Provider -export { provideAgent, STREAM_RESOURCE_CONFIG } from './lib/agent.provider'; +export { provideAgent, AGENT_CONFIG } from './lib/agent.provider'; export type { AgentConfig } from './lib/agent.provider'; // Public types