thatgfsj-code 0.3.0 → 0.3.1

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 (262) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/DEVELOPMENT.md +286 -0
  3. package/README.md +144 -79
  4. package/dist/agent/core.d.ts +56 -0
  5. package/dist/agent/core.d.ts.map +1 -0
  6. package/dist/agent/core.js +142 -0
  7. package/dist/agent/core.js.map +1 -0
  8. package/dist/agent/index.d.ts +8 -0
  9. package/dist/agent/index.d.ts.map +1 -0
  10. package/dist/agent/index.js +8 -0
  11. package/dist/agent/index.js.map +1 -0
  12. package/dist/agent/intent.d.ts +36 -0
  13. package/dist/agent/intent.d.ts.map +1 -0
  14. package/dist/agent/intent.js +146 -0
  15. package/dist/agent/intent.js.map +1 -0
  16. package/dist/agent/streaming.d.ts +50 -0
  17. package/dist/agent/streaming.d.ts.map +1 -0
  18. package/dist/agent/streaming.js +110 -0
  19. package/dist/agent/streaming.js.map +1 -0
  20. package/dist/core/ai-engine.d.ts +76 -0
  21. package/dist/core/ai-engine.d.ts.map +1 -0
  22. package/dist/core/ai-engine.js +394 -0
  23. package/dist/core/ai-engine.js.map +1 -0
  24. package/dist/core/cli.d.ts +21 -0
  25. package/dist/core/cli.d.ts.map +1 -0
  26. package/dist/core/cli.js +143 -0
  27. package/dist/core/cli.js.map +1 -0
  28. package/dist/core/config.d.ts +55 -0
  29. package/dist/core/config.d.ts.map +1 -0
  30. package/dist/core/config.js +162 -0
  31. package/dist/core/config.js.map +1 -0
  32. package/dist/core/context-compactor.d.ts +54 -0
  33. package/dist/core/context-compactor.d.ts.map +1 -0
  34. package/dist/core/context-compactor.js +197 -0
  35. package/dist/core/context-compactor.js.map +1 -0
  36. package/dist/core/hooks.d.ts +75 -0
  37. package/dist/core/hooks.d.ts.map +1 -0
  38. package/dist/core/hooks.js +146 -0
  39. package/dist/core/hooks.js.map +1 -0
  40. package/dist/core/permissions.d.ts +52 -0
  41. package/dist/core/permissions.d.ts.map +1 -0
  42. package/dist/core/permissions.js +237 -0
  43. package/dist/core/permissions.js.map +1 -0
  44. package/dist/core/session.d.ts +54 -0
  45. package/dist/core/session.d.ts.map +1 -0
  46. package/dist/core/session.js +147 -0
  47. package/dist/core/session.js.map +1 -0
  48. package/dist/core/skills.d.ts +60 -0
  49. package/dist/core/skills.d.ts.map +1 -0
  50. package/dist/core/skills.js +175 -0
  51. package/dist/core/skills.js.map +1 -0
  52. package/dist/core/state.d.ts +60 -0
  53. package/dist/core/state.d.ts.map +1 -0
  54. package/dist/core/state.js +106 -0
  55. package/dist/core/state.js.map +1 -0
  56. package/dist/core/subagent.d.ts +68 -0
  57. package/dist/core/subagent.d.ts.map +1 -0
  58. package/dist/core/subagent.js +142 -0
  59. package/dist/core/subagent.js.map +1 -0
  60. package/dist/core/system-prompt.d.ts +40 -0
  61. package/dist/core/system-prompt.d.ts.map +1 -0
  62. package/dist/core/system-prompt.js +138 -0
  63. package/dist/core/system-prompt.js.map +1 -0
  64. package/dist/core/tool-registry.d.ts +53 -0
  65. package/dist/core/tool-registry.d.ts.map +1 -0
  66. package/dist/core/tool-registry.js +138 -0
  67. package/dist/core/tool-registry.js.map +1 -0
  68. package/dist/core/types.d.ts +206 -0
  69. package/dist/core/types.d.ts.map +1 -0
  70. package/dist/core/types.js +127 -0
  71. package/dist/core/types.js.map +1 -0
  72. package/dist/index.d.ts +7 -0
  73. package/dist/{cmd/index.d.ts.map → index.d.ts.map} +1 -1
  74. package/dist/index.js +472 -0
  75. package/dist/index.js.map +1 -0
  76. package/dist/mcp/client.d.ts +1 -1
  77. package/dist/mcp/client.d.ts.map +1 -1
  78. package/dist/repl/index.d.ts +8 -0
  79. package/dist/repl/index.d.ts.map +1 -0
  80. package/dist/repl/index.js +8 -0
  81. package/dist/repl/index.js.map +1 -0
  82. package/dist/repl/input.d.ts +69 -0
  83. package/dist/repl/input.d.ts.map +1 -0
  84. package/dist/repl/input.js +139 -0
  85. package/dist/repl/input.js.map +1 -0
  86. package/dist/repl/loop.d.ts +184 -0
  87. package/dist/repl/loop.d.ts.map +1 -0
  88. package/dist/repl/loop.js +932 -0
  89. package/dist/repl/loop.js.map +1 -0
  90. package/dist/repl/output.d.ts +105 -0
  91. package/dist/repl/output.d.ts.map +1 -0
  92. package/dist/repl/output.js +199 -0
  93. package/dist/repl/output.js.map +1 -0
  94. package/dist/repl/welcome.d.ts +68 -0
  95. package/dist/repl/welcome.d.ts.map +1 -0
  96. package/dist/repl/welcome.js +254 -0
  97. package/dist/repl/welcome.js.map +1 -0
  98. package/dist/tools/file.d.ts +1 -1
  99. package/dist/tools/file.d.ts.map +1 -1
  100. package/dist/tools/git.d.ts +1 -1
  101. package/dist/tools/git.d.ts.map +1 -1
  102. package/dist/tools/index.d.ts +15 -35
  103. package/dist/tools/index.d.ts.map +1 -1
  104. package/dist/tools/index.js +31 -80
  105. package/dist/tools/index.js.map +1 -1
  106. package/dist/tools/search.d.ts +1 -1
  107. package/dist/tools/search.d.ts.map +1 -1
  108. package/dist/tools/shell.d.ts +11 -4
  109. package/dist/tools/shell.d.ts.map +1 -1
  110. package/dist/tools/shell.js +78 -42
  111. package/dist/tools/shell.js.map +1 -1
  112. package/dist/utils/diff-preview.d.ts +42 -0
  113. package/dist/utils/diff-preview.d.ts.map +1 -0
  114. package/dist/utils/diff-preview.js +174 -0
  115. package/dist/utils/diff-preview.js.map +1 -0
  116. package/dist/utils/index.d.ts +8 -0
  117. package/dist/utils/index.d.ts.map +1 -0
  118. package/dist/utils/index.js +8 -0
  119. package/dist/utils/index.js.map +1 -0
  120. package/dist/utils/memory.d.ts +81 -0
  121. package/dist/utils/memory.d.ts.map +1 -0
  122. package/dist/utils/memory.js +186 -0
  123. package/dist/utils/memory.js.map +1 -0
  124. package/dist/utils/project-context.d.ts +62 -0
  125. package/dist/utils/project-context.d.ts.map +1 -0
  126. package/dist/utils/project-context.js +197 -0
  127. package/dist/utils/project-context.js.map +1 -0
  128. package/docs/API_KEY_GUIDE.md +6 -0
  129. package/docs/FAQ.md +25 -3
  130. package/package.json +41 -9
  131. package/ROADMAP.md +0 -61
  132. package/dist/app/agent.d.ts +0 -31
  133. package/dist/app/agent.d.ts.map +0 -1
  134. package/dist/app/agent.js +0 -106
  135. package/dist/app/agent.js.map +0 -1
  136. package/dist/app/index.d.ts +0 -39
  137. package/dist/app/index.d.ts.map +0 -1
  138. package/dist/app/index.js +0 -80
  139. package/dist/app/index.js.map +0 -1
  140. package/dist/cmd/index.d.ts +0 -12
  141. package/dist/cmd/index.js +0 -85
  142. package/dist/cmd/index.js.map +0 -1
  143. package/dist/config/index.d.ts +0 -39
  144. package/dist/config/index.d.ts.map +0 -1
  145. package/dist/config/index.js +0 -110
  146. package/dist/config/index.js.map +0 -1
  147. package/dist/config/providers.d.ts +0 -23
  148. package/dist/config/providers.d.ts.map +0 -1
  149. package/dist/config/providers.js +0 -152
  150. package/dist/config/providers.js.map +0 -1
  151. package/dist/config/types.d.ts +0 -33
  152. package/dist/config/types.d.ts.map +0 -1
  153. package/dist/config/types.js +0 -5
  154. package/dist/config/types.js.map +0 -1
  155. package/dist/hooks/index.d.ts +0 -31
  156. package/dist/hooks/index.d.ts.map +0 -1
  157. package/dist/hooks/index.js +0 -71
  158. package/dist/hooks/index.js.map +0 -1
  159. package/dist/llm/anthropic.d.ts +0 -17
  160. package/dist/llm/anthropic.d.ts.map +0 -1
  161. package/dist/llm/anthropic.js +0 -126
  162. package/dist/llm/anthropic.js.map +0 -1
  163. package/dist/llm/gemini.d.ts +0 -16
  164. package/dist/llm/gemini.d.ts.map +0 -1
  165. package/dist/llm/gemini.js +0 -107
  166. package/dist/llm/gemini.js.map +0 -1
  167. package/dist/llm/index.d.ts +0 -48
  168. package/dist/llm/index.d.ts.map +0 -1
  169. package/dist/llm/index.js +0 -174
  170. package/dist/llm/index.js.map +0 -1
  171. package/dist/llm/openai.d.ts +0 -17
  172. package/dist/llm/openai.d.ts.map +0 -1
  173. package/dist/llm/openai.js +0 -113
  174. package/dist/llm/openai.js.map +0 -1
  175. package/dist/llm/provider.d.ts +0 -33
  176. package/dist/llm/provider.d.ts.map +0 -1
  177. package/dist/llm/provider.js +0 -6
  178. package/dist/llm/provider.js.map +0 -1
  179. package/dist/prompts/index.d.ts +0 -27
  180. package/dist/prompts/index.d.ts.map +0 -1
  181. package/dist/prompts/index.js +0 -102
  182. package/dist/prompts/index.js.map +0 -1
  183. package/dist/session/compactor.d.ts +0 -48
  184. package/dist/session/compactor.d.ts.map +0 -1
  185. package/dist/session/compactor.js +0 -77
  186. package/dist/session/compactor.js.map +0 -1
  187. package/dist/session/index.d.ts +0 -48
  188. package/dist/session/index.d.ts.map +0 -1
  189. package/dist/session/index.js +0 -69
  190. package/dist/session/index.js.map +0 -1
  191. package/dist/session/message.d.ts +0 -26
  192. package/dist/session/message.d.ts.map +0 -1
  193. package/dist/session/message.js +0 -34
  194. package/dist/session/message.js.map +0 -1
  195. package/dist/tools/types.d.ts +0 -68
  196. package/dist/tools/types.d.ts.map +0 -1
  197. package/dist/tools/types.js +0 -57
  198. package/dist/tools/types.js.map +0 -1
  199. package/dist/tui/index.d.ts +0 -8
  200. package/dist/tui/index.d.ts.map +0 -1
  201. package/dist/tui/index.js +0 -8
  202. package/dist/tui/index.js.map +0 -1
  203. package/dist/tui/input.d.ts +0 -14
  204. package/dist/tui/input.d.ts.map +0 -1
  205. package/dist/tui/input.js +0 -50
  206. package/dist/tui/input.js.map +0 -1
  207. package/dist/tui/output.d.ts +0 -20
  208. package/dist/tui/output.d.ts.map +0 -1
  209. package/dist/tui/output.js +0 -70
  210. package/dist/tui/output.js.map +0 -1
  211. package/dist/tui/repl.d.ts +0 -25
  212. package/dist/tui/repl.d.ts.map +0 -1
  213. package/dist/tui/repl.js +0 -114
  214. package/dist/tui/repl.js.map +0 -1
  215. package/dist/tui/welcome.d.ts +0 -15
  216. package/dist/tui/welcome.d.ts.map +0 -1
  217. package/dist/tui/welcome.js +0 -86
  218. package/dist/tui/welcome.js.map +0 -1
  219. package/dist/types.d.ts +0 -38
  220. package/dist/types.d.ts.map +0 -1
  221. package/dist/types.js +0 -6
  222. package/dist/types.js.map +0 -1
  223. package/dist/utils/diff.d.ts +0 -22
  224. package/dist/utils/diff.d.ts.map +0 -1
  225. package/dist/utils/diff.js +0 -60
  226. package/dist/utils/diff.js.map +0 -1
  227. package/dist/utils/project.d.ts +0 -32
  228. package/dist/utils/project.d.ts.map +0 -1
  229. package/dist/utils/project.js +0 -89
  230. package/dist/utils/project.js.map +0 -1
  231. package/src/app/agent.ts +0 -140
  232. package/src/app/index.ts +0 -101
  233. package/src/cmd/index.ts +0 -96
  234. package/src/config/index.ts +0 -130
  235. package/src/config/providers.ts +0 -160
  236. package/src/config/types.ts +0 -46
  237. package/src/hooks/index.ts +0 -111
  238. package/src/llm/anthropic.ts +0 -146
  239. package/src/llm/gemini.ts +0 -127
  240. package/src/llm/index.ts +0 -209
  241. package/src/llm/openai.ts +0 -132
  242. package/src/llm/provider.ts +0 -38
  243. package/src/mcp/client.ts +0 -330
  244. package/src/prompts/index.ts +0 -123
  245. package/src/session/compactor.ts +0 -103
  246. package/src/session/index.ts +0 -81
  247. package/src/session/message.ts +0 -42
  248. package/src/tools/file.ts +0 -117
  249. package/src/tools/git.ts +0 -132
  250. package/src/tools/index.ts +0 -108
  251. package/src/tools/search.ts +0 -263
  252. package/src/tools/shell.ts +0 -136
  253. package/src/tools/types.ts +0 -122
  254. package/src/tui/index.ts +0 -8
  255. package/src/tui/input.ts +0 -56
  256. package/src/tui/output.ts +0 -83
  257. package/src/tui/repl.ts +0 -131
  258. package/src/tui/welcome.ts +0 -101
  259. package/src/types.ts +0 -42
  260. package/src/utils/diff.ts +0 -71
  261. package/src/utils/project.ts +0 -99
  262. package/tsconfig.json +0 -19
@@ -1,77 +0,0 @@
1
- /**
2
- * Context Compactor - Progressive compression for conversation history
3
- * Migrated from old src/core/context-compactor.ts
4
- *
5
- * Strategy:
6
- * 1. Within limit: no compression
7
- * 2. Beyond limit: keep system + recent N turns + summarize middle
8
- */
9
- export class ContextCompactor {
10
- maxMessages;
11
- preserveRecent;
12
- constructor(config = {}) {
13
- this.maxMessages = config.maxMessages ?? 50;
14
- this.preserveRecent = config.preserveRecent ?? 10;
15
- }
16
- /**
17
- * Compact messages if needed
18
- */
19
- compact(messages) {
20
- if (messages.length <= this.maxMessages) {
21
- return {
22
- compacted: messages,
23
- result: { originalCount: messages.length, compactedCount: messages.length, removedCount: 0 },
24
- };
25
- }
26
- const systemMsg = messages.find(m => m.role === 'system');
27
- const others = messages.filter(m => m.role !== 'system');
28
- if (others.length <= this.preserveRecent) {
29
- return {
30
- compacted: messages,
31
- result: { originalCount: messages.length, compactedCount: messages.length, removedCount: 0 },
32
- };
33
- }
34
- // Keep recent N turns
35
- const recent = others.slice(-this.preserveRecent);
36
- // Summarize the middle portion
37
- const middle = others.slice(0, -this.preserveRecent);
38
- const summary = {
39
- role: 'system',
40
- content: `[Earlier conversation summary: ${middle.length} messages covering ${this.extractTopics(middle)}]`,
41
- };
42
- const compacted = systemMsg
43
- ? [systemMsg, summary, ...recent]
44
- : [summary, ...recent];
45
- return {
46
- compacted,
47
- result: {
48
- originalCount: messages.length,
49
- compactedCount: compacted.length,
50
- removedCount: messages.length - compacted.length,
51
- },
52
- };
53
- }
54
- /**
55
- * Auto-compact if messages exceed limit
56
- */
57
- autoCompact(messages) {
58
- return this.compact(messages);
59
- }
60
- /**
61
- * Estimate token count (rough: ~4 chars per token)
62
- */
63
- estimateTokens(messages) {
64
- return messages.reduce((sum, m) => sum + Math.ceil(m.content.length / 4) + 10, 0);
65
- }
66
- /**
67
- * Extract topic summary from messages
68
- */
69
- extractTopics(msgs) {
70
- const topics = msgs
71
- .filter(m => m.role === 'user')
72
- .map(m => m.content.slice(0, 30))
73
- .slice(0, 3);
74
- return topics.join(', ') || 'various topics';
75
- }
76
- }
77
- //# sourceMappingURL=compactor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/session/compactor.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Session Manager - Manages conversation history
3
- * Migrated from old src/core/session.ts
4
- */
5
- import type { ChatMessage } from '../types.js';
6
- export declare class SessionManager {
7
- private messages;
8
- private sessionId;
9
- private createdAt;
10
- private compactor;
11
- constructor(maxMessages?: number);
12
- /**
13
- * Add a message to the session
14
- */
15
- addMessage(role: ChatMessage['role'], content: string, extras?: Partial<ChatMessage>): void;
16
- /**
17
- * Get all messages (copy)
18
- */
19
- getMessages(): ChatMessage[];
20
- /**
21
- * Get message count
22
- */
23
- getMessageCount(): number;
24
- /**
25
- * Clear session history
26
- */
27
- clear(): void;
28
- /**
29
- * Truncate messages to fit context window
30
- */
31
- truncate(maxMessages?: number): void;
32
- /**
33
- * Get session ID
34
- */
35
- getId(): string;
36
- /**
37
- * Get session info
38
- */
39
- getInfo(): {
40
- id: string;
41
- messageCount: number;
42
- createdAt: Date;
43
- };
44
- }
45
- export { ContextCompactor } from './compactor.js';
46
- export type { CompactorConfig, CompressionResult } from './compactor.js';
47
- export * from './message.js';
48
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,SAAS,CAAmB;gBAExB,WAAW,SAAK;IAM5B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAI3F;;OAEG;IACH,WAAW,IAAI,WAAW,EAAE;IAI5B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAQpC;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,OAAO,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE;CAOjE;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzE,cAAc,cAAc,CAAC"}
@@ -1,69 +0,0 @@
1
- /**
2
- * Session Manager - Manages conversation history
3
- * Migrated from old src/core/session.ts
4
- */
5
- import { ContextCompactor } from './compactor.js';
6
- export class SessionManager {
7
- messages = [];
8
- sessionId;
9
- createdAt;
10
- compactor;
11
- constructor(maxMessages = 50) {
12
- this.sessionId = `session_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
13
- this.createdAt = new Date();
14
- this.compactor = new ContextCompactor({ maxMessages });
15
- }
16
- /**
17
- * Add a message to the session
18
- */
19
- addMessage(role, content, extras) {
20
- this.messages.push({ role, content, ...extras });
21
- }
22
- /**
23
- * Get all messages (copy)
24
- */
25
- getMessages() {
26
- return [...this.messages];
27
- }
28
- /**
29
- * Get message count
30
- */
31
- getMessageCount() {
32
- return this.messages.length;
33
- }
34
- /**
35
- * Clear session history
36
- */
37
- clear() {
38
- this.messages = [];
39
- }
40
- /**
41
- * Truncate messages to fit context window
42
- */
43
- truncate(maxMessages) {
44
- if (maxMessages) {
45
- this.compactor = new ContextCompactor({ maxMessages });
46
- }
47
- const { compacted } = this.compactor.autoCompact(this.messages);
48
- this.messages = compacted;
49
- }
50
- /**
51
- * Get session ID
52
- */
53
- getId() {
54
- return this.sessionId;
55
- }
56
- /**
57
- * Get session info
58
- */
59
- getInfo() {
60
- return {
61
- id: this.sessionId,
62
- messageCount: this.messages.length,
63
- createdAt: this.createdAt,
64
- };
65
- }
66
- }
67
- export { ContextCompactor } from './compactor.js';
68
- export * from './message.js';
69
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,OAAO,cAAc;IACjB,QAAQ,GAAkB,EAAE,CAAC;IAC7B,SAAS,CAAS;IAClB,SAAS,CAAO;IAChB,SAAS,CAAmB;IAEpC,YAAY,WAAW,GAAG,EAAE;QAC1B,IAAI,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAyB,EAAE,OAAe,EAAE,MAA6B;QAClF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,WAAoB;QAC3B,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAClC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;CACF;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,cAAc,cAAc,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Message types and utilities
3
- */
4
- import type { ChatMessage, Role } from '../types.js';
5
- export { ChatMessage, Role };
6
- /**
7
- * Create a message
8
- */
9
- export declare function createMessage(role: Role, content: string, extras?: Partial<ChatMessage>): ChatMessage;
10
- /**
11
- * Create a system message
12
- */
13
- export declare function systemMessage(content: string): ChatMessage;
14
- /**
15
- * Create a user message
16
- */
17
- export declare function userMessage(content: string): ChatMessage;
18
- /**
19
- * Create an assistant message
20
- */
21
- export declare function assistantMessage(content: string): ChatMessage;
22
- /**
23
- * Create a tool result message
24
- */
25
- export declare function toolMessage(content: string, toolCallId: string, name: string): ChatMessage;
26
- //# sourceMappingURL=message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/session/message.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAE7B;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAErG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAE1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAE7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAE1F"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Message types and utilities
3
- */
4
- /**
5
- * Create a message
6
- */
7
- export function createMessage(role, content, extras) {
8
- return { role, content, ...extras };
9
- }
10
- /**
11
- * Create a system message
12
- */
13
- export function systemMessage(content) {
14
- return { role: 'system', content };
15
- }
16
- /**
17
- * Create a user message
18
- */
19
- export function userMessage(content) {
20
- return { role: 'user', content };
21
- }
22
- /**
23
- * Create an assistant message
24
- */
25
- export function assistantMessage(content) {
26
- return { role: 'assistant', content };
27
- }
28
- /**
29
- * Create a tool result message
30
- */
31
- export function toolMessage(content, toolCallId, name) {
32
- return { role: 'tool', content, tool_call_id: toolCallId, name };
33
- }
34
- //# sourceMappingURL=message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/session/message.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAU,EAAE,OAAe,EAAE,MAA6B;IACtF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,UAAkB,EAAE,IAAY;IAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACnE,CAAC"}
@@ -1,68 +0,0 @@
1
- /**
2
- * Tool interface definitions
3
- * Extracted from old src/core/types.ts
4
- */
5
- export interface ToolParameter {
6
- name: string;
7
- type: string;
8
- description: string;
9
- required: boolean;
10
- default?: any;
11
- enum?: string[];
12
- }
13
- export interface ToolInputSchema {
14
- type: 'object';
15
- properties: Record<string, {
16
- type: string;
17
- description: string;
18
- default?: any;
19
- enum?: string[];
20
- }>;
21
- required?: string[];
22
- }
23
- export interface ToolMetadata {
24
- permissions?: ('read' | 'write' | 'execute' | 'network')[];
25
- maxDuration?: number;
26
- tags?: string[];
27
- version?: string;
28
- deprecated?: string;
29
- }
30
- export interface ToolContext {
31
- sessionId?: string;
32
- workingDirectory?: string;
33
- confirmAction?: (msg: string) => Promise<boolean>;
34
- signal?: AbortSignal;
35
- toolCallId?: string;
36
- }
37
- export interface ToolResult {
38
- success: boolean;
39
- output?: string;
40
- error?: string;
41
- data?: any;
42
- }
43
- export interface Tool {
44
- name: string;
45
- description: string;
46
- parameters: ToolParameter[];
47
- inputSchema?: ToolInputSchema;
48
- metadata?: ToolMetadata;
49
- execute(params: Record<string, any>, ctx?: ToolContext): Promise<ToolResult>;
50
- }
51
- export declare class ToolBuilder {
52
- private _name;
53
- private _description;
54
- private _parameters;
55
- private _inputSchema;
56
- private _metadata;
57
- private _fn?;
58
- name(n: string): this;
59
- description(d: string): this;
60
- param(p: ToolParameter): this;
61
- stringParam(name: string, description: string, required?: boolean, defaultVal?: string): this;
62
- booleanParam(name: string, description: string, required?: boolean, defaultVal?: boolean): this;
63
- permissions(...perms: ('read' | 'write' | 'execute' | 'network')[]): this;
64
- tags(...t: string[]): this;
65
- handle(fn: (params: Record<string, any>, ctx: ToolContext) => Promise<ToolResult>): this;
66
- build(): Tool;
67
- }
68
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Tool interface definitions
3
- * Extracted from old src/core/types.ts
4
- */
5
- // ==================== Tool Builder ====================
6
- export class ToolBuilder {
7
- _name = '';
8
- _description = '';
9
- _parameters = [];
10
- _inputSchema = { type: 'object', properties: {} };
11
- _metadata = {};
12
- _fn;
13
- name(n) { this._name = n; return this; }
14
- description(d) { this._description = d; return this; }
15
- param(p) {
16
- this._parameters.push(p);
17
- this._inputSchema.properties[p.name] = {
18
- type: p.type,
19
- description: p.description,
20
- default: p.default,
21
- enum: p.enum,
22
- };
23
- return this;
24
- }
25
- stringParam(name, description, required = true, defaultVal) {
26
- return this.param({ name, type: 'string', description, required, default: defaultVal });
27
- }
28
- booleanParam(name, description, required = false, defaultVal) {
29
- return this.param({ name, type: 'boolean', description, required, default: defaultVal });
30
- }
31
- permissions(...perms) {
32
- this._metadata.permissions = perms;
33
- return this;
34
- }
35
- tags(...t) {
36
- this._metadata.tags = t;
37
- return this;
38
- }
39
- handle(fn) {
40
- this._fn = fn;
41
- return this;
42
- }
43
- build() {
44
- if (!this._name || !this._fn) {
45
- throw new Error('Tool name and handler are required');
46
- }
47
- return {
48
- name: this._name,
49
- description: this._description,
50
- parameters: this._parameters,
51
- inputSchema: this._inputSchema,
52
- metadata: this._metadata,
53
- execute: this._fn,
54
- };
55
- }
56
- }
57
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0DH,yDAAyD;AAEzD,MAAM,OAAO,WAAW;IACd,KAAK,GAAG,EAAE,CAAC;IACX,YAAY,GAAG,EAAE,CAAC;IAClB,WAAW,GAAoB,EAAE,CAAC;IAClC,YAAY,GAAoB,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACnE,SAAS,GAAiB,EAAE,CAAC;IAC7B,GAAG,CAA0E;IAErF,IAAI,CAAC,CAAS,IAAU,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACtD,WAAW,CAAC,CAAS,IAAU,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAEpE,KAAK,CAAC,CAAgB;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;YACrC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,WAAmB,EAAE,QAAQ,GAAG,IAAI,EAAE,UAAmB;QACjF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,WAAmB,EAAE,QAAQ,GAAG,KAAK,EAAE,UAAoB;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,WAAW,CAAC,GAAG,KAAmD;QAChE,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,GAAG,CAAW;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,EAA0E;QAC/E,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI,CAAC,GAAG;SAClB,CAAC;IACJ,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- /**
2
- * TUI Module - Terminal User Interface
3
- */
4
- export { REPL } from './repl.js';
5
- export { REPLInput } from './input.js';
6
- export { REPLOutput } from './output.js';
7
- export { WelcomeScreen } from './welcome.js';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
package/dist/tui/index.js DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * TUI Module - Terminal User Interface
3
- */
4
- export { REPL } from './repl.js';
5
- export { REPLInput } from './input.js';
6
- export { REPLOutput } from './output.js';
7
- export { WelcomeScreen } from './welcome.js';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * REPL Input Handler
3
- * Migrated from old src/repl/input.ts
4
- */
5
- export declare class REPLInput {
6
- private rl;
7
- private history;
8
- private historyIndex;
9
- constructor();
10
- prompt(prefix?: string): Promise<string>;
11
- close(): void;
12
- private completer;
13
- }
14
- //# sourceMappingURL=input.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/tui/input.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,qBAAa,SAAS;IACpB,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAc;;IA2B5B,MAAM,CAAC,MAAM,GAAE,MAA4B,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnE,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,SAAS;CAKlB"}
package/dist/tui/input.js DELETED
@@ -1,50 +0,0 @@
1
- /**
2
- * REPL Input Handler
3
- * Migrated from old src/repl/input.ts
4
- */
5
- import readline from 'readline';
6
- import chalk from 'chalk';
7
- export class REPLInput {
8
- rl;
9
- history = [];
10
- historyIndex = -1;
11
- constructor() {
12
- this.rl = readline.createInterface({
13
- input: process.stdin,
14
- output: process.stdout,
15
- completer: this.completer.bind(this),
16
- historySize: 100,
17
- tabSize: 4,
18
- });
19
- // Handle Ctrl+C
20
- this.rl.on('SIGINT', () => {
21
- process.stdout.write(chalk.gray('\n\n👋 Exiting...\n'));
22
- process.exit(0);
23
- });
24
- // Track history
25
- this.rl.on('line', (line) => {
26
- if (line.trim()) {
27
- this.history.push(line);
28
- if (this.history.length > 100)
29
- this.history.shift();
30
- }
31
- this.historyIndex = this.history.length;
32
- });
33
- }
34
- async prompt(prefix = chalk.green('\n> ')) {
35
- return new Promise((resolve) => {
36
- this.rl.question(prefix, (answer) => {
37
- resolve(answer);
38
- });
39
- });
40
- }
41
- close() {
42
- this.rl.close();
43
- }
44
- completer(line) {
45
- const commands = ['exit', 'quit', 'clear', 'help', 'tools', 'model'];
46
- const hits = commands.filter(c => c.startsWith(line.toLowerCase()));
47
- return [hits.length ? hits : [], line];
48
- }
49
- }
50
- //# sourceMappingURL=input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/tui/input.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,OAAO,SAAS;IACZ,EAAE,CAAqB;IACvB,OAAO,GAAa,EAAE,CAAC;IACvB,YAAY,GAAW,CAAC,CAAC,CAAC;IAElC;QACE,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;oBAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -1,20 +0,0 @@
1
- /**
2
- * REPL Output Handler
3
- * Migrated from old src/repl/output.ts
4
- */
5
- export declare class REPLOutput {
6
- private spinner;
7
- printError(error: string): void;
8
- printWarning(warning: string): void;
9
- printSuccess(message: string): void;
10
- printInfo(message: string): void;
11
- printDivider(char?: string, length?: number): void;
12
- printHeader(text: string): void;
13
- startSpinner(text: string): void;
14
- stopSpinner(): void;
15
- stopSpinnerFail(text?: string): void;
16
- clear(): void;
17
- printBanner(): void;
18
- printHelp(): void;
19
- }
20
- //# sourceMappingURL=output.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/tui/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAoB;IAEnC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC,YAAY,CAAC,IAAI,SAAM,EAAE,MAAM,SAAK,GAAG,IAAI;IAI3C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,WAAW,IAAI,IAAI;IAOnB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOpC,KAAK,IAAI,IAAI;IAIb,WAAW,IAAI,IAAI;IASnB,SAAS,IAAI,IAAI;CAclB"}
@@ -1,70 +0,0 @@
1
- /**
2
- * REPL Output Handler
3
- * Migrated from old src/repl/output.ts
4
- */
5
- import chalk from 'chalk';
6
- import ora from 'ora';
7
- export class REPLOutput {
8
- spinner = null;
9
- printError(error) {
10
- console.error(chalk.red(`\n❌ Error: ${error}`));
11
- }
12
- printWarning(warning) {
13
- console.warn(chalk.yellow(`\n⚠️ ${warning}`));
14
- }
15
- printSuccess(message) {
16
- console.log(chalk.green(`\n✅ ${message}`));
17
- }
18
- printInfo(message) {
19
- console.log(chalk.gray(message));
20
- }
21
- printDivider(char = '─', length = 40) {
22
- console.log(chalk.gray(char.repeat(length)));
23
- }
24
- printHeader(text) {
25
- this.printDivider();
26
- console.log(chalk.cyan(text));
27
- this.printDivider();
28
- }
29
- startSpinner(text) {
30
- this.spinner = ora({ text, color: 'cyan', spinner: 'dots' }).start();
31
- }
32
- stopSpinner() {
33
- if (this.spinner) {
34
- this.spinner.stop();
35
- this.spinner = null;
36
- }
37
- }
38
- stopSpinnerFail(text) {
39
- if (this.spinner) {
40
- this.spinner.fail(text || this.spinner.text);
41
- this.spinner = null;
42
- }
43
- }
44
- clear() {
45
- console.clear();
46
- }
47
- printBanner() {
48
- console.log(chalk.cyan(`
49
- ╔═══════════════════════════════════════╗
50
- ║ 🤖 Thatgfsj Code v0.3.0 ║
51
- ║ AI Coding Assistant ║
52
- ╚═══════════════════════════════════════╝
53
- `));
54
- }
55
- printHelp() {
56
- console.log(`
57
- ${chalk.cyan('Commands:')}
58
- ${chalk.gray('exit, Ctrl+C')} - Exit
59
- ${chalk.gray('clear')} - Clear screen
60
- ${chalk.gray('help')} - Show this help
61
- ${chalk.gray('tools')} - List available tools
62
- ${chalk.gray('model')} - Show current model
63
-
64
- ${chalk.cyan('Tips:')}
65
- • Use ${chalk.gray('↑/↓')} for command history
66
- • Use ${chalk.gray('Tab')} for auto-complete
67
- `);
68
- }
69
- }
70
- //# sourceMappingURL=output.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/tui/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAY,MAAM,KAAK,CAAC;AAE/B,MAAM,OAAO,UAAU;IACb,OAAO,GAAe,IAAI,CAAC;IAEnC,UAAU,CAAC,KAAa;QACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,OAAe;QAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,OAAe;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,eAAe,CAAC,IAAa;QAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK;QACH,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,WAAW;QACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;;;;;KAKtB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,CAAC;EACd,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IACnB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;;EAErB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;UACX,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;UACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;KACtB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,25 +0,0 @@
1
- /**
2
- * REPL - Main interactive loop
3
- * Migrated from old src/repl/loop.ts + src/index.ts interactive mode
4
- */
5
- import { App } from '../app/index.js';
6
- export declare class REPL {
7
- private input;
8
- private output;
9
- private app;
10
- private running;
11
- constructor(app: App);
12
- /**
13
- * Start the REPL
14
- */
15
- start(): Promise<void>;
16
- /**
17
- * Handle built-in commands
18
- */
19
- private handleCommand;
20
- /**
21
- * Process user input with AI
22
- */
23
- private processInput;
24
- }
25
- //# sourceMappingURL=repl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/tui/repl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,qBAAa,IAAI;IACf,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,OAAO,CAAS;gBAEZ,GAAG,EAAE,GAAG;IAMpB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B;;OAEG;YACW,aAAa;IA0C3B;;OAEG;YACW,YAAY;CAsB3B"}