nitrostack 1.0.1 → 1.0.2

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 (51) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cli/index.js +4 -1
  3. package/dist/cli/index.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/studio/README.md +140 -0
  6. package/src/studio/app/api/auth/fetch-metadata/route.ts +71 -0
  7. package/src/studio/app/api/auth/register-client/route.ts +67 -0
  8. package/src/studio/app/api/chat/route.ts +123 -0
  9. package/src/studio/app/api/health/checks/route.ts +42 -0
  10. package/src/studio/app/api/health/route.ts +13 -0
  11. package/src/studio/app/api/init/route.ts +85 -0
  12. package/src/studio/app/api/ping/route.ts +13 -0
  13. package/src/studio/app/api/prompts/[name]/route.ts +21 -0
  14. package/src/studio/app/api/prompts/route.ts +13 -0
  15. package/src/studio/app/api/resources/[...uri]/route.ts +18 -0
  16. package/src/studio/app/api/resources/route.ts +13 -0
  17. package/src/studio/app/api/roots/route.ts +13 -0
  18. package/src/studio/app/api/sampling/route.ts +14 -0
  19. package/src/studio/app/api/tools/[name]/call/route.ts +41 -0
  20. package/src/studio/app/api/tools/route.ts +23 -0
  21. package/src/studio/app/api/widget-examples/route.ts +44 -0
  22. package/src/studio/app/auth/callback/page.tsx +160 -0
  23. package/src/studio/app/auth/page.tsx +543 -0
  24. package/src/studio/app/chat/page.tsx +530 -0
  25. package/src/studio/app/chat/page.tsx.backup +390 -0
  26. package/src/studio/app/globals.css +410 -0
  27. package/src/studio/app/health/page.tsx +177 -0
  28. package/src/studio/app/layout.tsx +48 -0
  29. package/src/studio/app/page.tsx +337 -0
  30. package/src/studio/app/page.tsx.backup +346 -0
  31. package/src/studio/app/ping/page.tsx +204 -0
  32. package/src/studio/app/prompts/page.tsx +228 -0
  33. package/src/studio/app/resources/page.tsx +313 -0
  34. package/src/studio/components/EnlargeModal.tsx +116 -0
  35. package/src/studio/components/Sidebar.tsx +133 -0
  36. package/src/studio/components/ToolCard.tsx +108 -0
  37. package/src/studio/components/WidgetRenderer.tsx +99 -0
  38. package/src/studio/lib/api.ts +207 -0
  39. package/src/studio/lib/llm-service.ts +361 -0
  40. package/src/studio/lib/mcp-client.ts +168 -0
  41. package/src/studio/lib/store.ts +192 -0
  42. package/src/studio/lib/theme-provider.tsx +50 -0
  43. package/src/studio/lib/types.ts +107 -0
  44. package/src/studio/lib/widget-loader.ts +90 -0
  45. package/src/studio/middleware.ts +27 -0
  46. package/src/studio/next.config.js +16 -0
  47. package/src/studio/package-lock.json +2696 -0
  48. package/src/studio/package.json +34 -0
  49. package/src/studio/postcss.config.mjs +10 -0
  50. package/src/studio/tailwind.config.ts +67 -0
  51. package/src/studio/tsconfig.json +41 -0
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@nitrostack/studio",
3
+ "version": "3.1.0",
4
+ "description": "NitroStack Studio - Visual MCP Server Inspector",
5
+ "private": true,
6
+ "type": "module",
7
+ "scripts": {
8
+ "dev": "next dev -p 3000",
9
+ "build": "next build",
10
+ "start": "next start",
11
+ "lint": "next lint",
12
+ "export": "next build && next export"
13
+ },
14
+ "dependencies": {
15
+ "@fontsource/inter": "^5.2.8",
16
+ "@fontsource/jetbrains-mono": "^5.2.8",
17
+ "@modelcontextprotocol/sdk": "^1.0.4",
18
+ "clsx": "^2.1.0",
19
+ "lucide-react": "^0.546.0",
20
+ "next": "^14.2.5",
21
+ "react": "^18.3.1",
22
+ "react-dom": "^18.3.1",
23
+ "zustand": "^4.5.0"
24
+ },
25
+ "devDependencies": {
26
+ "@types/node": "^22.10.5",
27
+ "@types/react": "^18.3.3",
28
+ "@types/react-dom": "^18.3.0",
29
+ "autoprefixer": "^10.4.19",
30
+ "postcss": "^8.4.38",
31
+ "tailwindcss": "^3.4.4",
32
+ "typescript": "^5.3.3"
33
+ }
34
+ }
@@ -0,0 +1,10 @@
1
+ /** @type {import('postcss-load-config').Config} */
2
+ const config = {
3
+ plugins: {
4
+ tailwindcss: {},
5
+ autoprefixer: {},
6
+ },
7
+ };
8
+
9
+ export default config;
10
+
@@ -0,0 +1,67 @@
1
+ import type { Config } from 'tailwindcss';
2
+
3
+ const config: Config = {
4
+ darkMode: 'class',
5
+ content: [
6
+ './pages/**/*.{js,ts,jsx,tsx,mdx}',
7
+ './components/**/*.{js,ts,jsx,tsx,mdx}',
8
+ './app/**/*.{js,ts,jsx,tsx,mdx}',
9
+ ],
10
+ theme: {
11
+ extend: {
12
+ 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
+ },
27
+ background: 'hsl(var(--background))',
28
+ foreground: 'hsl(var(--foreground))',
29
+ card: {
30
+ DEFAULT: 'hsl(var(--card))',
31
+ foreground: 'hsl(var(--card-foreground))',
32
+ },
33
+ popover: {
34
+ DEFAULT: 'hsl(var(--popover))',
35
+ foreground: 'hsl(var(--popover-foreground))',
36
+ },
37
+ secondary: {
38
+ DEFAULT: 'hsl(var(--secondary))',
39
+ foreground: 'hsl(var(--secondary-foreground))',
40
+ },
41
+ muted: {
42
+ DEFAULT: 'hsl(var(--muted))',
43
+ foreground: 'hsl(var(--muted-foreground))',
44
+ },
45
+ accent: {
46
+ DEFAULT: 'hsl(var(--accent))',
47
+ foreground: 'hsl(var(--accent-foreground))',
48
+ },
49
+ destructive: {
50
+ DEFAULT: 'hsl(var(--destructive))',
51
+ foreground: 'hsl(var(--destructive-foreground))',
52
+ },
53
+ border: 'hsl(var(--border))',
54
+ input: 'hsl(var(--input))',
55
+ ring: 'hsl(var(--ring))',
56
+ },
57
+ borderRadius: {
58
+ lg: 'var(--radius)',
59
+ md: 'calc(var(--radius) - 2px)',
60
+ sm: 'calc(var(--radius) - 4px)',
61
+ },
62
+ },
63
+ },
64
+ plugins: [],
65
+ };
66
+
67
+ export default config;
@@ -0,0 +1,41 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "lib": [
5
+ "dom",
6
+ "dom.iterable",
7
+ "esnext"
8
+ ],
9
+ "allowJs": true,
10
+ "skipLibCheck": true,
11
+ "strict": true,
12
+ "noEmit": true,
13
+ "esModuleInterop": true,
14
+ "module": "esnext",
15
+ "moduleResolution": "bundler",
16
+ "resolveJsonModule": true,
17
+ "isolatedModules": true,
18
+ "jsx": "preserve",
19
+ "incremental": true,
20
+ "plugins": [
21
+ {
22
+ "name": "next"
23
+ }
24
+ ],
25
+ "paths": {
26
+ "@/*": [
27
+ "./*"
28
+ ]
29
+ }
30
+ },
31
+ "include": [
32
+ "next-env.d.ts",
33
+ "**/*.ts",
34
+ "**/*.tsx",
35
+ ".next/types/**/*.ts",
36
+ "../../dist/studio/types/**/*.ts"
37
+ ],
38
+ "exclude": [
39
+ "node_modules"
40
+ ]
41
+ }