mycontext-cli 4.2.19 → 4.2.21
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.
- package/README.md +12 -10
- package/dist/agents/implementations/DemoRecorderAgent.d.ts.map +1 -1
- package/dist/agents/implementations/DemoRecorderAgent.js +297 -120
- package/dist/agents/implementations/DemoRecorderAgent.js.map +1 -1
- package/dist/agents/implementations/VisionNavigatorAgent.d.ts.map +1 -1
- package/dist/agents/implementations/VisionNavigatorAgent.js +9 -0
- package/dist/agents/implementations/VisionNavigatorAgent.js.map +1 -1
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/demo.d.ts +14 -0
- package/dist/commands/demo.d.ts.map +1 -0
- package/dist/commands/demo.js +165 -0
- package/dist/commands/demo.js.map +1 -0
- package/dist/commands/generate-components-manifest.d.ts +2 -0
- package/dist/commands/generate-components-manifest.d.ts.map +1 -1
- package/dist/commands/generate-components-manifest.js +75 -53
- package/dist/commands/generate-components-manifest.js.map +1 -1
- package/dist/commands/generate-screens-list.d.ts +2 -0
- package/dist/commands/generate-screens-list.d.ts.map +1 -1
- package/dist/commands/generate-screens-list.js +36 -0
- package/dist/commands/generate-screens-list.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +7 -3
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/mcp-start.d.ts +5 -0
- package/dist/commands/mcp-start.d.ts.map +1 -0
- package/dist/commands/mcp-start.js +29 -0
- package/dist/commands/mcp-start.js.map +1 -0
- package/dist/commands/render.d.ts +14 -0
- package/dist/commands/render.d.ts.map +1 -0
- package/dist/commands/render.js +730 -0
- package/dist/commands/render.js.map +1 -0
- package/dist/core/ai/AICore.d.ts +4 -0
- package/dist/core/ai/AICore.d.ts.map +1 -1
- package/dist/core/ai/AICore.js +12 -1
- package/dist/core/ai/AICore.js.map +1 -1
- package/dist/mcp/mycontext-server.d.ts +25 -0
- package/dist/mcp/mycontext-server.d.ts.map +1 -0
- package/dist/mcp/mycontext-server.js +265 -0
- package/dist/mcp/mycontext-server.js.map +1 -0
- package/dist/mcp/vision-test-runner.d.ts +5 -0
- package/dist/mcp/vision-test-runner.d.ts.map +1 -1
- package/dist/mcp/vision-test-runner.js +40 -1
- package/dist/mcp/vision-test-runner.js.map +1 -1
- package/dist/templates/sample-authority-blueprint.json +79 -0
- package/dist/types/blueprint-types.d.ts +82 -0
- package/dist/types/blueprint-types.d.ts.map +1 -0
- package/dist/types/blueprint-types.js +9 -0
- package/dist/types/blueprint-types.js.map +1 -0
- package/dist/utils/geminiClient.d.ts.map +1 -1
- package/dist/utils/geminiClient.js +3 -0
- package/dist/utils/geminiClient.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -29,7 +29,9 @@
|
|
|
29
29
|
|
|
30
30
|
## What is MyContext?
|
|
31
31
|
|
|
32
|
-
MyContext treats your project spec as a **Living Brain** — a structured JSON document (`.mycontext/context.json`) that describes your app's goals, architecture, components, and design system.
|
|
32
|
+
MyContext treats your project spec as a **Living Brain** — a structured JSON document (`.mycontext/context.json`) that describes your app's goals, architecture, components, and design system.
|
|
33
|
+
|
|
34
|
+
Every CLI command — such as screen mapping or component discovery — automatically synchronizes its results back into this central Brain, ensuring your documentation and your code remain perfectly aligned.
|
|
33
35
|
|
|
34
36
|
---
|
|
35
37
|
|
|
@@ -154,15 +156,14 @@ mycontext setup-mcp --provider custom --server <url>
|
|
|
154
156
|
|
|
155
157
|
#### `mycontext generate [type]`
|
|
156
158
|
|
|
157
|
-
Orchestrate the Living Brain — generate context files, types, brand tokens, and more.
|
|
159
|
+
Orchestrate the Living Brain — generate context files, types, brand tokens, and more. All generation commands automatically synchronize their results into `.mycontext/context.json`.
|
|
158
160
|
|
|
159
161
|
```bash
|
|
160
162
|
mycontext generate context --full # Full PRD + A/B/C/D context files
|
|
161
163
|
mycontext generate context # Incremental update
|
|
162
|
-
mycontext generate
|
|
163
|
-
mycontext generate
|
|
164
|
-
mycontext generate
|
|
165
|
-
mycontext generate components-manifest # Component props + sample data
|
|
164
|
+
mycontext generate:screens-list # Sync routes to the Brain
|
|
165
|
+
mycontext generate:components-manifest # Sync component specs to the Brain
|
|
166
|
+
mycontext generate design-prompt # AI design brief for UI designer
|
|
166
167
|
mycontext generate actions # UI→backend action hooks
|
|
167
168
|
mycontext generate assets # Planned asset list
|
|
168
169
|
mycontext generate sample-data # Seed data for development
|
|
@@ -401,11 +402,12 @@ mycontext help generate --verbose
|
|
|
401
402
|
|
|
402
403
|
```bash
|
|
403
404
|
mkdir my-app && cd my-app
|
|
404
|
-
mycontext init --
|
|
405
|
-
mycontext setup # Configure AI keys
|
|
405
|
+
mycontext init --spec-only # Context files only
|
|
406
|
+
mycontext setup # Configure AI keys (Gemini, Claude, etc.)
|
|
406
407
|
mycontext generate context --full # Build the Living Brain
|
|
407
|
-
mycontext generate
|
|
408
|
-
mycontext
|
|
408
|
+
mycontext generate:screens-list # Map routes to Brain
|
|
409
|
+
mycontext generate:components-manifest # Map component specs to Brain
|
|
410
|
+
mycontext generate:design-prompt # Ready for UI designer handoff
|
|
409
411
|
```
|
|
410
412
|
|
|
411
413
|
### Adding a feature to an existing project
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DemoRecorderAgent.d.ts","sourceRoot":"","sources":["../../../src/agents/implementations/DemoRecorderAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAQ,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,QAAQ,EACT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAQpC,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,iBACX,YAAW,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAE1D,IAAI,SAAuB;IAC3B,WAAW,SACoE;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAS;;IAmBlB,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0GhE;;;OAGG;YACW,aAAa;
|
|
1
|
+
{"version":3,"file":"DemoRecorderAgent.d.ts","sourceRoot":"","sources":["../../../src/agents/implementations/DemoRecorderAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAQ,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,QAAQ,EACT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAQpC,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,iBACX,YAAW,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAE1D,IAAI,SAAuB;IAC3B,WAAW,SACoE;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAS;;IAmBlB,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0GhE;;;OAGG;YACW,aAAa;IAsB3B;;OAEG;YACW,mBAAmB;IAiCjC;;OAEG;YACW,kBAAkB;IAsBhC;;OAEG;YACW,sBAAsB;IAsDpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwY/B;;OAEG;YACW,gBAAgB;IAyBxB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IASpD,SAAS,IAAI,OAAO,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;QACnD,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CAQH"}
|
|
@@ -147,20 +147,15 @@ are smooth, your screenshots are timed perfectly, and your scripts are engaging
|
|
|
147
147
|
*/
|
|
148
148
|
async generateVideo(browserContext, steps, config) {
|
|
149
149
|
// Playwright automatically records video if configured in BrowserContext
|
|
150
|
-
// We
|
|
151
|
-
//
|
|
152
|
-
|
|
153
|
-
//
|
|
154
|
-
|
|
155
|
-
// 3. Calculate duration and size
|
|
156
|
-
const videoPath = path.join(this.demoDir, "demo-video.webm");
|
|
157
|
-
// Placeholder video stats
|
|
158
|
-
const duration = steps.length * 3; // ~3 seconds per step
|
|
159
|
-
const size = 1024 * 1024 * 5; // 5MB placeholder
|
|
150
|
+
// We get the final path in VisionTestRunner after closing.
|
|
151
|
+
// Here we just define where we WANT the video to be.
|
|
152
|
+
const videoPath = path.join(this.demoDir, "video.webm");
|
|
153
|
+
// Placeholder stats, will be updated by runner
|
|
154
|
+
const duration = steps.length * 3;
|
|
160
155
|
return {
|
|
161
156
|
path: videoPath,
|
|
162
157
|
duration,
|
|
163
|
-
size,
|
|
158
|
+
size: 0,
|
|
164
159
|
resolution: config.videoQuality || "1080p",
|
|
165
160
|
};
|
|
166
161
|
}
|
|
@@ -281,161 +276,343 @@ are smooth, your screenshots are timed perfectly, and your scripts are engaging
|
|
|
281
276
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
282
277
|
<title>${title} - Demo Replay</title>
|
|
283
278
|
<style>
|
|
279
|
+
:root {
|
|
280
|
+
--bg-color: #0d1117;
|
|
281
|
+
--card-bg: #161b22;
|
|
282
|
+
--border-color: #30363d;
|
|
283
|
+
--text-main: #e6edf3;
|
|
284
|
+
--text-muted: #8b949e;
|
|
285
|
+
--accent-color: #f85149;
|
|
286
|
+
--accent-glow: rgba(248, 81, 73, 0.4);
|
|
287
|
+
--success-color: #238636;
|
|
288
|
+
}
|
|
289
|
+
|
|
284
290
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
291
|
+
|
|
285
292
|
body {
|
|
286
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
287
|
-
background:
|
|
288
|
-
|
|
293
|
+
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
294
|
+
background: var(--bg-color);
|
|
295
|
+
color: var(--text-main);
|
|
296
|
+
padding: 0;
|
|
297
|
+
line-height: 1.6;
|
|
289
298
|
}
|
|
290
|
-
|
|
291
|
-
.
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
299
|
+
|
|
300
|
+
.container {
|
|
301
|
+
max-width: 1400px;
|
|
302
|
+
margin: 0 auto;
|
|
303
|
+
display: grid;
|
|
304
|
+
grid-template-columns: 350px 1fr;
|
|
305
|
+
height: 100vh;
|
|
306
|
+
overflow: hidden;
|
|
297
307
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
.
|
|
301
|
-
background:
|
|
308
|
+
|
|
309
|
+
/* Sidebar */
|
|
310
|
+
.sidebar {
|
|
311
|
+
background: var(--card-bg);
|
|
312
|
+
border-right: 1px solid var(--border-color);
|
|
313
|
+
padding: 40px 20px;
|
|
314
|
+
display: flex;
|
|
315
|
+
flex-direction: column;
|
|
316
|
+
gap: 30px;
|
|
317
|
+
overflow-y: auto;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.brand {
|
|
321
|
+
display: flex;
|
|
322
|
+
align-items: center;
|
|
323
|
+
gap: 12px;
|
|
324
|
+
font-weight: 800;
|
|
325
|
+
font-size: 1.2rem;
|
|
326
|
+
letter-spacing: -0.02em;
|
|
327
|
+
color: var(--accent-color);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
.mission-card {
|
|
331
|
+
background: rgba(255, 255, 255, 0.03);
|
|
332
|
+
border: 1px solid var(--border-color);
|
|
302
333
|
padding: 20px;
|
|
303
334
|
border-radius: 12px;
|
|
304
|
-
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.mission-card h3 {
|
|
338
|
+
font-size: 0.8rem;
|
|
339
|
+
text-transform: uppercase;
|
|
340
|
+
color: var(--text-muted);
|
|
341
|
+
margin-bottom: 10px;
|
|
342
|
+
letter-spacing: 0.05em;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.step-list {
|
|
305
346
|
display: flex;
|
|
347
|
+
flex-direction: column;
|
|
306
348
|
gap: 10px;
|
|
307
|
-
align-items: center;
|
|
308
|
-
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
309
349
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
border-radius:
|
|
314
|
-
background: #007bff;
|
|
315
|
-
color: white;
|
|
350
|
+
|
|
351
|
+
.step-item {
|
|
352
|
+
padding: 12px 15px;
|
|
353
|
+
border-radius: 8px;
|
|
316
354
|
cursor: pointer;
|
|
317
|
-
|
|
318
|
-
transition:
|
|
355
|
+
border: 1px solid transparent;
|
|
356
|
+
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
357
|
+
font-size: 0.9rem;
|
|
358
|
+
color: var(--text-muted);
|
|
359
|
+
display: flex;
|
|
360
|
+
align-items: center;
|
|
361
|
+
gap: 10px;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.step-item:hover {
|
|
365
|
+
background: rgba(255, 255, 255, 0.05);
|
|
319
366
|
}
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
background:
|
|
323
|
-
|
|
367
|
+
|
|
368
|
+
.step-item.active {
|
|
369
|
+
background: rgba(248, 81, 73, 0.1);
|
|
370
|
+
border-color: var(--accent-color);
|
|
371
|
+
color: var(--text-main);
|
|
324
372
|
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
373
|
+
|
|
374
|
+
.step-number {
|
|
375
|
+
width: 24px;
|
|
376
|
+
height: 24px;
|
|
377
|
+
border-radius: 50%;
|
|
378
|
+
background: var(--border-color);
|
|
379
|
+
display: flex;
|
|
380
|
+
align-items: center;
|
|
381
|
+
justify-content: center;
|
|
382
|
+
font-size: 0.75rem;
|
|
383
|
+
font-weight: bold;
|
|
329
384
|
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
border-radius: 12px;
|
|
334
|
-
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
385
|
+
|
|
386
|
+
.active .step-number {
|
|
387
|
+
background: var(--accent-color);
|
|
335
388
|
}
|
|
336
|
-
|
|
389
|
+
|
|
390
|
+
/* Main Content */
|
|
391
|
+
.main-view {
|
|
392
|
+
padding: 40px;
|
|
393
|
+
overflow-y: auto;
|
|
394
|
+
background-image: radial-gradient(circle at 2px 2px, rgba(255,255,255,0.05) 1px, transparent 0);
|
|
395
|
+
background-size: 40px 40px;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
.step-detail { display: none; }
|
|
399
|
+
.step-detail.active { display: block; animation: fadeIn 0.4s ease-out; }
|
|
400
|
+
|
|
401
|
+
@keyframes fadeIn {
|
|
402
|
+
from { opacity: 0; transform: translateY(10px); }
|
|
403
|
+
to { opacity: 1; transform: translateY(0); }
|
|
404
|
+
}
|
|
405
|
+
|
|
337
406
|
.step-header {
|
|
407
|
+
margin-bottom: 30px;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.step-header h2 {
|
|
411
|
+
font-size: 2rem;
|
|
412
|
+
margin-bottom: 10px;
|
|
413
|
+
letter-spacing: -0.03em;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.tag-row {
|
|
338
417
|
display: flex;
|
|
339
|
-
|
|
340
|
-
align-items: center;
|
|
418
|
+
gap: 10px;
|
|
341
419
|
margin-bottom: 20px;
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
border-radius: 20px;
|
|
349
|
-
font-size: 14px;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
.tag {
|
|
423
|
+
padding: 4px 12px;
|
|
424
|
+
border-radius: 100px;
|
|
425
|
+
font-size: 0.75rem;
|
|
350
426
|
font-weight: 600;
|
|
427
|
+
background: var(--border-color);
|
|
428
|
+
text-transform: uppercase;
|
|
351
429
|
}
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
430
|
+
|
|
431
|
+
.tag.action { background: var(--accent-color); color: white; }
|
|
432
|
+
|
|
433
|
+
.analysis-grid {
|
|
434
|
+
display: grid;
|
|
435
|
+
grid-template-columns: 1fr 1fr;
|
|
436
|
+
gap: 20px;
|
|
437
|
+
margin-bottom: 30px;
|
|
355
438
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
439
|
+
|
|
440
|
+
.analysis-card {
|
|
441
|
+
background: var(--card-bg);
|
|
442
|
+
border: 1px solid var(--border-color);
|
|
443
|
+
padding: 20px;
|
|
444
|
+
border-radius: 12px;
|
|
359
445
|
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
color:
|
|
363
|
-
|
|
446
|
+
|
|
447
|
+
.analysis-card h4 {
|
|
448
|
+
color: var(--text-muted);
|
|
449
|
+
font-size: 0.8rem;
|
|
450
|
+
margin-bottom: 10px;
|
|
451
|
+
text-transform: uppercase;
|
|
364
452
|
}
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
453
|
+
|
|
454
|
+
.screenshot-container {
|
|
455
|
+
position: relative;
|
|
456
|
+
border-radius: 16px;
|
|
457
|
+
overflow: hidden;
|
|
458
|
+
border: 1px solid var(--border-color);
|
|
459
|
+
box-shadow: 0 20px 40px rgba(0,0,0,0.4);
|
|
460
|
+
background: #000;
|
|
371
461
|
}
|
|
372
|
-
|
|
373
|
-
|
|
462
|
+
|
|
463
|
+
.screenshot-container img {
|
|
464
|
+
width: 100%;
|
|
374
465
|
height: auto;
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
466
|
+
display: block;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
.floating-controls {
|
|
470
|
+
position: fixed;
|
|
471
|
+
bottom: 40px;
|
|
472
|
+
right: 40px;
|
|
473
|
+
background: rgba(22, 27, 34, 0.8);
|
|
474
|
+
backdrop-filter: blur(12px);
|
|
475
|
+
padding: 10px;
|
|
476
|
+
border-radius: 100px;
|
|
477
|
+
border: 1px solid var(--border-color);
|
|
478
|
+
display: flex;
|
|
479
|
+
gap: 5px;
|
|
480
|
+
box-shadow: 0 10px 30px rgba(0,0,0,0.3);
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.control-btn {
|
|
484
|
+
width: 44px;
|
|
485
|
+
height: 44px;
|
|
486
|
+
border-radius: 50%;
|
|
487
|
+
border: none;
|
|
488
|
+
background: transparent;
|
|
489
|
+
color: white;
|
|
490
|
+
cursor: pointer;
|
|
491
|
+
display: flex;
|
|
492
|
+
align-items: center;
|
|
493
|
+
justify-content: center;
|
|
494
|
+
transition: background 0.2s;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
.control-btn:hover { background: rgba(255,255,255,0.1); }
|
|
498
|
+
.control-btn:disabled { opacity: 0.3; cursor: not-allowed; }
|
|
499
|
+
|
|
500
|
+
.reasoning-text {
|
|
501
|
+
font-style: italic;
|
|
502
|
+
color: var(--text-muted);
|
|
378
503
|
}
|
|
379
504
|
</style>
|
|
380
505
|
</head>
|
|
381
506
|
<body>
|
|
382
507
|
<div class="container">
|
|
383
|
-
<
|
|
384
|
-
<
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
<
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
<
|
|
508
|
+
<aside class="sidebar">
|
|
509
|
+
<div class="brand">
|
|
510
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M2 12h20M5 5l14 14M19 5L5 14"/></svg>
|
|
511
|
+
MYCONTEXT AGENT
|
|
512
|
+
</div>
|
|
513
|
+
|
|
514
|
+
<div class="mission-card">
|
|
515
|
+
<h3>Primary Objective</h3>
|
|
516
|
+
<p>${title}</p>
|
|
517
|
+
<p style="font-size: 0.8rem; color: var(--text-muted); margin-top: 10px;">
|
|
518
|
+
${description || ""}
|
|
519
|
+
</p>
|
|
393
520
|
</div>
|
|
394
|
-
</div>
|
|
395
521
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
522
|
+
<nav class="step-list">
|
|
523
|
+
${steps
|
|
524
|
+
.map((s, i) => `
|
|
525
|
+
<div class="step-item ${i === 0 ? "active" : ""}" onclick="showStep(${i})" id="sidemenu-${i}">
|
|
526
|
+
<div class="step-number">${i + 1}</div>
|
|
527
|
+
<div class="step-label">${s.action}</div>
|
|
528
|
+
</div>
|
|
529
|
+
`)
|
|
530
|
+
.join("")}
|
|
531
|
+
</nav>
|
|
532
|
+
</aside>
|
|
533
|
+
|
|
534
|
+
<main class="main-view">
|
|
535
|
+
${steps
|
|
536
|
+
.map((step, index) => {
|
|
537
|
+
const screenshotSrc = step.screenshot
|
|
538
|
+
? path.relative(this.demoDir, step.screenshot)
|
|
539
|
+
: "";
|
|
540
|
+
return `
|
|
541
|
+
<div class="step-detail ${index === 0 ? "active" : ""}" data-step="${index}">
|
|
542
|
+
<div class="step-header">
|
|
543
|
+
<div class="tag-row">
|
|
544
|
+
<span class="tag action">${step.action}</span>
|
|
545
|
+
<span class="tag">${step.success ? "Success" : "Failed"}</span>
|
|
546
|
+
</div>
|
|
547
|
+
<h2>${step.intent}</h2>
|
|
548
|
+
</div>
|
|
549
|
+
|
|
550
|
+
<div class="analysis-grid">
|
|
551
|
+
<div class="analysis-card">
|
|
552
|
+
<h4>🎯 Intent & Strategy</h4>
|
|
553
|
+
<p>${step.intent}</p>
|
|
554
|
+
${step.visionDecision
|
|
555
|
+
? `<p class="reasoning-text" style="margin-top:10px">"${step.visionDecision.reasoning}"</p>`
|
|
556
|
+
: ""}
|
|
557
|
+
</div>
|
|
558
|
+
<div class="analysis-card">
|
|
559
|
+
<h4>🤖 Agent Insight</h4>
|
|
560
|
+
<p>${step.visionDecision?.visualContext || "Analyzing UI patterns..."}</p>
|
|
561
|
+
</div>
|
|
562
|
+
</div>
|
|
563
|
+
|
|
564
|
+
<div class="screenshot-container">
|
|
565
|
+
${screenshotSrc ? `<img src="${screenshotSrc}" alt="Step ${index + 1}" />` : ""}
|
|
566
|
+
</div>
|
|
567
|
+
|
|
568
|
+
${step.error ? `<div class="error" style="background:rgba(248,81,73,0.1); border:1px solid var(--accent-color); padding:20px; margin-top:20px; border-radius:12px; color:var(--accent-color);"><strong>Error:</strong> ${step.error}</div>` : ""}
|
|
569
|
+
</div>
|
|
570
|
+
`;
|
|
571
|
+
})
|
|
572
|
+
.join("")}
|
|
573
|
+
|
|
574
|
+
<div class="floating-controls">
|
|
575
|
+
<button class="control-btn" id="prevBtn" title="Previous Step (Left Arrow)">
|
|
576
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>
|
|
577
|
+
</button>
|
|
578
|
+
<button class="control-btn" id="nextBtn" title="Next Step (Right Arrow)">
|
|
579
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg>
|
|
580
|
+
</button>
|
|
581
|
+
</div>
|
|
582
|
+
</main>
|
|
399
583
|
</div>
|
|
400
584
|
|
|
401
585
|
<script>
|
|
402
586
|
let currentStep = 0;
|
|
403
587
|
const totalSteps = ${steps.length};
|
|
404
588
|
|
|
405
|
-
const prevBtn = document.getElementById('prevBtn');
|
|
406
|
-
const nextBtn = document.getElementById('nextBtn');
|
|
407
|
-
const currentStepSpan = document.getElementById('currentStep');
|
|
408
|
-
|
|
409
589
|
function showStep(index) {
|
|
410
|
-
|
|
411
|
-
|
|
590
|
+
if (index < 0 || index >= totalSteps) return;
|
|
591
|
+
|
|
592
|
+
// Update detail cards
|
|
593
|
+
document.querySelectorAll('.step-detail').forEach(d => {
|
|
594
|
+
d.classList.remove('active');
|
|
412
595
|
});
|
|
596
|
+
document.querySelector(\`[data-step="\${index}"]\`).classList.add('active');
|
|
413
597
|
|
|
414
|
-
|
|
415
|
-
|
|
598
|
+
// Update sidebar
|
|
599
|
+
document.querySelectorAll('.step-item').forEach(i => {
|
|
600
|
+
i.classList.remove('active');
|
|
601
|
+
});
|
|
602
|
+
document.getElementById(\`sidemenu-\${index}\`).classList.add('active');
|
|
416
603
|
|
|
417
604
|
currentStep = index;
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
nextBtn.disabled = index === totalSteps - 1;
|
|
605
|
+
|
|
606
|
+
document.getElementById('prevBtn').disabled = index === 0;
|
|
607
|
+
document.getElementById('nextBtn').disabled = index === totalSteps - 1;
|
|
422
608
|
}
|
|
423
609
|
|
|
424
|
-
prevBtn.addEventListener('click', () =>
|
|
425
|
-
|
|
426
|
-
});
|
|
427
|
-
|
|
428
|
-
nextBtn.addEventListener('click', () => {
|
|
429
|
-
if (currentStep < totalSteps - 1) showStep(currentStep + 1);
|
|
430
|
-
});
|
|
610
|
+
document.getElementById('prevBtn').addEventListener('click', () => showStep(currentStep - 1));
|
|
611
|
+
document.getElementById('nextBtn').addEventListener('click', () => showStep(currentStep + 1));
|
|
431
612
|
|
|
432
|
-
// Keyboard navigation
|
|
433
613
|
document.addEventListener('keydown', (e) => {
|
|
434
|
-
if (e.key === 'ArrowLeft'
|
|
435
|
-
|
|
436
|
-
} else if (e.key === 'ArrowRight' && currentStep < totalSteps - 1) {
|
|
437
|
-
showStep(currentStep + 1);
|
|
438
|
-
}
|
|
614
|
+
if (e.key === 'ArrowLeft') showStep(currentStep - 1);
|
|
615
|
+
if (e.key === 'ArrowRight') showStep(currentStep + 1);
|
|
439
616
|
});
|
|
440
617
|
|
|
441
618
|
// Initialize
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DemoRecorderAgent.js","sourceRoot":"","sources":["../../../src/agents/implementations/DemoRecorderAgent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DemoRecorderAgent.js","sourceRoot":"","sources":["../../../src/agents/implementations/DemoRecorderAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisionNavigatorAgent.d.ts","sourceRoot":"","sources":["../../../src/agents/implementations/VisionNavigatorAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EACL,QAAQ,EAGT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EAEjB,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAMpC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,oBACX,YAAW,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAEhE,IAAI,SAA0B;IAC9B,WAAW,SAC6E;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,YAAY,CAAC,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAiB;;IAkBlC,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"VisionNavigatorAgent.d.ts","sourceRoot":"","sources":["../../../src/agents/implementations/VisionNavigatorAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EACL,QAAQ,EAGT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EAEjB,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAMpC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,oBACX,YAAW,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAEhE,IAAI,SAA0B;IAC9B,WAAW,SAC6E;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,YAAY,CAAC,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAiB;;IAkBlC,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuOtE;;OAEG;YACW,aAAa;IAyG3B;;OAEG;YACW,gBAAgB;IA4BxB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,SAAS,IAAI,OAAO,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;QACnD,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CAQH"}
|
|
@@ -122,6 +122,15 @@ your actions against the project's Prime Objective to prevent mission drift.`;
|
|
|
122
122
|
// 3. ACT: Execute the decided action
|
|
123
123
|
console.log(chalk_1.default.magenta(`\n⚡ Acting: Executing ${decision.action}...`));
|
|
124
124
|
const step = await this.executeAction(page, decision, stepOrder++, mission);
|
|
125
|
+
// Attach screenshot and visual analysis from the OBSERVE phase
|
|
126
|
+
step.screenshot = pageAnalysis.screenshot;
|
|
127
|
+
step.visualAnalysis = {
|
|
128
|
+
componentsDetected: pageAnalysis.elements.map(e => e.description),
|
|
129
|
+
interactiveElements: pageAnalysis.interactiveElements.map(e => e.description),
|
|
130
|
+
textContent: [pageAnalysis.uiState.mainContent],
|
|
131
|
+
colorPalette: pageAnalysis.designSystem.colors,
|
|
132
|
+
layoutStructure: pageAnalysis.layoutStructure.type
|
|
133
|
+
};
|
|
125
134
|
steps.push(step);
|
|
126
135
|
// Write step to Living Brain
|
|
127
136
|
await this.writeLivingBrain({
|