@nospt/plugin-dev-ai-hub 0.1.0 → 0.2.0

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 (71) hide show
  1. package/dev/index.tsx +17 -217
  2. package/dist/api/DevAiHubClient.esm.js +2 -0
  3. package/dist/api/DevAiHubClient.esm.js.map +1 -1
  4. package/dist/components/AssetCard/AssetCard.esm.js +60 -134
  5. package/dist/components/AssetCard/AssetCard.esm.js.map +1 -1
  6. package/dist/components/AssetCard/AssetCard.module.css.esm.js +8 -0
  7. package/dist/components/AssetCard/AssetCard.module.css.esm.js.map +1 -0
  8. package/dist/components/AssetDetailPanel/AssetDetailPanel.esm.js +175 -281
  9. package/dist/components/AssetDetailPanel/AssetDetailPanel.esm.js.map +1 -1
  10. package/dist/components/AssetDetailPanel/AssetDetailPanel.module.css.esm.js +8 -0
  11. package/dist/components/AssetDetailPanel/AssetDetailPanel.module.css.esm.js.map +1 -0
  12. package/dist/components/AssetFilters/AssetFilters.esm.js +94 -134
  13. package/dist/components/AssetFilters/AssetFilters.esm.js.map +1 -1
  14. package/dist/components/AssetFilters/AssetFilters.module.css.esm.js +8 -0
  15. package/dist/components/AssetFilters/AssetFilters.module.css.esm.js.map +1 -0
  16. package/dist/components/AssetInstallDialog/AssetInstallDialog.esm.js +70 -126
  17. package/dist/components/AssetInstallDialog/AssetInstallDialog.esm.js.map +1 -1
  18. package/dist/components/AssetInstallDialog/AssetInstallDialog.module.css.esm.js +8 -0
  19. package/dist/components/AssetInstallDialog/AssetInstallDialog.module.css.esm.js.map +1 -0
  20. package/dist/components/DevAiHubPage/DevAiHubPage.esm.js +64 -189
  21. package/dist/components/DevAiHubPage/DevAiHubPage.esm.js.map +1 -1
  22. package/dist/components/DevAiHubPage/DevAiHubPage.module.css.esm.js +8 -0
  23. package/dist/components/DevAiHubPage/DevAiHubPage.module.css.esm.js.map +1 -0
  24. package/dist/components/McpConfigPage/McpConfigPage.esm.js +200 -0
  25. package/dist/components/McpConfigPage/McpConfigPage.esm.js.map +1 -0
  26. package/dist/components/McpConfigPage/McpConfigPage.module.css.esm.js +8 -0
  27. package/dist/components/McpConfigPage/McpConfigPage.module.css.esm.js.map +1 -0
  28. package/dist/components/McpConfigPage/index.esm.js +6 -0
  29. package/dist/components/McpConfigPage/index.esm.js.map +1 -0
  30. package/dist/components/ToolIcon/ToolIcon.esm.js +25 -13
  31. package/dist/components/ToolIcon/ToolIcon.esm.js.map +1 -1
  32. package/dist/index.d.ts +10 -5
  33. package/dist/index.esm.js +1 -1
  34. package/dist/node_modules_dist/style-inject/dist/style-inject.es.esm.js +29 -0
  35. package/dist/node_modules_dist/style-inject/dist/style-inject.es.esm.js.map +1 -0
  36. package/dist/plugin.esm.js +22 -4
  37. package/dist/plugin.esm.js.map +1 -1
  38. package/dist/routes.esm.js +2 -1
  39. package/dist/routes.esm.js.map +1 -1
  40. package/package.json +24 -14
  41. package/package.json-prepack +24 -14
  42. package/src/components/AssetCard/AssetCard.module.css +153 -0
  43. package/src/components/AssetCard/AssetCard.tsx +79 -148
  44. package/src/components/AssetDetailPanel/AssetDetailPanel.module.css +207 -0
  45. package/src/components/AssetDetailPanel/AssetDetailPanel.tsx +228 -292
  46. package/src/components/AssetFilters/AssetFilters.module.css +67 -0
  47. package/src/components/AssetFilters/AssetFilters.tsx +136 -178
  48. package/src/components/AssetInstallDialog/AssetInstallDialog.module.css +72 -0
  49. package/src/components/AssetInstallDialog/AssetInstallDialog.tsx +95 -135
  50. package/src/components/DevAiHubPage/DevAiHubPage.module.css +105 -0
  51. package/src/components/DevAiHubPage/DevAiHubPage.tsx +73 -222
  52. package/src/components/McpConfigDialog/McpConfigDialog.module.css +111 -0
  53. package/src/components/McpConfigDialog/McpConfigDialog.tsx +178 -208
  54. package/src/components/McpConfigPage/McpConfigPage.module.css +121 -0
  55. package/src/components/McpConfigPage/McpConfigPage.tsx +242 -0
  56. package/src/components/McpConfigPage/index.ts +1 -0
  57. package/src/components/ToolIcon/ToolIcon.tsx +31 -15
  58. package/src/css-modules.d.ts +4 -0
  59. package/src/index.ts +1 -1
  60. package/src/plugin.tsx +21 -1
  61. package/src/routes.ts +1 -0
  62. package/tests/e2e/.auth.json +14 -0
  63. package/tests/e2e/asset-detail.spec.ts +90 -0
  64. package/tests/e2e/asset-filtering.spec.ts +145 -0
  65. package/tests/e2e/asset-installation.spec.ts +74 -0
  66. package/tests/e2e/dev-ai-hub-page.spec.ts +89 -0
  67. package/tests/e2e/fixtures/base.ts +61 -0
  68. package/tests/e2e/fixtures/mock-api.ts +221 -0
  69. package/tests/e2e/mcp-config.spec.ts +88 -0
  70. package/dist/components/McpConfigDialog/McpConfigDialog.esm.js +0 -274
  71. package/dist/components/McpConfigDialog/McpConfigDialog.esm.js.map +0 -1
@@ -0,0 +1,207 @@
1
+ @layer components {
2
+ .drawer {
3
+ position: fixed;
4
+ top: 0;
5
+ right: 0;
6
+ bottom: 0;
7
+ width: 640px;
8
+ max-width: 100vw;
9
+ background-color: var(--bui-bg-neutral-1);
10
+ box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
11
+ z-index: 1300;
12
+ display: flex;
13
+ flex-direction: column;
14
+ }
15
+
16
+ .overlay {
17
+ position: fixed;
18
+ inset: 0;
19
+ background-color: rgba(0, 0, 0, 0.9);
20
+ z-index: 1299;
21
+ }
22
+
23
+ .panelContainer {
24
+ display: flex;
25
+ flex-direction: column;
26
+ height: 100%;
27
+ }
28
+
29
+ .header {
30
+ padding: var(--bui-space-4);
31
+ display: flex;
32
+ align-items: flex-start;
33
+ gap: var(--bui-space-4);
34
+ border-bottom: 1px solid var(--bui-border-1);
35
+ }
36
+
37
+ .headerContent {
38
+ flex: 1;
39
+ }
40
+
41
+ .loadingRow {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: var(--bui-space-2);
45
+ }
46
+
47
+ .nameRow {
48
+ display: flex;
49
+ align-items: center;
50
+ gap: var(--bui-space-2);
51
+ margin-bottom: var(--bui-space-1);
52
+ }
53
+
54
+ .typeTag {
55
+ font-weight: 600;
56
+ }
57
+
58
+ .tabBar {
59
+ border-bottom: 1px solid var(--bui-border-1);
60
+ padding: 0 var(--bui-space-4);
61
+ }
62
+
63
+ .contentArea {
64
+ flex: 1;
65
+ overflow: auto;
66
+ padding: var(--bui-space-4);
67
+ }
68
+
69
+ .markdownContent {
70
+ font-size: 0.9375rem;
71
+ line-height: 1.7;
72
+ }
73
+
74
+ .markdownContent h1,
75
+ .markdownContent h2,
76
+ .markdownContent h3,
77
+ .markdownContent h4,
78
+ .markdownContent h5,
79
+ .markdownContent h6 {
80
+ margin-top: var(--bui-space-4);
81
+ margin-bottom: var(--bui-space-2);
82
+ font-weight: 700;
83
+ }
84
+
85
+ .markdownContent p {
86
+ margin-bottom: var(--bui-space-2);
87
+ line-height: 1.7;
88
+ }
89
+
90
+ .markdownContent ul,
91
+ .markdownContent ol {
92
+ padding-left: var(--bui-space-6);
93
+ margin-bottom: var(--bui-space-2);
94
+ }
95
+
96
+ .markdownContent li {
97
+ margin-bottom: var(--bui-space-1);
98
+ }
99
+
100
+ .markdownContent blockquote {
101
+ border-left: 3px solid var(--bui-ring);
102
+ padding-left: var(--bui-space-3);
103
+ color: var(--bui-fg-secondary);
104
+ margin: var(--bui-space-2) 0;
105
+ margin-left: 0;
106
+ }
107
+
108
+ .markdownContent table {
109
+ width: 100%;
110
+ border-collapse: collapse;
111
+ margin-bottom: var(--bui-space-2);
112
+ }
113
+
114
+ .markdownContent th,
115
+ .markdownContent td {
116
+ border: 1px solid var(--bui-border-1);
117
+ padding: var(--bui-space-2) var(--bui-space-3);
118
+ font-size: 0.875rem;
119
+ }
120
+
121
+ .markdownContent th {
122
+ background-color: var(--bui-bg-neutral-1-hover);
123
+ font-weight: 700;
124
+ }
125
+
126
+ .markdownContent code {
127
+ background-color: var(--bui-bg-neutral-1-hover);
128
+ padding: 1px var(--bui-space-1);
129
+ border-radius: var(--bui-radius-2);
130
+ font-family: monospace;
131
+ font-size: 0.875em;
132
+ }
133
+
134
+ .markdownContent pre code {
135
+ background-color: transparent;
136
+ padding: 0;
137
+ }
138
+
139
+ .codeBlockWrapper {
140
+ margin: var(--bui-space-2) 0;
141
+ }
142
+
143
+ .metaSection {
144
+ display: flex;
145
+ flex-direction: column;
146
+ gap: var(--bui-space-3);
147
+ }
148
+
149
+ .metaRow {
150
+ display: flex;
151
+ align-items: baseline;
152
+ gap: var(--bui-space-2);
153
+ }
154
+
155
+ .metaLabel {
156
+ min-width: 90px;
157
+ flex-shrink: 0;
158
+ }
159
+
160
+ .chipsRow {
161
+ display: flex;
162
+ gap: var(--bui-space-2);
163
+ flex-wrap: wrap;
164
+ margin-top: var(--bui-space-1);
165
+ }
166
+
167
+ .bundledHeader {
168
+ display: flex;
169
+ align-items: center;
170
+ gap: 6px;
171
+ margin-bottom: var(--bui-space-1);
172
+ }
173
+
174
+ .rawYaml {
175
+ margin: 0;
176
+ padding: var(--bui-space-4);
177
+ border-radius: var(--bui-radius-2);
178
+ border: 1px solid var(--bui-border-1);
179
+ overflow: auto;
180
+ font-size: 0.8rem;
181
+ font-family: monospace;
182
+ white-space: pre-wrap;
183
+ word-break: break-word;
184
+ background-color: var(--bui-bg-neutral-1-hover);
185
+ }
186
+
187
+ .actions {
188
+ padding: var(--bui-space-4);
189
+ border-top: 1px solid var(--bui-border-1);
190
+ display: flex;
191
+ gap: var(--bui-space-2);
192
+ flex-wrap: wrap;
193
+ }
194
+
195
+ .repoLink {
196
+ display: inline-flex;
197
+ align-items: center;
198
+ gap: var(--bui-space-1);
199
+ }
200
+
201
+ .divider {
202
+ height: 1px;
203
+ background-color: var(--bui-border-1);
204
+ border: none;
205
+ margin: 0;
206
+ }
207
+ }