@kenkaiiii/ggcoder 4.10.0 → 4.10.2
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.d.ts +2 -0
- package/dist/app-sidecar.d.ts.map +1 -0
- package/dist/app-sidecar.js +848 -0
- package/dist/app-sidecar.js.map +1 -0
- package/dist/core/agent-session.d.ts +94 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +313 -1
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-providers.d.ts +18 -0
- package/dist/core/auth-providers.d.ts.map +1 -0
- package/dist/core/auth-providers.js +71 -0
- package/dist/core/auth-providers.js.map +1 -0
- package/dist/core/event-bus.d.ts +5 -0
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js +1 -0
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/project-discovery.d.ts +41 -0
- package/dist/core/project-discovery.d.ts.map +1 -0
- package/dist/core/project-discovery.js +439 -0
- package/dist/core/project-discovery.js.map +1 -0
- package/dist/core/session-manager.d.ts +2 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +6 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-manager.test.js +17 -0
- package/dist/core/session-manager.test.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +13 -6
- package/dist/session.js.map +1 -1
- package/dist/tools/tasks.d.ts +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +54 -0
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/anchor-pad-reclaim.test.js +59 -0
- package/dist/ui/anchor-pad-reclaim.test.js.map +1 -1
- package/dist/ui/app-items.d.ts +14 -0
- package/dist/ui/app-items.d.ts.map +1 -1
- package/dist/ui/app-items.js +13 -0
- package/dist/ui/app-items.js.map +1 -1
- package/dist/ui/app-items.test.js +17 -1
- package/dist/ui/app-items.test.js.map +1 -1
- package/dist/ui/hooks/useTranscriptHistory.d.ts +2 -0
- package/dist/ui/hooks/useTranscriptHistory.d.ts.map +1 -1
- package/dist/ui/hooks/useTranscriptHistory.js +3 -2
- package/dist/ui/hooks/useTranscriptHistory.js.map +1 -1
- package/dist/ui/render.d.ts.map +1 -1
- package/dist/ui/render.js +69 -7
- package/dist/ui/render.js.map +1 -1
- package/dist/ui/submit-boundary-gap.test.d.ts +2 -0
- package/dist/ui/submit-boundary-gap.test.d.ts.map +1 -0
- package/dist/ui/submit-boundary-gap.test.js +180 -0
- package/dist/ui/submit-boundary-gap.test.js.map +1 -0
- package/dist/ui/terminal-history-repaint.test.d.ts +2 -0
- package/dist/ui/terminal-history-repaint.test.d.ts.map +1 -0
- package/dist/ui/terminal-history-repaint.test.js +73 -0
- package/dist/ui/terminal-history-repaint.test.js.map +1 -0
- package/dist/ui/terminal-history.d.ts +1 -0
- package/dist/ui/terminal-history.d.ts.map +1 -1
- package/dist/ui/terminal-history.js +31 -2
- package/dist/ui/terminal-history.js.map +1 -1
- package/package.json +5 -5
package/dist/ui/app-items.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-items.js","sourceRoot":"","sources":["../../src/ui/app-items.ts"],"names":[],"mappings":"AAoGA,MAAM,CAAC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAEzE,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,2DAA2D,CAAC;AAElG,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GACjC,mEAAmE,CAAC;AAEtE,iFAAiF;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAClC,uEAAuE,CAAC;AAY1E;gEACgE;AAChE,MAAM,CAAC,MAAM,eAAe,GAA0D;IACpF,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;CAChB,CAAC;AAsJF;;;;;;;;;;;GAWG;AACH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS;IAChD,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;CACnB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAGvC;IACC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAEvC,KAAmB;IACnB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"app-items.js","sourceRoot":"","sources":["../../src/ui/app-items.ts"],"names":[],"mappings":"AAoGA,MAAM,CAAC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAEzE,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,2DAA2D,CAAC;AAElG,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GACjC,mEAAmE,CAAC;AAEtE,iFAAiF;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAClC,uEAAuE,CAAC;AAY1E;gEACgE;AAChE,MAAM,CAAC,MAAM,eAAe,GAA0D;IACpF,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;CAChB,CAAC;AAsJF;;;;;;;;;;;GAWG;AACH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS;IAChD,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;CACnB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAGvC;IACC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAEvC,KAAmB;IACnB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAgCD;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAGpC;IACC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { lastVisibleTranscriptItem } from "./app-items.js";
|
|
2
|
+
import { lastVisibleTranscriptItem, itemHasImagePreviews } from "./app-items.js";
|
|
3
3
|
describe("lastVisibleTranscriptItem", () => {
|
|
4
4
|
it("returns the last item when nothing is panel-replaced", () => {
|
|
5
5
|
const items = [
|
|
@@ -35,4 +35,20 @@ describe("lastVisibleTranscriptItem", () => {
|
|
|
35
35
|
expect(lastVisibleTranscriptItem([])).toBeUndefined();
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
|
+
describe("itemHasImagePreviews", () => {
|
|
39
|
+
it("is true for items carrying image previews", () => {
|
|
40
|
+
expect(itemHasImagePreviews({ kind: "user", imagePreviews: [{ base64: "AAAA" }] })).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
it("is false for items with no previews or an empty list", () => {
|
|
43
|
+
expect(itemHasImagePreviews({ kind: "assistant" })).toBe(false);
|
|
44
|
+
expect(itemHasImagePreviews({ kind: "tool_done", imagePreviews: [] })).toBe(false);
|
|
45
|
+
});
|
|
46
|
+
it("detects an image anywhere in a transcript via some()", () => {
|
|
47
|
+
const history = [
|
|
48
|
+
{ kind: "assistant", imagePreviews: undefined },
|
|
49
|
+
{ kind: "user", imagePreviews: [{ base64: "x" }] },
|
|
50
|
+
];
|
|
51
|
+
expect(history.some(itemHasImagePreviews)).toBe(true);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
38
54
|
//# sourceMappingURL=app-items.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-items.test.js","sourceRoot":"","sources":["../../src/ui/app-items.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"app-items.test.js","sourceRoot":"","sources":["../../src/ui/app-items.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ interface TranscriptHistoryPrinter<TItem extends TranscriptHistoryItem> {
|
|
|
13
13
|
print(items: readonly TItem[], context: TerminalHistoryContext, options?: {
|
|
14
14
|
force?: boolean;
|
|
15
15
|
write?: (data: string) => void;
|
|
16
|
+
reason?: string;
|
|
16
17
|
}): void;
|
|
17
18
|
clear(): void;
|
|
18
19
|
}
|
|
@@ -46,6 +47,7 @@ export interface UseTranscriptHistoryResult<TItem extends TranscriptHistoryItem>
|
|
|
46
47
|
}>;
|
|
47
48
|
printHistoryItems: (items: readonly TItem[], options?: {
|
|
48
49
|
force?: boolean;
|
|
50
|
+
reason?: string;
|
|
49
51
|
}) => void;
|
|
50
52
|
queueFlush: (items: TItem[]) => void;
|
|
51
53
|
finalizeSubmittedUserItem: (item: TItem, deferredLiveItems?: readonly TItem[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTranscriptHistory.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useTranscriptHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,UAAU,qBAAqB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,gBAAgB,CAAC,KAAK,SAAS,qBAAqB;IAC5D,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;CACrB;AAED,UAAU,wBAAwB,CAAC,KAAK,SAAS,qBAAqB;IACpE,KAAK,CACH,KAAK,EAAE,SAAS,KAAK,EAAE,EACvB,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,
|
|
1
|
+
{"version":3,"file":"useTranscriptHistory.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useTranscriptHistory.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export function useTranscriptHistory({ terminalHistoryPrinter, terminalHistoryCo
|
|
|
19
19
|
if (!terminalHistoryPrinter || items.length === 0)
|
|
20
20
|
return;
|
|
21
21
|
terminalHistoryPrinter.print(items, terminalHistoryContextRef.current, {
|
|
22
|
+
reason: options?.reason ?? "print",
|
|
22
23
|
...options,
|
|
23
24
|
write: enqueueStdout ?? writeStdout,
|
|
24
25
|
});
|
|
@@ -33,7 +34,7 @@ export function useTranscriptHistory({ terminalHistoryPrinter, terminalHistoryCo
|
|
|
33
34
|
// terminal write), so the bytes ride the very next frame write — the one
|
|
34
35
|
// produced by the batched setLiveItems/generation updates below, which is
|
|
35
36
|
// also the write that shrinks the live frame. One write = no footer jump.
|
|
36
|
-
printHistoryItems(flushed);
|
|
37
|
+
printHistoryItems(flushed, { reason: "flush" });
|
|
37
38
|
const sessionPath = sessionPathRef.current;
|
|
38
39
|
const sessionManager = sessionManagerRef.current;
|
|
39
40
|
if (sessionPath && sessionManager) {
|
|
@@ -90,7 +91,7 @@ export function useTranscriptHistory({ terminalHistoryPrinter, terminalHistoryCo
|
|
|
90
91
|
trimFlushItems,
|
|
91
92
|
]);
|
|
92
93
|
useEffect(() => {
|
|
93
|
-
printHistoryItems(history);
|
|
94
|
+
printHistoryItems(history, { reason: "history-effect" });
|
|
94
95
|
}, [history, printHistoryItems]);
|
|
95
96
|
useLayoutEffect(() => {
|
|
96
97
|
// Printing and live-row removal already happened synchronously inside
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTranscriptHistory.js","sourceRoot":"","sources":["../../../src/ui/hooks/useTranscriptHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAuB,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAuDzD,MAAM,UAAU,oBAAoB,CAAsD,EACxF,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,UAAU,EACV,YAAY,EACZ,mBAAmB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAwB,CAAY,EACpF,kBAAkB,EAClB,cAAc,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAwB,CAAY,GAC9C;IACnC,MAAM,yBAAyB,GAAG,MAAM,CAAyB,sBAAsB,CAAC,CAAC;IACzF,MAAM,sBAAsB,GAAG,MAAM,CAAU,EAAE,CAAC,CAAC;IACnD,MAAM,sBAAsB,GAAG,MAAM,CAAU,EAAE,CAAC,CAAC;IACnD,MAAM,0BAA0B,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAClE,MAAM,yBAAyB,GAAG,MAAM,CAAyC;QAC/E,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IACH,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,yBAAyB,CAAC,OAAO,GAAG,sBAAsB,CAAC;IAC7D,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE7B,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,KAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"useTranscriptHistory.js","sourceRoot":"","sources":["../../../src/ui/hooks/useTranscriptHistory.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/render.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import wrapAnsi from "wrap-ansi";
|
|
3
|
+
import { log } from "@kenkaiiii/gg-core";
|
|
3
4
|
import { render } from "ink";
|
|
4
5
|
import { App } from "./App.js";
|
|
6
|
+
import { itemHasImagePreviews } from "./app-items.js";
|
|
5
7
|
import { createTerminalHistoryPrinter } from "./terminal-history.js";
|
|
6
8
|
import { ThemeContext, SetThemeContext, loadTheme } from "./theme/theme.js";
|
|
7
9
|
import { detectTheme } from "./theme/detect-theme.js";
|
|
@@ -262,10 +264,37 @@ export async function renderApp(config) {
|
|
|
262
264
|
// and paints them into the vacated space, restoring the pre-menu screen
|
|
263
265
|
// exactly. Serializes from sessionStore.history with a throwaway printer
|
|
264
266
|
// (force: dedup state must not be touched); called rarely (menu close).
|
|
267
|
+
//
|
|
268
|
+
// DISABLED BY DEFAULT. This repaint reconstructs the physical screen by
|
|
269
|
+
// RE-SERIALIZING history (markdown re-render + wrapAnsi). When a row's visual
|
|
270
|
+
// width diverges between that reconstruction and the terminal — wide emoji
|
|
271
|
+
// (✅), bold/italic markdown, CJK — the rebuilt row count disagrees with
|
|
272
|
+
// ink's `needRows`/`linesAboveFrame` math, so the `eraseDown + backfillText`
|
|
273
|
+
// repaint OVERLAPS still-present rows (duplicate lines) or pads short with
|
|
274
|
+
// blank rows (injected whitespace). It fires on nearly every turn. Without a
|
|
275
|
+
// provider installed, ink falls back to a cursor-up pad-consume that never
|
|
276
|
+
// repaints content — eliminating both failure modes. Opt back in (to debug or
|
|
277
|
+
// revisit) with GG_SHRINK_BACKFILL=1.
|
|
278
|
+
const shrinkBackfillEnabled = process.env.GG_SHRINK_BACKFILL === "1";
|
|
265
279
|
const buildShrinkBackfill = (needRows) => {
|
|
266
280
|
const history = sessionStore.history;
|
|
267
281
|
if (needRows <= 0 || !history || history.length === 0)
|
|
268
282
|
return undefined;
|
|
283
|
+
log("INFO", "scrollback", "shrink-backfill invoked", {
|
|
284
|
+
needRows,
|
|
285
|
+
historyItems: history.length,
|
|
286
|
+
});
|
|
287
|
+
// Inline images can't be faithfully reconstructed by this text-only repaint:
|
|
288
|
+
// a graphics escape carries its base64 payload with zero newlines but many
|
|
289
|
+
// visual rows, so wrapAnsi hard-wraps the payload into literal base64 text
|
|
290
|
+
// and the rebuilt row count never matches the screen. Bailing here makes ink
|
|
291
|
+
// fall back to its non-erasing cursor-up pad consume, which reclaims the gap
|
|
292
|
+
// WITHOUT an eraseDown repaint — leaving the already-drawn image untouched on
|
|
293
|
+
// screen instead of wiping it or shoving the transcript out of alignment.
|
|
294
|
+
if (history.some(itemHasImagePreviews)) {
|
|
295
|
+
log("INFO", "scrollback", "shrink-backfill bail", { reason: "image-previews" });
|
|
296
|
+
return undefined;
|
|
297
|
+
}
|
|
269
298
|
let collected = "";
|
|
270
299
|
try {
|
|
271
300
|
createTerminalHistoryPrinter().print(history, {
|
|
@@ -277,6 +306,7 @@ export async function renderApp(config) {
|
|
|
277
306
|
cwd: config.cwd,
|
|
278
307
|
}, {
|
|
279
308
|
force: true,
|
|
309
|
+
reason: "shrink-backfill",
|
|
280
310
|
write: (data) => {
|
|
281
311
|
collected += data;
|
|
282
312
|
},
|
|
@@ -289,11 +319,25 @@ export async function renderApp(config) {
|
|
|
289
319
|
return undefined;
|
|
290
320
|
const columnsNow = Math.max(40, process.stdout.columns ?? 80);
|
|
291
321
|
const wrapped = wrapAnsi(collected.replace(/\n$/, ""), columnsNow, { trim: false, hard: true });
|
|
292
|
-
const
|
|
322
|
+
const allRows = wrapped.split("\n");
|
|
323
|
+
const lines = allRows.slice(-needRows);
|
|
293
324
|
// Transcript shorter than the vacated space: blank-fill the top so the
|
|
294
|
-
// row count still matches and the footer stays put.
|
|
295
|
-
|
|
325
|
+
// row count still matches and the footer stays put. Each blank line here
|
|
326
|
+
// is a row of on-screen whitespace injected above the transcript tail —
|
|
327
|
+
// logging blankPad surfaces the "random whitespace" symptom directly.
|
|
328
|
+
const tailRows = lines.length;
|
|
329
|
+
let blankPad = 0;
|
|
330
|
+
while (lines.length < needRows) {
|
|
296
331
|
lines.unshift("");
|
|
332
|
+
blankPad++;
|
|
333
|
+
}
|
|
334
|
+
log("INFO", "scrollback", "shrink-backfill built", {
|
|
335
|
+
needRows,
|
|
336
|
+
reconstructedRows: allRows.length,
|
|
337
|
+
tailRows,
|
|
338
|
+
blankPad,
|
|
339
|
+
columns: columnsNow,
|
|
340
|
+
});
|
|
297
341
|
return `${lines.join("\n")}\n`;
|
|
298
342
|
};
|
|
299
343
|
const buildElement = () => React.createElement(ThemeProvider, {
|
|
@@ -351,6 +395,16 @@ export async function renderApp(config) {
|
|
|
351
395
|
const old = ref.instance;
|
|
352
396
|
if (!old)
|
|
353
397
|
return;
|
|
398
|
+
log("INFO", "scrollback", "resetUI", {
|
|
399
|
+
wipeSession: String(Boolean(options?.wipeSession)),
|
|
400
|
+
resizeRedraw: String(Boolean(options?.resizeRedraw)),
|
|
401
|
+
historyOverride: String(options?.history !== undefined),
|
|
402
|
+
messagesOverride: String(options?.messages !== undefined),
|
|
403
|
+
pendingAction: String(Boolean(options?.pendingAction)),
|
|
404
|
+
sessionHistoryItems: sessionStore.history.length,
|
|
405
|
+
clearMode: getResetClearMode(options),
|
|
406
|
+
fullscreen: String(fullscreen),
|
|
407
|
+
});
|
|
354
408
|
if (options?.wipeSession) {
|
|
355
409
|
// Wipe everything session-scoped FIRST. Other options below can then
|
|
356
410
|
// re-seed specific fields (e.g. plan accept wipes the chat then sets
|
|
@@ -399,7 +453,8 @@ export async function renderApp(config) {
|
|
|
399
453
|
process.stdout.write(VIEWPORT_CLEAR);
|
|
400
454
|
ref.instance = render(buildElement(), inkOptions);
|
|
401
455
|
ref.instance.setFrameAnchorActive?.(frameAnchorActive);
|
|
402
|
-
|
|
456
|
+
if (shrinkBackfillEnabled)
|
|
457
|
+
ref.instance.setFrameShrinkBackfill?.(buildShrinkBackfill);
|
|
403
458
|
flushPreMountHistory();
|
|
404
459
|
return;
|
|
405
460
|
}
|
|
@@ -416,16 +471,18 @@ export async function renderApp(config) {
|
|
|
416
471
|
model: runtimeState.model,
|
|
417
472
|
provider: runtimeState.provider,
|
|
418
473
|
cwd: config.cwd,
|
|
419
|
-
});
|
|
474
|
+
}, { reason: "resize-redraw" });
|
|
420
475
|
}
|
|
421
476
|
ref.instance = render(buildElement(), inkOptions);
|
|
422
477
|
ref.instance.setFrameAnchorActive?.(frameAnchorActive);
|
|
423
|
-
|
|
478
|
+
if (shrinkBackfillEnabled)
|
|
479
|
+
ref.instance.setFrameShrinkBackfill?.(buildShrinkBackfill);
|
|
424
480
|
flushPreMountHistory();
|
|
425
481
|
}
|
|
426
482
|
ref.instance = render(buildElement(), inkOptions);
|
|
427
483
|
ref.instance.setFrameAnchorActive?.(frameAnchorActive);
|
|
428
|
-
|
|
484
|
+
if (shrinkBackfillEnabled)
|
|
485
|
+
ref.instance.setFrameShrinkBackfill?.(buildShrinkBackfill);
|
|
429
486
|
flushPreMountHistory();
|
|
430
487
|
// Terminal resize → full unmount/remount. Completed transcript rows are real
|
|
431
488
|
// terminal output now, so resetUI() only rebuilds the live Ink controls unless
|
|
@@ -448,6 +505,11 @@ export async function renderApp(config) {
|
|
|
448
505
|
// agent dies on maximize. Skip the unmount in that case. Flag
|
|
449
506
|
// pendingResetUI so App.tsx fires a deferred resetUI the moment the
|
|
450
507
|
// agent goes idle, fixing any live-area drift that accumulated.
|
|
508
|
+
log("INFO", "scrollback", "resize fired", {
|
|
509
|
+
agentRunning: String(Boolean(sessionStore.isAgentRunning)),
|
|
510
|
+
columns: process.stdout.columns ?? 0,
|
|
511
|
+
rows: process.stdout.rows ?? 0,
|
|
512
|
+
});
|
|
451
513
|
if (sessionStore.isAgentRunning) {
|
|
452
514
|
sessionStore.pendingResetUI = true;
|
|
453
515
|
return;
|
package/dist/ui/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit-boundary-gap.test.d.ts","sourceRoot":"","sources":["../../src/ui/submit-boundary-gap.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Self-test for the "white space before the LLM responds" gap that appears
|
|
3
|
+
// when submitting a slash command (e.g. /commit).
|
|
4
|
+
//
|
|
5
|
+
// The submit boundary stacks several frame SHRINKS into the moment the agent
|
|
6
|
+
// is (re)starting, while the patched ink bottom-anchor is ACTIVE:
|
|
7
|
+
// 1. the prior turn's live items flush to scrollback + the live frame clears
|
|
8
|
+
// (setLiveItems([])),
|
|
9
|
+
// 2. the open slash menu closes (the controls block gets shorter).
|
|
10
|
+
// Each shrink-while-active becomes blank "pad debt" above the frame so the
|
|
11
|
+
// footer can't jump up. The new turn then enters a quiet thinking phase with
|
|
12
|
+
// NO frame growth, so nothing consumes the pads — they sit on screen as a blank
|
|
13
|
+
// gap before any LLM output, exactly what the user reported.
|
|
14
|
+
//
|
|
15
|
+
// This drives the REAL patched ink through that byte sequence and asserts:
|
|
16
|
+
// A) the gap genuinely forms at the submit boundary (the bug), and
|
|
17
|
+
// B) the mid-run off→on reclaim pulse (App's fix) collapses it while keeping
|
|
18
|
+
// the footer bottom-pinned.
|
|
19
|
+
import React from "react";
|
|
20
|
+
import { Box, render, Text } from "ink";
|
|
21
|
+
import { describe, expect, it } from "vitest";
|
|
22
|
+
import stripAnsi from "strip-ansi";
|
|
23
|
+
import { ScreenRecorder, makeRecordingStdout } from "./testing/screen-recorder.js";
|
|
24
|
+
const COLUMNS = 80;
|
|
25
|
+
const ROWS = 24;
|
|
26
|
+
const FOOTER = "SIM_FOOTER_BOTTOM";
|
|
27
|
+
const FRAME_TOP = "SIM_FRAME_TOP";
|
|
28
|
+
// Controls block: the slash menu adds rows ABOVE the input while open, so
|
|
29
|
+
// closing it is a real controls-height shrink (same shape as the menu close
|
|
30
|
+
// that fires on submit).
|
|
31
|
+
function Controls({ liveRows, menuOpen }) {
|
|
32
|
+
return (_jsxs(Box, { flexDirection: "column", width: COLUMNS, children: [_jsx(Text, { children: FRAME_TOP }), Array.from({ length: liveRows }, (_, i) => (_jsxs(Text, { children: ["SIM_LIVE_", i + 1] }, i))), menuOpen
|
|
33
|
+
? Array.from({ length: 6 }, (_, i) => _jsxs(Text, { children: ["SIM_MENU_ITEM_", i + 1] }, `m${i}`))
|
|
34
|
+
: null, _jsx(Text, { children: "SIM_INPUT" }), _jsx(Text, { children: FOOTER })] }));
|
|
35
|
+
}
|
|
36
|
+
async function tick(ms = 60) {
|
|
37
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
38
|
+
}
|
|
39
|
+
function blanksAboveFrame(recorder) {
|
|
40
|
+
const lines = recorder.viewportLines().map((line) => stripAnsi(line));
|
|
41
|
+
const frameTopIdx = lines.findIndex((line) => line.includes(FRAME_TOP));
|
|
42
|
+
if (frameTopIdx < 0)
|
|
43
|
+
return -1;
|
|
44
|
+
return lines.slice(0, frameTopIdx).filter((line) => line.trim() === "").length;
|
|
45
|
+
}
|
|
46
|
+
describe("submit-boundary gap", () => {
|
|
47
|
+
it("forms the gap at submit then the reclaim pulse collapses it (footer stays pinned)", async () => {
|
|
48
|
+
const recorder = new ScreenRecorder({ columns: COLUMNS, rows: ROWS });
|
|
49
|
+
const stdout = makeRecordingStdout(recorder);
|
|
50
|
+
const transcriptRows = Array.from({ length: ROWS }, (_, i) => `SIM_HISTORY_${i + 1}`);
|
|
51
|
+
const mounted = render(_jsx(Controls, { liveRows: 2, menuOpen: false }), {
|
|
52
|
+
stdout,
|
|
53
|
+
patchConsole: false,
|
|
54
|
+
maxFps: 1000,
|
|
55
|
+
anchorFrameToBottom: true,
|
|
56
|
+
clipFrameToTerminalHeight: true,
|
|
57
|
+
});
|
|
58
|
+
// Skip cleanly on unpatched ink (fork-only APIs).
|
|
59
|
+
if (!mounted.setFrameAnchorActive || !mounted.insertBeforeFrame) {
|
|
60
|
+
mounted.unmount();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
mounted.setFrameShrinkBackfill?.((needRows) => {
|
|
64
|
+
const lines = transcriptRows.slice(-needRows);
|
|
65
|
+
while (lines.length < needRows)
|
|
66
|
+
lines.unshift("");
|
|
67
|
+
return `${lines.join("\n")}\n`;
|
|
68
|
+
});
|
|
69
|
+
await tick();
|
|
70
|
+
// Prior turn finished streaming a tall response; the slash menu is open
|
|
71
|
+
// because the user typed "/commit". Anchor is ACTIVE (agent considered
|
|
72
|
+
// running through the submit). Flush the scrollback history first.
|
|
73
|
+
mounted.setFrameAnchorActive(true);
|
|
74
|
+
mounted.insertBeforeFrame(`${transcriptRows.join("\n")}\n`);
|
|
75
|
+
mounted.rerender(_jsx(Controls, { liveRows: 10, menuOpen: true }));
|
|
76
|
+
await tick();
|
|
77
|
+
// SUBMIT: prior live rows flush + clear (live shrinks to 1) AND the slash
|
|
78
|
+
// menu closes — two stacked shrinks with NO compensating scrollback insert,
|
|
79
|
+
// while the anchor is active. Pad debt forms.
|
|
80
|
+
mounted.rerender(_jsx(Controls, { liveRows: 1, menuOpen: false }));
|
|
81
|
+
await tick();
|
|
82
|
+
// Quiet thinking phase: nothing grows the frame. The gap is now on screen
|
|
83
|
+
// BEFORE any LLM output — the reported bug.
|
|
84
|
+
const gapAtSubmit = blanksAboveFrame(recorder);
|
|
85
|
+
expect(gapAtSubmit, "gap genuinely forms at the submit boundary").toBeGreaterThan(0);
|
|
86
|
+
// App's mid-run reclaim pulse (fires after the frame is stable): off→on.
|
|
87
|
+
mounted.setFrameAnchorActive(false);
|
|
88
|
+
mounted.setFrameAnchorActive(true);
|
|
89
|
+
await tick(150);
|
|
90
|
+
const lines = recorder.viewportLines().map((line) => stripAnsi(line));
|
|
91
|
+
const frameTopIdx = lines.findIndex((line) => line.includes(FRAME_TOP));
|
|
92
|
+
const footerIdx = lines.findIndex((line) => line.includes(FOOTER));
|
|
93
|
+
expect(frameTopIdx, "live frame visible").toBeGreaterThanOrEqual(0);
|
|
94
|
+
expect(footerIdx, "footer visible").toBeGreaterThan(frameTopIdx);
|
|
95
|
+
// The gap is gone.
|
|
96
|
+
expect(blanksAboveFrame(recorder), "reclaim pulse collapses the submit-boundary gap").toBe(0);
|
|
97
|
+
// Footer still bottom-pinned (nothing below it).
|
|
98
|
+
const lastNonBlank = lines.reduce((acc, line, i) => (line.trim().length > 0 ? i : acc), -1);
|
|
99
|
+
expect(lastNonBlank, "nothing below the footer after reclaim").toBe(footerIdx);
|
|
100
|
+
mounted.unmount();
|
|
101
|
+
});
|
|
102
|
+
it("reclaims a finishing tool-batch collapse mid-run (no menu involved)", async () => {
|
|
103
|
+
const recorder = new ScreenRecorder({ columns: COLUMNS, rows: ROWS });
|
|
104
|
+
const stdout = makeRecordingStdout(recorder);
|
|
105
|
+
const transcriptRows = Array.from({ length: ROWS }, (_, i) => `SIM_HISTORY_${i + 1}`);
|
|
106
|
+
const mounted = render(_jsx(Controls, { liveRows: 2, menuOpen: false }), {
|
|
107
|
+
stdout,
|
|
108
|
+
patchConsole: false,
|
|
109
|
+
maxFps: 1000,
|
|
110
|
+
anchorFrameToBottom: true,
|
|
111
|
+
clipFrameToTerminalHeight: true,
|
|
112
|
+
});
|
|
113
|
+
if (!mounted.setFrameAnchorActive || !mounted.insertBeforeFrame) {
|
|
114
|
+
mounted.unmount();
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
mounted.setFrameShrinkBackfill?.((needRows) => {
|
|
118
|
+
const lines = transcriptRows.slice(-needRows);
|
|
119
|
+
while (lines.length < needRows)
|
|
120
|
+
lines.unshift("");
|
|
121
|
+
return `${lines.join("\n")}\n`;
|
|
122
|
+
});
|
|
123
|
+
await tick();
|
|
124
|
+
// Mid-run: a batch of tool panels expands the live frame, then collapses
|
|
125
|
+
// when the batch finishes — a shrink with no compensating insert. Debt forms.
|
|
126
|
+
mounted.setFrameAnchorActive(true);
|
|
127
|
+
mounted.insertBeforeFrame(`${transcriptRows.join("\n")}\n`);
|
|
128
|
+
mounted.rerender(_jsx(Controls, { liveRows: 11, menuOpen: false }));
|
|
129
|
+
await tick();
|
|
130
|
+
mounted.rerender(_jsx(Controls, { liveRows: 2, menuOpen: false }));
|
|
131
|
+
await tick();
|
|
132
|
+
expect(blanksAboveFrame(recorder), "tool-batch collapse forms a gap").toBeGreaterThan(0);
|
|
133
|
+
// Reclaim pulse collapses it.
|
|
134
|
+
mounted.setFrameAnchorActive(false);
|
|
135
|
+
mounted.setFrameAnchorActive(true);
|
|
136
|
+
await tick(150);
|
|
137
|
+
expect(blanksAboveFrame(recorder), "tool-batch gap reclaimed").toBe(0);
|
|
138
|
+
mounted.unmount();
|
|
139
|
+
});
|
|
140
|
+
it("is a harmless no-op when there is no pad debt (steady streaming)", async () => {
|
|
141
|
+
const recorder = new ScreenRecorder({ columns: COLUMNS, rows: ROWS });
|
|
142
|
+
const stdout = makeRecordingStdout(recorder);
|
|
143
|
+
const transcriptRows = Array.from({ length: ROWS }, (_, i) => `SIM_HISTORY_${i + 1}`);
|
|
144
|
+
const mounted = render(_jsx(Controls, { liveRows: 2, menuOpen: false }), {
|
|
145
|
+
stdout,
|
|
146
|
+
patchConsole: false,
|
|
147
|
+
maxFps: 1000,
|
|
148
|
+
anchorFrameToBottom: true,
|
|
149
|
+
clipFrameToTerminalHeight: true,
|
|
150
|
+
});
|
|
151
|
+
if (!mounted.setFrameAnchorActive || !mounted.insertBeforeFrame) {
|
|
152
|
+
mounted.unmount();
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
mounted.setFrameShrinkBackfill?.((needRows) => {
|
|
156
|
+
const lines = transcriptRows.slice(-needRows);
|
|
157
|
+
while (lines.length < needRows)
|
|
158
|
+
lines.unshift("");
|
|
159
|
+
return `${lines.join("\n")}\n`;
|
|
160
|
+
});
|
|
161
|
+
await tick();
|
|
162
|
+
// Anchor active, frame only GROWS (no shrink) — no debt is ever created.
|
|
163
|
+
mounted.setFrameAnchorActive(true);
|
|
164
|
+
mounted.rerender(_jsx(Controls, { liveRows: 4, menuOpen: false }));
|
|
165
|
+
await tick();
|
|
166
|
+
expect(blanksAboveFrame(recorder), "no gap during pure growth").toBe(0);
|
|
167
|
+
// A reclaim pulse here must change nothing: footer pinned, no gap, frame
|
|
168
|
+
// unchanged — proving the pulse is a safe no-op when debt is zero.
|
|
169
|
+
mounted.setFrameAnchorActive(false);
|
|
170
|
+
mounted.setFrameAnchorActive(true);
|
|
171
|
+
await tick(150);
|
|
172
|
+
const lines = recorder.viewportLines().map((line) => stripAnsi(line));
|
|
173
|
+
const footerIdx = lines.findIndex((line) => line.includes(FOOTER));
|
|
174
|
+
const lastNonBlank = lines.reduce((acc, line, i) => (line.trim().length > 0 ? i : acc), -1);
|
|
175
|
+
expect(blanksAboveFrame(recorder), "still no gap after no-op pulse").toBe(0);
|
|
176
|
+
expect(lastNonBlank, "footer still pinned after no-op pulse").toBe(footerIdx);
|
|
177
|
+
mounted.unmount();
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
//# sourceMappingURL=submit-boundary-gap.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit-boundary-gap.test.js","sourceRoot":"","sources":["../../src/ui/submit-boundary-gap.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-history-repaint.test.d.ts","sourceRoot":"","sources":["../../src/ui/terminal-history-repaint.test.ts"],"names":[],"mappings":""}
|