@kenkaiiii/ggcoder 4.15.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-sidecar.js +193 -1
- package/dist/app-sidecar.js.map +1 -1
- package/dist/cli/command-routing.d.ts +1 -1
- package/dist/cli/command-routing.d.ts.map +1 -1
- package/dist/cli/command-routing.js +1 -3
- package/dist/cli/command-routing.js.map +1 -1
- package/dist/cli/command-routing.test.js +0 -1
- package/dist/cli/command-routing.test.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -29
- package/dist/cli.js.map +1 -1
- package/dist/core/agent-session.d.ts +50 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +120 -6
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/ideal-review.d.ts +12 -1
- package/dist/core/ideal-review.d.ts.map +1 -1
- package/dist/core/ideal-review.js +52 -2
- package/dist/core/ideal-review.js.map +1 -1
- package/dist/core/ideal-review.test.js +41 -1
- package/dist/core/ideal-review.test.js.map +1 -1
- package/dist/core/ken-context.d.ts +35 -0
- package/dist/core/ken-context.d.ts.map +1 -0
- package/dist/core/ken-context.js +121 -0
- package/dist/core/ken-context.js.map +1 -0
- package/dist/core/ken-context.test.d.ts +2 -0
- package/dist/core/ken-context.test.d.ts.map +1 -0
- package/dist/core/ken-context.test.js +118 -0
- package/dist/core/ken-context.test.js.map +1 -0
- package/dist/core/ken-prompt.d.ts +25 -0
- package/dist/core/ken-prompt.d.ts.map +1 -0
- package/dist/core/ken-prompt.js +186 -0
- package/dist/core/ken-prompt.js.map +1 -0
- package/dist/core/session-manager.d.ts +18 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +29 -0
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-manager.test.js +63 -1
- package/dist/core/session-manager.test.js.map +1 -1
- package/dist/system-prompt.d.ts +1 -0
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +1 -1
- package/dist/system-prompt.js.map +1 -1
- package/dist/ui/App.d.ts +3 -7
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +17 -105
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/components/ActivityIndicator.d.ts +1 -1
- package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/dist/ui/components/AnimationContext.d.ts +1 -1
- package/dist/ui/components/AnimationContext.d.ts.map +1 -1
- package/dist/ui/components/AssistantMessage.d.ts +1 -1
- package/dist/ui/components/AssistantMessage.d.ts.map +1 -1
- package/dist/ui/components/BackgroundTasksBar.d.ts +1 -2
- package/dist/ui/components/BackgroundTasksBar.d.ts.map +1 -1
- package/dist/ui/components/Banner.d.ts +1 -2
- package/dist/ui/components/Banner.d.ts.map +1 -1
- package/dist/ui/components/ChatFooterPane.d.ts +1 -2
- package/dist/ui/components/ChatFooterPane.d.ts.map +1 -1
- package/dist/ui/components/ChatInputStack.d.ts +1 -1
- package/dist/ui/components/ChatInputStack.d.ts.map +1 -1
- package/dist/ui/components/ChatLayout.d.ts +4 -4
- package/dist/ui/components/ChatLayout.d.ts.map +1 -1
- package/dist/ui/components/ChatLivePane.d.ts +1 -1
- package/dist/ui/components/ChatLivePane.d.ts.map +1 -1
- package/dist/ui/components/ChatScreen.d.ts +1 -2
- package/dist/ui/components/ChatScreen.d.ts.map +1 -1
- package/dist/ui/components/ChatScreen.js +1 -1
- package/dist/ui/components/ChatScreen.js.map +1 -1
- package/dist/ui/components/ChatStatusRow.d.ts +1 -1
- package/dist/ui/components/ChatStatusRow.d.ts.map +1 -1
- package/dist/ui/components/CompactionNotice.d.ts +2 -3
- package/dist/ui/components/CompactionNotice.d.ts.map +1 -1
- package/dist/ui/components/DiffFrame.d.ts +1 -1
- package/dist/ui/components/DiffFrame.d.ts.map +1 -1
- package/dist/ui/components/DiffView.d.ts +1 -2
- package/dist/ui/components/DiffView.d.ts.map +1 -1
- package/dist/ui/components/Footer.d.ts +1 -2
- package/dist/ui/components/Footer.d.ts.map +1 -1
- package/dist/ui/components/FooterStatusRow.d.ts +1 -2
- package/dist/ui/components/FooterStatusRow.d.ts.map +1 -1
- package/dist/ui/components/FullScreenOverlayRouter.d.ts +2 -9
- package/dist/ui/components/FullScreenOverlayRouter.d.ts.map +1 -1
- package/dist/ui/components/FullScreenOverlayRouter.js +1 -5
- package/dist/ui/components/FullScreenOverlayRouter.js.map +1 -1
- package/dist/ui/components/IdealHookMessage.d.ts +1 -1
- package/dist/ui/components/IdealHookMessage.d.ts.map +1 -1
- package/dist/ui/components/InputArea.d.ts +1 -2
- package/dist/ui/components/InputArea.d.ts.map +1 -1
- package/dist/ui/components/InputArea.js +1 -6
- package/dist/ui/components/InputArea.js.map +1 -1
- package/dist/ui/components/LiveToolPanel.d.ts +1 -2
- package/dist/ui/components/LiveToolPanel.d.ts.map +1 -1
- package/dist/ui/components/Markdown.d.ts +2 -2
- package/dist/ui/components/Markdown.d.ts.map +1 -1
- package/dist/ui/components/ModelSelector.d.ts +1 -2
- package/dist/ui/components/ModelSelector.d.ts.map +1 -1
- package/dist/ui/components/Overlay.d.ts +1 -1
- package/dist/ui/components/Overlay.d.ts.map +1 -1
- package/dist/ui/components/PlanApproval.d.ts +1 -2
- package/dist/ui/components/PlanApproval.d.ts.map +1 -1
- package/dist/ui/components/PlanBanner.d.ts +1 -2
- package/dist/ui/components/PlanBanner.d.ts.map +1 -1
- package/dist/ui/components/PlanModeLogo.d.ts +1 -2
- package/dist/ui/components/PlanModeLogo.d.ts.map +1 -1
- package/dist/ui/components/PlanOverlay.d.ts +2 -3
- package/dist/ui/components/PlanOverlay.d.ts.map +1 -1
- package/dist/ui/components/PlanProgress.d.ts +1 -2
- package/dist/ui/components/PlanProgress.d.ts.map +1 -1
- package/dist/ui/components/QueueIndicator.d.ts +1 -2
- package/dist/ui/components/QueueIndicator.d.ts.map +1 -1
- package/dist/ui/components/RewindOverlay.d.ts +1 -2
- package/dist/ui/components/RewindOverlay.d.ts.map +1 -1
- package/dist/ui/components/SelectList.d.ts +1 -2
- package/dist/ui/components/SelectList.d.ts.map +1 -1
- package/dist/ui/components/ServerToolExecution.d.ts +1 -2
- package/dist/ui/components/ServerToolExecution.d.ts.map +1 -1
- package/dist/ui/components/SessionSelector.d.ts +1 -2
- package/dist/ui/components/SessionSelector.d.ts.map +1 -1
- package/dist/ui/components/SessionSummary.d.ts +1 -2
- package/dist/ui/components/SessionSummary.d.ts.map +1 -1
- package/dist/ui/components/SettingsSelector.d.ts +1 -2
- package/dist/ui/components/SettingsSelector.d.ts.map +1 -1
- package/dist/ui/components/SkillsOverlay.d.ts +1 -2
- package/dist/ui/components/SkillsOverlay.d.ts.map +1 -1
- package/dist/ui/components/SlashCommandMenu.d.ts +1 -2
- package/dist/ui/components/SlashCommandMenu.d.ts.map +1 -1
- package/dist/ui/components/SlashStyledSelectList.d.ts +1 -2
- package/dist/ui/components/SlashStyledSelectList.d.ts.map +1 -1
- package/dist/ui/components/Spinner.d.ts +1 -2
- package/dist/ui/components/Spinner.d.ts.map +1 -1
- package/dist/ui/components/StreamingArea.d.ts +1 -1
- package/dist/ui/components/StreamingArea.d.ts.map +1 -1
- package/dist/ui/components/SubAgentPanel.d.ts +1 -2
- package/dist/ui/components/SubAgentPanel.d.ts.map +1 -1
- package/dist/ui/components/TaskPickerMenu.d.ts +1 -2
- package/dist/ui/components/TaskPickerMenu.d.ts.map +1 -1
- package/dist/ui/components/ThemeSelector.d.ts +1 -2
- package/dist/ui/components/ThemeSelector.d.ts.map +1 -1
- package/dist/ui/components/ThinkingBlock.d.ts +1 -1
- package/dist/ui/components/ThinkingBlock.d.ts.map +1 -1
- package/dist/ui/components/ToolExecution.d.ts +1 -2
- package/dist/ui/components/ToolExecution.d.ts.map +1 -1
- package/dist/ui/components/ToolGroupExecution.d.ts +1 -2
- package/dist/ui/components/ToolGroupExecution.d.ts.map +1 -1
- package/dist/ui/components/TranscriptViewport.d.ts +1 -1
- package/dist/ui/components/TranscriptViewport.d.ts.map +1 -1
- package/dist/ui/components/UserMessage.d.ts +1 -2
- package/dist/ui/components/UserMessage.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentLoop.d.ts +1 -1
- package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentLoop.js +1 -3
- package/dist/ui/hooks/useAgentLoop.js.map +1 -1
- package/dist/ui/layout-decisions.d.ts +1 -1
- package/dist/ui/layout-decisions.d.ts.map +1 -1
- package/dist/ui/render.d.ts +4 -12
- package/dist/ui/render.d.ts.map +1 -1
- package/dist/ui/render.js +1 -3
- package/dist/ui/render.js.map +1 -1
- package/dist/ui/transcript/MiscRows.d.ts +7 -8
- package/dist/ui/transcript/MiscRows.d.ts.map +1 -1
- package/dist/ui/transcript/StatusRow.d.ts +1 -1
- package/dist/ui/transcript/StatusRow.d.ts.map +1 -1
- package/dist/ui/transcript/ToolRows.d.ts +6 -7
- package/dist/ui/transcript/ToolRows.d.ts.map +1 -1
- package/dist/ui/transcript/TranscriptItemFrame.d.ts +1 -1
- package/dist/ui/transcript/TranscriptItemFrame.d.ts.map +1 -1
- package/package.json +4 -5
- package/dist/cli/pixel.d.ts +0 -27
- package/dist/cli/pixel.d.ts.map +0 -1
- package/dist/cli/pixel.js +0 -103
- package/dist/cli/pixel.js.map +0 -1
- package/dist/core/pixel-fix-agent.d.ts +0 -24
- package/dist/core/pixel-fix-agent.d.ts.map +0 -1
- package/dist/core/pixel-fix-agent.js +0 -49
- package/dist/core/pixel-fix-agent.js.map +0 -1
- package/dist/core/pixel-fix.d.ts +0 -70
- package/dist/core/pixel-fix.d.ts.map +0 -1
- package/dist/core/pixel-fix.js +0 -338
- package/dist/core/pixel-fix.js.map +0 -1
- package/dist/core/pixel-fix.test.d.ts +0 -2
- package/dist/core/pixel-fix.test.d.ts.map +0 -1
- package/dist/core/pixel-fix.test.js +0 -310
- package/dist/core/pixel-fix.test.js.map +0 -1
- package/dist/core/pixel.d.ts +0 -37
- package/dist/core/pixel.d.ts.map +0 -1
- package/dist/core/pixel.js +0 -378
- package/dist/core/pixel.js.map +0 -1
- package/dist/core/pixel.test.d.ts +0 -2
- package/dist/core/pixel.test.d.ts.map +0 -1
- package/dist/core/pixel.test.js +0 -269
- package/dist/core/pixel.test.js.map +0 -1
- package/dist/ui/components/PixelOverlay.d.ts +0 -12
- package/dist/ui/components/PixelOverlay.d.ts.map +0 -1
- package/dist/ui/components/PixelOverlay.js +0 -117
- package/dist/ui/components/PixelOverlay.js.map +0 -1
- package/dist/ui/hooks/usePixelFixFlow.d.ts +0 -57
- package/dist/ui/hooks/usePixelFixFlow.d.ts.map +0 -1
- package/dist/ui/hooks/usePixelFixFlow.js +0 -102
- package/dist/ui/hooks/usePixelFixFlow.js.map +0 -1
- package/dist/ui/pixel.d.ts +0 -23
- package/dist/ui/pixel.d.ts.map +0 -1
- package/dist/ui/pixel.js +0 -393
- package/dist/ui/pixel.js.map +0 -1
- package/dist/ui/pixel.test.d.ts +0 -2
- package/dist/ui/pixel.test.d.ts.map +0 -1
- package/dist/ui/pixel.test.js +0 -138
- package/dist/ui/pixel.test.js.map +0 -1
package/dist/system-prompt.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Skill } from "./core/skills.js";
|
|
2
2
|
import type { LanguageId } from "./core/language-detector.js";
|
|
3
3
|
import type { Provider } from "@kenkaiiii/gg-ai";
|
|
4
|
+
export declare function collectProjectContext(cwd: string): Promise<string[]>;
|
|
4
5
|
/**
|
|
5
6
|
* Build the system prompt dynamically based on cwd and context.
|
|
6
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA4HjD,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuB1E;AAmBD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,KAAK,EAAE,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,gBAAgB,CAAC,EAAE,MAAM,EACzB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,EAC7B,eAAe,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,EACjC,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
|
package/dist/system-prompt.js
CHANGED
|
@@ -107,7 +107,7 @@ function renderToolsSection(toolNames) {
|
|
|
107
107
|
parts.push(toolLines.join("\n"));
|
|
108
108
|
return parts.length > 0 ? `## Tools\n\n${parts.join("\n\n")}` : null;
|
|
109
109
|
}
|
|
110
|
-
async function collectProjectContext(cwd) {
|
|
110
|
+
export async function collectProjectContext(cwd) {
|
|
111
111
|
const contextParts = [];
|
|
112
112
|
let dir = cwd;
|
|
113
113
|
const visited = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/App.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { type Message, type Provider, type ThinkingLevel } from "@kenkaiiii/gg-ai";
|
|
3
2
|
import type { AgentTool } from "@kenkaiiii/gg-agent";
|
|
4
3
|
import type { ProcessManager } from "../core/process-manager.js";
|
|
@@ -55,8 +54,6 @@ export interface AppProps {
|
|
|
55
54
|
skills?: Skill[];
|
|
56
55
|
/** Per-session file checkpoint store backing the /rewind command. */
|
|
57
56
|
checkpointStore?: CheckpointStore;
|
|
58
|
-
initialOverlay?: "pixel";
|
|
59
|
-
rebuildToolsForCwd?: (cwd: string) => Promise<AgentTool[]>;
|
|
60
57
|
/** Rebuild the `read` tool for a model (reuses the read tracker). Used on
|
|
61
58
|
* model switch so the tool's video capability tracks the active model. */
|
|
62
59
|
rebuildReadTool?: (model: string) => AgentTool;
|
|
@@ -97,7 +94,7 @@ export interface AppProps {
|
|
|
97
94
|
* a full unmount/remount is the only consistent reset.
|
|
98
95
|
*
|
|
99
96
|
* Used by every path that previously did a bare ANSI screen clear:
|
|
100
|
-
* `/clear`, plan accept/reject, overlay open/close
|
|
97
|
+
* `/clear`, plan accept/reject, overlay open/close.
|
|
101
98
|
*
|
|
102
99
|
* Runtime state (model, provider, thinking) survives via
|
|
103
100
|
* `onRuntimeStateChange`; conversation/session state survives via
|
|
@@ -146,7 +143,7 @@ export interface AppProps {
|
|
|
146
143
|
sessionId?: string;
|
|
147
144
|
sessionTitle?: string;
|
|
148
145
|
sessionTitleGenerated: boolean;
|
|
149
|
-
overlay?: "model" | "skills" | "plan" | "theme" |
|
|
146
|
+
overlay?: "model" | "skills" | "plan" | "theme" | null;
|
|
150
147
|
planAutoExpand?: boolean;
|
|
151
148
|
pendingAction?: {
|
|
152
149
|
prompt: string;
|
|
@@ -159,11 +156,10 @@ export interface AppProps {
|
|
|
159
156
|
isAgentRunning?: boolean;
|
|
160
157
|
pendingResetUI?: boolean;
|
|
161
158
|
runAllTasks?: boolean;
|
|
162
|
-
runAllPixel?: boolean;
|
|
163
159
|
planMode?: boolean;
|
|
164
160
|
sessionStats?: SessionStats;
|
|
165
161
|
idealReviewEnabled?: boolean;
|
|
166
162
|
};
|
|
167
163
|
}
|
|
168
|
-
export declare function App(props: AppProps):
|
|
164
|
+
export declare function App(props: AppProps): import("react/jsx-runtime").JSX.Element;
|
|
169
165
|
//# sourceMappingURL=App.d.ts.map
|
package/dist/ui/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
|
package/dist/ui/App.js
CHANGED
|
@@ -7,7 +7,6 @@ import { useTaskPickerController } from "./hooks/useTaskPickerController.js";
|
|
|
7
7
|
import { useModeState } from "./hooks/useModeState.js";
|
|
8
8
|
import { useSessionPersistence } from "./hooks/useSessionPersistence.js";
|
|
9
9
|
import { useContextCompaction } from "./hooks/useContextCompaction.js";
|
|
10
|
-
import { usePixelFixFlow } from "./hooks/usePixelFixFlow.js";
|
|
11
10
|
import { useDoublePress } from "./hooks/useDoublePress.js";
|
|
12
11
|
import { useTaskBarStore, useTaskBarPolling, focusTaskBar, exitTaskBar, expandTaskBar, collapseTaskBar, navigateTaskBar, killTask, } from "./stores/taskbar-store.js";
|
|
13
12
|
import { playNotificationSound } from "../utils/sound.js";
|
|
@@ -43,7 +42,7 @@ import { getNextPendingTask, markTaskInProgress } from "../core/tasks-store.js";
|
|
|
43
42
|
import { buildUserContentWithAttachments } from "./prompt-routing.js";
|
|
44
43
|
import { submitPromptCommand } from "./submit-prompt-command.js";
|
|
45
44
|
import { handleUiSlashCommand } from "./submit-slash-commands.js";
|
|
46
|
-
import { buildIdealReviewMessage, evaluateIdealReview } from "../core/ideal-review.js";
|
|
45
|
+
import { buildIdealReviewMessage, evaluateIdealReview, detectTestDrift, } from "../core/ideal-review.js";
|
|
47
46
|
import { buildLoopBreakMessage, evaluateLoopBreak } from "../core/loop-breaker.js";
|
|
48
47
|
import { buildRegroundingMessage } from "../core/regrounding.js";
|
|
49
48
|
import { getNextThinkingLevel, isThinkingLevelSupported } from "./thinking-level.js";
|
|
@@ -143,9 +142,8 @@ export function App(props) {
|
|
|
143
142
|
// separate from `liveItems` (the scrollback record) so tool calls mutate in
|
|
144
143
|
// place above the activity bar instead of spamming the transcript.
|
|
145
144
|
const [liveToolFeed, setLiveToolFeed] = useState([]);
|
|
146
|
-
// overlay seeded from sessionStore (lives across remount)
|
|
147
|
-
|
|
148
|
-
const [overlay, setOverlay] = useState(props.sessionStore?.overlay ?? props.initialOverlay ?? null);
|
|
145
|
+
// overlay seeded from sessionStore (lives across remount), then null.
|
|
146
|
+
const [overlay, setOverlay] = useState(props.sessionStore?.overlay ?? null);
|
|
149
147
|
const [updatePending, setUpdatePending] = useState(() => getPendingUpdate(props.version) !== null);
|
|
150
148
|
// Signal that pushes text into the InputArea composer (e.g. restoring queued
|
|
151
149
|
// messages after an interrupt). Bumping `nonce` triggers the injection even
|
|
@@ -155,11 +153,9 @@ export function App(props) {
|
|
|
155
153
|
const [runAllTasks, setRunAllTasks] = useState(props.sessionStore?.runAllTasks ?? false);
|
|
156
154
|
const runAllTasksRef = useRef(props.sessionStore?.runAllTasks ?? false);
|
|
157
155
|
const startTaskRef = useRef(() => { });
|
|
158
|
-
const runAllPixelRef = useRef(props.sessionStore?.runAllPixel ?? false);
|
|
159
|
-
const currentPixelFixRef = useRef(null);
|
|
160
|
-
const startPixelFixRef = useRef(() => { });
|
|
161
156
|
const cwdRef = useRef(props.cwd);
|
|
162
|
-
|
|
157
|
+
// The project root is fixed for the session's lifetime, so this never changes.
|
|
158
|
+
const displayedCwd = props.cwd;
|
|
163
159
|
// /rewind overlay: holds the checkpoint list while the picker is open.
|
|
164
160
|
const [rewindCheckpoints, setRewindCheckpoints] = useState(null);
|
|
165
161
|
// Monotonic user-turn counter keying per-turn checkpoints.
|
|
@@ -214,7 +210,7 @@ export function App(props) {
|
|
|
214
210
|
/**
|
|
215
211
|
* Languages whose style packs are currently injected into the system prompt.
|
|
216
212
|
* Grown by `maybeInjectLanguagePacks` after `write`/`bash` tool results when
|
|
217
|
-
* the language detector sees new marker files.
|
|
213
|
+
* the language detector sees new marker files.
|
|
218
214
|
* Only grows within a session; we never strip packs once injected (cheaper
|
|
219
215
|
* than invalidating prompt caching, and stale guidance is harmless).
|
|
220
216
|
*/
|
|
@@ -362,8 +358,7 @@ export function App(props) {
|
|
|
362
358
|
const activeProjectId = currentCreds?.projectId ?? props.projectId;
|
|
363
359
|
const activeBaseUrl = currentProvider === "gemini" ? undefined : (currentCreds?.baseUrl ?? props.baseUrl);
|
|
364
360
|
const contextWindowOptions = useMemo(() => ({ provider: currentProvider, accountId: activeAccountId }), [currentProvider, activeAccountId]);
|
|
365
|
-
// Load git branch — re-runs whenever the displayed cwd changes
|
|
366
|
-
// a pixel fix moves the agent into a different project root).
|
|
361
|
+
// Load git branch — re-runs whenever the displayed cwd changes.
|
|
367
362
|
useEffect(() => {
|
|
368
363
|
getGitBranch(displayedCwd).then(setGitBranch);
|
|
369
364
|
}, [displayedCwd]);
|
|
@@ -513,8 +508,7 @@ export function App(props) {
|
|
|
513
508
|
* tools that can introduce new marker files (package.json, Cargo.toml, etc.).
|
|
514
509
|
* Other tool kinds skip detection entirely to avoid wasted filesystem stats.
|
|
515
510
|
*
|
|
516
|
-
* No restart required: the system prompt is mutated in place
|
|
517
|
-
* used for pixel-fix chdir.
|
|
511
|
+
* No restart required: the system prompt is mutated in place.
|
|
518
512
|
*
|
|
519
513
|
* Stored in a ref so `onToolEnd` (whose useCallback dep array is intentionally
|
|
520
514
|
* empty to keep agent-loop options stable) can call the freshest version.
|
|
@@ -597,21 +591,25 @@ export function App(props) {
|
|
|
597
591
|
projectId: activeProjectId,
|
|
598
592
|
resolveCredentials,
|
|
599
593
|
transformContext,
|
|
600
|
-
getIdealReviewMessage: (stats) => {
|
|
594
|
+
getIdealReviewMessage: (stats, touchedFiles) => {
|
|
601
595
|
if (!idealReviewEnabledRef.current)
|
|
602
596
|
return null;
|
|
603
597
|
const decision = evaluateIdealReview(stats);
|
|
604
|
-
|
|
598
|
+
// Test drift fires the review even when the volume score is too low to
|
|
599
|
+
// trigger on its own \u2014 a stale sibling test is invisible to typecheck.
|
|
600
|
+
const driftedFiles = detectTestDrift(touchedFiles, process.cwd()).slice(0, 5);
|
|
601
|
+
if (!decision.shouldReview && driftedFiles.length === 0)
|
|
605
602
|
return null;
|
|
606
603
|
log("INFO", "ideal", "Injecting ideal review before final response", {
|
|
607
604
|
score: String(decision.score),
|
|
608
605
|
reasons: decision.reasons.join(", "),
|
|
606
|
+
testDrift: driftedFiles.join(", "),
|
|
609
607
|
});
|
|
610
608
|
setLiveItems((prev) => [
|
|
611
609
|
...prev,
|
|
612
610
|
{ kind: "ideal_hook", text: IDEAL_HOOK_NOTICE_TEXT, tone: "review", id: getId() },
|
|
613
611
|
]);
|
|
614
|
-
return buildIdealReviewMessage(decision.reasons);
|
|
612
|
+
return buildIdealReviewMessage(decision.reasons, driftedFiles);
|
|
615
613
|
},
|
|
616
614
|
getLoopBreakMessage: (stats) => {
|
|
617
615
|
if (!idealReviewEnabledRef.current)
|
|
@@ -1252,46 +1250,9 @@ export function App(props) {
|
|
|
1252
1250
|
}
|
|
1253
1251
|
}, 500);
|
|
1254
1252
|
}
|
|
1255
|
-
// Pixel fix: observe branch + commits, patch status, optionally pick
|
|
1256
|
-
// up the next open error if run-all is active.
|
|
1257
|
-
const pendingFix = currentPixelFixRef.current;
|
|
1258
|
-
if (pendingFix) {
|
|
1259
|
-
currentPixelFixRef.current = null;
|
|
1260
|
-
void (async () => {
|
|
1261
|
-
try {
|
|
1262
|
-
const { finalizePixelFix } = await import("../core/pixel-fix.js");
|
|
1263
|
-
const result = await finalizePixelFix(pendingFix);
|
|
1264
|
-
log("INFO", "pixel", `Pixel fix done: ${result.outcome}`, {
|
|
1265
|
-
errorId: pendingFix.errorId,
|
|
1266
|
-
reason: result.reason,
|
|
1267
|
-
});
|
|
1268
|
-
}
|
|
1269
|
-
catch (err) {
|
|
1270
|
-
log("ERROR", "pixel", `Pixel finalize failed: ${err.message}`);
|
|
1271
|
-
}
|
|
1272
|
-
if (runAllPixelRef.current) {
|
|
1273
|
-
setTimeout(() => {
|
|
1274
|
-
void (async () => {
|
|
1275
|
-
const { fetchPixelEntries } = await import("../core/pixel.js");
|
|
1276
|
-
const data = await fetchPixelEntries();
|
|
1277
|
-
const next = data.entries.find((e) => e.status === "open");
|
|
1278
|
-
if (next) {
|
|
1279
|
-
startPixelFixRef.current(next.errorId);
|
|
1280
|
-
}
|
|
1281
|
-
else {
|
|
1282
|
-
setRunAllPixel(false);
|
|
1283
|
-
log("INFO", "pixel", "Run-all complete — no more open errors");
|
|
1284
|
-
}
|
|
1285
|
-
})();
|
|
1286
|
-
}, 500);
|
|
1287
|
-
}
|
|
1288
|
-
})();
|
|
1289
|
-
}
|
|
1290
1253
|
}, []),
|
|
1291
1254
|
onAborted: useCallback(() => {
|
|
1292
1255
|
log("WARN", "agent", "Agent run aborted by user");
|
|
1293
|
-
setRunAllPixel(false);
|
|
1294
|
-
currentPixelFixRef.current = null;
|
|
1295
1256
|
setDoneStatus(null);
|
|
1296
1257
|
setLiveItems((prev) => {
|
|
1297
1258
|
const next = prev.map((item) => {
|
|
@@ -2082,35 +2043,6 @@ export function App(props) {
|
|
|
2082
2043
|
useEffect(() => {
|
|
2083
2044
|
agentRunningRef.current = agentLoop.isRunning;
|
|
2084
2045
|
}, [agentLoop.isRunning]);
|
|
2085
|
-
const { startPixelFix, setRunAllPixel } = usePixelFixFlow({
|
|
2086
|
-
agentLoop,
|
|
2087
|
-
cwd: props.cwd,
|
|
2088
|
-
currentProvider,
|
|
2089
|
-
currentModel,
|
|
2090
|
-
rebuildToolsForCwd: props.rebuildToolsForCwd,
|
|
2091
|
-
sessionStore: props.sessionStore,
|
|
2092
|
-
currentPixelFixRef,
|
|
2093
|
-
runAllPixelRef,
|
|
2094
|
-
startPixelFixRef,
|
|
2095
|
-
cwdRef,
|
|
2096
|
-
currentToolsRef,
|
|
2097
|
-
injectedLanguagesRef,
|
|
2098
|
-
setupHintShownRef,
|
|
2099
|
-
messagesRef,
|
|
2100
|
-
persistedIndexRef,
|
|
2101
|
-
sessionManagerRef,
|
|
2102
|
-
sessionPathRef,
|
|
2103
|
-
setDisplayedCwd,
|
|
2104
|
-
setCurrentTools,
|
|
2105
|
-
setHistory,
|
|
2106
|
-
setLiveItems,
|
|
2107
|
-
setLastUserMessage,
|
|
2108
|
-
setDoneStatus,
|
|
2109
|
-
rebuildSystemPrompt,
|
|
2110
|
-
clearPendingHistory,
|
|
2111
|
-
getId,
|
|
2112
|
-
initialRunAllPixel: props.sessionStore?.runAllPixel ?? false,
|
|
2113
|
-
});
|
|
2114
2046
|
// Starts a single task: opens a fresh session + chat and runs the task
|
|
2115
2047
|
// prompt through the agent loop. Wired into startTaskRef so both the task
|
|
2116
2048
|
// picker (Enter = start one, r = run all) and the run-all auto-advance in
|
|
@@ -2210,7 +2142,6 @@ export function App(props) {
|
|
|
2210
2142
|
useEffect(() => {
|
|
2211
2143
|
liveLayoutRef.current = { columns, liveAreaRows: measuredLiveAreaRows };
|
|
2212
2144
|
}, [columns, measuredLiveAreaRows]);
|
|
2213
|
-
const isPixelView = overlay === "pixel";
|
|
2214
2145
|
const hasLiveAssistantItem = liveItems.some((item) => item.kind === "assistant");
|
|
2215
2146
|
const rawVisibleStreamingText = hasLiveAssistantItem ? "" : agentLoop.streamingText;
|
|
2216
2147
|
// The live text is sliced by the COMMITTED `flushedChars` only. When the
|
|
@@ -2520,18 +2451,6 @@ export function App(props) {
|
|
|
2520
2451
|
setPlanAutoExpand(false);
|
|
2521
2452
|
setOverlay(null);
|
|
2522
2453
|
};
|
|
2523
|
-
const handlePixelFixOne = (entry) => {
|
|
2524
|
-
setOverlay(null);
|
|
2525
|
-
startPixelFix(entry.errorId);
|
|
2526
|
-
};
|
|
2527
|
-
const handlePixelFixAll = (entries) => {
|
|
2528
|
-
const first = entries.find((entry) => entry.status === "open") ?? entries[0];
|
|
2529
|
-
if (!first)
|
|
2530
|
-
return;
|
|
2531
|
-
setOverlay(null);
|
|
2532
|
-
setRunAllPixel(true);
|
|
2533
|
-
startPixelFix(first.errorId);
|
|
2534
|
-
};
|
|
2535
2454
|
const handleApprovePlan = (planPath) => {
|
|
2536
2455
|
log("INFO", "plan", "Plan approved — transitioning to implementation", {
|
|
2537
2456
|
planPath,
|
|
@@ -2640,17 +2559,11 @@ export function App(props) {
|
|
|
2640
2559
|
const handleToggleTasks = () => {
|
|
2641
2560
|
taskPicker.toggle();
|
|
2642
2561
|
};
|
|
2643
|
-
const fullScreenOverlay =
|
|
2644
|
-
? "pixel"
|
|
2645
|
-
: isSkillsView
|
|
2646
|
-
? "skills"
|
|
2647
|
-
: isPlanView
|
|
2648
|
-
? "plan"
|
|
2649
|
-
: null;
|
|
2562
|
+
const fullScreenOverlay = isSkillsView ? "skills" : isPlanView ? "plan" : null;
|
|
2650
2563
|
if (quittingSummary) {
|
|
2651
2564
|
return (_jsx(Box, { flexDirection: "column", width: columns, flexShrink: 0, flexGrow: 0, children: _jsx(SessionSummaryDisplay, { summary: quittingSummary }) }));
|
|
2652
2565
|
}
|
|
2653
|
-
return (_jsx(Box, { flexDirection: "column", width: columns, flexShrink: 0, flexGrow: 0, children: rewindCheckpoints ? (_jsx(RewindOverlay, { checkpoints: rewindCheckpoints, onRestore: handleRewindRestore, onCancel: handleRewindCancel })) : fullScreenOverlay ? (_jsx(FullScreenOverlayRouter, { overlay: fullScreenOverlay,
|
|
2566
|
+
return (_jsx(Box, { flexDirection: "column", width: columns, flexShrink: 0, flexGrow: 0, children: rewindCheckpoints ? (_jsx(RewindOverlay, { checkpoints: rewindCheckpoints, onRestore: handleRewindRestore, onCancel: handleRewindCancel })) : fullScreenOverlay ? (_jsx(FullScreenOverlayRouter, { overlay: fullScreenOverlay, cwd: props.cwd, planAutoExpand: planAutoExpand, onCloseSkills: handleCloseRemountableOverlay, onClosePlan: handleClosePlanOverlay, onApprovePlan: handleApprovePlan, onRejectPlan: handleRejectPlan })) : (_jsx(ChatScreen, { columns: columns, liveItems: uniqueItemsById(liveItems), renderItem: renderItem, isRunning: agentLoop.isRunning, visibleStreamingText: visibleStreamingText, streamingThinking: agentLoop.streamingThinking, thinkingMs: agentLoop.thinkingMs, reserveStreamingSpacing: shouldReserveStreamingSpacing, renderMarkdown: renderMarkdown, measuredLiveAreaRows: measuredLiveAreaRows, fullscreen: props.fullscreen, rows: rows, transcriptLines: transcriptLines, viewportRows: viewportRows, assistantMarginTop: shouldTopSpaceStreamingText || streamingContinuesFlushed ? 1 : 0, streamingContinuation: streamingContinuesFlushed, controlsRef: mainControlsRef, hiddenQueuedCount: hiddenQueuedCount, queueIndicatorMarginTop: shouldTopSpaceQueueIndicator ? 2 : 1, theme: theme, statusSlotVisible: statusSlotVisible, activityVisible: activityVisible, stallStatusVisible: stallStatusVisible, liveToolFeed: liveToolFeed, doneStatus: doneStatus, activityPhase: agentLoop.activityPhase, elapsedMs: agentLoop.elapsedMs, runStartRef: agentLoop.runStartRef, isThinking: agentLoop.isThinking, thinkingLevel: thinkingLevel, tokenEstimate: agentLoop.streamedTokenEstimate, charCountRef: agentLoop.charCountRef, realTokensAccumRef: agentLoop.realTokensAccumRef, lastUserMessage: lastUserMessage, activeToolNames: agentLoop.activeToolCalls.map((tc) => tc.name), retryInfo: agentLoop.retryInfo, planDone: planSteps.filter((s) => s.completed).length, planTotal: planSteps.length, formatDuration: formatDuration, inputControls: {
|
|
2654
2567
|
onSubmit: handleSubmit,
|
|
2655
2568
|
onAbort: handleAbort,
|
|
2656
2569
|
injectText: composerInject,
|
|
@@ -2659,7 +2572,6 @@ export function App(props) {
|
|
|
2659
2572
|
onShiftTab: handleToggleThinking,
|
|
2660
2573
|
onToggleTasks: handleToggleTasks,
|
|
2661
2574
|
onToggleSkills: () => openOverlay("skills"),
|
|
2662
|
-
onTogglePixel: () => openOverlay("pixel"),
|
|
2663
2575
|
onToggleMarkdown: () => setRenderMarkdown((prev) => !prev),
|
|
2664
2576
|
cwd: props.cwd,
|
|
2665
2577
|
commands: allCommands,
|