nyxora 1.0.2 → 1.0.4

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 (67) hide show
  1. package/package.json +10 -1
  2. package/.env.example +0 -17
  3. package/dashboard/eslint.config.js +0 -22
  4. package/dashboard/index.html +0 -13
  5. package/dashboard/package-lock.json +0 -2737
  6. package/dashboard/package.json +0 -31
  7. package/dashboard/public/favicon.svg +0 -1
  8. package/dashboard/public/icons.svg +0 -24
  9. package/dashboard/src/App.css +0 -184
  10. package/dashboard/src/App.tsx +0 -485
  11. package/dashboard/src/BalanceWidget.tsx +0 -65
  12. package/dashboard/src/MarketWidget.tsx +0 -73
  13. package/dashboard/src/Memory.tsx +0 -109
  14. package/dashboard/src/Overview.tsx +0 -156
  15. package/dashboard/src/Settings.tsx +0 -213
  16. package/dashboard/src/Skills.tsx +0 -97
  17. package/dashboard/src/SwapWidget.tsx +0 -130
  18. package/dashboard/src/TransactionWidget.tsx +0 -86
  19. package/dashboard/src/assets/hero.png +0 -0
  20. package/dashboard/src/assets/react.svg +0 -1
  21. package/dashboard/src/assets/vite.svg +0 -1
  22. package/dashboard/src/index.css +0 -508
  23. package/dashboard/src/main.tsx +0 -10
  24. package/dashboard/src/overview.css +0 -304
  25. package/dashboard/tsconfig.app.json +0 -25
  26. package/dashboard/tsconfig.json +0 -7
  27. package/dashboard/tsconfig.node.json +0 -24
  28. package/dashboard/vite.config.ts +0 -7
  29. package/src/agent/reasoning.d.ts +0 -2
  30. package/src/agent/reasoning.d.ts.map +0 -1
  31. package/src/agent/reasoning.js +0 -97
  32. package/src/agent/reasoning.js.map +0 -1
  33. package/src/agent/reasoning.ts +0 -232
  34. package/src/config/parser.d.ts +0 -17
  35. package/src/config/parser.d.ts.map +0 -1
  36. package/src/config/parser.js +0 -26
  37. package/src/config/parser.js.map +0 -1
  38. package/src/config/parser.ts +0 -47
  39. package/src/config/paths.ts +0 -33
  40. package/src/gateway/cli.d.ts +0 -3
  41. package/src/gateway/cli.d.ts.map +0 -1
  42. package/src/gateway/cli.js +0 -80
  43. package/src/gateway/cli.js.map +0 -1
  44. package/src/gateway/cli.ts +0 -69
  45. package/src/gateway/server.ts +0 -135
  46. package/src/gateway/telegram.ts +0 -47
  47. package/src/gateway/test.ts +0 -16
  48. package/src/gateway/tracker.ts +0 -70
  49. package/src/memory/logger.d.ts +0 -18
  50. package/src/memory/logger.d.ts.map +0 -1
  51. package/src/memory/logger.js +0 -51
  52. package/src/memory/logger.js.map +0 -1
  53. package/src/memory/logger.ts +0 -57
  54. package/src/web3/config.d.ts +0 -793
  55. package/src/web3/config.d.ts.map +0 -1
  56. package/src/web3/config.js +0 -81
  57. package/src/web3/config.js.map +0 -1
  58. package/src/web3/config.ts +0 -51
  59. package/src/web3/skills/getBalance.d.ts +0 -25
  60. package/src/web3/skills/getBalance.d.ts.map +0 -1
  61. package/src/web3/skills/getBalance.js +0 -46
  62. package/src/web3/skills/getBalance.js.map +0 -1
  63. package/src/web3/skills/getBalance.ts +0 -48
  64. package/src/web3/skills/getPrice.ts +0 -43
  65. package/src/web3/skills/swapToken.ts +0 -69
  66. package/src/web3/skills/transfer.ts +0 -47
  67. package/tsconfig.json +0 -13
@@ -1,508 +0,0 @@
1
- :root {
2
- --bg-color: #0f172a;
3
- --bg-secondary: #1e293b;
4
- --bg-sidebar: #0b1120;
5
- --text-primary: #f8fafc;
6
- --text-secondary: #94a3b8;
7
- --accent: #3b82f6;
8
- --accent-hover: #2563eb;
9
- --glass-bg: rgba(30, 41, 59, 0.7);
10
- --glass-border: rgba(255, 255, 255, 0.1);
11
- --chat-user: #3b82f6;
12
- --chat-agent: #1e293b;
13
- --tool-bg: #0f172a;
14
- }
15
-
16
- * {
17
- box-sizing: border-box;
18
- margin: 0;
19
- padding: 0;
20
- }
21
-
22
- body {
23
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
24
- background-color: var(--bg-color);
25
- color: var(--text-primary);
26
- height: 100vh;
27
- overflow: hidden;
28
- }
29
-
30
- #root {
31
- display: flex;
32
- height: 100vh;
33
- width: 100vw;
34
- }
35
-
36
- /* SIDEBAR */
37
- .sidebar {
38
- width: 280px;
39
- background-color: rgba(11, 17, 32, 0.85);
40
- backdrop-filter: blur(20px);
41
- border-right: 1px solid var(--glass-border);
42
- display: flex;
43
- flex-direction: column;
44
- box-shadow: 10px 0 30px -10px rgba(0,0,0,0.5);
45
- z-index: 100;
46
- }
47
-
48
- .agent-identity-card {
49
- padding: 24px;
50
- display: flex;
51
- align-items: center;
52
- gap: 16px;
53
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
54
- margin-bottom: 8px;
55
- background: linear-gradient(180deg, rgba(59, 130, 246, 0.05) 0%, transparent 100%);
56
- }
57
-
58
- .agent-avatar {
59
- background: rgba(59, 130, 246, 0.15);
60
- padding: 12px;
61
- border-radius: 16px;
62
- border: 1px solid rgba(59, 130, 246, 0.3);
63
- box-shadow: 0 0 20px 0 rgba(59, 130, 246, 0.2);
64
- display: flex;
65
- justify-content: center;
66
- align-items: center;
67
- }
68
-
69
- .agent-info {
70
- display: flex;
71
- flex-direction: column;
72
- gap: 4px;
73
- }
74
-
75
- .agent-name {
76
- font-size: 1.1rem;
77
- font-weight: 700;
78
- color: white;
79
- letter-spacing: -0.025em;
80
- }
81
-
82
- .agent-status {
83
- display: flex;
84
- align-items: center;
85
- gap: 6px;
86
- font-size: 0.75rem;
87
- color: #4ade80;
88
- font-weight: 600;
89
- letter-spacing: 0.05em;
90
- }
91
-
92
- .status-dot {
93
- width: 8px;
94
- height: 8px;
95
- background-color: #4ade80;
96
- border-radius: 50%;
97
- box-shadow: 0 0 8px #4ade80;
98
- animation: pulse-green 2s infinite;
99
- }
100
-
101
- @keyframes pulse-green {
102
- 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7); }
103
- 70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(74, 222, 128, 0); }
104
- 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); }
105
- }
106
-
107
- .sidebar-scroll-area {
108
- flex: 1;
109
- overflow-y: auto;
110
- padding-bottom: 24px;
111
- }
112
-
113
- .sidebar-scroll-area::-webkit-scrollbar {
114
- width: 4px;
115
- }
116
- .sidebar-scroll-area::-webkit-scrollbar-thumb {
117
- background: rgba(255,255,255,0.05);
118
- }
119
-
120
- .sidebar-section {
121
- padding: 24px 24px 12px;
122
- font-size: 0.7rem;
123
- text-transform: uppercase;
124
- letter-spacing: 0.15em;
125
- color: #64748b;
126
- font-weight: 700;
127
- }
128
-
129
- .sidebar-nav {
130
- display: flex;
131
- flex-direction: column;
132
- gap: 4px;
133
- padding: 0 16px;
134
- }
135
-
136
- .nav-item {
137
- display: flex;
138
- align-items: center;
139
- gap: 14px;
140
- padding: 12px 16px;
141
- border-radius: 12px;
142
- color: #94a3b8;
143
- font-size: 0.95rem;
144
- font-weight: 500;
145
- cursor: pointer;
146
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
147
- border: 1px solid transparent;
148
- }
149
-
150
- .nav-icon {
151
- transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
152
- }
153
-
154
- .nav-item:hover {
155
- background-color: rgba(255, 255, 255, 0.03);
156
- color: white;
157
- transform: translateX(4px);
158
- }
159
-
160
- .nav-item:hover .nav-icon {
161
- transform: scale(1.1);
162
- color: var(--accent);
163
- }
164
-
165
- .nav-item.active {
166
- background: linear-gradient(90deg, rgba(59,130,246,0.15) 0%, transparent 100%);
167
- color: white;
168
- border-left: 3px solid var(--accent);
169
- border-radius: 4px 12px 12px 4px;
170
- font-weight: 600;
171
- }
172
-
173
- .nav-item.active .nav-icon {
174
- color: var(--accent);
175
- }
176
-
177
- /* MAIN CONTENT */
178
- .main-content {
179
- flex: 1;
180
- display: flex;
181
- flex-direction: column;
182
- background-image:
183
- radial-gradient(at 0% 0%, rgba(59, 130, 246, 0.1) 0px, transparent 50%),
184
- radial-gradient(at 100% 100%, rgba(139, 92, 246, 0.1) 0px, transparent 50%);
185
- }
186
-
187
- /* TOPBAR */
188
- .topbar {
189
- height: 64px;
190
- border-bottom: 1px solid var(--glass-border);
191
- display: flex;
192
- align-items: center;
193
- justify-content: space-between;
194
- padding: 0 24px;
195
- background: rgba(15, 23, 42, 0.6);
196
- backdrop-filter: blur(12px);
197
- }
198
-
199
- .topbar-left {
200
- display: flex;
201
- align-items: center;
202
- gap: 16px;
203
- font-size: 0.95rem;
204
- font-weight: 500;
205
- color: var(--text-secondary);
206
- }
207
-
208
- .topbar-right {
209
- display: flex;
210
- align-items: center;
211
- gap: 12px;
212
- }
213
-
214
- .config-dropdown {
215
- background: var(--bg-secondary);
216
- border: 1px solid var(--glass-border);
217
- color: white;
218
- padding: 8px 12px;
219
- border-radius: 6px;
220
- font-size: 0.85rem;
221
- outline: none;
222
- cursor: pointer;
223
- transition: all 0.2s;
224
- min-width: 120px;
225
- }
226
-
227
- .config-dropdown:hover {
228
- border-color: var(--accent);
229
- }
230
-
231
- .config-dropdown:focus {
232
- border-color: var(--accent);
233
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
234
- }
235
-
236
- /* SPLIT SCREEN WORKSPACE */
237
- .workspace-container {
238
- display: flex;
239
- height: calc(100vh - 64px);
240
- width: 100%;
241
- }
242
-
243
- .chat-wrapper {
244
- display: flex;
245
- flex-direction: column;
246
- padding: 24px 0;
247
- height: 100%;
248
- }
249
-
250
- .resizer {
251
- width: 6px;
252
- background: var(--glass-border);
253
- cursor: col-resize;
254
- transition: background 0.2s;
255
- z-index: 10;
256
- }
257
-
258
- .resizer:hover, .resizer:active {
259
- background: var(--accent);
260
- }
261
-
262
- .canvas-panel {
263
- flex: 1;
264
- display: flex;
265
- flex-direction: column;
266
- background: var(--bg-sidebar);
267
- padding: 32px;
268
- overflow-y: auto;
269
- position: relative;
270
- background-image: radial-gradient(at 50% 50%, rgba(59, 130, 246, 0.05) 0px, transparent 80%);
271
- }
272
-
273
- .canvas-header {
274
- display: flex;
275
- justify-content: space-between;
276
- align-items: center;
277
- margin-bottom: 32px;
278
- border-bottom: 1px solid rgba(255,255,255,0.05);
279
- padding-bottom: 16px;
280
- }
281
-
282
- .canvas-title {
283
- font-family: monospace;
284
- color: #94a3b8;
285
- font-size: 0.85rem;
286
- display: flex;
287
- align-items: center;
288
- gap: 8px;
289
- text-transform: uppercase;
290
- letter-spacing: 0.05em;
291
- }
292
-
293
- .canvas-empty {
294
- display: flex;
295
- flex-direction: column;
296
- align-items: center;
297
- justify-content: center;
298
- height: 100%;
299
- color: #475569;
300
- gap: 16px;
301
- }
302
-
303
- .chat-container {
304
- flex: 1;
305
- overflow-y: auto;
306
- padding: 0 24px;
307
- display: flex;
308
- flex-direction: column;
309
- gap: 20px;
310
- }
311
-
312
- .chat-container::-webkit-scrollbar {
313
- width: 6px;
314
- }
315
- .chat-container::-webkit-scrollbar-thumb {
316
- background: rgba(255, 255, 255, 0.1);
317
- border-radius: 4px;
318
- }
319
-
320
- .message-wrapper {
321
- display: flex;
322
- flex-direction: column;
323
- max-width: 85%;
324
- animation: fadeIn 0.3s ease-out forwards;
325
- }
326
-
327
- .message-wrapper.user {
328
- align-self: flex-end;
329
- }
330
-
331
- .message-wrapper.agent {
332
- align-self: flex-start;
333
- }
334
-
335
- .message-bubble {
336
- padding: 14px 18px;
337
- border-radius: 18px;
338
- line-height: 1.6;
339
- font-size: 0.95rem;
340
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
341
- }
342
-
343
- .user .message-bubble {
344
- background-color: var(--chat-user);
345
- color: white;
346
- border-bottom-right-radius: 4px;
347
- }
348
-
349
- .agent .message-bubble {
350
- background-color: var(--chat-agent);
351
- border: 1px solid var(--glass-border);
352
- border-bottom-left-radius: 4px;
353
- }
354
-
355
- .tool-call {
356
- font-size: 0.85rem;
357
- color: var(--text-secondary);
358
- background: var(--tool-bg);
359
- padding: 10px 14px;
360
- border-radius: 12px;
361
- margin-top: 10px;
362
- border: 1px solid rgba(255, 255, 255, 0.05);
363
- display: flex;
364
- align-items: center;
365
- gap: 8px;
366
- }
367
-
368
- .tool-call code {
369
- color: #a78bfa;
370
- font-family: monospace;
371
- }
372
-
373
- .input-area {
374
- padding: 20px 24px 0;
375
- }
376
-
377
- .input-form {
378
- display: flex;
379
- gap: 12px;
380
- background: var(--bg-secondary);
381
- border: 1px solid var(--glass-border);
382
- border-radius: 16px;
383
- padding: 8px;
384
- transition: all 0.2s;
385
- }
386
-
387
- .input-form:focus-within {
388
- border-color: var(--accent);
389
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
390
- }
391
-
392
- .chat-input {
393
- flex: 1;
394
- background: transparent;
395
- border: none;
396
- padding: 12px 16px;
397
- color: white;
398
- font-size: 0.95rem;
399
- font-family: inherit;
400
- outline: none;
401
- }
402
-
403
- .send-button {
404
- background: var(--accent);
405
- color: white;
406
- border: none;
407
- width: 44px;
408
- height: 44px;
409
- border-radius: 12px;
410
- display: flex;
411
- justify-content: center;
412
- align-items: center;
413
- cursor: pointer;
414
- transition: all 0.2s;
415
- }
416
-
417
- .voice-button {
418
- background: var(--bg-secondary);
419
- color: var(--text-secondary);
420
- border: 1px solid var(--glass-border);
421
- width: 44px;
422
- height: 44px;
423
- border-radius: 12px;
424
- display: flex;
425
- justify-content: center;
426
- align-items: center;
427
- cursor: pointer;
428
- transition: all 0.2s;
429
- }
430
-
431
- .voice-button:hover {
432
- color: white;
433
- border-color: #ef4444;
434
- }
435
-
436
- .voice-button.listening {
437
- background: rgba(239, 68, 68, 0.2);
438
- color: #ef4444;
439
- border-color: #ef4444;
440
- animation: pulse-red 1.5s infinite;
441
- }
442
-
443
- .voice-button.active-mode {
444
- border-color: #3b82f6;
445
- color: #3b82f6;
446
- }
447
-
448
- .voice-button.speaking {
449
- background: rgba(59, 130, 246, 0.2);
450
- color: #3b82f6;
451
- border-color: #3b82f6;
452
- animation: pulse-blue 1.5s infinite;
453
- }
454
-
455
- @keyframes pulse-red {
456
- 0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }
457
- 70% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
458
- 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
459
- }
460
-
461
- @keyframes pulse-blue {
462
- 0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4); }
463
- 70% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); }
464
- 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); }
465
- }
466
-
467
- .send-button:hover:not(:disabled) {
468
- background: var(--accent-hover);
469
- transform: scale(1.05);
470
- }
471
-
472
- .send-button:disabled {
473
- opacity: 0.5;
474
- cursor: not-allowed;
475
- }
476
-
477
- .typing-indicator {
478
- display: flex;
479
- gap: 4px;
480
- padding: 14px 18px;
481
- background-color: var(--chat-agent);
482
- border: 1px solid var(--glass-border);
483
- border-radius: 18px;
484
- border-bottom-left-radius: 4px;
485
- width: fit-content;
486
- align-self: flex-start;
487
- }
488
-
489
- .dot {
490
- width: 6px;
491
- height: 6px;
492
- background: var(--text-secondary);
493
- border-radius: 50%;
494
- animation: bounce 1.4s infinite ease-in-out both;
495
- }
496
-
497
- .dot:nth-child(1) { animation-delay: -0.32s; }
498
- .dot:nth-child(2) { animation-delay: -0.16s; }
499
-
500
- @keyframes bounce {
501
- 0%, 80%, 100% { transform: scale(0); }
502
- 40% { transform: scale(1); }
503
- }
504
-
505
- @keyframes fadeIn {
506
- from { opacity: 0; transform: translateY(10px); }
507
- to { opacity: 1; transform: translateY(0); }
508
- }
@@ -1,10 +0,0 @@
1
- import { StrictMode } from 'react'
2
- import { createRoot } from 'react-dom/client'
3
- import './index.css'
4
- import App from './App.tsx'
5
-
6
- createRoot(document.getElementById('root')!).render(
7
- <StrictMode>
8
- <App />
9
- </StrictMode>,
10
- )