feat(FN-2971): merge fusion/fn-2971
- Add AI-generated merge commit summaries to the CLI via a new `ai-summarize.ts` module with configurable summarization settings - Add node routing policy routes for task workflow automation and planning subtasks in the dashboard API - Add SettingsModal improvements: tab-based navigation, node routing policy settings, and a new AI summarization section - Update SettingsModal CSS with scoped styles and update QuickChatFAB and ModelOnboardingModal CSS - Add `AgentHeartbeatMonitor` budget override and improve agent heartbeat handling; update scheduler with new node routing checks - Improve merger logic with new merge policy helpers, PR comment handlers, and routine runner integration - Add extensive test coverage across engine (agent-tools, scheduler-node-routing, node-routing-policy, merger, cron-runner), core (ai-summarize), and dashboard (routes, api) - Minor improvements to agent delegation tools, triage, executor, project-engine, and various dashboard components (TodoView, useTaskHandlers, onboarding-flow) Commits merged: - fix(FN-2971): complete Step 1 — scope attach button sizing - feat(FN-2947): merge fusion/fn-2947 - feat(FN-2970): merge fusion/fn-2970 - feat(FN-2956): merge fusion/fn-2956 - feat(FN-2923): merge fusion/fn-2923 - feat(FN-2945): merge fusion/fn-2945 Files changed: .changeset/add-ai-merge-commit-summary.md | 5 + docs/settings-reference.md | 3 + packages/cli/src/__tests__/task-plan.test.ts | 1 + packages/cli/src/commands/__tests__/task.test.ts | 15 +- packages/cli/src/commands/task.ts | 15 +- packages/cli/src/extension.ts | 9 + packages/core/src/__tests__/ai-summarize.test.ts | 64 ++++++++ packages/core/src/ai-summarize.ts | 114 +++++++++++++ packages/core/src/index.ts | 3 + packages/core/src/settings-schema.ts | 1 + packages/core/src/types.ts | 4 + .../app/__tests__/agent-css-classes.test.ts | 3 +- packages/dashboard/app/__tests__/api.test.ts | 13 ++ packages/dashboard/app/api/legacy.ts | 2 + packages/dashboard/app/components/AgentsView.css | 22 +-- .../app/components/ModelOnboardingModal.tsx | 5 +- packages/dashboard/app/components/QuickChatFAB.css | 17 +- packages/dashboard/app/components/QuickChatFAB.tsx | 2 +- .../dashboard/app/components/SettingsModal.css | 11 +- .../dashboard/app/components/SettingsModal.tsx | 22 ++- packages/dashboard/app/components/TodoView.tsx | 2 + .../__tests__/ModelOnboardingModal.test.tsx | 4 +- .../app/components/__tests__/QuickChatFAB.test.tsx | 14 +- .../__tests__/SettingsModalNodeRouting.test.tsx | 12 +- .../app/components/__tests__/TodoView.test.tsx | 4 +- .../__tests__/agents-view-mobile.test.tsx | 5 +- .../components/__tests__/onboarding-flow.test.tsx | 2 +- .../app/hooks/__tests__/useTaskHandlers.test.ts | 4 +- packages/dashboard/app/hooks/useTaskHandlers.ts | 4 +- packages/dashboard/src/__tests__/routes.test.ts | 14 ++ packages/dashboard/src/routes.ts | 4 + .../dashboard/src/routes/register-git-github.ts | 12 ++ .../src/routes/register-planning-subtask-routes.ts | 3 + .../src/routes/register-task-workflow-routes.ts | 7 + .../engine/src/__tests__/agent-heartbeat.test.ts | 10 ++ .../src/__tests__/agent-tools-delegation.test.ts | 2 + packages/engine/src/__tests__/agent-tools.test.ts | 37 +++++ packages/engine/src/__tests__/cron-runner.test.ts | 4 + packages/engine/src/__tests__/merger.test.ts | 75 +++++++++ .../src/__tests__/node-routing-policy.test.ts | 25 ++- .../src/__tests__/pr-comment-handler.test.ts | 8 + .../src/__tests__/scheduler-node-routing.test.ts | 18 +- packages/engine/src/__tests__/triage.test.ts | 2 + packages/engine/src/agent-heartbeat.ts | 13 +- packages/engine/src/agent-tools.ts | 13 +- packages/engine/src/cron-runner.ts | 7 +- packages/engine/src/executor.ts | 2 +- packages/engine/src/merger.ts | 181 +++++++++------------ packages/engine/src/mission-execution-loop.ts | 8 + packages/engine/src/pr-comment-handler.ts | 5 + packages/engine/src/project-engine.ts | 8 + packages/engine/src/routine-runner.ts | 4 + packages/engine/src/scheduler.ts | 8 +- packages/engine/src/triage.ts | 4 + 54 files changed, 673 insertions(+), 183 deletions(-) Fusion-Task-Id: FN-2971
This commit is contained in:
@@ -464,14 +464,20 @@
|
||||
padding: var(--space-sm);
|
||||
}
|
||||
|
||||
.quick-chat-panel-input .btn-icon {
|
||||
min-width: calc(var(--space-lg) + var(--space-xl));
|
||||
min-height: calc(var(--space-lg) + var(--space-xl));
|
||||
width: calc(var(--space-lg) + var(--space-xl));
|
||||
height: calc(var(--space-lg) + var(--space-xl));
|
||||
/* Keep the attachment trigger compact inside the input wrapper so the composer
|
||||
stays a single inline row with the text field. */
|
||||
.quick-chat-attach-btn {
|
||||
min-width: calc(var(--space-lg) + var(--space-md));
|
||||
min-height: calc(var(--space-lg) + var(--space-md));
|
||||
width: calc(var(--space-lg) + var(--space-md));
|
||||
height: calc(var(--space-lg) + var(--space-md));
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* Only the outer send/stop action keeps the larger touch target. */
|
||||
.quick-chat-panel-input > button {
|
||||
min-width: calc(var(--space-lg) + var(--space-xl));
|
||||
min-height: calc(var(--space-lg) + var(--space-xl));
|
||||
width: calc(var(--space-lg) + var(--space-xl));
|
||||
height: calc(var(--space-lg) + var(--space-xl));
|
||||
border-radius: var(--radius-sm);
|
||||
@@ -601,7 +607,6 @@
|
||||
height: calc(var(--space-lg) * 2 + var(--space-sm));
|
||||
}
|
||||
|
||||
.quick-chat-panel-input .btn-icon,
|
||||
.quick-chat-panel-input > button {
|
||||
min-width: calc(var(--space-lg) + var(--space-xl));
|
||||
min-height: calc(var(--space-lg) + var(--space-xl));
|
||||
|
||||
@@ -1755,7 +1755,7 @@ export function QuickChatFAB({
|
||||
/>
|
||||
<button
|
||||
type="button"
|
||||
className="btn-icon"
|
||||
className="btn-icon quick-chat-attach-btn"
|
||||
data-testid="quick-chat-attach-btn"
|
||||
aria-label="Attach files"
|
||||
onClick={() => fileInputRef.current?.click()}
|
||||
|
||||
Reference in New Issue
Block a user