nitrostack 1.0.70 → 1.0.72

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 (35) hide show
  1. package/package.json +1 -1
  2. package/src/studio/app/api/chat/route.ts +33 -15
  3. package/src/studio/app/auth/callback/page.tsx +6 -6
  4. package/src/studio/app/chat/page.tsx +1124 -415
  5. package/src/studio/app/chat/page.tsx.backup +1046 -187
  6. package/src/studio/app/globals.css +361 -191
  7. package/src/studio/app/health/page.tsx +72 -76
  8. package/src/studio/app/layout.tsx +9 -11
  9. package/src/studio/app/logs/page.tsx +29 -30
  10. package/src/studio/app/page.tsx +134 -230
  11. package/src/studio/app/prompts/page.tsx +115 -97
  12. package/src/studio/app/resources/page.tsx +115 -124
  13. package/src/studio/app/settings/page.tsx +1080 -125
  14. package/src/studio/app/tools/page.tsx +343 -0
  15. package/src/studio/components/EnlargeModal.tsx +76 -65
  16. package/src/studio/components/LogMessage.tsx +5 -5
  17. package/src/studio/components/MarkdownRenderer.tsx +4 -4
  18. package/src/studio/components/Sidebar.tsx +150 -210
  19. package/src/studio/components/SplashScreen.tsx +109 -0
  20. package/src/studio/components/ToolCard.tsx +50 -41
  21. package/src/studio/components/VoiceOrbOverlay.tsx +469 -0
  22. package/src/studio/components/WidgetRenderer.tsx +8 -3
  23. package/src/studio/components/tools/ToolsCanvas.tsx +327 -0
  24. package/src/studio/lib/llm-service.ts +104 -1
  25. package/src/studio/lib/store.ts +36 -21
  26. package/src/studio/lib/types.ts +1 -1
  27. package/src/studio/package-lock.json +3303 -0
  28. package/src/studio/package.json +3 -1
  29. package/src/studio/public/NitroStudio Isotype Color.png +0 -0
  30. package/src/studio/tailwind.config.ts +63 -17
  31. package/templates/typescript-starter/package-lock.json +4112 -0
  32. package/templates/typescript-starter/package.json +2 -3
  33. package/templates/typescript-starter/src/modules/calculator/calculator.tools.ts +100 -5
  34. package/src/studio/app/auth/page.tsx +0 -560
  35. package/src/studio/app/ping/page.tsx +0 -209
@@ -12,15 +12,17 @@
12
12
  "export": "next build && next export"
13
13
  },
14
14
  "dependencies": {
15
+ "@elevenlabs/elevenlabs-js": "^2.28.0",
15
16
  "@fontsource/inter": "^5.2.8",
16
17
  "@fontsource/jetbrains-mono": "^5.2.8",
18
+ "@heroicons/react": "^2.2.0",
17
19
  "@modelcontextprotocol/sdk": "^1.0.4",
18
20
  "clsx": "^2.1.0",
19
21
  "eventsource": "^2.0.2",
20
- "lucide-react": "^0.546.0",
21
22
  "next": "^14.2.5",
22
23
  "react": "^18.3.1",
23
24
  "react-dom": "^18.3.1",
25
+ "reactflow": "^11.11.4",
24
26
  "zustand": "^4.5.0"
25
27
  },
26
28
  "devDependencies": {
@@ -9,21 +9,42 @@ const config: Config = {
9
9
  ],
10
10
  theme: {
11
11
  extend: {
12
+ fontFamily: {
13
+ heading: ['Space Grotesk', 'sans-serif'],
14
+ body: ['IBM Plex Sans', 'sans-serif'],
15
+ mono: ['JetBrains Mono', 'Fira Code', 'Consolas', 'monospace'],
16
+ },
12
17
  colors: {
13
- // Brand colors - Gold & Black
14
- primary: {
15
- DEFAULT: '#d4af37', // Gold
16
- 50: '#fdfcf8',
17
- 100: '#f9f7ed',
18
- 200: '#f2ecd3',
19
- 300: '#ead9a1',
20
- 400: '#e2c870',
21
- 500: '#d4af37', // Main gold
22
- 600: '#b8962b',
23
- 700: '#967824',
24
- 800: '#7a6020',
25
- 900: '#654f1d',
26
- },
18
+ // MCP Brand Core Colors
19
+ slateInk: '#121217',
20
+ coolMint: '#2AB5A5',
21
+ signalBlue: '#3B82F6',
22
+
23
+ // MCP Extended Palette - Light Mode
24
+ 'light-canvas': '#F5F6FA',
25
+ 'light-white': '#FFFFFF',
26
+ 'light-text-primary': '#121217',
27
+ 'light-text-secondary': '#5F6475',
28
+ 'light-border-soft': '#E6E8F0',
29
+ 'light-border-subtle': '#EEF0F6',
30
+
31
+ // MCP Extended Palette - Dark Mode
32
+ 'dark-base': '#0E0F14',
33
+ 'dark-surface': '#1B1B20',
34
+ 'dark-text-primary': '#E9E9F0',
35
+ 'dark-text-muted': '#B4B4CC',
36
+ 'dark-border-panel': '#312626',
37
+
38
+ // MCP Status Colors (same light/dark)
39
+ 'status-success': '#2AB5A5',
40
+ 'status-warning': '#F59E0B',
41
+ 'status-error': '#EF4444',
42
+ 'status-info': '#0A9CA9',
43
+
44
+ // MCP Accent
45
+ 'accent-steel': '#4D777F',
46
+
47
+ // CSS Variable mapped colors (for compatibility)
27
48
  background: 'hsl(var(--background))',
28
49
  foreground: 'hsl(var(--foreground))',
29
50
  card: {
@@ -34,6 +55,10 @@ const config: Config = {
34
55
  DEFAULT: 'hsl(var(--popover))',
35
56
  foreground: 'hsl(var(--popover-foreground))',
36
57
  },
58
+ primary: {
59
+ DEFAULT: 'hsl(var(--primary))',
60
+ foreground: 'hsl(var(--primary-foreground))',
61
+ },
37
62
  secondary: {
38
63
  DEFAULT: 'hsl(var(--secondary))',
39
64
  foreground: 'hsl(var(--secondary-foreground))',
@@ -55,9 +80,30 @@ const config: Config = {
55
80
  ring: 'hsl(var(--ring))',
56
81
  },
57
82
  borderRadius: {
58
- lg: 'var(--radius)',
59
- md: 'calc(var(--radius) - 2px)',
60
- sm: 'calc(var(--radius) - 4px)',
83
+ // MCP Border Radius System
84
+ DEFAULT: '4px', // MCP default
85
+ 'none': '0',
86
+ 'sm': '2px',
87
+ 'md': '4px', // MCP default
88
+ 'lg': '6px',
89
+ 'xl': '8px',
90
+ '2xl': '12px',
91
+ '3xl': '16px',
92
+ 'pill': '999px', // MCP pill
93
+ 'full': '9999px', // Circle
94
+ },
95
+ boxShadow: {
96
+ // MCP Shadow System - Light Mode
97
+ 'low-light': '0px 1px 3px rgba(240, 100, 49, 0.08)',
98
+ 'medium-light': '0px 4px 12px rgba(240, 100, 49, 0.11)',
99
+ 'high-light': '0px 8px 28px rgba(240, 100, 49, 0.14)',
100
+ 'focus-light': '0px 0px 28px rgba(173, 62, 44, 0.30)',
101
+
102
+ // MCP Shadow System - Dark Mode
103
+ 'low-dark': '0px 1px 3px rgba(0, 0, 0, 0.07)',
104
+ 'medium-dark': '0px 4px 12px rgba(0, 0, 0, 0.10)',
105
+ 'high-dark': '0px 8px 28px rgba(0, 0, 0, 0.15)',
106
+ 'focus-dark': '0px 0px 28px rgba(217, 91, 60, 0.16)',
61
107
  },
62
108
  },
63
109
  },