openhorse 0.2.8 → 0.2.9
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/README.md +2 -2
- package/README.zh-CN.md +10 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +9 -16
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +20 -24
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/types.d.ts +7 -28
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js.map +1 -1
- package/dist/ink-ui/App.d.ts +2 -2
- package/dist/ink-ui/App.d.ts.map +1 -1
- package/dist/ink-ui/components/PixelHorseBanner.d.ts +2 -2
- package/dist/ink-ui/components/PixelHorseBanner.d.ts.map +1 -1
- package/dist/ink-ui/components/StatusLine.d.ts +2 -2
- package/dist/ink-ui/components/StatusLine.d.ts.map +1 -1
- package/dist/ink-ui/launch.d.ts +2 -2
- package/dist/ink-ui/launch.d.ts.map +1 -1
- package/dist/ink-ui/launch.js.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.d.ts +2 -2
- package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.js +4 -2
- package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
- package/dist/print-ui/launch.d.ts +44 -2
- package/dist/print-ui/launch.d.ts.map +1 -1
- package/dist/print-ui/launch.js +12 -0
- package/dist/print-ui/launch.js.map +1 -1
- package/dist/runtime/agent-runtime-controller.d.ts +3 -1
- package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-controller.js +12 -1
- package/dist/runtime/agent-runtime-controller.js.map +1 -1
- package/dist/runtime/agent-runtime-protocol.d.ts +7 -1
- package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-protocol.js +12 -0
- package/dist/runtime/agent-runtime-protocol.js.map +1 -1
- package/dist/runtime/chat-controller.d.ts +4 -1
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +16 -0
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/runtime/ui-events.d.ts +29 -2
- package/dist/runtime/ui-events.d.ts.map +1 -1
- package/dist/runtime/ui-events.js +34 -0
- package/dist/runtime/ui-events.js.map +1 -1
- package/dist/services/config.d.ts +9 -2
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +22 -7
- package/dist/services/config.js.map +1 -1
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +3 -4
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/format.d.ts +2 -0
- package/dist/services/format.d.ts.map +1 -0
- package/dist/services/format.js +20 -0
- package/dist/services/format.js.map +1 -0
- package/dist/services/global-config.d.ts +3 -3
- package/dist/services/global-config.d.ts.map +1 -1
- package/dist/services/storage-maintenance.d.ts.map +1 -1
- package/dist/services/storage-maintenance.js +3 -9
- package/dist/services/storage-maintenance.js.map +1 -1
- package/dist/terminal-ui/launch.d.ts +30 -2
- package/dist/terminal-ui/launch.d.ts.map +1 -1
- package/dist/terminal-ui/launch.js +6 -14
- package/dist/terminal-ui/launch.js.map +1 -1
- package/dist/tui-ui/launch.d.ts +2 -2
- package/dist/tui-ui/launch.d.ts.map +1 -1
- package/dist/tui-ui/launch.js +2 -0
- package/dist/tui-ui/launch.js.map +1 -1
- package/dist/tui-ui/layout.d.ts.map +1 -1
- package/dist/tui-ui/layout.js +2 -13
- package/dist/tui-ui/layout.js.map +1 -1
- package/dist/tui-ui/state.d.ts +13 -1
- package/dist/tui-ui/state.d.ts.map +1 -1
- package/dist/tui-ui/state.js +13 -0
- package/dist/tui-ui/state.js.map +1 -1
- package/dist/ui/command-panel.d.ts +1 -1
- package/dist/ui/command-panel.d.ts.map +1 -1
- package/dist/ui/command-panel.js +37 -34
- package/dist/ui/command-panel.js.map +1 -1
- package/dist/ui/file-completion.d.ts +1 -1
- package/dist/ui/file-completion.d.ts.map +1 -1
- package/dist/ui/file-completion.js +4 -4
- package/dist/ui/file-completion.js.map +1 -1
- package/dist/ui/shared/command-palette.d.ts +3 -0
- package/dist/ui/shared/command-palette.d.ts.map +1 -0
- package/dist/ui/shared/command-palette.js +54 -0
- package/dist/ui/shared/command-palette.js.map +1 -0
- package/dist/ui/shared/command-suggestions.d.ts +19 -0
- package/dist/ui/shared/command-suggestions.d.ts.map +1 -0
- package/dist/ui/shared/command-suggestions.js +67 -0
- package/dist/ui/shared/command-suggestions.js.map +1 -0
- package/dist/ui/shared/input-frame.d.ts +19 -0
- package/dist/ui/shared/input-frame.d.ts.map +1 -0
- package/dist/ui/shared/input-frame.js +74 -0
- package/dist/ui/shared/input-frame.js.map +1 -0
- package/dist/ui/shared/text.d.ts +5 -0
- package/dist/ui/shared/text.d.ts.map +1 -0
- package/dist/ui/shared/text.js +55 -0
- package/dist/ui/shared/text.js.map +1 -0
- package/dist/ui/shared/types.d.ts +27 -0
- package/dist/ui/shared/types.d.ts.map +1 -0
- package/dist/ui/shared/types.js +3 -0
- package/dist/ui/shared/types.js.map +1 -0
- package/dist/ui/user-input.js +2 -2
- package/dist/ui/user-input.js.map +1 -1
- package/dist/ui-v2/components/command-palette.d.ts +1 -5
- package/dist/ui-v2/components/command-palette.d.ts.map +1 -1
- package/dist/ui-v2/components/command-palette.js +15 -54
- package/dist/ui-v2/components/command-palette.js.map +1 -1
- package/dist/ui-v2/components/shell.d.ts +1 -14
- package/dist/ui-v2/components/shell.d.ts.map +1 -1
- package/dist/ui-v2/components/shell.js +4 -55
- package/dist/ui-v2/components/shell.js.map +1 -1
- package/dist/ui-v2/runtime/text.d.ts +1 -7
- package/dist/ui-v2/runtime/text.d.ts.map +1 -1
- package/dist/ui-v2/runtime/text.js +15 -55
- package/dist/ui-v2/runtime/text.js.map +1 -1
- package/dist/ui-v2/state/sessions.d.ts +1 -1
- package/dist/ui-v2/state/sessions.d.ts.map +1 -1
- package/dist/ui-v2/state/sessions.js +5 -18
- package/dist/ui-v2/state/sessions.js.map +1 -1
- package/dist/ui-v2/state/suggestions.d.ts +1 -21
- package/dist/ui-v2/state/suggestions.d.ts.map +1 -1
- package/dist/ui-v2/state/suggestions.js +15 -67
- package/dist/ui-v2/state/suggestions.js.map +1 -1
- package/dist/ui-v2/types.d.ts +1 -32
- package/dist/ui-v2/types.d.ts.map +1 -1
- package/dist/ui-v2/types.js +15 -6
- package/dist/ui-v2/types.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function stripAnsi(text: string): string;
|
|
2
|
+
export declare function visualWidth(text: string): number;
|
|
3
|
+
export declare function padEndVisible(text: string, targetWidth: number): string;
|
|
4
|
+
export declare function truncateVisible(text: string, targetWidth: number): string;
|
|
5
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/ui/shared/text.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAkBzE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stripAnsi = stripAnsi;
|
|
4
|
+
exports.visualWidth = visualWidth;
|
|
5
|
+
exports.padEndVisible = padEndVisible;
|
|
6
|
+
exports.truncateVisible = truncateVisible;
|
|
7
|
+
const ANSI_PATTERN = /\x1b\[[0-9;]*m/g;
|
|
8
|
+
function stripAnsi(text) {
|
|
9
|
+
return text.replace(ANSI_PATTERN, '');
|
|
10
|
+
}
|
|
11
|
+
function visualWidth(text) {
|
|
12
|
+
let width = 0;
|
|
13
|
+
for (const ch of stripAnsi(text)) {
|
|
14
|
+
const cp = ch.codePointAt(0) || 0;
|
|
15
|
+
width += isWideCodePoint(cp) ? 2 : 1;
|
|
16
|
+
}
|
|
17
|
+
return width;
|
|
18
|
+
}
|
|
19
|
+
function padEndVisible(text, targetWidth) {
|
|
20
|
+
const width = visualWidth(text);
|
|
21
|
+
return width >= targetWidth ? text : text + ' '.repeat(targetWidth - width);
|
|
22
|
+
}
|
|
23
|
+
function truncateVisible(text, targetWidth) {
|
|
24
|
+
if (targetWidth <= 0)
|
|
25
|
+
return '';
|
|
26
|
+
if (visualWidth(text) <= targetWidth)
|
|
27
|
+
return text;
|
|
28
|
+
if (targetWidth <= 1)
|
|
29
|
+
return '…';
|
|
30
|
+
let out = '';
|
|
31
|
+
let width = 0;
|
|
32
|
+
const limit = targetWidth - 1;
|
|
33
|
+
for (const ch of text) {
|
|
34
|
+
const cp = ch.codePointAt(0) || 0;
|
|
35
|
+
const chWidth = isWideCodePoint(cp) ? 2 : 1;
|
|
36
|
+
if (width + chWidth > limit)
|
|
37
|
+
break;
|
|
38
|
+
out += ch;
|
|
39
|
+
width += chWidth;
|
|
40
|
+
}
|
|
41
|
+
return out + '…';
|
|
42
|
+
}
|
|
43
|
+
function isWideCodePoint(cp) {
|
|
44
|
+
return cp >= 0x1100 && (cp <= 0x115F || cp === 0x2329 || cp === 0x232A ||
|
|
45
|
+
(cp >= 0x2E80 && cp <= 0xA4CF && cp !== 0x303F) ||
|
|
46
|
+
(cp >= 0xAC00 && cp <= 0xD7A3) ||
|
|
47
|
+
(cp >= 0xF900 && cp <= 0xFAFF) ||
|
|
48
|
+
(cp >= 0xFE10 && cp <= 0xFE19) ||
|
|
49
|
+
(cp >= 0xFE30 && cp <= 0xFE6F) ||
|
|
50
|
+
(cp >= 0xFF01 && cp <= 0xFF60) ||
|
|
51
|
+
(cp >= 0xFFE0 && cp <= 0xFFE6) ||
|
|
52
|
+
(cp >= 0x20000 && cp <= 0x2FFFD) ||
|
|
53
|
+
(cp >= 0x30000 && cp <= 0x3FFFD));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/ui/shared/text.ts"],"names":[],"mappings":";;AAEA,8BAEC;AAED,kCAOC;AAED,sCAGC;AAED,0CAkBC;AAtCD,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAEvC,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,aAAa,CAAC,IAAY,EAAE,WAAmB;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,eAAe,CAAC,IAAY,EAAE,WAAmB;IAC/D,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAEjC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC;IAE9B,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,KAAK,GAAG,OAAO,GAAG,KAAK;YAAE,MAAM;QACnC,GAAG,IAAI,EAAE,CAAC;QACV,KAAK,IAAI,OAAO,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,OAAO,EAAE,IAAI,MAAM,IAAI,CACrB,EAAE,IAAI,MAAM,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM;QAC9C,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE,KAAK,MAAM,CAAC;QAC/C,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,CAAC;QAChC,CAAC,EAAE,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,CAAC,CACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type SuggestionKind = 'command' | 'file' | 'session' | 'model' | 'mcp-resource' | 'skill' | 'edit';
|
|
2
|
+
export interface SuggestionItem {
|
|
3
|
+
id: string;
|
|
4
|
+
kind: SuggestionKind;
|
|
5
|
+
label: string;
|
|
6
|
+
detail?: string;
|
|
7
|
+
shortcut?: string;
|
|
8
|
+
disabledReason?: string;
|
|
9
|
+
value?: string;
|
|
10
|
+
metadata?: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export interface PaletteTheme {
|
|
13
|
+
accent: (text: string) => string;
|
|
14
|
+
dim: (text: string) => string;
|
|
15
|
+
selected: (text: string) => string;
|
|
16
|
+
}
|
|
17
|
+
export interface PaletteRenderOptions {
|
|
18
|
+
title: string;
|
|
19
|
+
items: SuggestionItem[];
|
|
20
|
+
selectedIndex: number;
|
|
21
|
+
width: number;
|
|
22
|
+
moreCount?: number;
|
|
23
|
+
footer?: string;
|
|
24
|
+
emptyLabel?: string;
|
|
25
|
+
theme: PaletteTheme;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/shared/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,MAAM,GACN,SAAS,GACT,OAAO,GACP,cAAc,GACd,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ui/shared/types.ts"],"names":[],"mappings":""}
|
package/dist/ui/user-input.js
CHANGED
|
@@ -63,8 +63,8 @@ function renderUserInputEcho(input, width) {
|
|
|
63
63
|
.join('\n');
|
|
64
64
|
}
|
|
65
65
|
function renderUserInputEchoFrame(input, width) {
|
|
66
|
-
// Kept for compatibility with
|
|
67
|
-
// conversation content, not as a bordered live input frame.
|
|
66
|
+
// Kept for compatibility with older framed-input callers. Submitted input
|
|
67
|
+
// should read as conversation content, not as a bordered live input frame.
|
|
68
68
|
return renderUserInputEcho(input, width);
|
|
69
69
|
}
|
|
70
70
|
//# sourceMappingURL=user-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-input.js","sourceRoot":"","sources":["../../src/ui/user-input.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"user-input.js","sourceRoot":"","sources":["../../src/ui/user-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* UI v2 command palette renderer.
|
|
3
|
-
*/
|
|
4
|
-
import type { PaletteRenderOptions } from '../types';
|
|
5
|
-
export declare function renderCommandPalette(options: PaletteRenderOptions): string[];
|
|
1
|
+
export * from '../../ui/shared/command-palette';
|
|
6
2
|
//# sourceMappingURL=command-palette.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../../../src/ui-v2/components/command-palette.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../../../src/ui-v2/components/command-palette.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|
|
@@ -1,57 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const text_1 = require("../runtime/text");
|
|
8
|
-
const MIN_PALETTE_WIDTH = 28;
|
|
9
|
-
const MAX_PALETTE_WIDTH = 64;
|
|
10
|
-
function renderCommandPalette(options) {
|
|
11
|
-
const innerWidth = Math.max(MIN_PALETTE_WIDTH, Math.min(options.width - 4, MAX_PALETTE_WIDTH));
|
|
12
|
-
const title = (0, text_1.truncateVisible)(options.title, Math.max(8, innerWidth - 4));
|
|
13
|
-
const titleWidth = (0, text_1.visualWidth)(title);
|
|
14
|
-
const headerFill = Math.max(1, innerWidth - titleWidth - 3);
|
|
15
|
-
const lines = [
|
|
16
|
-
options.theme.dim(`┌─ ${title} ${'─'.repeat(headerFill)}┐`),
|
|
17
|
-
];
|
|
18
|
-
if (options.items.length === 0) {
|
|
19
|
-
lines.push(renderEmptyRow(options.emptyLabel ?? 'No matches', innerWidth, options.theme.dim));
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
options.items.forEach((item, index) => {
|
|
23
|
-
lines.push(renderSuggestionRow({
|
|
24
|
-
item,
|
|
25
|
-
selected: index === options.selectedIndex,
|
|
26
|
-
innerWidth,
|
|
27
|
-
theme: options.theme,
|
|
28
|
-
}));
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
if (options.moreCount && options.moreCount > 0) {
|
|
32
|
-
const more = `${options.moreCount} more results`;
|
|
33
|
-
lines.push(options.theme.dim(`│ ${(0, text_1.padEndVisible)(more, innerWidth - 2)} │`));
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
34
7
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const padded = (0, text_1.padEndVisible)(rowContent, options.innerWidth - 2);
|
|
46
|
-
if (options.selected) {
|
|
47
|
-
return options.theme.dim('│ ') + options.theme.selected(padded) + options.theme.dim(' │');
|
|
48
|
-
}
|
|
49
|
-
return options.theme.dim('│ ') + options.theme.accent(label) + ' '.repeat(gapWidth) + options.theme.dim(detail) + options.theme.dim(' │');
|
|
50
|
-
}
|
|
51
|
-
function renderEmptyRow(label, innerWidth, dim) {
|
|
52
|
-
return dim(`│ ${(0, text_1.padEndVisible)((0, text_1.truncateVisible)(label, innerWidth - 2), innerWidth - 2)} │`);
|
|
53
|
-
}
|
|
54
|
-
function formatLabel(item) {
|
|
55
|
-
return item.shortcut ? `${item.label} (${item.shortcut})` : item.label;
|
|
56
|
-
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("../../ui/shared/command-palette"), exports);
|
|
57
18
|
//# sourceMappingURL=command-palette.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../../src/ui-v2/components/command-palette.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../../src/ui-v2/components/command-palette.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* UI v2 visible shell components.
|
|
3
3
|
*/
|
|
4
|
+
export { renderV2InputFrame, renderV2Prompt, type V2InputFrameOptions, type V2InputFrameRender, } from '../../ui/shared/input-frame';
|
|
4
5
|
export interface V2ShellHeaderConfig {
|
|
5
6
|
provider: string;
|
|
6
7
|
model: string;
|
|
@@ -27,21 +28,7 @@ export interface V2ShortcutItem {
|
|
|
27
28
|
key: string;
|
|
28
29
|
label: string;
|
|
29
30
|
}
|
|
30
|
-
export interface V2InputFrameOptions {
|
|
31
|
-
input: string;
|
|
32
|
-
modeIndicator?: string;
|
|
33
|
-
width?: number;
|
|
34
|
-
statusText?: string;
|
|
35
|
-
}
|
|
36
|
-
export interface V2InputFrameRender {
|
|
37
|
-
output: string;
|
|
38
|
-
height: number;
|
|
39
|
-
cursorRow: number;
|
|
40
|
-
cursorColumn: number;
|
|
41
|
-
}
|
|
42
31
|
export declare function renderV2ShellHeader(config: V2ShellHeaderConfig): string;
|
|
43
|
-
export declare function renderV2Prompt(modeIndicator?: string): string;
|
|
44
|
-
export declare function renderV2InputFrame(options: V2InputFrameOptions): V2InputFrameRender;
|
|
45
32
|
export declare function renderV2StatusBadge(stats: V2StatusLineStats): string;
|
|
46
33
|
export declare function renderV2StatusLine(stats: V2StatusLineStats): string;
|
|
47
34
|
export declare function renderV2FooterHint(width?: number): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/ui-v2/components/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/ui-v2/components/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,6BAA6B,CAAC;AAsBrC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAWD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAoBvE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAIpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAInE;AAcD,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,MAAqC,GAAG,MAAM,CAMvF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,GAAE,MAAqC,GAAG,MAAM,CAetF"}
|
|
@@ -6,9 +6,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6
6
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.renderV2Prompt = exports.renderV2InputFrame = void 0;
|
|
9
10
|
exports.renderV2ShellHeader = renderV2ShellHeader;
|
|
10
|
-
exports.renderV2Prompt = renderV2Prompt;
|
|
11
|
-
exports.renderV2InputFrame = renderV2InputFrame;
|
|
12
11
|
exports.renderV2StatusBadge = renderV2StatusBadge;
|
|
13
12
|
exports.renderV2StatusLine = renderV2StatusLine;
|
|
14
13
|
exports.renderV2FooterHint = renderV2FooterHint;
|
|
@@ -16,6 +15,9 @@ exports.renderV2Shortcuts = renderV2Shortcuts;
|
|
|
16
15
|
const path_1 = require("path");
|
|
17
16
|
const chalk_1 = __importDefault(require("chalk"));
|
|
18
17
|
const text_1 = require("../runtime/text");
|
|
18
|
+
var input_frame_1 = require("../../ui/shared/input-frame");
|
|
19
|
+
Object.defineProperty(exports, "renderV2InputFrame", { enumerable: true, get: function () { return input_frame_1.renderV2InputFrame; } });
|
|
20
|
+
Object.defineProperty(exports, "renderV2Prompt", { enumerable: true, get: function () { return input_frame_1.renderV2Prompt; } });
|
|
19
21
|
const NO_COLOR = process.env.NO_COLOR !== undefined || process.env.TERM === 'dumb';
|
|
20
22
|
const colorize = NO_COLOR ? {
|
|
21
23
|
brand: (s) => s,
|
|
@@ -34,10 +36,6 @@ const colorize = NO_COLOR ? {
|
|
|
34
36
|
danger: chalk_1.default.red,
|
|
35
37
|
label: chalk_1.default.hex('#94A3B8'),
|
|
36
38
|
};
|
|
37
|
-
const INPUT_BG = '\x1b[48;2;56;56;56m';
|
|
38
|
-
const INPUT_FG = '\x1b[38;2;226;232;240m';
|
|
39
|
-
const RESET_COLORS = '\x1b[39;49m';
|
|
40
|
-
const CLEAR_TO_EOL = '\x1b[K';
|
|
41
39
|
const DEFAULT_SHORTCUTS = [
|
|
42
40
|
{ key: '/', label: 'commands' },
|
|
43
41
|
{ key: '@', label: 'files' },
|
|
@@ -65,50 +63,6 @@ function renderV2ShellHeader(config) {
|
|
|
65
63
|
colorize.dim(`╰${'─'.repeat(innerWidth)}╯`),
|
|
66
64
|
].join('\n');
|
|
67
65
|
}
|
|
68
|
-
function renderV2Prompt(modeIndicator = '') {
|
|
69
|
-
const mode = modeIndicator ? colorize.dim(`${modeIndicator} `) : '';
|
|
70
|
-
return `${colorize.accent('›')} ${mode}`;
|
|
71
|
-
}
|
|
72
|
-
function renderV2InputFrame(options) {
|
|
73
|
-
const width = Math.max(24, options.width || process.stdout.columns || 80);
|
|
74
|
-
const inputWidth = Math.max(1, width - 1);
|
|
75
|
-
const logicalLines = options.input.length > 0 ? options.input.split('\n') : [''];
|
|
76
|
-
const firstPrompt = renderV2Prompt(options.modeIndicator || '');
|
|
77
|
-
const continuationPrompt = ' '.repeat((0, text_1.visualWidth)(firstPrompt));
|
|
78
|
-
const renderedLines = logicalLines.map((line, index) => {
|
|
79
|
-
const prefix = index === 0 ? firstPrompt : continuationPrompt;
|
|
80
|
-
return renderInputLine((0, text_1.truncateVisible)(prefix + line, inputWidth));
|
|
81
|
-
});
|
|
82
|
-
const statusLine = options.statusText ? renderInputStatusLine(inputWidth, options.statusText) : undefined;
|
|
83
|
-
const rowSpans = logicalLines.map((line, index) => {
|
|
84
|
-
const prefix = index === 0 ? firstPrompt : continuationPrompt;
|
|
85
|
-
return terminalRowsFor((0, text_1.visualWidth)(prefix) + (0, text_1.visualWidth)(line), width);
|
|
86
|
-
});
|
|
87
|
-
const rowsBeforeCursor = rowSpans.slice(0, -1).reduce((sum, rows) => sum + rows, 0);
|
|
88
|
-
const lastLine = logicalLines[logicalLines.length - 1] || '';
|
|
89
|
-
const lastPrefix = logicalLines.length === 1 ? firstPrompt : continuationPrompt;
|
|
90
|
-
const lastVisibleWidth = (0, text_1.visualWidth)(lastPrefix) + (0, text_1.visualWidth)(lastLine);
|
|
91
|
-
return {
|
|
92
|
-
output: [...renderedLines, ...(statusLine ? [statusLine] : [])].join('\n'),
|
|
93
|
-
height: rowSpans.reduce((sum, rows) => sum + rows, 0) + (statusLine ? 1 : 0),
|
|
94
|
-
cursorRow: rowsBeforeCursor + Math.floor(lastVisibleWidth / width),
|
|
95
|
-
cursorColumn: (lastVisibleWidth % width) + 1,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
function renderInputLine(content) {
|
|
99
|
-
if (NO_COLOR) {
|
|
100
|
-
return content;
|
|
101
|
-
}
|
|
102
|
-
return `${INPUT_BG}${INPUT_FG}${content}${CLEAR_TO_EOL}${RESET_COLORS}`;
|
|
103
|
-
}
|
|
104
|
-
function renderInputStatusLine(width, statusText) {
|
|
105
|
-
const badge = ` ${statusText} `;
|
|
106
|
-
const badgeWidth = (0, text_1.visualWidth)(badge);
|
|
107
|
-
if (badgeWidth >= width) {
|
|
108
|
-
return (0, text_1.truncateVisible)(badge, width);
|
|
109
|
-
}
|
|
110
|
-
return ' '.repeat(width - badgeWidth) + badge;
|
|
111
|
-
}
|
|
112
66
|
function renderV2StatusBadge(stats) {
|
|
113
67
|
const width = Math.max(20, stats.width || process.stdout.columns || 80);
|
|
114
68
|
const parts = buildStatusParts(stats).join(colorize.dim(' '));
|
|
@@ -165,11 +119,6 @@ function renderStatus(status, text) {
|
|
|
165
119
|
function renderToken(label, value) {
|
|
166
120
|
return `${colorize.label(label)}=${colorize.accent(value)}`;
|
|
167
121
|
}
|
|
168
|
-
function terminalRowsFor(visibleWidth, terminalWidth) {
|
|
169
|
-
if (visibleWidth <= 0)
|
|
170
|
-
return 1;
|
|
171
|
-
return Math.floor(visibleWidth / terminalWidth) + 1;
|
|
172
|
-
}
|
|
173
122
|
function shortProvider(provider) {
|
|
174
123
|
return provider === 'Alibaba Cloud' ? 'Qwen' : provider;
|
|
175
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/ui-v2/components/shell.ts"],"names":[],"mappings":";AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/ui-v2/components/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Text measurement helpers for terminal UI rendering.
|
|
3
|
-
*/
|
|
4
|
-
export declare function stripAnsi(text: string): string;
|
|
5
|
-
export declare function visualWidth(text: string): number;
|
|
6
|
-
export declare function padEndVisible(text: string, targetWidth: number): string;
|
|
7
|
-
export declare function truncateVisible(text: string, targetWidth: number): string;
|
|
1
|
+
export * from '../../ui/shared/text';
|
|
8
2
|
//# sourceMappingURL=text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/ui-v2/runtime/text.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/ui-v2/runtime/text.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,58 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.visualWidth = visualWidth;
|
|
8
|
-
exports.padEndVisible = padEndVisible;
|
|
9
|
-
exports.truncateVisible = truncateVisible;
|
|
10
|
-
const ANSI_PATTERN = /\x1b\[[0-9;]*m/g;
|
|
11
|
-
function stripAnsi(text) {
|
|
12
|
-
return text.replace(ANSI_PATTERN, '');
|
|
13
|
-
}
|
|
14
|
-
function visualWidth(text) {
|
|
15
|
-
let width = 0;
|
|
16
|
-
for (const ch of stripAnsi(text)) {
|
|
17
|
-
const cp = ch.codePointAt(0) || 0;
|
|
18
|
-
width += isWideCodePoint(cp) ? 2 : 1;
|
|
19
|
-
}
|
|
20
|
-
return width;
|
|
21
|
-
}
|
|
22
|
-
function padEndVisible(text, targetWidth) {
|
|
23
|
-
const width = visualWidth(text);
|
|
24
|
-
return width >= targetWidth ? text : text + ' '.repeat(targetWidth - width);
|
|
25
|
-
}
|
|
26
|
-
function truncateVisible(text, targetWidth) {
|
|
27
|
-
if (targetWidth <= 0)
|
|
28
|
-
return '';
|
|
29
|
-
if (visualWidth(text) <= targetWidth)
|
|
30
|
-
return text;
|
|
31
|
-
if (targetWidth <= 1)
|
|
32
|
-
return '…';
|
|
33
|
-
let out = '';
|
|
34
|
-
let width = 0;
|
|
35
|
-
const limit = targetWidth - 1;
|
|
36
|
-
for (const ch of text) {
|
|
37
|
-
const cp = ch.codePointAt(0) || 0;
|
|
38
|
-
const chWidth = isWideCodePoint(cp) ? 2 : 1;
|
|
39
|
-
if (width + chWidth > limit)
|
|
40
|
-
break;
|
|
41
|
-
out += ch;
|
|
42
|
-
width += chWidth;
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
43
7
|
}
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
(cp >= 0xFFE0 && cp <= 0xFFE6) ||
|
|
55
|
-
(cp >= 0x20000 && cp <= 0x2FFFD) ||
|
|
56
|
-
(cp >= 0x30000 && cp <= 0x3FFFD));
|
|
57
|
-
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("../../ui/shared/text"), exports);
|
|
58
18
|
//# sourceMappingURL=text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/ui-v2/runtime/text.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/ui-v2/runtime/text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { SessionMeta } from '../../services/session-storage';
|
|
5
5
|
import type { SuggestionItem } from '../types';
|
|
6
|
+
export { formatBytes } from '../../services/format';
|
|
6
7
|
export interface BuildSessionSuggestionsOptions {
|
|
7
8
|
showProject?: boolean;
|
|
8
9
|
now?: number;
|
|
@@ -11,5 +12,4 @@ export declare function buildSessionSuggestions(sessions: SessionMeta[], options
|
|
|
11
12
|
export declare function sessionToSuggestion(session: SessionMeta, index: number, options?: BuildSessionSuggestionsOptions): SuggestionItem;
|
|
12
13
|
export declare function sessionDisplayTitle(session: SessionMeta): string;
|
|
13
14
|
export declare function formatRelativeTime(timestamp: number, now?: number): string;
|
|
14
|
-
export declare function formatBytes(bytes: number): string;
|
|
15
15
|
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/ui-v2/state/sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/ui-v2/state/sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,8BAA8B;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,8BAAmC,GAC3C,cAAc,EAAE,CAElB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,8BAAmC,GAC3C,cAAc,CA8BhB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAmBtF"}
|
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
* UI v2 session suggestion builders.
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.formatBytes = void 0;
|
|
6
7
|
exports.buildSessionSuggestions = buildSessionSuggestions;
|
|
7
8
|
exports.sessionToSuggestion = sessionToSuggestion;
|
|
8
9
|
exports.sessionDisplayTitle = sessionDisplayTitle;
|
|
9
10
|
exports.formatRelativeTime = formatRelativeTime;
|
|
10
|
-
exports.formatBytes = formatBytes;
|
|
11
11
|
const path_1 = require("path");
|
|
12
|
+
const format_1 = require("../../services/format");
|
|
13
|
+
var format_2 = require("../../services/format");
|
|
14
|
+
Object.defineProperty(exports, "formatBytes", { enumerable: true, get: function () { return format_2.formatBytes; } });
|
|
12
15
|
function buildSessionSuggestions(sessions, options = {}) {
|
|
13
16
|
return sessions.map((session, index) => sessionToSuggestion(session, index, options));
|
|
14
17
|
}
|
|
@@ -20,7 +23,7 @@ function sessionToSuggestion(session, index, options = {}) {
|
|
|
20
23
|
shortId,
|
|
21
24
|
session.model,
|
|
22
25
|
`${session.messageCount ?? 0} msg`,
|
|
23
|
-
formatBytes(session.historySizeBytes ?? 0),
|
|
26
|
+
(0, format_1.formatBytes)(session.historySizeBytes ?? 0),
|
|
24
27
|
formatRelativeTime(updatedAt, options.now ?? Date.now()),
|
|
25
28
|
];
|
|
26
29
|
if (options.showProject && session.projectPath) {
|
|
@@ -64,20 +67,4 @@ function formatRelativeTime(timestamp, now = Date.now()) {
|
|
|
64
67
|
const years = Math.floor(months / 12);
|
|
65
68
|
return `${years}y ago`;
|
|
66
69
|
}
|
|
67
|
-
function formatBytes(bytes) {
|
|
68
|
-
if (!Number.isFinite(bytes) || bytes <= 0)
|
|
69
|
-
return '0 B';
|
|
70
|
-
if (bytes < 1024)
|
|
71
|
-
return `${bytes} B`;
|
|
72
|
-
const kb = bytes / 1024;
|
|
73
|
-
if (kb < 1024)
|
|
74
|
-
return `${formatNumber(kb)} KB`;
|
|
75
|
-
const mb = kb / 1024;
|
|
76
|
-
if (mb < 1024)
|
|
77
|
-
return `${formatNumber(mb)} MB`;
|
|
78
|
-
return `${formatNumber(mb / 1024)} GB`;
|
|
79
|
-
}
|
|
80
|
-
function formatNumber(value) {
|
|
81
|
-
return value >= 10 ? value.toFixed(0) : value.toFixed(1);
|
|
82
|
-
}
|
|
83
70
|
//# sourceMappingURL=sessions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/ui-v2/state/sessions.ts"],"names":[],"mappings":";AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/ui-v2/state/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* UI v2 suggestion builders.
|
|
3
|
-
*/
|
|
4
|
-
import type { SlashCommand } from '../../commands/types';
|
|
5
|
-
import type { SuggestionItem } from '../types';
|
|
6
|
-
export declare const DEFAULT_COMMAND_LIMIT = 8;
|
|
7
|
-
export declare const FILTERED_COMMAND_LIMIT = 6;
|
|
8
|
-
export interface CommandSuggestionResult {
|
|
9
|
-
query: string;
|
|
10
|
-
total: number;
|
|
11
|
-
limit: number;
|
|
12
|
-
moreCount: number;
|
|
13
|
-
items: SuggestionItem[];
|
|
14
|
-
commands: SlashCommand[];
|
|
15
|
-
}
|
|
16
|
-
export interface BuildCommandSuggestionsOptions {
|
|
17
|
-
defaultLimit?: number;
|
|
18
|
-
filteredLimit?: number;
|
|
19
|
-
}
|
|
20
|
-
export declare function buildCommandSuggestions(commands: SlashCommand[], query?: string, options?: BuildCommandSuggestionsOptions): CommandSuggestionResult;
|
|
21
|
-
export declare function commandToSuggestion(command: SlashCommand): SuggestionItem;
|
|
1
|
+
export * from '../../ui/shared/command-suggestions';
|
|
22
2
|
//# sourceMappingURL=suggestions.d.ts.map
|