ompchamber 1.2.1 → 2.0.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 (237) hide show
  1. package/README.md +143 -147
  2. package/dist/client/index.html +4 -2
  3. package/dist/client/static/css/index.5f630421b7.css +2 -0
  4. package/dist/client/static/js/77.0d81c74cf0.js +139 -0
  5. package/dist/client/static/js/async/1k.973e8e21fc.js +2 -0
  6. package/dist/client/static/js/async/{3y.3186ecdd63.js → 3y.3530b824ad.js} +6 -6
  7. package/dist/client/static/js/async/{q.b453193538.js → 4m.928a1dde85.js} +10 -10
  8. package/dist/client/static/js/async/66.5dfa29f957.js +93 -0
  9. package/dist/client/static/js/async/7g.a7814350c3.js +1 -0
  10. package/dist/client/static/js/async/ar.9303e5f2e8.js +2 -0
  11. package/dist/client/static/js/async/{cx.9c8268d542.js → cx.3cb0242a3a.js} +1 -1
  12. package/dist/client/static/js/async/e.93214d622b.js +79 -0
  13. package/dist/client/static/js/async/g.cb81980498.js +2 -0
  14. package/dist/client/static/js/async/h1.393f066d09.js +1 -0
  15. package/dist/client/static/js/async/jl.874d352278.js +1 -0
  16. package/dist/client/static/js/async/{k.d16cd09ae7.js → k.3210286401.js} +1 -1
  17. package/dist/client/static/js/async/{m.2e1ea3db9e.js → m.eb2e6752e2.js} +3 -3
  18. package/dist/client/static/js/async/m.eb2e6752e2.js.LICENSE.txt +11 -0
  19. package/dist/client/static/js/async/mt.0352e976d8.js +1 -0
  20. package/dist/client/static/js/async/{oc.eb22093f05.js → oc.b73042e8bd.js} +1 -1
  21. package/dist/client/static/js/async/{og.53f068804c.js → og.8eb577893a.js} +1 -1
  22. package/dist/client/static/js/async/px.fc6877924b.js +1 -0
  23. package/dist/client/static/js/async/q.22588845a9.js +21 -0
  24. package/dist/client/static/js/async/{q5.88b50ffa95.js → q5.97dc1481b6.js} +1 -1
  25. package/dist/client/static/js/async/s.0f395cdda5.js +94 -0
  26. package/dist/client/static/js/async/{tr.2a0d2b7600.js → tr.e878658140.js} +1 -1
  27. package/dist/client/static/js/async/vt.42416b707d.js +1 -0
  28. package/dist/client/static/js/async/x1.da8687159b.js +90 -0
  29. package/dist/client/static/js/async/xe.da8dcc2015.js +2 -0
  30. package/dist/client/static/js/async/xe.da8dcc2015.js.LICENSE.txt +11 -0
  31. package/dist/client/static/js/async/{xn.6360379f71.js → xn.6510c0abe2.js} +2 -2
  32. package/dist/client/static/js/async/{yx.af2936c368.js → xn1.83a7784fe1.js} +3 -3
  33. package/dist/client/static/js/async/xn1.83a7784fe1.js.LICENSE.txt +11 -0
  34. package/dist/client/static/js/async/yg.35bebd6d0c.js +149 -0
  35. package/dist/client/static/js/async/yv.d99d829136.js +1 -0
  36. package/dist/client/static/js/index.1fd9e1c543.js +38 -0
  37. package/package.json +3 -3
  38. package/src/client/components/common/ComposerTextarea.tsx +9 -1
  39. package/src/client/components/common/MarkdownRenderer.tsx +50 -12
  40. package/src/client/components/mobile/mobile-right-sidebar/FullEditor.tsx +9 -3
  41. package/src/client/components/settings/Modal.tsx +11 -2
  42. package/src/client/components/settings/categories/AppearanceSettings.tsx +7 -30
  43. package/src/client/components/settings/categories/ProviderSettings.tsx +2 -0
  44. package/src/client/components/settings/categories/appearance-settings/ThemeCard.tsx +61 -0
  45. package/src/client/components/settings/categories/appearance-settings/ThemeGrid.tsx +80 -0
  46. package/src/client/components/settings/categories/chat-settings/TitleSection.tsx +1 -1
  47. package/src/client/components/settings/categories/provider-settings/AddProviderModal.tsx +43 -6
  48. package/src/client/components/settings/categories/provider-settings/ModelConfigModal.tsx +54 -54
  49. package/src/client/components/workspace/SearchPanel.tsx +16 -3
  50. package/src/client/components/workspace/btw-panel/AskCard.tsx +11 -6
  51. package/src/client/components/workspace/btw-panel/Messages.tsx +105 -51
  52. package/src/client/components/workspace/btw-panel/index.tsx +124 -45
  53. package/src/client/components/workspace/chat-timeline/AiMessageFooter.tsx +30 -14
  54. package/src/client/components/workspace/chat-timeline/ComposerDock.tsx +10 -1
  55. package/src/client/components/workspace/chat-timeline/GeneratingIndicator.tsx +8 -2
  56. package/src/client/components/workspace/chat-timeline/MessageItem.tsx +27 -16
  57. package/src/client/components/workspace/chat-timeline/MessageList.tsx +11 -0
  58. package/src/client/components/workspace/chat-timeline/RunFooter.tsx +8 -0
  59. package/src/client/components/workspace/chat-timeline/chat-input/index.tsx +12 -1
  60. package/src/client/components/workspace/chat-timeline/index.tsx +7 -2
  61. package/src/client/components/workspace/chat-timeline/tool-renderers/ask-panel/QuestionBlock.tsx +42 -15
  62. package/src/client/components/workspace/chat-timeline/tool-renderers/ask-panel/index.tsx +13 -1
  63. package/src/client/components/workspace/chat-timeline/tool-renderers/extension-dialog/index.tsx +13 -4
  64. package/src/client/components/workspace/diff-panel/SplitView.tsx +4 -1
  65. package/src/client/components/workspace/diff-panel/UnifiedView.tsx +70 -65
  66. package/src/client/components/workspace/diff-panel/index.tsx +8 -1
  67. package/src/client/components/workspace/editor/index.tsx +18 -2
  68. package/src/client/components/workspace/file-explorer/GitRepoDropdown.tsx +15 -41
  69. package/src/client/components/workspace/file-explorer/index.tsx +86 -16
  70. package/src/client/components/workspace/git-panel/index.tsx +60 -78
  71. package/src/client/components/workspace/terminal-panel/Header.tsx +16 -1
  72. package/src/client/components/workspace/terminal-panel/RealtimeXtermView.tsx +5 -5
  73. package/src/client/components/workspace/terminal-panel/index.tsx +6 -2
  74. package/src/client/components/workspace/terminal-panel/mount.ts +2 -2
  75. package/src/client/data/theme/terminal.ts +50 -52
  76. package/src/client/hooks/chat/btw/index.ts +139 -18
  77. package/src/client/hooks/chat/btw/intercept.ts +8 -8
  78. package/src/client/hooks/chat/btw/mode.ts +111 -16
  79. package/src/client/hooks/chat/composer/index.ts +10 -4
  80. package/src/client/hooks/chat/timeline/access-mode.ts +41 -0
  81. package/src/client/hooks/chat/timeline/ask-frames.test.ts +87 -0
  82. package/src/client/hooks/chat/timeline/ask-frames.ts +20 -1
  83. package/src/client/hooks/chat/timeline/auto-scroll.ts +13 -4
  84. package/src/client/hooks/chat/timeline/index.ts +8 -20
  85. package/src/client/hooks/chat/timeline/queue.ts +66 -9
  86. package/src/client/hooks/chat/timeline/scroll.test.ts +260 -0
  87. package/src/client/hooks/chat/timeline/scroll.ts +93 -20
  88. package/src/client/hooks/chat/timeline/session-load.ts +7 -1
  89. package/src/client/hooks/chat/timeline/session-pagination.test.ts +167 -0
  90. package/src/client/hooks/chat/timeline/session-pagination.ts +37 -11
  91. package/src/client/hooks/editor/save-file.ts +62 -0
  92. package/src/client/hooks/editor/use-file-editor.test.ts +61 -5
  93. package/src/client/hooks/editor/use-file-editor.ts +38 -29
  94. package/src/client/hooks/editor/use-file-transfer.ts +5 -2
  95. package/src/client/hooks/settings/providers.ts +34 -3
  96. package/src/client/hooks/ui/open-file.ts +7 -1
  97. package/src/client/hooks/ui/theme.ts +82 -57
  98. package/src/client/hooks/workspace/file-tabs.ts +5 -1
  99. package/src/client/hooks/workspace/repo-scope/index.ts +119 -0
  100. package/src/client/hooks/workspace/repo-scope/store.test.ts +161 -0
  101. package/src/client/hooks/workspace/repo-scope/store.ts +201 -0
  102. package/src/client/hooks/workspace/search-stream.ts +24 -5
  103. package/src/client/main.tsx +6 -0
  104. package/src/client/tailwind.css +19 -56
  105. package/src/server/lib/btw/child.server.ts +41 -0
  106. package/src/server/lib/btw/lifecycle.server.ts +254 -0
  107. package/src/server/lib/btw/prompt.ts +13 -5
  108. package/src/server/lib/btw/registry.server.ts +13 -4
  109. package/src/server/lib/btw/runtime.server.ts +149 -156
  110. package/src/server/lib/btw/schema.server.ts +27 -0
  111. package/src/server/lib/btw/service.server.ts +106 -5
  112. package/src/server/lib/btw/store.server.ts +57 -6
  113. package/src/server/lib/db/schema.ts +4 -0
  114. package/src/server/lib/db/settings-store.test.ts +65 -0
  115. package/src/server/lib/db/settings-store.ts +25 -0
  116. package/src/server/lib/fs/atomic-write.ts +42 -4
  117. package/src/server/lib/fs/config-lock.ts +74 -0
  118. package/src/server/lib/fs/git-ignore.ts +55 -5
  119. package/src/server/lib/fs/ripgrep.ts +119 -0
  120. package/src/server/lib/lifecycle/identity.ts +10 -64
  121. package/src/server/lib/lifecycle/proc/darwin.ts +238 -0
  122. package/src/server/lib/lifecycle/proc/index.ts +38 -0
  123. package/src/server/lib/lifecycle/proc/linux.ts +80 -0
  124. package/src/server/lib/lifecycle/proc/ps.ts +86 -0
  125. package/src/server/lib/lifecycle/proc/types.ts +33 -0
  126. package/src/server/lib/lifecycle/proc/win32.ts +53 -0
  127. package/src/server/lib/models/provider-registry.server.ts +2 -2
  128. package/src/server/lib/models/registry.server.ts +1 -1
  129. package/src/server/lib/omp/config/behavior.ts +17 -17
  130. package/src/server/lib/omp/config/disabled-providers.ts +84 -35
  131. package/src/server/lib/omp/config/document.ts +128 -0
  132. package/src/server/lib/omp/config/extensions.ts +11 -10
  133. package/src/server/lib/omp/config/mcp.ts +4 -57
  134. package/src/server/lib/omp/config/model-overrides.ts +123 -0
  135. package/src/server/lib/omp/config/models-config.ts +92 -0
  136. package/src/server/lib/omp/config/models-validation.ts +159 -0
  137. package/src/server/lib/omp/config/path-scoped.ts +74 -0
  138. package/src/server/lib/omp/config/providers.ts +241 -211
  139. package/src/server/lib/omp/config/roles.ts +6 -14
  140. package/src/server/lib/omp/core/auth-credentials.ts +1 -1
  141. package/src/server/lib/omp/rpc/frame-fold.test.ts +124 -0
  142. package/src/server/lib/omp/rpc/frame-fold.ts +43 -24
  143. package/src/server/lib/omp/rpc/lifecycle.test.ts +41 -0
  144. package/src/server/lib/omp/rpc/manager.ts +21 -21
  145. package/src/server/lib/omp/rpc/pending-ui-dialogs.ts +11 -7
  146. package/src/server/lib/omp/rpc/session-commands.ts +17 -29
  147. package/src/server/lib/omp/rpc/session-registry.ts +5 -66
  148. package/src/server/lib/omp/rpc/web-state.ts +0 -6
  149. package/src/server/lib/omp/session/auto-title.server.test.ts +109 -11
  150. package/src/server/lib/omp/session/auto-title.server.ts +95 -20
  151. package/src/server/lib/omp/session/sidebar-data.server.ts +11 -6
  152. package/src/server/lib/queue/delivery-dispatch.server.test.ts +162 -0
  153. package/src/server/lib/queue/delivery-harness.ts +88 -0
  154. package/src/server/lib/queue/delivery.server.test.ts +78 -149
  155. package/src/server/lib/queue/delivery.server.ts +105 -13
  156. package/src/server/lib/queue/store.server.ts +30 -5
  157. package/src/server/lib/terminal/foreground.test.ts +164 -0
  158. package/src/server/lib/terminal/foreground.ts +34 -6
  159. package/src/server/lib/terminal/history.ts +8 -7
  160. package/src/server/plugins/compress.ts +33 -5
  161. package/src/server/plugins/ssr.ts +14 -7
  162. package/src/server/routes/btw/topics.ts +89 -2
  163. package/src/server/routes/fs/action.test.ts +64 -0
  164. package/src/server/routes/fs/action.ts +10 -1
  165. package/src/server/routes/fs/git.ts +5 -6
  166. package/src/server/routes/fs/search.ts +17 -26
  167. package/src/server/routes/sessions/queue.ts +17 -4
  168. package/src/server/routes/settings/index.ts +2 -0
  169. package/src/server/routes/settings/model-override.ts +69 -0
  170. package/src/server/routes/settings/provider-models.ts +35 -12
  171. package/src/server/routes/settings/providers.ts +31 -1
  172. package/src/server/routes/settings/root.ts +8 -3
  173. package/src/shared/lib/chat/btw/client.ts +34 -0
  174. package/src/shared/lib/chat/timeline/tool-phrases.ts +7 -0
  175. package/src/shared/lib/code/line-endings.test.ts +38 -0
  176. package/src/shared/lib/code/line-endings.ts +56 -0
  177. package/src/shared/lib/code/shiki-themes.ts +9 -5
  178. package/src/shared/lib/fs/file-tree.ts +17 -12
  179. package/src/shared/lib/markdown/autolink.test.ts +32 -0
  180. package/src/shared/lib/markdown/autolink.ts +50 -0
  181. package/src/shared/lib/markdown/document-urls.test.ts +68 -0
  182. package/src/shared/lib/markdown/document-urls.ts +118 -0
  183. package/src/shared/lib/markdown/marked.ts +27 -15
  184. package/src/shared/lib/markdown/mermaid.ts +2 -2
  185. package/src/shared/lib/models/catalog.ts +1 -1
  186. package/src/shared/lib/omp/session/schema-migrations.ts +30 -0
  187. package/src/shared/lib/omp/session/stream-state.server.test.ts +54 -0
  188. package/src/shared/lib/omp/session/stream-state.server.ts +70 -21
  189. package/src/shared/lib/settings/client.ts +10 -4
  190. package/src/shared/lib/settings/diff.test.ts +31 -0
  191. package/src/shared/lib/settings/diff.ts +37 -0
  192. package/src/shared/lib/theme/catalog.test.ts +168 -0
  193. package/src/shared/lib/theme/catalog.ts +98 -0
  194. package/src/shared/lib/theme/color.ts +88 -0
  195. package/src/shared/lib/theme/css.ts +70 -0
  196. package/src/shared/lib/theme/palettes/chamber.ts +61 -0
  197. package/src/shared/lib/theme/palettes/dark.ts +313 -0
  198. package/src/shared/lib/theme/palettes/light.ts +313 -0
  199. package/src/shared/types/btw.ts +83 -4
  200. package/src/shared/types/index.ts +1 -0
  201. package/src/shared/types/settings/provider.ts +8 -1
  202. package/src/shared/types/settings/state.ts +10 -4
  203. package/src/shared/types/theme.ts +48 -0
  204. package/dist/client/static/css/index.b938f4a693.css +0 -2
  205. package/dist/client/static/js/77.8022a800b5.js +0 -139
  206. package/dist/client/static/js/async/1k.a411fe5b43.js +0 -2
  207. package/dist/client/static/js/async/66.86544ad741.js +0 -93
  208. package/dist/client/static/js/async/7g.db82aca7ba.js +0 -1
  209. package/dist/client/static/js/async/ar.ad5c8822a8.js +0 -2
  210. package/dist/client/static/js/async/e.6443e739a2.js +0 -79
  211. package/dist/client/static/js/async/g.ee41bfed7f.js +0 -2
  212. package/dist/client/static/js/async/h1.d7091cef78.js +0 -1
  213. package/dist/client/static/js/async/jl.4911fa3383.js +0 -1
  214. package/dist/client/static/js/async/m.2e1ea3db9e.js.LICENSE.txt +0 -6
  215. package/dist/client/static/js/async/mt.853be2b5aa.js +0 -1
  216. package/dist/client/static/js/async/ot.84c71b308f.js +0 -2
  217. package/dist/client/static/js/async/px.783b6f91f2.js +0 -1
  218. package/dist/client/static/js/async/q8.7f1b48e9cd.js +0 -21
  219. package/dist/client/static/js/async/q8.7f1b48e9cd.js.LICENSE.txt +0 -6
  220. package/dist/client/static/js/async/s.aad2ecebc6.js +0 -94
  221. package/dist/client/static/js/async/vt.20406a5604.js +0 -1
  222. package/dist/client/static/js/async/x1.fe8af17016.js +0 -90
  223. package/dist/client/static/js/async/xn.6360379f71.js.LICENSE.txt +0 -6
  224. package/dist/client/static/js/async/yg.5a94e1fc8a.js +0 -149
  225. package/dist/client/static/js/async/yv.2fa22f009a.js +0 -1
  226. package/dist/client/static/js/index.5fe7a2cb64.js +0 -34
  227. package/src/client/components/workspace/btw-panel/Composer.tsx +0 -183
  228. package/src/client/components/workspace/btw-panel/attachments.ts +0 -80
  229. /package/dist/client/static/js/{77.8022a800b5.js.LICENSE.txt → 77.0d81c74cf0.js.LICENSE.txt} +0 -0
  230. /package/dist/client/static/js/async/{g.ee41bfed7f.js.LICENSE.txt → 1k.973e8e21fc.js.LICENSE.txt} +0 -0
  231. /package/dist/client/static/js/async/{3y.3186ecdd63.js.LICENSE.txt → 3y.3530b824ad.js.LICENSE.txt} +0 -0
  232. /package/dist/client/static/js/async/{ot.84c71b308f.js.LICENSE.txt → 4m.928a1dde85.js.LICENSE.txt} +0 -0
  233. /package/dist/client/static/js/async/{q.b453193538.js.LICENSE.txt → ar.9303e5f2e8.js.LICENSE.txt} +0 -0
  234. /package/dist/client/static/js/async/{yx.af2936c368.js.LICENSE.txt → g.cb81980498.js.LICENSE.txt} +0 -0
  235. /package/dist/client/static/js/async/{1k.a411fe5b43.js.LICENSE.txt → q.22588845a9.js.LICENSE.txt} +0 -0
  236. /package/dist/client/static/js/async/{ar.ad5c8822a8.js.LICENSE.txt → xn.6510c0abe2.js.LICENSE.txt} +0 -0
  237. /package/dist/client/static/js/{index.5fe7a2cb64.js.LICENSE.txt → index.1fd9e1c543.js.LICENSE.txt} +0 -0
@@ -0,0 +1,313 @@
1
+ /**
2
+ * @license
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ /**
7
+ * Dark palettes ported verbatim from OpenChamber
8
+ * (packages/ui/src/lib/theme/themes/*.json, MIT, commit 5e6675b). Only the
9
+ * values the chamber consumes are carried: surface.background -> canvas,
10
+ * surface.elevated -> paper, surface.foreground -> ink, status.* -> signal
11
+ * colors, primary.base -> accent. Field order is the swatch order.
12
+ *
13
+ * Generated data — re-port rather than hand-editing a color here.
14
+ */
15
+
16
+ import type { ThemePalette } from '@/shared/types/theme';
17
+
18
+ export const DARK_PALETTES = [
19
+ {
20
+ id: 'aura-dark',
21
+ name: 'Aura',
22
+ family: 'aura',
23
+ variant: 'dark',
24
+ canvas: '#15141B',
25
+ paper: '#201e2b',
26
+ ink: '#EDECEE',
27
+ error: '#FF6767',
28
+ success: '#61FFCA',
29
+ info: '#82E2FF',
30
+ warning: '#FFCA85',
31
+ meta: '#A277FF',
32
+ },
33
+ {
34
+ id: 'ayu-dark',
35
+ name: 'Ayu',
36
+ family: 'ayu',
37
+ variant: 'dark',
38
+ canvas: '#0F1419',
39
+ paper: '#17202a',
40
+ ink: '#D6DAE0',
41
+ error: '#F58572',
42
+ success: '#78D05C',
43
+ info: '#66C6F1',
44
+ warning: '#E4A75C',
45
+ meta: '#3FB7E3',
46
+ },
47
+ {
48
+ id: 'carbonfox-dark',
49
+ name: 'Carbonfox',
50
+ family: 'carbonfox',
51
+ variant: 'dark',
52
+ canvas: '#161616',
53
+ paper: '#222222',
54
+ ink: '#F2F4F8',
55
+ error: '#FF8389',
56
+ success: '#42BE65',
57
+ info: '#78A9FF',
58
+ warning: '#F1C21B',
59
+ meta: '#33B1FF',
60
+ },
61
+ {
62
+ id: 'catppuccin-dark',
63
+ name: 'Catppuccin',
64
+ family: 'catppuccin',
65
+ variant: 'dark',
66
+ canvas: '#1E1E2E',
67
+ paper: '#282841',
68
+ ink: '#CDD6F4',
69
+ error: '#F38BA8',
70
+ success: '#A6D189',
71
+ info: '#89DCEB',
72
+ warning: '#F4B8E4',
73
+ meta: '#7d8fff',
74
+ },
75
+ {
76
+ id: 'dracula-dark',
77
+ name: 'Dracula',
78
+ family: 'dracula',
79
+ variant: 'dark',
80
+ canvas: '#14151F',
81
+ paper: '#161722',
82
+ ink: '#F8F8F2',
83
+ error: '#FF5555',
84
+ success: '#50FA7B',
85
+ info: '#8BE9FD',
86
+ warning: '#FFB86C',
87
+ meta: '#BD93F9',
88
+ },
89
+ {
90
+ id: 'fields-of-the-shire-dark',
91
+ name: 'Fields of the Shire',
92
+ family: 'fields-of-the-shire',
93
+ variant: 'dark',
94
+ canvas: '#1b1815',
95
+ paper: '#2b2622',
96
+ ink: '#ebe0d1',
97
+ error: '#b34d3b',
98
+ success: '#7f905e',
99
+ info: '#667c8a',
100
+ warning: '#c47a3a',
101
+ meta: '#7a8a5a',
102
+ },
103
+ {
104
+ id: 'flexoki-dark',
105
+ name: 'Flexoki',
106
+ family: 'flexoki',
107
+ variant: 'dark',
108
+ canvas: '#171515',
109
+ paper: '#1c1a19',
110
+ ink: '#CECDC3',
111
+ error: '#D14D41',
112
+ success: '#A0AF54',
113
+ info: '#4385BE',
114
+ warning: '#DA702C',
115
+ meta: '#DA702C',
116
+ },
117
+ {
118
+ id: 'gruvbox-dark',
119
+ name: 'Gruvbox',
120
+ family: 'gruvbox',
121
+ variant: 'dark',
122
+ canvas: '#282828',
123
+ paper: '#25292b',
124
+ ink: '#EBDBB2',
125
+ error: '#FB4934',
126
+ success: '#B8BB26',
127
+ info: '#D3869B',
128
+ warning: '#FABD2F',
129
+ meta: '#83A598',
130
+ },
131
+ {
132
+ id: 'jetbrains-dark',
133
+ name: 'JetBrains',
134
+ family: 'jetbrains',
135
+ variant: 'dark',
136
+ canvas: '#1E1F22',
137
+ paper: '#2B2D30',
138
+ ink: '#DFE1E5',
139
+ error: '#FA6675',
140
+ success: '#57965D',
141
+ info: '#3592C4',
142
+ warning: '#F2C55C',
143
+ meta: '#6796f5',
144
+ },
145
+ {
146
+ id: 'kanagawa-dark',
147
+ name: 'Kanagawa',
148
+ family: 'kanagawa',
149
+ variant: 'dark',
150
+ canvas: '#1F1F28',
151
+ paper: '#2A2A37',
152
+ ink: '#DCD7BA',
153
+ error: '#E82424',
154
+ success: '#98BB6C',
155
+ info: '#7E9CD8',
156
+ warning: '#FF9E3B',
157
+ meta: '#7FB4CA',
158
+ },
159
+ {
160
+ id: 'mono-dark',
161
+ name: 'Mono',
162
+ family: 'mono',
163
+ variant: 'dark',
164
+ canvas: '#000000',
165
+ paper: '#141414',
166
+ ink: '#E5E5E5',
167
+ error: '#666666',
168
+ success: '#E5E5E5',
169
+ info: '#A6A6A6',
170
+ warning: '#999999',
171
+ meta: '#FFFFFF',
172
+ },
173
+ {
174
+ id: 'mono-plus-dark',
175
+ name: 'Mono Plus',
176
+ family: 'mono-plus',
177
+ variant: 'dark',
178
+ canvas: '#000000',
179
+ paper: '#141414',
180
+ ink: '#E5E5E5',
181
+ error: '#9e6a6a',
182
+ success: '#6a8e6a',
183
+ info: '#6a7e9e',
184
+ warning: '#9e8a6a',
185
+ meta: '#a2bee8',
186
+ },
187
+ {
188
+ id: 'monokai-dark',
189
+ name: 'Monokai',
190
+ family: 'monokai',
191
+ variant: 'dark',
192
+ canvas: '#23241E',
193
+ paper: '#21221a',
194
+ ink: '#F8F8F2',
195
+ error: '#F92672',
196
+ success: '#A6E22E',
197
+ info: '#66D9EF',
198
+ warning: '#FD971F',
199
+ meta: '#AE81FF',
200
+ },
201
+ {
202
+ id: 'nightowl-dark',
203
+ name: 'Night Owl',
204
+ family: 'night-owl',
205
+ variant: 'dark',
206
+ canvas: '#011627',
207
+ paper: '#001122',
208
+ ink: '#D6DEEB',
209
+ error: '#EF5350',
210
+ success: '#C5E478',
211
+ info: '#82AAFF',
212
+ warning: '#ECC48D',
213
+ meta: '#82AAFF',
214
+ },
215
+ {
216
+ id: 'nord-dark',
217
+ name: 'Nord',
218
+ family: 'nord',
219
+ variant: 'dark',
220
+ canvas: '#1F2430',
221
+ paper: '#1C202A',
222
+ ink: '#E5E9F0',
223
+ error: '#BF616A',
224
+ success: '#A3BE8C',
225
+ info: '#81A1C1',
226
+ warning: '#D08770',
227
+ meta: '#88C0D0',
228
+ },
229
+ {
230
+ id: 'onedarkpro-dark',
231
+ name: 'One Dark Pro',
232
+ family: 'one-dark-pro',
233
+ variant: 'dark',
234
+ canvas: '#1E222A',
235
+ paper: '#232832',
236
+ ink: '#ABB2BF',
237
+ error: '#E06C75',
238
+ success: '#98C379',
239
+ info: '#56B6C2',
240
+ warning: '#E5C07B',
241
+ meta: '#61AFEF',
242
+ },
243
+ {
244
+ id: 'openchamber-dark',
245
+ name: 'OpenChamber',
246
+ family: 'openchamber',
247
+ variant: 'dark',
248
+ canvas: '#120f0e',
249
+ paper: '#181715',
250
+ ink: '#c9c5ba',
251
+ error: '#da5b4a',
252
+ success: '#76ad4f',
253
+ info: '#479fe6',
254
+ warning: '#c67f13',
255
+ meta: '#da7c47',
256
+ },
257
+ {
258
+ id: 'solarized-dark',
259
+ name: 'Solarized',
260
+ family: 'solarized',
261
+ variant: 'dark',
262
+ canvas: '#001e25',
263
+ paper: '#052832',
264
+ ink: '#93A1A1',
265
+ error: '#DC322F',
266
+ success: '#859900',
267
+ info: '#2AA198',
268
+ warning: '#B58900',
269
+ meta: '#278BD2',
270
+ },
271
+ {
272
+ id: 'tokyonight-dark',
273
+ name: 'Tokyonight',
274
+ family: 'tokyonight',
275
+ variant: 'dark',
276
+ canvas: '#0F111A',
277
+ paper: '#131629',
278
+ ink: '#C0CAF5',
279
+ error: '#F7768E',
280
+ success: '#9ECE6A',
281
+ info: '#7DCFFF',
282
+ warning: '#E0AF68',
283
+ meta: '#7AA2F7',
284
+ },
285
+ {
286
+ id: 'vesper-dark',
287
+ name: 'Vesper',
288
+ family: 'vesper',
289
+ variant: 'dark',
290
+ canvas: '#151515',
291
+ paper: '#242121',
292
+ ink: '#e8e5e5',
293
+ error: '#FF8080',
294
+ success: '#99FFE4',
295
+ info: '#FFC799',
296
+ warning: '#FFC799',
297
+ meta: '#FFC799',
298
+ },
299
+ {
300
+ id: 'vitesse-dark-dark',
301
+ name: 'Vitesse Dark',
302
+ family: 'vitesse',
303
+ variant: 'dark',
304
+ canvas: '#121212',
305
+ paper: '#1a1a1a',
306
+ ink: '#dbd7caee',
307
+ error: '#cb7676',
308
+ success: '#4d9375',
309
+ info: '#6394bf',
310
+ warning: '#d4976c',
311
+ meta: '#4d9375',
312
+ },
313
+ ] as const satisfies readonly ThemePalette[];
@@ -0,0 +1,313 @@
1
+ /**
2
+ * @license
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ /**
7
+ * Light palettes ported verbatim from OpenChamber
8
+ * (packages/ui/src/lib/theme/themes/*.json, MIT, commit 5e6675b). Only the
9
+ * values the chamber consumes are carried: surface.background -> canvas,
10
+ * surface.elevated -> paper, surface.foreground -> ink, status.* -> signal
11
+ * colors, primary.base -> accent. Field order is the swatch order.
12
+ *
13
+ * Generated data — re-port rather than hand-editing a color here.
14
+ */
15
+
16
+ import type { ThemePalette } from '@/shared/types/theme';
17
+
18
+ export const LIGHT_PALETTES = [
19
+ {
20
+ id: 'aura-light',
21
+ name: 'Aura',
22
+ family: 'aura',
23
+ variant: 'light',
24
+ canvas: '#F5F0FF',
25
+ paper: '#f1ebfb',
26
+ ink: '#2D2640',
27
+ error: '#D94F4F',
28
+ success: '#40BF7A',
29
+ info: '#5BB8D9',
30
+ warning: '#D9A24A',
31
+ meta: '#A277FF',
32
+ },
33
+ {
34
+ id: 'ayu-light',
35
+ name: 'Ayu',
36
+ family: 'ayu',
37
+ variant: 'light',
38
+ canvas: '#FDFAF4',
39
+ paper: '#faf6ed',
40
+ ink: '#394049',
41
+ error: '#E6656A',
42
+ success: '#5FB978',
43
+ info: '#2F9BCE',
44
+ warning: '#EA9F41',
45
+ meta: '#4AA8C8',
46
+ },
47
+ {
48
+ id: 'carbonfox-light',
49
+ name: 'Carbonfox',
50
+ family: 'carbonfox',
51
+ variant: 'light',
52
+ canvas: '#FFFFFF',
53
+ paper: '#f4f4f7',
54
+ ink: '#161616',
55
+ error: '#DA1E28',
56
+ success: '#198038',
57
+ info: '#0043CE',
58
+ warning: '#F1C21B',
59
+ meta: '#0072C3',
60
+ },
61
+ {
62
+ id: 'catppuccin-light',
63
+ name: 'Catppuccin',
64
+ family: 'catppuccin',
65
+ variant: 'light',
66
+ canvas: '#fff6f4',
67
+ paper: '#fbefea',
68
+ ink: '#2e314a',
69
+ error: '#D20F39',
70
+ success: '#40A02B',
71
+ info: '#04A5E5',
72
+ warning: '#DF8E1D',
73
+ meta: '#7287FD',
74
+ },
75
+ {
76
+ id: 'dracula-light',
77
+ name: 'Dracula',
78
+ family: 'dracula',
79
+ variant: 'light',
80
+ canvas: '#F8F8F2',
81
+ paper: '#eeeee5',
82
+ ink: '#1F1F2F',
83
+ error: '#D9536F',
84
+ success: '#2FBF71',
85
+ info: '#1D7FC5',
86
+ warning: '#F7A14D',
87
+ meta: '#7C6BF5',
88
+ },
89
+ {
90
+ id: 'fields-of-the-shire-light',
91
+ name: 'Fields of the Shire',
92
+ family: 'fields-of-the-shire',
93
+ variant: 'light',
94
+ canvas: '#f9f5eb',
95
+ paper: '#fcf9f0',
96
+ ink: '#1a1612',
97
+ error: '#a24d3f',
98
+ success: '#4a6030',
99
+ info: '#3d4f5a',
100
+ warning: '#8c5520',
101
+ meta: '#4a6030',
102
+ },
103
+ {
104
+ id: 'flexoki-light',
105
+ name: 'Flexoki',
106
+ family: 'flexoki',
107
+ variant: 'light',
108
+ canvas: '#fffdf4',
109
+ paper: '#fbfaf2',
110
+ ink: '#100F0F',
111
+ error: '#AF3029',
112
+ success: '#66800B',
113
+ info: '#205EA6',
114
+ warning: '#BC5215',
115
+ meta: '#BC5215',
116
+ },
117
+ {
118
+ id: 'gruvbox-light',
119
+ name: 'Gruvbox',
120
+ family: 'gruvbox',
121
+ variant: 'light',
122
+ canvas: '#f8f1d5',
123
+ paper: '#efebcd',
124
+ ink: '#3C3836',
125
+ error: '#9D0006',
126
+ success: '#79740E',
127
+ info: '#8F3F71',
128
+ warning: '#B57614',
129
+ meta: '#076678',
130
+ },
131
+ {
132
+ id: 'jetbrains-light',
133
+ name: 'JetBrains',
134
+ family: 'jetbrains',
135
+ variant: 'light',
136
+ canvas: '#FFF',
137
+ paper: '#FFFFFF',
138
+ ink: '#000000',
139
+ error: '#CE0606',
140
+ success: '#077D18',
141
+ info: '#389FD6',
142
+ warning: '#F49810',
143
+ meta: '#195ce3',
144
+ },
145
+ {
146
+ id: 'kanagawa-light',
147
+ name: 'Kanagawa',
148
+ family: 'kanagawa',
149
+ variant: 'light',
150
+ canvas: '#f6f3d6',
151
+ paper: '#eae4bf',
152
+ ink: '#545464',
153
+ error: '#E82424',
154
+ success: '#6F894E',
155
+ info: '#4D699B',
156
+ warning: '#DE9800',
157
+ meta: '#4D699B',
158
+ },
159
+ {
160
+ id: 'mono-light',
161
+ name: 'Mono',
162
+ family: 'mono',
163
+ variant: 'light',
164
+ canvas: '#FFFFFF',
165
+ paper: '#FAFAFA',
166
+ ink: '#1A1A1A',
167
+ error: '#999999',
168
+ success: '#1A1A1A',
169
+ info: '#595959',
170
+ warning: '#666666',
171
+ meta: '#000000',
172
+ },
173
+ {
174
+ id: 'mono-plus-light',
175
+ name: 'Mono Plus',
176
+ family: 'mono-plus',
177
+ variant: 'light',
178
+ canvas: '#FFFFFF',
179
+ paper: '#FAFAFA',
180
+ ink: '#1A1A1A',
181
+ error: '#8a5a5a',
182
+ success: '#5a7a5a',
183
+ info: '#5a6a8a',
184
+ warning: '#8a7a5a',
185
+ meta: '#4a6a9e',
186
+ },
187
+ {
188
+ id: 'monokai-light',
189
+ name: 'Monokai',
190
+ family: 'monokai',
191
+ variant: 'light',
192
+ canvas: '#FDF8EC',
193
+ paper: '#FBF5E8',
194
+ ink: '#292318',
195
+ error: '#E54B4B',
196
+ success: '#4FB54B',
197
+ info: '#2D9AD7',
198
+ warning: '#F1A948',
199
+ meta: '#BF7BFF',
200
+ },
201
+ {
202
+ id: 'nightowl-light',
203
+ name: 'Night Owl',
204
+ family: 'night-owl',
205
+ variant: 'light',
206
+ canvas: '#FBFBFB',
207
+ paper: '#FFFFFF',
208
+ ink: '#403F53',
209
+ error: '#DE3D3B',
210
+ success: '#2AA298',
211
+ info: '#4876D6',
212
+ warning: '#C96765',
213
+ meta: '#4876D6',
214
+ },
215
+ {
216
+ id: 'nord-light',
217
+ name: 'Nord',
218
+ family: 'nord',
219
+ variant: 'light',
220
+ canvas: '#ECEFF4',
221
+ paper: '#e7ebf5',
222
+ ink: '#2E3440',
223
+ error: '#BF616A',
224
+ success: '#8FBCBB',
225
+ info: '#81A1C1',
226
+ warning: '#D08770',
227
+ meta: '#5E81AC',
228
+ },
229
+ {
230
+ id: 'onedarkpro-light',
231
+ name: 'One Dark Pro',
232
+ family: 'one-dark-pro',
233
+ variant: 'light',
234
+ canvas: '#F5F6F8',
235
+ paper: '#f0f5fa',
236
+ ink: '#2B303B',
237
+ error: '#E06C75',
238
+ success: '#4FA66D',
239
+ info: '#61AFEF',
240
+ warning: '#D19A66',
241
+ meta: '#528BFF',
242
+ },
243
+ {
244
+ id: 'openchamber-light',
245
+ name: 'OpenChamber',
246
+ family: 'openchamber',
247
+ variant: 'light',
248
+ canvas: '#fdfcfa',
249
+ paper: '#f8f7f5',
250
+ ink: '#393a34',
251
+ error: '#b7493f',
252
+ success: '#5f8d3d',
253
+ info: '#2d72c4',
254
+ warning: '#8d6c15',
255
+ meta: '#b35017',
256
+ },
257
+ {
258
+ id: 'solarized-light',
259
+ name: 'Solarized',
260
+ family: 'solarized',
261
+ variant: 'light',
262
+ canvas: '#FDF6E3',
263
+ paper: '#FAF3DC',
264
+ ink: '#586E75',
265
+ error: '#DC322F',
266
+ success: '#859900',
267
+ info: '#2AA198',
268
+ warning: '#B58900',
269
+ meta: '#268BD2',
270
+ },
271
+ {
272
+ id: 'tokyonight-light',
273
+ name: 'Tokyonight',
274
+ family: 'tokyonight',
275
+ variant: 'light',
276
+ canvas: '#E1E2E7',
277
+ paper: '#dee0ee',
278
+ ink: '#273153',
279
+ error: '#C94060',
280
+ success: '#587539',
281
+ info: '#007197',
282
+ warning: '#8C6C3E',
283
+ meta: '#2E7DE9',
284
+ },
285
+ {
286
+ id: 'vesper-light',
287
+ name: 'Vesper',
288
+ family: 'vesper',
289
+ variant: 'light',
290
+ canvas: '#FFFFFF',
291
+ paper: '#f6f5f5',
292
+ ink: '#101010',
293
+ error: '#d46868',
294
+ success: '#109b76',
295
+ info: '#62bced',
296
+ warning: '#cb7f40',
297
+ meta: '#a06535',
298
+ },
299
+ {
300
+ id: 'vitesse-light-light',
301
+ name: 'Vitesse Light',
302
+ family: 'vitesse',
303
+ variant: 'light',
304
+ canvas: '#ffffff',
305
+ paper: '#f7f7f7',
306
+ ink: '#2c2c28',
307
+ error: '#ab5959',
308
+ success: '#1e754f',
309
+ info: '#296aa3',
310
+ warning: '#a65e2b',
311
+ meta: '#1c6b48',
312
+ },
313
+ ] as const satisfies readonly ThemePalette[];