@serjm/deepseek-code 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 (216) hide show
  1. package/CONTRIBUTING.md +73 -0
  2. package/README.md +194 -0
  3. package/README.ru.md +194 -0
  4. package/dist/api/index.d.ts +77 -0
  5. package/dist/api/index.d.ts.map +1 -0
  6. package/dist/api/index.js +263 -0
  7. package/dist/api/index.js.map +1 -0
  8. package/dist/cli/headless.d.ts +22 -0
  9. package/dist/cli/headless.d.ts.map +1 -0
  10. package/dist/cli/headless.js +122 -0
  11. package/dist/cli/headless.js.map +1 -0
  12. package/dist/cli/index.d.ts +3 -0
  13. package/dist/cli/index.d.ts.map +1 -0
  14. package/dist/cli/index.js +90 -0
  15. package/dist/cli/index.js.map +1 -0
  16. package/dist/cli/interactive.d.ts +18 -0
  17. package/dist/cli/interactive.d.ts.map +1 -0
  18. package/dist/cli/interactive.js +75 -0
  19. package/dist/cli/interactive.js.map +1 -0
  20. package/dist/commands/index.d.ts +30 -0
  21. package/dist/commands/index.d.ts.map +1 -0
  22. package/dist/commands/index.js +964 -0
  23. package/dist/commands/index.js.map +1 -0
  24. package/dist/config/defaults.d.ts +37 -0
  25. package/dist/config/defaults.d.ts.map +1 -0
  26. package/dist/config/defaults.js +39 -0
  27. package/dist/config/defaults.js.map +1 -0
  28. package/dist/config/loader.d.ts +4 -0
  29. package/dist/config/loader.d.ts.map +1 -0
  30. package/dist/config/loader.js +76 -0
  31. package/dist/config/loader.js.map +1 -0
  32. package/dist/core/agent-loop.d.ts +111 -0
  33. package/dist/core/agent-loop.d.ts.map +1 -0
  34. package/dist/core/agent-loop.js +485 -0
  35. package/dist/core/agent-loop.js.map +1 -0
  36. package/dist/core/checkpoint.d.ts +10 -0
  37. package/dist/core/checkpoint.d.ts.map +1 -0
  38. package/dist/core/checkpoint.js +83 -0
  39. package/dist/core/checkpoint.js.map +1 -0
  40. package/dist/core/extensions.d.ts +55 -0
  41. package/dist/core/extensions.d.ts.map +1 -0
  42. package/dist/core/extensions.js +113 -0
  43. package/dist/core/extensions.js.map +1 -0
  44. package/dist/core/git.d.ts +68 -0
  45. package/dist/core/git.d.ts.map +1 -0
  46. package/dist/core/git.js +148 -0
  47. package/dist/core/git.js.map +1 -0
  48. package/dist/core/hooks.d.ts +37 -0
  49. package/dist/core/hooks.d.ts.map +1 -0
  50. package/dist/core/hooks.js +77 -0
  51. package/dist/core/hooks.js.map +1 -0
  52. package/dist/core/i18n.d.ts +90 -0
  53. package/dist/core/i18n.d.ts.map +1 -0
  54. package/dist/core/i18n.js +253 -0
  55. package/dist/core/i18n.js.map +1 -0
  56. package/dist/core/lsp.d.ts +74 -0
  57. package/dist/core/lsp.d.ts.map +1 -0
  58. package/dist/core/lsp.js +239 -0
  59. package/dist/core/lsp.js.map +1 -0
  60. package/dist/core/mcp.d.ts +49 -0
  61. package/dist/core/mcp.d.ts.map +1 -0
  62. package/dist/core/mcp.js +195 -0
  63. package/dist/core/mcp.js.map +1 -0
  64. package/dist/core/memory.d.ts +38 -0
  65. package/dist/core/memory.d.ts.map +1 -0
  66. package/dist/core/memory.js +231 -0
  67. package/dist/core/memory.js.map +1 -0
  68. package/dist/core/metrics.d.ts +36 -0
  69. package/dist/core/metrics.d.ts.map +1 -0
  70. package/dist/core/metrics.js +111 -0
  71. package/dist/core/metrics.js.map +1 -0
  72. package/dist/core/review.d.ts +27 -0
  73. package/dist/core/review.d.ts.map +1 -0
  74. package/dist/core/review.js +201 -0
  75. package/dist/core/review.js.map +1 -0
  76. package/dist/core/sandbox.d.ts +52 -0
  77. package/dist/core/sandbox.d.ts.map +1 -0
  78. package/dist/core/sandbox.js +140 -0
  79. package/dist/core/sandbox.js.map +1 -0
  80. package/dist/core/scheduler.d.ts +56 -0
  81. package/dist/core/scheduler.d.ts.map +1 -0
  82. package/dist/core/scheduler.js +167 -0
  83. package/dist/core/scheduler.js.map +1 -0
  84. package/dist/core/session.d.ts +49 -0
  85. package/dist/core/session.d.ts.map +1 -0
  86. package/dist/core/session.js +127 -0
  87. package/dist/core/session.js.map +1 -0
  88. package/dist/core/skills.d.ts +36 -0
  89. package/dist/core/skills.d.ts.map +1 -0
  90. package/dist/core/skills.js +90 -0
  91. package/dist/core/skills.js.map +1 -0
  92. package/dist/core/subagent.d.ts +45 -0
  93. package/dist/core/subagent.d.ts.map +1 -0
  94. package/dist/core/subagent.js +130 -0
  95. package/dist/core/subagent.js.map +1 -0
  96. package/dist/core/themes.d.ts +35 -0
  97. package/dist/core/themes.d.ts.map +1 -0
  98. package/dist/core/themes.js +188 -0
  99. package/dist/core/themes.js.map +1 -0
  100. package/dist/tools/bash.d.ts +3 -0
  101. package/dist/tools/bash.d.ts.map +1 -0
  102. package/dist/tools/bash.js +92 -0
  103. package/dist/tools/bash.js.map +1 -0
  104. package/dist/tools/chrome-manager.d.ts +35 -0
  105. package/dist/tools/chrome-manager.d.ts.map +1 -0
  106. package/dist/tools/chrome-manager.js +163 -0
  107. package/dist/tools/chrome-manager.js.map +1 -0
  108. package/dist/tools/chrome.d.ts +78 -0
  109. package/dist/tools/chrome.d.ts.map +1 -0
  110. package/dist/tools/chrome.js +1058 -0
  111. package/dist/tools/chrome.js.map +1 -0
  112. package/dist/tools/edit.d.ts +3 -0
  113. package/dist/tools/edit.d.ts.map +1 -0
  114. package/dist/tools/edit.js +81 -0
  115. package/dist/tools/edit.js.map +1 -0
  116. package/dist/tools/glob.d.ts +3 -0
  117. package/dist/tools/glob.d.ts.map +1 -0
  118. package/dist/tools/glob.js +41 -0
  119. package/dist/tools/glob.js.map +1 -0
  120. package/dist/tools/grep.d.ts +3 -0
  121. package/dist/tools/grep.d.ts.map +1 -0
  122. package/dist/tools/grep.js +74 -0
  123. package/dist/tools/grep.js.map +1 -0
  124. package/dist/tools/path-safety.d.ts +3 -0
  125. package/dist/tools/path-safety.d.ts.map +1 -0
  126. package/dist/tools/path-safety.js +19 -0
  127. package/dist/tools/path-safety.js.map +1 -0
  128. package/dist/tools/read.d.ts +3 -0
  129. package/dist/tools/read.d.ts.map +1 -0
  130. package/dist/tools/read.js +58 -0
  131. package/dist/tools/read.js.map +1 -0
  132. package/dist/tools/registry.d.ts +4 -0
  133. package/dist/tools/registry.d.ts.map +1 -0
  134. package/dist/tools/registry.js +43 -0
  135. package/dist/tools/registry.js.map +1 -0
  136. package/dist/tools/types.d.ts +47 -0
  137. package/dist/tools/types.d.ts.map +1 -0
  138. package/dist/tools/types.js +90 -0
  139. package/dist/tools/types.js.map +1 -0
  140. package/dist/tools/write.d.ts +3 -0
  141. package/dist/tools/write.d.ts.map +1 -0
  142. package/dist/tools/write.js +51 -0
  143. package/dist/tools/write.js.map +1 -0
  144. package/dist/ui/activity-cards.d.ts +50 -0
  145. package/dist/ui/activity-cards.d.ts.map +1 -0
  146. package/dist/ui/activity-cards.js +185 -0
  147. package/dist/ui/activity-cards.js.map +1 -0
  148. package/dist/ui/app.d.ts +9 -0
  149. package/dist/ui/app.d.ts.map +1 -0
  150. package/dist/ui/app.js +852 -0
  151. package/dist/ui/app.js.map +1 -0
  152. package/dist/ui/chat-view.d.ts +10 -0
  153. package/dist/ui/chat-view.d.ts.map +1 -0
  154. package/dist/ui/chat-view.js +94 -0
  155. package/dist/ui/chat-view.js.map +1 -0
  156. package/dist/ui/error-boundary.d.ts +13 -0
  157. package/dist/ui/error-boundary.d.ts.map +1 -0
  158. package/dist/ui/error-boundary.js +16 -0
  159. package/dist/ui/error-boundary.js.map +1 -0
  160. package/dist/ui/fade-in.d.ts +8 -0
  161. package/dist/ui/fade-in.d.ts.map +1 -0
  162. package/dist/ui/fade-in.js +14 -0
  163. package/dist/ui/fade-in.js.map +1 -0
  164. package/dist/ui/input-bar.d.ts +16 -0
  165. package/dist/ui/input-bar.d.ts.map +1 -0
  166. package/dist/ui/input-bar.js +269 -0
  167. package/dist/ui/input-bar.js.map +1 -0
  168. package/dist/ui/markdown-view.d.ts +9 -0
  169. package/dist/ui/markdown-view.d.ts.map +1 -0
  170. package/dist/ui/markdown-view.js +240 -0
  171. package/dist/ui/markdown-view.js.map +1 -0
  172. package/dist/ui/matrix-rain.d.ts +2 -0
  173. package/dist/ui/matrix-rain.d.ts.map +1 -0
  174. package/dist/ui/matrix-rain.js +134 -0
  175. package/dist/ui/matrix-rain.js.map +1 -0
  176. package/dist/ui/reasoning-view.d.ts +12 -0
  177. package/dist/ui/reasoning-view.d.ts.map +1 -0
  178. package/dist/ui/reasoning-view.js +34 -0
  179. package/dist/ui/reasoning-view.js.map +1 -0
  180. package/dist/ui/results-panel.d.ts +11 -0
  181. package/dist/ui/results-panel.d.ts.map +1 -0
  182. package/dist/ui/results-panel.js +17 -0
  183. package/dist/ui/results-panel.js.map +1 -0
  184. package/dist/ui/setup-wizard.d.ts +30 -0
  185. package/dist/ui/setup-wizard.d.ts.map +1 -0
  186. package/dist/ui/setup-wizard.js +166 -0
  187. package/dist/ui/setup-wizard.js.map +1 -0
  188. package/dist/ui/status-bar.d.ts +14 -0
  189. package/dist/ui/status-bar.d.ts.map +1 -0
  190. package/dist/ui/status-bar.js +63 -0
  191. package/dist/ui/status-bar.js.map +1 -0
  192. package/dist/ui/tool-activity-card.d.ts +9 -0
  193. package/dist/ui/tool-activity-card.d.ts.map +1 -0
  194. package/dist/ui/tool-activity-card.js +172 -0
  195. package/dist/ui/tool-activity-card.js.map +1 -0
  196. package/dist/ui/tool-call-view.d.ts +9 -0
  197. package/dist/ui/tool-call-view.d.ts.map +1 -0
  198. package/dist/ui/tool-call-view.js +149 -0
  199. package/dist/ui/tool-call-view.js.map +1 -0
  200. package/dist/utils/clipboard.d.ts +6 -0
  201. package/dist/utils/clipboard.d.ts.map +1 -0
  202. package/dist/utils/clipboard.js +56 -0
  203. package/dist/utils/clipboard.js.map +1 -0
  204. package/dist/utils/ignore.d.ts +6 -0
  205. package/dist/utils/ignore.d.ts.map +1 -0
  206. package/dist/utils/ignore.js +40 -0
  207. package/dist/utils/ignore.js.map +1 -0
  208. package/dist/utils/logger.d.ts +4 -0
  209. package/dist/utils/logger.d.ts.map +1 -0
  210. package/dist/utils/logger.js +13 -0
  211. package/dist/utils/logger.js.map +1 -0
  212. package/dist/utils/string-width.d.ts +6 -0
  213. package/dist/utils/string-width.d.ts.map +1 -0
  214. package/dist/utils/string-width.js +37 -0
  215. package/dist/utils/string-width.js.map +1 -0
  216. package/package.json +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AA2CA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAE,WAA6B;IAC1D,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC3B,MAAM,UAAU,GAA4B,EAAE,CAAA;QAC9C,MAAM,QAAQ,GAAa,EAAE,CAAA;QAE7B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;gBACvB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAA;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;gBACnB,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW;gBACjC,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU;oBACV,QAAQ;iBACT;aACF;SACF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,iBAAiB,GAAG,SAAS,CAAA,CAAC,yBAAyB;AAC7D,MAAM,gBAAgB,GAAG,MAAM,CAAA,CAAC,wBAAwB;AAExD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,IAA6B,EAC7B,MAAuB;IAEvB,MAAM,MAAM,GAA4B,EAAE,CAAA;IAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE9B,iBAAiB;QACjB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;YACtF,CAAC;YACD,SAAQ;QACV,CAAC;QAED,aAAa;QACb,MAAM,UAAU,GAAG,OAAO,KAAK,CAAA;QAC/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,0BAA0B,UAAU,EAAE,CAAC,CAAA;gBACjF,CAAC;gBACD,IAAK,KAAgB,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;oBACjD,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,yBAAyB,iBAAiB,MAAO,KAAgB,CAAC,MAAM,QAAQ,CAAC,CAAA;gBAC3H,CAAC;gBACD,MAAK;YACP,KAAK,QAAQ;gBACX,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,0BAA0B,UAAU,EAAE,CAAC,CAAA;gBACjF,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAe,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,2BAA2B,CAAC,CAAA;gBACtE,CAAC;gBACD,MAAK;YACP,KAAK,SAAS;gBACZ,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,2BAA2B,UAAU,EAAE,CAAC,CAAA;gBAClF,CAAC;gBACD,MAAK;YACP,KAAK,OAAO;gBACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,yBAAyB,UAAU,EAAE,CAAC,CAAA;gBAChF,CAAC;gBACD,IAAK,KAAmB,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,+BAA+B,gBAAgB,MAAO,KAAmB,CAAC,MAAM,QAAQ,CAAC,CAAA;gBACnI,CAAC;gBACD,MAAK;YACP,KAAK,QAAQ;gBACX,IAAI,UAAU,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtE,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,0BAA0B,UAAU,EAAE,CAAC,CAAA;gBACjF,CAAC;gBACD,MAAK;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAC5B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Tool } from './types.js';
2
+ export declare const writeTool: Tool;
3
+ //# sourceMappingURL=write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,YAAY,CAAA;AAKvD,eAAO,MAAM,SAAS,EAAE,IA8CvB,CAAA"}
@@ -0,0 +1,51 @@
1
+ import { writeFile, mkdir } from 'node:fs/promises';
2
+ import { dirname } from 'node:path';
3
+ import { assertPathInWorkspace } from './path-safety.js';
4
+ const MAX_FILE_SIZE = 1_048_576; // 1MB limit
5
+ export const writeTool = {
6
+ name: 'write_file',
7
+ description: 'Write content to a file. Creates the file and any necessary parent directories.',
8
+ parameters: [
9
+ {
10
+ name: 'file_path',
11
+ type: 'string',
12
+ description: 'The absolute path to the file to write',
13
+ required: true,
14
+ },
15
+ {
16
+ name: 'content',
17
+ type: 'string',
18
+ description: 'The content to write to the file',
19
+ required: true,
20
+ },
21
+ ],
22
+ async execute(args) {
23
+ const filePath = args.file_path;
24
+ const content = args.content;
25
+ // Size limit check
26
+ if (content.length > MAX_FILE_SIZE) {
27
+ return {
28
+ success: false,
29
+ output: '',
30
+ error: `File too large: ${content.length} bytes exceeds the maximum of ${MAX_FILE_SIZE} bytes (1MB). Use run_shell_command to write large files.`,
31
+ };
32
+ }
33
+ try {
34
+ assertPathInWorkspace(filePath);
35
+ await mkdir(dirname(filePath), { recursive: true });
36
+ await writeFile(filePath, content, 'utf-8');
37
+ return {
38
+ success: true,
39
+ output: `Successfully wrote ${content.length} bytes to ${filePath}`,
40
+ };
41
+ }
42
+ catch (err) {
43
+ return {
44
+ success: false,
45
+ output: '',
46
+ error: `Failed to write file: ${err.message}`,
47
+ };
48
+ }
49
+ },
50
+ };
51
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,aAAa,GAAG,SAAS,CAAA,CAAC,YAAY;AAE5C,MAAM,CAAC,MAAM,SAAS,GAAS;IAC7B,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,iFAAiF;IAC9F,UAAU,EAAE;QACV;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,IAAI;SACf;KACF;IACD,KAAK,CAAC,OAAO,CAAE,IAA6B;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAmB,CAAA;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAA;QAEtC,mBAAmB;QACnB,IAAI,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,mBAAmB,OAAO,CAAC,MAAM,iCAAiC,aAAa,2DAA2D;aAClJ,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,qBAAqB,CAAC,QAAQ,CAAC,CAAA;YAC/B,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,sBAAsB,OAAO,CAAC,MAAM,aAAa,QAAQ,EAAE;aACpE,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,yBAA0B,GAAa,CAAC,OAAO,EAAE;aACzD,CAAA;QACH,CAAC;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,50 @@
1
+ import type { ToolCallEvent } from '../core/agent-loop.js';
2
+ export interface ShellCardData {
3
+ type: 'shell';
4
+ command: string;
5
+ cwd?: string;
6
+ status: 'running' | 'success' | 'failed';
7
+ durationMs?: number;
8
+ output?: string;
9
+ error?: string;
10
+ }
11
+ export interface FileCardData {
12
+ type: 'file';
13
+ toolName: string;
14
+ path: string;
15
+ status: 'running' | 'success' | 'failed';
16
+ result?: string;
17
+ error?: string;
18
+ }
19
+ export interface ErrorCardData {
20
+ type: 'error';
21
+ toolName: string;
22
+ path?: string;
23
+ reason: string;
24
+ suggestion?: string;
25
+ }
26
+ export interface UnsupportedCardData {
27
+ type: 'unsupported';
28
+ feature: string;
29
+ os: string;
30
+ reason: string;
31
+ action: string;
32
+ }
33
+ export interface TasksCardData {
34
+ type: 'tasks';
35
+ current?: string;
36
+ completed: string[];
37
+ next: string[];
38
+ errors?: string[];
39
+ }
40
+ export type ActivityCardData = ShellCardData | FileCardData | ErrorCardData | UnsupportedCardData | TasksCardData;
41
+ export declare function ActivityCard({ data }: {
42
+ data: ActivityCardData;
43
+ }): import("react/jsx-runtime").JSX.Element | null;
44
+ /**
45
+ * Convert a ToolCallEvent to one or more ActivityCardData items.
46
+ * Each tool call is classified into shell/file/error based on its name and status.
47
+ */
48
+ export declare function toolCallToCards(tc: ToolCallEvent): ActivityCardData[];
49
+ export declare function getSandboxUnsupportedCard(): UnsupportedCardData;
50
+ //# sourceMappingURL=activity-cards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-cards.d.ts","sourceRoot":"","sources":["../../src/ui/activity-cards.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAO1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,aAAa,CAAA;AAkPjB,wBAAgB,YAAY,CAAE,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,kDAejE;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAE,EAAE,EAAE,aAAa,GAAG,gBAAgB,EAAE,CAmFtE;AAID,wBAAgB,yBAAyB,IAAK,mBAAmB,CAahE"}
@@ -0,0 +1,185 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { themeManager } from '../core/themes.js';
4
+ import { platform, homedir } from 'node:os';
5
+ import { formatDuration } from '../utils/string-width.js';
6
+ // ─── Helpers ─────────────────────────────────────────────────────────────────
7
+ function abbreviatePath(p, maxCols) {
8
+ const home = homedir();
9
+ const abbreviated = p.startsWith(home) ? '~' + p.slice(home.length) : p;
10
+ if (abbreviated.length <= maxCols)
11
+ return abbreviated;
12
+ const half = Math.floor((maxCols - 3) / 2);
13
+ return abbreviated.slice(0, half) + '...' + abbreviated.slice(-half);
14
+ }
15
+ // ─── Shell Card ──────────────────────────────────────────────────────────────
16
+ function ShellCard({ data }) {
17
+ const colors = themeManager.getColors();
18
+ const statusColor = data.status === 'success'
19
+ ? colors.success
20
+ : data.status === 'failed'
21
+ ? colors.error
22
+ : colors.info;
23
+ const statusIcon = data.status === 'success'
24
+ ? '✅'
25
+ : data.status === 'failed'
26
+ ? '❌'
27
+ : '🔄';
28
+ return (_jsx(Box, { flexDirection: 'column', marginLeft: 2, marginBottom: 1, children: _jsx(Box, { borderStyle: 'round', borderColor: colors.border, paddingX: 1, paddingY: 0, children: _jsxs(Box, { flexDirection: 'column', children: [_jsx(Box, { children: _jsx(Text, { bold: true, color: colors.info, children: "Shell" }) }), _jsx(Box, { children: _jsx(Text, { dimColor: true, children: data.command }) }), data.cwd && (_jsx(Box, { children: _jsxs(Text, { dimColor: true, children: ["\u043F\u0430\u043F\u043A\u0430: ", data.cwd] }) })), _jsxs(Box, { children: [_jsxs(Text, { color: statusColor, children: [statusIcon, " \u0421\u0442\u0430\u0442\u0443\u0441: ", data.status === 'success' ? 'успешно' : data.status === 'failed' ? 'ошибка' : 'выполняется'] }), data.durationMs !== undefined && (_jsxs(Text, { dimColor: true, children: [" \u00B7 ", formatDuration(data.durationMs)] }))] }), data.output && data.output.length > 0 && (_jsx(Box, { children: _jsxs(Text, { color: colors.textMuted, children: [data.output.slice(0, 200), data.output.length > 200 ? '…' : ''] }) })), data.error && (_jsx(Box, { children: _jsxs(Text, { color: colors.error, children: ["\u041E\u0448\u0438\u0431\u043A\u0430: ", data.error.slice(0, 200)] }) }))] }) }) }));
29
+ }
30
+ // ─── File Card ───────────────────────────────────────────────────────────────
31
+ function FileCard({ data }) {
32
+ const colors = themeManager.getColors();
33
+ const statusColor = data.status === 'success'
34
+ ? colors.success
35
+ : data.status === 'failed'
36
+ ? colors.error
37
+ : colors.info;
38
+ const statusIcon = data.status === 'success'
39
+ ? '✅'
40
+ : data.status === 'failed'
41
+ ? '❌'
42
+ : '🔄';
43
+ const toolLabel = data.toolName === 'read_file'
44
+ ? 'ReadFile'
45
+ : data.toolName === 'write_file'
46
+ ? 'WriteFile'
47
+ : data.toolName === 'edit'
48
+ ? 'Edit'
49
+ : data.toolName === 'glob'
50
+ ? 'Glob'
51
+ : data.toolName === 'grep_search'
52
+ ? 'Grep'
53
+ : data.toolName;
54
+ return (_jsx(Box, { flexDirection: 'column', marginLeft: 2, marginBottom: 1, children: _jsx(Box, { borderStyle: 'round', borderColor: colors.border, paddingX: 1, paddingY: 0, children: _jsxs(Box, { flexDirection: 'column', children: [_jsx(Box, { children: _jsx(Text, { bold: true, color: colors.info, children: toolLabel }) }), _jsx(Box, { children: _jsx(Text, { dimColor: true, children: abbreviatePath(data.path, (process.stdout.columns || 80) - 10) }) }), _jsx(Box, { children: _jsxs(Text, { color: statusColor, children: [statusIcon, " \u0421\u0442\u0430\u0442\u0443\u0441: ", data.status === 'success' ? 'успешно' : data.status === 'failed' ? 'ошибка' : 'выполняется'] }) }), data.result && data.result.length > 0 && (_jsx(Box, { children: _jsxs(Text, { color: colors.textMuted, children: [data.result.slice(0, 300), data.result.length > 300 ? '…' : ''] }) })), data.error && (_jsx(Box, { children: _jsxs(Text, { color: colors.error, children: ["\u041F\u0440\u0438\u0447\u0438\u043D\u0430: ", data.error] }) }))] }) }) }));
55
+ }
56
+ // ─── Error Card ──────────────────────────────────────────────────────────────
57
+ function ErrorCard({ data }) {
58
+ const colors = themeManager.getColors();
59
+ return (_jsx(Box, { flexDirection: 'column', marginLeft: 2, marginBottom: 1, children: _jsx(Box, { borderStyle: 'round', borderColor: colors.error, paddingX: 1, paddingY: 0, children: _jsxs(Box, { flexDirection: 'column', children: [_jsx(Box, { children: _jsx(Text, { bold: true, color: colors.error, children: "\u274C \u041E\u0448\u0438\u0431\u043A\u0430" }) }), _jsx(Box, { children: _jsxs(Text, { color: colors.error, children: ["\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442: ", data.toolName] }) }), data.path && (_jsx(Box, { children: _jsxs(Text, { color: colors.error, children: ["\u0424\u0430\u0439\u043B: ", data.path] }) })), _jsx(Box, { children: _jsxs(Text, { color: colors.error, children: ["\u041F\u0440\u0438\u0447\u0438\u043D\u0430: ", data.reason] }) }), data.suggestion && (_jsx(Box, { children: _jsxs(Text, { color: colors.warning, children: ["\u0427\u0442\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C: ", data.suggestion] }) }))] }) }) }));
60
+ }
61
+ // ─── Unsupported Card ────────────────────────────────────────────────────────
62
+ function UnsupportedCard({ data }) {
63
+ const colors = themeManager.getColors();
64
+ return (_jsx(Box, { flexDirection: 'column', marginLeft: 2, marginBottom: 1, children: _jsx(Box, { borderStyle: 'round', borderColor: colors.warning, paddingX: 1, paddingY: 0, children: _jsxs(Box, { flexDirection: 'column', children: [_jsx(Box, { children: _jsxs(Text, { bold: true, color: colors.warning, children: ["\u26A0\uFE0F ", data.feature, " \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D"] }) }), _jsx(Box, { children: _jsxs(Text, { color: colors.textMuted, children: ["\u041E\u0421: ", data.os] }) }), _jsx(Box, { children: _jsxs(Text, { color: colors.textMuted, children: ["\u041F\u0440\u0438\u0447\u0438\u043D\u0430: ", data.reason] }) }), _jsx(Box, { children: _jsxs(Text, { color: colors.info, children: ["\u0427\u0442\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C: ", data.action] }) })] }) }) }));
65
+ }
66
+ // ─── Tasks Card ──────────────────────────────────────────────────────────────
67
+ function TasksCard({ data }) {
68
+ const colors = themeManager.getColors();
69
+ return (_jsx(Box, { flexDirection: 'column', marginLeft: 2, marginBottom: 1, children: _jsx(Box, { borderStyle: 'round', borderColor: colors.border, paddingX: 1, paddingY: 0, children: _jsxs(Box, { flexDirection: 'column', children: [_jsx(Box, { children: _jsx(Text, { bold: true, color: colors.info, children: "\uD83D\uDCCB \u041F\u043B\u0430\u043D" }) }), data.current && (_jsx(Box, { children: _jsxs(Text, { color: colors.warning, children: ["\uD83D\uDD04 \u0422\u0435\u043A\u0443\u0449\u0435\u0435: ", data.current] }) })), data.completed.length > 0 && (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { color: colors.success, children: "\u2705 \u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E:" }), data.completed.map((item, i) => (_jsx(Box, { marginLeft: 1, children: _jsxs(Text, { color: colors.success, children: ["\u00B7 ", item] }) }, i)))] })), data.next.length > 0 && (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { color: colors.textMuted, children: "\u2B1C \u0414\u0430\u043B\u0435\u0435:" }), data.next.map((item, i) => (_jsx(Box, { marginLeft: 1, children: _jsxs(Text, { color: colors.textMuted, children: ["\u00B7 ", item] }) }, i)))] })), data.errors && data.errors.length > 0 && (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { color: colors.error, children: "\u274C \u041E\u0448\u0438\u0431\u043A\u0438:" }), data.errors.map((item, i) => (_jsx(Box, { marginLeft: 1, children: _jsxs(Text, { color: colors.error, children: ["\u00B7 ", item] }) }, i)))] }))] }) }) }));
70
+ }
71
+ // ─── Router ──────────────────────────────────────────────────────────────────
72
+ export function ActivityCard({ data }) {
73
+ switch (data.type) {
74
+ case 'shell':
75
+ return _jsx(ShellCard, { data: data });
76
+ case 'file':
77
+ return _jsx(FileCard, { data: data });
78
+ case 'error':
79
+ return _jsx(ErrorCard, { data: data });
80
+ case 'unsupported':
81
+ return _jsx(UnsupportedCard, { data: data });
82
+ case 'tasks':
83
+ return _jsx(TasksCard, { data: data });
84
+ default:
85
+ return null;
86
+ }
87
+ }
88
+ // ─── ToolCallEvent → ActivityCardData converter ──────────────────────────────
89
+ /**
90
+ * Convert a ToolCallEvent to one or more ActivityCardData items.
91
+ * Each tool call is classified into shell/file/error based on its name and status.
92
+ */
93
+ export function toolCallToCards(tc) {
94
+ const cards = [];
95
+ // Error/rejected calls produce ErrorCard
96
+ if (tc.status === 'failed' || tc.status === 'rejected') {
97
+ const isFileTool = ['read_file', 'write_file', 'edit', 'glob', 'grep_search'].includes(tc.name);
98
+ const path = (tc.arguments.file_path ?? tc.arguments.pattern ?? tc.arguments.path ?? '');
99
+ // Suggest similar file for file-not-found errors
100
+ let suggestion;
101
+ if (tc.error && /not found|ENOENT|does not exist/i.test(tc.error) && isFileTool && path) {
102
+ const ext = path.split('.').pop();
103
+ if (ext === 'js' || ext === 'ts') {
104
+ const altExt = ext === 'js' ? 'ts' : 'js';
105
+ const altPath = path.replace(new RegExp(`\\.${ext}$`), `.${altExt}`);
106
+ suggestion = `найден похожий файл ${altPath}`;
107
+ }
108
+ }
109
+ cards.push({
110
+ type: 'error',
111
+ toolName: tc.name,
112
+ path: path || undefined,
113
+ reason: tc.error ?? 'Unknown error',
114
+ suggestion,
115
+ });
116
+ return cards;
117
+ }
118
+ // Shell commands produce ShellCard
119
+ if (tc.name === 'run_shell_command') {
120
+ const command = tc.arguments.command ?? '';
121
+ const cwd = tc.arguments.cwd;
122
+ cards.push({
123
+ type: 'shell',
124
+ command,
125
+ cwd,
126
+ status: tc.status === 'running'
127
+ ? 'running'
128
+ : tc.status === 'completed'
129
+ ? 'success'
130
+ : 'failed',
131
+ durationMs: tc.durationMs,
132
+ output: tc.result,
133
+ error: tc.error,
134
+ });
135
+ return cards;
136
+ }
137
+ // File tools produce FileCard
138
+ const fileTools = ['read_file', 'write_file', 'edit', 'glob', 'grep_search'];
139
+ if (fileTools.includes(tc.name)) {
140
+ const path = (tc.arguments.file_path ?? tc.arguments.pattern ?? '');
141
+ cards.push({
142
+ type: 'file',
143
+ toolName: tc.name,
144
+ path,
145
+ status: tc.status === 'running'
146
+ ? 'running'
147
+ : tc.status === 'completed'
148
+ ? 'success'
149
+ : 'failed',
150
+ result: tc.result,
151
+ error: tc.error,
152
+ });
153
+ return cards;
154
+ }
155
+ // Other tools — generic file card
156
+ cards.push({
157
+ type: 'file',
158
+ toolName: tc.name,
159
+ path: '',
160
+ status: tc.status === 'running'
161
+ ? 'running'
162
+ : tc.status === 'completed'
163
+ ? 'success'
164
+ : 'failed',
165
+ result: tc.result,
166
+ error: tc.error,
167
+ });
168
+ return cards;
169
+ }
170
+ // ─── Sandbox capability check ────────────────────────────────────────────────
171
+ export function getSandboxUnsupportedCard() {
172
+ const os = platform();
173
+ return {
174
+ type: 'unsupported',
175
+ feature: 'Sandbox',
176
+ os,
177
+ reason: os === 'win32'
178
+ ? 'текущая реализация песочницы требует Docker/WSL/Linux'
179
+ : 'среда изоляции недоступна',
180
+ action: os === 'win32'
181
+ ? 'используйте WSL/Podman или отключите sandbox-режим'
182
+ : 'установите Docker или настройте песочницу',
183
+ };
184
+ }
185
+ //# sourceMappingURL=activity-cards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-cards.js","sourceRoot":"","sources":["../../src/ui/activity-cards.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { DeepSeekConfig } from '../config/defaults.js';
2
+ import type { SessionOptions } from '../cli/interactive.js';
3
+ interface AppProps {
4
+ config: DeepSeekConfig;
5
+ options: SessionOptions;
6
+ }
7
+ export declare function App({ config, options }: AppProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/ui/app.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,uBAAuB,CAAA;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAkB3D,UAAU,QAAQ;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;CACzB;AA4BD,wBAAgB,GAAG,CAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,2CAg7BjD"}