flowengine-mcp-app 3.0.0 → 3.0.1

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 (119) hide show
  1. package/README.md +19 -270
  2. package/bin.js +12 -0
  3. package/package.json +8 -41
  4. package/LICENSE +0 -21
  5. package/build/cli/api.d.ts +0 -19
  6. package/build/cli/api.d.ts.map +0 -1
  7. package/build/cli/api.js +0 -62
  8. package/build/cli/api.js.map +0 -1
  9. package/build/cli/commands/delete.d.ts +0 -4
  10. package/build/cli/commands/delete.d.ts.map +0 -1
  11. package/build/cli/commands/delete.js +0 -16
  12. package/build/cli/commands/delete.js.map +0 -1
  13. package/build/cli/commands/deploy.d.ts +0 -24
  14. package/build/cli/commands/deploy.d.ts.map +0 -1
  15. package/build/cli/commands/deploy.js +0 -103
  16. package/build/cli/commands/deploy.js.map +0 -1
  17. package/build/cli/commands/domain.d.ts +0 -9
  18. package/build/cli/commands/domain.d.ts.map +0 -1
  19. package/build/cli/commands/domain.js +0 -27
  20. package/build/cli/commands/domain.js.map +0 -1
  21. package/build/cli/commands/env.d.ts +0 -13
  22. package/build/cli/commands/env.d.ts.map +0 -1
  23. package/build/cli/commands/env.js +0 -53
  24. package/build/cli/commands/env.js.map +0 -1
  25. package/build/cli/commands/list.d.ts +0 -4
  26. package/build/cli/commands/list.d.ts.map +0 -1
  27. package/build/cli/commands/list.js +0 -25
  28. package/build/cli/commands/list.js.map +0 -1
  29. package/build/cli/commands/login.d.ts +0 -4
  30. package/build/cli/commands/login.d.ts.map +0 -1
  31. package/build/cli/commands/login.js +0 -37
  32. package/build/cli/commands/login.js.map +0 -1
  33. package/build/cli/commands/logout.d.ts +0 -2
  34. package/build/cli/commands/logout.d.ts.map +0 -1
  35. package/build/cli/commands/logout.js +0 -8
  36. package/build/cli/commands/logout.js.map +0 -1
  37. package/build/cli/commands/logs.d.ts +0 -4
  38. package/build/cli/commands/logs.d.ts.map +0 -1
  39. package/build/cli/commands/logs.js +0 -40
  40. package/build/cli/commands/logs.js.map +0 -1
  41. package/build/cli/commands/show.d.ts +0 -4
  42. package/build/cli/commands/show.d.ts.map +0 -1
  43. package/build/cli/commands/show.js +0 -13
  44. package/build/cli/commands/show.js.map +0 -1
  45. package/build/cli/commands/usage.d.ts +0 -7
  46. package/build/cli/commands/usage.d.ts.map +0 -1
  47. package/build/cli/commands/usage.js +0 -16
  48. package/build/cli/commands/usage.js.map +0 -1
  49. package/build/cli/config.d.ts +0 -17
  50. package/build/cli/config.d.ts.map +0 -1
  51. package/build/cli/config.js +0 -42
  52. package/build/cli/config.js.map +0 -1
  53. package/build/cli/pack.d.ts +0 -25
  54. package/build/cli/pack.d.ts.map +0 -1
  55. package/build/cli/pack.js +0 -111
  56. package/build/cli/pack.js.map +0 -1
  57. package/build/cli/ui.d.ts +0 -23
  58. package/build/cli/ui.d.ts.map +0 -1
  59. package/build/cli/ui.js +0 -105
  60. package/build/cli/ui.js.map +0 -1
  61. package/build/cli.d.ts +0 -10
  62. package/build/cli.d.ts.map +0 -1
  63. package/build/cli.js +0 -251
  64. package/build/cli.js.map +0 -1
  65. package/build/client.d.ts +0 -94
  66. package/build/client.d.ts.map +0 -1
  67. package/build/client.js +0 -311
  68. package/build/client.js.map +0 -1
  69. package/build/index.d.ts +0 -12
  70. package/build/index.d.ts.map +0 -1
  71. package/build/index.js +0 -970
  72. package/build/index.js.map +0 -1
  73. package/build/tools/functions.d.ts +0 -14
  74. package/build/tools/functions.d.ts.map +0 -1
  75. package/build/tools/functions.js +0 -241
  76. package/build/tools/functions.js.map +0 -1
  77. package/build/types.d.ts +0 -155
  78. package/build/types.d.ts.map +0 -1
  79. package/build/types.js +0 -5
  80. package/build/types.js.map +0 -1
  81. package/build/ui/base.d.ts +0 -8
  82. package/build/ui/base.d.ts.map +0 -1
  83. package/build/ui/base.js +0 -425
  84. package/build/ui/base.js.map +0 -1
  85. package/build/ui/component-viewer.d.ts +0 -14
  86. package/build/ui/component-viewer.d.ts.map +0 -1
  87. package/build/ui/component-viewer.js +0 -678
  88. package/build/ui/component-viewer.js.map +0 -1
  89. package/build/ui/dashboard.d.ts +0 -21
  90. package/build/ui/dashboard.d.ts.map +0 -1
  91. package/build/ui/dashboard.js +0 -252
  92. package/build/ui/dashboard.js.map +0 -1
  93. package/build/ui/demo.d.ts +0 -14
  94. package/build/ui/demo.d.ts.map +0 -1
  95. package/build/ui/demo.js +0 -222
  96. package/build/ui/demo.js.map +0 -1
  97. package/build/ui/instances.d.ts +0 -17
  98. package/build/ui/instances.d.ts.map +0 -1
  99. package/build/ui/instances.js +0 -233
  100. package/build/ui/instances.js.map +0 -1
  101. package/build/ui/n8n-viewer.d.ts +0 -12
  102. package/build/ui/n8n-viewer.d.ts.map +0 -1
  103. package/build/ui/n8n-viewer.js +0 -371
  104. package/build/ui/n8n-viewer.js.map +0 -1
  105. package/build/ui/portals.d.ts +0 -14
  106. package/build/ui/portals.d.ts.map +0 -1
  107. package/build/ui/portals.js +0 -184
  108. package/build/ui/portals.js.map +0 -1
  109. package/build/ui/ui/components.html +0 -312
  110. package/build/ui/ui/n8n.html +0 -124
  111. package/build/ui/ui/portals.html +0 -211
  112. package/build/ui/widgets.d.ts +0 -17
  113. package/build/ui/widgets.d.ts.map +0 -1
  114. package/build/ui/widgets.js +0 -200
  115. package/build/ui/widgets.js.map +0 -1
  116. package/build/ui/workflows.d.ts +0 -17
  117. package/build/ui/workflows.d.ts.map +0 -1
  118. package/build/ui/workflows.js +0 -217
  119. package/build/ui/workflows.js.map +0 -1
package/build/ui/base.js DELETED
@@ -1,425 +0,0 @@
1
- /**
2
- * Base UI layout and shared components for MCP App
3
- * Matches FlowEngine design system exactly
4
- */
5
- export function baseLayout(title, content) {
6
- return `<!DOCTYPE html>
7
- <html>
8
- <head>
9
- <meta charset="UTF-8">
10
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
11
- <title>${title} - FlowEngine</title>
12
- <style>
13
- * {
14
- margin: 0;
15
- padding: 0;
16
- box-sizing: border-box;
17
- }
18
-
19
- body {
20
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
21
- background: #000000;
22
- color: #ffffff;
23
- min-height: 100vh;
24
- padding: 48px 24px;
25
- line-height: 1.6;
26
- position: relative;
27
- }
28
-
29
- /* Background gradient effects - matching FlowEngine */
30
- body::before {
31
- content: '';
32
- position: absolute;
33
- top: 80px;
34
- left: 12%;
35
- width: 500px;
36
- height: 500px;
37
- background: rgba(168, 85, 247, 0.15);
38
- border-radius: 50%;
39
- filter: blur(180px);
40
- pointer-events: none;
41
- z-index: 0;
42
- }
43
-
44
- body::after {
45
- content: '';
46
- position: absolute;
47
- top: 200px;
48
- right: 15%;
49
- width: 400px;
50
- height: 400px;
51
- background: rgba(139, 92, 246, 0.1);
52
- border-radius: 50%;
53
- filter: blur(180px);
54
- pointer-events: none;
55
- z-index: 0;
56
- }
57
-
58
- .container {
59
- max-width: 1200px;
60
- margin: 0 auto;
61
- position: relative;
62
- z-index: 1;
63
- }
64
-
65
- .header {
66
- margin-bottom: 32px;
67
- padding-bottom: 24px;
68
- border-bottom: 1px solid rgba(31, 41, 55, 1);
69
- }
70
-
71
- .header h1 {
72
- font-size: 32px;
73
- font-weight: 600;
74
- margin-bottom: 8px;
75
- color: #ffffff;
76
- }
77
-
78
- .header p {
79
- color: rgba(156, 163, 175, 1);
80
- font-size: 15px;
81
- }
82
-
83
- .grid {
84
- display: grid;
85
- grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
86
- gap: 20px;
87
- margin-bottom: 24px;
88
- }
89
-
90
- .card {
91
- background: rgba(17, 24, 39, 0.5);
92
- border: 1px solid rgba(31, 41, 55, 1);
93
- border-radius: 12px;
94
- padding: 24px;
95
- transition: all 0.2s;
96
- backdrop-filter: blur(12px);
97
- }
98
-
99
- .card:hover {
100
- border-color: rgba(75, 85, 99, 1);
101
- background: rgba(17, 24, 39, 0.7);
102
- }
103
-
104
- .card-header {
105
- display: flex;
106
- justify-content: space-between;
107
- align-items: flex-start;
108
- margin-bottom: 20px;
109
- gap: 16px;
110
- }
111
-
112
- .card-title {
113
- font-size: 18px;
114
- font-weight: 600;
115
- margin-bottom: 6px;
116
- color: #ffffff;
117
- word-break: break-all;
118
- }
119
-
120
- .card-subtitle {
121
- font-size: 13px;
122
- color: rgba(156, 163, 175, 1);
123
- }
124
-
125
- .badge {
126
- display: inline-flex;
127
- align-items: center;
128
- gap: 6px;
129
- padding: 6px 12px;
130
- border-radius: 8px;
131
- font-size: 13px;
132
- font-weight: 500;
133
- white-space: nowrap;
134
- flex-shrink: 0;
135
- }
136
-
137
- .badge-success {
138
- background: rgba(34, 197, 94, 0.1);
139
- border: 1px solid rgba(34, 197, 94, 0.3);
140
- color: rgba(74, 222, 128, 1);
141
- }
142
-
143
- .badge-error {
144
- background: rgba(239, 68, 68, 0.1);
145
- border: 1px solid rgba(239, 68, 68, 0.3);
146
- color: rgba(248, 113, 113, 1);
147
- }
148
-
149
- .badge-warning {
150
- background: rgba(234, 179, 8, 0.1);
151
- border: 1px solid rgba(234, 179, 8, 0.3);
152
- color: rgba(250, 204, 21, 1);
153
- }
154
-
155
- .badge-neutral {
156
- background: rgba(75, 85, 99, 0.1);
157
- border: 1px solid rgba(75, 85, 99, 0.3);
158
- color: rgba(156, 163, 175, 1);
159
- }
160
-
161
- .stat {
162
- display: flex;
163
- justify-content: space-between;
164
- align-items: center;
165
- padding: 14px 0;
166
- border-bottom: 1px solid rgba(31, 41, 55, 1);
167
- }
168
-
169
- .stat:last-child {
170
- border-bottom: none;
171
- padding-bottom: 0;
172
- }
173
-
174
- .stat-label {
175
- color: rgba(156, 163, 175, 1);
176
- font-size: 14px;
177
- }
178
-
179
- .stat-value {
180
- font-weight: 600;
181
- font-size: 14px;
182
- color: #ffffff;
183
- }
184
-
185
- .btn {
186
- display: inline-flex;
187
- align-items: center;
188
- justify-content: center;
189
- gap: 8px;
190
- padding: 12px 18px;
191
- border-radius: 10px;
192
- font-size: 14px;
193
- font-weight: 500;
194
- text-decoration: none;
195
- cursor: pointer;
196
- transition: all 0.2s;
197
- border: 1px solid transparent;
198
- white-space: nowrap;
199
- }
200
-
201
- .btn-primary {
202
- background: #ffffff;
203
- color: #000000;
204
- border-color: transparent;
205
- }
206
-
207
- .btn-primary:hover {
208
- background: rgba(229, 231, 235, 1);
209
- }
210
-
211
- .btn-secondary {
212
- background: transparent;
213
- border-color: rgba(75, 85, 99, 1);
214
- color: rgba(209, 213, 219, 1);
215
- }
216
-
217
- .btn-secondary:hover {
218
- background: rgba(75, 85, 99, 1);
219
- color: #ffffff;
220
- }
221
-
222
- .btn-danger {
223
- background: rgba(239, 68, 68, 0.1);
224
- border-color: rgba(239, 68, 68, 0.3);
225
- color: rgba(248, 113, 113, 1);
226
- }
227
-
228
- .btn-danger:hover {
229
- background: rgba(239, 68, 68, 0.2);
230
- }
231
-
232
- .actions {
233
- display: flex;
234
- gap: 12px;
235
- margin-top: 20px;
236
- padding-top: 20px;
237
- border-top: 1px solid rgba(31, 41, 55, 1);
238
- flex-wrap: wrap;
239
- }
240
-
241
- .empty-state {
242
- text-align: center;
243
- padding: 80px 24px;
244
- color: rgba(115, 115, 115, 1);
245
- }
246
-
247
- .empty-state-icon {
248
- width: 64px;
249
- height: 64px;
250
- margin: 0 auto 20px;
251
- opacity: 0.5;
252
- color: rgba(156, 163, 175, 1);
253
- }
254
-
255
- .empty-state h3 {
256
- font-size: 20px;
257
- margin-bottom: 12px;
258
- color: rgba(163, 163, 163, 1);
259
- font-weight: 600;
260
- }
261
-
262
- .empty-state p {
263
- font-size: 15px;
264
- color: rgba(115, 115, 115, 1);
265
- max-width: 400px;
266
- margin: 0 auto;
267
- }
268
-
269
- .table-container {
270
- background: rgba(17, 24, 39, 0.5);
271
- border: 1px solid rgba(31, 41, 55, 1);
272
- border-radius: 12px;
273
- overflow: hidden;
274
- margin: 20px 0;
275
- }
276
-
277
- .table {
278
- width: 100%;
279
- border-collapse: collapse;
280
- }
281
-
282
- .table th {
283
- text-align: left;
284
- padding: 16px;
285
- background: rgba(31, 41, 55, 0.3);
286
- font-size: 13px;
287
- color: rgba(156, 163, 175, 1);
288
- font-weight: 600;
289
- text-transform: uppercase;
290
- letter-spacing: 0.5px;
291
- }
292
-
293
- .table td {
294
- padding: 16px;
295
- border-top: 1px solid rgba(31, 41, 55, 1);
296
- font-size: 14px;
297
- color: #ffffff;
298
- }
299
-
300
- .table tbody tr:hover {
301
- background: rgba(31, 41, 55, 0.3);
302
- }
303
-
304
- .icon {
305
- width: 18px;
306
- height: 18px;
307
- display: inline-block;
308
- }
309
-
310
- .dot {
311
- width: 8px;
312
- height: 8px;
313
- border-radius: 50%;
314
- display: inline-block;
315
- margin-right: 0;
316
- }
317
-
318
- .dot-success { background: rgba(74, 222, 128, 1); }
319
- .dot-error { background: rgba(248, 113, 113, 1); }
320
- .dot-warning { background: rgba(250, 204, 21, 1); }
321
- .dot-neutral { background: rgba(163, 163, 163, 1); }
322
-
323
- .code {
324
- font-family: 'SF Mono', 'Monaco', 'Courier New', monospace;
325
- background: rgba(31, 41, 55, 0.5);
326
- border: 1px solid rgba(31, 41, 55, 1);
327
- border-radius: 6px;
328
- padding: 4px 8px;
329
- font-size: 13px;
330
- color: rgba(74, 222, 128, 1);
331
- }
332
-
333
- a {
334
- color: rgba(147, 197, 253, 1);
335
- text-decoration: none;
336
- }
337
-
338
- a:hover {
339
- text-decoration: underline;
340
- }
341
-
342
- /* Progress bar */
343
- .progress {
344
- width: 100%;
345
- height: 8px;
346
- background: rgba(31, 41, 55, 1);
347
- border-radius: 4px;
348
- overflow: hidden;
349
- margin: 8px 0;
350
- }
351
-
352
- .progress-bar {
353
- height: 100%;
354
- background: linear-gradient(90deg, rgba(168, 85, 247, 1), rgba(139, 92, 246, 1));
355
- border-radius: 4px;
356
- transition: width 0.3s;
357
- }
358
-
359
- /* Metric cards */
360
- .metric-grid {
361
- display: grid;
362
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
363
- gap: 16px;
364
- margin-bottom: 24px;
365
- }
366
-
367
- .metric-card {
368
- background: rgba(17, 24, 39, 0.5);
369
- border: 1px solid rgba(31, 41, 55, 1);
370
- border-radius: 12px;
371
- padding: 20px;
372
- text-align: center;
373
- }
374
-
375
- .metric-value {
376
- font-size: 32px;
377
- font-weight: 700;
378
- margin-bottom: 8px;
379
- background: linear-gradient(135deg, rgba(168, 85, 247, 1), rgba(139, 92, 246, 1));
380
- -webkit-background-clip: text;
381
- -webkit-text-fill-color: transparent;
382
- background-clip: text;
383
- }
384
-
385
- .metric-label {
386
- font-size: 13px;
387
- color: rgba(156, 163, 175, 1);
388
- text-transform: uppercase;
389
- letter-spacing: 0.5px;
390
- }
391
- </style>
392
- </head>
393
- <body>
394
- <div class="container">
395
- ${content}
396
- </div>
397
- </body>
398
- </html>`;
399
- }
400
- export function renderEmptyState(title, description, iconSvg) {
401
- const defaultIcon = `<svg class="empty-state-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24">
402
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"></path>
403
- </svg>`;
404
- return `
405
- <div class="empty-state">
406
- ${iconSvg || defaultIcon}
407
- <h3>${title}</h3>
408
- <p>${description}</p>
409
- </div>
410
- `;
411
- }
412
- export function renderError(error) {
413
- return baseLayout('Error', `
414
- <div class="header">
415
- <h1>⚠️ Error</h1>
416
- <p>Something went wrong</p>
417
- </div>
418
- <div class="card">
419
- <div style="color: rgba(248, 113, 113, 1); padding: 20px; background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.3); border-radius: 10px;">
420
- <strong>Error:</strong> ${error}
421
- </div>
422
- </div>
423
- `);
424
- }
425
- //# sourceMappingURL=base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/ui/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,OAAe;IACvD,OAAO;;;;;WAKE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgYV,OAAO;;;QAGL,CAAC;AACT,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,WAAmB,EAAE,OAAgB;IACnF,MAAM,WAAW,GAAG;;SAEb,CAAC;IAER,OAAO;;QAED,OAAO,IAAI,WAAW;YAClB,KAAK;WACN,WAAW;;GAEnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,UAAU,CAAC,OAAO,EAAE;;;;;;;kCAOK,KAAK;;;GAGpC,CAAC,CAAC;AACL,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * UI Embed Viewer - Direct component preview via MCP
3
- * Displays forms, chatbots, widgets, and other UI embeds
4
- */
5
- export interface ComponentData {
6
- id?: string;
7
- type: 'form' | 'chatbot' | 'widget' | 'survey' | 'contact-form';
8
- name: string;
9
- config?: any;
10
- html?: string;
11
- [key: string]: any;
12
- }
13
- export declare function renderComponentViewer(component?: ComponentData): string;
14
- //# sourceMappingURL=component-viewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-viewer.d.ts","sourceRoot":"","sources":["../../src/ui/component-viewer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,MAAM,CAkqBvE"}