@renxqoo/renx-code 0.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 (215) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +278 -0
  3. package/dist/App.d.ts +2 -0
  4. package/dist/App.d.ts.map +1 -0
  5. package/dist/App.js +170 -0
  6. package/dist/App.js.map +1 -0
  7. package/dist/agent/prompts/system.d.ts +24 -0
  8. package/dist/agent/prompts/system.d.ts.map +1 -0
  9. package/dist/agent/prompts/system.js +222 -0
  10. package/dist/agent/prompts/system.js.map +1 -0
  11. package/dist/agent/runtime/event-format.d.ts +17 -0
  12. package/dist/agent/runtime/event-format.d.ts.map +1 -0
  13. package/dist/agent/runtime/event-format.js +194 -0
  14. package/dist/agent/runtime/event-format.js.map +1 -0
  15. package/dist/agent/runtime/model-types.d.ts +13 -0
  16. package/dist/agent/runtime/model-types.d.ts.map +1 -0
  17. package/dist/agent/runtime/model-types.js +1 -0
  18. package/dist/agent/runtime/model-types.js.map +1 -0
  19. package/dist/agent/runtime/runtime.d.ts +16 -0
  20. package/dist/agent/runtime/runtime.d.ts.map +1 -0
  21. package/dist/agent/runtime/runtime.js +691 -0
  22. package/dist/agent/runtime/runtime.js.map +1 -0
  23. package/dist/agent/runtime/source-modules.d.ts +176 -0
  24. package/dist/agent/runtime/source-modules.d.ts.map +1 -0
  25. package/dist/agent/runtime/source-modules.js +110 -0
  26. package/dist/agent/runtime/source-modules.js.map +1 -0
  27. package/dist/agent/runtime/tool-call-buffer.d.ts +12 -0
  28. package/dist/agent/runtime/tool-call-buffer.d.ts.map +1 -0
  29. package/dist/agent/runtime/tool-call-buffer.js +48 -0
  30. package/dist/agent/runtime/tool-call-buffer.js.map +1 -0
  31. package/dist/agent/runtime/tool-confirmation.d.ts +3 -0
  32. package/dist/agent/runtime/tool-confirmation.d.ts.map +1 -0
  33. package/dist/agent/runtime/tool-confirmation.js +9 -0
  34. package/dist/agent/runtime/tool-confirmation.js.map +1 -0
  35. package/dist/agent/runtime/types.d.ts +86 -0
  36. package/dist/agent/runtime/types.d.ts.map +1 -0
  37. package/dist/agent/runtime/types.js +1 -0
  38. package/dist/agent/runtime/types.js.map +1 -0
  39. package/dist/cli.d.ts +3 -0
  40. package/dist/cli.d.ts.map +1 -0
  41. package/dist/cli.js +43 -0
  42. package/dist/cli.js.map +1 -0
  43. package/dist/commands/slash-commands.d.ts +11 -0
  44. package/dist/commands/slash-commands.d.ts.map +1 -0
  45. package/dist/commands/slash-commands.js +48 -0
  46. package/dist/commands/slash-commands.js.map +1 -0
  47. package/dist/components/chat/assistant-reply.d.ts +13 -0
  48. package/dist/components/chat/assistant-reply.d.ts.map +1 -0
  49. package/dist/components/chat/assistant-reply.js +78 -0
  50. package/dist/components/chat/assistant-reply.js.map +1 -0
  51. package/dist/components/chat/assistant-segment.d.ts +8 -0
  52. package/dist/components/chat/assistant-segment.d.ts.map +1 -0
  53. package/dist/components/chat/assistant-segment.js +54 -0
  54. package/dist/components/chat/assistant-segment.js.map +1 -0
  55. package/dist/components/chat/assistant-tool-group.d.ts +7 -0
  56. package/dist/components/chat/assistant-tool-group.d.ts.map +1 -0
  57. package/dist/components/chat/assistant-tool-group.js +695 -0
  58. package/dist/components/chat/assistant-tool-group.js.map +1 -0
  59. package/dist/components/chat/code-block.d.ts +16 -0
  60. package/dist/components/chat/code-block.d.ts.map +1 -0
  61. package/dist/components/chat/code-block.js +194 -0
  62. package/dist/components/chat/code-block.js.map +1 -0
  63. package/dist/components/chat/prompt-card.d.ts +9 -0
  64. package/dist/components/chat/prompt-card.d.ts.map +1 -0
  65. package/dist/components/chat/prompt-card.js +18 -0
  66. package/dist/components/chat/prompt-card.js.map +1 -0
  67. package/dist/components/chat/segment-groups.d.ts +24 -0
  68. package/dist/components/chat/segment-groups.d.ts.map +1 -0
  69. package/dist/components/chat/segment-groups.js +69 -0
  70. package/dist/components/chat/segment-groups.js.map +1 -0
  71. package/dist/components/chat/turn-item.d.ts +9 -0
  72. package/dist/components/chat/turn-item.d.ts.map +1 -0
  73. package/dist/components/chat/turn-item.js +11 -0
  74. package/dist/components/chat/turn-item.js.map +1 -0
  75. package/dist/components/conversation-panel.d.ts +8 -0
  76. package/dist/components/conversation-panel.d.ts.map +1 -0
  77. package/dist/components/conversation-panel.js +8 -0
  78. package/dist/components/conversation-panel.js.map +1 -0
  79. package/dist/components/file-mention-menu.d.ts +11 -0
  80. package/dist/components/file-mention-menu.d.ts.map +1 -0
  81. package/dist/components/file-mention-menu.js +15 -0
  82. package/dist/components/file-mention-menu.js.map +1 -0
  83. package/dist/components/file-picker-dialog.d.ts +21 -0
  84. package/dist/components/file-picker-dialog.d.ts.map +1 -0
  85. package/dist/components/file-picker-dialog.js +48 -0
  86. package/dist/components/file-picker-dialog.js.map +1 -0
  87. package/dist/components/footer-hints.d.ts +7 -0
  88. package/dist/components/footer-hints.d.ts.map +1 -0
  89. package/dist/components/footer-hints.js +29 -0
  90. package/dist/components/footer-hints.js.map +1 -0
  91. package/dist/components/model-picker-dialog.d.ts +20 -0
  92. package/dist/components/model-picker-dialog.d.ts.map +1 -0
  93. package/dist/components/model-picker-dialog.js +72 -0
  94. package/dist/components/model-picker-dialog.js.map +1 -0
  95. package/dist/components/prompt.d.ts +18 -0
  96. package/dist/components/prompt.d.ts.map +1 -0
  97. package/dist/components/prompt.js +96 -0
  98. package/dist/components/prompt.js.map +1 -0
  99. package/dist/components/slash-command-menu.d.ts +9 -0
  100. package/dist/components/slash-command-menu.d.ts.map +1 -0
  101. package/dist/components/slash-command-menu.js +20 -0
  102. package/dist/components/slash-command-menu.js.map +1 -0
  103. package/dist/components/tool-confirm-dialog-content.d.ts +15 -0
  104. package/dist/components/tool-confirm-dialog-content.d.ts.map +1 -0
  105. package/dist/components/tool-confirm-dialog-content.js +143 -0
  106. package/dist/components/tool-confirm-dialog-content.js.map +1 -0
  107. package/dist/components/tool-confirm-dialog.d.ts +12 -0
  108. package/dist/components/tool-confirm-dialog.d.ts.map +1 -0
  109. package/dist/components/tool-confirm-dialog.js +21 -0
  110. package/dist/components/tool-confirm-dialog.js.map +1 -0
  111. package/dist/components/tool-display-config.d.ts +11 -0
  112. package/dist/components/tool-display-config.d.ts.map +1 -0
  113. package/dist/components/tool-display-config.js +94 -0
  114. package/dist/components/tool-display-config.js.map +1 -0
  115. package/dist/config/paths.d.ts +7 -0
  116. package/dist/config/paths.d.ts.map +1 -0
  117. package/dist/config/paths.js +24 -0
  118. package/dist/config/paths.js.map +1 -0
  119. package/dist/files/attachment-capabilities.d.ts +19 -0
  120. package/dist/files/attachment-capabilities.d.ts.map +1 -0
  121. package/dist/files/attachment-capabilities.js +26 -0
  122. package/dist/files/attachment-capabilities.js.map +1 -0
  123. package/dist/files/attachment-content.d.ts +5 -0
  124. package/dist/files/attachment-content.d.ts.map +1 -0
  125. package/dist/files/attachment-content.js +117 -0
  126. package/dist/files/attachment-content.js.map +1 -0
  127. package/dist/files/file-mention-query.d.ts +9 -0
  128. package/dist/files/file-mention-query.d.ts.map +1 -0
  129. package/dist/files/file-mention-query.js +23 -0
  130. package/dist/files/file-mention-query.js.map +1 -0
  131. package/dist/files/prompt-display.d.ts +3 -0
  132. package/dist/files/prompt-display.d.ts.map +1 -0
  133. package/dist/files/prompt-display.js +11 -0
  134. package/dist/files/prompt-display.js.map +1 -0
  135. package/dist/files/types.d.ts +6 -0
  136. package/dist/files/types.d.ts.map +1 -0
  137. package/dist/files/types.js +1 -0
  138. package/dist/files/types.js.map +1 -0
  139. package/dist/files/workspace-files.d.ts +3 -0
  140. package/dist/files/workspace-files.d.ts.map +1 -0
  141. package/dist/files/workspace-files.js +50 -0
  142. package/dist/files/workspace-files.js.map +1 -0
  143. package/dist/hooks/agent-event-handlers.d.ts +11 -0
  144. package/dist/hooks/agent-event-handlers.d.ts.map +1 -0
  145. package/dist/hooks/agent-event-handlers.js +137 -0
  146. package/dist/hooks/agent-event-handlers.js.map +1 -0
  147. package/dist/hooks/chat-local-replies.d.ts +9 -0
  148. package/dist/hooks/chat-local-replies.d.ts.map +1 -0
  149. package/dist/hooks/chat-local-replies.js +54 -0
  150. package/dist/hooks/chat-local-replies.js.map +1 -0
  151. package/dist/hooks/turn-updater.d.ts +9 -0
  152. package/dist/hooks/turn-updater.d.ts.map +1 -0
  153. package/dist/hooks/turn-updater.js +103 -0
  154. package/dist/hooks/turn-updater.js.map +1 -0
  155. package/dist/hooks/use-agent-chat.d.ts +29 -0
  156. package/dist/hooks/use-agent-chat.d.ts.map +1 -0
  157. package/dist/hooks/use-agent-chat.js +455 -0
  158. package/dist/hooks/use-agent-chat.js.map +1 -0
  159. package/dist/hooks/use-file-mention-menu.d.ts +22 -0
  160. package/dist/hooks/use-file-mention-menu.d.ts.map +1 -0
  161. package/dist/hooks/use-file-mention-menu.js +137 -0
  162. package/dist/hooks/use-file-mention-menu.js.map +1 -0
  163. package/dist/hooks/use-file-picker.d.ts +21 -0
  164. package/dist/hooks/use-file-picker.d.ts.map +1 -0
  165. package/dist/hooks/use-file-picker.js +145 -0
  166. package/dist/hooks/use-file-picker.js.map +1 -0
  167. package/dist/hooks/use-model-picker.d.ts +23 -0
  168. package/dist/hooks/use-model-picker.d.ts.map +1 -0
  169. package/dist/hooks/use-model-picker.js +151 -0
  170. package/dist/hooks/use-model-picker.js.map +1 -0
  171. package/dist/hooks/use-slash-command-menu.d.ts +19 -0
  172. package/dist/hooks/use-slash-command-menu.d.ts.map +1 -0
  173. package/dist/hooks/use-slash-command-menu.js +101 -0
  174. package/dist/hooks/use-slash-command-menu.js.map +1 -0
  175. package/dist/index.d.ts +2 -0
  176. package/dist/index.d.ts.map +1 -0
  177. package/dist/index.js +39 -0
  178. package/dist/index.js.map +1 -0
  179. package/dist/runtime/clipboard.d.ts +10 -0
  180. package/dist/runtime/clipboard.d.ts.map +1 -0
  181. package/dist/runtime/clipboard.js +64 -0
  182. package/dist/runtime/clipboard.js.map +1 -0
  183. package/dist/runtime/exit.d.ts +7 -0
  184. package/dist/runtime/exit.d.ts.map +1 -0
  185. package/dist/runtime/exit.js +85 -0
  186. package/dist/runtime/exit.js.map +1 -0
  187. package/dist/runtime/terminal-theme.d.ts +25 -0
  188. package/dist/runtime/terminal-theme.d.ts.map +1 -0
  189. package/dist/runtime/terminal-theme.js +148 -0
  190. package/dist/runtime/terminal-theme.js.map +1 -0
  191. package/dist/types/chat.d.ts +29 -0
  192. package/dist/types/chat.d.ts.map +1 -0
  193. package/dist/types/chat.js +1 -0
  194. package/dist/types/chat.js.map +1 -0
  195. package/dist/types/message-content.d.ts +38 -0
  196. package/dist/types/message-content.d.ts.map +1 -0
  197. package/dist/types/message-content.js +1 -0
  198. package/dist/types/message-content.js.map +1 -0
  199. package/dist/ui/open-code-theme.d.ts +58 -0
  200. package/dist/ui/open-code-theme.d.ts.map +1 -0
  201. package/dist/ui/open-code-theme.js +113 -0
  202. package/dist/ui/open-code-theme.js.map +1 -0
  203. package/dist/ui/opencode-markdown.d.ts +7 -0
  204. package/dist/ui/opencode-markdown.d.ts.map +1 -0
  205. package/dist/ui/opencode-markdown.js +169 -0
  206. package/dist/ui/opencode-markdown.js.map +1 -0
  207. package/dist/ui/theme.d.ts +68 -0
  208. package/dist/ui/theme.d.ts.map +1 -0
  209. package/dist/ui/theme.js +80 -0
  210. package/dist/ui/theme.js.map +1 -0
  211. package/dist/utils/time.d.ts +2 -0
  212. package/dist/utils/time.d.ts.map +1 -0
  213. package/dist/utils/time.js +7 -0
  214. package/dist/utils/time.js.map +1 -0
  215. package/package.json +128 -0
@@ -0,0 +1,169 @@
1
+ import { RGBA, SyntaxStyle } from '@opentui/core';
2
+ import { resolveOpenCodeTheme, } from './open-code-theme';
3
+ const getSyntaxRules = (theme, options) => {
4
+ const useItalic = options.platform !== 'darwin';
5
+ const useUnderline = options.platform !== 'darwin';
6
+ return [
7
+ { scope: ['default'], style: { foreground: theme.text } },
8
+ { scope: ['prompt'], style: { foreground: theme.accent } },
9
+ { scope: ['extmark.file'], style: { foreground: theme.warning, bold: true } },
10
+ { scope: ['extmark.agent'], style: { foreground: theme.secondary, bold: true } },
11
+ {
12
+ scope: ['extmark.paste'],
13
+ style: { foreground: theme.background, background: theme.warning, bold: true },
14
+ },
15
+ { scope: ['comment'], style: { foreground: theme.syntaxComment, italic: useItalic } },
16
+ {
17
+ scope: ['comment.documentation'],
18
+ style: { foreground: theme.syntaxComment, italic: useItalic },
19
+ },
20
+ { scope: ['string', 'symbol'], style: { foreground: theme.syntaxString } },
21
+ { scope: ['number', 'boolean'], style: { foreground: theme.syntaxNumber } },
22
+ { scope: ['character.special'], style: { foreground: theme.syntaxString } },
23
+ {
24
+ scope: ['keyword.return', 'keyword.conditional', 'keyword.repeat', 'keyword.coroutine'],
25
+ style: { foreground: theme.syntaxKeyword, italic: useItalic },
26
+ },
27
+ {
28
+ scope: ['keyword.type'],
29
+ style: { foreground: theme.syntaxType, bold: true, italic: useItalic },
30
+ },
31
+ { scope: ['keyword.function', 'function.method'], style: { foreground: theme.syntaxFunction } },
32
+ { scope: ['keyword'], style: { foreground: theme.syntaxKeyword, italic: useItalic } },
33
+ { scope: ['keyword.import'], style: { foreground: theme.syntaxKeyword } },
34
+ {
35
+ scope: ['operator', 'keyword.operator', 'punctuation.delimiter'],
36
+ style: { foreground: theme.syntaxOperator },
37
+ },
38
+ { scope: ['keyword.conditional.ternary'], style: { foreground: theme.syntaxOperator } },
39
+ {
40
+ scope: ['variable', 'variable.parameter', 'function.method.call', 'function.call'],
41
+ style: { foreground: theme.syntaxVariable },
42
+ },
43
+ {
44
+ scope: ['variable.member', 'function', 'constructor'],
45
+ style: { foreground: theme.syntaxFunction },
46
+ },
47
+ { scope: ['type', 'module'], style: { foreground: theme.syntaxType } },
48
+ { scope: ['constant'], style: { foreground: theme.syntaxNumber } },
49
+ { scope: ['property'], style: { foreground: theme.syntaxVariable } },
50
+ { scope: ['class'], style: { foreground: theme.syntaxType } },
51
+ { scope: ['parameter'], style: { foreground: theme.syntaxVariable } },
52
+ {
53
+ scope: ['punctuation', 'punctuation.bracket'],
54
+ style: { foreground: theme.syntaxPunctuation },
55
+ },
56
+ {
57
+ scope: [
58
+ 'variable.builtin',
59
+ 'type.builtin',
60
+ 'function.builtin',
61
+ 'module.builtin',
62
+ 'constant.builtin',
63
+ ],
64
+ style: { foreground: theme.error },
65
+ },
66
+ { scope: ['variable.super'], style: { foreground: theme.error } },
67
+ { scope: ['string.escape', 'string.regexp'], style: { foreground: theme.syntaxKeyword } },
68
+ { scope: ['keyword.directive'], style: { foreground: theme.syntaxKeyword, italic: useItalic } },
69
+ { scope: ['punctuation.special'], style: { foreground: theme.syntaxOperator } },
70
+ { scope: ['keyword.modifier'], style: { foreground: theme.syntaxKeyword, italic: useItalic } },
71
+ { scope: ['keyword.exception'], style: { foreground: theme.syntaxKeyword, italic: useItalic } },
72
+ { scope: ['markup.heading'], style: { foreground: theme.markdownHeading, bold: true } },
73
+ { scope: ['markup.heading.1'], style: { foreground: theme.markdownHeading, bold: true } },
74
+ { scope: ['markup.heading.2'], style: { foreground: theme.markdownHeading, bold: true } },
75
+ { scope: ['markup.heading.3'], style: { foreground: theme.markdownHeading, bold: true } },
76
+ { scope: ['markup.heading.4'], style: { foreground: theme.markdownHeading, bold: true } },
77
+ { scope: ['markup.heading.5'], style: { foreground: theme.markdownHeading, bold: true } },
78
+ { scope: ['markup.heading.6'], style: { foreground: theme.markdownHeading, bold: true } },
79
+ {
80
+ scope: ['markup.bold', 'markup.strong'],
81
+ style: { foreground: theme.markdownStrong, bold: true },
82
+ },
83
+ { scope: ['markup.italic'], style: { foreground: theme.markdownEmph, italic: useItalic } },
84
+ { scope: ['markup.list'], style: { foreground: theme.markdownListItem } },
85
+ { scope: ['markup.quote'], style: { foreground: theme.markdownBlockQuote, italic: useItalic } },
86
+ { scope: ['markup.raw', 'markup.raw.block'], style: { foreground: theme.markdownCode } },
87
+ {
88
+ scope: ['markup.raw.inline'],
89
+ style: { foreground: theme.markdownCode, background: theme.background },
90
+ },
91
+ { scope: ['markup.link'], style: { foreground: theme.markdownLink, underline: useUnderline } },
92
+ {
93
+ scope: ['markup.link.label'],
94
+ style: { foreground: theme.markdownLinkText, underline: useUnderline },
95
+ },
96
+ {
97
+ scope: ['markup.link.url'],
98
+ style: { foreground: theme.markdownLink, underline: useUnderline },
99
+ },
100
+ { scope: ['label'], style: { foreground: theme.markdownLinkText } },
101
+ { scope: ['spell', 'nospell'], style: { foreground: theme.text } },
102
+ { scope: ['conceal'], style: { foreground: theme.textMuted } },
103
+ {
104
+ scope: ['string.special', 'string.special.url'],
105
+ style: { foreground: theme.markdownLink, underline: useUnderline },
106
+ },
107
+ { scope: ['character'], style: { foreground: theme.syntaxString } },
108
+ { scope: ['float'], style: { foreground: theme.syntaxNumber } },
109
+ { scope: ['comment.error'], style: { foreground: theme.error, italic: useItalic, bold: true } },
110
+ {
111
+ scope: ['comment.warning'],
112
+ style: { foreground: theme.warning, italic: useItalic, bold: true },
113
+ },
114
+ {
115
+ scope: ['comment.todo', 'comment.note'],
116
+ style: { foreground: theme.info, italic: useItalic, bold: true },
117
+ },
118
+ { scope: ['namespace'], style: { foreground: theme.syntaxType } },
119
+ { scope: ['field'], style: { foreground: theme.syntaxVariable } },
120
+ { scope: ['type.definition'], style: { foreground: theme.syntaxType, bold: true } },
121
+ { scope: ['keyword.export'], style: { foreground: theme.syntaxKeyword } },
122
+ { scope: ['attribute', 'annotation'], style: { foreground: theme.warning } },
123
+ { scope: ['tag'], style: { foreground: theme.error } },
124
+ { scope: ['tag.attribute'], style: { foreground: theme.syntaxKeyword } },
125
+ { scope: ['tag.delimiter'], style: { foreground: theme.syntaxOperator } },
126
+ { scope: ['markup.strikethrough'], style: { foreground: theme.textMuted } },
127
+ { scope: ['markup.underline'], style: { foreground: theme.text, underline: useUnderline } },
128
+ { scope: ['markup.list.checked'], style: { foreground: theme.success } },
129
+ { scope: ['markup.list.unchecked'], style: { foreground: theme.textMuted } },
130
+ { scope: ['diff.plus'], style: { foreground: theme.diffAdded, background: theme.diffAddedBg } },
131
+ {
132
+ scope: ['diff.minus'],
133
+ style: { foreground: theme.diffRemoved, background: theme.diffRemovedBg },
134
+ },
135
+ {
136
+ scope: ['diff.delta'],
137
+ style: { foreground: theme.diffContext, background: theme.diffContextBg },
138
+ },
139
+ { scope: ['error'], style: { foreground: theme.error, bold: true } },
140
+ { scope: ['warning'], style: { foreground: theme.warning, bold: true } },
141
+ { scope: ['info'], style: { foreground: theme.info } },
142
+ { scope: ['debug'], style: { foreground: theme.textMuted } },
143
+ ];
144
+ };
145
+ const applyAlpha = (fg, alpha) => {
146
+ return RGBA.fromInts(Math.round(fg.r * 255), Math.round(fg.g * 255), Math.round(fg.b * 255), Math.round(alpha * 255));
147
+ };
148
+ const createMarkdownSyntax = (theme, platform) => SyntaxStyle.fromTheme(getSyntaxRules(theme, { platform }));
149
+ const createSubtleMarkdownSyntax = (theme, platform) => SyntaxStyle.fromTheme(getSyntaxRules(theme, { platform }).map(rule => {
150
+ if (!rule.style.foreground) {
151
+ return rule;
152
+ }
153
+ return {
154
+ ...rule,
155
+ style: {
156
+ ...rule.style,
157
+ foreground: applyAlpha(rule.style.foreground, theme.thinkingOpacity),
158
+ },
159
+ };
160
+ }));
161
+ const defaultMarkdownTheme = resolveOpenCodeTheme('dark', process.platform);
162
+ export let opencodeMarkdownSyntax = createMarkdownSyntax(defaultMarkdownTheme, process.platform);
163
+ export let opencodeSubtleMarkdownSyntax = createSubtleMarkdownSyntax(defaultMarkdownTheme, process.platform);
164
+ export const applyMarkdownThemeMode = (mode, platform = process.platform) => {
165
+ const theme = resolveOpenCodeTheme(mode, platform);
166
+ opencodeMarkdownSyntax = createMarkdownSyntax(theme, platform);
167
+ opencodeSubtleMarkdownSyntax = createSubtleMarkdownSyntax(theme, platform);
168
+ };
169
+ //# sourceMappingURL=opencode-markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-markdown.js","sourceRoot":"","sources":["../../src/ui/opencode-markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { TextAttributes } from '@opentui/core';
2
+ import { type OpenCodeThemeMode } from './open-code-theme';
3
+ export type UiThemeMode = OpenCodeThemeMode;
4
+ type TextAttributeValue = (typeof TextAttributes)[keyof typeof TextAttributes];
5
+ export type UiTheme = {
6
+ bg: string;
7
+ surface: string;
8
+ panel: string;
9
+ text: string;
10
+ muted: string;
11
+ subtle: string;
12
+ accent: string;
13
+ thinking: string;
14
+ divider: string;
15
+ userPromptBg: string;
16
+ userPromptText: string;
17
+ inputBg: string;
18
+ inputCursor: string;
19
+ inputSelectionBg: string;
20
+ inputSelectionText: string;
21
+ codeBlock: {
22
+ bg: string;
23
+ border: string;
24
+ header: string;
25
+ language: string;
26
+ text: string;
27
+ selectionBg: string;
28
+ selectionText: string;
29
+ };
30
+ diff: {
31
+ lineNumberFg: string;
32
+ lineNumberBg: string;
33
+ addedBg: string;
34
+ removedBg: string;
35
+ contextBg: string;
36
+ addedContentBg: string;
37
+ removedContentBg: string;
38
+ contextContentBg: string;
39
+ addedSign: string;
40
+ removedSign: string;
41
+ addedLineNumberBg: string;
42
+ removedLineNumberBg: string;
43
+ };
44
+ layout: {
45
+ appPaddingTop: number;
46
+ appPaddingBottom: number;
47
+ appPaddingX: number;
48
+ conversationPaddingX: number;
49
+ conversationPaddingY: number;
50
+ conversationContentPaddingX: number;
51
+ conversationContentPaddingY: number;
52
+ promptPaddingX: number;
53
+ promptPaddingBottom: number;
54
+ footerMarginTop: number;
55
+ footerPaddingRight: number;
56
+ };
57
+ typography: {
58
+ body: TextAttributeValue;
59
+ code: TextAttributeValue;
60
+ muted: TextAttributeValue;
61
+ note: TextAttributeValue;
62
+ heading: TextAttributeValue;
63
+ };
64
+ };
65
+ export declare let uiTheme: UiTheme;
66
+ export declare const applyUiThemeMode: (mode: UiThemeMode) => void;
67
+ export {};
68
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAY,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAC5C,KAAK,kBAAkB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE/E,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,IAAI,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE;QACN,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,2BAA2B,EAAE,MAAM,CAAC;QACpC,2BAA2B,EAAE,MAAM,CAAC;QACpC,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,UAAU,EAAE;QACV,IAAI,EAAE,kBAAkB,CAAC;QACzB,IAAI,EAAE,kBAAkB,CAAC;QACzB,KAAK,EAAE,kBAAkB,CAAC;QAC1B,IAAI,EAAE,kBAAkB,CAAC;QACzB,OAAO,EAAE,kBAAkB,CAAC;KAC7B,CAAC;CACH,CAAC;AAiFF,eAAO,IAAI,OAAO,EAAE,OAA2D,CAAC;AAEhF,eAAO,MAAM,gBAAgB,GAAI,MAAM,WAAW,SAEjD,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { TextAttributes, rgbToHex } from '@opentui/core';
2
+ import { resolveOpenCodeTheme } from './open-code-theme';
3
+ const baseLayout = {
4
+ appPaddingTop: 0,
5
+ appPaddingBottom: 1,
6
+ appPaddingX: 0,
7
+ conversationPaddingX: 0,
8
+ conversationPaddingY: 0,
9
+ conversationContentPaddingX: 2,
10
+ conversationContentPaddingY: 1,
11
+ promptPaddingX: 0,
12
+ promptPaddingBottom: 1,
13
+ footerMarginTop: 1,
14
+ footerPaddingRight: 0,
15
+ };
16
+ const baseTypography = {
17
+ body: TextAttributes.BOLD,
18
+ code: TextAttributes.BOLD,
19
+ muted: TextAttributes.BOLD,
20
+ note: TextAttributes.NONE,
21
+ heading: TextAttributes.BOLD,
22
+ };
23
+ const toHex = (value) => rgbToHex(value).toLowerCase();
24
+ const createTheme = (mode, platform) => {
25
+ const theme = resolveOpenCodeTheme(mode, platform);
26
+ return {
27
+ bg: toHex(theme.background),
28
+ surface: toHex(theme.backgroundPanel),
29
+ panel: toHex(theme.backgroundPanel),
30
+ text: toHex(theme.text),
31
+ muted: toHex(theme.textMuted),
32
+ subtle: toHex(theme.textMuted),
33
+ accent: toHex(theme.primary),
34
+ thinking: toHex(theme.textMuted),
35
+ divider: toHex(theme.borderSubtle),
36
+ userPromptBg: toHex(theme.backgroundElement),
37
+ userPromptText: toHex(theme.text),
38
+ inputBg: mode === 'light' ? '#e4e4e7' : '#27272a',
39
+ inputCursor: toHex(theme.primary),
40
+ inputSelectionBg: toHex(theme.borderActive),
41
+ inputSelectionText: toHex(theme.text),
42
+ codeBlock: {
43
+ bg: toHex(theme.backgroundElement),
44
+ border: toHex(theme.border),
45
+ header: toHex(theme.textMuted),
46
+ language: toHex(theme.accent),
47
+ text: toHex(theme.text),
48
+ selectionBg: toHex(theme.borderActive),
49
+ selectionText: toHex(theme.text),
50
+ },
51
+ diff: {
52
+ lineNumberFg: toHex(theme.diffLineNumber),
53
+ lineNumberBg: toHex(theme.backgroundElement),
54
+ addedBg: toHex(theme.diffAddedBg),
55
+ removedBg: toHex(theme.diffRemovedBg),
56
+ contextBg: toHex(theme.diffContextBg),
57
+ addedContentBg: toHex(theme.diffAddedBg),
58
+ removedContentBg: toHex(theme.diffRemovedBg),
59
+ contextContentBg: toHex(theme.diffContextBg),
60
+ addedSign: toHex(theme.diffAdded),
61
+ removedSign: toHex(theme.diffRemoved),
62
+ addedLineNumberBg: toHex(theme.diffAddedLineNumberBg),
63
+ removedLineNumberBg: toHex(theme.diffRemovedLineNumberBg),
64
+ },
65
+ layout: baseLayout,
66
+ typography: baseTypography,
67
+ };
68
+ };
69
+ const cloneTheme = (theme) => ({
70
+ ...theme,
71
+ codeBlock: { ...theme.codeBlock },
72
+ diff: { ...theme.diff },
73
+ layout: { ...theme.layout },
74
+ typography: { ...theme.typography },
75
+ });
76
+ export let uiTheme = cloneTheme(createTheme('dark', process.platform));
77
+ export const applyUiThemeMode = (mode) => {
78
+ uiTheme = cloneTheme(createTheme(mode, process.platform));
79
+ };
80
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const createTimeLabel: () => string;
2
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAMxB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export const createTimeLabel = () => new Date().toLocaleTimeString('en-US', {
2
+ hour: '2-digit',
3
+ minute: '2-digit',
4
+ second: '2-digit',
5
+ hour12: false,
6
+ });
7
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAClC,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE;IACrC,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,KAAK;CACd,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,128 @@
1
+ {
2
+ "name": "@renxqoo/renx-code",
3
+ "version": "0.0.1",
4
+ "description": "Enterprise-grade AI coding assistant CLI tool with interactive terminal UI",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "renx": "./dist/cli.js"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.js",
14
+ "types": "./dist/index.d.ts"
15
+ },
16
+ "./cli": {
17
+ "import": "./dist/cli.js"
18
+ }
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "README.md",
23
+ "LICENSE"
24
+ ],
25
+ "scripts": {
26
+ "dev": "bun run src/index.tsx",
27
+ "dev:watch": "bun run --watch src/index.tsx",
28
+ "build": "tsc -p tsconfig.build.json",
29
+ "build:cli": "tsc -p tsconfig.build.json && node -e \"require('fs').chmodSync('dist/cli.js', 0o755)\"",
30
+ "start": "node dist/index.js",
31
+ "test": "vitest",
32
+ "test:coverage": "vitest run --coverage",
33
+ "lint": "eslint . --ext .ts,.tsx",
34
+ "lint:fix": "eslint . --ext .ts,.tsx --fix",
35
+ "format": "prettier --write .",
36
+ "format:check": "prettier --check .",
37
+ "type-check": "tsc --noEmit",
38
+ "check": "bun run type-check && bun run lint && bun run format:check",
39
+ "prepare": "echo 'Skipping husky install'",
40
+ "prepublishOnly": "npm run build:cli",
41
+ "prepack": "npm run build:cli",
42
+ "publish:patch": "npm version patch && npm run build:cli && npm publish",
43
+ "publish:minor": "npm version minor && npm run build:cli && npm publish",
44
+ "publish:major": "npm version major && npm run build:cli && npm publish"
45
+ },
46
+ "keywords": [
47
+ "ai",
48
+ "coding",
49
+ "agent",
50
+ "cli",
51
+ "terminal",
52
+ "tui",
53
+ "react",
54
+ "assistant",
55
+ "developer-tools",
56
+ "productivity",
57
+ "opentui"
58
+ ],
59
+ "author": "",
60
+ "license": "MIT",
61
+ "repository": {
62
+ "type": "git",
63
+ "url": "https://github.com/renxqoo/renx-code.git"
64
+ },
65
+ "bugs": {
66
+ "url": "https://github.com/renxqoo/renx-code/issues"
67
+ },
68
+ "homepage": "https://github.com/renxqoo/renx-code#readme",
69
+ "devDependencies": {
70
+ "@eslint/js": "^10.0.1",
71
+ "@testing-library/react": "^16.3.2",
72
+ "@testing-library/react-hooks": "^8.0.1",
73
+ "@testing-library/user-event": "^14.6.1",
74
+ "@types/bun": "latest",
75
+ "@types/react": "^19.2.14",
76
+ "@types/react-dom": "^19.2.3",
77
+ "@typescript-eslint/eslint-plugin": "^8.57.0",
78
+ "@typescript-eslint/parser": "^8.57.0",
79
+ "eslint": "^10.0.3",
80
+ "eslint-config-prettier": "^10.1.8",
81
+ "eslint-plugin-prettier": "^5.5.5",
82
+ "eslint-plugin-react": "^7.37.5",
83
+ "eslint-plugin-react-hooks": "^7.0.1",
84
+ "globals": "^17.4.0",
85
+ "prettier": "^3.8.1",
86
+ "whistle": "^2.10.1",
87
+ "husky": "^8.0.3",
88
+ "lint-staged": "^16.3.2",
89
+ "typescript": "^5.9.3",
90
+ "vitest": "^1.1.0"
91
+ },
92
+ "peerDependencies": {
93
+ "typescript": "^5.9.3"
94
+ },
95
+ "dependencies": {
96
+ "@opentui/core": "^0.1.84",
97
+ "@opentui/react": "^0.1.84",
98
+ "react": "^19.2.4",
99
+ "@vscode/ripgrep": "^1.17.0",
100
+ "diff": "^8.0.3",
101
+ "dotenv": "^17.3.1",
102
+ "js-tiktoken": "^1.0.21",
103
+ "log-update": "^6.1.0",
104
+ "marked": "^15.0.12",
105
+ "marked-terminal": "^7.3.0",
106
+ "minimatch": "^10.2.4",
107
+ "shell-quote": "^1.8.3",
108
+ "strip-ansi": "^7.2.0",
109
+ "uuid": "^13.0.0",
110
+ "zod": "^4.3.6"
111
+ },
112
+ "engines": {
113
+ "node": ">=20.0.0"
114
+ },
115
+ "lint-staged": {
116
+ "*.ts": [
117
+ "prettier --write",
118
+ "eslint --fix"
119
+ ],
120
+ "*.tsx": [
121
+ "prettier --write",
122
+ "eslint --fix"
123
+ ],
124
+ "*.{json,md}": [
125
+ "prettier --write"
126
+ ]
127
+ }
128
+ }