diff --git a/COMMERCIAL.md b/COMMERCIAL.md index 6ea932926..ff75c7ab8 100644 --- a/COMMERCIAL.md +++ b/COMMERCIAL.md @@ -3,7 +3,7 @@ `@cacheplane/stream-resource` is source-available software dual-licensed under: - **PolyForm Noncommercial 1.0.0** — free for noncommercial use (see [`LICENSE`](./LICENSE)) -- **StreamResource Commercial License** — required for commercial use (see [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL)) +- **Angular Stream Resource Commercial License** — required for commercial use (see [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL)) ## What requires a commercial license? diff --git a/README.md b/README.md index 74b81108f..9b7eb4206 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

stream-resource — The Enterprise Streaming Resource for LangChain and Angular

@@ -111,7 +111,7 @@ That's it. `chat.messages()` is an Angular Signal. Bind it directly in your temp

stream-resource architecture: Angular Component → streamResource() → StreamManager Bridge → LangGraph Platform, with signals returned reactively

@@ -148,6 +148,6 @@ That's it. `chat.messages()` is an Angular Signal. Bind it directly in your temp `@cacheplane/stream-resource` is source-available software dual-licensed: - **PolyForm Noncommercial 1.0.0** — free for noncommercial use (personal projects, academic, research, non-profit internal tooling). See [`LICENSE`](./LICENSE). -- **StreamResource Commercial License** — required for any for-profit or revenue-generating use. See [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL) and [`COMMERCIAL.md`](./COMMERCIAL.md). +- **Angular Stream Resource Commercial License** — required for any for-profit or revenue-generating use. See [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL) and [`COMMERCIAL.md`](./COMMERCIAL.md). This is **not** an open-source license. Commercial use — including use in a for-profit product, service, or organization — requires a paid commercial license. See [pricing](https://stream-resource.dev/pricing). diff --git a/apps/website/public/AGENTS.md b/apps/website/public/AGENTS.md index dcc0cafce..c0f0ccbb9 100644 --- a/apps/website/public/AGENTS.md +++ b/apps/website/public/AGENTS.md @@ -1,4 +1,4 @@ -# stream-resource v0.0.1 +# Angular Stream Resource v0.0.1 Angular streaming library for LangChain/LangGraph. Provides `streamResource()` — full parity with React's `useStream()`. diff --git a/apps/website/public/CLAUDE.md b/apps/website/public/CLAUDE.md index dcc0cafce..c0f0ccbb9 100644 --- a/apps/website/public/CLAUDE.md +++ b/apps/website/public/CLAUDE.md @@ -1,4 +1,4 @@ -# stream-resource v0.0.1 +# Angular Stream Resource v0.0.1 Angular streaming library for LangChain/LangGraph. Provides `streamResource()` — full parity with React's `useStream()`. diff --git a/apps/website/scripts/generate-narrative-docs.ts b/apps/website/scripts/generate-narrative-docs.ts index 1ce5e9bb1..537f93376 100644 --- a/apps/website/scripts/generate-narrative-docs.ts +++ b/apps/website/scripts/generate-narrative-docs.ts @@ -10,7 +10,7 @@ const API_DOCS = 'apps/website/public/api-docs.json'; const TOPICS = [ { slug: 'introduction', - prompt: 'Write an introduction to the StreamResource Angular library. Explain what it does, who it is for, and why it exists. Include a minimal getting-started example.', + prompt: 'Write an introduction to the Angular Stream Resource library. Explain what it does, who it is for, and why it exists. Include a minimal getting-started example.', }, { slug: 'streaming', @@ -36,7 +36,7 @@ async function generateDoc(slug: string, prompt: string, apiDocsJson: string): P max_tokens: 2048, messages: [{ role: 'user', - content: `You are writing documentation for the StreamResource Angular library. + content: `You are writing documentation for the Angular Stream Resource library. Here is the TypeDoc API reference JSON:\n\n${apiDocsJson}\n\n${prompt} Write clean, developer-friendly MDX documentation. Use precise, no-fluff prose. Include code examples. Start with a single # heading.`, diff --git a/apps/website/src/app/layout.tsx b/apps/website/src/app/layout.tsx index 44efe68d3..e41a7b83f 100644 --- a/apps/website/src/app/layout.tsx +++ b/apps/website/src/app/layout.tsx @@ -22,7 +22,7 @@ const mono = JetBrains_Mono({ }); export const metadata: Metadata = { - title: 'StreamResource — LangChain Streaming for Angular', + title: 'Angular Stream Resource — LangChain Streaming for Angular', description: 'The Enterprise Streaming Resource for LangChain and Angular. streamResource() brings full parity with React useStream() to Angular 20+.', }; diff --git a/apps/website/src/app/llms-full.txt/route.ts b/apps/website/src/app/llms-full.txt/route.ts index a5c38b62d..2f0627744 100644 --- a/apps/website/src/app/llms-full.txt/route.ts +++ b/apps/website/src/app/llms-full.txt/route.ts @@ -27,7 +27,7 @@ function loadAllPrompts(): string { export async function GET() { const sections = [ - '# stream-resource — Full Reference\n\nSee /llms.txt for a compact summary.\n', + '# Angular Stream Resource — Full Reference\n\nSee /llms.txt for a compact summary.\n', '## API Reference (TypeDoc)\n\n' + loadApiDocs(), '## Prompt Recipes\n\n' + loadAllPrompts(), [ diff --git a/apps/website/src/app/llms.txt/route.ts b/apps/website/src/app/llms.txt/route.ts index 4d7abe7a4..0eee65125 100644 --- a/apps/website/src/app/llms.txt/route.ts +++ b/apps/website/src/app/llms.txt/route.ts @@ -5,9 +5,9 @@ function buildLlmsTxt(): string { // Inline version — updated by publish workflow const version = '0.1.0'; return [ - `# stream-resource v${version}`, + `# Angular Stream Resource v${version}`, '', - "Angular streaming library for LangChain/LangGraph. Provides streamResource() — full parity with React's useStream() hook, built on Angular Signals.", + "Angular Stream Resource — the enterprise streaming library for LangChain/LangGraph. Provides streamResource() — full parity with React's useStream() hook, built on Angular Signals.", '', '## Install', 'npm install @cacheplane/stream-resource', diff --git a/apps/website/src/components/landing/GenerativeUIFrame.tsx b/apps/website/src/components/landing/GenerativeUIFrame.tsx index fd4edd81a..b97cd2163 100644 --- a/apps/website/src/components/landing/GenerativeUIFrame.tsx +++ b/apps/website/src/components/landing/GenerativeUIFrame.tsx @@ -27,7 +27,7 @@ export function GenerativeUIFrame() {
- StreamResource closes the gap + Angular Stream Resource closes the gap
{/* Brand */}
-

StreamResource

+

Angular Stream Resource

The enterprise streaming resource for LangChain and Angular. Full parity with React useStream(), built natively for Angular 20+.

@@ -127,7 +127,7 @@ export function Footer() { {/* Bottom bar */}
- © {new Date().getFullYear()} StreamResource. All rights reserved. + © {new Date().getFullYear()} Angular Stream Resource. All rights reserved. PolyForm Noncommercial 1.0.0 · (e.currentTarget.style.color = tokens.colors.accent)} onMouseLeave={(e) => (e.currentTarget.style.color = tokens.colors.textMuted)}>Commercial License diff --git a/apps/website/src/components/shared/Nav.tsx b/apps/website/src/components/shared/Nav.tsx index d1ab2dc88..0de3a9253 100644 --- a/apps/website/src/components/shared/Nav.tsx +++ b/apps/website/src/components/shared/Nav.tsx @@ -49,7 +49,7 @@ export function Nav() { {/* Top bar */}
- StreamResource + Angular Stream Resource {/* Desktop links */} diff --git a/apps/website/src/lib/docs.spec.ts b/apps/website/src/lib/docs.spec.ts index 3242f1a83..ef294b75b 100644 --- a/apps/website/src/lib/docs.spec.ts +++ b/apps/website/src/lib/docs.spec.ts @@ -15,7 +15,7 @@ describe('website docs bindings', () => { const doc = getDocBySlug('getting-started', 'introduction'); expect(doc).not.toBeNull(); expect(doc?.title).toBe('Introduction'); - expect(doc?.content).toContain('StreamResource'); + expect(doc?.content).toContain('Angular Stream Resource'); }); it('returns null for non-existent doc', () => { diff --git a/docs/limitations.md b/docs/limitations.md index 4368793e0..875bb25e3 100644 --- a/docs/limitations.md +++ b/docs/limitations.md @@ -1,4 +1,4 @@ -# StreamResource — Angular Limitations vs React useStream() +# Angular Stream Resource — Limitations vs React useStream() Features that are technically impossible or behaviorally degraded when porting LangGraph's React `useStream()` hook to Angular. diff --git a/docs/superpowers/plans/2026-03-17-angular-library.md b/docs/superpowers/plans/2026-03-17-angular-library.md index ed8c45e8a..d9fddd2a1 100644 --- a/docs/superpowers/plans/2026-03-17-angular-library.md +++ b/docs/superpowers/plans/2026-03-17-angular-library.md @@ -1384,7 +1384,7 @@ git commit -m "feat(stream-resource): finalize public API barrel exports" Create `docs/limitations.md`: ```markdown -# StreamResource — Angular Limitations vs React useStream() +# Angular Stream Resource — Angular Limitations vs React useStream() Features that are technically impossible or behaviorally degraded when porting LangGraph's React `useStream()` hook to Angular. @@ -1611,7 +1611,7 @@ Create `LICENSE`: ``` MIT License (Non-Commercial Use Only) -Copyright (c) 2025 StreamResource Contributors +Copyright (c) 2025 Angular Stream Resource Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1642,11 +1642,11 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. Create `LICENSE-COMMERCIAL`: ``` -StreamResource Commercial License +Angular Stream Resource Commercial License -Copyright (c) 2025 StreamResource Contributors +Copyright (c) 2025 Angular Stream Resource Contributors -Commercial use of StreamResource requires a paid license. +Commercial use of Angular Stream Resource requires a paid license. DEVELOPER SEAT LICENSE: $500 per developer seat per year - Grants commercial use rights for one developer @@ -1656,7 +1656,7 @@ DEVELOPER SEAT LICENSE: $500 per developer seat per year APPLICATION DEPLOYMENT LICENSE: $2,000 per application - Required for each production application or service that uses - StreamResource commercially + Angular Stream Resource commercially - Covers all environments (development, staging, production) - One-time purchase per application diff --git a/docs/superpowers/plans/2026-03-17-readme.md b/docs/superpowers/plans/2026-03-17-readme.md index 1aa4afcb8..eb3db5e66 100644 --- a/docs/superpowers/plans/2026-03-17-readme.md +++ b/docs/superpowers/plans/2026-03-17-readme.md @@ -38,7 +38,7 @@ apps/website/public/assets/ **Visual specification:** - Background: `#080705` (near-black) - Text color: `#d4aa6a` (gold) -- Wordmark: "stream-resource" in EB Garamond-style serif paths +- Wordmark: "Angular Stream Resource" in EB Garamond-style serif paths - Subtitle: "The Enterprise Streaming Resource for LangChain and Angular" in lighter gold - Dimensions: 1200 × 300 (standard GitHub README banner ratio) - No JavaScript, no ``, no web fonts (paths only — renders everywhere) @@ -57,7 +57,7 @@ apps/website/public/assets/ - + stream-resource + >Angular Stream Resource stream-resource — The Enterprise Streaming Resource for LangChain and Angular

@@ -353,7 +353,7 @@ That's it. `chat.messages()` is an Angular Signal. Bind it directly in your temp

stream-resource architecture: Angular Component → streamResource() → StreamManager Bridge → LangGraph Platform, with signals returned reactively

diff --git a/docs/superpowers/plans/2026-03-17-website.md b/docs/superpowers/plans/2026-03-17-website.md index 62d1f93a6..90481cc1c 100644 --- a/docs/superpowers/plans/2026-03-17-website.md +++ b/docs/superpowers/plans/2026-03-17-website.md @@ -2,7 +2,7 @@ > **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking. -**Goal:** Build the StreamResource marketing website — landing page, pricing, docs, and live demo — deployed to Vercel. +**Goal:** Build the Angular Stream Resource marketing website — landing page, pricing, docs, and live demo — deployed to Vercel. **Architecture:** Next.js 15 App Router with Tailwind CSS dark luxury design system, Framer Motion scroll-triggered animations, SVG architecture diagram with `animateMotion`, MDX docs with Claude-generated narrative content, and an embedded Angular Elements live demo. @@ -283,7 +283,7 @@ export function Footer() { GitHub

- © {new Date().getFullYear()} StreamResource.{' '} + © {new Date().getFullYear()} Angular Stream Resource.{' '} Commercial use requires a license.

@@ -580,7 +580,7 @@ export function ArchDiagram() { ref={ref} viewBox="0 0 900 200" className="w-full" - aria-label="StreamResource architecture diagram" + aria-label="Angular Stream Resource architecture diagram" > @@ -1305,9 +1305,9 @@ export default async function DocsPage({ params }: Props) { Create `apps/website/content/docs/index.mdx`: ```mdx -# StreamResource Documentation +# Angular Stream Resource Documentation -Welcome to the StreamResource documentation. Run `npm run generate-docs` to +Welcome to the Angular Stream Resource documentation. Run `npm run generate-docs` to generate the full narrative documentation from the library source. ## Quick Start @@ -1815,7 +1815,7 @@ test.describe('Landing page', () => { test('renders architecture diagram SVG', async ({ page }) => { await page.goto('/'); - await expect(page.locator('svg[aria-label="StreamResource architecture diagram"]')).toBeVisible(); + await expect(page.locator('svg[aria-label="Angular Stream Resource architecture diagram"]')).toBeVisible(); }); test('renders install command', async ({ page }) => { @@ -1888,7 +1888,7 @@ import { test, expect } from '@playwright/test'; test.describe('Docs page', () => { test('renders docs index', async ({ page }) => { await page.goto('/docs'); - await expect(page.getByText('StreamResource Documentation')).toBeVisible(); + await expect(page.getByText('Angular Stream Resource Documentation')).toBeVisible(); }); test('API reference renders signal table', async ({ page }) => { diff --git a/docs/superpowers/plans/2026-03-18-agentic-additions.md b/docs/superpowers/plans/2026-03-18-agentic-additions.md index 9dddc18e4..32dc09acd 100644 --- a/docs/superpowers/plans/2026-03-18-agentic-additions.md +++ b/docs/superpowers/plans/2026-03-18-agentic-additions.md @@ -1,4 +1,4 @@ -# StreamResource — Agentic Additions Implementation Plan +# Angular Stream Resource — Agentic Additions Implementation Plan > **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking. Set up an isolated workspace first using superpowers:using-git-worktrees. @@ -729,7 +729,7 @@ import path from 'path'; import pkg from '../../../package.json'; function buildLlmsTxt(): string { - return `# stream-resource v${pkg.version} + return `# Angular Stream Resource v${pkg.version} Angular streaming library for LangChain/LangGraph. Provides streamResource() — full parity with React's useStream() hook, built on Angular Signals. @@ -798,7 +798,7 @@ function loadAllPrompts(): string { export async function GET() { const sections = [ - '# stream-resource — Full Reference\n\nSee /llms.txt for a compact summary.\n', + '# Angular Stream Resource — Full Reference\n\nSee /llms.txt for a compact summary.\n', '## API Reference (TypeDoc)\n\n' + loadApiDocs(), '## Prompt Recipes\n\n' + loadAllPrompts(), '## Common Gotchas\n\nstreamResource() MUST be called inside an Angular injection context.\nDo not call it in ngOnInit — use constructor or field initializer.\nDo not mock streamResource() in tests — use MockStreamTransport.\nRxJS is an internal implementation detail — do not import rxjs in consumer code.', @@ -844,7 +844,7 @@ These files are generated at build time and served as static downloads from the Create `apps/website/content/CLAUDE.md.template`: ``` -# stream-resource v@VERSION@ +# Angular Stream Resource v@VERSION@ Angular streaming library for LangChain/LangGraph. Provides `streamResource()` — full parity with React's `useStream()`. diff --git a/docs/superpowers/plans/2026-03-18-website.md b/docs/superpowers/plans/2026-03-18-website.md index 7e8ee1879..29bf6b711 100644 --- a/docs/superpowers/plans/2026-03-18-website.md +++ b/docs/superpowers/plans/2026-03-18-website.md @@ -1,8 +1,8 @@ -# StreamResource Website Implementation Plan +# Angular Stream Resource Website Implementation Plan > **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking. Set up an isolated workspace first using superpowers:using-git-worktrees. -**Goal:** Build the StreamResource Next.js marketing and documentation website — landing page, pricing, docs, live Angular Elements demo — using the indigo-blue neon brand from `docs/superpowers/specs/2026-03-18-website-branding-design.md`. +**Goal:** Build the Angular Stream Resource Next.js marketing and documentation website — landing page, pricing, docs, live Angular Elements demo — using the indigo-blue neon brand from `docs/superpowers/specs/2026-03-18-website-branding-design.md`. **Architecture:** Next.js 15 App Router inside the existing Nx monorepo at `apps/website/`. Design tokens defined once in `globals.css` (CSS custom properties) and `lib/design-tokens.ts` (typed TS constants), consumed by all components via Tailwind CSS utility classes and inline styles. Angular Elements demo app lives at `apps/demo/`, built separately, bundle copied to `public/demo/`. Docs generated by a two-stage script pipeline (TypeDoc → Claude API → MDX). @@ -329,7 +329,7 @@ export function Nav() {