@abacus-ai/cli 1.106.25007 → 2.0.0-canary.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 (200) hide show
  1. package/.oxlintrc.json +8 -0
  2. package/dist/index.mjs +12603 -0
  3. package/package.json +7 -39
  4. package/resources/abacus.ico +0 -0
  5. package/resources/entitlements.plist +9 -0
  6. package/src/__e2e__/README.md +196 -0
  7. package/src/__e2e__/agent-interactions.e2e.test.tsx +61 -0
  8. package/src/__e2e__/cli-commands.e2e.test.tsx +77 -0
  9. package/src/__e2e__/conversation-throttle.e2e.test.ts +453 -0
  10. package/src/__e2e__/conversation.e2e.test.tsx +56 -0
  11. package/src/__e2e__/diff-preview.e2e.test.tsx +3399 -0
  12. package/src/__e2e__/file-creation.e2e.test.tsx +149 -0
  13. package/src/__e2e__/helpers/test-helpers.ts +450 -0
  14. package/src/__e2e__/keyboard-navigation.e2e.test.tsx +34 -0
  15. package/src/__e2e__/llm-models.e2e.test.ts +402 -0
  16. package/src/__e2e__/mcp/mcp-callback-flow.e2e.test.tsx +71 -0
  17. package/src/__e2e__/mcp/mcp-full-app-ui.e2e.test.tsx +167 -0
  18. package/src/__e2e__/mcp/mcp-ui-rendering.e2e.test.tsx +185 -0
  19. package/src/__e2e__/repl.e2e.test.tsx +78 -0
  20. package/src/__e2e__/shell-compatibility.e2e.test.tsx +76 -0
  21. package/src/__e2e__/theme-mcp.e2e.test.tsx +98 -0
  22. package/src/__e2e__/tool-permissions.e2e.test.tsx +66 -0
  23. package/src/args.ts +22 -0
  24. package/src/components/__tests__/react-compiler.test.tsx +78 -0
  25. package/src/components/__tests__/status-indicator.test.tsx +403 -0
  26. package/src/components/composer/__tests__/bash-runner.test.tsx +263 -0
  27. package/src/components/composer/agent-mode-indicator.tsx +63 -0
  28. package/src/components/composer/bash-runner.tsx +54 -0
  29. package/src/components/composer/commands/default-commands.tsx +615 -0
  30. package/src/components/composer/commands/handler.tsx +59 -0
  31. package/src/components/composer/commands/picker.tsx +273 -0
  32. package/src/components/composer/commands/registry.ts +233 -0
  33. package/src/components/composer/commands/types.ts +33 -0
  34. package/src/components/composer/context.tsx +88 -0
  35. package/src/components/composer/file-mention-picker.tsx +83 -0
  36. package/src/components/composer/help.tsx +44 -0
  37. package/src/components/composer/index.tsx +1006 -0
  38. package/src/components/composer/mentions.ts +57 -0
  39. package/src/components/composer/message-queue.tsx +70 -0
  40. package/src/components/composer/mode-panel.tsx +35 -0
  41. package/src/components/composer/modes/__tests__/bash-handler.test.tsx +755 -0
  42. package/src/components/composer/modes/__tests__/bash-renderer.test.tsx +1108 -0
  43. package/src/components/composer/modes/bash-handler.tsx +132 -0
  44. package/src/components/composer/modes/bash-renderer.tsx +175 -0
  45. package/src/components/composer/modes/default-handlers.tsx +33 -0
  46. package/src/components/composer/modes/index.ts +41 -0
  47. package/src/components/composer/modes/types.ts +21 -0
  48. package/src/components/composer/persistent-shell.ts +283 -0
  49. package/src/components/composer/process.ts +65 -0
  50. package/src/components/composer/types.ts +9 -0
  51. package/src/components/composer/use-mention-search.ts +68 -0
  52. package/src/components/error-boundry.tsx +60 -0
  53. package/src/components/exit-message.tsx +29 -0
  54. package/src/components/expanded-view.tsx +74 -0
  55. package/src/components/file-completion.tsx +127 -0
  56. package/src/components/header.tsx +47 -0
  57. package/src/components/logo.tsx +37 -0
  58. package/src/components/segments.tsx +356 -0
  59. package/src/components/status-indicator.tsx +306 -0
  60. package/src/components/tool-group-summary.tsx +263 -0
  61. package/src/components/tool-permissions/ask-user-question-permission-ui.tsx +312 -0
  62. package/src/components/tool-permissions/diff-preview.tsx +355 -0
  63. package/src/components/tool-permissions/index.ts +5 -0
  64. package/src/components/tool-permissions/permission-options.tsx +375 -0
  65. package/src/components/tool-permissions/permission-preview-header.tsx +57 -0
  66. package/src/components/tool-permissions/tool-permission-ui.tsx +398 -0
  67. package/src/components/tools/agent/ask-user-question.tsx +101 -0
  68. package/src/components/tools/agent/enter-plan-mode.tsx +49 -0
  69. package/src/components/tools/agent/exit-plan-mode.tsx +75 -0
  70. package/src/components/tools/agent/handoff-to-main.tsx +27 -0
  71. package/src/components/tools/agent/subagent.tsx +37 -0
  72. package/src/components/tools/agent/todo-write.tsx +104 -0
  73. package/src/components/tools/browser/close-tab.tsx +58 -0
  74. package/src/components/tools/browser/computer.tsx +70 -0
  75. package/src/components/tools/browser/get-interactive-elements.tsx +54 -0
  76. package/src/components/tools/browser/get-tab-content.tsx +51 -0
  77. package/src/components/tools/browser/navigate-to.tsx +59 -0
  78. package/src/components/tools/browser/new-tab.tsx +60 -0
  79. package/src/components/tools/browser/perform-action.tsx +63 -0
  80. package/src/components/tools/browser/refresh-tab.tsx +43 -0
  81. package/src/components/tools/browser/switch-tab.tsx +58 -0
  82. package/src/components/tools/filesystem/delete-file.tsx +104 -0
  83. package/src/components/tools/filesystem/edit.tsx +220 -0
  84. package/src/components/tools/filesystem/list-dir.tsx +78 -0
  85. package/src/components/tools/filesystem/read-file.tsx +180 -0
  86. package/src/components/tools/filesystem/upload-image.tsx +76 -0
  87. package/src/components/tools/ide/ide-diagnostics.tsx +62 -0
  88. package/src/components/tools/index.ts +91 -0
  89. package/src/components/tools/mcp/mcp-tool.tsx +158 -0
  90. package/src/components/tools/search/fetch-url.tsx +73 -0
  91. package/src/components/tools/search/file-search.tsx +78 -0
  92. package/src/components/tools/search/grep.tsx +90 -0
  93. package/src/components/tools/search/semantic-search.tsx +66 -0
  94. package/src/components/tools/search/web-search.tsx +71 -0
  95. package/src/components/tools/shared/index.tsx +48 -0
  96. package/src/components/tools/shared/zod-coercion.ts +35 -0
  97. package/src/components/tools/terminal/bash-tool-output.tsx +174 -0
  98. package/src/components/tools/terminal/get-terminal-output.tsx +85 -0
  99. package/src/components/tools/terminal/run-in-terminal.tsx +106 -0
  100. package/src/components/tools/types.ts +16 -0
  101. package/src/components/tools.tsx +66 -0
  102. package/src/components/ui/__tests__/divider.test.tsx +61 -0
  103. package/src/components/ui/__tests__/gradient.test.tsx +125 -0
  104. package/src/components/ui/__tests__/input.test.tsx +166 -0
  105. package/src/components/ui/__tests__/select.test.tsx +273 -0
  106. package/src/components/ui/__tests__/shimmer.test.tsx +99 -0
  107. package/src/components/ui/blinking-indicator.tsx +25 -0
  108. package/src/components/ui/divider.tsx +162 -0
  109. package/src/components/ui/gradient.tsx +56 -0
  110. package/src/components/ui/input.tsx +228 -0
  111. package/src/components/ui/select.tsx +151 -0
  112. package/src/components/ui/shimmer.tsx +84 -0
  113. package/src/context/agent-mode.tsx +95 -0
  114. package/src/context/extension-file.tsx +136 -0
  115. package/src/context/network-activity.tsx +45 -0
  116. package/src/context/notification.tsx +62 -0
  117. package/src/context/shell-size.tsx +49 -0
  118. package/src/context/shell-title.tsx +38 -0
  119. package/src/entrypoints/print-mode.ts +312 -0
  120. package/src/entrypoints/repl.tsx +401 -0
  121. package/src/hooks/use-agent.ts +15 -0
  122. package/src/hooks/use-api-client.ts +1 -0
  123. package/src/hooks/use-available-height.ts +8 -0
  124. package/src/hooks/use-cleanup.ts +29 -0
  125. package/src/hooks/use-interrupt-manager.ts +242 -0
  126. package/src/hooks/use-models.ts +22 -0
  127. package/src/index.ts +217 -0
  128. package/src/lib/__tests__/ansi.test.ts +255 -0
  129. package/src/lib/__tests__/cli.test.ts +122 -0
  130. package/src/lib/__tests__/commands.test.ts +325 -0
  131. package/src/lib/__tests__/constants.test.ts +15 -0
  132. package/src/lib/__tests__/focusables.test.ts +25 -0
  133. package/src/lib/__tests__/fs.test.ts +231 -0
  134. package/src/lib/__tests__/markdown.test.tsx +348 -0
  135. package/src/lib/__tests__/mcpCommandHandler.test.ts +173 -0
  136. package/src/lib/__tests__/mcpManagement.test.ts +38 -0
  137. package/src/lib/__tests__/path-paste.test.ts +144 -0
  138. package/src/lib/__tests__/path.test.ts +300 -0
  139. package/src/lib/__tests__/queries.test.ts +39 -0
  140. package/src/lib/__tests__/standaloneMcpService.test.ts +71 -0
  141. package/src/lib/__tests__/text-buffer.test.ts +328 -0
  142. package/src/lib/__tests__/text-utils.test.ts +32 -0
  143. package/src/lib/__tests__/timing.test.ts +78 -0
  144. package/src/lib/__tests__/utils.test.ts +238 -0
  145. package/src/lib/__tests__/vim-buffer-actions.test.ts +154 -0
  146. package/src/lib/ansi.ts +150 -0
  147. package/src/lib/cli-push-server.ts +112 -0
  148. package/src/lib/cli.ts +44 -0
  149. package/src/lib/clipboard.ts +226 -0
  150. package/src/lib/command-utils.ts +93 -0
  151. package/src/lib/commands.ts +270 -0
  152. package/src/lib/constants.ts +3 -0
  153. package/src/lib/extension-connection.ts +181 -0
  154. package/src/lib/focusables.ts +7 -0
  155. package/src/lib/fs.ts +533 -0
  156. package/src/lib/markdown/code-block.tsx +63 -0
  157. package/src/lib/markdown/index.ts +4 -0
  158. package/src/lib/markdown/link.tsx +19 -0
  159. package/src/lib/markdown/markdown.tsx +372 -0
  160. package/src/lib/markdown/types.ts +15 -0
  161. package/src/lib/mcpCommandHandler.ts +121 -0
  162. package/src/lib/mcpManagement.ts +44 -0
  163. package/src/lib/path-paste.ts +185 -0
  164. package/src/lib/path.ts +179 -0
  165. package/src/lib/queries.ts +15 -0
  166. package/src/lib/standaloneMcpService.ts +688 -0
  167. package/src/lib/status-utils.ts +237 -0
  168. package/src/lib/test-utils.tsx +72 -0
  169. package/src/lib/text-buffer.ts +2415 -0
  170. package/src/lib/text-utils.ts +272 -0
  171. package/src/lib/timing.ts +63 -0
  172. package/src/lib/types.ts +295 -0
  173. package/src/lib/utils.ts +182 -0
  174. package/src/lib/vim-buffer-actions.ts +732 -0
  175. package/src/providers/agent.tsx +1075 -0
  176. package/src/providers/api-client.tsx +43 -0
  177. package/src/services/logger.ts +85 -0
  178. package/src/terminal/detection.ts +187 -0
  179. package/src/terminal/exit.ts +279 -0
  180. package/src/terminal/notification.ts +83 -0
  181. package/src/terminal/progress.ts +201 -0
  182. package/src/terminal/setup.ts +797 -0
  183. package/src/terminal/suspend.ts +58 -0
  184. package/src/terminal/types.ts +51 -0
  185. package/src/theme/context.tsx +57 -0
  186. package/src/theme/index.ts +4 -0
  187. package/src/theme/themed.tsx +35 -0
  188. package/src/theme/themes.json +546 -0
  189. package/src/theme/types.ts +110 -0
  190. package/src/tools/types.ts +59 -0
  191. package/src/tools/utils/__tests__/zod-coercion.test.ts +33 -0
  192. package/src/tools/utils/tool-ui-components.tsx +631 -0
  193. package/src/tools/utils/zod-coercion.ts +35 -0
  194. package/tsconfig.json +11 -0
  195. package/tsconfig.node.json +29 -0
  196. package/tsconfig.test.json +27 -0
  197. package/tsdown.config.ts +17 -0
  198. package/vitest.config.ts +76 -0
  199. package/README.md +0 -28
  200. package/dist/index.js +0 -26
@@ -0,0 +1,546 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "default": "catppuccin-mocha",
4
+ "themes": [
5
+ {
6
+ "name": "catppuccin-mocha",
7
+ "displayName": "Catppuccin Mocha",
8
+ "type": "dark",
9
+ "author": "https://github.com/catppuccin/catppuccin",
10
+ "source": "base16",
11
+ "colors": {
12
+ "text": "#cdd6f4",
13
+ "textMuted": "#585b70",
14
+ "textSubtle": "#45475a",
15
+ "textInverse": "#1e1e2e",
16
+ "background": "#1e1e2e",
17
+ "backgroundAlt": "#181825",
18
+ "backgroundSelection": "#313244",
19
+ "backgroundHover": "#181825",
20
+ "primary": "#89b4fa",
21
+ "primaryMuted": "#5e78a8",
22
+ "secondary": "#cba6f7",
23
+ "accent": "#f2cdcd",
24
+ "info": "#94e2d5",
25
+ "success": "#a6e3a1",
26
+ "successMuted": "#709473",
27
+ "error": "#f38ba8",
28
+ "errorMuted": "#9e5f77",
29
+ "warning": "#f9e2af",
30
+ "warningMuted": "#a1947b",
31
+ "border": "#45475a",
32
+ "borderFocused": "#89b4fa",
33
+ "borderSubtle": "#313244",
34
+ "diffAdded": "#394545",
35
+ "diffAddedText": "#a6e3a1",
36
+ "diffAddedHighlight": "#4a5f4f",
37
+ "diffRemoved": "#493446",
38
+ "diffRemovedText": "#f38ba8",
39
+ "diffRemovedHighlight": "#5e3d51",
40
+ "codeBackground": "#181825",
41
+ "promptBorder": "#585b70",
42
+ "suggestion": "#89b4fa",
43
+ "link": "#89b4fa",
44
+ "linkVisited": "#cba6f7",
45
+ "gradientStart": "#89b4fa",
46
+ "gradientMid": "#cba6f7",
47
+ "gradientEnd": "#f2cdcd",
48
+ "syntaxKeyword": "#cba6f7",
49
+ "syntaxString": "#a6e3a1",
50
+ "syntaxNumber": "#fab387",
51
+ "syntaxComment": "#45475a",
52
+ "syntaxFunction": "#89b4fa",
53
+ "syntaxVariable": "#f38ba8",
54
+ "syntaxType": "#f9e2af",
55
+ "syntaxOperator": "#cdd6f4",
56
+ "syntaxPunctuation": "#cdd6f4"
57
+ }
58
+ },
59
+ {
60
+ "name": "dracula",
61
+ "displayName": "Dracula",
62
+ "type": "dark",
63
+ "author": "Jamy Golden (http://github.com/JamyGolden), based on Dracula Theme (http://github.com/dracula)",
64
+ "source": "base16",
65
+ "colors": {
66
+ "text": "#f8f8f2",
67
+ "textMuted": "#9ea8c7",
68
+ "textSubtle": "#6272a4",
69
+ "textInverse": "#282a36",
70
+ "background": "#282a36",
71
+ "backgroundAlt": "#363447",
72
+ "backgroundSelection": "#44475a",
73
+ "backgroundHover": "#363447",
74
+ "primary": "#80bfff",
75
+ "primaryMuted": "#5d83af",
76
+ "secondary": "#ff79c6",
77
+ "accent": "#bd93f9",
78
+ "info": "#8be9fd",
79
+ "success": "#50fa7b",
80
+ "successMuted": "#40a75f",
81
+ "error": "#ff5555",
82
+ "errorMuted": "#a94449",
83
+ "warning": "#f1fa8c",
84
+ "warningMuted": "#a1a76a",
85
+ "border": "#6272a4",
86
+ "borderFocused": "#80bfff",
87
+ "borderSubtle": "#44475a",
88
+ "diffAdded": "#305444",
89
+ "diffAddedText": "#50fa7b",
90
+ "diffAddedHighlight": "#3d6b56",
91
+ "diffRemoved": "#53333c",
92
+ "diffRemovedText": "#ff5555",
93
+ "diffRemovedHighlight": "#6b3f49",
94
+ "codeBackground": "#363447",
95
+ "promptBorder": "#9ea8c7",
96
+ "suggestion": "#80bfff",
97
+ "link": "#80bfff",
98
+ "linkVisited": "#ff79c6",
99
+ "gradientStart": "#80bfff",
100
+ "gradientMid": "#ff79c6",
101
+ "gradientEnd": "#bd93f9",
102
+ "syntaxKeyword": "#ff79c6",
103
+ "syntaxString": "#50fa7b",
104
+ "syntaxNumber": "#ffb86c",
105
+ "syntaxComment": "#6272a4",
106
+ "syntaxFunction": "#80bfff",
107
+ "syntaxVariable": "#ff5555",
108
+ "syntaxType": "#f1fa8c",
109
+ "syntaxOperator": "#f8f8f2",
110
+ "syntaxPunctuation": "#f8f8f2"
111
+ }
112
+ },
113
+ {
114
+ "name": "nord",
115
+ "displayName": "Nord",
116
+ "type": "dark",
117
+ "author": "arcticicestudio",
118
+ "source": "base16",
119
+ "colors": {
120
+ "text": "#e5e9f0",
121
+ "textMuted": "#d8dee9",
122
+ "textSubtle": "#4c566a",
123
+ "textInverse": "#2e3440",
124
+ "background": "#2e3440",
125
+ "backgroundAlt": "#3b4252",
126
+ "backgroundSelection": "#434c5e",
127
+ "backgroundHover": "#3b4252",
128
+ "primary": "#81a1c1",
129
+ "primaryMuted": "#60758d",
130
+ "secondary": "#b48ead",
131
+ "accent": "#5e81ac",
132
+ "info": "#88c0d0",
133
+ "success": "#a3be8c",
134
+ "successMuted": "#74876e",
135
+ "error": "#bf616a",
136
+ "errorMuted": "#854f59",
137
+ "warning": "#ebcb8b",
138
+ "warningMuted": "#9f8f6d",
139
+ "border": "#4c566a",
140
+ "borderFocused": "#81a1c1",
141
+ "borderSubtle": "#434c5e",
142
+ "diffAdded": "#45504f",
143
+ "diffAddedText": "#a3be8c",
144
+ "diffAddedHighlight": "#556360",
145
+ "diffRemoved": "#4b3d48",
146
+ "diffRemovedText": "#bf616a",
147
+ "diffRemovedHighlight": "#5f4957",
148
+ "codeBackground": "#3b4252",
149
+ "promptBorder": "#d8dee9",
150
+ "suggestion": "#81a1c1",
151
+ "link": "#81a1c1",
152
+ "linkVisited": "#b48ead",
153
+ "gradientStart": "#81a1c1",
154
+ "gradientMid": "#b48ead",
155
+ "gradientEnd": "#5e81ac",
156
+ "syntaxKeyword": "#b48ead",
157
+ "syntaxString": "#a3be8c",
158
+ "syntaxNumber": "#d08770",
159
+ "syntaxComment": "#4c566a",
160
+ "syntaxFunction": "#81a1c1",
161
+ "syntaxVariable": "#bf616a",
162
+ "syntaxType": "#ebcb8b",
163
+ "syntaxOperator": "#e5e9f0",
164
+ "syntaxPunctuation": "#e5e9f0"
165
+ }
166
+ },
167
+ {
168
+ "name": "gruvbox-dark-hard",
169
+ "displayName": "Gruvbox dark, hard",
170
+ "type": "dark",
171
+ "author": "Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)",
172
+ "source": "base16",
173
+ "colors": {
174
+ "text": "#d5c4a1",
175
+ "textMuted": "#bdae93",
176
+ "textSubtle": "#665c54",
177
+ "textInverse": "#1d2021",
178
+ "background": "#1d2021",
179
+ "backgroundAlt": "#3c3836",
180
+ "backgroundSelection": "#504945",
181
+ "backgroundHover": "#3c3836",
182
+ "primary": "#83a598",
183
+ "primaryMuted": "#5a7068",
184
+ "secondary": "#d3869b",
185
+ "accent": "#d65d0e",
186
+ "info": "#8ec07c",
187
+ "success": "#b8bb26",
188
+ "successMuted": "#7a7d24",
189
+ "error": "#fb4934",
190
+ "errorMuted": "#a2392c",
191
+ "warning": "#fabd2f",
192
+ "warningMuted": "#a27e29",
193
+ "border": "#665c54",
194
+ "borderFocused": "#83a598",
195
+ "borderSubtle": "#504945",
196
+ "diffAdded": "#3c3f22",
197
+ "diffAddedText": "#b8bb26",
198
+ "diffAddedHighlight": "#4b4f2a",
199
+ "diffRemoved": "#492825",
200
+ "diffRemovedText": "#fb4934",
201
+ "diffRemovedHighlight": "#5c322e",
202
+ "codeBackground": "#3c3836",
203
+ "promptBorder": "#bdae93",
204
+ "suggestion": "#83a598",
205
+ "link": "#83a598",
206
+ "linkVisited": "#d3869b",
207
+ "gradientStart": "#83a598",
208
+ "gradientMid": "#d3869b",
209
+ "gradientEnd": "#d65d0e",
210
+ "syntaxKeyword": "#d3869b",
211
+ "syntaxString": "#b8bb26",
212
+ "syntaxNumber": "#fe8019",
213
+ "syntaxComment": "#665c54",
214
+ "syntaxFunction": "#83a598",
215
+ "syntaxVariable": "#fb4934",
216
+ "syntaxType": "#fabd2f",
217
+ "syntaxOperator": "#d5c4a1",
218
+ "syntaxPunctuation": "#d5c4a1"
219
+ }
220
+ },
221
+ {
222
+ "name": "onedark",
223
+ "displayName": "OneDark",
224
+ "type": "dark",
225
+ "author": "Lalit Magant (http://github.com/tilal6991)",
226
+ "source": "base16",
227
+ "colors": {
228
+ "text": "#abb2bf",
229
+ "textMuted": "#565c64",
230
+ "textSubtle": "#545862",
231
+ "textInverse": "#282c34",
232
+ "background": "#282c34",
233
+ "backgroundAlt": "#353b45",
234
+ "backgroundSelection": "#3e4451",
235
+ "backgroundHover": "#353b45",
236
+ "primary": "#61afef",
237
+ "primaryMuted": "#4a7ba4",
238
+ "secondary": "#c678dd",
239
+ "accent": "#be5046",
240
+ "info": "#56b6c2",
241
+ "success": "#98c379",
242
+ "successMuted": "#6b875d",
243
+ "error": "#e06c75",
244
+ "errorMuted": "#96525b",
245
+ "warning": "#e5c07b",
246
+ "warningMuted": "#99855f",
247
+ "border": "#545862",
248
+ "borderFocused": "#61afef",
249
+ "borderSubtle": "#3e4451",
250
+ "diffAdded": "#3e4a42",
251
+ "diffAddedText": "#98c379",
252
+ "diffAddedHighlight": "#4c5c50",
253
+ "diffRemoved": "#4d3941",
254
+ "diffRemovedText": "#e06c75",
255
+ "diffRemovedHighlight": "#614750",
256
+ "codeBackground": "#353b45",
257
+ "promptBorder": "#565c64",
258
+ "suggestion": "#61afef",
259
+ "link": "#61afef",
260
+ "linkVisited": "#c678dd",
261
+ "gradientStart": "#61afef",
262
+ "gradientMid": "#c678dd",
263
+ "gradientEnd": "#be5046",
264
+ "syntaxKeyword": "#c678dd",
265
+ "syntaxString": "#98c379",
266
+ "syntaxNumber": "#d19a66",
267
+ "syntaxComment": "#545862",
268
+ "syntaxFunction": "#61afef",
269
+ "syntaxVariable": "#e06c75",
270
+ "syntaxType": "#e5c07b",
271
+ "syntaxOperator": "#abb2bf",
272
+ "syntaxPunctuation": "#abb2bf"
273
+ }
274
+ },
275
+ {
276
+ "name": "solarized-dark",
277
+ "displayName": "Solarized Dark",
278
+ "type": "dark",
279
+ "author": "Ethan Schoonover (modified by aramisgithub)",
280
+ "source": "base16",
281
+ "colors": {
282
+ "text": "#93a1a1",
283
+ "textMuted": "#839496",
284
+ "textSubtle": "#657b83",
285
+ "textInverse": "#002b36",
286
+ "background": "#002b36",
287
+ "backgroundAlt": "#073642",
288
+ "backgroundSelection": "#586e75",
289
+ "backgroundHover": "#073642",
290
+ "primary": "#268bd2",
291
+ "primaryMuted": "#176594",
292
+ "secondary": "#6c71c4",
293
+ "accent": "#d33682",
294
+ "info": "#2aa198",
295
+ "success": "#859900",
296
+ "successMuted": "#506d16",
297
+ "error": "#dc322f",
298
+ "errorMuted": "#842f32",
299
+ "warning": "#b58900",
300
+ "warningMuted": "#6d6316",
301
+ "border": "#657b83",
302
+ "borderFocused": "#268bd2",
303
+ "borderSubtle": "#586e75",
304
+ "diffAdded": "#1b412b",
305
+ "diffAddedText": "#859900",
306
+ "diffAddedHighlight": "#235236",
307
+ "diffRemoved": "#2c2c35",
308
+ "diffRemovedText": "#dc322f",
309
+ "diffRemovedHighlight": "#3a3644",
310
+ "codeBackground": "#073642",
311
+ "promptBorder": "#839496",
312
+ "suggestion": "#268bd2",
313
+ "link": "#268bd2",
314
+ "linkVisited": "#6c71c4",
315
+ "gradientStart": "#268bd2",
316
+ "gradientMid": "#6c71c4",
317
+ "gradientEnd": "#d33682",
318
+ "syntaxKeyword": "#6c71c4",
319
+ "syntaxString": "#859900",
320
+ "syntaxNumber": "#cb4b16",
321
+ "syntaxComment": "#657b83",
322
+ "syntaxFunction": "#268bd2",
323
+ "syntaxVariable": "#dc322f",
324
+ "syntaxType": "#b58900",
325
+ "syntaxOperator": "#93a1a1",
326
+ "syntaxPunctuation": "#93a1a1"
327
+ }
328
+ },
329
+ {
330
+ "name": "monokai",
331
+ "displayName": "Monokai",
332
+ "type": "dark",
333
+ "author": "Wimer Hazenberg (http://www.monokai.nl)",
334
+ "source": "base16",
335
+ "colors": {
336
+ "text": "#f8f8f2",
337
+ "textMuted": "#a59f85",
338
+ "textSubtle": "#75715e",
339
+ "textInverse": "#272822",
340
+ "background": "#272822",
341
+ "backgroundAlt": "#383830",
342
+ "backgroundSelection": "#49483e",
343
+ "backgroundHover": "#383830",
344
+ "primary": "#66d9ef",
345
+ "primaryMuted": "#4d929d",
346
+ "secondary": "#ae81ff",
347
+ "accent": "#cc6633",
348
+ "info": "#a1efe4",
349
+ "success": "#a6e22e",
350
+ "successMuted": "#739829",
351
+ "error": "#f92672",
352
+ "errorMuted": "#a52752",
353
+ "warning": "#f4bf75",
354
+ "warningMuted": "#a28354",
355
+ "border": "#75715e",
356
+ "borderFocused": "#66d9ef",
357
+ "borderSubtle": "#49483e",
358
+ "diffAdded": "#404d24",
359
+ "diffAddedText": "#a6e22e",
360
+ "diffAddedHighlight": "#50602d",
361
+ "diffRemoved": "#512832",
362
+ "diffRemovedText": "#f92672",
363
+ "diffRemovedHighlight": "#66323f",
364
+ "codeBackground": "#383830",
365
+ "promptBorder": "#a59f85",
366
+ "suggestion": "#66d9ef",
367
+ "link": "#66d9ef",
368
+ "linkVisited": "#ae81ff",
369
+ "gradientStart": "#66d9ef",
370
+ "gradientMid": "#ae81ff",
371
+ "gradientEnd": "#cc6633",
372
+ "syntaxKeyword": "#ae81ff",
373
+ "syntaxString": "#a6e22e",
374
+ "syntaxNumber": "#fd971f",
375
+ "syntaxComment": "#75715e",
376
+ "syntaxFunction": "#66d9ef",
377
+ "syntaxVariable": "#f92672",
378
+ "syntaxType": "#f4bf75",
379
+ "syntaxOperator": "#f8f8f2",
380
+ "syntaxPunctuation": "#f8f8f2"
381
+ }
382
+ },
383
+ {
384
+ "name": "tokyo-night-terminal-dark",
385
+ "displayName": "Tokyo Night Terminal Dark",
386
+ "type": "dark",
387
+ "author": "Michaël Ball",
388
+ "source": "base16",
389
+ "colors": {
390
+ "text": "#787c99",
391
+ "textMuted": "#787c99",
392
+ "textSubtle": "#444b6a",
393
+ "textInverse": "#16161e",
394
+ "background": "#16161e",
395
+ "backgroundAlt": "#1a1b26",
396
+ "backgroundSelection": "#2f3549",
397
+ "backgroundHover": "#1a1b26",
398
+ "primary": "#7aa2f7",
399
+ "primaryMuted": "#526aa0",
400
+ "secondary": "#bb9af7",
401
+ "accent": "#d18616",
402
+ "info": "#7dcfff",
403
+ "success": "#41a6b5",
404
+ "successMuted": "#306c79",
405
+ "error": "#f7768e",
406
+ "errorMuted": "#9d5061",
407
+ "warning": "#e0af68",
408
+ "warningMuted": "#8f724a",
409
+ "border": "#444b6a",
410
+ "borderFocused": "#7aa2f7",
411
+ "borderSubtle": "#2f3549",
412
+ "diffAdded": "#1f333c",
413
+ "diffAddedText": "#41a6b5",
414
+ "diffAddedHighlight": "#28424c",
415
+ "diffRemoved": "#432934",
416
+ "diffRemovedText": "#f7768e",
417
+ "diffRemovedHighlight": "#563543",
418
+ "codeBackground": "#1a1b26",
419
+ "promptBorder": "#787c99",
420
+ "suggestion": "#7aa2f7",
421
+ "link": "#7aa2f7",
422
+ "linkVisited": "#bb9af7",
423
+ "gradientStart": "#7aa2f7",
424
+ "gradientMid": "#bb9af7",
425
+ "gradientEnd": "#d18616",
426
+ "syntaxKeyword": "#bb9af7",
427
+ "syntaxString": "#41a6b5",
428
+ "syntaxNumber": "#ff9e64",
429
+ "syntaxComment": "#444b6a",
430
+ "syntaxFunction": "#7aa2f7",
431
+ "syntaxVariable": "#f7768e",
432
+ "syntaxType": "#e0af68",
433
+ "syntaxOperator": "#787c99",
434
+ "syntaxPunctuation": "#787c99"
435
+ }
436
+ },
437
+ {
438
+ "name": "rose-pine",
439
+ "displayName": "Rosé Pine",
440
+ "type": "dark",
441
+ "author": "Emilia Dunfelt <edun@dunfelt.se>",
442
+ "source": "base16",
443
+ "colors": {
444
+ "text": "#e0def4",
445
+ "textMuted": "#908caa",
446
+ "textSubtle": "#6e6a86",
447
+ "textInverse": "#191724",
448
+ "background": "#191724",
449
+ "backgroundAlt": "#1f1d2e",
450
+ "backgroundSelection": "#26233a",
451
+ "backgroundHover": "#1f1d2e",
452
+ "primary": "#c4a7e7",
453
+ "primaryMuted": "#806d99",
454
+ "secondary": "#f6c177",
455
+ "accent": "#524f67",
456
+ "info": "#9ccfd8",
457
+ "success": "#31748f",
458
+ "successMuted": "#274f64",
459
+ "error": "#eb6f92",
460
+ "errorMuted": "#974c66",
461
+ "warning": "#ebbcba",
462
+ "warningMuted": "#977a7e",
463
+ "border": "#6e6a86",
464
+ "borderFocused": "#c4a7e7",
465
+ "borderSubtle": "#26233a",
466
+ "diffAdded": "#1e2a39",
467
+ "diffAddedText": "#31748f",
468
+ "diffAddedHighlight": "#263648",
469
+ "diffRemoved": "#43293a",
470
+ "diffRemovedText": "#eb6f92",
471
+ "diffRemovedHighlight": "#55344a",
472
+ "codeBackground": "#1f1d2e",
473
+ "promptBorder": "#908caa",
474
+ "suggestion": "#c4a7e7",
475
+ "link": "#c4a7e7",
476
+ "linkVisited": "#f6c177",
477
+ "gradientStart": "#c4a7e7",
478
+ "gradientMid": "#f6c177",
479
+ "gradientEnd": "#524f67",
480
+ "syntaxKeyword": "#f6c177",
481
+ "syntaxString": "#31748f",
482
+ "syntaxNumber": "#f6c177",
483
+ "syntaxComment": "#6e6a86",
484
+ "syntaxFunction": "#c4a7e7",
485
+ "syntaxVariable": "#eb6f92",
486
+ "syntaxType": "#ebbcba",
487
+ "syntaxOperator": "#e0def4",
488
+ "syntaxPunctuation": "#e0def4"
489
+ }
490
+ },
491
+ {
492
+ "name": "material-darker",
493
+ "displayName": "Material Darker",
494
+ "type": "dark",
495
+ "author": "Nate Peterson",
496
+ "source": "base16",
497
+ "colors": {
498
+ "text": "#eeffff",
499
+ "textMuted": "#b2ccd6",
500
+ "textSubtle": "#4a4a4a",
501
+ "textInverse": "#212121",
502
+ "background": "#212121",
503
+ "backgroundAlt": "#303030",
504
+ "backgroundSelection": "#353535",
505
+ "backgroundHover": "#303030",
506
+ "primary": "#82aaff",
507
+ "primaryMuted": "#5b73a6",
508
+ "secondary": "#c792ea",
509
+ "accent": "#ff5370",
510
+ "info": "#89ddff",
511
+ "success": "#c3e88d",
512
+ "successMuted": "#829862",
513
+ "error": "#f07178",
514
+ "errorMuted": "#9d5155",
515
+ "warning": "#ffcb6b",
516
+ "warningMuted": "#a6874d",
517
+ "border": "#4a4a4a",
518
+ "borderFocused": "#82aaff",
519
+ "borderSubtle": "#353535",
520
+ "diffAdded": "#414937",
521
+ "diffAddedText": "#c3e88d",
522
+ "diffAddedHighlight": "#505c44",
523
+ "diffRemoved": "#4a3132",
524
+ "diffRemovedText": "#f07178",
525
+ "diffRemovedHighlight": "#5e3d40",
526
+ "codeBackground": "#303030",
527
+ "promptBorder": "#b2ccd6",
528
+ "suggestion": "#82aaff",
529
+ "link": "#82aaff",
530
+ "linkVisited": "#c792ea",
531
+ "gradientStart": "#82aaff",
532
+ "gradientMid": "#c792ea",
533
+ "gradientEnd": "#ff5370",
534
+ "syntaxKeyword": "#c792ea",
535
+ "syntaxString": "#c3e88d",
536
+ "syntaxNumber": "#f78c6c",
537
+ "syntaxComment": "#4a4a4a",
538
+ "syntaxFunction": "#82aaff",
539
+ "syntaxVariable": "#f07178",
540
+ "syntaxType": "#ffcb6b",
541
+ "syntaxOperator": "#eeffff",
542
+ "syntaxPunctuation": "#eeffff"
543
+ }
544
+ }
545
+ ]
546
+ }
@@ -0,0 +1,110 @@
1
+ export interface ThemeColors {
2
+ text: string;
3
+ textMuted: string;
4
+ textSubtle: string;
5
+ textInverse: string;
6
+ background: string;
7
+ backgroundAlt: string;
8
+ backgroundSelection: string;
9
+ backgroundHover: string;
10
+ primary: string;
11
+ primaryMuted: string;
12
+ secondary: string;
13
+ accent: string;
14
+ info: string;
15
+ success: string;
16
+ successMuted: string;
17
+ error: string;
18
+ errorMuted: string;
19
+ warning: string;
20
+ warningMuted: string;
21
+ border: string;
22
+ borderFocused: string;
23
+ borderSubtle: string;
24
+ diffAdded: string;
25
+ diffAddedText: string;
26
+ diffAddedHighlight: string;
27
+ diffRemoved: string;
28
+ diffRemovedText: string;
29
+ diffRemovedHighlight: string;
30
+ codeBackground: string;
31
+ promptBorder: string;
32
+ suggestion: string;
33
+ link: string;
34
+ linkVisited: string;
35
+ gradientStart: string;
36
+ gradientMid: string;
37
+ gradientEnd: string;
38
+ syntaxKeyword: string;
39
+ syntaxString: string;
40
+ syntaxNumber: string;
41
+ syntaxComment: string;
42
+ syntaxFunction: string;
43
+ syntaxVariable: string;
44
+ syntaxType: string;
45
+ syntaxOperator: string;
46
+ syntaxPunctuation: string;
47
+ }
48
+
49
+ export interface ThemeDefinition {
50
+ name: string;
51
+ displayName: string;
52
+ type: "dark" | "light";
53
+ author: string;
54
+ source: string;
55
+ colors: ThemeColors;
56
+ }
57
+
58
+ export interface ThemeRegistry {
59
+ version: string;
60
+ default: string;
61
+ themes: ThemeDefinition[];
62
+ }
63
+
64
+ export const THEME_COLOR_PROPERTIES: ReadonlyArray<keyof ThemeColors> = [
65
+ "text",
66
+ "textMuted",
67
+ "textSubtle",
68
+ "textInverse",
69
+ "background",
70
+ "backgroundAlt",
71
+ "backgroundSelection",
72
+ "backgroundHover",
73
+ "primary",
74
+ "primaryMuted",
75
+ "secondary",
76
+ "accent",
77
+ "info",
78
+ "success",
79
+ "successMuted",
80
+ "error",
81
+ "errorMuted",
82
+ "warning",
83
+ "warningMuted",
84
+ "border",
85
+ "borderFocused",
86
+ "borderSubtle",
87
+ "diffAdded",
88
+ "diffAddedText",
89
+ "diffAddedHighlight",
90
+ "diffRemoved",
91
+ "diffRemovedText",
92
+ "diffRemovedHighlight",
93
+ "codeBackground",
94
+ "promptBorder",
95
+ "suggestion",
96
+ "link",
97
+ "linkVisited",
98
+ "gradientStart",
99
+ "gradientMid",
100
+ "gradientEnd",
101
+ "syntaxKeyword",
102
+ "syntaxString",
103
+ "syntaxNumber",
104
+ "syntaxComment",
105
+ "syntaxFunction",
106
+ "syntaxVariable",
107
+ "syntaxType",
108
+ "syntaxOperator",
109
+ "syntaxPunctuation",
110
+ ] as const;