@codemieai/code 0.0.33 → 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 +78 -7
- package/bin/codemie-claude-acp.js +21 -0
- package/bin/codemie-opencode.js +11 -0
- package/bin/codemie.js +13 -0
- package/dist/agents/codemie-code/agent.d.ts +38 -4
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +333 -178
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/index.d.ts +2 -1
- package/dist/agents/codemie-code/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/index.js +36 -7
- package/dist/agents/codemie-code/index.js.map +1 -1
- package/dist/agents/codemie-code/prompts.d.ts +12 -5
- package/dist/agents/codemie-code/prompts.d.ts.map +1 -1
- package/dist/agents/codemie-code/prompts.js +53 -6
- 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 +27 -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 +25 -1
- 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 +90 -27
- 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/session/BaseSessionAdapter.d.ts +25 -0
- package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
- package/dist/agents/core/session/discovery-types.d.ts +53 -0
- package/dist/agents/core/session/discovery-types.d.ts.map +1 -0
- package/dist/agents/core/session/discovery-types.js +8 -0
- package/dist/agents/core/session/discovery-types.js.map +1 -0
- package/dist/agents/core/types.d.ts +62 -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 +44 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +263 -12
- 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/README.md +40 -2
- package/dist/agents/plugins/claude/plugin/claude-templates/README.md +5 -5
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/CLAUDE.md.template +177 -436
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/code-review-agent-template.md.template +49 -82
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/refactor-cleaner-agent.md.template +337 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/solution-architect-agent.md.template +129 -419
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/unit-tester-agent.md.template +146 -693
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/api/api-patterns.md.template +110 -138
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/architecture.md.template +197 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/data/database-patterns.md.template +171 -91
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/development/development-practices.md.template +219 -131
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/security/security-practices.md.template +223 -98
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/code-quality.md.template +131 -95
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/testing/testing-patterns.md.template +247 -75
- package/dist/agents/plugins/claude/plugin/commands/README.md +133 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +336 -544
- package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +233 -504
- package/dist/agents/plugins/claude/plugin/commands/memory-add.md +311 -30
- package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +218 -39
- 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/plugins/gemini/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js +0 -3
- package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/index.d.ts +8 -0
- package/dist/agents/plugins/opencode/index.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/index.js +12 -0
- package/dist/agents/plugins/opencode/index.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts +207 -0
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode-message-types.js +59 -0
- package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode-model-configs.d.ts +65 -0
- package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode-model-configs.js +184 -0
- package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode.paths.d.ts +62 -0
- package/dist/agents/plugins/opencode/opencode.paths.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.paths.js +148 -0
- package/dist/agents/plugins/opencode/opencode.paths.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode.plugin.d.ts +35 -0
- package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.plugin.js +338 -0
- package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode.session.d.ts +77 -0
- package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.session.js +424 -0
- package/dist/agents/plugins/opencode/opencode.session.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts +25 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.js +96 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.js.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts +30 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js +116 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +102 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +584 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -0
- package/dist/agents/registry.d.ts +1 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +5 -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/doctor/checks/AgentsCheck.d.ts +5 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/AgentsCheck.js +29 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +104 -13
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/opencode-metrics.d.ts +13 -0
- package/dist/cli/commands/opencode-metrics.d.ts.map +1 -0
- package/dist/cli/commands/opencode-metrics.js +200 -0
- package/dist/cli/commands/opencode-metrics.js.map +1 -0
- 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/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +113 -0
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skill.d.ts +6 -0
- package/dist/cli/commands/skill.d.ts.map +1 -0
- package/dist/cli/commands/skill.js +196 -0
- package/dist/cli/commands/skill.js.map +1 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +34 -6
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +12 -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/migrations/003-remove-hooks-node.migration.d.ts +22 -0
- package/dist/migrations/003-remove-hooks-node.migration.d.ts.map +1 -0
- package/dist/migrations/003-remove-hooks-node.migration.js +103 -0
- package/dist/migrations/003-remove-hooks-node.migration.js.map +1 -0
- package/dist/migrations/index.d.ts +1 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +1 -1
- package/dist/migrations/index.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +2 -2
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js +14 -10
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
- package/dist/skills/core/SkillDiscovery.d.ts +83 -0
- package/dist/skills/core/SkillDiscovery.d.ts.map +1 -0
- package/dist/skills/core/SkillDiscovery.js +237 -0
- package/dist/skills/core/SkillDiscovery.js.map +1 -0
- package/dist/skills/core/SkillManager.d.ts +86 -0
- package/dist/skills/core/SkillManager.d.ts.map +1 -0
- package/dist/skills/core/SkillManager.js +155 -0
- package/dist/skills/core/SkillManager.js.map +1 -0
- package/dist/skills/core/types.d.ts +120 -0
- package/dist/skills/core/types.d.ts.map +1 -0
- package/dist/skills/core/types.js +20 -0
- package/dist/skills/core/types.js.map +1 -0
- package/dist/skills/index.d.ts +12 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +12 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/utils/content-loader.d.ts +25 -0
- package/dist/skills/utils/content-loader.d.ts.map +1 -0
- package/dist/skills/utils/content-loader.js +161 -0
- package/dist/skills/utils/content-loader.js.map +1 -0
- package/dist/skills/utils/frontmatter.d.ts +60 -0
- package/dist/skills/utils/frontmatter.d.ts.map +1 -0
- package/dist/skills/utils/frontmatter.js +114 -0
- package/dist/skills/utils/frontmatter.js.map +1 -0
- package/dist/skills/utils/pattern-matcher.d.ts +60 -0
- package/dist/skills/utils/pattern-matcher.d.ts.map +1 -0
- package/dist/skills/utils/pattern-matcher.js +97 -0
- package/dist/skills/utils/pattern-matcher.js.map +1 -0
- 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/installation-detector.d.ts +22 -0
- package/dist/utils/installation-detector.d.ts.map +1 -0
- package/dist/utils/installation-detector.js +49 -0
- package/dist/utils/installation-detector.js.map +1 -0
- package/dist/utils/native-installer.d.ts +49 -0
- package/dist/utils/native-installer.d.ts.map +1 -0
- package/dist/utils/native-installer.js +225 -0
- package/dist/utils/native-installer.js.map +1 -0
- 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/dist/utils/version-utils.d.ts +50 -0
- package/dist/utils/version-utils.d.ts.map +1 -0
- package/dist/utils/version-utils.js +92 -0
- package/dist/utils/version-utils.js.map +1 -0
- package/package.json +11 -3
- package/scripts/copy-mr-skill-to-global.ts +252 -0
- package/scripts/demo-hooks.sh +125 -0
- package/scripts/test-hooks.sh +196 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/INDEX.md +0 -205
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/TEMPLATE_SIZES.md +0 -74
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/layered-architecture.md.template +0 -143
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/project-structure.md.template +0 -127
- 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":"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"}
|
|
@@ -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',
|