Commit adf6795
feat(ag-ui): productize itinerary panel (phase 1) (#729)
* docs(specs): ag-ui itinerary redesign + app mode map design
Two-phase plan: (1) productize the trip-itinerary panel onto chat-library
tokens with CDK drag-to-reorder, agent-edit pulse, per-day add affordance,
and polished empty state; (2) add an App-mode toolbar toggle that switches
the demo to full-bleed Google Map + chat copilot (Tesla-style), reusing
the Phase-1 panel as a floating overlay. Geocoding at the client-tool seam
so the store stays simple.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* docs(plans): ag-ui itinerary redesign — phase 1 and phase 2
Phase 1 productizes the itinerary panel (chat tokens, Material icons,
CDK drag-to-reorder, agent-edit pulse, per-day add affordance, polished
empty state, reorder_stop client tool). 10 tasks, TDD throughout.
Phase 2 adds the App-mode toolbar toggle and Tesla-style map cockpit
(full Google Map + chat sidebar, Phase-1 panel as floating overlay,
geocoding at the client-tool seam). 12 tasks. API key wired via
gitignored generated-keys.local.ts so committed files never carry
secrets.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* feat(ag-ui): extend ItineraryStore with reorder, source, recentlyChangedId
* build(ag-ui): add @angular/cdk drag-drop dependency
* style(ag-ui): repaint itinerary panel onto chat library tokens
* feat(ag-ui): restructure itinerary panel with day headers, per-day add, numbered cards
* feat(ag-ui): CDK drag-to-reorder for itinerary stops
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* feat(ag-ui): agent-edit pulse on the just-changed itinerary row + drag a11y polish
* feat(ag-ui): polished empty state with luggage icon + suggestion chips
* feat(ag-ui): add reorder_stop client tool; move_stop now wraps reorder
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* docs(plans): ag-ui itinerary phase 1 live-smoke + acceptance skeleton
Live-smoke: 6 Chrome-MCP-driven real-user scenarios targeting the
streaming-shape bugs aimock replay can't catch (incremental DOM/NG0956,
mid-stream tool calls, pulse timer-reset race, drag-while-stream). Runs
against the real OpenAI key in root .env via local uvicorn :8000 + nx
serve :4200, with a port-free + bundle-freshness preamble and a
scenario-5 decoupling fallback policy.
Acceptance follow-up: not-yet-actionable skeleton homing the broader
surface (theme matrix, persistence, mobile, a11y, reduced-motion,
interrupt path) plus deferred engineering items surfaced in Phase 1
reviews so they aren't lost.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs(plans): record Phase 1 live-smoke run — all 6 scenarios pass
Ran the Chrome-MCP live smoke against real OpenAI key. All 6 scenarios
PASS. Headline: NG0956 (the @for re-creation warning the smoke targets)
never fired, including a long nested-markdown stream and a 3x add burst.
Findings (non-blocking): (1) NG0953 OutputRef-after-destroy dev warning
on day_card view teardown — library-layer (libs/render), not Phase 1
example code (zero outputs there); filed as follow-up. (2) gpt-5-mini at
high effort narrates instead of calling tools — model steering note for
demo scripting. (3) Fixed Step 0b: source only OPENAI_API_KEY, not the
whole .env (which exports AG_UI_INTERNAL_TOKEN and 401s the dev proxy).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* chore(docs): regenerate api docs
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>1 parent 5f9d8f2 commit adf6795
15 files changed
Lines changed: 3869 additions & 122 deletions
File tree
- docs/superpowers
- plans
- specs
- examples/ag-ui/angular
- e2e
- fixtures
- src/app
- shell
Lines changed: 82 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
0 commit comments