diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8cff0303f..aa95b3d2b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -281,7 +281,10 @@ jobs: if printf '%s\n' "$changed_files" | grep -E '^(vercel\.examples\.json|scripts/assemble-examples\.ts)$' >/dev/null; then examples_changed=true fi - if printf '%s\n' "$changed_files" | grep -E '^libs/(chat|langgraph|ag-ui|render|a2ui|partial-json|example-layouts)/' >/dev/null; then + # Any libs/ change retriggers examples deploy. Previous hand-maintained + # allow-list silently broke whenever a new lib was added; cost of a + # spurious example rebuild is far cheaper than a missed deploy. + if printf '%s\n' "$changed_files" | grep -E '^libs/' >/dev/null; then examples_changed=true fi echo "changed=$examples_changed" >> "$GITHUB_OUTPUT" diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d62719c1..478f8e1d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## 0.0.28 — 2026-05-07 + +### Breaking + +- **`@ngaf/langgraph`** — removed the `messagesKey` option from `AgentOptions`. The messages slot is now fixed at the `messages` state key, matching the LangGraph Python/JS conventions. Consumers passing `messagesKey: 'customKey'` should rename the upstream graph state slot to `messages` instead. (Landed in #202; this entry backfills the release notes.) + +### Fixed + +- **`@ngaf/langgraph`** — `RemoveMessage` wire-shape now includes `role` + `content` so checkpoint rollback (used by `regenerate()`) round-trips correctly through the LangGraph SDK serializer. + +--- + ## 0.0.22 — 2026-05-04 ### Added diff --git a/docs/superpowers/plans/2026-03-18-agentic-additions.md b/docs/superpowers/plans/2026-03-18-agentic-additions.md index 8fb6d5351..9520201d4 100644 --- a/docs/superpowers/plans/2026-03-18-agentic-additions.md +++ b/docs/superpowers/plans/2026-03-18-agentic-additions.md @@ -1,6 +1,8 @@ # Angular Agent Framework — 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. +> +> **⚠️ Path note (post-PR #203):** API docs are now generated per-library to `apps/website/content/docs/{lib}/api/api-docs.json`. References to `apps/website/public/api-docs.json` below are historical; the file no longer exists. **Goal:** Add the hero redesign, agentic docs infrastructure, and MCP server package described in the two approved specs, layered on top of the base website plan (`2026-03-18-website.md`). diff --git a/docs/superpowers/plans/2026-03-18-website.md b/docs/superpowers/plans/2026-03-18-website.md index 60679da7f..ee928a0be 100644 --- a/docs/superpowers/plans/2026-03-18-website.md +++ b/docs/superpowers/plans/2026-03-18-website.md @@ -1,6 +1,8 @@ # Angular Agent Framework 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. +> +> **⚠️ Path note (post-PR #203):** API docs are now generated per-library to `apps/website/content/docs/{lib}/api/api-docs.json`. References to `apps/website/public/api-docs.json` below are historical; the file no longer exists. **Goal:** Build the Angular Agent Framework 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`. diff --git a/docs/superpowers/plans/2026-05-01-langgraph-agent-unification.md b/docs/superpowers/plans/2026-05-01-langgraph-agent-unification.md index db11a6fa4..e87995ad2 100644 --- a/docs/superpowers/plans/2026-05-01-langgraph-agent-unification.md +++ b/docs/superpowers/plans/2026-05-01-langgraph-agent-unification.md @@ -1,6 +1,8 @@ # LangGraph `agent()` Unification Implementation Plan > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development. +> +> **⚠️ Path note (post-PR #203):** API docs are now generated per-library to `apps/website/content/docs/{lib}/api/api-docs.json` (script: `apps/website/scripts/generate-api-docs.ts`). The legacy `apps/website/public/api-docs.json` referenced below has been removed. **Goal:** Refactor `@ngaf/langgraph` so `agent({...})` returns a unified `LangGraphAgent` (extends `AgentWithHistory`) preserving all `AgentRef` public surface. Delete `toAgent(ref)`. Migrate ~23 cockpit components and ~20 website doc files. diff --git a/libs/langgraph/src/lib/agent.types.ts b/libs/langgraph/src/lib/agent.types.ts index b8544d59f..6d1c02412 100644 --- a/libs/langgraph/src/lib/agent.types.ts +++ b/libs/langgraph/src/lib/agent.types.ts @@ -311,6 +311,15 @@ export interface LangGraphAgent void; + /** + * Truncate the thread at the given assistant-message index and re-submit the + * preceding user message. Used by ``'s regenerate action and any + * custom UI that wants the same semantics. Rejects if the agent is currently + * loading, if the index does not point at an assistant message, or if no + * preceding user message exists. + */ + regenerate: (assistantMessageIndex: number) => Promise; + /** Progress updates for currently executing tools. */ toolProgress: Signal;