gsxdsm
b2977d1a7a
FN-7982: clear stale planner chat streaming on fresh reply
...
Fix task chat showing a previous agent message while a new reply is generating by clearing streaming carriers on fresh generations.
- Clear streamingThinking and the streaming-assistant row when starting a generation without an in-flight snapshot
- Preserve text/thinking/tool restore only when attaching to a live in-flight generation
- Add regression coverage for consecutive replies that must not reuse prior stream content
- Add patch changeset for the planner chat stale-message fix
Files changed:
.changeset/fn-7982-planner-chat-stale-message.md | 7 ++++
.../app/components/TaskPlannerChatTab.tsx | 19 ++++++++--
.../__tests__/TaskPlannerChatTab.test.tsx | 44 ++++++++++++++++++++++
3 files changed, 67 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-7982
Fusion-Task-Lineage: 71daaa80-6d66-4940-a656-a2c42a6b03bb
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-15 12:22:33 -07:00
gsxdsm
93a93450c2
fix(FUX-015): address slash-command review feedback
...
Greptile/CodeRabbit review of the chat slash-command framework:
- Composer-wipe race: ChatView and TaskPlannerChatTab cleared the composer
inside the command's success callback, silently wiping any text the user
typed while the command was in flight. Clear on submit (before the network
round-trip) instead — consistent with normal chat send, which also clears
immediately and does not restore on failure.
- Attachments were silently dropped when dispatching a slash command in
ChatView (clearing the composer revokes staged attachment URLs). Block
dispatch with a warning toast when attachments are staged.
- CHAT_COMMANDS is now a readonly array; helper signatures accept
readonly ChatCommand[].
- The planner command menu (commands-only) used skill-menu aria-label/empty
copy; use command-specific copy instead.
Add regression tests: in-flight text survives command success, composer
clears on submit even on failure, attachment dispatch is blocked, and the
planner command menu uses command-specific accessible copy.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-10 18:14:09 -07:00
ddonaldson130
7c91824875
feat(dashboard): add slash-command framework with /steer (FUX-015)
...
Adds a chat command registry and the /steer command for task-bound
chats. Commands are triggered by '/' and dispatch through a common
match/dispatch path alongside existing skills autocomplete.
2026-07-10 18:14:09 -07:00
gsxdsm
2bea332ff2
FN-7685: make Planner Chat send button icon-only to match regular chat
...
Summary: The Planner Chat idle send button now renders icon-only, dropping its visible "Send" text span to match TaskChatTab's regular chat send button, while keeping the accessible name "Send" via aria-label.
- Removed `showSendText` prop from the planner chat send/stop button so the idle send button no longer shows a visible text span.
- Updated the CSS FNXC comment documenting that the send-text-hiding rule is now solely load-bearing for the streaming Stop button's icon-visibility contract, not the idle Send button.
- Updated the corresponding test to assert the send button has no visible text span (icon-only) while still asserting the accessible name resolves to "Send".
Files changed:
packages/dashboard/app/components/TaskPlannerChatTab.css | 7 +++++++
packages/dashboard/app/components/TaskPlannerChatTab.tsx | 5 ++++-
.../dashboard/app/components/__tests__/TaskPlannerChatTab.test.tsx | 4 +++-
3 files changed, 14 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7685
Fusion-Task-Lineage: 5ec896c5-7ca3-415b-bd5f-99a49f6a21ec
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-08 09:40:59 -07:00
gsxdsm
dfb084c59e
FN-7655: make planner chat stop button icon-only
...
Removes the visible "Stop generation" text label from the planner chat's stop button while keeping it accessible via aria-label.
- Add showStopText prop to StandardChatActionButton (defaults to showSendText) to independently control Send vs Stop visible text
- Set showStopText={false} in TaskPlannerChatTab so the streaming stop button renders icon-only
- Update TaskPlannerChatTab test to assert no visible text span on the stop button while aria-label is retained
- Add changeset for @runfusion/fusion (patch)
Files changed:
.changeset/fn-7655-planner-stop-icon-only.md | 7 +++++++
.../dashboard/app/components/StandardChatSurface.tsx | 16 ++++++++++++++--
packages/dashboard/app/components/TaskPlannerChatTab.tsx | 3 +++
.../app/components/__tests__/TaskPlannerChatTab.test.tsx | 4 +++-
4 files changed, 27 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-7655
Fusion-Task-Lineage: f68a8bfa-30ba-439e-97d0-28654a614c54
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-07 23:26:55 -07:00
gsxdsm
1b7bb1fe18
FN-7639: wire message editing into Planner Chat
...
Adds the ability to edit and resend a prior user message in task-detail Planner Chat, discarding subsequent turns without reverting already-applied steering/refinement side effects.
- Wire FN-7628's editChatMessage + rewindSessionForEdit into TaskPlannerChatTab for synthetic task-planner:<id> sessions
- Add edit affordance/UI flow and message resend handling in TaskPlannerChatTab
- Ensure already-applied steering comments and refinement tasks are not reverted when a turn is discarded
- Expand TaskPlannerChatTab test coverage for edit/resend flows
- Update dashboard guide docs to describe the new Planner Chat edit behavior
- Add changeset for @runfusion/fusion (minor)
Files changed:
.changeset/fn-7639-planner-chat-edit.md | 7 +
docs/dashboard-guide.md | 4 +-
.../app/components/TaskPlannerChatTab.tsx | 90 +++++++-
.../__tests__/TaskPlannerChatTab.test.tsx | 242 ++++++++++++++++++++-
4 files changed, 328 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-7639
Fusion-Task-Lineage: ed568a81-12fa-42a8-9ecf-29e6c9a2a884
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-07 22:06:17 -07:00
gsxdsm
42009cfdb9
FN-7628: allow editing sent chat messages and rewinding agent responses
...
Adds the ability to edit a previously sent message in an agent chat, which rewinds the session/task room and regenerates the response from the edited message.
- Add chat-store support for locating/replacing a message and truncating subsequent history for a rewind
- Add a chat-manager rewind-session flow and a new register-chat-routes endpoint to rewind a room to an edited message
- Add legacy API route wiring and useChat hook support for issuing an edit request
- Add ChatView/StandardChatSurface/TaskPlannerChatTab UI affordances (edit control, styling) to trigger message edits
- Add a changeset documenting the new chat message-edit capability
- Add unit/integration tests covering chat-store rewind logic, chat-manager rewind-session behavior, chat routes, useChat, and ChatView edit UI
Files changed:
.changeset/fn-7628-chat-message-edit.md | 7 +
docs/dashboard-guide.md | 4 +
packages/core/src/__tests__/chat-store.test.ts | 171 ++++++++++++++
packages/core/src/chat-store.ts | 95 ++++++++
packages/dashboard/app/api/legacy.ts | 22 ++
packages/dashboard/app/components/ChatView.css | 78 ++++++
packages/dashboard/app/components/ChatView.tsx | 14 ++
.../app/components/StandardChatSurface.tsx | 87 ++++++-
.../app/components/TaskPlannerChatTab.tsx | 8 +
.../__tests__/ChatView.autosize.test.tsx | 1 +
.../__tests__/ChatView.default-model-icon.test.tsx | 1 +
.../components/__tests__/ChatView.draft.test.tsx | 1 +
.../__tests__/ChatView.hash-mention.test.tsx | 1 +
.../__tests__/ChatView.message-edit.test.tsx | 262 +++++++++++++++++++++
.../__tests__/ChatView.mobile-render.test.tsx | 1 +
.../components/__tests__/ChatView.rooms.test.tsx | 1 +
.../__tests__/ChatView.scroll-to-top.test.tsx | 1 +
.../components/__tests__/ChatView.test-harness.tsx | 1 +
.../dashboard/app/hooks/__tests__/useChat.test.ts | 98 ++++++++
packages/dashboard/app/hooks/useChat.ts | 60 +++++
.../__tests__/chat-manager-rewind-session.test.ts | 185 +++++++++++++++
.../dashboard/src/__tests__/chat-manager.test.ts | 12 +
.../dashboard/src/__tests__/chat-routes.test.ts | 124 ++++++++++
packages/dashboard/src/chat.ts | 147 +++++++++++-
.../dashboard/src/routes/register-chat-routes.ts | 52 ++++
25 files changed, 1429 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-7628
Fusion-Task-Lineage: 36d98989-1b75-428c-baf1-b2c7e8e78013
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-07 22:06:15 -07:00
gsxdsm
1a523e7d1b
FN-7407: enable done-task planner refinements
...
Enable planner chat on completed tasks and let clear follow-up requests create refinements.
- Allow task-planner chat sessions for done tasks while keeping archived tasks blocked.
- Add a task-scoped refinement tool that creates follow-up tasks only from completed source tasks.
- Render refinement creation, pending, and failure states in the planner chat transcript.
- Extend planner-chat context, route, manager, and component tests for done-task chat and refinement behavior.
- Document the completed-task planner chat behavior and add a patch changeset.
Files changed:
.changeset/fn-7407-done-planner-chat.md | 7 ++
docs/dashboard-guide.md | 5 +-
.../app/components/TaskPlannerChatTab.tsx | 50 +++++++-
.../__tests__/TaskPlannerChatTab.test.tsx | 66 ++++++++++-
.../dashboard/src/__tests__/chat-manager.test.ts | 126 ++++++++++++++++++++-
.../dashboard/src/__tests__/chat-routes.test.ts | 41 ++++++-
.../__tests__/task-planner-chat-context.test.ts | 5 +-
packages/dashboard/src/chat.ts | 66 ++++++++++-
.../dashboard/src/routes/register-chat-routes.ts | 9 +-
.../dashboard/src/task-planner-chat-context.ts | 5 +-
10 files changed, 360 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-7407
Fusion-Task-Lineage: b3214d89-a59c-4682-b5cd-98d7d6cc09e2
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 23:44:05 -07:00
gsxdsm
e341c0673f
FN-7379: render planner questions outside tool groups
...
Make planner clarification prompts stay answerable when assistant messages include other tool calls.
- Extract fn_ask_question cards before grouping generic chat tool calls.
- Keep non-question tools in the existing grouped tool-call details.
- Cover persisted and streamed mixed-tool planner transcripts with actionable question assertions.
- Add a patch changeset for the planner-chat fix.
Files changed:
.changeset/fn-7379-planner-question-cards.md | 7 +++
.../app/components/StandardChatSurface.tsx | 73 +++++++++++++++-------
.../app/components/TaskPlannerChatTab.tsx | 3 +
.../__tests__/TaskPlannerChatTab.test.tsx | 48 ++++++++++++--
4 files changed, 103 insertions(+), 28 deletions(-)
Fusion-Task-Id: FN-7379
Fusion-Task-Lineage: 5e88f991-cbcf-49d8-a815-fc44d49bad10
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 10:45:19 -07:00
gsxdsm
c194248d4b
FN-7366: restore planner chat in-flight state
...
Planner chat now resumes active generations when task detail is reopened.\n\n- Rehydrate in-flight planner chat snapshots and reattach to the session stream after tab/modal remounts.\n- Preserve accepted optimistic user turns across provider failures while rolling back pre-acceptance failures.\n- Add regression coverage for remount reattachment, attached completion/error refresh, and accepted error reconciliation.\n- Add a patch changeset for the published Fusion package.\n\nFiles changed:\n .changeset/fn-7366-planner-chat-resume.md | 7 +\n .../app/components/TaskPlannerChatTab.tsx | 334 +++++++++++++--------\n .../__tests__/TaskPlannerChatTab.test.tsx | 189 +++++++++++-\n 3 files changed, 382 insertions(+), 148 deletions(-)
Fusion-Task-Id: FN-7366
Fusion-Task-Lineage: b13b9c5e-9295-461f-b44b-f2b5a9008b4f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 09:12:30 -07:00
gsxdsm
a65633d878
FN-7368: keep accepted chat sends visible after provider errors
...
Preserve sent chat turns when provider failures arrive after the server accepts a stream.
- Track whether chat stream errors happen before or after server acceptance.
- Reconcile persisted user-message echoes with optimistic bubbles across global chat and planner chat.
- Preserve delivered room-chat messages when reply generation or recovery refresh fails.
- Cover accepted-error and pre-acceptance rollback behavior with focused dashboard tests.
Files changed:
.changeset/fn-7368-chat-provider-error.md | 7 ++
packages/dashboard/app/api/legacy.ts | 25 ++++--
.../app/components/TaskPlannerChatTab.tsx | 47 ++++++++++-
.../__tests__/TaskPlannerChatTab.test.tsx | 71 ++++++++++++++++
.../dashboard/app/hooks/__tests__/useChat.test.ts | 96 ++++++++++++++++++++++
.../app/hooks/__tests__/useChatRooms.test.ts | 25 ++++++
.../app/hooks/createChatStreamHandlers.ts | 10 +--
packages/dashboard/app/hooks/useChat.ts | 48 ++++++++---
packages/dashboard/app/hooks/useChatRooms.ts | 5 +-
9 files changed, 305 insertions(+), 29 deletions(-)
Fusion-Task-Id: FN-7368
Fusion-Task-Lineage: b7935c3f-3604-4ed5-b32e-a6ead536a991
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 07:50:52 -07:00
gsxdsm
7457f04287
FN-7355: reuse standard chat surface for planner
...
Task planner chat now renders through the shared Chat surface while preserving task-scoped behavior.
- Extract shared standard chat message, streaming, tool-call, and action-button rendering for reuse outside ChatView.
- Update TaskPlannerChatTab to use the shared surface for messages, thinking output, mobile send dedupe, and stop generation.
- Cover planner chat standard-surface rendering and mobile first-tap behavior in tests, docs, and a patch changeset.
Files changed:
.changeset/fn-7355-standard-planner-chat.md | 7 +
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/ChatView.css | 18 +
packages/dashboard/app/components/ChatView.tsx | 795 ++-------------------
.../app/components/StandardChatSurface.tsx | 417 +++++++++++
.../app/components/TaskPlannerChatTab.css | 39 +-
.../app/components/TaskPlannerChatTab.tsx | 246 ++++---
...etailModal.responsive-and-dependencies.test.tsx | 4 +-
.../__tests__/TaskPlannerChatTab.test.tsx | 52 ++
9 files changed, 693 insertions(+), 887 deletions(-)
Fusion-Task-Id: FN-7355
Fusion-Task-Lineage: 608ee0d7-3a1b-4f5f-a295-d3a4e62d759e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 07:33:56 -07:00
gsxdsm
d8f3cc64ae
FN-7356: fix mobile chat send taps
...
Make task chat and planner chat submit reliably from mobile send buttons.
- Submit touch and pen send-button interactions on pointer down before soft-keyboard blur can consume the tap.
- Add synchronous duplicate-send guards for task chat and planner chat send flows.
- Cover one-tap mobile send behavior and duplicate prevention in chat component tests.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7356-mobile-chat-send.md | 7 +++
packages/dashboard/app/components/TaskChatTab.tsx | 25 +++++++-
.../app/components/TaskPlannerChatTab.tsx | 36 +++++++++++-
.../app/components/__tests__/TaskChatTab.test.tsx | 65 +++++++++++++++++++++
.../__tests__/TaskPlannerChatTab.test.tsx | 67 +++++++++++++++++++++-
5 files changed, 194 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-7356
Fusion-Task-Lineage: 90b243e0-ae36-459d-bf01-112219e7865b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 07:33:56 -07:00
gsxdsm
411f46a5ea
fix(FN-7344): keep planner chat empty state at top
2026-07-01 00:13:47 -07:00
gsxdsm
35d37d603d
fix(FN-7344): compact planner and activity chat inputs
2026-07-01 00:07:42 -07:00
gsxdsm
7c53c97137
fix(FN-7344): make planner chat expansion intentional
2026-06-30 23:51:16 -07:00
gsxdsm
e37260b30c
fix(FN-7344): keep planner chat context expanded
2026-06-30 23:45:03 -07:00
gsxdsm
6005f89979
fix(FN-7344): compact planner chat on mobile
2026-06-30 23:45:03 -07:00
gsxdsm
7d2bd9794e
FN-7337: make planner chats lazy and archive-scoped
...
Task planner chats now stay out of global chat history until a user interacts and are retained until task archive.
- Load task planner chat tabs with lookup-only resume before any user send.
- Show task-planner sessions in global Chat only after messages exist, including SSE refresh handling.
- Keep interacted planner chats for done tasks while deleting task-scoped planner sessions on archive.
- Cover chat store deletion, planner tab behavior, route filtering, and chat-list refresh with regression tests.
Files changed:
.changeset/fn-7337-planner-chat-retention.md | 7 ++
docs/dashboard-guide.md | 4 +-
packages/core/src/__tests__/chat-store.test.ts | 44 +++++++++
packages/core/src/chat-store.ts | 22 +++++
packages/dashboard/app/api/legacy.ts | 35 ++++++-
.../app/components/TaskPlannerChatTab.tsx | 13 ++-
.../__tests__/TaskPlannerChatTab.test.tsx | 91 +++++++++++++-----
.../dashboard/app/hooks/__tests__/useChat.test.ts | 41 ++++++++
packages/dashboard/app/hooks/useChat.ts | 15 ++-
.../dashboard/src/__tests__/chat-routes.test.ts | 105 +++++++++++++++++++++
.../dashboard/src/routes/register-chat-routes.ts | 17 +++-
packages/dashboard/src/server.ts | 10 +-
packages/engine/src/runtimes/in-process-runtime.ts | 8 ++
13 files changed, 378 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-7337
Fusion-Task-Lineage: 7ef9ed8f-af2e-4fa9-a2b6-0e8c8a805d5e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:01 -07:00
gsxdsm
b52f92cb7c
FN-7328: keep Planner Chat controls compact
...
Keep Planner Chat compact while preserving expanded mobile task context.
- Match the Planner Chat composer sizing to Activity chat on desktop and mobile.
- Keep the expanded mobile detail tab bar, priority, and execution-mode controls visible while hiding lower-priority metadata.
- Move and constrain the planner model badge so header actions stay compact.
- Cover the responsive layout and header ordering with dashboard tests.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7328-planner-chat-compact.md | 7 +++
.../dashboard/app/components/TaskDetailModal.css | 21 +++++++--
.../app/components/TaskPlannerChatTab.css | 51 +++++++++++++++++-----
.../app/components/TaskPlannerChatTab.tsx | 10 ++---
...etailModal.responsive-and-dependencies.test.tsx | 26 +++++++++--
.../__tests__/TaskPlannerChatTab.test.tsx | 2 +
6 files changed, 93 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-7328
Fusion-Task-Lineage: b787d818-e65c-486b-b5f7-cd0881bf3ee0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:00 -07:00
gsxdsm
2f5e15ac43
FN-7324: Focus task details on planner chat
...
Task details now prioritize the planner Chat experience while preserving Activity links and done-task summaries.
- Default active task details to Chat and render it before Activity without breaking legacy Activity tab ids.
- Add focused planner Chat expansion, pinned composer, mobile row hiding, and in-view expand/collapse controls.
- Update responsive coverage, planner-chat tests, dashboard docs, and the release changeset.
Files changed:
.changeset/fn-7324-chat-focused-task-detail.md | 7 ++
docs/dashboard-guide.md | 11 +--
.../dashboard/app/components/TaskDetailModal.css | 47 ++++++++++-
.../dashboard/app/components/TaskDetailModal.tsx | 36 +++++----
.../app/components/TaskPlannerChatTab.css | 36 ++++++++-
.../app/components/TaskPlannerChatTab.tsx | 37 ++++++---
...etailModal.responsive-and-dependencies.test.tsx | 14 +++-
.../components/__tests__/TaskDetailModal.test.tsx | 93 +++++++++++++++++++---
.../__tests__/TaskPlannerChatTab.test.tsx | 18 +++++
9 files changed, 255 insertions(+), 44 deletions(-)
Fusion-Task-Id: FN-7324
Fusion-Task-Lineage: 0699d224-7280-4959-8086-b0ea985937a2
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:00 -07:00
gsxdsm
0915377a1c
FN-7314: reuse shared planner question UI
...
Reuse the existing question-response modal UI inside task-detail planner Chat clarification flows.
- Render planner fn_ask_question tool calls with ChatQuestionResponse, including answered read-only and duplicate-pending states.
- Preserve steering-tool confirmations while sending submitted clarification answers back through planner Chat.
- Extend parser and modal tests for multi-question payloads, submitted answers, duplicate prompts, and empty dependency labels.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7314-planner-question-ui.md | 7 ++
.../app/components/TaskPlannerChatTab.css | 9 +++
.../app/components/TaskPlannerChatTab.tsx | 76 ++++++++++++++++--
...etailModal.responsive-and-dependencies.test.tsx | 3 +
.../__tests__/TaskPlannerChatTab.test.tsx | 89 ++++++++++++++++++----
.../utils/__tests__/parseQuestionToolCall.test.ts | 10 ++-
.../dashboard/app/utils/parseQuestionToolCall.ts | 6 +-
7 files changed, 176 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-7314
Fusion-Task-Lineage: bd5da323-0ba1-4094-a965-cc2801a1c9b7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 19:21:53 -07:00
gsxdsm
cb0d38a0c6
FN-7313: add guarded planner chat steering
...
Task-detail planner chat now turns only clear task change requests into persisted steering comments while keeping ambiguous requests in clarification flow.
- Add a scoped planner-chat steering tool with task-bound persistence and richer result details.
- Refresh task details and show steering confirmation, pending, and error states in the planner chat transcript.
- Expand planner chat prompt guidance and tests for clear steering, ambiguous clarification, and ordinary status questions.
- Add a published Fusion changeset for the new task chat steering behavior.
Files changed:
.changeset/fn-7313-task-chat-steering.md | 7 ++
.../dashboard/app/components/TaskDetailModal.tsx | 1 +
.../app/components/TaskPlannerChatTab.css | 28 +++++
.../app/components/TaskPlannerChatTab.tsx | 96 ++++++++++++++++-
.../__tests__/TaskPlannerChatTab.test.tsx | 72 ++++++++++++-
.../dashboard/src/__tests__/chat-manager.test.ts | 120 +++++++++++++++++++++
packages/dashboard/src/chat.ts | 32 +++++-
7 files changed, 347 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-7313
Fusion-Task-Lineage: 29da54cc-c379-4fe5-8419-be3acc712495
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 19:15:11 -07:00
gsxdsm
ddfd841b53
FN-7312: send task context to planner chat
...
Send bounded task state into task-detail planner chat so status and progress questions can be answered in context.
- Build reusable server-side planner chat context from task metadata, dependencies, steps, comments, activity, source, and review state.
- Pass and validate the task id on planner chat sends to keep sessions scoped to the current task.
- Update planner chat copy, docs, tests, and changeset coverage for task-aware status/progress questions.
Files changed:
.changeset/fn-7312-task-planner-chat-context.md | 7 +
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/api/legacy.ts | 5 +-
.../app/components/TaskPlannerChatTab.tsx | 5 +-
.../__tests__/TaskPlannerChatTab.test.tsx | 22 ++
.../dashboard/src/__tests__/chat-manager.test.ts | 17 +-
.../dashboard/src/__tests__/chat-routes.test.ts | 76 +++++
.../__tests__/task-planner-chat-context.test.ts | 165 +++++++++++
packages/dashboard/src/chat.ts | 92 +-----
.../dashboard/src/routes/register-chat-routes.ts | 11 +-
.../dashboard/src/task-planner-chat-context.ts | 326 +++++++++++++++++++++
11 files changed, 634 insertions(+), 96 deletions(-)
Fusion-Task-Id: FN-7312
Fusion-Task-Lineage: 90cf0fe3-3984-4a67-bb44-fce492c256eb
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 18:51:41 -07:00
gsxdsm
45509708e5
FN-7311: add planner chat starter prompts
...
Add guided prompts to the empty task-detail Chat tab so operators can start useful planner conversations quickly.
- Render a task-aware Chat empty state with four accessible starter prompt buttons.
- Send starter selections through the normal planner-chat stream while guarding stale session loads and stream callbacks.
- Style responsive prompt cards and document the Chat/Activity separation.
- Cover empty-state, loading, history, sending, and task-switch behavior with dashboard tests.
Files changed:
.changeset/fn-7311-chat-starter-prompts.md | 7 +
docs/dashboard-guide.md | 2 +
.../app/components/TaskPlannerChatTab.css | 55 ++++-
.../app/components/TaskPlannerChatTab.tsx | 185 ++++++++++++---
...etailModal.responsive-and-dependencies.test.tsx | 3 +
.../__tests__/TaskPlannerChatTab.test.tsx | 252 ++++++++++++++++++++-
6 files changed, 460 insertions(+), 44 deletions(-)
Fusion-Task-Id: FN-7311
Fusion-Task-Lineage: 5a58bc4f-1139-4c68-9ade-b79a52558bef
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 18:20:16 -07:00
gsxdsm
db7b46f60f
FN-7310: add task planner chat tab
...
Add a dedicated task-detail Chat surface for planner-model conversations separate from Activity steering.
- Add task-scoped planner chat session creation and routing with planning-model overrides.
- Render a new top-level Chat tab next to Activity, including streaming responses, tool-call cards, and retry/error states.
- Cover planner chat tab ordering, session reuse, route validation, manager dispatch, and dashboard documentation.
Files changed:
.changeset/fn-7310-planner-chat.md | 7 +
docs/dashboard-guide.md | 3 +-
packages/dashboard/app/api/legacy.ts | 35 +++
.../dashboard/app/components/TaskDetailModal.tsx | 40 ++-
.../app/components/TaskPlannerChatTab.css | 149 ++++++++++
.../app/components/TaskPlannerChatTab.tsx | 322 +++++++++++++++++++++
...etailModal.responsive-and-dependencies.test.tsx | 13 +-
.../__tests__/TaskDetailModal.test-helpers.ts | 3 +
.../components/__tests__/TaskDetailModal.test.tsx | 58 ++++
.../__tests__/TaskPlannerChatTab.test.tsx | 193 ++++++++++++
.../dashboard/src/__tests__/chat-manager.test.ts | 65 +++++
.../dashboard/src/__tests__/chat-routes.test.ts | 106 +++++++
packages/dashboard/src/chat.ts | 132 ++++++++-
.../dashboard/src/routes/register-chat-routes.ts | 68 +++++
14 files changed, 1181 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-7310
Fusion-Task-Lineage: a276c356-599e-4495-9879-472d157d95e5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 17:20:42 -07:00