Conversation
New dedicated AI editor at /journeys/[id]/ai with chat interface for plain-language journey editing. Backend journeyAiEdit mutation uses Gemini 2.5 Flash with discriminated union schema to return either a proposed journey update or a text-only suggestion. Frontend includes AiChat panel, AiEditorFlowMap for card navigation, AiEditorCardPreview, and entry points in the journey card menu and editor toolbar. 🤖 Generated with Claude Sonnet 4.6 via Claude Code (https://claude.com/claude-code) + Compound Engineering v2.42.0 Co-Authored-By: Claude Sonnet 4.6 (200K context) <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
subject must not be sentence-case, start-case, pascal-case, upper-case |
|
View your CI Pipeline Execution ↗ for commit bf44197
☁️ Nx Cloud last updated this comment at |
|
The latest updates on your projects.
|
Run api-journeys-modern:generate-graphql to export JourneyAiEditInput, JourneyAiEditResult, and journeyAiEdit mutation to the subgraph schema. Run api-gateway:generate-graphql to compose updated supergraph schema. Run journeys-admin:codegen to generate TypeScript types for the new mutation and query. Co-Authored-By: Claude Sonnet 4.6 (200K context) <noreply@anthropic.com>
|
The latest updates on your projects.
|
|
The latest updates on your projects.
|
|
The latest updates on your projects.
|
|
The latest updates on your projects.
|
|
The latest updates on your projects.
|
|
The latest updates on your projects.
|
…use gemini-2.0-flash
… add journey load on mount - AiEditorCardPreview now uses useJourney() + transformer() + FramePortal + BlockRenderer to render actual card content instead of simplified HTML representation - AiEditorFlowMap rewritten to use React Flow for the journey flow map - ai.tsx loads JourneySimple on mount via journeySimpleGet query so the flow map is visible immediately without needing to interact with AI first - Added JourneyProvider wrapper around preview area with useJourneyQuery (full blocks) so card preview can render real block content - Refetch full journey after AI changes are applied Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects.
|
Summary
journeyAiEditGraphQL mutation — calls Gemini 2.5 Flash with a discriminated union schema, returning either a proposed journey update or a text-only suggestion/journeys/[id]/ai— chat-first interface separate from the complex visual editorAiEditorFlowMap— SVG flow graph of all cards with click-to-select and AI highlight states (loading pulse, proposal badge)AiEditorCardPreview— renders selected card in a phone-frame mockupAiChat— useReducer state machine managing messages, generationId staleness checks, and apply/dismiss lifecycleKey decisions
generateObject()call is sufficient for preview-then-confirm UX; no WebSocket racesgenerationId— each send increments the generation counter; old proposals automatically become stale and hide the Apply buttongetSimpleJourney); no need for a newjourneySimpleGetqueryTesting
pnpm nx build api-journeys-modern(pre-existing errors are unrelated Prisma codegen issues)journeyAiEdit/orAiEditor/files/journeys/[id]/ai, type a message, verify loading indicator and proposal card, click ApplyPost-Deploy Monitoring & Validation
journeyAiEdit audit— emitted on every mutation call withuserId,journeyId,hadProposaljourneyAiEdit: NoObjectGeneratedError/journeyAiEdit: generateObject errorfor AI failuresgrep "journeyAiEdit audit" <log-stream>— should appear on every chat sendgrep "NoObjectGeneratedError" <log-stream>— should be rarehadProposal: truefor edit requests,hadProposal: falsefor question-only responsesNoObjectGeneratedErrorrate > 10%: check Gemini model ID / API keyjourneyAiEditmutation returning errors: roll backschema.tsimport registrationBefore / After Screenshots
No UI screenshots — this is a new page at
/journeys/[id]/ai; existing pages are unchanged except for new menu item and toolbar icon.🤖 Generated with Claude Sonnet 4.6 (200K context) via Claude Code