web-agent-bridge 2.3.0 → 2.3.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 (35) hide show
  1. package/package.json +12 -4
  2. package/public/commander-dashboard.html +243 -0
  3. package/public/css/premium.css +317 -317
  4. package/public/demo.html +259 -259
  5. package/public/index.html +644 -644
  6. package/public/mesh-dashboard.html +309 -382
  7. package/public/premium-dashboard.html +2487 -2487
  8. package/public/premium.html +791 -791
  9. package/public/script/wab.min.js +124 -87
  10. package/script/ai-agent-bridge.js +154 -84
  11. package/sdk/agent-mesh.js +287 -171
  12. package/sdk/commander.js +262 -0
  13. package/sdk/index.js +260 -260
  14. package/server/index.js +8 -1
  15. package/server/migrations/002_premium_features.sql +418 -418
  16. package/server/models/db.js +24 -5
  17. package/server/routes/admin-premium.js +671 -671
  18. package/server/routes/commander.js +316 -0
  19. package/server/routes/mesh.js +370 -201
  20. package/server/routes/premium-v2.js +686 -686
  21. package/server/routes/premium.js +724 -724
  22. package/server/services/agent-learning.js +230 -77
  23. package/server/services/agent-memory.js +625 -625
  24. package/server/services/agent-mesh.js +260 -67
  25. package/server/services/agent-symphony.js +548 -518
  26. package/server/services/commander.js +738 -0
  27. package/server/services/edge-compute.js +440 -0
  28. package/server/services/local-ai.js +389 -0
  29. package/server/services/plugins.js +747 -747
  30. package/server/services/self-healing.js +843 -843
  31. package/server/services/swarm.js +788 -788
  32. package/server/services/vision.js +871 -871
  33. package/public/admin/dashboard.html +0 -848
  34. package/public/admin/login.html +0 -84
  35. package/public/video/tutorial.mp4 +0 -0
@@ -1,317 +1,317 @@
1
- /* ═══════════════════════════════════════════════════════════════════════
2
- Premium Services Page Styles
3
- ═══════════════════════════════════════════════════════════════════════ */
4
-
5
- .active-link {
6
- color: var(--accent-purple) !important;
7
- }
8
-
9
- /* ─── Premium Hero ────────────────────────────────────────────────── */
10
- .premium-hero {
11
- min-height: 70vh;
12
- display: flex;
13
- align-items: center;
14
- text-align: center;
15
- background: var(--gradient-hero);
16
- position: relative;
17
- overflow: hidden;
18
- padding-top: 120px;
19
- padding-bottom: 80px;
20
- }
21
-
22
- .premium-hero::before {
23
- content: '';
24
- position: absolute;
25
- top: -50%;
26
- left: -50%;
27
- width: 200%;
28
- height: 200%;
29
- background:
30
- radial-gradient(circle at 30% 30%, rgba(139,92,246,0.08) 0%, transparent 50%),
31
- radial-gradient(circle at 70% 70%, rgba(236,72,153,0.06) 0%, transparent 50%);
32
- animation: heroGlow 15s ease-in-out infinite alternate;
33
- }
34
-
35
- .premium-hero-content {
36
- position: relative;
37
- z-index: 1;
38
- max-width: 800px;
39
- margin: 0 auto;
40
- }
41
-
42
- .premium-hero h1 {
43
- margin-bottom: 24px;
44
- }
45
-
46
- .premium-hero p {
47
- font-size: 1.15rem;
48
- color: var(--text-secondary);
49
- max-width: 640px;
50
- margin: 0 auto 36px;
51
- line-height: 1.7;
52
- }
53
-
54
- /* ─── Tier Pills ──────────────────────────────────────────────────── */
55
- .tier-pills {
56
- display: flex;
57
- gap: 16px;
58
- justify-content: center;
59
- flex-wrap: wrap;
60
- }
61
-
62
- .tier-pill {
63
- display: flex;
64
- align-items: center;
65
- gap: 14px;
66
- background: var(--bg-card);
67
- border: 1px solid var(--border-color);
68
- border-radius: var(--radius-lg);
69
- padding: 16px 24px;
70
- min-width: 220px;
71
- transition: all var(--transition-normal);
72
- }
73
-
74
- .tier-pill.active {
75
- border-color: var(--accent-purple);
76
- box-shadow: 0 0 20px rgba(139,92,246,0.15);
77
- }
78
-
79
- .tier-pill:hover {
80
- border-color: var(--border-hover);
81
- transform: translateY(-2px);
82
- }
83
-
84
- .tier-pill-icon {
85
- width: 40px;
86
- height: 40px;
87
- border-radius: var(--radius-md);
88
- display: flex;
89
- align-items: center;
90
- justify-content: center;
91
- font-size: 1rem;
92
- flex-shrink: 0;
93
- }
94
-
95
- .tier-pill strong {
96
- display: block;
97
- font-size: 0.9rem;
98
- color: var(--text-primary);
99
- }
100
-
101
- .tier-pill span {
102
- font-size: 0.8rem;
103
- color: var(--text-muted);
104
- }
105
-
106
- /* ─── Service Row ─────────────────────────────────────────────────── */
107
- .service-row {
108
- display: flex;
109
- gap: 32px;
110
- padding: 48px 0;
111
- border-bottom: 1px solid var(--border-color);
112
- align-items: flex-start;
113
- }
114
-
115
- .service-row:last-child {
116
- border-bottom: none;
117
- }
118
-
119
- .service-number {
120
- font-size: 3rem;
121
- font-weight: 900;
122
- letter-spacing: -0.04em;
123
- background: linear-gradient(135deg, rgba(139,92,246,0.3), rgba(59,130,246,0.1));
124
- -webkit-background-clip: text;
125
- -webkit-text-fill-color: transparent;
126
- background-clip: text;
127
- min-width: 70px;
128
- text-align: center;
129
- line-height: 1;
130
- padding-top: 8px;
131
- }
132
-
133
- .service-body {
134
- flex: 1;
135
- min-width: 0;
136
- }
137
-
138
- .service-head {
139
- display: flex;
140
- align-items: center;
141
- gap: 16px;
142
- margin-bottom: 12px;
143
- }
144
-
145
- .service-icon {
146
- width: 52px;
147
- height: 52px;
148
- border-radius: var(--radius-md);
149
- display: flex;
150
- align-items: center;
151
- justify-content: center;
152
- font-size: 1.5rem;
153
- flex-shrink: 0;
154
- }
155
-
156
- .service-head h3 {
157
- margin-bottom: 4px;
158
- font-size: 1.35rem;
159
- }
160
-
161
- .service-tiers {
162
- display: flex;
163
- gap: 6px;
164
- flex-wrap: wrap;
165
- }
166
-
167
- .service-body > p {
168
- color: var(--text-secondary);
169
- font-size: 1rem;
170
- line-height: 1.7;
171
- margin-bottom: 24px;
172
- max-width: 700px;
173
- }
174
-
175
- /* ─── Service Feature Grid ────────────────────────────────────────── */
176
- .service-features {
177
- display: grid;
178
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
179
- gap: 16px;
180
- }
181
-
182
- .sf-item {
183
- display: flex;
184
- gap: 14px;
185
- padding: 16px;
186
- background: var(--bg-card);
187
- border: 1px solid var(--border-color);
188
- border-radius: var(--radius-md);
189
- transition: border-color var(--transition-fast);
190
- }
191
-
192
- .sf-item:hover {
193
- border-color: var(--border-hover);
194
- }
195
-
196
- .sf-icon {
197
- font-size: 1.25rem;
198
- flex-shrink: 0;
199
- width: 28px;
200
- text-align: center;
201
- padding-top: 2px;
202
- }
203
-
204
- .sf-item strong {
205
- display: block;
206
- font-size: 0.88rem;
207
- color: var(--text-primary);
208
- margin-bottom: 4px;
209
- }
210
-
211
- .sf-item span {
212
- font-size: 0.82rem;
213
- color: var(--text-muted);
214
- line-height: 1.5;
215
- }
216
-
217
- /* ─── Comparison Table ────────────────────────────────────────────── */
218
- .compare-table {
219
- width: 100%;
220
- border-collapse: collapse;
221
- }
222
-
223
- .compare-table th,
224
- .compare-table td {
225
- padding: 14px 20px;
226
- font-size: 0.88rem;
227
- }
228
-
229
- .compare-table th {
230
- background: var(--bg-surface);
231
- color: var(--text-muted);
232
- font-weight: 700;
233
- text-transform: uppercase;
234
- letter-spacing: 0.04em;
235
- font-size: 0.78rem;
236
- }
237
-
238
- .compare-table td {
239
- border-bottom: 1px solid var(--border-color);
240
- color: var(--text-secondary);
241
- }
242
-
243
- .compare-table tr:last-child td {
244
- border-bottom: none;
245
- }
246
-
247
- .compare-table tr:hover td {
248
- background: rgba(59,130,246,0.03);
249
- }
250
-
251
- .tc {
252
- text-align: center !important;
253
- }
254
-
255
- .highlight-col {
256
- background: rgba(139,92,246,0.04);
257
- }
258
-
259
- .compare-table .check {
260
- color: var(--accent-green);
261
- font-weight: 700;
262
- font-size: 1rem;
263
- }
264
-
265
- .compare-table .cross {
266
- color: var(--text-muted);
267
- font-size: 0.9rem;
268
- }
269
-
270
- /* ─── Premium CTA ─────────────────────────────────────────────────── */
271
- .premium-cta {
272
- max-width: 700px;
273
- margin: 0 auto;
274
- }
275
-
276
- .premium-cta h2 {
277
- margin-bottom: 16px;
278
- }
279
-
280
- .premium-cta p {
281
- color: var(--text-secondary);
282
- font-size: 1.1rem;
283
- line-height: 1.7;
284
- }
285
-
286
- /* ─── Responsive ──────────────────────────────────────────────────── */
287
- @media (max-width: 768px) {
288
- .service-row {
289
- flex-direction: column;
290
- gap: 16px;
291
- }
292
-
293
- .service-number {
294
- min-width: auto;
295
- font-size: 2.2rem;
296
- }
297
-
298
- .service-features {
299
- grid-template-columns: 1fr;
300
- }
301
-
302
- .tier-pills {
303
- flex-direction: column;
304
- align-items: center;
305
- }
306
-
307
- .tier-pill {
308
- width: 100%;
309
- max-width: 360px;
310
- }
311
-
312
- .compare-table th,
313
- .compare-table td {
314
- padding: 10px 12px;
315
- font-size: 0.8rem;
316
- }
317
- }
1
+ /* ═══════════════════════════════════════════════════════════════════════
2
+ Premium Services Page Styles
3
+ ═══════════════════════════════════════════════════════════════════════ */
4
+
5
+ .active-link {
6
+ color: var(--accent-purple) !important;
7
+ }
8
+
9
+ /* ─── Premium Hero ────────────────────────────────────────────────── */
10
+ .premium-hero {
11
+ min-height: 70vh;
12
+ display: flex;
13
+ align-items: center;
14
+ text-align: center;
15
+ background: var(--gradient-hero);
16
+ position: relative;
17
+ overflow: hidden;
18
+ padding-top: 120px;
19
+ padding-bottom: 80px;
20
+ }
21
+
22
+ .premium-hero::before {
23
+ content: '';
24
+ position: absolute;
25
+ top: -50%;
26
+ left: -50%;
27
+ width: 200%;
28
+ height: 200%;
29
+ background:
30
+ radial-gradient(circle at 30% 30%, rgba(139,92,246,0.08) 0%, transparent 50%),
31
+ radial-gradient(circle at 70% 70%, rgba(236,72,153,0.06) 0%, transparent 50%);
32
+ animation: heroGlow 15s ease-in-out infinite alternate;
33
+ }
34
+
35
+ .premium-hero-content {
36
+ position: relative;
37
+ z-index: 1;
38
+ max-width: 800px;
39
+ margin: 0 auto;
40
+ }
41
+
42
+ .premium-hero h1 {
43
+ margin-bottom: 24px;
44
+ }
45
+
46
+ .premium-hero p {
47
+ font-size: 1.15rem;
48
+ color: var(--text-secondary);
49
+ max-width: 640px;
50
+ margin: 0 auto 36px;
51
+ line-height: 1.7;
52
+ }
53
+
54
+ /* ─── Tier Pills ──────────────────────────────────────────────────── */
55
+ .tier-pills {
56
+ display: flex;
57
+ gap: 16px;
58
+ justify-content: center;
59
+ flex-wrap: wrap;
60
+ }
61
+
62
+ .tier-pill {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: 14px;
66
+ background: var(--bg-card);
67
+ border: 1px solid var(--border-color);
68
+ border-radius: var(--radius-lg);
69
+ padding: 16px 24px;
70
+ min-width: 220px;
71
+ transition: all var(--transition-normal);
72
+ }
73
+
74
+ .tier-pill.active {
75
+ border-color: var(--accent-purple);
76
+ box-shadow: 0 0 20px rgba(139,92,246,0.15);
77
+ }
78
+
79
+ .tier-pill:hover {
80
+ border-color: var(--border-hover);
81
+ transform: translateY(-2px);
82
+ }
83
+
84
+ .tier-pill-icon {
85
+ width: 40px;
86
+ height: 40px;
87
+ border-radius: var(--radius-md);
88
+ display: flex;
89
+ align-items: center;
90
+ justify-content: center;
91
+ font-size: 1rem;
92
+ flex-shrink: 0;
93
+ }
94
+
95
+ .tier-pill strong {
96
+ display: block;
97
+ font-size: 0.9rem;
98
+ color: var(--text-primary);
99
+ }
100
+
101
+ .tier-pill span {
102
+ font-size: 0.8rem;
103
+ color: var(--text-muted);
104
+ }
105
+
106
+ /* ─── Service Row ─────────────────────────────────────────────────── */
107
+ .service-row {
108
+ display: flex;
109
+ gap: 32px;
110
+ padding: 48px 0;
111
+ border-bottom: 1px solid var(--border-color);
112
+ align-items: flex-start;
113
+ }
114
+
115
+ .service-row:last-child {
116
+ border-bottom: none;
117
+ }
118
+
119
+ .service-number {
120
+ font-size: 3rem;
121
+ font-weight: 900;
122
+ letter-spacing: -0.04em;
123
+ background: linear-gradient(135deg, rgba(139,92,246,0.3), rgba(59,130,246,0.1));
124
+ -webkit-background-clip: text;
125
+ -webkit-text-fill-color: transparent;
126
+ background-clip: text;
127
+ min-width: 70px;
128
+ text-align: center;
129
+ line-height: 1;
130
+ padding-top: 8px;
131
+ }
132
+
133
+ .service-body {
134
+ flex: 1;
135
+ min-width: 0;
136
+ }
137
+
138
+ .service-head {
139
+ display: flex;
140
+ align-items: center;
141
+ gap: 16px;
142
+ margin-bottom: 12px;
143
+ }
144
+
145
+ .service-icon {
146
+ width: 52px;
147
+ height: 52px;
148
+ border-radius: var(--radius-md);
149
+ display: flex;
150
+ align-items: center;
151
+ justify-content: center;
152
+ font-size: 1.5rem;
153
+ flex-shrink: 0;
154
+ }
155
+
156
+ .service-head h3 {
157
+ margin-bottom: 4px;
158
+ font-size: 1.35rem;
159
+ }
160
+
161
+ .service-tiers {
162
+ display: flex;
163
+ gap: 6px;
164
+ flex-wrap: wrap;
165
+ }
166
+
167
+ .service-body > p {
168
+ color: var(--text-secondary);
169
+ font-size: 1rem;
170
+ line-height: 1.7;
171
+ margin-bottom: 24px;
172
+ max-width: 700px;
173
+ }
174
+
175
+ /* ─── Service Feature Grid ────────────────────────────────────────── */
176
+ .service-features {
177
+ display: grid;
178
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
179
+ gap: 16px;
180
+ }
181
+
182
+ .sf-item {
183
+ display: flex;
184
+ gap: 14px;
185
+ padding: 16px;
186
+ background: var(--bg-card);
187
+ border: 1px solid var(--border-color);
188
+ border-radius: var(--radius-md);
189
+ transition: border-color var(--transition-fast);
190
+ }
191
+
192
+ .sf-item:hover {
193
+ border-color: var(--border-hover);
194
+ }
195
+
196
+ .sf-icon {
197
+ font-size: 1.25rem;
198
+ flex-shrink: 0;
199
+ width: 28px;
200
+ text-align: center;
201
+ padding-top: 2px;
202
+ }
203
+
204
+ .sf-item strong {
205
+ display: block;
206
+ font-size: 0.88rem;
207
+ color: var(--text-primary);
208
+ margin-bottom: 4px;
209
+ }
210
+
211
+ .sf-item span {
212
+ font-size: 0.82rem;
213
+ color: var(--text-muted);
214
+ line-height: 1.5;
215
+ }
216
+
217
+ /* ─── Comparison Table ────────────────────────────────────────────── */
218
+ .compare-table {
219
+ width: 100%;
220
+ border-collapse: collapse;
221
+ }
222
+
223
+ .compare-table th,
224
+ .compare-table td {
225
+ padding: 14px 20px;
226
+ font-size: 0.88rem;
227
+ }
228
+
229
+ .compare-table th {
230
+ background: var(--bg-surface);
231
+ color: var(--text-muted);
232
+ font-weight: 700;
233
+ text-transform: uppercase;
234
+ letter-spacing: 0.04em;
235
+ font-size: 0.78rem;
236
+ }
237
+
238
+ .compare-table td {
239
+ border-bottom: 1px solid var(--border-color);
240
+ color: var(--text-secondary);
241
+ }
242
+
243
+ .compare-table tr:last-child td {
244
+ border-bottom: none;
245
+ }
246
+
247
+ .compare-table tr:hover td {
248
+ background: rgba(59,130,246,0.03);
249
+ }
250
+
251
+ .tc {
252
+ text-align: center !important;
253
+ }
254
+
255
+ .highlight-col {
256
+ background: rgba(139,92,246,0.04);
257
+ }
258
+
259
+ .compare-table .check {
260
+ color: var(--accent-green);
261
+ font-weight: 700;
262
+ font-size: 1rem;
263
+ }
264
+
265
+ .compare-table .cross {
266
+ color: var(--text-muted);
267
+ font-size: 0.9rem;
268
+ }
269
+
270
+ /* ─── Premium CTA ─────────────────────────────────────────────────── */
271
+ .premium-cta {
272
+ max-width: 700px;
273
+ margin: 0 auto;
274
+ }
275
+
276
+ .premium-cta h2 {
277
+ margin-bottom: 16px;
278
+ }
279
+
280
+ .premium-cta p {
281
+ color: var(--text-secondary);
282
+ font-size: 1.1rem;
283
+ line-height: 1.7;
284
+ }
285
+
286
+ /* ─── Responsive ──────────────────────────────────────────────────── */
287
+ @media (max-width: 768px) {
288
+ .service-row {
289
+ flex-direction: column;
290
+ gap: 16px;
291
+ }
292
+
293
+ .service-number {
294
+ min-width: auto;
295
+ font-size: 2.2rem;
296
+ }
297
+
298
+ .service-features {
299
+ grid-template-columns: 1fr;
300
+ }
301
+
302
+ .tier-pills {
303
+ flex-direction: column;
304
+ align-items: center;
305
+ }
306
+
307
+ .tier-pill {
308
+ width: 100%;
309
+ max-width: 360px;
310
+ }
311
+
312
+ .compare-table th,
313
+ .compare-table td {
314
+ padding: 10px 12px;
315
+ font-size: 0.8rem;
316
+ }
317
+ }