@wa008/ui-audit-mcp 2.0.0 → 2.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.
- package/dist/src/evaluation/checklist.d.ts +1 -1
- package/dist/src/evaluation/checklist.d.ts.map +1 -1
- package/dist/src/evaluation/checklist.js +85 -49
- package/dist/src/evaluation/checklist.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/logger/audit-log.d.ts +1 -1
- package/dist/src/logger/audit-log.d.ts.map +1 -1
- package/dist/src/logger/audit-log.js +2 -1
- package/dist/src/logger/audit-log.js.map +1 -1
- package/dist/src/tools/get-audit-status.d.ts.map +1 -1
- package/dist/src/tools/get-audit-status.js +3 -0
- package/dist/src/tools/get-audit-status.js.map +1 -1
- package/dist/src/tools/submit-dimension-score.js +1 -1
- package/dist/src/tools/swipe.d.ts +3 -0
- package/dist/src/tools/swipe.d.ts.map +1 -1
- package/dist/src/tools/swipe.js +4 -2
- package/dist/src/tools/swipe.js.map +1 -1
- package/dist/src/tools/take-screenshot.d.ts +3 -0
- package/dist/src/tools/take-screenshot.d.ts.map +1 -1
- package/dist/src/tools/take-screenshot.js +4 -2
- package/dist/src/tools/take-screenshot.js.map +1 -1
- package/dist/src/tools/tap.d.ts +3 -0
- package/dist/src/tools/tap.d.ts.map +1 -1
- package/dist/src/tools/tap.js +4 -2
- package/dist/src/tools/tap.js.map +1 -1
- package/dist/src/types.d.ts +1 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChecklistItem } from "../types.js";
|
|
2
|
-
/** System-wide UI quality audit dimensions */
|
|
2
|
+
/** System-wide UI quality audit dimensions — strict scoring */
|
|
3
3
|
export declare const DIMENSIONS: ChecklistItem[];
|
|
4
4
|
export declare const REQUIRED_DIMS: string[];
|
|
5
5
|
export declare const PASSING_SCORE = 8;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist.d.ts","sourceRoot":"","sources":["../../../src/evaluation/checklist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"checklist.d.ts","sourceRoot":"","sources":["../../../src/evaluation/checklist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,+DAA+D;AAC/D,eAAO,MAAM,UAAU,EAAE,aAAa,EA+GrC,CAAC;AAEF,eAAO,MAAM,aAAa,UAA4B,CAAC;AACvD,eAAO,MAAM,aAAa,IAAI,CAAC"}
|
|
@@ -1,68 +1,104 @@
|
|
|
1
|
-
/** System-wide UI quality audit dimensions */
|
|
1
|
+
/** System-wide UI quality audit dimensions — strict scoring */
|
|
2
2
|
export const DIMENSIONS = [
|
|
3
3
|
{
|
|
4
4
|
id: "overlap",
|
|
5
5
|
name: "Element Overlap & Safe Areas",
|
|
6
|
-
description: "
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
6
|
+
description: "You are a strict QA inspector. Your job is to find overlap problems, not to praise the UI.\n" +
|
|
7
|
+
"Assume there ARE problems until you have carefully verified every region.\n\n" +
|
|
8
|
+
"CHECK EACH REGION METHODICALLY — report what you see in each:\n" +
|
|
9
|
+
"1. TOP-RIGHT CORNER: Is there ANY element (button, icon, badge) that sits within or touches the status bar zone or Dynamic Island area? " +
|
|
10
|
+
"Look very carefully at the vertical position of the topmost UI element on the right side. " +
|
|
11
|
+
"If its top edge is within ~54pt of the screen top on a notch/Dynamic Island device, it is overlapping. This is a CRITICAL failure.\n" +
|
|
12
|
+
"2. TOP-LEFT CORNER: Same check — any element intruding into the status bar time/signal area?\n" +
|
|
13
|
+
"3. STATUS BAR ZONE: Does ANY app content (text, header background, button) extend behind the system time, battery, or signal indicators? Even partial intrusion = failure.\n" +
|
|
14
|
+
"4. BOTTOM SAFE AREA: Does any content overlap with the home indicator bar?\n" +
|
|
15
|
+
"5. INTER-ELEMENT: Do any two app elements (buttons, text, images, cards) visually overlap each other?\n" +
|
|
16
|
+
"6. MODAL/POPUP: If present, does it unintentionally cover critical content?\n\n" +
|
|
17
|
+
"SCORING ATTITUDE: If you are unsure whether something overlaps, score LOW. " +
|
|
18
|
+
"The purpose of this audit is to catch problems, not to give the benefit of the doubt.\n" +
|
|
19
|
+
"NOTE: Do NOT evaluate spacing aesthetics (layout), colors (style), or text meaning (info_clarity).",
|
|
20
|
+
scoringGuide: "0-2: Any element overlaps status bar, Dynamic Island, notch, or home indicator. Or two elements clearly cover each other.\n" +
|
|
21
|
+
"3-4: An element is dangerously close to a safe area boundary (<8pt margin) — likely overlapping on some devices.\n" +
|
|
22
|
+
"5-6: All elements are within safe areas but margins are tight (<12pt). Risk of overlap on larger text sizes or different devices.\n" +
|
|
23
|
+
"7-8: All elements are clearly within safe areas with comfortable margins (>=16pt). No inter-element overlap detected.\n" +
|
|
24
|
+
"9-10: Perfect — generous safe area margins on all sides, zero overlap risk. ONLY give 9-10 if you are absolutely certain after checking every corner.",
|
|
18
25
|
},
|
|
19
26
|
{
|
|
20
27
|
id: "layout",
|
|
21
28
|
name: "Layout & Spatial Balance",
|
|
22
|
-
description: "
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
"
|
|
29
|
+
description: "You are a strict QA inspector for layout quality. Your job is to find spatial problems.\n" +
|
|
30
|
+
"Assume the layout has issues until you verify otherwise.\n\n" +
|
|
31
|
+
"CHECK EACH ASPECT:\n" +
|
|
32
|
+
"1. LETTERBOXING: Does the app appear to run inside a smaller box with black/empty bars? This is score 0, no exceptions.\n" +
|
|
33
|
+
"2. SCREEN UTILIZATION: Is there a large empty area that serves no purpose? Is content crammed into only half the screen while the rest is wasted?\n" +
|
|
34
|
+
"3. ALIGNMENT: Pick any two similar elements (e.g., two cards, two labels). Are their left edges aligned? Are the gaps between them equal? Misalignment = deduction.\n" +
|
|
35
|
+
"4. SPACING: Are gaps between elements consistent? Measure visually: if card A-to-B gap looks different from card B-to-C gap, that is a problem.\n" +
|
|
36
|
+
"5. RESPONSIVE FIT: Does the layout feel designed for this screen size, or does it look like it was designed for a different device?\n\n" +
|
|
37
|
+
"SCORING ATTITUDE: Do not be generous. A 'basically fine' layout is a 6, not an 8.\n" +
|
|
38
|
+
"NOTE: Do NOT evaluate overlap (that is overlap), colors (that is style), or text meaning (that is info_clarity).",
|
|
39
|
+
scoringGuide: "0-2: Letterboxing detected, or layout is severely broken (elements piled up, massive empty areas, content off-screen).\n" +
|
|
40
|
+
"3-4: Major layout issues — clearly uneven spacing, significant misalignment, or large wasted areas.\n" +
|
|
41
|
+
"5-6: Layout is functional but has noticeable imperfections — some uneven spacing or minor alignment issues. This is the 'OK but not great' range.\n" +
|
|
42
|
+
"7-8: Well-structured layout with only very minor imperfections that require careful inspection to notice.\n" +
|
|
43
|
+
"9-10: Flawless — pixel-perfect alignment, perfectly consistent spacing, optimal screen utilization. Extremely rare.",
|
|
34
44
|
},
|
|
35
45
|
{
|
|
36
46
|
id: "info_clarity",
|
|
37
47
|
name: "Information Clarity & Readability",
|
|
38
|
-
description: "
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
48
|
+
description: "You are a strict QA inspector for information clarity. Your job is to find confusing elements.\n" +
|
|
49
|
+
"Imagine you are a FIRST-TIME user of this app who has never seen it before.\n\n" +
|
|
50
|
+
"CHECK EACH ASPECT:\n" +
|
|
51
|
+
"1. FIRST IMPRESSION: Within 2 seconds of looking at this screen, can you tell what it does and what the main action is? If not, that is a problem.\n" +
|
|
52
|
+
"2. BUTTON LABELS: Read every button/link text. Would a first-time user understand what each does? 'Submit' is clearer than a bare icon.\n" +
|
|
53
|
+
"3. HIERARCHY: Is the most important element (title, CTA) visually the most prominent? Or is secondary info competing for attention?\n" +
|
|
54
|
+
"4. TEXT TRUNCATION: Is any text cut off with '...' or overflowing? Even one truncated label = deduction.\n" +
|
|
55
|
+
"5. CONTRAST: Is all text easily readable against its background? Check small/light text especially.\n" +
|
|
56
|
+
"6. ICON MEANING: Are there any icons without labels that could be ambiguous?\n\n" +
|
|
57
|
+
"SCORING ATTITUDE: If any single element is confusing, cap the score at 7. " +
|
|
58
|
+
"Multiple unclear elements = score 5 or below.\n" +
|
|
59
|
+
"NOTE: Do NOT evaluate spacing (layout), overlap (overlap), or color harmony (style).",
|
|
60
|
+
scoringGuide: "0-2: Screen purpose is unclear, CTA is missing/hidden, or labels are severely misleading.\n" +
|
|
61
|
+
"3-4: Core purpose is guessable but requires effort. Multiple ambiguous labels or icons.\n" +
|
|
62
|
+
"5-6: Generally understandable but has 1-2 confusing elements (ambiguous icon, truncated text, weak hierarchy).\n" +
|
|
63
|
+
"7-8: Clear and well-organized with only one very minor issue. First-time user would understand immediately.\n" +
|
|
64
|
+
"9-10: Crystal clear — perfect hierarchy, unambiguous labels, no truncation, excellent contrast. Every element self-explanatory.",
|
|
50
65
|
},
|
|
51
66
|
{
|
|
52
67
|
id: "style",
|
|
53
68
|
name: "Visual Style & Consistency",
|
|
54
|
-
description: "
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
"
|
|
69
|
+
description: "You are a strict QA inspector for visual design consistency. Your job is to find inconsistencies.\n" +
|
|
70
|
+
"Compare every element against every other element of the same type.\n\n" +
|
|
71
|
+
"CHECK EACH ASPECT:\n" +
|
|
72
|
+
"1. COLOR PALETTE: Count the number of distinct colors used. Do they feel intentional and harmonious, or random?\n" +
|
|
73
|
+
"2. TYPOGRAPHY: Are there more than 2 font sizes that don't follow a clear scale? Mixed font weights without reason?\n" +
|
|
74
|
+
"3. COMPONENT STYLING: Compare all buttons — same corner radius? Same padding? Compare all cards — same shadow, border, background?\n" +
|
|
75
|
+
"4. ICONOGRAPHY: Are all icons the same style (outline vs filled, same stroke width)? Mixed styles = deduction.\n" +
|
|
76
|
+
"5. POLISH: Does it look professionally designed or like a prototype? Placeholder content (e.g., 'Lorem ipsum', stock icons) = major deduction.\n\n" +
|
|
77
|
+
"SCORING ATTITUDE: Consistency is binary per element — if two buttons look different, they are inconsistent, period.\n" +
|
|
78
|
+
"NOTE: Do NOT evaluate text meaning (info_clarity), spatial layout (layout), or overlap (overlap).",
|
|
79
|
+
scoringGuide: "0-2: No design system — clashing colors, random fonts, inconsistent components everywhere.\n" +
|
|
80
|
+
"3-4: Some design intent visible but multiple clear inconsistencies (different button styles, mixed icon sets).\n" +
|
|
81
|
+
"5-6: Basic consistency exists but with noticeable deviations. 'Mostly OK' = 6 at best.\n" +
|
|
82
|
+
"7-8: Strong consistency with only 1 minor deviation requiring careful inspection.\n" +
|
|
83
|
+
"9-10: Pixel-perfect design system adherence. Every element cohesive. Extremely rare.",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: "action_result",
|
|
87
|
+
name: "Action Result Verification",
|
|
88
|
+
description: "You are a strict QA inspector verifying whether the action actually worked.\n" +
|
|
89
|
+
"The step's expectedOutcome describes what SHOULD have happened. Compare the screenshot against it.\n\n" +
|
|
90
|
+
"CHECK EACH ASPECT:\n" +
|
|
91
|
+
"1. SCREEN TRANSITION: If the action was a navigation tap, did the correct destination screen appear? Wrong screen = score 0.\n" +
|
|
92
|
+
"2. STATE CHANGE: If the action should toggle/add/remove something, is that change visually confirmed in the screenshot?\n" +
|
|
93
|
+
"3. ERROR PRESENCE: Are there any error dialogs, crash screens, or infinite loading spinners? These indicate failure.\n" +
|
|
94
|
+
"4. NO RESPONSE: Does the screen look identical to before the action? If so, the action likely missed or failed.\n\n" +
|
|
95
|
+
"SCORING ATTITUDE: If the expectedOutcome is not clearly achieved, score LOW. Partial success is still a problem.\n" +
|
|
96
|
+
"If this step is a pure observation (no expectedOutcome), score 10.",
|
|
97
|
+
scoringGuide: "0-2: Action clearly failed — wrong screen, error dialog, crash, or no UI response at all.\n" +
|
|
98
|
+
"3-4: Action had some effect but the result does not match expectedOutcome (e.g., navigated to wrong tab).\n" +
|
|
99
|
+
"5-6: Action partially achieved the goal but with unexpected side effects or missing expected elements.\n" +
|
|
100
|
+
"7-8: Action succeeded — the expected screen/state is present but with minor discrepancies.\n" +
|
|
101
|
+
"9-10: Action fully succeeded — screenshot exactly matches expectedOutcome. Or no expectedOutcome (pure observation).",
|
|
66
102
|
},
|
|
67
103
|
];
|
|
68
104
|
export const REQUIRED_DIMS = DIMENSIONS.map(d => d.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../../src/evaluation/checklist.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../../src/evaluation/checklist.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,UAAU,GAAoB;IACvC;QACI,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACP,8FAA8F;YAC9F,+EAA+E;YAC/E,iEAAiE;YACjE,0IAA0I;YAC1I,4FAA4F;YAC5F,sIAAsI;YACtI,gGAAgG;YAChG,8KAA8K;YAC9K,8EAA8E;YAC9E,yGAAyG;YACzG,iFAAiF;YACjF,6EAA6E;YAC7E,yFAAyF;YACzF,oGAAoG;QACxG,YAAY,EACR,6HAA6H;YAC7H,oHAAoH;YACpH,qIAAqI;YACrI,yHAAyH;YACzH,uJAAuJ;KAC9J;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACP,2FAA2F;YAC3F,8DAA8D;YAC9D,sBAAsB;YACtB,2HAA2H;YAC3H,qJAAqJ;YACrJ,uKAAuK;YACvK,mJAAmJ;YACnJ,yIAAyI;YACzI,qFAAqF;YACrF,kHAAkH;QACtH,YAAY,EACR,0HAA0H;YAC1H,uGAAuG;YACvG,qJAAqJ;YACrJ,6GAA6G;YAC7G,qHAAqH;KAC5H;IACD;QACI,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,mCAAmC;QACzC,WAAW,EACP,kGAAkG;YAClG,iFAAiF;YACjF,sBAAsB;YACtB,sJAAsJ;YACtJ,2IAA2I;YAC3I,uIAAuI;YACvI,4GAA4G;YAC5G,uGAAuG;YACvG,kFAAkF;YAClF,4EAA4E;YAC5E,iDAAiD;YACjD,sFAAsF;QAC1F,YAAY,EACR,6FAA6F;YAC7F,2FAA2F;YAC3F,kHAAkH;YAClH,+GAA+G;YAC/G,iIAAiI;KACxI;IACD;QACI,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACP,qGAAqG;YACrG,yEAAyE;YACzE,sBAAsB;YACtB,mHAAmH;YACnH,uHAAuH;YACvH,sIAAsI;YACtI,kHAAkH;YAClH,oJAAoJ;YACpJ,uHAAuH;YACvH,mGAAmG;QACvG,YAAY,EACR,8FAA8F;YAC9F,kHAAkH;YAClH,0FAA0F;YAC1F,qFAAqF;YACrF,sFAAsF;KAC7F;IACD;QACI,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACP,+EAA+E;YAC/E,wGAAwG;YACxG,sBAAsB;YACtB,gIAAgI;YAChI,2HAA2H;YAC3H,wHAAwH;YACxH,qHAAqH;YACrH,oHAAoH;YACpH,oEAAoE;QACxE,YAAY,EACR,6FAA6F;YAC7F,6GAA6G;YAC7G,0GAA0G;YAC1G,8FAA8F;YAC9F,sHAAsH;KAC7H;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Evaluation workflow for each step:
|
|
10
10
|
* 1. Perform an action (tap / swipe / take_screenshot) — this auto-takes a screenshot and registers a step.
|
|
11
|
-
* 2. For each required dimension (overlap, layout, info_clarity, style):
|
|
11
|
+
* 2. For each required dimension (overlap, layout, info_clarity, style, action_result):
|
|
12
12
|
* a. Call get_evaluation_criteria(dimension) to read the scoring rubric.
|
|
13
13
|
* b. Visually inspect the screenshot.
|
|
14
14
|
* c. Call submit_dimension_score to record your score.
|
package/dist/src/index.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Evaluation workflow for each step:
|
|
10
10
|
* 1. Perform an action (tap / swipe / take_screenshot) — this auto-takes a screenshot and registers a step.
|
|
11
|
-
* 2. For each required dimension (overlap, layout, info_clarity, style):
|
|
11
|
+
* 2. For each required dimension (overlap, layout, info_clarity, style, action_result):
|
|
12
12
|
* a. Call get_evaluation_criteria(dimension) to read the scoring rubric.
|
|
13
13
|
* b. Visually inspect the screenshot.
|
|
14
14
|
* c. Call submit_dimension_score to record your score.
|
|
@@ -38,9 +38,9 @@ server.tool("swipe", "Swipe on screen (ratio 0-1). Automatically captures a scre
|
|
|
38
38
|
// ─── Evaluation tools ──────────────────────────────────────
|
|
39
39
|
server.tool("get_evaluation_criteria", "Get UI evaluation dimensions and scoring rubrics. " +
|
|
40
40
|
"Call without arguments to list all dimension IDs. Pass a dimension ID (e.g. 'overlap') to get its detailed prompt and scoring guide. " +
|
|
41
|
-
"Required dimensions for every step: overlap, layout, info_clarity, style.", getEvaluationCriteriaSchema.shape, async (args) => getEvaluationCriteria(args));
|
|
41
|
+
"Required dimensions for every step: overlap, layout, info_clarity, style, action_result.", getEvaluationCriteriaSchema.shape, async (args) => getEvaluationCriteria(args));
|
|
42
42
|
server.tool("submit_dimension_score", "Submit a score (0-10) and reason for one UI dimension on a specific step. " +
|
|
43
|
-
"Every step requires scores for all
|
|
43
|
+
"Every step requires scores for all 5 dimensions: overlap, layout, info_clarity, style, action_result. " +
|
|
44
44
|
"After submitting, continue with the remaining dimensions, then call get_audit_status to confirm completion.", submitDimensionScoreSchema.shape, async (args) => submitDimensionScore(args));
|
|
45
45
|
server.tool("get_audit_status", "Get the current dashboard or test case report. " +
|
|
46
46
|
"Use this to see which dimensions are missing (Pending) or to get the final markdown report if all steps are fully evaluated.", getAuditStatusSchema.shape, async (args) => getAuditStatus(args));
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACxG,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEnF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IACzB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;CACnB,CAAC,CAAC;AAEH,8DAA8D;AAE9D,MAAM,CAAC,IAAI,CACP,YAAY,EACZ,sDAAsD,EACtD,eAAe,CAAC,KAAK,EACrB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAClC,CAAC;AAEF,MAAM,CAAC,IAAI,CACP,iBAAiB,EACjB,qFAAqF;IACrF,2GAA2G,EAC3G,oBAAoB,CAAC,KAAK,EAC1B,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CACvC,CAAC;AAEF,MAAM,CAAC,IAAI,CACP,KAAK,EACL,6GAA6G;IAC7G,2GAA2G,EAC3G,SAAS,CAAC,KAAK,EACf,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAC5B,CAAC;AAEF,MAAM,CAAC,IAAI,CACP,OAAO,EACP,iGAAiG;IACjG,2GAA2G,EAC3G,WAAW,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAC9B,CAAC;AAEF,8DAA8D;AAE9D,MAAM,CAAC,IAAI,CACP,yBAAyB,EACzB,oDAAoD;IACpD,uIAAuI;IACvI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,6 @@ export declare function readAllLogs(): AuditLog[];
|
|
|
5
5
|
export declare function recordStep(caseName: string, stepIndex: number, description: string, actionType: "tap" | "swipe" | "screenshot", screenshotPath: string, coordinates?: {
|
|
6
6
|
x: number;
|
|
7
7
|
y: number;
|
|
8
|
-
}): void;
|
|
8
|
+
}, expectedOutcome?: string): void;
|
|
9
9
|
export declare function recordScore(caseName: string, stepIndex: number, dimension: string, score: number, reason: string): void;
|
|
10
10
|
//# sourceMappingURL=audit-log.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../../src/logger/audit-log.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAA8B,MAAM,aAAa,CAAC;AAmBnE,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAMzD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAG5C;AAED,wBAAgB,WAAW,IAAI,QAAQ,EAAE,CAexC;AAED,wBAAgB,UAAU,CACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,KAAK,GAAG,OAAO,GAAG,YAAY,EAC1C,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../../src/logger/audit-log.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAA8B,MAAM,aAAa,CAAC;AAmBnE,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAMzD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAG5C;AAED,wBAAgB,WAAW,IAAI,QAAQ,EAAE,CAexC;AAED,wBAAgB,UAAU,CACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,KAAK,GAAG,OAAO,GAAG,YAAY,EAC1C,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACtC,eAAe,CAAC,EAAE,MAAM,GACzB,IAAI,CAuBN;AAED,wBAAgB,WAAW,CACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACf,IAAI,CAiBN"}
|
|
@@ -46,7 +46,7 @@ export function readAllLogs() {
|
|
|
46
46
|
}
|
|
47
47
|
return logs;
|
|
48
48
|
}
|
|
49
|
-
export function recordStep(caseName, stepIndex, description, actionType, screenshotPath, coordinates) {
|
|
49
|
+
export function recordStep(caseName, stepIndex, description, actionType, screenshotPath, coordinates, expectedOutcome) {
|
|
50
50
|
let log = readLog(caseName);
|
|
51
51
|
if (!log) {
|
|
52
52
|
log = {
|
|
@@ -61,6 +61,7 @@ export function recordStep(caseName, stepIndex, description, actionType, screens
|
|
|
61
61
|
actionType,
|
|
62
62
|
screenshotPath,
|
|
63
63
|
coordinates,
|
|
64
|
+
expectedOutcome,
|
|
64
65
|
timestamp: new Date().toISOString(),
|
|
65
66
|
evaluations: existingStep ? existingStep.evaluations : {},
|
|
66
67
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-log.js","sourceRoot":"","sources":["../../../src/logger/audit-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAE1D,2BAA2B;AAC3B,SAAS,UAAU;IACf,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED,UAAU,EAAE,CAAC;AAEb,SAAS,UAAU,CAAC,QAAgB;IAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,QAAgB;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAa;IAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CACtB,QAAgB,EAChB,SAAiB,EACjB,WAAmB,EACnB,UAA0C,EAC1C,cAAsB,EACtB,WAAsC;
|
|
1
|
+
{"version":3,"file":"audit-log.js","sourceRoot":"","sources":["../../../src/logger/audit-log.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-audit-status.d.ts","sourceRoot":"","sources":["../../../src/tools/get-audit-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-audit-status.d.ts","sourceRoot":"","sources":["../../../src/tools/get-audit-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAuEH,wBAAsB,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;GAwD/E"}
|
|
@@ -47,6 +47,9 @@ function renderStepDetails(log) {
|
|
|
47
47
|
for (const step of steps) {
|
|
48
48
|
md += `### Step ${step.stepIndex}: ${step.description}\n`;
|
|
49
49
|
md += `- **操作**: ${step.actionType} ${step.coordinates ? `(x: ${step.coordinates.x}, y: ${step.coordinates.y})` : ""}\n`;
|
|
50
|
+
if (step.expectedOutcome) {
|
|
51
|
+
md += `- **预期结果**: ${step.expectedOutcome}\n`;
|
|
52
|
+
}
|
|
50
53
|
for (const dim of REQUIRED_DIMS) {
|
|
51
54
|
const ev = step.evaluations ? step.evaluations[dim] : undefined;
|
|
52
55
|
if (ev) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-audit-status.js","sourceRoot":"","sources":["../../../src/tools/get-audit-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gFAAgF,CAAC;CACvI,CAAC,CAAC;AAEH,2CAA2C;AAC3C,SAAS,wBAAwB,CAAC,GAAa,EAAE,YAAwD;IACrG,IAAI,EAAE,GAAG,gBAAgB,GAAG,CAAC,QAAQ,IAAI,CAAC;IAC1C,EAAE,IAAI,sBAAsB,CAAC;IAE7B,kBAAkB;IAClB,EAAE,IAAI,sCAAsC,CAAC;IAC7C,EAAE,IAAI,oCAAoC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAC9B,EAAE,IAAI,UAAU,IAAI,CAAC,SAAS,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACxE,CAAC;IACD,EAAE,IAAI,IAAI,CAAC;IAEX,eAAe;IACf,EAAE,IAAI,eAAe,CAAC;IACtB,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAE7B,OAAO,EAAE,CAAC;AACd,CAAC;AAED,yCAAyC;AACzC,SAAS,sBAAsB,CAAC,GAAa,EAAE,GAAW,EAAE,MAAe,EAAE,WAAkB;IAC3F,IAAI,EAAE,GAAG,gBAAgB,GAAG,CAAC,QAAQ,IAAI,CAAC;IAC1C,EAAE,IAAI,qBAAqB,CAAC;IAE5B,EAAE,IAAI,cAAc,CAAC;IACrB,EAAE,IAAI,cAAc,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5C,EAAE,IAAI,aAAa,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC;IAE9D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,EAAE,IAAI,eAAe,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC1B,EAAE,IAAI,YAAY,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC;QAC5E,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,EAAE,IAAI,iBAAiB,CAAC;IAC5B,CAAC;IACD,EAAE,IAAI,IAAI,CAAC;IAEX,EAAE,IAAI,cAAc,CAAC;IACrB,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAE7B,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAa;IACpC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACjF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,EAAE,IAAI,YAAY,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC;QAC1D,EAAE,IAAI,aAAa,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"get-audit-status.js","sourceRoot":"","sources":["../../../src/tools/get-audit-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export async function submitDimensionScore(input) {
|
|
|
20
20
|
const remaining = REQUIRED_DIMS.filter(d => !evaluated.includes(d));
|
|
21
21
|
let hint;
|
|
22
22
|
if (remaining.length === 0) {
|
|
23
|
-
hint = `All
|
|
23
|
+
hint = `All 5 dimensions for Step ${input.stepIndex} are complete. You may call get_audit_status to review progress or proceed to the next action.`;
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
26
|
hint = `${remaining.length} dimension(s) still needed for Step ${input.stepIndex}: ${remaining.join(", ")}. Please evaluate them before moving to the next action.`;
|
|
@@ -7,10 +7,12 @@ export declare const swipeSchema: z.ZodObject<{
|
|
|
7
7
|
caseName: z.ZodString;
|
|
8
8
|
stepIndex: z.ZodNumber;
|
|
9
9
|
description: z.ZodString;
|
|
10
|
+
expectedOutcome: z.ZodString;
|
|
10
11
|
}, "strip", z.ZodTypeAny, {
|
|
11
12
|
caseName: string;
|
|
12
13
|
stepIndex: number;
|
|
13
14
|
description: string;
|
|
15
|
+
expectedOutcome: string;
|
|
14
16
|
startX: number;
|
|
15
17
|
startY: number;
|
|
16
18
|
endX: number;
|
|
@@ -19,6 +21,7 @@ export declare const swipeSchema: z.ZodObject<{
|
|
|
19
21
|
caseName: string;
|
|
20
22
|
stepIndex: number;
|
|
21
23
|
description: string;
|
|
24
|
+
expectedOutcome: string;
|
|
22
25
|
startX: number;
|
|
23
26
|
startY: number;
|
|
24
27
|
endX: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swipe.d.ts","sourceRoot":"","sources":["../../../src/tools/swipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"swipe.d.ts","sourceRoot":"","sources":["../../../src/tools/swipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;EAStB,CAAC;AAEH,wBAAsB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;;;;;;;;;;;GA0C7D"}
|
package/dist/src/tools/swipe.js
CHANGED
|
@@ -9,6 +9,7 @@ export const swipeSchema = z.object({
|
|
|
9
9
|
caseName: z.string().describe("Name of the test case"),
|
|
10
10
|
stepIndex: z.number().int().positive().describe("Current step index (e.g. 1, 2)"),
|
|
11
11
|
description: z.string().describe("Description of the action being performed"),
|
|
12
|
+
expectedOutcome: z.string().describe("What should happen after this swipe (e.g. 'List should scroll down to show more items')"),
|
|
12
13
|
});
|
|
13
14
|
export async function swipe(input) {
|
|
14
15
|
const result = await device.swipe(input.startX, input.startY, input.endX, input.endY);
|
|
@@ -20,7 +21,7 @@ export async function swipe(input) {
|
|
|
20
21
|
// Wait for UI to settle before taking screenshot
|
|
21
22
|
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
22
23
|
const screenshot = await device.takeScreenshot();
|
|
23
|
-
recordStep(input.caseName, input.stepIndex, input.description, "swipe", screenshot.filePath, { x: input.startX, y: input.startY });
|
|
24
|
+
recordStep(input.caseName, input.stepIndex, input.description, "swipe", screenshot.filePath, { x: input.startX, y: input.startY }, input.expectedOutcome);
|
|
24
25
|
return {
|
|
25
26
|
content: [
|
|
26
27
|
{
|
|
@@ -31,9 +32,10 @@ export async function swipe(input) {
|
|
|
31
32
|
{
|
|
32
33
|
type: "text",
|
|
33
34
|
text: JSON.stringify({
|
|
34
|
-
message: `Step ${input.stepIndex} recorded. Please now evaluate this screenshot across all
|
|
35
|
+
message: `Step ${input.stepIndex} recorded. Expected: "${input.expectedOutcome}". Please now evaluate this screenshot across all 5 dimensions (overlap, layout, info_clarity, style, action_result) using submit_dimension_score before proceeding.`,
|
|
35
36
|
caseName: input.caseName,
|
|
36
37
|
stepIndex: input.stepIndex,
|
|
38
|
+
expectedOutcome: input.expectedOutcome,
|
|
37
39
|
screenWidth: screenshot.width,
|
|
38
40
|
screenHeight: screenshot.height,
|
|
39
41
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swipe.js","sourceRoot":"","sources":["../../../src/tools/swipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACzE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"swipe.js","sourceRoot":"","sources":["../../../src/tools/swipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,17 @@ export declare const takeScreenshotSchema: z.ZodObject<{
|
|
|
3
3
|
caseName: z.ZodString;
|
|
4
4
|
stepIndex: z.ZodNumber;
|
|
5
5
|
description: z.ZodString;
|
|
6
|
+
expectedOutcome: z.ZodOptional<z.ZodString>;
|
|
6
7
|
}, "strip", z.ZodTypeAny, {
|
|
7
8
|
caseName: string;
|
|
8
9
|
stepIndex: number;
|
|
9
10
|
description: string;
|
|
11
|
+
expectedOutcome?: string | undefined;
|
|
10
12
|
}, {
|
|
11
13
|
caseName: string;
|
|
12
14
|
stepIndex: number;
|
|
13
15
|
description: string;
|
|
16
|
+
expectedOutcome?: string | undefined;
|
|
14
17
|
}>;
|
|
15
18
|
export declare function takeScreenshot(input: z.infer<typeof takeScreenshotSchema>): Promise<{
|
|
16
19
|
content: ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take-screenshot.d.ts","sourceRoot":"","sources":["../../../src/tools/take-screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"take-screenshot.d.ts","sourceRoot":"","sources":["../../../src/tools/take-screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,wBAAsB,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;;;;;;;;GAiC/E"}
|
|
@@ -5,10 +5,11 @@ export const takeScreenshotSchema = z.object({
|
|
|
5
5
|
caseName: z.string().describe("Name of the test case"),
|
|
6
6
|
stepIndex: z.number().int().positive().describe("Current step index (e.g. 1, 2)"),
|
|
7
7
|
description: z.string().describe("Description of the observed state"),
|
|
8
|
+
expectedOutcome: z.string().optional().describe("Optional: what you expect to see on screen. Omit for pure observation steps."),
|
|
8
9
|
});
|
|
9
10
|
export async function takeScreenshot(input) {
|
|
10
11
|
const screenshot = await device.takeScreenshot();
|
|
11
|
-
recordStep(input.caseName, input.stepIndex, input.description, "screenshot", screenshot.filePath);
|
|
12
|
+
recordStep(input.caseName, input.stepIndex, input.description, "screenshot", screenshot.filePath, undefined, input.expectedOutcome);
|
|
12
13
|
return {
|
|
13
14
|
content: [
|
|
14
15
|
{
|
|
@@ -19,9 +20,10 @@ export async function takeScreenshot(input) {
|
|
|
19
20
|
{
|
|
20
21
|
type: "text",
|
|
21
22
|
text: JSON.stringify({
|
|
22
|
-
message: `Step ${input.stepIndex} recorded. Please now evaluate this screenshot across all
|
|
23
|
+
message: `Step ${input.stepIndex} recorded. Please now evaluate this screenshot across all 5 dimensions (overlap, layout, info_clarity, style, action_result) using submit_dimension_score before proceeding.`,
|
|
23
24
|
caseName: input.caseName,
|
|
24
25
|
stepIndex: input.stepIndex,
|
|
26
|
+
expectedOutcome: input.expectedOutcome ?? "(pure observation)",
|
|
25
27
|
screenWidth: screenshot.width,
|
|
26
28
|
screenHeight: screenshot.height,
|
|
27
29
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take-screenshot.js","sourceRoot":"","sources":["../../../src/tools/take-screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"take-screenshot.js","sourceRoot":"","sources":["../../../src/tools/take-screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACrE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;CAClI,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA2C;IAC5E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAEjD,UAAU,CACN,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,EACjB,YAAY,EACZ,UAAU,CAAC,QAAQ,EACnB,SAAS,EACT,KAAK,CAAC,eAAe,CACxB,CAAC;IAEF,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,OAAgB;gBACtB,IAAI,EAAE,UAAU,CAAC,WAAW;gBAC5B,QAAQ,EAAE,WAAoB;aACjC;YACD;gBACI,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,OAAO,EAAE,QAAQ,KAAK,CAAC,SAAS,8KAA8K;oBAC9M,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,oBAAoB;oBAC9D,WAAW,EAAE,UAAU,CAAC,KAAK;oBAC7B,YAAY,EAAE,UAAU,CAAC,MAAM;iBAClC,CAAC;aACL;SACJ;KACJ,CAAC;AACN,CAAC"}
|
package/dist/src/tools/tap.d.ts
CHANGED
|
@@ -5,16 +5,19 @@ export declare const tapSchema: z.ZodObject<{
|
|
|
5
5
|
caseName: z.ZodString;
|
|
6
6
|
stepIndex: z.ZodNumber;
|
|
7
7
|
description: z.ZodString;
|
|
8
|
+
expectedOutcome: z.ZodString;
|
|
8
9
|
}, "strip", z.ZodTypeAny, {
|
|
9
10
|
caseName: string;
|
|
10
11
|
stepIndex: number;
|
|
11
12
|
description: string;
|
|
13
|
+
expectedOutcome: string;
|
|
12
14
|
x: number;
|
|
13
15
|
y: number;
|
|
14
16
|
}, {
|
|
15
17
|
caseName: string;
|
|
16
18
|
stepIndex: number;
|
|
17
19
|
description: string;
|
|
20
|
+
expectedOutcome: string;
|
|
18
21
|
x: number;
|
|
19
22
|
y: number;
|
|
20
23
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../../src/tools/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../../src/tools/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;EAOpB,CAAC;AAEH,wBAAsB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC;;;;;;;;;;;;GA0CzD"}
|
package/dist/src/tools/tap.js
CHANGED
|
@@ -7,6 +7,7 @@ export const tapSchema = z.object({
|
|
|
7
7
|
caseName: z.string().describe("Name of the test case"),
|
|
8
8
|
stepIndex: z.number().int().positive().describe("Current step index (e.g. 1, 2)"),
|
|
9
9
|
description: z.string().describe("Description of the action being performed"),
|
|
10
|
+
expectedOutcome: z.string().describe("What should happen after this tap (e.g. 'Should navigate to login screen')"),
|
|
10
11
|
});
|
|
11
12
|
export async function tap(input) {
|
|
12
13
|
const result = await device.tap(input.x, input.y);
|
|
@@ -18,7 +19,7 @@ export async function tap(input) {
|
|
|
18
19
|
// Wait for UI to settle before taking screenshot
|
|
19
20
|
await new Promise(resolve => setTimeout(resolve, 1500));
|
|
20
21
|
const screenshot = await device.takeScreenshot();
|
|
21
|
-
recordStep(input.caseName, input.stepIndex, input.description, "tap", screenshot.filePath, { x: input.x, y: input.y });
|
|
22
|
+
recordStep(input.caseName, input.stepIndex, input.description, "tap", screenshot.filePath, { x: input.x, y: input.y }, input.expectedOutcome);
|
|
22
23
|
return {
|
|
23
24
|
content: [
|
|
24
25
|
{
|
|
@@ -29,9 +30,10 @@ export async function tap(input) {
|
|
|
29
30
|
{
|
|
30
31
|
type: "text",
|
|
31
32
|
text: JSON.stringify({
|
|
32
|
-
message: `Step ${input.stepIndex} recorded. Please now evaluate this screenshot across all
|
|
33
|
+
message: `Step ${input.stepIndex} recorded. Expected: "${input.expectedOutcome}". Please now evaluate this screenshot across all 5 dimensions (overlap, layout, info_clarity, style, action_result) using submit_dimension_score before proceeding.`,
|
|
33
34
|
caseName: input.caseName,
|
|
34
35
|
stepIndex: input.stepIndex,
|
|
36
|
+
expectedOutcome: input.expectedOutcome,
|
|
35
37
|
screenWidth: screenshot.width,
|
|
36
38
|
screenHeight: screenshot.height,
|
|
37
39
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../../src/tools/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACvF,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IACrF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../../src/tools/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACvF,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IACrF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC7E,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;CACrH,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,KAAgC;IACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;SAC/E,CAAC;IACN,CAAC;IAED,iDAAiD;IACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IACjD,UAAU,CACN,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,EACjB,KAAK,EACL,UAAU,CAAC,QAAQ,EACnB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAC1B,KAAK,CAAC,eAAe,CACxB,CAAC;IAEF,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,OAAgB;gBACtB,IAAI,EAAE,UAAU,CAAC,WAAW;gBAC5B,QAAQ,EAAE,WAAoB;aACjC;YACD;gBACI,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,OAAO,EAAE,QAAQ,KAAK,CAAC,SAAS,yBAAyB,KAAK,CAAC,eAAe,sKAAsK;oBACpP,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,WAAW,EAAE,UAAU,CAAC,KAAK;oBAC7B,YAAY,EAAE,UAAU,CAAC,MAAM;iBAClC,CAAC;aACL;SACJ;KACJ,CAAC;AACN,CAAC"}
|
package/dist/src/types.d.ts
CHANGED
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC;IAC3C,WAAW,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,QAAQ;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACrC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC;IAC3C,WAAW,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,QAAQ;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACrC"}
|