@ranker/raxflow 0.2.1 → 0.2.3

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 (214) hide show
  1. package/dist/benchmark.d.ts +10 -0
  2. package/dist/bin.d.ts +3 -0
  3. package/dist/bootstrap.d.ts +8 -0
  4. package/dist/bridge-adapter-templates.d.ts +4 -0
  5. package/dist/bridge-test.d.ts +7 -0
  6. package/dist/dashboard.d.ts +4 -0
  7. package/dist/doctor.d.ts +6 -0
  8. package/dist/evolve.d.ts +7 -0
  9. package/dist/host-init-templates.d.ts +16 -0
  10. package/dist/hub/__tests__/commands.test.d.ts +2 -0
  11. package/dist/hub/__tests__/history.test.d.ts +2 -0
  12. package/dist/hub/__tests__/parser.test.d.ts +2 -0
  13. package/dist/hub/commands/agents.d.ts +3 -0
  14. package/dist/hub/commands/index.d.ts +4 -0
  15. package/dist/hub/commands/logs.d.ts +3 -0
  16. package/dist/hub/commands/memory.d.ts +3 -0
  17. package/dist/hub/commands/metrics.d.ts +3 -0
  18. package/dist/hub/commands/providers.d.ts +3 -0
  19. package/dist/hub/commands/run.d.ts +3 -0
  20. package/dist/hub/commands/status.d.ts +3 -0
  21. package/dist/hub/commands/workflows.d.ts +3 -0
  22. package/dist/hub/config-loader.d.ts +4 -0
  23. package/dist/hub/history.d.ts +13 -0
  24. package/dist/hub/index.d.ts +4 -0
  25. package/dist/hub/parser.d.ts +4 -0
  26. package/dist/hub/styles/borders.d.ts +23 -0
  27. package/dist/hub/styles/colors.d.ts +63 -0
  28. package/dist/hub/styles/typography.d.ts +34 -0
  29. package/dist/hub/types.d.ts +27 -0
  30. package/{src/index.ts → dist/index.d.ts} +1 -0
  31. package/dist/init-host.d.ts +10 -0
  32. package/dist/install.d.ts +8 -0
  33. package/dist/run.d.ts +16 -0
  34. package/dist/setup/components/ProviderSelector.d.ts.map +1 -1
  35. package/dist/setup/components/ProviderSelector.js +8 -7
  36. package/dist/setup/components/ProviderSelector.js.map +1 -1
  37. package/dist/styles.d.ts +12 -0
  38. package/dist/tui/App.d.ts.map +1 -1
  39. package/dist/tui/App.js +7 -2
  40. package/dist/tui/App.js.map +1 -1
  41. package/dist/tui/components/ChatPanel.d.ts +1 -0
  42. package/dist/tui/components/ChatPanel.d.ts.map +1 -1
  43. package/dist/tui/components/ChatPanel.js +4 -3
  44. package/dist/tui/components/ChatPanel.js.map +1 -1
  45. package/dist/tui/components/DAGPanel.d.ts +1 -0
  46. package/dist/tui/components/DAGPanel.d.ts.map +1 -1
  47. package/dist/tui/components/DAGPanel.js +4 -3
  48. package/dist/tui/components/DAGPanel.js.map +1 -1
  49. package/dist/tui/components/Header.d.ts.map +1 -1
  50. package/dist/tui/components/Header.js +1 -1
  51. package/dist/tui/components/Header.js.map +1 -1
  52. package/dist/tui/components/InputBar.d.ts.map +1 -1
  53. package/dist/tui/components/InputBar.js +1 -1
  54. package/dist/tui/components/InputBar.js.map +1 -1
  55. package/dist/tui/components/LogsPanel.d.ts +1 -0
  56. package/dist/tui/components/LogsPanel.d.ts.map +1 -1
  57. package/dist/tui/components/LogsPanel.js +4 -3
  58. package/dist/tui/components/LogsPanel.js.map +1 -1
  59. package/dist/tui/components/MemoryPanel.d.ts +1 -0
  60. package/dist/tui/components/MemoryPanel.d.ts.map +1 -1
  61. package/dist/tui/components/MemoryPanel.js +2 -2
  62. package/dist/tui/components/MemoryPanel.js.map +1 -1
  63. package/dist/tui/components/MetricsPanel.d.ts +1 -0
  64. package/dist/tui/components/MetricsPanel.d.ts.map +1 -1
  65. package/dist/tui/components/MetricsPanel.js +2 -2
  66. package/dist/tui/components/MetricsPanel.js.map +1 -1
  67. package/dist/tui/components/StatusPanel.d.ts +1 -0
  68. package/dist/tui/components/StatusPanel.d.ts.map +1 -1
  69. package/dist/tui/components/StatusPanel.js +4 -3
  70. package/dist/tui/components/StatusPanel.js.map +1 -1
  71. package/dist/vendor-manifests.d.ts +22 -0
  72. package/package.json +5 -1
  73. package/dashboard/index.html +0 -420
  74. package/dist/hub/chat/ChatApp.d.ts +0 -2
  75. package/dist/hub/chat/ChatApp.d.ts.map +0 -1
  76. package/dist/hub/chat/ChatApp.js +0 -146
  77. package/dist/hub/chat/ChatApp.js.map +0 -1
  78. package/dist/hub/chat/components/ChatInput.d.ts +0 -9
  79. package/dist/hub/chat/components/ChatInput.d.ts.map +0 -1
  80. package/dist/hub/chat/components/ChatInput.js +0 -19
  81. package/dist/hub/chat/components/ChatInput.js.map +0 -1
  82. package/dist/hub/chat/components/MessageList.d.ts +0 -7
  83. package/dist/hub/chat/components/MessageList.d.ts.map +0 -1
  84. package/dist/hub/chat/components/MessageList.js +0 -6
  85. package/dist/hub/chat/components/MessageList.js.map +0 -1
  86. package/dist/hub/chat/context.d.ts.map +0 -1
  87. package/dist/hub/chat/context.js +0 -42
  88. package/dist/hub/chat/context.js.map +0 -1
  89. package/dist/hub/chat/hooks/useChatHistory.d.ts +0 -7
  90. package/dist/hub/chat/hooks/useChatHistory.d.ts.map +0 -1
  91. package/dist/hub/chat/hooks/useChatHistory.js +0 -31
  92. package/dist/hub/chat/hooks/useChatHistory.js.map +0 -1
  93. package/dist/hub/chat/index.d.ts.map +0 -1
  94. package/dist/hub/chat/index.js +0 -7
  95. package/dist/hub/chat/index.js.map +0 -1
  96. package/dist/hub/chat/intent-parser.d.ts.map +0 -1
  97. package/dist/hub/chat/intent-parser.js +0 -48
  98. package/dist/hub/chat/intent-parser.js.map +0 -1
  99. package/dist/hub/chat/types.d.ts.map +0 -1
  100. package/dist/hub/chat/types.js +0 -2
  101. package/dist/hub/chat/types.js.map +0 -1
  102. package/dist/hub/tui/App.d.ts +0 -2
  103. package/dist/hub/tui/App.d.ts.map +0 -1
  104. package/dist/hub/tui/App.js +0 -53
  105. package/dist/hub/tui/App.js.map +0 -1
  106. package/dist/hub/tui/components/AgentQueue.d.ts +0 -6
  107. package/dist/hub/tui/components/AgentQueue.d.ts.map +0 -1
  108. package/dist/hub/tui/components/AgentQueue.js +0 -20
  109. package/dist/hub/tui/components/AgentQueue.js.map +0 -1
  110. package/dist/hub/tui/components/DAGPanel.d.ts +0 -16
  111. package/dist/hub/tui/components/DAGPanel.d.ts.map +0 -1
  112. package/dist/hub/tui/components/DAGPanel.js +0 -51
  113. package/dist/hub/tui/components/DAGPanel.js.map +0 -1
  114. package/dist/hub/tui/components/Header.d.ts +0 -7
  115. package/dist/hub/tui/components/Header.d.ts.map +0 -1
  116. package/dist/hub/tui/components/Header.js +0 -17
  117. package/dist/hub/tui/components/Header.js.map +0 -1
  118. package/dist/hub/tui/components/LogsPanel.d.ts +0 -6
  119. package/dist/hub/tui/components/LogsPanel.d.ts.map +0 -1
  120. package/dist/hub/tui/components/LogsPanel.js +0 -26
  121. package/dist/hub/tui/components/LogsPanel.js.map +0 -1
  122. package/dist/hub/tui/components/StatusBar.d.ts +0 -8
  123. package/dist/hub/tui/components/StatusBar.d.ts.map +0 -1
  124. package/dist/hub/tui/components/StatusBar.js +0 -7
  125. package/dist/hub/tui/components/StatusBar.js.map +0 -1
  126. package/dist/hub/tui/hooks/useEvents.d.ts +0 -2
  127. package/dist/hub/tui/hooks/useEvents.d.ts.map +0 -1
  128. package/dist/hub/tui/hooks/useEvents.js +0 -13
  129. package/dist/hub/tui/hooks/useEvents.js.map +0 -1
  130. package/dist/hub/tui/index.d.ts.map +0 -1
  131. package/dist/hub/tui/index.js +0 -7
  132. package/dist/hub/tui/index.js.map +0 -1
  133. package/dist/hub/tui/types.d.ts.map +0 -1
  134. package/dist/hub/tui/types.js +0 -2
  135. package/dist/hub/tui/types.js.map +0 -1
  136. package/src/benchmark.ts +0 -156
  137. package/src/bin.ts +0 -156
  138. package/src/bootstrap.ts +0 -36
  139. package/src/bridge-adapter-templates.ts +0 -181
  140. package/src/bridge-test.ts +0 -107
  141. package/src/dashboard.ts +0 -51
  142. package/src/doctor.ts +0 -92
  143. package/src/evolve.ts +0 -74
  144. package/src/host-init-templates.ts +0 -134
  145. package/src/hub/__tests__/commands.test.ts +0 -84
  146. package/src/hub/__tests__/history.test.ts +0 -137
  147. package/src/hub/__tests__/parser.test.ts +0 -105
  148. package/src/hub/commands/agents.ts +0 -53
  149. package/src/hub/commands/index.ts +0 -140
  150. package/src/hub/commands/logs.ts +0 -70
  151. package/src/hub/commands/memory.ts +0 -47
  152. package/src/hub/commands/metrics.ts +0 -49
  153. package/src/hub/commands/providers.ts +0 -39
  154. package/src/hub/commands/run.ts +0 -37
  155. package/src/hub/commands/status.ts +0 -69
  156. package/src/hub/commands/workflows.ts +0 -64
  157. package/src/hub/config-loader.ts +0 -37
  158. package/src/hub/event-listener.ts +0 -17
  159. package/src/hub/history.ts +0 -66
  160. package/src/hub/index.ts +0 -132
  161. package/src/hub/parser.ts +0 -107
  162. package/src/hub/styles/borders.ts +0 -74
  163. package/src/hub/styles/colors.ts +0 -129
  164. package/src/hub/styles/typography.ts +0 -68
  165. package/src/hub/types.ts +0 -31
  166. package/src/init-host.ts +0 -285
  167. package/src/install.ts +0 -118
  168. package/src/run.ts +0 -317
  169. package/src/setup/components/ApiKeyInput.tsx +0 -158
  170. package/src/setup/components/AsciiBanner.tsx +0 -125
  171. package/src/setup/components/CliDetector.tsx +0 -230
  172. package/src/setup/components/ModeSelector.tsx +0 -137
  173. package/src/setup/components/ProviderSelector.tsx +0 -174
  174. package/src/setup/components/SetupWizard.tsx +0 -368
  175. package/src/setup/components/StepIndicator.tsx +0 -74
  176. package/src/setup/components/SuccessScreen.tsx +0 -229
  177. package/src/setup/index.ts +0 -34
  178. package/src/setup/utils/cli-detection.ts +0 -99
  179. package/src/setup/utils/config-writer.ts +0 -249
  180. package/src/styles.ts +0 -12
  181. package/src/tui/App.tsx +0 -177
  182. package/src/tui/components/AgentStateIcon.tsx +0 -84
  183. package/src/tui/components/AnimatedBranch.tsx +0 -134
  184. package/src/tui/components/ChatPanel.tsx +0 -125
  185. package/src/tui/components/DAGPanel.tsx +0 -208
  186. package/src/tui/components/ExecutionTimeline.tsx +0 -225
  187. package/src/tui/components/Header.tsx +0 -109
  188. package/src/tui/components/HelpOverlay.tsx +0 -140
  189. package/src/tui/components/InputBar.tsx +0 -69
  190. package/src/tui/components/LogsPanel.tsx +0 -129
  191. package/src/tui/components/MemoryPanel.tsx +0 -163
  192. package/src/tui/components/MetricsPanel.tsx +0 -149
  193. package/src/tui/components/StatusPanel.tsx +0 -137
  194. package/src/tui/components/TaskTree.tsx +0 -159
  195. package/src/tui/components/animations/ProgressBar.tsx +0 -160
  196. package/src/tui/components/animations/Pulse.tsx +0 -73
  197. package/src/tui/components/animations/Spinner.tsx +0 -54
  198. package/src/tui/components/animations/StatusAnimator.tsx +0 -153
  199. package/src/tui/components/animations/TypingEffect.tsx +0 -119
  200. package/src/tui/components/animations/index.ts +0 -16
  201. package/src/tui/hooks/useAnimation.ts +0 -290
  202. package/src/tui/hooks/useAppState.ts +0 -403
  203. package/src/tui/index.ts +0 -9
  204. package/src/tui/services/orchestrator.ts +0 -195
  205. package/src/tui/styles/borders.ts +0 -51
  206. package/src/tui/styles/colors.ts +0 -19
  207. package/src/tui/styles/index.ts +0 -20
  208. package/src/tui/styles/indicators.ts +0 -54
  209. package/src/tui/styles/layout.ts +0 -44
  210. package/src/tui/styles/providers.ts +0 -32
  211. package/src/tui/utils/animation.ts +0 -124
  212. package/src/vendor-manifests.ts +0 -113
  213. package/src/ws-relay.ts +0 -156
  214. package/tsconfig.json +0 -28
@@ -1,420 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
-
4
- <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>RAX | Internal Explorer</title>
8
- <script src="https://cdn.tailwindcss.com"></script>
9
- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
10
- <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
11
- <link
12
- href="https://fonts.googleapis.com/css2?family=Geist:wght@100;400;600;900&family=Geist+Mono:wght@400;600&display=swap"
13
- rel="stylesheet">
14
- <style>
15
- :root {
16
- --vercel-bg: #000;
17
- --vercel-gray: #111;
18
- --vercel-border: #333;
19
- --vercel-text: #fff;
20
- --vercel-accent: #0070f3;
21
- }
22
-
23
- body {
24
- font-family: 'Geist', sans-serif;
25
- background-color: var(--vercel-bg);
26
- color: var(--vercel-text);
27
- -webkit-font-smoothing: antialiased;
28
- overflow-x: hidden;
29
- }
30
-
31
- .mono {
32
- font-family: 'Geist Mono', monospace;
33
- }
34
-
35
- .card {
36
- background: var(--vercel-bg);
37
- border: 1px solid var(--vercel-border);
38
- border-radius: 8px;
39
- transition: border-color 0.2s ease;
40
- }
41
-
42
- .card:hover {
43
- border-color: #666;
44
- }
45
-
46
- input[type="password"],
47
- textarea {
48
- background: #000;
49
- border: 1px solid var(--vercel-border);
50
- color: white;
51
- padding: 8px 12px;
52
- border-radius: 6px;
53
- font-size: 13px;
54
- outline: none;
55
- transition: border-color 0.2s;
56
- }
57
-
58
- input[type="password"]:focus,
59
- textarea:focus {
60
- border-color: var(--vercel-accent);
61
- }
62
-
63
- .btn-primary {
64
- background: white;
65
- color: black;
66
- font-weight: 600;
67
- padding: 6px 12px;
68
- border-radius: 6px;
69
- font-size: 13px;
70
- transition: opacity 0.2s;
71
- }
72
-
73
- .btn-primary:hover {
74
- opacity: 0.9;
75
- }
76
-
77
- .custom-scrollbar::-webkit-scrollbar {
78
- width: 4px;
79
- }
80
-
81
- .custom-scrollbar::-webkit-scrollbar-track {
82
- background: transparent;
83
- }
84
-
85
- .custom-scrollbar::-webkit-scrollbar-thumb {
86
- background: #333;
87
- border-radius: 10px;
88
- }
89
-
90
- /* Fix for stretching: explicit height constraints on chart containers */
91
- .chart-container {
92
- position: relative;
93
- height: 180px;
94
- width: 100%;
95
- }
96
- </style>
97
- </head>
98
-
99
- <body class="selection:bg-blue-500/30">
100
- <!-- Navbar -->
101
- <nav
102
- class="border-b border-zinc-800 px-8 h-14 flex items-center justify-between sticky top-0 bg-black/80 backdrop-blur-md z-50">
103
- <div class="flex items-center gap-8">
104
- <span class="font-bold tracking-tighter text-lg uppercase">RAX Authority</span>
105
- <div class="h-4 w-px bg-zinc-800 hidden md:block"></div>
106
- <div class="hidden md:flex gap-6 text-xs font-medium text-zinc-400">
107
- <a href="#" class="text-white">Home</a>
108
- <a href="#" class="hover:text-white transition-colors">Mutations</a>
109
- <a href="#" class="hover:text-white transition-colors">Security</a>
110
- </div>
111
- </div>
112
- <button onclick="syncAll()"
113
- class="bg-zinc-100 text-black font-black text-[9px] uppercase tracking-widest px-4 py-1.5 rounded hover:bg-white transition-colors">
114
- Sync Explorer Data
115
- </button>
116
- </nav>
117
-
118
- <main class="max-w-5xl mx-auto p-8 space-y-10">
119
- <!-- Project Header -->
120
- <div class="flex justify-between items-center border-b border-zinc-800 pb-6">
121
- <div class="space-y-1">
122
- <h2 class="text-xl font-bold tracking-tight">Internal Flow Insights</h2>
123
- <p class="text-zinc-500 text-[11px]">Private, local-only monitoring of your AI orchestrator's health.
124
- </p>
125
- </div>
126
- <div id="statusBadge"
127
- class="px-2 py-0.5 bg-zinc-900 border border-zinc-800 rounded text-[9px] font-bold text-zinc-500 uppercase tracking-widest">
128
- OFFLINE
129
- </div>
130
- </div>
131
-
132
- <!-- Metrics Grid (Rigid 6 columns) -->
133
- <div
134
- class="grid grid-cols-2 md:grid-cols-6 border border-zinc-800 rounded-lg divide-x divide-z divide-zinc-800 overflow-hidden bg-zinc-900/20 mb-6">
135
- <div class="p-5">
136
- <p class="text-zinc-500 text-[9px] font-black uppercase tracking-widest mb-1">Invocations</p>
137
- <span class="text-xl font-bold tracking-tighter mono" id="invocations">--</span>
138
- </div>
139
- <div class="p-5">
140
- <p class="text-zinc-500 text-[9px] font-black uppercase tracking-widest mb-1">Avg Clear</p>
141
- <span class="text-xl font-bold tracking-tighter mono text-emerald-500" id="avgScore">--</span>
142
- </div>
143
- <div class="p-5">
144
- <p class="text-zinc-500 text-[9px] font-black uppercase tracking-widest mb-1">Darwin Rate</p>
145
- <span class="text-xl font-bold tracking-tighter mono text-amber-500" id="mutationRate">--</span>
146
- </div>
147
- <div class="p-5">
148
- <p class="text-zinc-500 text-[9px] font-black uppercase tracking-widest mb-1">Active Hubs</p>
149
- <span class="text-xl font-bold tracking-tighter mono text-blue-500" id="clusters">--</span>
150
- </div>
151
- <div class="p-5">
152
- <p class="text-zinc-500 text-[9px] font-black uppercase tracking-widest mb-1">Graph Nodes</p>
153
- <span class="text-xl font-bold tracking-tighter mono text-indigo-500" id="graphNodes">--</span>
154
- </div>
155
- <div class="p-5">
156
- <p class="text-zinc-500 text-[9px] font-black uppercase tracking-widest mb-1">Graph Edges</p>
157
- <span class="text-xl font-bold tracking-tighter mono text-violet-500" id="graphEdges">--</span>
158
- </div>
159
- </div>
160
-
161
- <!-- Charts Section -->
162
- <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
163
- <div class="card p-5 space-y-4">
164
- <div class="flex items-center justify-between">
165
- <h3 class="text-xs font-bold uppercase tracking-widest text-zinc-400">Logic Accuracy</h3>
166
- <div class="text-[9px] mono text-emerald-500">LIVE</div>
167
- </div>
168
- <div class="chart-container">
169
- <canvas id="accuracyChart"></canvas>
170
- </div>
171
- </div>
172
- <div class="card p-5 space-y-4">
173
- <div class="flex items-center justify-between">
174
- <h3 class="text-xs font-bold uppercase tracking-widest text-zinc-400">Mutation Efficiency</h3>
175
- <div class="text-[9px] mono text-blue-500">AGGREGATE</div>
176
- </div>
177
- <div class="chart-container">
178
- <canvas id="efficiencyChart"></canvas>
179
- </div>
180
- </div>
181
- </div>
182
-
183
- <!-- Feeds Section -->
184
- <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
185
- <div class="space-y-4">
186
- <h3 class="text-xs font-bold uppercase tracking-widest text-zinc-500">Global Mutation Log</h3>
187
- <div
188
- class="border border-zinc-800 rounded-lg overflow-hidden bg-black h-64 overflow-y-auto custom-scrollbar">
189
- <table class="w-full text-left border-collapse">
190
- <thead
191
- class="bg-zinc-900/50 text-[9px] font-bold text-zinc-500 uppercase tracking-tight border-b border-zinc-800 sticky top-0">
192
- <tr>
193
- <th class="px-5 py-2.5">Time</th>
194
- <th class="px-5 py-2.5">Mutation</th>
195
- <th class="px-5 py-2.5 text-right">Impact</th>
196
- </tr>
197
- </thead>
198
- <tbody id="mutationTableBody" class="divide-y divide-zinc-800 text-[11px]">
199
- <tr>
200
- <td colspan="3" class="px-5 py-4 text-center text-zinc-600 italic">No data synced.</td>
201
- </tr>
202
- </tbody>
203
- </table>
204
- </div>
205
- </div>
206
- <div class="space-y-4">
207
- <h3 class="text-xs font-bold uppercase tracking-widest text-zinc-500">Live Semantic Links</h3>
208
- <div class="border border-zinc-800 rounded-lg overflow-hidden bg-black h-64 overflow-y-auto custom-scrollbar p-1"
209
- id="semanticFeed">
210
- <div class="px-5 py-4 text-center text-zinc-600 italic text-[11px]">No active traversal.</div>
211
- </div>
212
- </div>
213
- </div>
214
-
215
-
216
- <!-- Security Tool -->
217
- <div class="card p-6 bg-zinc-950/40 border-dashed border-zinc-700">
218
- <div class="flex flex-col md:flex-row md:items-center justify-between gap-4 mb-4">
219
- <div>
220
- <h3 class="text-xs font-bold uppercase tracking-widest text-zinc-400">HMAC Command Generator
221
- </h3>
222
- <p class="text-[10px] text-zinc-500">Generate cryptographically signed requests for any kernel
223
- payload.</p>
224
- </div>
225
- <div class="flex gap-2">
226
- <input type="password" id="hmacSecret" placeholder="Hub Admin Secret"
227
- class="bg-black border border-zinc-800 rounded px-3 py-1 text-[10px] w-48 focus:border-zinc-500 outline-none"
228
- oninput="autoSign()">
229
- </div>
230
- </div>
231
- <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
232
- <textarea id="payloadInput" class="h-28 w-full mono text-xs p-3" placeholder='{"action": "admin_stats"}'
233
- oninput="autoSign()"></textarea>
234
- <div class="bg-black border border-zinc-800 rounded-md p-3 text-[10px] mono text-blue-400 overflow-auto break-all h-28 custom-scrollbar font-normal"
235
- id="signedOutput">
236
- {}
237
- </div>
238
- </div>
239
- </div>
240
- </main>
241
-
242
- <script>
243
- let charts = {};
244
-
245
- function initCharts() {
246
- Chart.defaults.color = '#555';
247
- Chart.defaults.font.family = 'Geist Mono';
248
- Chart.defaults.font.size = 9;
249
-
250
- const ctx1 = document.getElementById('accuracyChart').getContext('2d');
251
- charts.accuracy = new Chart(ctx1, {
252
- type: 'line',
253
- data: {
254
- labels: ['T-6h', 'T-5h', 'T-4h', 'T-3h', 'T-2h', 'T-1h', 'Now'],
255
- datasets: [{
256
- data: [0.65, 0.68, 0.72, 0.70, 0.78, 0.82, 0.84],
257
- borderColor: '#0070f3',
258
- backgroundColor: (c) => {
259
- const gradient = c.chart.ctx.createLinearGradient(0, 0, 0, 180);
260
- gradient.addColorStop(0, 'rgba(0, 112, 243, 0.2)');
261
- gradient.addColorStop(1, 'transparent');
262
- return gradient;
263
- },
264
- fill: true,
265
- tension: 0.4,
266
- borderWidth: 2,
267
- pointRadius: 0
268
- }]
269
- },
270
- options: {
271
- responsive: true,
272
- maintainAspectRatio: false,
273
- plugins: { legend: { display: false } },
274
- scales: {
275
- y: { min: 0.5, max: 1, grid: { color: '#1a1a1a' }, border: { display: false } },
276
- x: { grid: { display: false }, border: { display: false } }
277
- }
278
- }
279
- });
280
-
281
- const ctx2 = document.getElementById('efficiencyChart').getContext('2d');
282
- charts.efficiency = new Chart(ctx2, {
283
- type: 'bar',
284
- data: {
285
- labels: ['Cons', 'Log', 'Eff', 'Ada', 'Rel'],
286
- datasets: [{
287
- data: [0.85, 0.76, 0.92, 0.81, 0.98],
288
- backgroundColor: '#333',
289
- borderRadius: 4
290
- }]
291
- },
292
- options: {
293
- responsive: true,
294
- maintainAspectRatio: false,
295
- plugins: { legend: { display: false } },
296
- scales: {
297
- y: { grid: { color: '#1a1a1a' }, border: { display: false }, ticks: { display: false } },
298
- x: { grid: { display: false }, border: { display: false } }
299
- }
300
- }
301
- });
302
- }
303
-
304
- function generateSignature(payloadStr, secret) {
305
- const timestamp = (Date.now() / 1000).toString();
306
- const message = payloadStr + "|" + timestamp;
307
- const signature = CryptoJS.HmacSHA256(message, secret).toString();
308
- return { signature, timestamp };
309
- }
310
-
311
- function autoSign() {
312
- const secret = document.getElementById('hmacSecret').value;
313
- const payloadStr = document.getElementById('payloadInput').value || '{"action": "admin_stats"}';
314
- if (!secret) return;
315
-
316
- try {
317
- const { signature, timestamp } = generateSignature(payloadStr, secret);
318
- const fullRequest = {
319
- action: "admin_stats",
320
- payload: JSON.parse(payloadStr),
321
- signature: signature,
322
- timestamp: timestamp
323
- };
324
- document.getElementById('signedOutput').innerText = JSON.stringify(fullRequest, null, 2);
325
- } catch (e) { }
326
- }
327
-
328
- function syncAll() {
329
- // Local User Dashboard is "easily accessible" - no mandatory secret for stats
330
- const statusBadge = document.getElementById('statusBadge');
331
- statusBadge.innerText = "RETRIEVING LOCAL STATS...";
332
- statusBadge.className = "px-2 py-0.5 bg-blue-500/10 border border-blue-500/20 rounded text-[9px] font-bold text-blue-500 uppercase tracking-widest animate-pulse";
333
-
334
- // Simulating a request to 'user_stats' (unsecured)
335
- setTimeout(() => {
336
- statusBadge.innerText = "USER ACCESS VERIFIED";
337
- statusBadge.className = "px-2 py-0.5 bg-emerald-500/10 border border-emerald-500/20 rounded text-[9px] font-bold text-emerald-500 uppercase tracking-widest";
338
-
339
- // MOCK RESPONSE from Kernel admin_stats
340
- const mockResponse = {
341
- aggregates: {
342
- global_success_rate: 0.864,
343
- total_mutations: 124,
344
- graph_nodes: 156,
345
- graph_edges: 432
346
- },
347
- history: [
348
- { timestamp: new Date(Date.now() - 1000 * 60 * 2).toISOString(), score: { overall: 0.88 }, mutation: { type: 'ARCHITECTURAL_INSERT', id: 'mut_x82f' } },
349
- { timestamp: new Date(Date.now() - 1000 * 60 * 12).toISOString(), score: { overall: 0.76 }, mutation: { type: 'PARAMETER_TWEAK', id: 'mut_a921' } },
350
- { timestamp: new Date(Date.now() - 1000 * 60 * 60).toISOString(), score: { overall: 0.92 }, mutation: null },
351
- { timestamp: new Date(Date.now() - 1000 * 60 * 60 * 4).toISOString(), score: { overall: 0.81 }, mutation: { type: 'UPGRADE_TO_ORACLE', id: 'mut_k912' } }
352
- ]
353
- };
354
-
355
- updateDynamicContent(mockResponse);
356
- }, 800);
357
- }
358
-
359
- function updateDynamicContent(data) {
360
- const stats = data.aggregates;
361
-
362
- // Stats
363
- document.getElementById('invocations').innerText = "1,248,092";
364
- document.getElementById('avgScore').innerText = stats.global_success_rate.toFixed(3);
365
- document.getElementById('mutationRate').innerText = "94.2%";
366
- document.getElementById('graphNodes').innerText = stats.graph_nodes;
367
- document.getElementById('graphEdges').innerText = stats.graph_edges;
368
-
369
- // Update Line Chart with new data point
370
- charts.accuracy.data.datasets[0].data.push(0.85 + (Math.random() * 0.1));
371
- charts.accuracy.data.datasets[0].data.shift();
372
- charts.accuracy.update();
373
-
374
- // Update Bar Chart
375
- charts.efficiency.data.datasets[0].data = charts.efficiency.data.datasets[0].data.map(v => v + (Math.random() - 0.5) * 0.05);
376
- charts.efficiency.update();
377
-
378
- // Table update
379
- const body = document.getElementById('mutationTableBody');
380
- const history = data.history.filter(h => h.mutation);
381
-
382
- body.innerHTML = history.map(h => `
383
- <tr class="hover:bg-zinc-900/40 transition-colors">
384
- <td class="px-5 py-3 text-zinc-500 mono">${new Date(h.timestamp).toLocaleTimeString()}</td>
385
- <td class="px-5 py-3 font-semibold">${h.mutation.id || h.mutation.type}</td>
386
- <td class="px-5 py-3 text-right text-emerald-500 font-bold mono">+4.2%</td>
387
- </tr>
388
- `).join('');
389
-
390
- // Semantic Feed update
391
- const feed = document.getElementById('semanticFeed');
392
- const links = [
393
- { from: 'auth_api', to: 'login_agent', type: 'depends_on' },
394
- { from: 'login_agent', to: 'audit_log', type: 'produced' },
395
- { from: 'audit_log', to: 'compliance_report', type: 'relates_to' },
396
- { from: 'checkout_logic', to: 'payment_agent', type: 'triggered_by' }
397
- ];
398
- feed.innerHTML = links.map(l => `
399
- <div class="flex items-center gap-2 p-2 hover:bg-zinc-900/40 rounded transition-colors border-b border-zinc-900 last:border-0 group">
400
- <div class="text-[10px] mono text-zinc-400 truncate w-24 text-right">${l.from}</div>
401
- <div class="flex-1 h-px bg-zinc-800 relative">
402
- <div class="absolute inset-0 flex items-center justify-center">
403
- <span class="bg-black px-1 text-[8px] mono text-zinc-600 group-hover:text-blue-500 transition-colors uppercase leading-none">${l.type}</span>
404
- </div>
405
- </div>
406
- <div class="text-[10px] mono text-zinc-400 truncate w-24">${l.to}</div>
407
- </div>
408
- `).join('');
409
- }
410
-
411
- function copyToClipboard() {
412
- const text = document.getElementById('signedOutput').innerText;
413
- navigator.clipboard.writeText(text).then(() => alert("Signed JSON copied to clipboard."));
414
- }
415
-
416
- window.onload = initCharts;
417
- </script>
418
- </body>
419
-
420
- </html>
@@ -1,2 +0,0 @@
1
- export declare function ChatApp(): any;
2
- //# sourceMappingURL=ChatApp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatApp.d.ts","sourceRoot":"","sources":["../../../src/hub/chat/ChatApp.tsx"],"names":[],"mappings":"AASA,wBAAgB,OAAO,QAyFtB"}
@@ -1,146 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useState, useCallback } from 'react';
3
- import { Box, Text, useInput, useApp } from 'ink';
4
- import { MessageList } from './components/MessageList.js';
5
- import { ChatInput } from './components/ChatInput.js';
6
- import { parseUserIntent } from './intent-parser.js';
7
- import { ChatContext } from './context.js';
8
- import { useChatHistory } from './hooks/useChatHistory.js';
9
- export function ChatApp() {
10
- const [messages, setMessages] = useState([
11
- {
12
- id: 'welcome',
13
- role: 'assistant',
14
- content: "Je suis prêt à vous aider. Que souhaitez-vous faire aujourd'hui ?",
15
- timestamp: Date.now(),
16
- },
17
- ]);
18
- const [inputValue, setInputValue] = useState('');
19
- const [isProcessing, setIsProcessing] = useState(false);
20
- const { exit } = useApp();
21
- const chatContext = new ChatContext();
22
- const { addToHistory } = useChatHistory();
23
- const handleSendMessage = useCallback(async (content) => {
24
- if (!content.trim() || isProcessing)
25
- return;
26
- // Add user message
27
- const userMessage = {
28
- id: `user-${Date.now()}`,
29
- role: 'user',
30
- content,
31
- timestamp: Date.now(),
32
- };
33
- setMessages(prev => [...prev, userMessage]);
34
- setInputValue('');
35
- setIsProcessing(true);
36
- // Parse intent
37
- const intent = parseUserIntent(content);
38
- // Process based on intent
39
- const response = await processIntent(intent, content, chatContext);
40
- // Add assistant response
41
- const assistantMessage = {
42
- id: `assistant-${Date.now()}`,
43
- role: 'assistant',
44
- content: response,
45
- timestamp: Date.now(),
46
- };
47
- setMessages(prev => [...prev, assistantMessage]);
48
- setIsProcessing(false);
49
- // Save to history
50
- addToHistory(userMessage);
51
- addToHistory(assistantMessage);
52
- }, [isProcessing, chatContext, addToHistory]);
53
- useInput((input, key) => {
54
- if (key.escape) {
55
- exit();
56
- }
57
- });
58
- return (_jsxs(Box, { flexDirection: "column", height: "100%", padding: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, color: "#f97316", children: "\uD83E\uDD16 RAX-FLOW CHAT MODE" }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { dimColor: true, children: "[Enter] Envoyer | [/] Commandes | [Esc] Quitter" }) })] }), _jsx(Box, { flexGrow: 1, flexDirection: "column", overflow: "hidden", children: _jsx(MessageList, { messages: messages }) }), _jsx(Box, { marginTop: 1, children: _jsx(ChatInput, { value: inputValue, onChange: setInputValue, onSubmit: handleSendMessage, isProcessing: isProcessing }) })] }));
59
- }
60
- async function processIntent(intent, content, context) {
61
- switch (intent.type) {
62
- case 'command':
63
- return processSlashCommand(intent.command, intent.args);
64
- case 'task':
65
- return processTask(content, context);
66
- case 'followup':
67
- return processFollowup(content, context);
68
- case 'question':
69
- return processQuestion(content, context);
70
- default:
71
- return "Je ne comprends pas. Tapez '/help' pour voir les commandes disponibles.";
72
- }
73
- }
74
- async function processSlashCommand(command, args) {
75
- switch (command) {
76
- case 'status':
77
- return `📊 Statut du Système
78
- Orchestrator: ACTIVE
79
- Mode: HOST-NATIVE
80
- Agents actifs: 3/12
81
- Fitness: 0.87`;
82
- case 'agents':
83
- return `👥 Agents Disponibles
84
- IntentClassifier - ONLINE
85
- CodeGenerator - RUNNING
86
- TestAgent - QUEUED
87
- FixAgent - IDLE`;
88
- case 'help':
89
- return `❓ Aide Chat Mode
90
-
91
- Commandes slash:
92
- /status - Statut système
93
- /agents - Liste des agents
94
- /providers - Providers configurés
95
- /pause - Mettre en pause
96
- /resume - Reprendre
97
- /stop - Arrêter
98
- /logs - Voir les logs
99
- /metrics - Métriques
100
- /workflow - Workflow actif
101
- /help - Cette aide
102
- /exit - Quitter
103
-
104
- Ou posez-moi une question directement !`;
105
- case 'exit':
106
- return 'Au revoir ! 👋';
107
- default:
108
- return `Commande inconnue: /${command}
109
- Tapez /help pour voir les commandes disponibles.`;
110
- }
111
- }
112
- async function processTask(content, context) {
113
- context.setCurrentTask(content);
114
- return `▶ Je vais orchestrer cette tâche avec les agents appropriés.
115
-
116
- • Intent: code_generation
117
- • Plan: Analyse → Architecture → Code → Tests
118
- • Provider: Host-Native (Claude Code)
119
-
120
- Lancement du workflow...
121
-
122
- Vous pouvez suivre la progression avec /status ou /workflow`;
123
- }
124
- async function processFollowup(content, context) {
125
- const currentTask = context.getCurrentTask();
126
- if (!currentTask) {
127
- return "Je n'ai pas de contexte actif. Démarrez une tâche d'abord.";
128
- }
129
- return `✓ J'ajoute cette demande au workflow en cours.
130
-
131
- Tâche originale: "${currentTask}"
132
- Ajout: "${content}"
133
-
134
- Mise à jour du plan...`;
135
- }
136
- async function processQuestion(content, context) {
137
- const lowerContent = content.toLowerCase();
138
- if (lowerContent.includes('status') || lowerContent.includes('état')) {
139
- return 'Le système est actuellement actif avec 3 agents en cours d\'exécution.';
140
- }
141
- if (lowerContent.includes('agent')) {
142
- return 'Nous avons 12 agents disponibles couvrant tout le cycle de développement.';
143
- }
144
- return 'Je peux vous aider avec des questions sur le système ou des demandes de création de code.';
145
- }
146
- //# sourceMappingURL=ChatApp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatApp.js","sourceRoot":"","sources":["../../../src/hub/chat/ChatApp.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAmB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,UAAU,OAAO;IACrB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY;QAClD;YACE,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,mEAAmE;YAC5E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB;KACF,CAAC,CAAC;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,CAAC;IAE1C,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,YAAY;YAAE,OAAO;QAE5C,mBAAmB;QACnB,MAAM,WAAW,GAAY;YAC3B,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,EAAE,MAAM;YACZ,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5C,aAAa,CAAC,EAAE,CAAC,CAAC;QAClB,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,eAAe;QACf,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAExC,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAEnE,yBAAyB;QACzB,MAAM,gBAAgB,GAAY;YAChC,EAAE,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE;YAC7B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACjD,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,kBAAkB;QAClB,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1B,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9C,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAE,CAAC,aAElD,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,aAClB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,SAAS,gDAEnB,EACP,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,QAAQ,sEAEP,GACH,IACF,EAGN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,YACxD,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,GAC/B,EAGN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,SAAS,IACR,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,YAAY,GAC1B,GACE,IACF,CACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAkB,EAClB,OAAe,EACf,OAAoB;IAEpB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAE1D,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEvC,KAAK,UAAU;YACb,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE3C,KAAK,UAAU;YACb,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE3C;YACE,OAAO,yEAAyE,CAAC;IACrF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAc;IAChE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO;;;;cAIC,CAAC;QAEX,KAAK,QAAQ;YACX,OAAO;;;;gBAIG,CAAC;QAEb,KAAK,MAAM;YACT,OAAO;;;;;;;;;;;;;;;wCAe2B,CAAC;QAErC,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC;QAE1B;YACE,OAAO,uBAAuB,OAAO;iDACM,CAAC;IAChD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,OAAoB;IAC9D,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAEhC,OAAO;;;;;;;;4DAQmD,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,OAAoB;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAE7C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,4DAA4D,CAAC;IACtE,CAAC;IAED,OAAO;;oBAEW,WAAW;UACrB,OAAO;;uBAEM,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,OAAoB;IAClE,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,OAAO,wEAAwE,CAAC;IAClF,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,2EAA2E,CAAC;IACrF,CAAC;IAED,OAAO,2FAA2F,CAAC;AACrG,CAAC"}
@@ -1,9 +0,0 @@
1
- interface ChatInputProps {
2
- value: string;
3
- onChange: (value: string) => void;
4
- onSubmit: (value: string) => void;
5
- isProcessing: boolean;
6
- }
7
- export declare function ChatInput({ value, onChange, onSubmit, isProcessing }: ChatInputProps): any;
8
- export {};
9
- //# sourceMappingURL=ChatInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../src/hub/chat/components/ChatInput.tsx"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,cAAc,OA6BpF"}
@@ -1,19 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text, useInput } from 'ink';
3
- export function ChatInput({ value, onChange, onSubmit, isProcessing }) {
4
- useInput((input, key) => {
5
- if (isProcessing)
6
- return;
7
- if (key.return) {
8
- onSubmit(value);
9
- }
10
- else if (key.backspace || key.delete) {
11
- onChange(value.slice(0, -1));
12
- }
13
- else if (!key.ctrl && !key.meta && input.length === 1) {
14
- onChange(value + input);
15
- }
16
- });
17
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { bold: true, color: "#f97316", children: '>' }), _jsxs(Box, { marginLeft: 1, flexGrow: 1, children: [_jsx(Text, { children: value }), _jsx(Text, { color: "#f97316", children: "\u2588" })] }), isProcessing && (_jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: "yellow", children: "Processing..." }) }))] }));
18
- }
19
- //# sourceMappingURL=ChatInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatInput.js","sourceRoot":"","sources":["../../../../src/hub/chat/components/ChatInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAU1C,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAkB;IACnF,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,YAAY;YAAE,OAAO;QAEzB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACvC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,SAAS,YACvB,GAAG,GACC,EACP,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,aAC7B,KAAC,IAAI,cAAE,KAAK,GAAQ,EACpB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,uBAAS,IAC1B,EACL,YAAY,IAAI,CACf,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,8BAAqB,GACrC,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { Message } from '../types.js';
2
- interface MessageListProps {
3
- messages: Message[];
4
- }
5
- export declare function MessageList({ messages }: MessageListProps): any;
6
- export {};
7
- //# sourceMappingURL=MessageList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../src/hub/chat/components/MessageList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,UAAU,gBAAgB;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB,OAiBzD"}
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- export function MessageList({ messages }) {
4
- return (_jsx(Box, { flexDirection: "column", gap: 1, children: messages.map((message) => (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: _jsx(Text, { bold: true, color: message.role === 'user' ? '#f97316' : '#22c55e', children: message.role === 'user' ? 'Vous:' : 'Bot:' }) }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { children: message.content }) })] }, message.id))) }));
5
- }
6
- //# sourceMappingURL=MessageList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../../src/hub/chat/components/MessageList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAOhC,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAoB;IACxD,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,YAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACzB,MAAC,GAAG,IAAkB,aAAa,EAAC,QAAQ,aAC1C,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAC9D,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GACtC,GACH,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,cAAE,OAAO,CAAC,OAAO,GAAQ,GAC1B,KARE,OAAO,CAAC,EAAE,CASd,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/hub/chat/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,WAAW,CAAC,CAAS;IAE7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAS/D,UAAU,IAAI,OAAO,EAAE;IAIvB,iBAAiB,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,EAAE;IAI/C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC,gBAAgB,IAAI,IAAI;IAIxB,kBAAkB,IAAI,MAAM,EAAE;CAe/B"}