@codemieai/code 0.0.34 → 0.0.35
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 +10 -5
- package/bin/codemie-claude-acp.js +21 -0
- package/bin/codemie.js +13 -0
- package/dist/agents/codemie-code/agent.d.ts +22 -4
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +291 -195
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/index.d.ts +1 -1
- package/dist/agents/codemie-code/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/index.js +8 -5
- package/dist/agents/codemie-code/index.js.map +1 -1
- package/dist/agents/codemie-code/prompts.d.ts +8 -10
- package/dist/agents/codemie-code/prompts.d.ts.map +1 -1
- package/dist/agents/codemie-code/prompts.js +43 -16
- package/dist/agents/codemie-code/prompts.js.map +1 -1
- package/dist/agents/codemie-code/toolMetadata.d.ts.map +1 -1
- package/dist/agents/codemie-code/toolMetadata.js +9 -8
- package/dist/agents/codemie-code/toolMetadata.js.map +1 -1
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts +47 -0
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts.map +1 -0
- package/dist/agents/codemie-code/tools/assistant-invocation.js +129 -0
- package/dist/agents/codemie-code/tools/assistant-invocation.js.map +1 -0
- package/dist/agents/codemie-code/tools/index.d.ts +70 -4
- package/dist/agents/codemie-code/tools/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/tools/index.js +57 -44
- package/dist/agents/codemie-code/tools/index.js.map +1 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +6 -5
- package/dist/agents/codemie-code/tools/planning.d.ts.map +1 -1
- package/dist/agents/codemie-code/tools/planning.js +12 -10
- package/dist/agents/codemie-code/tools/planning.js.map +1 -1
- package/dist/agents/codemie-code/types.d.ts +24 -3
- package/dist/agents/codemie-code/types.d.ts.map +1 -1
- package/dist/agents/codemie-code/types.js +24 -0
- package/dist/agents/codemie-code/types.js.map +1 -1
- package/dist/agents/codemie-code/ui/autocomplete.d.ts +98 -0
- package/dist/agents/codemie-code/ui/autocomplete.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/autocomplete.js +145 -0
- package/dist/agents/codemie-code/ui/autocomplete.js.map +1 -0
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts +112 -0
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/keyHandlers.js +415 -0
- package/dist/agents/codemie-code/ui/keyHandlers.js.map +1 -0
- package/dist/agents/codemie-code/ui/mentions.d.ts +86 -0
- package/dist/agents/codemie-code/ui/mentions.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/mentions.js +122 -0
- package/dist/agents/codemie-code/ui/mentions.js.map +1 -0
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts +38 -0
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/terminalCodes.js +42 -0
- package/dist/agents/codemie-code/ui/terminalCodes.js.map +1 -0
- package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +1 -1
- package/dist/agents/codemie-code/ui/todoPanel.js +3 -4
- package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -1
- package/dist/agents/codemie-code/ui.d.ts +8 -7
- package/dist/agents/codemie-code/ui.d.ts.map +1 -1
- package/dist/agents/codemie-code/ui.js +87 -145
- package/dist/agents/codemie-code/ui.js.map +1 -1
- package/dist/agents/core/AgentCLI.d.ts +5 -0
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +22 -0
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +58 -28
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/extension/BaseExtensionInstaller.d.ts +7 -1
- package/dist/agents/core/extension/BaseExtensionInstaller.d.ts.map +1 -1
- package/dist/agents/core/extension/BaseExtensionInstaller.js +58 -15
- package/dist/agents/core/extension/BaseExtensionInstaller.js.map +1 -1
- package/dist/agents/core/types.d.ts +17 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts +27 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.js +63 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.js.map +1 -0
- package/dist/agents/plugins/claude/claude-message-types.d.ts +1 -0
- package/dist/agents/plugins/claude/claude-message-types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +66 -29
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.session.js +14 -7
- package/dist/agents/plugins/claude/claude.session.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +4 -4
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +43 -8
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +68 -40
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
- package/dist/agents/registry.d.ts +1 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +3 -1
- package/dist/agents/registry.js.map +1 -1
- package/dist/cli/commands/assistants/chat.d.ts +11 -0
- package/dist/cli/commands/assistants/chat.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat.js +201 -0
- package/dist/cli/commands/assistants/chat.js.map +1 -0
- package/dist/cli/commands/assistants/constants.d.ts +81 -0
- package/dist/cli/commands/assistants/constants.d.ts.map +1 -0
- package/dist/cli/commands/assistants/constants.js +75 -0
- package/dist/cli/commands/assistants/constants.js.map +1 -0
- package/dist/cli/commands/assistants/generators/claude-agent-generator.d.ts +26 -0
- package/dist/cli/commands/assistants/generators/claude-agent-generator.d.ts.map +1 -0
- package/dist/cli/commands/assistants/generators/claude-agent-generator.js +115 -0
- package/dist/cli/commands/assistants/generators/claude-agent-generator.js.map +1 -0
- package/dist/cli/commands/assistants/index.d.ts +11 -0
- package/dist/cli/commands/assistants/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/index.js +28 -0
- package/dist/cli/commands/assistants/index.js.map +1 -0
- package/dist/cli/commands/assistants/list.d.ts +11 -0
- package/dist/cli/commands/assistants/list.d.ts.map +1 -0
- package/dist/cli/commands/assistants/list.js +323 -0
- package/dist/cli/commands/assistants/list.js.map +1 -0
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +18 -6
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/self-update.d.ts +3 -0
- package/dist/cli/commands/self-update.d.ts.map +1 -0
- package/dist/cli/commands/self-update.js +55 -0
- package/dist/cli/commands/self-update.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +8 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +13 -0
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/utils/auth.d.ts +22 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +50 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/cli-updater.d.ts +70 -0
- package/dist/utils/cli-updater.d.ts.map +1 -0
- package/dist/utils/cli-updater.js +339 -0
- package/dist/utils/cli-updater.js.map +1 -0
- package/dist/utils/config.d.ts +6 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +13 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/native-installer.d.ts.map +1 -1
- package/dist/utils/native-installer.js +48 -17
- package/dist/utils/native-installer.js.map +1 -1
- package/dist/utils/processes.js +1 -1
- package/dist/utils/profile.d.ts +2 -0
- package/dist/utils/profile.d.ts.map +1 -1
- package/dist/utils/profile.js +5 -0
- package/dist/utils/profile.js.map +1 -1
- package/dist/utils/sdk-client.d.ts +15 -0
- package/dist/utils/sdk-client.d.ts.map +1 -0
- package/dist/utils/sdk-client.js +92 -0
- package/dist/utils/sdk-client.js.map +1 -0
- package/package.json +7 -2
- package/dist/agents/plugins/claude/plugin/commands/codemie-pr.md +0 -25
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal Control Codes and Escape Sequences
|
|
3
|
+
*/
|
|
4
|
+
export declare const ESC = "\u001B";
|
|
5
|
+
export declare const CSI = "\u001B[";
|
|
6
|
+
export declare const KEYS: {
|
|
7
|
+
readonly ESCAPE: "\u001B";
|
|
8
|
+
readonly ARROW_UP: "\u001B[A";
|
|
9
|
+
readonly ARROW_DOWN: "\u001B[B";
|
|
10
|
+
};
|
|
11
|
+
export declare const CURSOR: {
|
|
12
|
+
readonly up: (n: number) => string;
|
|
13
|
+
readonly toLineStart: "\r";
|
|
14
|
+
};
|
|
15
|
+
export declare const CLEAR: {
|
|
16
|
+
readonly toEndOfLine: "\u001B[K";
|
|
17
|
+
readonly entireLine: "\u001B[2K";
|
|
18
|
+
};
|
|
19
|
+
export declare const CONTROL: {
|
|
20
|
+
readonly BACKSPACE: "\b";
|
|
21
|
+
readonly DELETE: "";
|
|
22
|
+
readonly CTRL_C: "\u0003";
|
|
23
|
+
readonly CTRL_P: "\u0010";
|
|
24
|
+
readonly CTRL_H: "\b";
|
|
25
|
+
readonly CTRL_T: "\u0014";
|
|
26
|
+
readonly CTRL_S: "\u0013";
|
|
27
|
+
readonly CTRL_I: "\t";
|
|
28
|
+
readonly TAB: "\t";
|
|
29
|
+
};
|
|
30
|
+
export declare const NEWLINE: {
|
|
31
|
+
readonly CR: "\r";
|
|
32
|
+
readonly LF: "\n";
|
|
33
|
+
readonly CRLF: "\r\n";
|
|
34
|
+
readonly LFCR: "\n\r";
|
|
35
|
+
};
|
|
36
|
+
export declare function startsWithEscape(data: string): boolean;
|
|
37
|
+
export declare function isKey(sequence: string, key: keyof typeof KEYS): boolean;
|
|
38
|
+
//# sourceMappingURL=terminalCodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminalCodes.d.ts","sourceRoot":"","sources":["../../../../src/agents/codemie-code/ui/terminalCodes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,GAAG,WAAS,CAAC;AAC1B,eAAO,MAAM,GAAG,YAAY,CAAC;AAE7B,eAAO,MAAM,IAAI;;;;CAIP,CAAC;AAEX,eAAO,MAAM,MAAM;qBACT,MAAM,KAAG,MAAM;;CAEf,CAAC;AAEX,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAEX,eAAO,MAAM,OAAO;;;;;;;;;;CAUV,CAAC;AAEX,eAAO,MAAM,OAAO;;;;;CAKV,CAAC;AAEX,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,IAAI,GAAG,OAAO,CAEvE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal Control Codes and Escape Sequences
|
|
3
|
+
*/
|
|
4
|
+
export const ESC = '\x1b';
|
|
5
|
+
export const CSI = `${ESC}[`;
|
|
6
|
+
export const KEYS = {
|
|
7
|
+
ESCAPE: ESC,
|
|
8
|
+
ARROW_UP: `${CSI}A`,
|
|
9
|
+
ARROW_DOWN: `${CSI}B`,
|
|
10
|
+
};
|
|
11
|
+
export const CURSOR = {
|
|
12
|
+
up: (n) => `${CSI}${n}A`,
|
|
13
|
+
toLineStart: '\r',
|
|
14
|
+
};
|
|
15
|
+
export const CLEAR = {
|
|
16
|
+
toEndOfLine: `${CSI}K`,
|
|
17
|
+
entireLine: `${CSI}2K`,
|
|
18
|
+
};
|
|
19
|
+
export const CONTROL = {
|
|
20
|
+
BACKSPACE: '\b',
|
|
21
|
+
DELETE: '\u007F',
|
|
22
|
+
CTRL_C: '\u0003',
|
|
23
|
+
CTRL_P: '\u0010',
|
|
24
|
+
CTRL_H: '\u0008',
|
|
25
|
+
CTRL_T: '\u0014',
|
|
26
|
+
CTRL_S: '\u0013',
|
|
27
|
+
CTRL_I: '\u0009',
|
|
28
|
+
TAB: '\t',
|
|
29
|
+
};
|
|
30
|
+
export const NEWLINE = {
|
|
31
|
+
CR: '\r',
|
|
32
|
+
LF: '\n',
|
|
33
|
+
CRLF: '\r\n',
|
|
34
|
+
LFCR: '\n\r',
|
|
35
|
+
};
|
|
36
|
+
export function startsWithEscape(data) {
|
|
37
|
+
return data.startsWith(ESC);
|
|
38
|
+
}
|
|
39
|
+
export function isKey(sequence, key) {
|
|
40
|
+
return sequence === KEYS[key];
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=terminalCodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminalCodes.js","sourceRoot":"","sources":["../../../../src/agents/codemie-code/ui/terminalCodes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC;AAC1B,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE7B,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG,GAAG,GAAG;IACnB,UAAU,EAAE,GAAG,GAAG,GAAG;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG;IACxC,WAAW,EAAE,IAAI;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,WAAW,EAAE,GAAG,GAAG,GAAG;IACtB,UAAU,EAAE,GAAG,GAAG,IAAI;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,IAAI;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,QAAgB,EAAE,GAAsB;IAC5D,OAAO,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todoPanel.d.ts","sourceRoot":"","sources":["../../../../src/agents/codemie-code/ui/todoPanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,sBAAsB;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,SAAS;IAIR,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,gBAAgB,CAA6B;gBAEjC,OAAO,GAAE,kBAAuB;IAWpD;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAK3B;;OAEG;IACH,MAAM,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"todoPanel.d.ts","sourceRoot":"","sources":["../../../../src/agents/codemie-code/ui/todoPanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,sBAAsB;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,SAAS;IAIR,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,gBAAgB,CAA6B;gBAEjC,OAAO,GAAE,kBAAuB;IAWpD;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAK3B;;OAEG;IACH,MAAM,IAAI,MAAM;IAgChB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,cAAc;IA4CtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM;IAuC/D;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAmB/B;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAY7D;;OAEG;IACH,cAAc,IAAI,IAAI;IAatB;;OAEG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAWhD;;OAEG;IACH,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAWnD;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAIlB;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,IAAI;CAGvC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,IAAI,EAAE,EACd,aAAa,CAAC,EAAE,IAAI,EAAE,GACrB,IAAI,CAUN;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAUlC"}
|
|
@@ -40,14 +40,13 @@ export class TodoPanel {
|
|
|
40
40
|
return this.renderEmptyState();
|
|
41
41
|
}
|
|
42
42
|
// Compact mode: show single-line progress instead of full panel
|
|
43
|
+
// Use compact single-line format if compact mode is enabled
|
|
43
44
|
if (this.options.compact) {
|
|
44
45
|
return this.renderCompactProgress();
|
|
45
46
|
}
|
|
46
47
|
const sections = [];
|
|
47
|
-
// Add header
|
|
48
|
-
sections.push(this.renderHeader());
|
|
49
|
-
// Add todo items
|
|
50
|
-
sections.push(this.renderTodoItems());
|
|
48
|
+
// Add header and todo items
|
|
49
|
+
sections.push(this.renderHeader(), this.renderTodoItems());
|
|
51
50
|
// Add progress section
|
|
52
51
|
if (this.options.showProgress && this.lastProgressInfo) {
|
|
53
52
|
sections.push(this.renderProgress());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todoPanel.js","sourceRoot":"","sources":["../../../../src/agents/codemie-code/ui/todoPanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAsB3D;;GAEG;AACH,MAAM,OAAO,SAAS;IAIA;IAHZ,KAAK,GAAW,EAAE,CAAC;IACnB,gBAAgB,GAAwB,IAAI,CAAC;IAErD,YAAoB,UAA8B,EAAE;QAAhC,YAAO,GAAP,OAAO,CAAyB;QAClD,IAAI,CAAC,OAAO,GAAG;YACb,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,KAAK;YACrB,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;YACZ,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,
|
|
1
|
+
{"version":3,"file":"todoPanel.js","sourceRoot":"","sources":["../../../../src/agents/codemie-code/ui/todoPanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAsB3D;;GAEG;AACH,MAAM,OAAO,SAAS;IAIA;IAHZ,KAAK,GAAW,EAAE,CAAC;IACnB,gBAAgB,GAAwB,IAAI,CAAC;IAErD,YAAoB,UAA8B,EAAE;QAAhC,YAAO,GAAP,OAAO,CAAyB;QAClD,IAAI,CAAC,OAAO,GAAG;YACb,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,KAAK;YACrB,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;YACZ,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC;QAED,gEAAgE;QAChE,4DAA4D;QAC5D,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,4BAA4B;QAC5B,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,eAAe,EAAE,CACvB,CAAC;QAEF,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,OAAO,KAAK,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAE1E,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAEnD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,KAAK,MAAM,UAAU,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAAU,EAAE,KAAa;QAC9C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEjC,0BAA0B;QAC1B,IAAI,IAAY,CAAC;QACjB,IAAI,YAAsC,CAAC;QAE3C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,WAAW;gBACd,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1B,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,SAAS,CAAC;YACf;gBACE,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM;QACV,CAAC;QAED,iBAAiB;QACjB,IAAI,cAAc,GAAG,OAAO,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC;YACzE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;QAC5E,CAAC;QAED,iBAAiB;QACjB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAEnD,IAAI,IAAI,GAAG,GAAG,QAAQ,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;QAElD,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE/D,eAAe;QACf,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QAEhC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,SAAS,GAAG,QAAQ,GAAG,CAAC;QAEhD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,IAAI,KAAK,eAAe,UAAU,IAAI,CAAC,CAAC;QAE7E,OAAO,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW;YAAE,OAAO,EAAE,CAAC;QAEnD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACjG,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,SAAe;QACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QAElD,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;QACpC,IAAI,QAAQ,GAAG,EAAE;YAAE,OAAO,GAAG,QAAQ,OAAO,CAAC;QAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,EAAE;YAAE,OAAO,GAAG,SAAS,OAAO,CAAC;QAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,GAAG,QAAQ,OAAO,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,aAAqB,EAAE,YAAoB;QACpD,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACpC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,YAAY,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,aAAa,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE5E,IAAI,IAAI,GAAG,MAAM,SAAS,IAAI,KAAK,KAAK,UAAU,IAAI,CAAC;QAEvD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;gBACpD,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC9C,WAAW,CAAC,OAAO,CAAC;YACtB,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,OAAe,EAAE,SAAkB;QACpD,IAAI,cAAc,GAAG,OAAO,CAAC;QAE7B,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACnC,cAAc,GAAG,GAAG,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC;QAED,wCAAwC;QACxC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAEjF,IAAI,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,GAAG,SAAS,IAAI,KAAK,kBAAkB,EACvC,mBAAmB,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,QAAkB;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAElC,MAAM,WAAW,GAAG,QAAQ;aACzB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,WAAqB;QAC1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErC,MAAM,cAAc,GAAG,WAAW;aAC/B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,UAA8B,EAAE;IAEhC,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,KAAc,EACd,aAAsB;IAEtB,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAEpD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,OAAO,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,aAA6B;IAE7B,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,oBAAoB;QAC7B,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE;YACjE,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,sBAAsB,EAAE;YAC/E,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,uBAAuB,EAAE;SAC5E;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { CodeMieAgent } from './agent.js';
|
|
2
|
-
import {
|
|
2
|
+
import type { ClipboardImage } from '../../utils/clipboard.js';
|
|
3
3
|
/**
|
|
4
4
|
* Terminal UI interface for CodeMie Agent using Clack
|
|
5
5
|
*/
|
|
6
6
|
export declare class CodeMieTerminalUI {
|
|
7
|
-
private agent;
|
|
7
|
+
private readonly agent;
|
|
8
8
|
private currentSpinner?;
|
|
9
|
-
private todoPanel;
|
|
10
|
-
private progressTracker;
|
|
9
|
+
private readonly todoPanel;
|
|
10
|
+
private readonly progressTracker;
|
|
11
11
|
private planMode;
|
|
12
12
|
private activePlanningPhase;
|
|
13
|
+
private assistantSuggestions;
|
|
13
14
|
constructor(agent: CodeMieAgent);
|
|
14
15
|
/**
|
|
15
16
|
* Start interactive terminal session
|
|
@@ -142,7 +143,7 @@ export declare class CodeMieTerminalUI {
|
|
|
142
143
|
/**
|
|
143
144
|
* Handle hotkey actions
|
|
144
145
|
*/
|
|
145
|
-
|
|
146
|
+
handleHotkey(action: string): void;
|
|
146
147
|
/**
|
|
147
148
|
* Toggle plan mode on/off
|
|
148
149
|
*/
|
|
@@ -158,11 +159,11 @@ export declare class CodeMieTerminalUI {
|
|
|
158
159
|
/**
|
|
159
160
|
* Show hotkey help
|
|
160
161
|
*/
|
|
161
|
-
|
|
162
|
+
showHotkeyHelp(): void;
|
|
162
163
|
/**
|
|
163
164
|
* Show current mode status
|
|
164
165
|
*/
|
|
165
|
-
|
|
166
|
+
showModeStatus(): void;
|
|
166
167
|
/**
|
|
167
168
|
* Format plan for display with proper text wrapping
|
|
168
169
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/agents/codemie-code/ui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C,OAAO,
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/agents/codemie-code/ui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAY3D;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,cAAc,CAAC,CAAM;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,YAAY;IAgB/B;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+CvC;;OAEG;YACW,iBAAiB;IAkK/B;;OAEG;YACW,gBAAgB;IAqB9B;;OAEG;YACW,aAAa;IAgE3B;;OAEG;YACW,iBAAiB;IAqH/B;;OAEG;YACW,SAAS;IA8BvB;;OAEG;YACW,UAAU;IAsBxB;;OAEG;YACW,cAAc;IA4B5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,cAAc,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IA0FrF;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,GAAG,EAAO,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAmH/F;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,eAAe;IA4CvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;OAEG;IACH,cAAc,IAAI,IAAI;IAKtB;;OAEG;IACH,eAAe,IAAI,IAAI;IAKvB;;OAEG;YACW,SAAS;IAYvB;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAO3B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAmBnC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAyBxB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY9B;;OAEG;YACW,0BAA0B;IA0ExC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0C5B;;OAEG;IACH,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAc;IAErC,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAsDtB;;OAEG;IACH,OAAO,CAAC,eAAe,CAAa;IAEpC,OAAO,CAAC,oBAAoB;IAwC5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwBzC;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAalC;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACI,cAAc,IAAI,IAAI;IA8B7B;;OAEG;IACI,cAAc,IAAI,IAAI;IAgC7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgC5B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAmChB;;OAEG;IACH,OAAO,IAAI,IAAI;CAUhB"}
|
|
@@ -2,11 +2,15 @@ import { intro, outro, text, spinner, note, isCancel } from '@clack/prompts';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { formatToolMetadata } from './toolMetadata.js';
|
|
4
4
|
import { formatCost, formatTokens, formatTokenUsageSummary } from './tokenUtils.js';
|
|
5
|
-
import { hasClipboardImage, getClipboardImage } from '../../utils/clipboard.js';
|
|
6
5
|
import { TodoPanel } from './ui/todoPanel.js';
|
|
7
6
|
import { getProgressTracker } from './ui/progressTracker.js';
|
|
8
7
|
import { TodoStateManager } from './tools/planning.js';
|
|
9
8
|
import { logger } from '../../utils/logger.js';
|
|
9
|
+
import { loadRegisteredAssistants } from '../../utils/config.js';
|
|
10
|
+
import { highlightMentionsInText } from './ui/mentions.js';
|
|
11
|
+
import { startsWithEscape } from './ui/terminalCodes.js';
|
|
12
|
+
import { processKeyInput } from './ui/keyHandlers.js';
|
|
13
|
+
import { ReadFileTool, ListDirectoryTool, ExecuteCommandTool } from './tools/index.js';
|
|
10
14
|
/**
|
|
11
15
|
* Terminal UI interface for CodeMie Agent using Clack
|
|
12
16
|
*/
|
|
@@ -17,6 +21,7 @@ export class CodeMieTerminalUI {
|
|
|
17
21
|
progressTracker;
|
|
18
22
|
planMode = false;
|
|
19
23
|
activePlanningPhase = null;
|
|
24
|
+
assistantSuggestions = [];
|
|
20
25
|
constructor(agent) {
|
|
21
26
|
this.agent = agent;
|
|
22
27
|
this.todoPanel = new TodoPanel({
|
|
@@ -28,7 +33,7 @@ export class CodeMieTerminalUI {
|
|
|
28
33
|
showCelebrations: true,
|
|
29
34
|
compact: true
|
|
30
35
|
});
|
|
31
|
-
// Register for
|
|
36
|
+
// Register for to_do update events
|
|
32
37
|
TodoStateManager.addEventCallback(this.handleTodoUpdate.bind(this));
|
|
33
38
|
}
|
|
34
39
|
/**
|
|
@@ -77,6 +82,11 @@ export class CodeMieTerminalUI {
|
|
|
77
82
|
* Get input from user with Shift+Enter multiline support and image pasting
|
|
78
83
|
*/
|
|
79
84
|
async getMultilineInput() {
|
|
85
|
+
// Load assistants for autocomplete
|
|
86
|
+
if (this.assistantSuggestions.length === 0) {
|
|
87
|
+
const assistants = await loadRegisteredAssistants();
|
|
88
|
+
this.assistantSuggestions = assistants.map(a => ({ slug: a.slug, name: a.name }));
|
|
89
|
+
}
|
|
80
90
|
return new Promise((resolve) => {
|
|
81
91
|
if (!process.stdin.setRawMode) {
|
|
82
92
|
// Fallback for environments without raw mode
|
|
@@ -118,7 +128,11 @@ export class CodeMieTerminalUI {
|
|
|
118
128
|
let isFirstLine = true;
|
|
119
129
|
let escapeSequence = '';
|
|
120
130
|
let images = [];
|
|
121
|
-
|
|
131
|
+
// Autocomplete state
|
|
132
|
+
let autocompleteActive = false;
|
|
133
|
+
let autocompleteList = [];
|
|
134
|
+
let autocompleteIndex = 0;
|
|
135
|
+
let autocompleteStartPos = -1; // Position where @ was typed
|
|
122
136
|
const writePrompt = () => {
|
|
123
137
|
try {
|
|
124
138
|
const prompt = isFirstLine ? '> ' : '... ';
|
|
@@ -129,145 +143,67 @@ export class CodeMieTerminalUI {
|
|
|
129
143
|
}
|
|
130
144
|
};
|
|
131
145
|
writePrompt();
|
|
132
|
-
process.stdin.on('data', (key) => {
|
|
146
|
+
process.stdin.on('data', async (key) => {
|
|
133
147
|
if (cleanupDone)
|
|
134
148
|
return; // Prevent processing after cleanup
|
|
135
149
|
try {
|
|
136
150
|
const data = key.toString('utf8');
|
|
137
|
-
|
|
138
|
-
if (
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}, 10);
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
// Check for Shift+Enter patterns on macOS
|
|
147
|
-
// Shift+Enter in macOS Terminal typically sends: \r\n or \n\r
|
|
148
|
-
if (data === '\r\n' || data === '\n\r' || (escapeSequence && data === '\r')) {
|
|
149
|
-
// This is Shift+Enter - add line and continue
|
|
150
|
-
lines.push(currentLine);
|
|
151
|
-
currentLine = '';
|
|
152
|
-
isFirstLine = false;
|
|
153
|
-
process.stdout.write('\n');
|
|
154
|
-
writePrompt();
|
|
155
|
-
escapeSequence = '';
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
// Regular Enter - send message
|
|
159
|
-
if (data === '\r' || data === '\n') {
|
|
160
|
-
if (currentLine.trim() === '' && lines.length === 0) {
|
|
161
|
-
// Empty input, continue asking
|
|
162
|
-
writePrompt();
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
// Send the message
|
|
166
|
-
if (currentLine.trim() !== '') {
|
|
167
|
-
lines.push(currentLine);
|
|
168
|
-
}
|
|
169
|
-
process.stdout.write('\n');
|
|
170
|
-
performCleanup();
|
|
171
|
-
resolve({
|
|
172
|
-
text: lines.join('\n'),
|
|
173
|
-
images: images
|
|
151
|
+
const config = this.agent.getConfig();
|
|
152
|
+
if (config?.debug && autocompleteActive) {
|
|
153
|
+
logger.debug('Key pressed during autocomplete', {
|
|
154
|
+
data: data.split('').map(c => c.codePointAt(0) ?? 0).join(','),
|
|
155
|
+
escapeSeq: escapeSequence.split('').map(c => c.codePointAt(0) ?? 0).join(','),
|
|
156
|
+
listLength: autocompleteList.length
|
|
174
157
|
});
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
// Ctrl+C
|
|
178
|
-
if (data === '\u0003') {
|
|
179
|
-
performCleanup();
|
|
180
|
-
resolve(null);
|
|
181
|
-
return;
|
|
182
158
|
}
|
|
183
|
-
//
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
159
|
+
// Accumulate escape sequences
|
|
160
|
+
if (startsWithEscape(data) || escapeSequence.length > 0) {
|
|
161
|
+
if (!startsWithEscape(data) && escapeSequence.length > 0) {
|
|
162
|
+
escapeSequence += data;
|
|
163
|
+
}
|
|
164
|
+
else if (startsWithEscape(data)) {
|
|
165
|
+
escapeSequence = data;
|
|
189
166
|
}
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
// Hotkeys for mode switching
|
|
193
|
-
// Ctrl+P - Toggle plan mode
|
|
194
|
-
if (data === '\u0010') {
|
|
195
|
-
this.handleHotkey('toggle-plan-mode');
|
|
196
|
-
// Mode change notification is handled in showModeChangeNotification()
|
|
197
|
-
writePrompt();
|
|
198
|
-
process.stdout.write(currentLine);
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
// Ctrl+H - Show hotkey help
|
|
202
|
-
if (data === '\u0008') {
|
|
203
|
-
this.showHotkeyHelp();
|
|
204
|
-
writePrompt();
|
|
205
|
-
process.stdout.write(currentLine);
|
|
206
|
-
return;
|
|
207
|
-
}
|
|
208
|
-
// Ctrl+T - Show current todos
|
|
209
|
-
if (data === '\u0014') {
|
|
210
|
-
this.handleHotkey('show-todos');
|
|
211
|
-
writePrompt();
|
|
212
|
-
process.stdout.write(currentLine);
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
// Ctrl+S - Show current mode status (changed from Ctrl+M to avoid Enter conflict)
|
|
216
|
-
if (data === '\u0013') {
|
|
217
|
-
this.showModeStatus();
|
|
218
|
-
writePrompt();
|
|
219
|
-
process.stdout.write(currentLine);
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
// Alt+M - Show mode status (Alt key sequences start with \x1b)
|
|
223
|
-
if (data === 'm' && escapeSequence.includes('\x1b')) {
|
|
224
|
-
this.showModeStatus();
|
|
225
|
-
writePrompt();
|
|
226
|
-
process.stdout.write(currentLine);
|
|
227
|
-
escapeSequence = '';
|
|
228
|
-
return;
|
|
229
167
|
}
|
|
230
|
-
//
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
168
|
+
// Build state object for key handler
|
|
169
|
+
const state = {
|
|
170
|
+
currentLine,
|
|
171
|
+
lines,
|
|
172
|
+
isFirstLine,
|
|
173
|
+
autocompleteActive,
|
|
174
|
+
autocompleteList,
|
|
175
|
+
autocompleteIndex,
|
|
176
|
+
autocompleteStartPos,
|
|
177
|
+
escapeSequence,
|
|
178
|
+
images,
|
|
179
|
+
ui: this,
|
|
180
|
+
};
|
|
181
|
+
// Process key through handler registry
|
|
182
|
+
const result = await processKeyInput(data, state);
|
|
183
|
+
// Update local variables from state
|
|
184
|
+
currentLine = state.currentLine;
|
|
185
|
+
lines = state.lines;
|
|
186
|
+
isFirstLine = state.isFirstLine;
|
|
187
|
+
autocompleteActive = state.autocompleteActive;
|
|
188
|
+
autocompleteList = state.autocompleteList;
|
|
189
|
+
autocompleteIndex = state.autocompleteIndex;
|
|
190
|
+
autocompleteStartPos = state.autocompleteStartPos;
|
|
191
|
+
escapeSequence = state.escapeSequence;
|
|
192
|
+
// images array is modified by reference
|
|
193
|
+
// Handle result
|
|
194
|
+
if (result.handled) {
|
|
195
|
+
if (result.shouldRewritePrompt) {
|
|
256
196
|
writePrompt();
|
|
257
197
|
process.stdout.write(currentLine);
|
|
258
|
-
});
|
|
259
|
-
return;
|
|
260
|
-
}
|
|
261
|
-
// Handle clipboard paste (Cmd+V on macOS, Ctrl+V on Windows/Linux)
|
|
262
|
-
// Pasted content can be multiple characters, so handle any printable text
|
|
263
|
-
if (data.length > 1 || (data.length === 1 && (data.charCodeAt(0) >= 32 || data === '\t'))) {
|
|
264
|
-
// Filter out non-printable characters except tabs
|
|
265
|
-
const printableData = data.split('').filter(char => char.charCodeAt(0) >= 32 || char === '\t').join('');
|
|
266
|
-
if (printableData.length > 0) {
|
|
267
|
-
currentLine += printableData;
|
|
268
|
-
process.stdout.write(printableData);
|
|
269
198
|
}
|
|
199
|
+
if (result.shouldReturn) {
|
|
200
|
+
performCleanup();
|
|
201
|
+
resolve(result.value ?? null);
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
return; // Handler processed the key
|
|
270
205
|
}
|
|
206
|
+
// Clear escape sequence if no handler matched (shouldn't happen)
|
|
271
207
|
escapeSequence = '';
|
|
272
208
|
}
|
|
273
209
|
catch (error) {
|
|
@@ -386,7 +322,7 @@ export class CodeMieTerminalUI {
|
|
|
386
322
|
}
|
|
387
323
|
this.currentSpinner.start(chalk.white('Thinking...'));
|
|
388
324
|
break;
|
|
389
|
-
case 'content_chunk':
|
|
325
|
+
case 'content_chunk': {
|
|
390
326
|
if (!hasStarted) {
|
|
391
327
|
// Stop any existing spinner and start response
|
|
392
328
|
if (this.currentSpinner) {
|
|
@@ -396,14 +332,17 @@ export class CodeMieTerminalUI {
|
|
|
396
332
|
console.log(chalk.cyan('\nCodeMie Thoughts:'));
|
|
397
333
|
hasStarted = true;
|
|
398
334
|
}
|
|
399
|
-
|
|
335
|
+
// Highlight [Assistant @slug] prefix in responses
|
|
336
|
+
const highlightedContent = highlightMentionsInText(event.content || '');
|
|
337
|
+
process.stdout.write(highlightedContent);
|
|
400
338
|
break;
|
|
339
|
+
}
|
|
401
340
|
case 'tool_call_start':
|
|
402
341
|
toolCallCount++;
|
|
403
342
|
if (!this.currentSpinner) {
|
|
404
343
|
this.currentSpinner = spinner();
|
|
405
344
|
}
|
|
406
|
-
this.currentSpinner.start(chalk.yellow(`Using ${event.toolName}
|
|
345
|
+
this.currentSpinner.start(chalk.yellow(`Using ${event.toolName}`));
|
|
407
346
|
break;
|
|
408
347
|
case 'tool_call_progress':
|
|
409
348
|
if (this.currentSpinner && event.toolProgress) {
|
|
@@ -422,12 +361,13 @@ export class CodeMieTerminalUI {
|
|
|
422
361
|
const message = event.toolMetadata
|
|
423
362
|
? formatToolMetadata(event.toolName || 'tool', event.toolMetadata)
|
|
424
363
|
: `✓ ${event.toolName} completed`;
|
|
425
|
-
this.currentSpinner.stop(
|
|
364
|
+
this.currentSpinner.stop();
|
|
365
|
+
this.currentSpinner = undefined;
|
|
366
|
+
console.log(chalk.green(`◇ ${message}`));
|
|
426
367
|
// Show additional details if available and not an error (but avoid duplication)
|
|
427
368
|
if (event.toolMetadata && event.toolMetadata.success && this.shouldShowDetails(event.toolName || '')) {
|
|
428
369
|
this.showToolDetails(event.toolName || '', event.toolMetadata);
|
|
429
370
|
}
|
|
430
|
-
this.currentSpinner = undefined;
|
|
431
371
|
}
|
|
432
372
|
break;
|
|
433
373
|
case 'complete':
|
|
@@ -734,22 +674,22 @@ export class CodeMieTerminalUI {
|
|
|
734
674
|
*/
|
|
735
675
|
shouldShowDetails(toolName) {
|
|
736
676
|
// Show details for these tools when they have interesting information
|
|
737
|
-
return [
|
|
677
|
+
return [ReadFileTool.name, ListDirectoryTool.name, ExecuteCommandTool.name].includes(toolName);
|
|
738
678
|
}
|
|
739
679
|
/**
|
|
740
680
|
* Show additional tool details
|
|
741
681
|
*/
|
|
742
682
|
showToolDetails(toolName, metadata) {
|
|
743
|
-
if (!metadata
|
|
683
|
+
if (!metadata?.success)
|
|
744
684
|
return;
|
|
745
685
|
let details = '';
|
|
746
686
|
switch (toolName) {
|
|
747
|
-
case
|
|
687
|
+
case ReadFileTool.name:
|
|
748
688
|
if (metadata.contentPreview) {
|
|
749
689
|
details = chalk.white(`Preview:\n${metadata.contentPreview}`);
|
|
750
690
|
}
|
|
751
691
|
break;
|
|
752
|
-
case
|
|
692
|
+
case ListDirectoryTool.name:
|
|
753
693
|
if (metadata.contentPreview && metadata.contentPreview !== 'Empty directory') {
|
|
754
694
|
// Parse the content preview and format each item on a new line
|
|
755
695
|
const preview = metadata.contentPreview;
|
|
@@ -768,7 +708,7 @@ export class CodeMieTerminalUI {
|
|
|
768
708
|
}
|
|
769
709
|
}
|
|
770
710
|
break;
|
|
771
|
-
case
|
|
711
|
+
case ExecuteCommandTool.name:
|
|
772
712
|
if (metadata.outputPreview && metadata.outputPreview !== 'No output') {
|
|
773
713
|
details = chalk.white(`Output:\n${metadata.outputPreview}`);
|
|
774
714
|
}
|
|
@@ -891,16 +831,18 @@ export class CodeMieTerminalUI {
|
|
|
891
831
|
*/
|
|
892
832
|
showTaskWelcome(task) {
|
|
893
833
|
intro(chalk.cyan('🤖 CodeMie Native Agent'));
|
|
834
|
+
// Highlight @ mentions in the task
|
|
835
|
+
const highlightedTask = highlightMentionsInText(task);
|
|
894
836
|
if (this.planMode) {
|
|
895
837
|
console.log(chalk.cyan('◇ Task Execution'));
|
|
896
|
-
console.log(` Task: ${
|
|
838
|
+
console.log(` Task: ${highlightedTask}`);
|
|
897
839
|
console.log(` Mode: ${chalk.cyan('Plan Mode')} - Structured planning enabled`);
|
|
898
840
|
console.log('');
|
|
899
841
|
this.showPlanningWelcome();
|
|
900
842
|
}
|
|
901
843
|
else {
|
|
902
844
|
console.log(chalk.cyan('◇ Task Execution'));
|
|
903
|
-
console.log(` Task: ${
|
|
845
|
+
console.log(` Task: ${highlightedTask}`);
|
|
904
846
|
console.log('');
|
|
905
847
|
}
|
|
906
848
|
}
|
|
@@ -1075,9 +1017,9 @@ export class CodeMieTerminalUI {
|
|
|
1075
1017
|
if (!toolInfo)
|
|
1076
1018
|
return;
|
|
1077
1019
|
const toolNames = {
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1020
|
+
[ListDirectoryTool.name]: 'Exploring',
|
|
1021
|
+
[ReadFileTool.name]: 'Reading',
|
|
1022
|
+
[ExecuteCommandTool.name]: 'Executing',
|
|
1081
1023
|
'llm_analysis': 'Analyzing',
|
|
1082
1024
|
'llm_plan_generation': 'Generating Plan',
|
|
1083
1025
|
'plan_validation': 'Validating',
|