zerg-ztc 0.1.3 → 0.1.4
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.d.ts.map +1 -1
- package/dist/App.js +71 -13
- package/dist/App.js.map +1 -1
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +3 -1
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/commands/index.d.ts.map +1 -1
- package/dist/agent/commands/index.js +3 -1
- package/dist/agent/commands/index.js.map +1 -1
- package/dist/agent/commands/input_mode.d.ts +3 -0
- package/dist/agent/commands/input_mode.d.ts.map +1 -0
- package/dist/agent/commands/input_mode.js +21 -0
- package/dist/agent/commands/input_mode.js.map +1 -0
- package/dist/agent/commands/keybindings.d.ts +3 -0
- package/dist/agent/commands/keybindings.d.ts.map +1 -0
- package/dist/agent/commands/keybindings.js +38 -0
- package/dist/agent/commands/keybindings.js.map +1 -0
- package/dist/agent/commands/types.d.ts +2 -0
- package/dist/agent/commands/types.d.ts.map +1 -1
- package/dist/cli.js +38 -1
- package/dist/cli.js.map +1 -1
- package/dist/components/FullScreen.d.ts.map +1 -1
- package/dist/components/FullScreen.js +29 -29
- package/dist/components/FullScreen.js.map +1 -1
- package/dist/components/InputArea.d.ts.map +1 -1
- package/dist/components/InputArea.js +476 -19
- package/dist/components/InputArea.js.map +1 -1
- package/dist/components/StatusBar.d.ts +1 -0
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +2 -1
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/core/input_segments.d.ts +1 -0
- package/dist/ui/core/input_segments.d.ts.map +1 -1
- package/dist/ui/core/input_segments.js +46 -14
- package/dist/ui/core/input_segments.js.map +1 -1
- package/dist/ui/core/types.d.ts +1 -0
- package/dist/ui/core/types.d.ts.map +1 -1
- package/dist/ui/ink/render.d.ts +3 -1
- package/dist/ui/ink/render.d.ts.map +1 -1
- package/dist/ui/ink/render.js +7 -5
- package/dist/ui/ink/render.js.map +1 -1
- package/dist/ui/views/app.d.ts +2 -1
- package/dist/ui/views/app.d.ts.map +1 -1
- package/dist/ui/views/app.js +2 -1
- package/dist/ui/views/app.js.map +1 -1
- package/dist/ui/views/header.d.ts.map +1 -1
- package/dist/ui/views/header.js +8 -5
- package/dist/ui/views/header.js.map +1 -1
- package/dist/ui/views/status_bar.d.ts +2 -1
- package/dist/ui/views/status_bar.d.ts.map +1 -1
- package/dist/ui/views/status_bar.js +5 -1
- package/dist/ui/views/status_bar.js.map +1 -1
- package/package.json +1 -1
- package/src/App.tsx +71 -13
- package/src/agent/agent.ts +3 -1
- package/src/agent/commands/index.ts +4 -0
- package/src/agent/commands/input_mode.ts +22 -0
- package/src/agent/commands/keybindings.ts +40 -0
- package/src/agent/commands/types.ts +2 -0
- package/src/cli.tsx +43 -1
- package/src/components/FullScreen.tsx +39 -34
- package/src/components/InputArea.tsx +489 -19
- package/src/components/StatusBar.tsx +3 -0
- package/src/types.ts +1 -0
- package/src/ui/core/input_segments.ts +49 -14
- package/src/ui/core/types.ts +1 -0
- package/src/ui/ink/render.tsx +16 -5
- package/src/ui/views/app.ts +3 -0
- package/src/ui/views/header.ts +8 -5
- package/src/ui/views/status_bar.ts +6 -0
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect } from 'react';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
3
|
import { Box } from 'ink';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
function getTerminalSize() {
|
|
5
|
+
return {
|
|
6
|
+
columns: process.stdout.columns || 80,
|
|
7
|
+
rows: process.stdout.rows || 24,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
8
10
|
export const FullScreen = ({ children, debug = false }) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
if (!useAltScreen) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
// Enter alternate screen buffer
|
|
16
|
-
process.stdout.write('\x1b[?1049h');
|
|
17
|
-
// Hide cursor (we'll draw our own)
|
|
18
|
-
process.stdout.write('\x1b[?25l');
|
|
19
|
-
// Clear the alternate screen
|
|
20
|
-
process.stdout.write('\x1b[2J');
|
|
21
|
-
// Move cursor to top-left
|
|
22
|
-
process.stdout.write('\x1b[H');
|
|
23
|
-
// Cleanup: restore terminal state
|
|
24
|
-
return () => {
|
|
25
|
-
// Show cursor
|
|
26
|
-
process.stdout.write('\x1b[?25h');
|
|
27
|
-
// Exit alternate screen buffer (restores original content)
|
|
28
|
-
process.stdout.write('\x1b[?1049l');
|
|
29
|
-
};
|
|
30
|
-
}, [useAltScreen]);
|
|
31
|
-
return (_jsx(Box, { flexDirection: "column", borderStyle: debug ? 'single' : undefined, borderColor: debug ? 'red' : undefined, children: children }));
|
|
11
|
+
const { rows, columns } = useScreenSize();
|
|
12
|
+
return (_jsx(Box, { flexDirection: "column", width: columns, height: rows, overflow: "hidden", borderStyle: debug ? 'single' : undefined, borderColor: debug ? 'red' : undefined, children: children }));
|
|
32
13
|
};
|
|
33
14
|
/**
|
|
34
15
|
* Hook to get current screen size with resize tracking
|
|
35
16
|
*/
|
|
36
17
|
export function useScreenSize() {
|
|
37
|
-
|
|
18
|
+
const [size, setSize] = useState(getTerminalSize);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const updateSize = () => {
|
|
21
|
+
const current = getTerminalSize();
|
|
22
|
+
setSize(prev => {
|
|
23
|
+
if (prev.rows !== current.rows || prev.columns !== current.columns) {
|
|
24
|
+
return current;
|
|
25
|
+
}
|
|
26
|
+
return prev;
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
process.stdout.on('resize', updateSize);
|
|
30
|
+
// Also check on an interval as a fallback for some terminals
|
|
31
|
+
const interval = setInterval(updateSize, 1000);
|
|
32
|
+
return () => {
|
|
33
|
+
process.stdout.off('resize', updateSize);
|
|
34
|
+
clearInterval(interval);
|
|
35
|
+
};
|
|
36
|
+
}, []);
|
|
37
|
+
return size;
|
|
38
38
|
}
|
|
39
39
|
export default FullScreen;
|
|
40
40
|
//# sourceMappingURL=FullScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullScreen.js","sourceRoot":"","sources":["../../src/components/FullScreen.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"FullScreen.js","sourceRoot":"","sources":["../../src/components/FullScreen.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAqB,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAqB1B,SAAS,eAAe;IACtB,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;QACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,EAAE;IACnF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IAE1C,OAAO,CACL,KAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAC,QAAQ,EACjB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACzC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,YAErC,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACb,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;oBACnE,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAExC,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE/C,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACzC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../src/components/InputArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,QAAQ,EAAY,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAgB,MAAM,2BAA2B,CAAC;AAqBrE,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AA0D5D,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../src/components/InputArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,QAAQ,EAAY,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAgB,MAAM,2BAA2B,CAAC;AAqBrE,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AA0D5D,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA45B9C,CAAC;AAEF,eAAe,SAAS,CAAC"}
|