halfcopilot 1.0.0

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.
Files changed (226) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +148 -0
  3. package/bin/halfcop.js +22 -0
  4. package/dist/index.js +3 -0
  5. package/dist/packages/cli/dist/halfcop.d.ts +6 -0
  6. package/dist/packages/cli/dist/halfcop.d.ts.map +1 -0
  7. package/dist/packages/cli/dist/halfcop.js +448 -0
  8. package/dist/packages/cli/dist/halfcop.js.map +1 -0
  9. package/dist/packages/cli/dist/index.d.ts +3 -0
  10. package/dist/packages/cli/dist/index.d.ts.map +1 -0
  11. package/dist/packages/cli/dist/index.js +251 -0
  12. package/dist/packages/cli/dist/index.js.map +1 -0
  13. package/dist/packages/cli/dist/tui/app.d.ts +11 -0
  14. package/dist/packages/cli/dist/tui/app.d.ts.map +1 -0
  15. package/dist/packages/cli/dist/tui/app.js +72 -0
  16. package/dist/packages/cli/dist/tui/app.js.map +1 -0
  17. package/dist/packages/cli/dist/tui/components/ChatView.d.ts +12 -0
  18. package/dist/packages/cli/dist/tui/components/ChatView.d.ts.map +1 -0
  19. package/dist/packages/cli/dist/tui/components/ChatView.js +6 -0
  20. package/dist/packages/cli/dist/tui/components/ChatView.js.map +1 -0
  21. package/dist/packages/cli/dist/tui/components/InputField.d.ts +8 -0
  22. package/dist/packages/cli/dist/tui/components/InputField.d.ts.map +1 -0
  23. package/dist/packages/cli/dist/tui/components/InputField.js +22 -0
  24. package/dist/packages/cli/dist/tui/components/InputField.js.map +1 -0
  25. package/dist/packages/cli/dist/tui/components/StatusBar.d.ts +13 -0
  26. package/dist/packages/cli/dist/tui/components/StatusBar.d.ts.map +1 -0
  27. package/dist/packages/cli/dist/tui/components/StatusBar.js +6 -0
  28. package/dist/packages/cli/dist/tui/components/StatusBar.js.map +1 -0
  29. package/dist/packages/cli/dist/tui/components/ToolApproval.d.ts +10 -0
  30. package/dist/packages/cli/dist/tui/components/ToolApproval.d.ts.map +1 -0
  31. package/dist/packages/cli/dist/tui/components/ToolApproval.js +14 -0
  32. package/dist/packages/cli/dist/tui/components/ToolApproval.js.map +1 -0
  33. package/dist/packages/cli/dist/tui/components/index.d.ts +5 -0
  34. package/dist/packages/cli/dist/tui/components/index.d.ts.map +1 -0
  35. package/dist/packages/cli/dist/tui/components/index.js +5 -0
  36. package/dist/packages/cli/dist/tui/components/index.js.map +1 -0
  37. package/dist/packages/cli/dist/tui/index.d.ts +3 -0
  38. package/dist/packages/cli/dist/tui/index.d.ts.map +1 -0
  39. package/dist/packages/cli/dist/tui/index.js +3 -0
  40. package/dist/packages/cli/dist/tui/index.js.map +1 -0
  41. package/dist/packages/config/dist/defaults.d.ts +3 -0
  42. package/dist/packages/config/dist/defaults.d.ts.map +1 -0
  43. package/dist/packages/config/dist/defaults.js +30 -0
  44. package/dist/packages/config/dist/defaults.js.map +1 -0
  45. package/dist/packages/config/dist/index.d.ts +4 -0
  46. package/dist/packages/config/dist/index.d.ts.map +1 -0
  47. package/dist/packages/config/dist/index.js +4 -0
  48. package/dist/packages/config/dist/index.js.map +1 -0
  49. package/dist/packages/config/dist/loader.d.ts +4 -0
  50. package/dist/packages/config/dist/loader.d.ts.map +1 -0
  51. package/dist/packages/config/dist/loader.js +80 -0
  52. package/dist/packages/config/dist/loader.js.map +1 -0
  53. package/dist/packages/config/dist/schema.d.ts +323 -0
  54. package/dist/packages/config/dist/schema.d.ts.map +1 -0
  55. package/dist/packages/config/dist/schema.js +56 -0
  56. package/dist/packages/config/dist/schema.js.map +1 -0
  57. package/dist/packages/core/dist/agent-loop.d.ts +19 -0
  58. package/dist/packages/core/dist/agent-loop.d.ts.map +1 -0
  59. package/dist/packages/core/dist/agent-loop.js +140 -0
  60. package/dist/packages/core/dist/agent-loop.js.map +1 -0
  61. package/dist/packages/core/dist/conversation.d.ts +22 -0
  62. package/dist/packages/core/dist/conversation.d.ts.map +1 -0
  63. package/dist/packages/core/dist/conversation.js +66 -0
  64. package/dist/packages/core/dist/conversation.js.map +1 -0
  65. package/dist/packages/core/dist/hybrid/index.d.ts +4 -0
  66. package/dist/packages/core/dist/hybrid/index.d.ts.map +1 -0
  67. package/dist/packages/core/dist/hybrid/index.js +4 -0
  68. package/dist/packages/core/dist/hybrid/index.js.map +1 -0
  69. package/dist/packages/core/dist/hybrid/mapper.d.ts +11 -0
  70. package/dist/packages/core/dist/hybrid/mapper.d.ts.map +1 -0
  71. package/dist/packages/core/dist/hybrid/mapper.js +53 -0
  72. package/dist/packages/core/dist/hybrid/mapper.js.map +1 -0
  73. package/dist/packages/core/dist/hybrid/parser.d.ts +36 -0
  74. package/dist/packages/core/dist/hybrid/parser.d.ts.map +1 -0
  75. package/dist/packages/core/dist/hybrid/parser.js +118 -0
  76. package/dist/packages/core/dist/hybrid/parser.js.map +1 -0
  77. package/dist/packages/core/dist/hybrid/provider.d.ts +14 -0
  78. package/dist/packages/core/dist/hybrid/provider.d.ts.map +1 -0
  79. package/dist/packages/core/dist/hybrid/provider.js +109 -0
  80. package/dist/packages/core/dist/hybrid/provider.js.map +1 -0
  81. package/dist/packages/core/dist/index.d.ts +5 -0
  82. package/dist/packages/core/dist/index.d.ts.map +1 -0
  83. package/dist/packages/core/dist/index.js +5 -0
  84. package/dist/packages/core/dist/index.js.map +1 -0
  85. package/dist/packages/core/dist/types.d.ts +36 -0
  86. package/dist/packages/core/dist/types.d.ts.map +1 -0
  87. package/dist/packages/core/dist/types.js +11 -0
  88. package/dist/packages/core/dist/types.js.map +1 -0
  89. package/dist/packages/mcp/dist/adapter.d.ts +15 -0
  90. package/dist/packages/mcp/dist/adapter.d.ts.map +1 -0
  91. package/dist/packages/mcp/dist/adapter.js +44 -0
  92. package/dist/packages/mcp/dist/adapter.js.map +1 -0
  93. package/dist/packages/mcp/dist/client.d.ts +31 -0
  94. package/dist/packages/mcp/dist/client.d.ts.map +1 -0
  95. package/dist/packages/mcp/dist/client.js +140 -0
  96. package/dist/packages/mcp/dist/client.js.map +1 -0
  97. package/dist/packages/mcp/dist/index.d.ts +6 -0
  98. package/dist/packages/mcp/dist/index.d.ts.map +1 -0
  99. package/dist/packages/mcp/dist/index.js +4 -0
  100. package/dist/packages/mcp/dist/index.js.map +1 -0
  101. package/dist/packages/mcp/dist/transport.d.ts +47 -0
  102. package/dist/packages/mcp/dist/transport.d.ts.map +1 -0
  103. package/dist/packages/mcp/dist/transport.js +123 -0
  104. package/dist/packages/mcp/dist/transport.js.map +1 -0
  105. package/dist/packages/mcp/dist/types.d.ts +64 -0
  106. package/dist/packages/mcp/dist/types.d.ts.map +1 -0
  107. package/dist/packages/mcp/dist/types.js +2 -0
  108. package/dist/packages/mcp/dist/types.js.map +1 -0
  109. package/dist/packages/memory/dist/index.d.ts +3 -0
  110. package/dist/packages/memory/dist/index.d.ts.map +1 -0
  111. package/dist/packages/memory/dist/index.js +2 -0
  112. package/dist/packages/memory/dist/index.js.map +1 -0
  113. package/dist/packages/memory/dist/store.d.ts +15 -0
  114. package/dist/packages/memory/dist/store.d.ts.map +1 -0
  115. package/dist/packages/memory/dist/store.js +93 -0
  116. package/dist/packages/memory/dist/store.js.map +1 -0
  117. package/dist/packages/memory/dist/types.d.ts +14 -0
  118. package/dist/packages/memory/dist/types.d.ts.map +1 -0
  119. package/dist/packages/memory/dist/types.js +2 -0
  120. package/dist/packages/memory/dist/types.js.map +1 -0
  121. package/dist/packages/provider/dist/anthropic.d.ts +21 -0
  122. package/dist/packages/provider/dist/anthropic.d.ts.map +1 -0
  123. package/dist/packages/provider/dist/anthropic.js +148 -0
  124. package/dist/packages/provider/dist/anthropic.js.map +1 -0
  125. package/dist/packages/provider/dist/base.d.ts +16 -0
  126. package/dist/packages/provider/dist/base.d.ts.map +1 -0
  127. package/dist/packages/provider/dist/base.js +9 -0
  128. package/dist/packages/provider/dist/base.js.map +1 -0
  129. package/dist/packages/provider/dist/index.d.ts +6 -0
  130. package/dist/packages/provider/dist/index.d.ts.map +1 -0
  131. package/dist/packages/provider/dist/index.js +5 -0
  132. package/dist/packages/provider/dist/index.js.map +1 -0
  133. package/dist/packages/provider/dist/openai.d.ts +23 -0
  134. package/dist/packages/provider/dist/openai.d.ts.map +1 -0
  135. package/dist/packages/provider/dist/openai.js +171 -0
  136. package/dist/packages/provider/dist/openai.js.map +1 -0
  137. package/dist/packages/provider/dist/registry.d.ts +11 -0
  138. package/dist/packages/provider/dist/registry.d.ts.map +1 -0
  139. package/dist/packages/provider/dist/registry.js +61 -0
  140. package/dist/packages/provider/dist/registry.js.map +1 -0
  141. package/dist/packages/provider/dist/types.d.ts +84 -0
  142. package/dist/packages/provider/dist/types.d.ts.map +1 -0
  143. package/dist/packages/provider/dist/types.js +3 -0
  144. package/dist/packages/provider/dist/types.js.map +1 -0
  145. package/dist/packages/shared/dist/errors.d.ts +18 -0
  146. package/dist/packages/shared/dist/errors.d.ts.map +1 -0
  147. package/dist/packages/shared/dist/errors.js +35 -0
  148. package/dist/packages/shared/dist/errors.js.map +1 -0
  149. package/dist/packages/shared/dist/index.d.ts +4 -0
  150. package/dist/packages/shared/dist/index.d.ts.map +1 -0
  151. package/dist/packages/shared/dist/index.js +4 -0
  152. package/dist/packages/shared/dist/index.js.map +1 -0
  153. package/dist/packages/shared/dist/logger.d.ts +18 -0
  154. package/dist/packages/shared/dist/logger.d.ts.map +1 -0
  155. package/dist/packages/shared/dist/logger.js +39 -0
  156. package/dist/packages/shared/dist/logger.js.map +1 -0
  157. package/dist/packages/shared/dist/utils.d.ts +5 -0
  158. package/dist/packages/shared/dist/utils.d.ts.map +1 -0
  159. package/dist/packages/shared/dist/utils.js +27 -0
  160. package/dist/packages/shared/dist/utils.js.map +1 -0
  161. package/dist/packages/skills/dist/builtins.d.ts +8 -0
  162. package/dist/packages/skills/dist/builtins.d.ts.map +1 -0
  163. package/dist/packages/skills/dist/builtins.js +144 -0
  164. package/dist/packages/skills/dist/builtins.js.map +1 -0
  165. package/dist/packages/skills/dist/index.d.ts +4 -0
  166. package/dist/packages/skills/dist/index.d.ts.map +1 -0
  167. package/dist/packages/skills/dist/index.js +3 -0
  168. package/dist/packages/skills/dist/index.js.map +1 -0
  169. package/dist/packages/skills/dist/registry.d.ts +13 -0
  170. package/dist/packages/skills/dist/registry.d.ts.map +1 -0
  171. package/dist/packages/skills/dist/registry.js +93 -0
  172. package/dist/packages/skills/dist/registry.js.map +1 -0
  173. package/dist/packages/skills/dist/types.d.ts +35 -0
  174. package/dist/packages/skills/dist/types.d.ts.map +1 -0
  175. package/dist/packages/skills/dist/types.js +2 -0
  176. package/dist/packages/skills/dist/types.js.map +1 -0
  177. package/dist/packages/tools/dist/builtins/bash.d.ts +3 -0
  178. package/dist/packages/tools/dist/builtins/bash.d.ts.map +1 -0
  179. package/dist/packages/tools/dist/builtins/bash.js +38 -0
  180. package/dist/packages/tools/dist/builtins/bash.js.map +1 -0
  181. package/dist/packages/tools/dist/builtins/file-edit.d.ts +3 -0
  182. package/dist/packages/tools/dist/builtins/file-edit.d.ts.map +1 -0
  183. package/dist/packages/tools/dist/builtins/file-edit.js +45 -0
  184. package/dist/packages/tools/dist/builtins/file-edit.js.map +1 -0
  185. package/dist/packages/tools/dist/builtins/file-read.d.ts +3 -0
  186. package/dist/packages/tools/dist/builtins/file-read.d.ts.map +1 -0
  187. package/dist/packages/tools/dist/builtins/file-read.js +39 -0
  188. package/dist/packages/tools/dist/builtins/file-read.js.map +1 -0
  189. package/dist/packages/tools/dist/builtins/file-write.d.ts +3 -0
  190. package/dist/packages/tools/dist/builtins/file-write.d.ts.map +1 -0
  191. package/dist/packages/tools/dist/builtins/file-write.js +30 -0
  192. package/dist/packages/tools/dist/builtins/file-write.js.map +1 -0
  193. package/dist/packages/tools/dist/builtins/glob.d.ts +3 -0
  194. package/dist/packages/tools/dist/builtins/glob.d.ts.map +1 -0
  195. package/dist/packages/tools/dist/builtins/glob.js +33 -0
  196. package/dist/packages/tools/dist/builtins/glob.js.map +1 -0
  197. package/dist/packages/tools/dist/builtins/grep.d.ts +3 -0
  198. package/dist/packages/tools/dist/builtins/grep.d.ts.map +1 -0
  199. package/dist/packages/tools/dist/builtins/grep.js +59 -0
  200. package/dist/packages/tools/dist/builtins/grep.js.map +1 -0
  201. package/dist/packages/tools/dist/builtins/index.d.ts +10 -0
  202. package/dist/packages/tools/dist/builtins/index.d.ts.map +1 -0
  203. package/dist/packages/tools/dist/builtins/index.js +18 -0
  204. package/dist/packages/tools/dist/builtins/index.js.map +1 -0
  205. package/dist/packages/tools/dist/executor.d.ts +11 -0
  206. package/dist/packages/tools/dist/executor.d.ts.map +1 -0
  207. package/dist/packages/tools/dist/executor.js +36 -0
  208. package/dist/packages/tools/dist/executor.js.map +1 -0
  209. package/dist/packages/tools/dist/index.d.ts +7 -0
  210. package/dist/packages/tools/dist/index.d.ts.map +1 -0
  211. package/dist/packages/tools/dist/index.js +6 -0
  212. package/dist/packages/tools/dist/index.js.map +1 -0
  213. package/dist/packages/tools/dist/permission.d.ts +17 -0
  214. package/dist/packages/tools/dist/permission.d.ts.map +1 -0
  215. package/dist/packages/tools/dist/permission.js +74 -0
  216. package/dist/packages/tools/dist/permission.js.map +1 -0
  217. package/dist/packages/tools/dist/registry.d.ts +13 -0
  218. package/dist/packages/tools/dist/registry.d.ts.map +1 -0
  219. package/dist/packages/tools/dist/registry.js +34 -0
  220. package/dist/packages/tools/dist/registry.js.map +1 -0
  221. package/dist/packages/tools/dist/types.d.ts +28 -0
  222. package/dist/packages/tools/dist/types.d.ts.map +1 -0
  223. package/dist/packages/tools/dist/types.js +16 -0
  224. package/dist/packages/tools/dist/types.js.map +1 -0
  225. package/package.json +47 -0
  226. package/scripts/postinstall.mjs +24 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"halfcop.js","sourceRoot":"","sources":["../src/halfcop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,251 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from 'commander';
3
+ import { loadConfig } from '@halfcopilot/config';
4
+ import { ProviderRegistry } from '@halfcopilot/provider';
5
+ import { ToolRegistry, createBuiltinTools, PermissionChecker, ToolExecutor } from '@halfcopilot/tools';
6
+ import { AgentLoop, HybridProvider } from '@halfcopilot/core';
7
+ import { SkillRegistry, createBuiltinSkills } from '@halfcopilot/skills';
8
+ const program = new Command();
9
+ program
10
+ .name('halfcopilot')
11
+ .description('HalfCopilot — Multi-model Agent Framework CLI with Hybrid Mode')
12
+ .version('0.0.1');
13
+ function createAgent(options) {
14
+ const config = loadConfig();
15
+ const providerRegistry = new ProviderRegistry();
16
+ providerRegistry.createFromConfig(config);
17
+ const providerName = options.provider ?? config.defaultProvider ?? 'xiaomi';
18
+ let provider = providerRegistry.get(providerName);
19
+ // Apply hybrid mode if requested
20
+ if (options.hybrid) {
21
+ provider = new HybridProvider(provider);
22
+ }
23
+ const toolRegistry = new ToolRegistry();
24
+ const builtinTools = createBuiltinTools();
25
+ builtinTools.forEach(t => toolRegistry.register(t));
26
+ // Load skills
27
+ const skillRegistry = new SkillRegistry();
28
+ const builtinSkills = createBuiltinSkills();
29
+ builtinSkills.forEach(s => skillRegistry.register(s));
30
+ const permissions = new PermissionChecker({
31
+ autoApproveSafe: config.permissions.autoApproveSafe,
32
+ allow: config.permissions.allow,
33
+ deny: config.permissions.deny,
34
+ });
35
+ const executor = new ToolExecutor(toolRegistry, permissions);
36
+ const agent = new AgentLoop({
37
+ provider,
38
+ model: options.model ?? config.defaultModel ?? 'mimo-v2.5-pro',
39
+ tools: toolRegistry,
40
+ executor,
41
+ permissions,
42
+ maxTurns: config.maxTurns,
43
+ mode: options.mode ?? 'auto',
44
+ });
45
+ return { agent, providerName, config, skillRegistry };
46
+ }
47
+ program
48
+ .command('chat')
49
+ .description('Start interactive chat mode')
50
+ .option('-m, --model <model>', 'Model to use')
51
+ .option('-p, --provider <provider>', 'Provider to use')
52
+ .option('--mode <mode>', 'Agent mode (plan/review/act/auto)', 'auto')
53
+ .option('--hybrid', 'Enable hybrid mode (text block parsing for non-tool-use models)')
54
+ .option('--tui', 'Enable TUI mode (requires ink/React)')
55
+ .action(async (options) => {
56
+ try {
57
+ const { agent, providerName, config, skillRegistry } = createAgent(options);
58
+ // Try to use TUI if requested
59
+ if (options.tui) {
60
+ try {
61
+ const { render } = await import('ink');
62
+ const React = await import('react');
63
+ const { App } = await import('./tui/app.js');
64
+ const { waitUntilExit } = render(React.createElement(App, {
65
+ agent,
66
+ providerName,
67
+ model: options.model ?? config.defaultModel ?? 'mimo-v2.5-pro',
68
+ mode: options.mode ?? 'auto',
69
+ }));
70
+ await waitUntilExit();
71
+ return;
72
+ }
73
+ catch {
74
+ // Fallback to simple CLI
75
+ console.log('TUI mode not available, falling back to simple mode\n');
76
+ }
77
+ }
78
+ // Simple CLI mode
79
+ console.log('\x1b[36m╔══════════════════════════════════════════════════╗\x1b[0m');
80
+ console.log('\x1b[36m║ HalfCopilot v0.0.1 ║\x1b[0m');
81
+ console.log('\x1b[36m║ Multi-model Agent Framework CLI ║\x1b[0m');
82
+ console.log('\x1b[36m╚══════════════════════════════════════════════════╝\x1b[0m');
83
+ console.log(`\x1b[32mProvider:\x1b[0m ${providerName}`);
84
+ console.log(`\x1b[32mModel:\x1b[0m ${options.model ?? config.defaultModel ?? 'mimo-v2.5-pro'}`);
85
+ console.log(`\x1b[32mMode:\x1b[0m ${options.mode ?? 'auto'}`);
86
+ if (options.hybrid) {
87
+ console.log(`\x1b[33mHybrid Mode: Enabled\x1b[0m`);
88
+ }
89
+ console.log(`\x1b[33mType your message and press Enter. Type 'exit' to quit.\x1b[0m\n`);
90
+ const readline = await import('readline');
91
+ const rl = readline.createInterface({
92
+ input: process.stdin,
93
+ output: process.stdout,
94
+ });
95
+ const ask = () => {
96
+ rl.question('\x1b[32m❯ \x1b[0m', async (input) => {
97
+ if (input.trim().toLowerCase() === 'exit' || input.trim().toLowerCase() === 'quit') {
98
+ console.log('\x1b[33mGoodbye!\x1b[0m');
99
+ rl.close();
100
+ return;
101
+ }
102
+ if (input.trim() === '') {
103
+ ask();
104
+ return;
105
+ }
106
+ // Check for skill triggers
107
+ const matchedSkills = skillRegistry.findByTrigger(input);
108
+ if (matchedSkills.length > 0) {
109
+ console.log(`\x1b[35m[Skills matched: ${matchedSkills.map(s => s.name).join(', ')}]\x1b[0m`);
110
+ }
111
+ try {
112
+ for await (const event of agent.run(input)) {
113
+ if (event.type === 'text') {
114
+ process.stdout.write(event.content ?? '');
115
+ }
116
+ else if (event.type === 'tool_use') {
117
+ console.log(`\n\x1b[35m[Tool: ${event.toolName}]\x1b[0m`);
118
+ }
119
+ else if (event.type === 'tool_result') {
120
+ const result = event.toolOutput ?? '';
121
+ const truncated = result.length > 200 ? result.slice(0, 200) + '...' : result;
122
+ console.log(`\x1b[36m[Result: ${truncated}]\x1b[0m`);
123
+ }
124
+ else if (event.type === 'error') {
125
+ console.log(`\x1b[31m[Error: ${event.error?.message}]\x1b[0m`);
126
+ }
127
+ else if (event.type === 'done') {
128
+ console.log('\n');
129
+ }
130
+ }
131
+ }
132
+ catch (err) {
133
+ console.log(`\x1b[31m[Error: ${err instanceof Error ? err.message : err}]\x1b[0m`);
134
+ }
135
+ ask();
136
+ });
137
+ };
138
+ ask();
139
+ }
140
+ catch (err) {
141
+ console.error('\x1b[31mError:\x1b[0m', err instanceof Error ? err.message : err);
142
+ process.exit(1);
143
+ }
144
+ });
145
+ program
146
+ .command('run <prompt>')
147
+ .description('Run a single prompt and exit')
148
+ .option('-m, --model <model>', 'Model to use')
149
+ .option('-p, --provider <provider>', 'Provider to use')
150
+ .option('--mode <mode>', 'Agent mode (plan/review/act/auto)', 'act')
151
+ .option('--hybrid', 'Enable hybrid mode')
152
+ .action(async (prompt, options) => {
153
+ try {
154
+ const { agent } = createAgent(options);
155
+ for await (const event of agent.run(prompt)) {
156
+ if (event.type === 'text') {
157
+ process.stdout.write(event.content ?? '');
158
+ }
159
+ else if (event.type === 'tool_use') {
160
+ console.log(`\n\x1b[35m[Tool: ${event.toolName}]\x1b[0m`);
161
+ }
162
+ else if (event.type === 'tool_result') {
163
+ const result = event.toolOutput ?? '';
164
+ const truncated = result.length > 200 ? result.slice(0, 200) + '...' : result;
165
+ console.log(`\x1b[36m[Result: ${truncated}]\x1b[0m`);
166
+ }
167
+ }
168
+ console.log('\n');
169
+ }
170
+ catch (err) {
171
+ console.error('\x1b[31mError:\x1b[0m', err instanceof Error ? err.message : err);
172
+ process.exit(1);
173
+ }
174
+ });
175
+ program
176
+ .command('config')
177
+ .description('Show configuration')
178
+ .action(() => {
179
+ try {
180
+ const config = loadConfig();
181
+ console.log('\x1b[36mCurrent Configuration:\x1b[0m');
182
+ console.log(JSON.stringify(config, null, 2));
183
+ }
184
+ catch (err) {
185
+ console.error('\x1b[31mError:\x1b[0m', err instanceof Error ? err.message : err);
186
+ }
187
+ });
188
+ program
189
+ .command('providers')
190
+ .description('List available providers')
191
+ .action(() => {
192
+ try {
193
+ const config = loadConfig();
194
+ const providerRegistry = new ProviderRegistry();
195
+ providerRegistry.createFromConfig(config);
196
+ console.log('\x1b[36mAvailable providers:\x1b[0m', providerRegistry.list().join(', '));
197
+ }
198
+ catch (err) {
199
+ console.error('\x1b[31mError:\x1b[0m', err instanceof Error ? err.message : err);
200
+ }
201
+ });
202
+ program
203
+ .command('skills')
204
+ .description('List available skills')
205
+ .action(() => {
206
+ try {
207
+ const skillRegistry = new SkillRegistry();
208
+ const builtinSkills = createBuiltinSkills();
209
+ builtinSkills.forEach(s => skillRegistry.register(s));
210
+ console.log('\x1b[36mAvailable Skills:\x1b[0m\n');
211
+ for (const skill of skillRegistry.list()) {
212
+ console.log(`\x1b[32m${skill.name}\x1b[0m: ${skill.description}`);
213
+ if (skill.triggers && skill.triggers.length > 0) {
214
+ console.log(` Triggers: ${skill.triggers.map(t => t.value).join(', ')}`);
215
+ }
216
+ console.log();
217
+ }
218
+ }
219
+ catch (err) {
220
+ console.error('\x1b[31mError:\x1b[0m', err instanceof Error ? err.message : err);
221
+ }
222
+ });
223
+ program
224
+ .command('doctor')
225
+ .description('Check configuration and environment')
226
+ .action(() => {
227
+ console.log('\x1b[36mHalfCopilot Doctor\x1b[0m\n');
228
+ try {
229
+ const config = loadConfig();
230
+ console.log('\x1b[32m✓\x1b[0m Configuration loaded successfully');
231
+ const providerRegistry = new ProviderRegistry();
232
+ providerRegistry.createFromConfig(config);
233
+ console.log(`\x1b[32m✓\x1b[0m Providers: ${providerRegistry.list().join(', ')}`);
234
+ console.log(`\x1b[32m✓\x1b[0m Default provider: ${config.defaultProvider}`);
235
+ console.log(`\x1b[32m✓\x1b[0m Default model: ${config.defaultModel}`);
236
+ const toolRegistry = new ToolRegistry();
237
+ const builtinTools = createBuiltinTools();
238
+ builtinTools.forEach(t => toolRegistry.register(t));
239
+ console.log(`\x1b[32m✓\x1b[0m Built-in tools: ${toolRegistry.list().join(', ')}`);
240
+ const skillRegistry = new SkillRegistry();
241
+ const builtinSkills = createBuiltinSkills();
242
+ builtinSkills.forEach(s => skillRegistry.register(s));
243
+ console.log(`\x1b[32m✓\x1b[0m Skills: ${skillRegistry.list().map(s => s.name).join(', ')}`);
244
+ console.log('\n\x1b[32mAll checks passed!\x1b[0m');
245
+ }
246
+ catch (err) {
247
+ console.error('\x1b[31m✗ Error:\x1b[0m', err instanceof Error ? err.message : err);
248
+ }
249
+ });
250
+ program.parse();
251
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { AgentLoop } from '@halfcopilot/core';
3
+ interface AppProps {
4
+ agent: AgentLoop;
5
+ providerName: string;
6
+ model: string;
7
+ mode: string;
8
+ }
9
+ export declare const App: React.FC<AppProps>;
10
+ export {};
11
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,mBAAmB,CAAC;AAQ/D,UAAU,QAAQ;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CA8FlC,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useCallback } from 'react';
3
+ import { Box, useApp } from 'ink';
4
+ import { StatusBar, ChatView, InputField, ToolApproval } from './components/index.js';
5
+ export const App = ({ agent, providerName, model, mode }) => {
6
+ const { exit } = useApp();
7
+ const [messages, setMessages] = useState([]);
8
+ const [isLoading, setIsLoading] = useState(false);
9
+ const [currentMode, setCurrentMode] = useState(mode);
10
+ const [tokenUsage, setTokenUsage] = useState({ inputTokens: 0, outputTokens: 0 });
11
+ const [pendingApproval, setPendingApproval] = useState(null);
12
+ const handleSubmit = useCallback(async (input) => {
13
+ if (input.toLowerCase() === 'exit' || input.toLowerCase() === 'quit') {
14
+ exit();
15
+ return;
16
+ }
17
+ setMessages(prev => [...prev, { role: 'user', content: input }]);
18
+ setIsLoading(true);
19
+ try {
20
+ let fullText = '';
21
+ for await (const event of agent.run(input)) {
22
+ switch (event.type) {
23
+ case 'text':
24
+ fullText += event.content ?? '';
25
+ break;
26
+ case 'tool_use':
27
+ setMessages(prev => [...prev, {
28
+ role: 'tool',
29
+ content: JSON.stringify(event.toolInput),
30
+ toolName: event.toolName,
31
+ }]);
32
+ break;
33
+ case 'tool_result':
34
+ setMessages(prev => [...prev, {
35
+ role: 'tool',
36
+ content: event.toolOutput ?? '',
37
+ toolName: event.toolName,
38
+ }]);
39
+ break;
40
+ case 'done':
41
+ if (event.usage) {
42
+ setTokenUsage(prev => ({
43
+ inputTokens: prev.inputTokens + event.usage.inputTokens,
44
+ outputTokens: prev.outputTokens + event.usage.outputTokens,
45
+ }));
46
+ }
47
+ break;
48
+ case 'error':
49
+ setMessages(prev => [...prev, {
50
+ role: 'system',
51
+ content: `Error: ${event.error?.message}`,
52
+ }]);
53
+ break;
54
+ }
55
+ }
56
+ if (fullText) {
57
+ setMessages(prev => [...prev, { role: 'assistant', content: fullText }]);
58
+ }
59
+ }
60
+ catch (err) {
61
+ setMessages(prev => [...prev, {
62
+ role: 'system',
63
+ content: `Error: ${err instanceof Error ? err.message : err}`,
64
+ }]);
65
+ }
66
+ finally {
67
+ setIsLoading(false);
68
+ }
69
+ }, [agent, exit]);
70
+ return (_jsxs(Box, { flexDirection: "column", height: "100%", children: [_jsx(StatusBar, { provider: providerName, model: model, mode: currentMode, tokenUsage: tokenUsage }), _jsx(Box, { flexDirection: "column", flexGrow: 1, children: _jsx(ChatView, { messages: messages }) }), pendingApproval ? (_jsx(ToolApproval, { toolName: pendingApproval.toolName, toolInput: pendingApproval.toolInput, onApprove: () => setPendingApproval(null), onReject: () => setPendingApproval(null) })) : (_jsx(InputField, { onSubmit: handleSubmit, isLoading: isLoading }))] }));
71
+ };
72
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ interface Message {
3
+ role: 'user' | 'assistant' | 'system' | 'tool';
4
+ content: string;
5
+ toolName?: string;
6
+ }
7
+ interface ChatViewProps {
8
+ messages: Message[];
9
+ }
10
+ export declare const ChatView: React.FC<ChatViewProps>;
11
+ export {};
12
+ //# sourceMappingURL=ChatView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ChatView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiC5C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ export const ChatView = ({ messages }) => {
4
+ return (_jsx(Box, { flexDirection: "column", padding: 1, children: messages.map((msg, i) => (_jsxs(Box, { marginBottom: 1, children: [msg.role === 'user' && (_jsxs(Box, { children: [_jsx(Text, { color: "green", bold: true, children: '❯ ' }), _jsx(Text, { color: "white", children: msg.content })] })), msg.role === 'assistant' && (_jsxs(Box, { children: [_jsx(Text, { color: "blue", bold: true, children: '🤖 ' }), _jsx(Text, { color: "white", children: msg.content })] })), msg.role === 'tool' && (_jsxs(Box, { children: [_jsx(Text, { color: "yellow", bold: true, children: '🔧 ' }), _jsxs(Text, { color: "yellow", children: ["[", msg.toolName, "] "] }), _jsxs(Text, { color: "gray", children: [msg.content.slice(0, 100), msg.content.length > 100 ? '...' : ''] })] })), msg.role === 'system' && (_jsx(Box, { children: _jsx(Text, { color: "gray", italic: true, children: msg.content }) }))] }, i))) }));
5
+ };
6
+ //# sourceMappingURL=ChatView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatView.js","sourceRoot":"","sources":["../../../src/tui/components/ChatView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAChE,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,YACnC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,MAAC,GAAG,IAAS,YAAY,EAAE,CAAC,aACzB,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CACtB,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,kBAAE,IAAI,GAAQ,EACtC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,GAAG,CAAC,OAAO,GAAQ,IACpC,CACP,EACA,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,CAC3B,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,kBAAE,KAAK,GAAQ,EACtC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,GAAG,CAAC,OAAO,GAAQ,IACpC,CACP,EACA,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CACtB,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,kBAAE,KAAK,GAAQ,EACxC,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,kBAAG,GAAG,CAAC,QAAQ,UAAU,EAC7C,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAQ,IACxF,CACP,EACA,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CACxB,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAE,GAAG,CAAC,OAAO,GAAQ,GAC1C,CACP,KAxBO,CAAC,CAyBL,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface InputFieldProps {
3
+ onSubmit: (input: string) => void;
4
+ isLoading?: boolean;
5
+ }
6
+ export declare const InputField: React.FC<InputFieldProps>;
7
+ export {};
8
+ //# sourceMappingURL=InputField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../src/tui/components/InputField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,UAAU,eAAe;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2BhD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Box, Text, useInput } from 'ink';
4
+ export const InputField = ({ onSubmit, isLoading }) => {
5
+ const [value, setValue] = useState('');
6
+ useInput((input, key) => {
7
+ if (key.return) {
8
+ if (value.trim()) {
9
+ onSubmit(value.trim());
10
+ setValue('');
11
+ }
12
+ }
13
+ else if (key.backspace || key.delete) {
14
+ setValue(prev => prev.slice(0, -1));
15
+ }
16
+ else if (input && !key.ctrl && !key.meta) {
17
+ setValue(prev => prev + input);
18
+ }
19
+ });
20
+ return (_jsxs(Box, { borderStyle: "single", borderColor: "green", paddingX: 1, children: [_jsx(Text, { color: "green", bold: true, children: '❯ ' }), _jsx(Text, { color: "white", children: value }), isLoading ? (_jsx(Text, { color: "yellow", children: " \u23F3" })) : (_jsx(Text, { color: "gray", children: "\u2588" }))] }));
21
+ };
22
+ //# sourceMappingURL=InputField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputField.js","sourceRoot":"","sources":["../../../src/tui/components/InputField.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAO1C,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;IAC/E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvB,QAAQ,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,QAAQ,EAAE,CAAC,aACvD,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,kBAAE,IAAI,GAAQ,EACtC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,KAAK,GAAQ,EACjC,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,wBAAU,CAC/B,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,CAC5B,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface StatusBarProps {
3
+ provider: string;
4
+ model: string;
5
+ mode: string;
6
+ tokenUsage?: {
7
+ inputTokens: number;
8
+ outputTokens: number;
9
+ };
10
+ }
11
+ export declare const StatusBar: React.FC<StatusBarProps>;
12
+ export {};
13
+ //# sourceMappingURL=StatusBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAuB9C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ export const StatusBar = ({ provider, model, mode, tokenUsage }) => {
4
+ return (_jsxs(Box, { borderStyle: "single", borderColor: "cyan", paddingX: 1, children: [_jsxs(Box, { marginRight: 2, children: [_jsx(Text, { color: "cyan", children: "Provider:" }), _jsxs(Text, { color: "white", bold: true, children: [" ", provider] })] }), _jsxs(Box, { marginRight: 2, children: [_jsx(Text, { color: "cyan", children: "Model:" }), _jsxs(Text, { color: "white", bold: true, children: [" ", model] })] }), _jsxs(Box, { marginRight: 2, children: [_jsx(Text, { color: "cyan", children: "Mode:" }), _jsxs(Text, { color: "yellow", bold: true, children: [" ", mode] })] }), tokenUsage && (_jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: "Tokens:" }), _jsxs(Text, { color: "green", children: [" ", tokenUsage.inputTokens, "\u2193 ", tokenUsage.outputTokens, "\u2191"] })] }))] }));
5
+ };
6
+ //# sourceMappingURL=StatusBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;IAC3F,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,aACtD,MAAC,GAAG,IAAC,WAAW,EAAE,CAAC,aACjB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,0BAAiB,EACnC,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,wBAAG,QAAQ,IAAQ,IACvC,EACN,MAAC,GAAG,IAAC,WAAW,EAAE,CAAC,aACjB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAc,EAChC,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,wBAAG,KAAK,IAAQ,IACpC,EACN,MAAC,GAAG,IAAC,WAAW,EAAE,CAAC,aACjB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,sBAAa,EAC/B,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,wBAAG,IAAI,IAAQ,IACpC,EACL,UAAU,IAAI,CACb,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wBAAe,EACjC,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,kBAAG,UAAU,CAAC,WAAW,aAAI,UAAU,CAAC,YAAY,cAAS,IAC5E,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface ToolApprovalProps {
3
+ toolName: string;
4
+ toolInput: Record<string, unknown>;
5
+ onApprove: () => void;
6
+ onReject: () => void;
7
+ }
8
+ export declare const ToolApproval: React.FC<ToolApprovalProps>;
9
+ export {};
10
+ //# sourceMappingURL=ToolApproval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolApproval.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ToolApproval.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2BpD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text, useInput } from 'ink';
3
+ export const ToolApproval = ({ toolName, toolInput, onApprove, onReject }) => {
4
+ useInput((input, key) => {
5
+ if (input === 'y' || input === 'Y') {
6
+ onApprove();
7
+ }
8
+ else if (input === 'n' || input === 'N') {
9
+ onReject();
10
+ }
11
+ });
12
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: "yellow", padding: 1, children: [_jsx(Text, { color: "yellow", bold: true, children: "\u26A0\uFE0F Tool Execution Request" }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "Tool: " }), _jsx(Text, { color: "white", bold: true, children: toolName })] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "Input: " }), _jsx(Text, { color: "gray", children: JSON.stringify(toolInput, null, 2) })] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "green", children: "[Y] Approve" }), _jsx(Text, { color: "gray", children: " " }), _jsx(Text, { color: "red", children: "[N] Reject" })] })] }));
13
+ };
14
+ //# sourceMappingURL=ToolApproval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolApproval.js","sourceRoot":"","sources":["../../../src/tui/components/ToolApproval.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAS1C,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACxG,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnC,SAAS,EAAE,CAAC;QACd,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC1C,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aAC9E,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,2DAAkC,EAC3D,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAc,EAChC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,kBAAE,QAAQ,GAAQ,IACtC,EACN,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wBAAe,EACjC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAQ,IAC1D,EACN,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,4BAAmB,EACtC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mBAAU,EAC5B,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,2BAAkB,IAC/B,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { StatusBar } from './StatusBar.js';
2
+ export { ChatView } from './ChatView.js';
3
+ export { InputField } from './InputField.js';
4
+ export { ToolApproval } from './ToolApproval.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { StatusBar } from './StatusBar.js';
2
+ export { ChatView } from './ChatView.js';
3
+ export { InputField } from './InputField.js';
4
+ export { ToolApproval } from './ToolApproval.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { App } from './app.js';
2
+ export { StatusBar, ChatView, InputField, ToolApproval } from './components/index.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { App } from './app.js';
2
+ export { StatusBar, ChatView, InputField, ToolApproval } from './components/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HalfCopilotConfig } from './schema.js';
2
+ export declare const DEFAULT_CONFIG: HalfCopilotConfig;
3
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,cAAc,EAAE,iBA4B5B,CAAC"}