@opentabs-dev/opentabs-plugin-meticulous 0.0.76
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 +159 -0
- package/dist/adapter.iife.js +15945 -0
- package/dist/adapter.iife.js.map +7 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -0
- package/dist/meticulous-api.d.ts +34 -0
- package/dist/meticulous-api.d.ts.map +1 -0
- package/dist/meticulous-api.js +477 -0
- package/dist/meticulous-api.js.map +1 -0
- package/dist/tools/accept-all-diffs.d.ts +8 -0
- package/dist/tools/accept-all-diffs.d.ts.map +1 -0
- package/dist/tools/accept-all-diffs.js +23 -0
- package/dist/tools/accept-all-diffs.js.map +1 -0
- package/dist/tools/check-for-flakes.d.ts +8 -0
- package/dist/tools/check-for-flakes.d.ts.map +1 -0
- package/dist/tools/check-for-flakes.js +26 -0
- package/dist/tools/check-for-flakes.js.map +1 -0
- package/dist/tools/compare-replays.d.ts +68 -0
- package/dist/tools/compare-replays.d.ts.map +1 -0
- package/dist/tools/compare-replays.js +53 -0
- package/dist/tools/compare-replays.js.map +1 -0
- package/dist/tools/create-label-action.d.ts +16 -0
- package/dist/tools/create-label-action.d.ts.map +1 -0
- package/dist/tools/create-label-action.js +29 -0
- package/dist/tools/create-label-action.js.map +1 -0
- package/dist/tools/get-current-user.d.ts +12 -0
- package/dist/tools/get-current-user.d.ts.map +1 -0
- package/dist/tools/get-current-user.js +22 -0
- package/dist/tools/get-current-user.js.map +1 -0
- package/dist/tools/get-project-pull-request.d.ts +14 -0
- package/dist/tools/get-project-pull-request.d.ts.map +1 -0
- package/dist/tools/get-project-pull-request.js +23 -0
- package/dist/tools/get-project-pull-request.js.map +1 -0
- package/dist/tools/get-project.d.ts +20 -0
- package/dist/tools/get-project.d.ts.map +1 -0
- package/dist/tools/get-project.js +25 -0
- package/dist/tools/get-project.js.map +1 -0
- package/dist/tools/get-replay-screenshots.d.ts +16 -0
- package/dist/tools/get-replay-screenshots.d.ts.map +1 -0
- package/dist/tools/get-replay-screenshots.js +27 -0
- package/dist/tools/get-replay-screenshots.js.map +1 -0
- package/dist/tools/get-replay.d.ts +17 -0
- package/dist/tools/get-replay.d.ts.map +1 -0
- package/dist/tools/get-replay.js +21 -0
- package/dist/tools/get-replay.js.map +1 -0
- package/dist/tools/get-session-events.d.ts +14 -0
- package/dist/tools/get-session-events.d.ts.map +1 -0
- package/dist/tools/get-session-events.js +27 -0
- package/dist/tools/get-session-events.js.map +1 -0
- package/dist/tools/get-session.d.ts +19 -0
- package/dist/tools/get-session.d.ts.map +1 -0
- package/dist/tools/get-session.js +21 -0
- package/dist/tools/get-session.js.map +1 -0
- package/dist/tools/get-test-run-coverage.d.ts +83 -0
- package/dist/tools/get-test-run-coverage.d.ts.map +1 -0
- package/dist/tools/get-test-run-coverage.js +64 -0
- package/dist/tools/get-test-run-coverage.js.map +1 -0
- package/dist/tools/get-test-run-diffs.d.ts +56 -0
- package/dist/tools/get-test-run-diffs.d.ts.map +1 -0
- package/dist/tools/get-test-run-diffs.js +53 -0
- package/dist/tools/get-test-run-diffs.js.map +1 -0
- package/dist/tools/get-test-run-pr-description.d.ts +8 -0
- package/dist/tools/get-test-run-pr-description.d.ts.map +1 -0
- package/dist/tools/get-test-run-pr-description.js +26 -0
- package/dist/tools/get-test-run-pr-description.js.map +1 -0
- package/dist/tools/get-test-run-screenshots.d.ts +70 -0
- package/dist/tools/get-test-run-screenshots.d.ts.map +1 -0
- package/dist/tools/get-test-run-screenshots.js +61 -0
- package/dist/tools/get-test-run-screenshots.js.map +1 -0
- package/dist/tools/get-test-run-source-code.d.ts +9 -0
- package/dist/tools/get-test-run-source-code.d.ts.map +1 -0
- package/dist/tools/get-test-run-source-code.js +24 -0
- package/dist/tools/get-test-run-source-code.js.map +1 -0
- package/dist/tools/get-test-run-test-cases.d.ts +25 -0
- package/dist/tools/get-test-run-test-cases.d.ts.map +1 -0
- package/dist/tools/get-test-run-test-cases.js +60 -0
- package/dist/tools/get-test-run-test-cases.js.map +1 -0
- package/dist/tools/get-test-run.d.ts +29 -0
- package/dist/tools/get-test-run.d.ts.map +1 -0
- package/dist/tools/get-test-run.js +30 -0
- package/dist/tools/get-test-run.js.map +1 -0
- package/dist/tools/list-github-repositories.d.ts +11 -0
- package/dist/tools/list-github-repositories.d.ts.map +1 -0
- package/dist/tools/list-github-repositories.js +19 -0
- package/dist/tools/list-github-repositories.js.map +1 -0
- package/dist/tools/list-organization-members.d.ts +18 -0
- package/dist/tools/list-organization-members.d.ts.map +1 -0
- package/dist/tools/list-organization-members.js +21 -0
- package/dist/tools/list-organization-members.js.map +1 -0
- package/dist/tools/list-organizations.d.ts +9 -0
- package/dist/tools/list-organizations.d.ts.map +1 -0
- package/dist/tools/list-organizations.js +19 -0
- package/dist/tools/list-organizations.js.map +1 -0
- package/dist/tools/list-projects.d.ts +14 -0
- package/dist/tools/list-projects.d.ts.map +1 -0
- package/dist/tools/list-projects.js +19 -0
- package/dist/tools/list-projects.js.map +1 -0
- package/dist/tools/list-replays.d.ts +18 -0
- package/dist/tools/list-replays.d.ts.map +1 -0
- package/dist/tools/list-replays.js +25 -0
- package/dist/tools/list-replays.js.map +1 -0
- package/dist/tools/list-sessions.d.ts +20 -0
- package/dist/tools/list-sessions.d.ts.map +1 -0
- package/dist/tools/list-sessions.js +22 -0
- package/dist/tools/list-sessions.js.map +1 -0
- package/dist/tools/schemas.d.ts +560 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +303 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools/search-sessions.d.ts +24 -0
- package/dist/tools/search-sessions.d.ts.map +1 -0
- package/dist/tools/search-sessions.js +33 -0
- package/dist/tools/search-sessions.js.map +1 -0
- package/dist/tools/upsert-diff-approval.d.ts +12 -0
- package/dist/tools/upsert-diff-approval.d.ts.map +1 -0
- package/dist/tools/upsert-diff-approval.js +36 -0
- package/dist/tools/upsert-diff-approval.js.map +1 -0
- package/dist/tools.json +4020 -0
- package/package.json +58 -0
package/dist/tools.json
ADDED
|
@@ -0,0 +1,4020 @@
|
|
|
1
|
+
{
|
|
2
|
+
"sdkVersion": "0.0.76",
|
|
3
|
+
"iconSvg": "<svg viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <g transform=\"translate(1, 0)\"> <path d=\"M2.34131 0H0V17.3123H1.65712V2.45609L4.4692 8.65928L5.3417 6.61884L2.34131 0ZM14.2048 6.80147V17.3123H16V2.60093L14.2048 6.80147Z\" fill=\"black\"/> <path d=\"M13.6131 0L8.2023 11.9781H7.77547L6.35687 8.86081L5.48438 10.9012L6.73349 13.6596H9.09991L12.659 5.78755L12.7092 5.67419L15.1321 0H13.6131Z\" fill=\"#6E64BD\"/> </g> </svg>",
|
|
4
|
+
"iconInactiveSvg": "<svg viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <g transform=\"translate(1, 0)\"> <path d=\"M2.34131 0H0V17.3123H1.65712V2.45609L4.4692 8.65928L5.3417 6.61884L2.34131 0ZM14.2048 6.80147V17.3123H16V2.60093L14.2048 6.80147Z\" fill=\"#999999\"/> <path d=\"M13.6131 0L8.2023 11.9781H7.77547L6.35687 8.86081L5.48438 10.9012L6.73349 13.6596H9.09991L12.659 5.78755L12.7092 5.67419L15.1321 0H13.6131Z\" fill=\"#999999\"/> </g> </svg>",
|
|
5
|
+
"iconDarkSvg": "<svg viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <g transform=\"translate(1, 0)\"> <path d=\"M2.34131 0H0V17.3123H1.65712V2.45609L4.4692 8.65928L5.3417 6.61884L2.34131 0ZM14.2048 6.80147V17.3123H16V2.60093L14.2048 6.80147Z\" fill=\"#ffffff\"/> <path d=\"M13.6131 0L8.2023 11.9781H7.77547L6.35687 8.86081L5.48438 10.9012L6.73349 13.6596H9.09991L12.659 5.78755L12.7092 5.67419L15.1321 0H13.6131Z\" fill=\"#6E64BD\"/> </g> </svg>",
|
|
6
|
+
"iconDarkInactiveSvg": "<svg viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <g transform=\"translate(1, 0)\"> <path d=\"M2.34131 0H0V17.3123H1.65712V2.45609L4.4692 8.65928L5.3417 6.61884L2.34131 0ZM14.2048 6.80147V17.3123H16V2.60093L14.2048 6.80147Z\" fill=\"#ffffff\"/> <path d=\"M13.6131 0L8.2023 11.9781H7.77547L6.35687 8.86081L5.48438 10.9012L6.73349 13.6596H9.09991L12.659 5.78755L12.7092 5.67419L15.1321 0H13.6131Z\" fill=\"#999999\"/> </g> </svg>",
|
|
7
|
+
"tools": [
|
|
8
|
+
{
|
|
9
|
+
"name": "get_current_user",
|
|
10
|
+
"displayName": "Get Current User",
|
|
11
|
+
"description": "Get the currently authenticated user profile including email, name, and admin status.",
|
|
12
|
+
"summary": "Get the current user profile",
|
|
13
|
+
"icon": "user",
|
|
14
|
+
"group": "User",
|
|
15
|
+
"input_schema": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"properties": {},
|
|
18
|
+
"additionalProperties": false
|
|
19
|
+
},
|
|
20
|
+
"output_schema": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"properties": {
|
|
23
|
+
"user": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"properties": {
|
|
26
|
+
"id": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "User ID"
|
|
29
|
+
},
|
|
30
|
+
"email": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "User email"
|
|
33
|
+
},
|
|
34
|
+
"first_name": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "First name"
|
|
37
|
+
},
|
|
38
|
+
"last_name": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Last name"
|
|
41
|
+
},
|
|
42
|
+
"is_admin": {
|
|
43
|
+
"type": "boolean",
|
|
44
|
+
"description": "Whether user is an admin"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": [
|
|
48
|
+
"id",
|
|
49
|
+
"email",
|
|
50
|
+
"first_name",
|
|
51
|
+
"last_name",
|
|
52
|
+
"is_admin"
|
|
53
|
+
],
|
|
54
|
+
"additionalProperties": false
|
|
55
|
+
},
|
|
56
|
+
"is_signed_in": {
|
|
57
|
+
"type": "boolean"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"user",
|
|
62
|
+
"is_signed_in"
|
|
63
|
+
],
|
|
64
|
+
"additionalProperties": false
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "list_organizations",
|
|
69
|
+
"displayName": "List Organizations",
|
|
70
|
+
"description": "List all organizations the current user belongs to.",
|
|
71
|
+
"summary": "List organizations",
|
|
72
|
+
"icon": "building",
|
|
73
|
+
"group": "Organizations",
|
|
74
|
+
"input_schema": {
|
|
75
|
+
"type": "object",
|
|
76
|
+
"properties": {},
|
|
77
|
+
"additionalProperties": false
|
|
78
|
+
},
|
|
79
|
+
"output_schema": {
|
|
80
|
+
"type": "object",
|
|
81
|
+
"properties": {
|
|
82
|
+
"organizations": {
|
|
83
|
+
"type": "array",
|
|
84
|
+
"items": {
|
|
85
|
+
"type": "object",
|
|
86
|
+
"properties": {
|
|
87
|
+
"id": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"description": "Organization ID"
|
|
90
|
+
},
|
|
91
|
+
"name": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "Organization name"
|
|
94
|
+
},
|
|
95
|
+
"created_at": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"description": "ISO 8601 creation timestamp"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"required": [
|
|
101
|
+
"id",
|
|
102
|
+
"name",
|
|
103
|
+
"created_at"
|
|
104
|
+
],
|
|
105
|
+
"additionalProperties": false
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"required": [
|
|
110
|
+
"organizations"
|
|
111
|
+
],
|
|
112
|
+
"additionalProperties": false
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "list_organization_members",
|
|
117
|
+
"displayName": "List Organization Members",
|
|
118
|
+
"description": "List all members of an organization with their roles.",
|
|
119
|
+
"summary": "List org members",
|
|
120
|
+
"icon": "users",
|
|
121
|
+
"group": "Organizations",
|
|
122
|
+
"input_schema": {
|
|
123
|
+
"type": "object",
|
|
124
|
+
"properties": {
|
|
125
|
+
"organization_name": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"description": "Organization name"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"required": [
|
|
131
|
+
"organization_name"
|
|
132
|
+
],
|
|
133
|
+
"additionalProperties": false
|
|
134
|
+
},
|
|
135
|
+
"output_schema": {
|
|
136
|
+
"type": "object",
|
|
137
|
+
"properties": {
|
|
138
|
+
"members": {
|
|
139
|
+
"type": "array",
|
|
140
|
+
"items": {
|
|
141
|
+
"type": "object",
|
|
142
|
+
"properties": {
|
|
143
|
+
"id": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "Membership ID"
|
|
146
|
+
},
|
|
147
|
+
"role": {
|
|
148
|
+
"type": "string",
|
|
149
|
+
"description": "Role (e.g., member, admin)"
|
|
150
|
+
},
|
|
151
|
+
"created_at": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"description": "ISO 8601 join timestamp"
|
|
154
|
+
},
|
|
155
|
+
"user": {
|
|
156
|
+
"type": "object",
|
|
157
|
+
"properties": {
|
|
158
|
+
"id": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"description": "User ID"
|
|
161
|
+
},
|
|
162
|
+
"email": {
|
|
163
|
+
"type": "string",
|
|
164
|
+
"description": "User email"
|
|
165
|
+
},
|
|
166
|
+
"first_name": {
|
|
167
|
+
"type": "string",
|
|
168
|
+
"description": "First name"
|
|
169
|
+
},
|
|
170
|
+
"last_name": {
|
|
171
|
+
"type": "string",
|
|
172
|
+
"description": "Last name"
|
|
173
|
+
},
|
|
174
|
+
"is_admin": {
|
|
175
|
+
"type": "boolean",
|
|
176
|
+
"description": "Whether user is an admin"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"required": [
|
|
180
|
+
"id",
|
|
181
|
+
"email",
|
|
182
|
+
"first_name",
|
|
183
|
+
"last_name",
|
|
184
|
+
"is_admin"
|
|
185
|
+
],
|
|
186
|
+
"additionalProperties": false
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"required": [
|
|
190
|
+
"id",
|
|
191
|
+
"role",
|
|
192
|
+
"created_at",
|
|
193
|
+
"user"
|
|
194
|
+
],
|
|
195
|
+
"additionalProperties": false
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"required": [
|
|
200
|
+
"members"
|
|
201
|
+
],
|
|
202
|
+
"additionalProperties": false
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "list_projects",
|
|
207
|
+
"displayName": "List Projects",
|
|
208
|
+
"description": "List all projects accessible to the current user, including latest test run info.",
|
|
209
|
+
"summary": "List projects",
|
|
210
|
+
"icon": "folder",
|
|
211
|
+
"group": "Projects",
|
|
212
|
+
"input_schema": {
|
|
213
|
+
"type": "object",
|
|
214
|
+
"properties": {},
|
|
215
|
+
"additionalProperties": false
|
|
216
|
+
},
|
|
217
|
+
"output_schema": {
|
|
218
|
+
"type": "object",
|
|
219
|
+
"properties": {
|
|
220
|
+
"projects": {
|
|
221
|
+
"type": "array",
|
|
222
|
+
"items": {
|
|
223
|
+
"type": "object",
|
|
224
|
+
"properties": {
|
|
225
|
+
"id": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"description": "Project ID"
|
|
228
|
+
},
|
|
229
|
+
"name": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"description": "Project name"
|
|
232
|
+
},
|
|
233
|
+
"organization_name": {
|
|
234
|
+
"type": "string",
|
|
235
|
+
"description": "Organization name"
|
|
236
|
+
},
|
|
237
|
+
"host_kind": {
|
|
238
|
+
"anyOf": [
|
|
239
|
+
{
|
|
240
|
+
"type": "string"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"type": "null"
|
|
244
|
+
}
|
|
245
|
+
],
|
|
246
|
+
"description": "Hosting provider (e.g., github)"
|
|
247
|
+
},
|
|
248
|
+
"status": {
|
|
249
|
+
"type": "string",
|
|
250
|
+
"description": "Project status"
|
|
251
|
+
},
|
|
252
|
+
"latest_test_run_at": {
|
|
253
|
+
"anyOf": [
|
|
254
|
+
{
|
|
255
|
+
"type": "string"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"type": "null"
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
"description": "Last successful test run timestamp"
|
|
262
|
+
},
|
|
263
|
+
"total_sessions": {
|
|
264
|
+
"anyOf": [
|
|
265
|
+
{
|
|
266
|
+
"type": "number"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"type": "null"
|
|
270
|
+
}
|
|
271
|
+
],
|
|
272
|
+
"description": "Total sessions in latest test run"
|
|
273
|
+
},
|
|
274
|
+
"total_screenshots": {
|
|
275
|
+
"anyOf": [
|
|
276
|
+
{
|
|
277
|
+
"type": "number"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"type": "null"
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"description": "Total screenshots in latest test run"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"required": [
|
|
287
|
+
"id",
|
|
288
|
+
"name",
|
|
289
|
+
"organization_name",
|
|
290
|
+
"host_kind",
|
|
291
|
+
"status",
|
|
292
|
+
"latest_test_run_at",
|
|
293
|
+
"total_sessions",
|
|
294
|
+
"total_screenshots"
|
|
295
|
+
],
|
|
296
|
+
"additionalProperties": false
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
"required": [
|
|
301
|
+
"projects"
|
|
302
|
+
],
|
|
303
|
+
"additionalProperties": false
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"name": "get_project",
|
|
308
|
+
"displayName": "Get Project",
|
|
309
|
+
"description": "Get detailed information about a specific project including tokens, settings, and configuration.",
|
|
310
|
+
"summary": "Get project details",
|
|
311
|
+
"icon": "folder-open",
|
|
312
|
+
"group": "Projects",
|
|
313
|
+
"input_schema": {
|
|
314
|
+
"type": "object",
|
|
315
|
+
"properties": {
|
|
316
|
+
"organization_name": {
|
|
317
|
+
"type": "string",
|
|
318
|
+
"description": "Organization name"
|
|
319
|
+
},
|
|
320
|
+
"project_name": {
|
|
321
|
+
"type": "string",
|
|
322
|
+
"description": "Project name"
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
"required": [
|
|
326
|
+
"organization_name",
|
|
327
|
+
"project_name"
|
|
328
|
+
],
|
|
329
|
+
"additionalProperties": false
|
|
330
|
+
},
|
|
331
|
+
"output_schema": {
|
|
332
|
+
"type": "object",
|
|
333
|
+
"properties": {
|
|
334
|
+
"project": {
|
|
335
|
+
"type": "object",
|
|
336
|
+
"properties": {
|
|
337
|
+
"id": {
|
|
338
|
+
"type": "string",
|
|
339
|
+
"description": "Project ID"
|
|
340
|
+
},
|
|
341
|
+
"name": {
|
|
342
|
+
"type": "string",
|
|
343
|
+
"description": "Project name"
|
|
344
|
+
},
|
|
345
|
+
"organization_name": {
|
|
346
|
+
"type": "string",
|
|
347
|
+
"description": "Organization name"
|
|
348
|
+
},
|
|
349
|
+
"host_kind": {
|
|
350
|
+
"anyOf": [
|
|
351
|
+
{
|
|
352
|
+
"type": "string"
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"type": "null"
|
|
356
|
+
}
|
|
357
|
+
],
|
|
358
|
+
"description": "Hosting provider"
|
|
359
|
+
},
|
|
360
|
+
"status": {
|
|
361
|
+
"type": "string",
|
|
362
|
+
"description": "Project status"
|
|
363
|
+
},
|
|
364
|
+
"recording_token": {
|
|
365
|
+
"anyOf": [
|
|
366
|
+
{
|
|
367
|
+
"type": "string"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"type": "null"
|
|
371
|
+
}
|
|
372
|
+
],
|
|
373
|
+
"description": "Recording token for SDK"
|
|
374
|
+
},
|
|
375
|
+
"api_token": {
|
|
376
|
+
"anyOf": [
|
|
377
|
+
{
|
|
378
|
+
"type": "string"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"type": "null"
|
|
382
|
+
}
|
|
383
|
+
],
|
|
384
|
+
"description": "API token"
|
|
385
|
+
},
|
|
386
|
+
"created_at": {
|
|
387
|
+
"type": "string",
|
|
388
|
+
"description": "ISO 8601 creation timestamp"
|
|
389
|
+
},
|
|
390
|
+
"updated_at": {
|
|
391
|
+
"type": "string",
|
|
392
|
+
"description": "ISO 8601 update timestamp"
|
|
393
|
+
},
|
|
394
|
+
"enterprise_grade_security": {
|
|
395
|
+
"type": "boolean",
|
|
396
|
+
"description": "Enterprise security enabled"
|
|
397
|
+
},
|
|
398
|
+
"auto_session_selection": {
|
|
399
|
+
"type": "boolean",
|
|
400
|
+
"description": "Auto session selection enabled"
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
"required": [
|
|
404
|
+
"id",
|
|
405
|
+
"name",
|
|
406
|
+
"organization_name",
|
|
407
|
+
"host_kind",
|
|
408
|
+
"status",
|
|
409
|
+
"recording_token",
|
|
410
|
+
"api_token",
|
|
411
|
+
"created_at",
|
|
412
|
+
"updated_at",
|
|
413
|
+
"enterprise_grade_security",
|
|
414
|
+
"auto_session_selection"
|
|
415
|
+
],
|
|
416
|
+
"additionalProperties": false
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
"required": [
|
|
420
|
+
"project"
|
|
421
|
+
],
|
|
422
|
+
"additionalProperties": false
|
|
423
|
+
}
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"name": "get_project_pull_request",
|
|
427
|
+
"displayName": "Get Project Pull Request",
|
|
428
|
+
"description": "Get the Meticulous test status for a specific pull request by its hosting provider ID (e.g., GitHub PR number).",
|
|
429
|
+
"summary": "Get PR test status",
|
|
430
|
+
"icon": "git-pull-request",
|
|
431
|
+
"group": "Projects",
|
|
432
|
+
"input_schema": {
|
|
433
|
+
"type": "object",
|
|
434
|
+
"properties": {
|
|
435
|
+
"organization_name": {
|
|
436
|
+
"type": "string",
|
|
437
|
+
"description": "Organization name"
|
|
438
|
+
},
|
|
439
|
+
"project_name": {
|
|
440
|
+
"type": "string",
|
|
441
|
+
"description": "Project name"
|
|
442
|
+
},
|
|
443
|
+
"pull_request_id": {
|
|
444
|
+
"type": "string",
|
|
445
|
+
"description": "Hosting provider PR identifier (e.g., GitHub PR number as string)"
|
|
446
|
+
}
|
|
447
|
+
},
|
|
448
|
+
"required": [
|
|
449
|
+
"organization_name",
|
|
450
|
+
"project_name",
|
|
451
|
+
"pull_request_id"
|
|
452
|
+
],
|
|
453
|
+
"additionalProperties": false
|
|
454
|
+
},
|
|
455
|
+
"output_schema": {
|
|
456
|
+
"type": "object",
|
|
457
|
+
"properties": {
|
|
458
|
+
"pull_request": {
|
|
459
|
+
"anyOf": [
|
|
460
|
+
{
|
|
461
|
+
"type": "object",
|
|
462
|
+
"properties": {
|
|
463
|
+
"id": {
|
|
464
|
+
"type": "string",
|
|
465
|
+
"description": "Pull request ID"
|
|
466
|
+
},
|
|
467
|
+
"approval_state": {
|
|
468
|
+
"anyOf": [
|
|
469
|
+
{
|
|
470
|
+
"type": "string"
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"type": "null"
|
|
474
|
+
}
|
|
475
|
+
],
|
|
476
|
+
"description": "Approval state"
|
|
477
|
+
},
|
|
478
|
+
"latest_test_run_id": {
|
|
479
|
+
"anyOf": [
|
|
480
|
+
{
|
|
481
|
+
"type": "string"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"type": "null"
|
|
485
|
+
}
|
|
486
|
+
],
|
|
487
|
+
"description": "Latest test run ID"
|
|
488
|
+
},
|
|
489
|
+
"created_at": {
|
|
490
|
+
"type": "string",
|
|
491
|
+
"description": "ISO 8601 creation timestamp"
|
|
492
|
+
}
|
|
493
|
+
},
|
|
494
|
+
"required": [
|
|
495
|
+
"id",
|
|
496
|
+
"approval_state",
|
|
497
|
+
"latest_test_run_id",
|
|
498
|
+
"created_at"
|
|
499
|
+
],
|
|
500
|
+
"additionalProperties": false
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"type": "null"
|
|
504
|
+
}
|
|
505
|
+
]
|
|
506
|
+
}
|
|
507
|
+
},
|
|
508
|
+
"required": [
|
|
509
|
+
"pull_request"
|
|
510
|
+
],
|
|
511
|
+
"additionalProperties": false
|
|
512
|
+
}
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
"name": "list_github_repositories",
|
|
516
|
+
"displayName": "List GitHub Repositories",
|
|
517
|
+
"description": "List GitHub repositories connected to the Meticulous organization via the GitHub App.",
|
|
518
|
+
"summary": "List connected GitHub repos",
|
|
519
|
+
"icon": "github",
|
|
520
|
+
"group": "Integrations",
|
|
521
|
+
"input_schema": {
|
|
522
|
+
"type": "object",
|
|
523
|
+
"properties": {},
|
|
524
|
+
"additionalProperties": false
|
|
525
|
+
},
|
|
526
|
+
"output_schema": {
|
|
527
|
+
"type": "object",
|
|
528
|
+
"properties": {
|
|
529
|
+
"repositories": {
|
|
530
|
+
"type": "array",
|
|
531
|
+
"items": {
|
|
532
|
+
"type": "object",
|
|
533
|
+
"properties": {
|
|
534
|
+
"id": {
|
|
535
|
+
"type": "string",
|
|
536
|
+
"description": "GitHub repository ID"
|
|
537
|
+
},
|
|
538
|
+
"name": {
|
|
539
|
+
"type": "string",
|
|
540
|
+
"description": "Repository name"
|
|
541
|
+
},
|
|
542
|
+
"owner": {
|
|
543
|
+
"type": "string",
|
|
544
|
+
"description": "Repository owner"
|
|
545
|
+
},
|
|
546
|
+
"url": {
|
|
547
|
+
"type": "string",
|
|
548
|
+
"description": "Repository URL"
|
|
549
|
+
},
|
|
550
|
+
"full_name": {
|
|
551
|
+
"type": "string",
|
|
552
|
+
"description": "Full repository name (owner/name)"
|
|
553
|
+
}
|
|
554
|
+
},
|
|
555
|
+
"required": [
|
|
556
|
+
"id",
|
|
557
|
+
"name",
|
|
558
|
+
"owner",
|
|
559
|
+
"url",
|
|
560
|
+
"full_name"
|
|
561
|
+
],
|
|
562
|
+
"additionalProperties": false
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
"required": [
|
|
567
|
+
"repositories"
|
|
568
|
+
],
|
|
569
|
+
"additionalProperties": false
|
|
570
|
+
}
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"name": "get_test_run",
|
|
574
|
+
"displayName": "Get Test Run",
|
|
575
|
+
"description": "Get detailed information about a test run including status, statistics, CI context, PR details, and a link to the Meticulous web UI for visual debugging. The test run ID can be found in the Meticulous URL or from project details.",
|
|
576
|
+
"summary": "Get test run details",
|
|
577
|
+
"icon": "play-circle",
|
|
578
|
+
"group": "Test Runs",
|
|
579
|
+
"input_schema": {
|
|
580
|
+
"type": "object",
|
|
581
|
+
"properties": {
|
|
582
|
+
"test_run_id": {
|
|
583
|
+
"type": "string",
|
|
584
|
+
"description": "Test run ID"
|
|
585
|
+
}
|
|
586
|
+
},
|
|
587
|
+
"required": [
|
|
588
|
+
"test_run_id"
|
|
589
|
+
],
|
|
590
|
+
"additionalProperties": false
|
|
591
|
+
},
|
|
592
|
+
"output_schema": {
|
|
593
|
+
"type": "object",
|
|
594
|
+
"properties": {
|
|
595
|
+
"test_run": {
|
|
596
|
+
"type": "object",
|
|
597
|
+
"properties": {
|
|
598
|
+
"id": {
|
|
599
|
+
"type": "string",
|
|
600
|
+
"description": "Test run ID"
|
|
601
|
+
},
|
|
602
|
+
"status": {
|
|
603
|
+
"type": "string",
|
|
604
|
+
"description": "Test run status"
|
|
605
|
+
},
|
|
606
|
+
"commit_sha": {
|
|
607
|
+
"anyOf": [
|
|
608
|
+
{
|
|
609
|
+
"type": "string"
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
"type": "null"
|
|
613
|
+
}
|
|
614
|
+
],
|
|
615
|
+
"description": "Git commit SHA"
|
|
616
|
+
},
|
|
617
|
+
"created_at": {
|
|
618
|
+
"type": "string",
|
|
619
|
+
"description": "ISO 8601 creation timestamp"
|
|
620
|
+
},
|
|
621
|
+
"updated_at": {
|
|
622
|
+
"type": "string",
|
|
623
|
+
"description": "ISO 8601 update timestamp"
|
|
624
|
+
},
|
|
625
|
+
"project_name": {
|
|
626
|
+
"type": "string",
|
|
627
|
+
"description": "Project name"
|
|
628
|
+
},
|
|
629
|
+
"organization_name": {
|
|
630
|
+
"type": "string",
|
|
631
|
+
"description": "Organization name"
|
|
632
|
+
},
|
|
633
|
+
"stats": {
|
|
634
|
+
"anyOf": [
|
|
635
|
+
{
|
|
636
|
+
"type": "object",
|
|
637
|
+
"properties": {
|
|
638
|
+
"total_screenshots": {
|
|
639
|
+
"type": "number",
|
|
640
|
+
"description": "Total screenshots compared"
|
|
641
|
+
},
|
|
642
|
+
"total_sessions": {
|
|
643
|
+
"type": "number",
|
|
644
|
+
"description": "Total sessions"
|
|
645
|
+
},
|
|
646
|
+
"total_sessions_replayed": {
|
|
647
|
+
"anyOf": [
|
|
648
|
+
{
|
|
649
|
+
"type": "number"
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"type": "null"
|
|
653
|
+
}
|
|
654
|
+
],
|
|
655
|
+
"description": "Sessions successfully replayed"
|
|
656
|
+
},
|
|
657
|
+
"sessions_skipped": {
|
|
658
|
+
"anyOf": [
|
|
659
|
+
{
|
|
660
|
+
"type": "number"
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"type": "null"
|
|
664
|
+
}
|
|
665
|
+
],
|
|
666
|
+
"description": "Sessions skipped"
|
|
667
|
+
},
|
|
668
|
+
"screenshots_skipped": {
|
|
669
|
+
"anyOf": [
|
|
670
|
+
{
|
|
671
|
+
"type": "number"
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"type": "null"
|
|
675
|
+
}
|
|
676
|
+
],
|
|
677
|
+
"description": "Screenshots skipped"
|
|
678
|
+
}
|
|
679
|
+
},
|
|
680
|
+
"required": [
|
|
681
|
+
"total_screenshots",
|
|
682
|
+
"total_sessions",
|
|
683
|
+
"total_sessions_replayed",
|
|
684
|
+
"sessions_skipped",
|
|
685
|
+
"screenshots_skipped"
|
|
686
|
+
],
|
|
687
|
+
"additionalProperties": false
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"type": "null"
|
|
691
|
+
}
|
|
692
|
+
],
|
|
693
|
+
"description": "Test run statistics"
|
|
694
|
+
},
|
|
695
|
+
"ci_provider": {
|
|
696
|
+
"anyOf": [
|
|
697
|
+
{
|
|
698
|
+
"type": "string"
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"type": "null"
|
|
702
|
+
}
|
|
703
|
+
],
|
|
704
|
+
"description": "CI provider"
|
|
705
|
+
},
|
|
706
|
+
"pr_title": {
|
|
707
|
+
"anyOf": [
|
|
708
|
+
{
|
|
709
|
+
"type": "string"
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
"type": "null"
|
|
713
|
+
}
|
|
714
|
+
],
|
|
715
|
+
"description": "Pull request title"
|
|
716
|
+
},
|
|
717
|
+
"pr_number": {
|
|
718
|
+
"anyOf": [
|
|
719
|
+
{
|
|
720
|
+
"type": "number"
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"type": "null"
|
|
724
|
+
}
|
|
725
|
+
],
|
|
726
|
+
"description": "Pull request number"
|
|
727
|
+
},
|
|
728
|
+
"pr_url": {
|
|
729
|
+
"anyOf": [
|
|
730
|
+
{
|
|
731
|
+
"type": "string"
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"type": "null"
|
|
735
|
+
}
|
|
736
|
+
],
|
|
737
|
+
"description": "Pull request URL"
|
|
738
|
+
},
|
|
739
|
+
"approval_state": {
|
|
740
|
+
"anyOf": [
|
|
741
|
+
{
|
|
742
|
+
"type": "string"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"type": "null"
|
|
746
|
+
}
|
|
747
|
+
],
|
|
748
|
+
"description": "PR approval state"
|
|
749
|
+
},
|
|
750
|
+
"describe_tested": {
|
|
751
|
+
"anyOf": [
|
|
752
|
+
{
|
|
753
|
+
"type": "string"
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"type": "null"
|
|
757
|
+
}
|
|
758
|
+
],
|
|
759
|
+
"description": "Description of what was tested"
|
|
760
|
+
}
|
|
761
|
+
},
|
|
762
|
+
"required": [
|
|
763
|
+
"id",
|
|
764
|
+
"status",
|
|
765
|
+
"commit_sha",
|
|
766
|
+
"created_at",
|
|
767
|
+
"updated_at",
|
|
768
|
+
"project_name",
|
|
769
|
+
"organization_name",
|
|
770
|
+
"stats",
|
|
771
|
+
"ci_provider",
|
|
772
|
+
"pr_title",
|
|
773
|
+
"pr_number",
|
|
774
|
+
"pr_url",
|
|
775
|
+
"approval_state",
|
|
776
|
+
"describe_tested"
|
|
777
|
+
],
|
|
778
|
+
"additionalProperties": false
|
|
779
|
+
},
|
|
780
|
+
"web_url": {
|
|
781
|
+
"type": "string",
|
|
782
|
+
"description": "URL to view the test run in the Meticulous web UI"
|
|
783
|
+
}
|
|
784
|
+
},
|
|
785
|
+
"required": [
|
|
786
|
+
"test_run",
|
|
787
|
+
"web_url"
|
|
788
|
+
],
|
|
789
|
+
"additionalProperties": false
|
|
790
|
+
}
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"name": "get_test_run_screenshots",
|
|
794
|
+
"displayName": "Get Test Run Screenshots",
|
|
795
|
+
"description": "Get screenshot diffs and test case screenshots for a test run. Each diff includes head/base replay info and screenshot comparison URLs (base image, head image, diff image).",
|
|
796
|
+
"summary": "Get test run screenshot diffs",
|
|
797
|
+
"icon": "image",
|
|
798
|
+
"group": "Test Runs",
|
|
799
|
+
"input_schema": {
|
|
800
|
+
"type": "object",
|
|
801
|
+
"properties": {
|
|
802
|
+
"test_run_id": {
|
|
803
|
+
"type": "string",
|
|
804
|
+
"description": "Test run ID"
|
|
805
|
+
},
|
|
806
|
+
"replay_diff_limit": {
|
|
807
|
+
"default": 50,
|
|
808
|
+
"description": "Max replay diffs to return",
|
|
809
|
+
"type": "number"
|
|
810
|
+
},
|
|
811
|
+
"replay_diff_offset": {
|
|
812
|
+
"default": 0,
|
|
813
|
+
"description": "Offset for replay diffs pagination",
|
|
814
|
+
"type": "number"
|
|
815
|
+
},
|
|
816
|
+
"test_case_limit": {
|
|
817
|
+
"default": 50,
|
|
818
|
+
"description": "Max test case results to return",
|
|
819
|
+
"type": "number"
|
|
820
|
+
},
|
|
821
|
+
"test_case_offset": {
|
|
822
|
+
"default": 0,
|
|
823
|
+
"description": "Offset for test case pagination",
|
|
824
|
+
"type": "number"
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
"required": [
|
|
828
|
+
"test_run_id",
|
|
829
|
+
"replay_diff_limit",
|
|
830
|
+
"replay_diff_offset",
|
|
831
|
+
"test_case_limit",
|
|
832
|
+
"test_case_offset"
|
|
833
|
+
],
|
|
834
|
+
"additionalProperties": false
|
|
835
|
+
},
|
|
836
|
+
"output_schema": {
|
|
837
|
+
"type": "object",
|
|
838
|
+
"properties": {
|
|
839
|
+
"diffs": {
|
|
840
|
+
"type": "array",
|
|
841
|
+
"items": {
|
|
842
|
+
"type": "object",
|
|
843
|
+
"properties": {
|
|
844
|
+
"replay_diff_id": {
|
|
845
|
+
"type": "string",
|
|
846
|
+
"description": "Replay diff ID"
|
|
847
|
+
},
|
|
848
|
+
"head_replay": {
|
|
849
|
+
"type": "object",
|
|
850
|
+
"properties": {
|
|
851
|
+
"id": {
|
|
852
|
+
"type": "string",
|
|
853
|
+
"description": "Replay ID"
|
|
854
|
+
},
|
|
855
|
+
"status": {
|
|
856
|
+
"anyOf": [
|
|
857
|
+
{
|
|
858
|
+
"type": "string"
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
"type": "null"
|
|
862
|
+
}
|
|
863
|
+
],
|
|
864
|
+
"description": "Replay status (e.g., Success, Failure)"
|
|
865
|
+
},
|
|
866
|
+
"is_accurate": {
|
|
867
|
+
"anyOf": [
|
|
868
|
+
{
|
|
869
|
+
"type": "boolean"
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
"type": "null"
|
|
873
|
+
}
|
|
874
|
+
],
|
|
875
|
+
"description": "Whether replay was accurate"
|
|
876
|
+
},
|
|
877
|
+
"app_url": {
|
|
878
|
+
"anyOf": [
|
|
879
|
+
{
|
|
880
|
+
"type": "string"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"type": "null"
|
|
884
|
+
}
|
|
885
|
+
],
|
|
886
|
+
"description": "Application URL"
|
|
887
|
+
}
|
|
888
|
+
},
|
|
889
|
+
"required": [
|
|
890
|
+
"id",
|
|
891
|
+
"status",
|
|
892
|
+
"is_accurate",
|
|
893
|
+
"app_url"
|
|
894
|
+
],
|
|
895
|
+
"additionalProperties": false,
|
|
896
|
+
"description": "Head (actual) replay"
|
|
897
|
+
},
|
|
898
|
+
"base_replay": {
|
|
899
|
+
"type": "object",
|
|
900
|
+
"properties": {
|
|
901
|
+
"id": {
|
|
902
|
+
"type": "string",
|
|
903
|
+
"description": "Replay ID"
|
|
904
|
+
},
|
|
905
|
+
"status": {
|
|
906
|
+
"anyOf": [
|
|
907
|
+
{
|
|
908
|
+
"type": "string"
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"type": "null"
|
|
912
|
+
}
|
|
913
|
+
],
|
|
914
|
+
"description": "Replay status (e.g., Success, Failure)"
|
|
915
|
+
},
|
|
916
|
+
"is_accurate": {
|
|
917
|
+
"anyOf": [
|
|
918
|
+
{
|
|
919
|
+
"type": "boolean"
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"type": "null"
|
|
923
|
+
}
|
|
924
|
+
],
|
|
925
|
+
"description": "Whether replay was accurate"
|
|
926
|
+
},
|
|
927
|
+
"app_url": {
|
|
928
|
+
"anyOf": [
|
|
929
|
+
{
|
|
930
|
+
"type": "string"
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"type": "null"
|
|
934
|
+
}
|
|
935
|
+
],
|
|
936
|
+
"description": "Application URL"
|
|
937
|
+
}
|
|
938
|
+
},
|
|
939
|
+
"required": [
|
|
940
|
+
"id",
|
|
941
|
+
"status",
|
|
942
|
+
"is_accurate",
|
|
943
|
+
"app_url"
|
|
944
|
+
],
|
|
945
|
+
"additionalProperties": false,
|
|
946
|
+
"description": "Base (expected) replay"
|
|
947
|
+
},
|
|
948
|
+
"screenshot_diffs": {
|
|
949
|
+
"type": "array",
|
|
950
|
+
"items": {
|
|
951
|
+
"type": "object",
|
|
952
|
+
"properties": {
|
|
953
|
+
"outcome": {
|
|
954
|
+
"type": "string",
|
|
955
|
+
"description": "Diff outcome"
|
|
956
|
+
},
|
|
957
|
+
"user_visible_outcome": {
|
|
958
|
+
"type": "string",
|
|
959
|
+
"description": "User-visible outcome"
|
|
960
|
+
},
|
|
961
|
+
"group_id": {
|
|
962
|
+
"anyOf": [
|
|
963
|
+
{
|
|
964
|
+
"type": "string"
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"type": "null"
|
|
968
|
+
}
|
|
969
|
+
],
|
|
970
|
+
"description": "Group ID"
|
|
971
|
+
},
|
|
972
|
+
"width": {
|
|
973
|
+
"anyOf": [
|
|
974
|
+
{
|
|
975
|
+
"type": "number"
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
"type": "null"
|
|
979
|
+
}
|
|
980
|
+
],
|
|
981
|
+
"description": "Screenshot width"
|
|
982
|
+
},
|
|
983
|
+
"mismatch_pixels": {
|
|
984
|
+
"anyOf": [
|
|
985
|
+
{
|
|
986
|
+
"type": "number"
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"type": "null"
|
|
990
|
+
}
|
|
991
|
+
],
|
|
992
|
+
"description": "Number of mismatched pixels"
|
|
993
|
+
},
|
|
994
|
+
"diff_hash": {
|
|
995
|
+
"anyOf": [
|
|
996
|
+
{
|
|
997
|
+
"type": "string"
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"type": "null"
|
|
1001
|
+
}
|
|
1002
|
+
],
|
|
1003
|
+
"description": "Diff hash for deduplication"
|
|
1004
|
+
},
|
|
1005
|
+
"base_screenshot": {
|
|
1006
|
+
"anyOf": [
|
|
1007
|
+
{
|
|
1008
|
+
"type": "object",
|
|
1009
|
+
"properties": {
|
|
1010
|
+
"filename": {
|
|
1011
|
+
"type": "string",
|
|
1012
|
+
"description": "Screenshot filename"
|
|
1013
|
+
},
|
|
1014
|
+
"public_url": {
|
|
1015
|
+
"type": "string",
|
|
1016
|
+
"description": "Signed URL to screenshot image"
|
|
1017
|
+
},
|
|
1018
|
+
"replay_id": {
|
|
1019
|
+
"description": "Replay ID",
|
|
1020
|
+
"type": "string"
|
|
1021
|
+
},
|
|
1022
|
+
"route_url": {
|
|
1023
|
+
"description": "Page URL",
|
|
1024
|
+
"type": "string"
|
|
1025
|
+
},
|
|
1026
|
+
"route_group": {
|
|
1027
|
+
"description": "Route group",
|
|
1028
|
+
"type": "string"
|
|
1029
|
+
},
|
|
1030
|
+
"identifier_type": {
|
|
1031
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
1032
|
+
"type": "string"
|
|
1033
|
+
},
|
|
1034
|
+
"event_number": {
|
|
1035
|
+
"description": "Event number for after-event screenshots",
|
|
1036
|
+
"type": "number"
|
|
1037
|
+
}
|
|
1038
|
+
},
|
|
1039
|
+
"required": [
|
|
1040
|
+
"filename",
|
|
1041
|
+
"public_url"
|
|
1042
|
+
],
|
|
1043
|
+
"additionalProperties": false
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
"type": "null"
|
|
1047
|
+
}
|
|
1048
|
+
],
|
|
1049
|
+
"description": "Base (expected) screenshot"
|
|
1050
|
+
},
|
|
1051
|
+
"head_screenshot": {
|
|
1052
|
+
"anyOf": [
|
|
1053
|
+
{
|
|
1054
|
+
"type": "object",
|
|
1055
|
+
"properties": {
|
|
1056
|
+
"filename": {
|
|
1057
|
+
"type": "string",
|
|
1058
|
+
"description": "Screenshot filename"
|
|
1059
|
+
},
|
|
1060
|
+
"public_url": {
|
|
1061
|
+
"type": "string",
|
|
1062
|
+
"description": "Signed URL to screenshot image"
|
|
1063
|
+
},
|
|
1064
|
+
"replay_id": {
|
|
1065
|
+
"description": "Replay ID",
|
|
1066
|
+
"type": "string"
|
|
1067
|
+
},
|
|
1068
|
+
"route_url": {
|
|
1069
|
+
"description": "Page URL",
|
|
1070
|
+
"type": "string"
|
|
1071
|
+
},
|
|
1072
|
+
"route_group": {
|
|
1073
|
+
"description": "Route group",
|
|
1074
|
+
"type": "string"
|
|
1075
|
+
},
|
|
1076
|
+
"identifier_type": {
|
|
1077
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
1078
|
+
"type": "string"
|
|
1079
|
+
},
|
|
1080
|
+
"event_number": {
|
|
1081
|
+
"description": "Event number for after-event screenshots",
|
|
1082
|
+
"type": "number"
|
|
1083
|
+
}
|
|
1084
|
+
},
|
|
1085
|
+
"required": [
|
|
1086
|
+
"filename",
|
|
1087
|
+
"public_url"
|
|
1088
|
+
],
|
|
1089
|
+
"additionalProperties": false
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"type": "null"
|
|
1093
|
+
}
|
|
1094
|
+
],
|
|
1095
|
+
"description": "Head (actual) screenshot"
|
|
1096
|
+
},
|
|
1097
|
+
"diff_url_thumb": {
|
|
1098
|
+
"anyOf": [
|
|
1099
|
+
{
|
|
1100
|
+
"type": "string"
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
"type": "null"
|
|
1104
|
+
}
|
|
1105
|
+
],
|
|
1106
|
+
"description": "Diff thumbnail URL"
|
|
1107
|
+
},
|
|
1108
|
+
"diff_url_full": {
|
|
1109
|
+
"anyOf": [
|
|
1110
|
+
{
|
|
1111
|
+
"type": "string"
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
"type": "null"
|
|
1115
|
+
}
|
|
1116
|
+
],
|
|
1117
|
+
"description": "Full diff image URL"
|
|
1118
|
+
},
|
|
1119
|
+
"changed_class_names": {
|
|
1120
|
+
"type": "array",
|
|
1121
|
+
"items": {
|
|
1122
|
+
"type": "string"
|
|
1123
|
+
},
|
|
1124
|
+
"description": "CSS class names of changed sections"
|
|
1125
|
+
}
|
|
1126
|
+
},
|
|
1127
|
+
"required": [
|
|
1128
|
+
"outcome",
|
|
1129
|
+
"user_visible_outcome",
|
|
1130
|
+
"group_id",
|
|
1131
|
+
"width",
|
|
1132
|
+
"mismatch_pixels",
|
|
1133
|
+
"diff_hash",
|
|
1134
|
+
"base_screenshot",
|
|
1135
|
+
"head_screenshot",
|
|
1136
|
+
"diff_url_thumb",
|
|
1137
|
+
"diff_url_full",
|
|
1138
|
+
"changed_class_names"
|
|
1139
|
+
],
|
|
1140
|
+
"additionalProperties": false
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
1143
|
+
},
|
|
1144
|
+
"required": [
|
|
1145
|
+
"replay_diff_id",
|
|
1146
|
+
"head_replay",
|
|
1147
|
+
"base_replay",
|
|
1148
|
+
"screenshot_diffs"
|
|
1149
|
+
],
|
|
1150
|
+
"additionalProperties": false
|
|
1151
|
+
}
|
|
1152
|
+
},
|
|
1153
|
+
"test_case_screenshots": {
|
|
1154
|
+
"type": "array",
|
|
1155
|
+
"items": {
|
|
1156
|
+
"type": "object",
|
|
1157
|
+
"properties": {
|
|
1158
|
+
"replay_id": {
|
|
1159
|
+
"type": "string",
|
|
1160
|
+
"description": "Replay ID"
|
|
1161
|
+
},
|
|
1162
|
+
"replay_status": {
|
|
1163
|
+
"anyOf": [
|
|
1164
|
+
{
|
|
1165
|
+
"type": "string"
|
|
1166
|
+
},
|
|
1167
|
+
{
|
|
1168
|
+
"type": "null"
|
|
1169
|
+
}
|
|
1170
|
+
],
|
|
1171
|
+
"description": "Replay status"
|
|
1172
|
+
},
|
|
1173
|
+
"replay_accurate": {
|
|
1174
|
+
"anyOf": [
|
|
1175
|
+
{
|
|
1176
|
+
"type": "boolean"
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"type": "null"
|
|
1180
|
+
}
|
|
1181
|
+
],
|
|
1182
|
+
"description": "Whether replay was accurate"
|
|
1183
|
+
},
|
|
1184
|
+
"app_url": {
|
|
1185
|
+
"anyOf": [
|
|
1186
|
+
{
|
|
1187
|
+
"type": "string"
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
"type": "null"
|
|
1191
|
+
}
|
|
1192
|
+
],
|
|
1193
|
+
"description": "Application URL"
|
|
1194
|
+
},
|
|
1195
|
+
"session_id": {
|
|
1196
|
+
"anyOf": [
|
|
1197
|
+
{
|
|
1198
|
+
"type": "string"
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
"type": "null"
|
|
1202
|
+
}
|
|
1203
|
+
],
|
|
1204
|
+
"description": "Source session ID"
|
|
1205
|
+
},
|
|
1206
|
+
"screenshots": {
|
|
1207
|
+
"type": "array",
|
|
1208
|
+
"items": {
|
|
1209
|
+
"type": "object",
|
|
1210
|
+
"properties": {
|
|
1211
|
+
"filename": {
|
|
1212
|
+
"type": "string",
|
|
1213
|
+
"description": "Screenshot filename"
|
|
1214
|
+
},
|
|
1215
|
+
"public_url": {
|
|
1216
|
+
"type": "string",
|
|
1217
|
+
"description": "Signed URL to screenshot image"
|
|
1218
|
+
},
|
|
1219
|
+
"replay_id": {
|
|
1220
|
+
"description": "Replay ID",
|
|
1221
|
+
"type": "string"
|
|
1222
|
+
},
|
|
1223
|
+
"route_url": {
|
|
1224
|
+
"description": "Page URL",
|
|
1225
|
+
"type": "string"
|
|
1226
|
+
},
|
|
1227
|
+
"route_group": {
|
|
1228
|
+
"description": "Route group",
|
|
1229
|
+
"type": "string"
|
|
1230
|
+
},
|
|
1231
|
+
"identifier_type": {
|
|
1232
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
1233
|
+
"type": "string"
|
|
1234
|
+
},
|
|
1235
|
+
"event_number": {
|
|
1236
|
+
"description": "Event number for after-event screenshots",
|
|
1237
|
+
"type": "number"
|
|
1238
|
+
}
|
|
1239
|
+
},
|
|
1240
|
+
"required": [
|
|
1241
|
+
"filename",
|
|
1242
|
+
"public_url"
|
|
1243
|
+
],
|
|
1244
|
+
"additionalProperties": false
|
|
1245
|
+
}
|
|
1246
|
+
}
|
|
1247
|
+
},
|
|
1248
|
+
"required": [
|
|
1249
|
+
"replay_id",
|
|
1250
|
+
"replay_status",
|
|
1251
|
+
"replay_accurate",
|
|
1252
|
+
"app_url",
|
|
1253
|
+
"session_id",
|
|
1254
|
+
"screenshots"
|
|
1255
|
+
],
|
|
1256
|
+
"additionalProperties": false
|
|
1257
|
+
}
|
|
1258
|
+
}
|
|
1259
|
+
},
|
|
1260
|
+
"required": [
|
|
1261
|
+
"diffs",
|
|
1262
|
+
"test_case_screenshots"
|
|
1263
|
+
],
|
|
1264
|
+
"additionalProperties": false
|
|
1265
|
+
}
|
|
1266
|
+
},
|
|
1267
|
+
{
|
|
1268
|
+
"name": "get_test_run_diffs",
|
|
1269
|
+
"displayName": "Get Test Run Diffs",
|
|
1270
|
+
"description": "Get replay diffs for a test run. Each diff compares a head replay against a base replay. Set only_with_screenshot_diffs=true to skip diffs that have no visual differences (many diffs are structural-only with empty screenshot_diffs). Use compare_replays with the base_replay.id to see full comparison details including screenshots.",
|
|
1271
|
+
"summary": "Get replay diffs for a test run",
|
|
1272
|
+
"icon": "diff",
|
|
1273
|
+
"group": "Test Runs",
|
|
1274
|
+
"input_schema": {
|
|
1275
|
+
"type": "object",
|
|
1276
|
+
"properties": {
|
|
1277
|
+
"test_run_id": {
|
|
1278
|
+
"type": "string",
|
|
1279
|
+
"description": "Test run ID"
|
|
1280
|
+
},
|
|
1281
|
+
"only_with_screenshot_diffs": {
|
|
1282
|
+
"default": false,
|
|
1283
|
+
"description": "Only return diffs that have actual visual screenshot differences",
|
|
1284
|
+
"type": "boolean"
|
|
1285
|
+
},
|
|
1286
|
+
"limit": {
|
|
1287
|
+
"default": 100,
|
|
1288
|
+
"description": "Max results to return",
|
|
1289
|
+
"type": "number"
|
|
1290
|
+
},
|
|
1291
|
+
"offset": {
|
|
1292
|
+
"default": 0,
|
|
1293
|
+
"description": "Offset for pagination",
|
|
1294
|
+
"type": "number"
|
|
1295
|
+
}
|
|
1296
|
+
},
|
|
1297
|
+
"required": [
|
|
1298
|
+
"test_run_id",
|
|
1299
|
+
"only_with_screenshot_diffs",
|
|
1300
|
+
"limit",
|
|
1301
|
+
"offset"
|
|
1302
|
+
],
|
|
1303
|
+
"additionalProperties": false
|
|
1304
|
+
},
|
|
1305
|
+
"output_schema": {
|
|
1306
|
+
"type": "object",
|
|
1307
|
+
"properties": {
|
|
1308
|
+
"total_fetched": {
|
|
1309
|
+
"type": "number",
|
|
1310
|
+
"description": "Total diffs fetched from API before filtering"
|
|
1311
|
+
},
|
|
1312
|
+
"diffs": {
|
|
1313
|
+
"type": "array",
|
|
1314
|
+
"items": {
|
|
1315
|
+
"type": "object",
|
|
1316
|
+
"properties": {
|
|
1317
|
+
"replay_diff_id": {
|
|
1318
|
+
"type": "string",
|
|
1319
|
+
"description": "Replay diff ID"
|
|
1320
|
+
},
|
|
1321
|
+
"head_replay": {
|
|
1322
|
+
"type": "object",
|
|
1323
|
+
"properties": {
|
|
1324
|
+
"id": {
|
|
1325
|
+
"type": "string",
|
|
1326
|
+
"description": "Replay ID"
|
|
1327
|
+
},
|
|
1328
|
+
"status": {
|
|
1329
|
+
"anyOf": [
|
|
1330
|
+
{
|
|
1331
|
+
"type": "string"
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
"type": "null"
|
|
1335
|
+
}
|
|
1336
|
+
],
|
|
1337
|
+
"description": "Replay status (e.g., Success, Failure)"
|
|
1338
|
+
},
|
|
1339
|
+
"is_accurate": {
|
|
1340
|
+
"anyOf": [
|
|
1341
|
+
{
|
|
1342
|
+
"type": "boolean"
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
"type": "null"
|
|
1346
|
+
}
|
|
1347
|
+
],
|
|
1348
|
+
"description": "Whether replay was accurate"
|
|
1349
|
+
},
|
|
1350
|
+
"app_url": {
|
|
1351
|
+
"anyOf": [
|
|
1352
|
+
{
|
|
1353
|
+
"type": "string"
|
|
1354
|
+
},
|
|
1355
|
+
{
|
|
1356
|
+
"type": "null"
|
|
1357
|
+
}
|
|
1358
|
+
],
|
|
1359
|
+
"description": "Application URL"
|
|
1360
|
+
}
|
|
1361
|
+
},
|
|
1362
|
+
"required": [
|
|
1363
|
+
"id",
|
|
1364
|
+
"status",
|
|
1365
|
+
"is_accurate",
|
|
1366
|
+
"app_url"
|
|
1367
|
+
],
|
|
1368
|
+
"additionalProperties": false,
|
|
1369
|
+
"description": "Head (actual) replay"
|
|
1370
|
+
},
|
|
1371
|
+
"base_replay": {
|
|
1372
|
+
"type": "object",
|
|
1373
|
+
"properties": {
|
|
1374
|
+
"id": {
|
|
1375
|
+
"type": "string",
|
|
1376
|
+
"description": "Replay ID"
|
|
1377
|
+
},
|
|
1378
|
+
"status": {
|
|
1379
|
+
"anyOf": [
|
|
1380
|
+
{
|
|
1381
|
+
"type": "string"
|
|
1382
|
+
},
|
|
1383
|
+
{
|
|
1384
|
+
"type": "null"
|
|
1385
|
+
}
|
|
1386
|
+
],
|
|
1387
|
+
"description": "Replay status (e.g., Success, Failure)"
|
|
1388
|
+
},
|
|
1389
|
+
"is_accurate": {
|
|
1390
|
+
"anyOf": [
|
|
1391
|
+
{
|
|
1392
|
+
"type": "boolean"
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
"type": "null"
|
|
1396
|
+
}
|
|
1397
|
+
],
|
|
1398
|
+
"description": "Whether replay was accurate"
|
|
1399
|
+
},
|
|
1400
|
+
"app_url": {
|
|
1401
|
+
"anyOf": [
|
|
1402
|
+
{
|
|
1403
|
+
"type": "string"
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
"type": "null"
|
|
1407
|
+
}
|
|
1408
|
+
],
|
|
1409
|
+
"description": "Application URL"
|
|
1410
|
+
}
|
|
1411
|
+
},
|
|
1412
|
+
"required": [
|
|
1413
|
+
"id",
|
|
1414
|
+
"status",
|
|
1415
|
+
"is_accurate",
|
|
1416
|
+
"app_url"
|
|
1417
|
+
],
|
|
1418
|
+
"additionalProperties": false,
|
|
1419
|
+
"description": "Base (expected) replay"
|
|
1420
|
+
},
|
|
1421
|
+
"has_screenshot_diffs": {
|
|
1422
|
+
"type": "boolean",
|
|
1423
|
+
"description": "Whether this diff has visual screenshot differences"
|
|
1424
|
+
},
|
|
1425
|
+
"screenshot_diff_count": {
|
|
1426
|
+
"type": "number",
|
|
1427
|
+
"description": "Number of screenshot diffs"
|
|
1428
|
+
},
|
|
1429
|
+
"screenshot_diffs": {
|
|
1430
|
+
"type": "array",
|
|
1431
|
+
"items": {
|
|
1432
|
+
"type": "object",
|
|
1433
|
+
"properties": {
|
|
1434
|
+
"outcome": {
|
|
1435
|
+
"type": "string",
|
|
1436
|
+
"description": "Diff outcome"
|
|
1437
|
+
},
|
|
1438
|
+
"user_visible_outcome": {
|
|
1439
|
+
"type": "string",
|
|
1440
|
+
"description": "User-visible outcome"
|
|
1441
|
+
},
|
|
1442
|
+
"group_id": {
|
|
1443
|
+
"anyOf": [
|
|
1444
|
+
{
|
|
1445
|
+
"type": "string"
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"type": "null"
|
|
1449
|
+
}
|
|
1450
|
+
],
|
|
1451
|
+
"description": "Group ID"
|
|
1452
|
+
},
|
|
1453
|
+
"width": {
|
|
1454
|
+
"anyOf": [
|
|
1455
|
+
{
|
|
1456
|
+
"type": "number"
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
"type": "null"
|
|
1460
|
+
}
|
|
1461
|
+
],
|
|
1462
|
+
"description": "Screenshot width"
|
|
1463
|
+
},
|
|
1464
|
+
"mismatch_pixels": {
|
|
1465
|
+
"anyOf": [
|
|
1466
|
+
{
|
|
1467
|
+
"type": "number"
|
|
1468
|
+
},
|
|
1469
|
+
{
|
|
1470
|
+
"type": "null"
|
|
1471
|
+
}
|
|
1472
|
+
],
|
|
1473
|
+
"description": "Number of mismatched pixels"
|
|
1474
|
+
},
|
|
1475
|
+
"diff_hash": {
|
|
1476
|
+
"anyOf": [
|
|
1477
|
+
{
|
|
1478
|
+
"type": "string"
|
|
1479
|
+
},
|
|
1480
|
+
{
|
|
1481
|
+
"type": "null"
|
|
1482
|
+
}
|
|
1483
|
+
],
|
|
1484
|
+
"description": "Diff hash for deduplication"
|
|
1485
|
+
},
|
|
1486
|
+
"base_screenshot": {
|
|
1487
|
+
"anyOf": [
|
|
1488
|
+
{
|
|
1489
|
+
"type": "object",
|
|
1490
|
+
"properties": {
|
|
1491
|
+
"filename": {
|
|
1492
|
+
"type": "string",
|
|
1493
|
+
"description": "Screenshot filename"
|
|
1494
|
+
},
|
|
1495
|
+
"public_url": {
|
|
1496
|
+
"type": "string",
|
|
1497
|
+
"description": "Signed URL to screenshot image"
|
|
1498
|
+
},
|
|
1499
|
+
"replay_id": {
|
|
1500
|
+
"description": "Replay ID",
|
|
1501
|
+
"type": "string"
|
|
1502
|
+
},
|
|
1503
|
+
"route_url": {
|
|
1504
|
+
"description": "Page URL",
|
|
1505
|
+
"type": "string"
|
|
1506
|
+
},
|
|
1507
|
+
"route_group": {
|
|
1508
|
+
"description": "Route group",
|
|
1509
|
+
"type": "string"
|
|
1510
|
+
},
|
|
1511
|
+
"identifier_type": {
|
|
1512
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
1513
|
+
"type": "string"
|
|
1514
|
+
},
|
|
1515
|
+
"event_number": {
|
|
1516
|
+
"description": "Event number for after-event screenshots",
|
|
1517
|
+
"type": "number"
|
|
1518
|
+
}
|
|
1519
|
+
},
|
|
1520
|
+
"required": [
|
|
1521
|
+
"filename",
|
|
1522
|
+
"public_url"
|
|
1523
|
+
],
|
|
1524
|
+
"additionalProperties": false
|
|
1525
|
+
},
|
|
1526
|
+
{
|
|
1527
|
+
"type": "null"
|
|
1528
|
+
}
|
|
1529
|
+
],
|
|
1530
|
+
"description": "Base (expected) screenshot"
|
|
1531
|
+
},
|
|
1532
|
+
"head_screenshot": {
|
|
1533
|
+
"anyOf": [
|
|
1534
|
+
{
|
|
1535
|
+
"type": "object",
|
|
1536
|
+
"properties": {
|
|
1537
|
+
"filename": {
|
|
1538
|
+
"type": "string",
|
|
1539
|
+
"description": "Screenshot filename"
|
|
1540
|
+
},
|
|
1541
|
+
"public_url": {
|
|
1542
|
+
"type": "string",
|
|
1543
|
+
"description": "Signed URL to screenshot image"
|
|
1544
|
+
},
|
|
1545
|
+
"replay_id": {
|
|
1546
|
+
"description": "Replay ID",
|
|
1547
|
+
"type": "string"
|
|
1548
|
+
},
|
|
1549
|
+
"route_url": {
|
|
1550
|
+
"description": "Page URL",
|
|
1551
|
+
"type": "string"
|
|
1552
|
+
},
|
|
1553
|
+
"route_group": {
|
|
1554
|
+
"description": "Route group",
|
|
1555
|
+
"type": "string"
|
|
1556
|
+
},
|
|
1557
|
+
"identifier_type": {
|
|
1558
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
1559
|
+
"type": "string"
|
|
1560
|
+
},
|
|
1561
|
+
"event_number": {
|
|
1562
|
+
"description": "Event number for after-event screenshots",
|
|
1563
|
+
"type": "number"
|
|
1564
|
+
}
|
|
1565
|
+
},
|
|
1566
|
+
"required": [
|
|
1567
|
+
"filename",
|
|
1568
|
+
"public_url"
|
|
1569
|
+
],
|
|
1570
|
+
"additionalProperties": false
|
|
1571
|
+
},
|
|
1572
|
+
{
|
|
1573
|
+
"type": "null"
|
|
1574
|
+
}
|
|
1575
|
+
],
|
|
1576
|
+
"description": "Head (actual) screenshot"
|
|
1577
|
+
},
|
|
1578
|
+
"diff_url_thumb": {
|
|
1579
|
+
"anyOf": [
|
|
1580
|
+
{
|
|
1581
|
+
"type": "string"
|
|
1582
|
+
},
|
|
1583
|
+
{
|
|
1584
|
+
"type": "null"
|
|
1585
|
+
}
|
|
1586
|
+
],
|
|
1587
|
+
"description": "Diff thumbnail URL"
|
|
1588
|
+
},
|
|
1589
|
+
"diff_url_full": {
|
|
1590
|
+
"anyOf": [
|
|
1591
|
+
{
|
|
1592
|
+
"type": "string"
|
|
1593
|
+
},
|
|
1594
|
+
{
|
|
1595
|
+
"type": "null"
|
|
1596
|
+
}
|
|
1597
|
+
],
|
|
1598
|
+
"description": "Full diff image URL"
|
|
1599
|
+
},
|
|
1600
|
+
"changed_class_names": {
|
|
1601
|
+
"type": "array",
|
|
1602
|
+
"items": {
|
|
1603
|
+
"type": "string"
|
|
1604
|
+
},
|
|
1605
|
+
"description": "CSS class names of changed sections"
|
|
1606
|
+
}
|
|
1607
|
+
},
|
|
1608
|
+
"required": [
|
|
1609
|
+
"outcome",
|
|
1610
|
+
"user_visible_outcome",
|
|
1611
|
+
"group_id",
|
|
1612
|
+
"width",
|
|
1613
|
+
"mismatch_pixels",
|
|
1614
|
+
"diff_hash",
|
|
1615
|
+
"base_screenshot",
|
|
1616
|
+
"head_screenshot",
|
|
1617
|
+
"diff_url_thumb",
|
|
1618
|
+
"diff_url_full",
|
|
1619
|
+
"changed_class_names"
|
|
1620
|
+
],
|
|
1621
|
+
"additionalProperties": false
|
|
1622
|
+
}
|
|
1623
|
+
}
|
|
1624
|
+
},
|
|
1625
|
+
"required": [
|
|
1626
|
+
"replay_diff_id",
|
|
1627
|
+
"head_replay",
|
|
1628
|
+
"base_replay",
|
|
1629
|
+
"has_screenshot_diffs",
|
|
1630
|
+
"screenshot_diff_count",
|
|
1631
|
+
"screenshot_diffs"
|
|
1632
|
+
],
|
|
1633
|
+
"additionalProperties": false
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
},
|
|
1637
|
+
"required": [
|
|
1638
|
+
"total_fetched",
|
|
1639
|
+
"diffs"
|
|
1640
|
+
],
|
|
1641
|
+
"additionalProperties": false
|
|
1642
|
+
}
|
|
1643
|
+
},
|
|
1644
|
+
{
|
|
1645
|
+
"name": "get_test_run_test_cases",
|
|
1646
|
+
"displayName": "Get Test Run Test Cases",
|
|
1647
|
+
"description": "Get test case results for a test run. Each test case has a head replay with status and accuracy info. A replay with is_accurate=false means the replay diverged from the original session (non-deterministic behavior, flaky). Note: test cases do not have a base replay — they represent individual session replays, not diff comparisons. For visual diffs, use get_test_run_diffs instead.",
|
|
1648
|
+
"summary": "Get test case results",
|
|
1649
|
+
"icon": "list-checks",
|
|
1650
|
+
"group": "Test Runs",
|
|
1651
|
+
"input_schema": {
|
|
1652
|
+
"type": "object",
|
|
1653
|
+
"properties": {
|
|
1654
|
+
"test_run_id": {
|
|
1655
|
+
"type": "string",
|
|
1656
|
+
"description": "Test run ID"
|
|
1657
|
+
},
|
|
1658
|
+
"include_passes": {
|
|
1659
|
+
"default": false,
|
|
1660
|
+
"description": "Include passing test cases (defaults to failures only)",
|
|
1661
|
+
"type": "boolean"
|
|
1662
|
+
},
|
|
1663
|
+
"limit": {
|
|
1664
|
+
"default": 100,
|
|
1665
|
+
"description": "Max results to return",
|
|
1666
|
+
"type": "number"
|
|
1667
|
+
},
|
|
1668
|
+
"offset": {
|
|
1669
|
+
"default": 0,
|
|
1670
|
+
"description": "Offset for pagination",
|
|
1671
|
+
"type": "number"
|
|
1672
|
+
}
|
|
1673
|
+
},
|
|
1674
|
+
"required": [
|
|
1675
|
+
"test_run_id",
|
|
1676
|
+
"include_passes",
|
|
1677
|
+
"limit",
|
|
1678
|
+
"offset"
|
|
1679
|
+
],
|
|
1680
|
+
"additionalProperties": false
|
|
1681
|
+
},
|
|
1682
|
+
"output_schema": {
|
|
1683
|
+
"type": "object",
|
|
1684
|
+
"properties": {
|
|
1685
|
+
"test_cases": {
|
|
1686
|
+
"type": "array",
|
|
1687
|
+
"items": {
|
|
1688
|
+
"type": "object",
|
|
1689
|
+
"properties": {
|
|
1690
|
+
"replay_id": {
|
|
1691
|
+
"type": "string",
|
|
1692
|
+
"description": "Replay ID — use with get_replay for full details"
|
|
1693
|
+
},
|
|
1694
|
+
"replay_status": {
|
|
1695
|
+
"anyOf": [
|
|
1696
|
+
{
|
|
1697
|
+
"type": "string"
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
"type": "null"
|
|
1701
|
+
}
|
|
1702
|
+
],
|
|
1703
|
+
"description": "Replay execution status (Success = completed, may still be inaccurate)"
|
|
1704
|
+
},
|
|
1705
|
+
"replay_accurate": {
|
|
1706
|
+
"anyOf": [
|
|
1707
|
+
{
|
|
1708
|
+
"type": "boolean"
|
|
1709
|
+
},
|
|
1710
|
+
{
|
|
1711
|
+
"type": "null"
|
|
1712
|
+
}
|
|
1713
|
+
],
|
|
1714
|
+
"description": "Whether the replay accurately reproduced the session. false = flaky/non-deterministic failure"
|
|
1715
|
+
},
|
|
1716
|
+
"app_url": {
|
|
1717
|
+
"anyOf": [
|
|
1718
|
+
{
|
|
1719
|
+
"type": "string"
|
|
1720
|
+
},
|
|
1721
|
+
{
|
|
1722
|
+
"type": "null"
|
|
1723
|
+
}
|
|
1724
|
+
],
|
|
1725
|
+
"description": "Application URL used for replay"
|
|
1726
|
+
},
|
|
1727
|
+
"session_id": {
|
|
1728
|
+
"anyOf": [
|
|
1729
|
+
{
|
|
1730
|
+
"type": "string"
|
|
1731
|
+
},
|
|
1732
|
+
{
|
|
1733
|
+
"type": "null"
|
|
1734
|
+
}
|
|
1735
|
+
],
|
|
1736
|
+
"description": "Source session ID — use with get_session_events to see original user interactions"
|
|
1737
|
+
},
|
|
1738
|
+
"screenshots": {
|
|
1739
|
+
"type": "array",
|
|
1740
|
+
"items": {
|
|
1741
|
+
"type": "object",
|
|
1742
|
+
"properties": {
|
|
1743
|
+
"filename": {
|
|
1744
|
+
"type": "string",
|
|
1745
|
+
"description": "Screenshot filename"
|
|
1746
|
+
},
|
|
1747
|
+
"public_url": {
|
|
1748
|
+
"type": "string",
|
|
1749
|
+
"description": "Signed URL to screenshot image"
|
|
1750
|
+
},
|
|
1751
|
+
"replay_id": {
|
|
1752
|
+
"description": "Replay ID",
|
|
1753
|
+
"type": "string"
|
|
1754
|
+
},
|
|
1755
|
+
"route_url": {
|
|
1756
|
+
"description": "Page URL",
|
|
1757
|
+
"type": "string"
|
|
1758
|
+
},
|
|
1759
|
+
"route_group": {
|
|
1760
|
+
"description": "Route group",
|
|
1761
|
+
"type": "string"
|
|
1762
|
+
},
|
|
1763
|
+
"identifier_type": {
|
|
1764
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
1765
|
+
"type": "string"
|
|
1766
|
+
},
|
|
1767
|
+
"event_number": {
|
|
1768
|
+
"description": "Event number for after-event screenshots",
|
|
1769
|
+
"type": "number"
|
|
1770
|
+
}
|
|
1771
|
+
},
|
|
1772
|
+
"required": [
|
|
1773
|
+
"filename",
|
|
1774
|
+
"public_url"
|
|
1775
|
+
],
|
|
1776
|
+
"additionalProperties": false
|
|
1777
|
+
}
|
|
1778
|
+
}
|
|
1779
|
+
},
|
|
1780
|
+
"required": [
|
|
1781
|
+
"replay_id",
|
|
1782
|
+
"replay_status",
|
|
1783
|
+
"replay_accurate",
|
|
1784
|
+
"app_url",
|
|
1785
|
+
"session_id",
|
|
1786
|
+
"screenshots"
|
|
1787
|
+
],
|
|
1788
|
+
"additionalProperties": false
|
|
1789
|
+
}
|
|
1790
|
+
}
|
|
1791
|
+
},
|
|
1792
|
+
"required": [
|
|
1793
|
+
"test_cases"
|
|
1794
|
+
],
|
|
1795
|
+
"additionalProperties": false
|
|
1796
|
+
}
|
|
1797
|
+
},
|
|
1798
|
+
{
|
|
1799
|
+
"name": "get_test_run_coverage",
|
|
1800
|
+
"displayName": "Get Test Run Coverage",
|
|
1801
|
+
"description": "Get screenshot coverage data for a test run. Shows which routes have diffs, which were compared without diffs, and which were not compared. Use category filter to limit output size (defaults to with_diffs only). Use route_filter to search for specific routes.",
|
|
1802
|
+
"summary": "Get test run coverage",
|
|
1803
|
+
"icon": "shield-check",
|
|
1804
|
+
"group": "Test Runs",
|
|
1805
|
+
"input_schema": {
|
|
1806
|
+
"type": "object",
|
|
1807
|
+
"properties": {
|
|
1808
|
+
"test_run_id": {
|
|
1809
|
+
"type": "string",
|
|
1810
|
+
"description": "Test run ID"
|
|
1811
|
+
},
|
|
1812
|
+
"pr_mode": {
|
|
1813
|
+
"default": true,
|
|
1814
|
+
"description": "Whether to use PR mode for coverage calculation",
|
|
1815
|
+
"type": "boolean"
|
|
1816
|
+
},
|
|
1817
|
+
"replay_id": {
|
|
1818
|
+
"description": "Optional replay ID to scope coverage to",
|
|
1819
|
+
"type": "string"
|
|
1820
|
+
},
|
|
1821
|
+
"category": {
|
|
1822
|
+
"default": "with_diffs",
|
|
1823
|
+
"description": "Coverage category to return (defaults to with_diffs to limit response size)",
|
|
1824
|
+
"type": "string",
|
|
1825
|
+
"enum": [
|
|
1826
|
+
"with_diffs",
|
|
1827
|
+
"without_diffs",
|
|
1828
|
+
"not_compared",
|
|
1829
|
+
"all"
|
|
1830
|
+
]
|
|
1831
|
+
},
|
|
1832
|
+
"route_filter": {
|
|
1833
|
+
"description": "Filter routes by substring match on route URL or group",
|
|
1834
|
+
"type": "string"
|
|
1835
|
+
},
|
|
1836
|
+
"limit": {
|
|
1837
|
+
"default": 50,
|
|
1838
|
+
"description": "Max routes to return per category",
|
|
1839
|
+
"type": "number"
|
|
1840
|
+
}
|
|
1841
|
+
},
|
|
1842
|
+
"required": [
|
|
1843
|
+
"test_run_id",
|
|
1844
|
+
"pr_mode",
|
|
1845
|
+
"category",
|
|
1846
|
+
"limit"
|
|
1847
|
+
],
|
|
1848
|
+
"additionalProperties": false
|
|
1849
|
+
},
|
|
1850
|
+
"output_schema": {
|
|
1851
|
+
"type": "object",
|
|
1852
|
+
"properties": {
|
|
1853
|
+
"test_run": {
|
|
1854
|
+
"type": "object",
|
|
1855
|
+
"properties": {
|
|
1856
|
+
"id": {
|
|
1857
|
+
"type": "string",
|
|
1858
|
+
"description": "Test run ID"
|
|
1859
|
+
},
|
|
1860
|
+
"status": {
|
|
1861
|
+
"type": "string",
|
|
1862
|
+
"description": "Test run status"
|
|
1863
|
+
},
|
|
1864
|
+
"commit_sha": {
|
|
1865
|
+
"anyOf": [
|
|
1866
|
+
{
|
|
1867
|
+
"type": "string"
|
|
1868
|
+
},
|
|
1869
|
+
{
|
|
1870
|
+
"type": "null"
|
|
1871
|
+
}
|
|
1872
|
+
],
|
|
1873
|
+
"description": "Git commit SHA"
|
|
1874
|
+
},
|
|
1875
|
+
"created_at": {
|
|
1876
|
+
"type": "string",
|
|
1877
|
+
"description": "ISO 8601 creation timestamp"
|
|
1878
|
+
},
|
|
1879
|
+
"updated_at": {
|
|
1880
|
+
"type": "string",
|
|
1881
|
+
"description": "ISO 8601 update timestamp"
|
|
1882
|
+
},
|
|
1883
|
+
"project_name": {
|
|
1884
|
+
"type": "string",
|
|
1885
|
+
"description": "Project name"
|
|
1886
|
+
},
|
|
1887
|
+
"organization_name": {
|
|
1888
|
+
"type": "string",
|
|
1889
|
+
"description": "Organization name"
|
|
1890
|
+
},
|
|
1891
|
+
"stats": {
|
|
1892
|
+
"anyOf": [
|
|
1893
|
+
{
|
|
1894
|
+
"type": "object",
|
|
1895
|
+
"properties": {
|
|
1896
|
+
"total_screenshots": {
|
|
1897
|
+
"type": "number",
|
|
1898
|
+
"description": "Total screenshots compared"
|
|
1899
|
+
},
|
|
1900
|
+
"total_sessions": {
|
|
1901
|
+
"type": "number",
|
|
1902
|
+
"description": "Total sessions"
|
|
1903
|
+
},
|
|
1904
|
+
"total_sessions_replayed": {
|
|
1905
|
+
"anyOf": [
|
|
1906
|
+
{
|
|
1907
|
+
"type": "number"
|
|
1908
|
+
},
|
|
1909
|
+
{
|
|
1910
|
+
"type": "null"
|
|
1911
|
+
}
|
|
1912
|
+
],
|
|
1913
|
+
"description": "Sessions successfully replayed"
|
|
1914
|
+
},
|
|
1915
|
+
"sessions_skipped": {
|
|
1916
|
+
"anyOf": [
|
|
1917
|
+
{
|
|
1918
|
+
"type": "number"
|
|
1919
|
+
},
|
|
1920
|
+
{
|
|
1921
|
+
"type": "null"
|
|
1922
|
+
}
|
|
1923
|
+
],
|
|
1924
|
+
"description": "Sessions skipped"
|
|
1925
|
+
},
|
|
1926
|
+
"screenshots_skipped": {
|
|
1927
|
+
"anyOf": [
|
|
1928
|
+
{
|
|
1929
|
+
"type": "number"
|
|
1930
|
+
},
|
|
1931
|
+
{
|
|
1932
|
+
"type": "null"
|
|
1933
|
+
}
|
|
1934
|
+
],
|
|
1935
|
+
"description": "Screenshots skipped"
|
|
1936
|
+
}
|
|
1937
|
+
},
|
|
1938
|
+
"required": [
|
|
1939
|
+
"total_screenshots",
|
|
1940
|
+
"total_sessions",
|
|
1941
|
+
"total_sessions_replayed",
|
|
1942
|
+
"sessions_skipped",
|
|
1943
|
+
"screenshots_skipped"
|
|
1944
|
+
],
|
|
1945
|
+
"additionalProperties": false
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
"type": "null"
|
|
1949
|
+
}
|
|
1950
|
+
],
|
|
1951
|
+
"description": "Test run statistics"
|
|
1952
|
+
},
|
|
1953
|
+
"ci_provider": {
|
|
1954
|
+
"anyOf": [
|
|
1955
|
+
{
|
|
1956
|
+
"type": "string"
|
|
1957
|
+
},
|
|
1958
|
+
{
|
|
1959
|
+
"type": "null"
|
|
1960
|
+
}
|
|
1961
|
+
],
|
|
1962
|
+
"description": "CI provider"
|
|
1963
|
+
},
|
|
1964
|
+
"pr_title": {
|
|
1965
|
+
"anyOf": [
|
|
1966
|
+
{
|
|
1967
|
+
"type": "string"
|
|
1968
|
+
},
|
|
1969
|
+
{
|
|
1970
|
+
"type": "null"
|
|
1971
|
+
}
|
|
1972
|
+
],
|
|
1973
|
+
"description": "Pull request title"
|
|
1974
|
+
},
|
|
1975
|
+
"pr_number": {
|
|
1976
|
+
"anyOf": [
|
|
1977
|
+
{
|
|
1978
|
+
"type": "number"
|
|
1979
|
+
},
|
|
1980
|
+
{
|
|
1981
|
+
"type": "null"
|
|
1982
|
+
}
|
|
1983
|
+
],
|
|
1984
|
+
"description": "Pull request number"
|
|
1985
|
+
},
|
|
1986
|
+
"pr_url": {
|
|
1987
|
+
"anyOf": [
|
|
1988
|
+
{
|
|
1989
|
+
"type": "string"
|
|
1990
|
+
},
|
|
1991
|
+
{
|
|
1992
|
+
"type": "null"
|
|
1993
|
+
}
|
|
1994
|
+
],
|
|
1995
|
+
"description": "Pull request URL"
|
|
1996
|
+
},
|
|
1997
|
+
"approval_state": {
|
|
1998
|
+
"anyOf": [
|
|
1999
|
+
{
|
|
2000
|
+
"type": "string"
|
|
2001
|
+
},
|
|
2002
|
+
{
|
|
2003
|
+
"type": "null"
|
|
2004
|
+
}
|
|
2005
|
+
],
|
|
2006
|
+
"description": "PR approval state"
|
|
2007
|
+
},
|
|
2008
|
+
"describe_tested": {
|
|
2009
|
+
"anyOf": [
|
|
2010
|
+
{
|
|
2011
|
+
"type": "string"
|
|
2012
|
+
},
|
|
2013
|
+
{
|
|
2014
|
+
"type": "null"
|
|
2015
|
+
}
|
|
2016
|
+
],
|
|
2017
|
+
"description": "Description of what was tested"
|
|
2018
|
+
}
|
|
2019
|
+
},
|
|
2020
|
+
"required": [
|
|
2021
|
+
"id",
|
|
2022
|
+
"status",
|
|
2023
|
+
"commit_sha",
|
|
2024
|
+
"created_at",
|
|
2025
|
+
"updated_at",
|
|
2026
|
+
"project_name",
|
|
2027
|
+
"organization_name",
|
|
2028
|
+
"stats",
|
|
2029
|
+
"ci_provider",
|
|
2030
|
+
"pr_title",
|
|
2031
|
+
"pr_number",
|
|
2032
|
+
"pr_url",
|
|
2033
|
+
"approval_state",
|
|
2034
|
+
"describe_tested"
|
|
2035
|
+
],
|
|
2036
|
+
"additionalProperties": false
|
|
2037
|
+
},
|
|
2038
|
+
"coverage": {
|
|
2039
|
+
"type": "object",
|
|
2040
|
+
"properties": {
|
|
2041
|
+
"with_diffs": {
|
|
2042
|
+
"type": "array",
|
|
2043
|
+
"items": {
|
|
2044
|
+
"type": "object",
|
|
2045
|
+
"properties": {
|
|
2046
|
+
"route_group": {
|
|
2047
|
+
"anyOf": [
|
|
2048
|
+
{
|
|
2049
|
+
"type": "string"
|
|
2050
|
+
},
|
|
2051
|
+
{
|
|
2052
|
+
"type": "null"
|
|
2053
|
+
}
|
|
2054
|
+
],
|
|
2055
|
+
"description": "Route group"
|
|
2056
|
+
},
|
|
2057
|
+
"route_url": {
|
|
2058
|
+
"anyOf": [
|
|
2059
|
+
{
|
|
2060
|
+
"type": "string"
|
|
2061
|
+
},
|
|
2062
|
+
{
|
|
2063
|
+
"type": "null"
|
|
2064
|
+
}
|
|
2065
|
+
],
|
|
2066
|
+
"description": "Route URL"
|
|
2067
|
+
},
|
|
2068
|
+
"screenshots": {
|
|
2069
|
+
"type": "array",
|
|
2070
|
+
"items": {
|
|
2071
|
+
"type": "object",
|
|
2072
|
+
"properties": {
|
|
2073
|
+
"filename": {
|
|
2074
|
+
"type": "string",
|
|
2075
|
+
"description": "Screenshot filename"
|
|
2076
|
+
},
|
|
2077
|
+
"public_url": {
|
|
2078
|
+
"type": "string",
|
|
2079
|
+
"description": "Signed URL to screenshot image"
|
|
2080
|
+
},
|
|
2081
|
+
"replay_id": {
|
|
2082
|
+
"description": "Replay ID",
|
|
2083
|
+
"type": "string"
|
|
2084
|
+
},
|
|
2085
|
+
"route_url": {
|
|
2086
|
+
"description": "Page URL",
|
|
2087
|
+
"type": "string"
|
|
2088
|
+
},
|
|
2089
|
+
"route_group": {
|
|
2090
|
+
"description": "Route group",
|
|
2091
|
+
"type": "string"
|
|
2092
|
+
},
|
|
2093
|
+
"identifier_type": {
|
|
2094
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
2095
|
+
"type": "string"
|
|
2096
|
+
},
|
|
2097
|
+
"event_number": {
|
|
2098
|
+
"description": "Event number for after-event screenshots",
|
|
2099
|
+
"type": "number"
|
|
2100
|
+
}
|
|
2101
|
+
},
|
|
2102
|
+
"required": [
|
|
2103
|
+
"filename",
|
|
2104
|
+
"public_url"
|
|
2105
|
+
],
|
|
2106
|
+
"additionalProperties": false
|
|
2107
|
+
},
|
|
2108
|
+
"description": "Screenshots for this route"
|
|
2109
|
+
}
|
|
2110
|
+
},
|
|
2111
|
+
"required": [
|
|
2112
|
+
"route_group",
|
|
2113
|
+
"route_url",
|
|
2114
|
+
"screenshots"
|
|
2115
|
+
],
|
|
2116
|
+
"additionalProperties": false
|
|
2117
|
+
},
|
|
2118
|
+
"description": "Routes with screenshot diffs"
|
|
2119
|
+
},
|
|
2120
|
+
"without_diffs": {
|
|
2121
|
+
"type": "array",
|
|
2122
|
+
"items": {
|
|
2123
|
+
"type": "object",
|
|
2124
|
+
"properties": {
|
|
2125
|
+
"route_group": {
|
|
2126
|
+
"anyOf": [
|
|
2127
|
+
{
|
|
2128
|
+
"type": "string"
|
|
2129
|
+
},
|
|
2130
|
+
{
|
|
2131
|
+
"type": "null"
|
|
2132
|
+
}
|
|
2133
|
+
],
|
|
2134
|
+
"description": "Route group"
|
|
2135
|
+
},
|
|
2136
|
+
"route_url": {
|
|
2137
|
+
"anyOf": [
|
|
2138
|
+
{
|
|
2139
|
+
"type": "string"
|
|
2140
|
+
},
|
|
2141
|
+
{
|
|
2142
|
+
"type": "null"
|
|
2143
|
+
}
|
|
2144
|
+
],
|
|
2145
|
+
"description": "Route URL"
|
|
2146
|
+
},
|
|
2147
|
+
"screenshots": {
|
|
2148
|
+
"type": "array",
|
|
2149
|
+
"items": {
|
|
2150
|
+
"type": "object",
|
|
2151
|
+
"properties": {
|
|
2152
|
+
"filename": {
|
|
2153
|
+
"type": "string",
|
|
2154
|
+
"description": "Screenshot filename"
|
|
2155
|
+
},
|
|
2156
|
+
"public_url": {
|
|
2157
|
+
"type": "string",
|
|
2158
|
+
"description": "Signed URL to screenshot image"
|
|
2159
|
+
},
|
|
2160
|
+
"replay_id": {
|
|
2161
|
+
"description": "Replay ID",
|
|
2162
|
+
"type": "string"
|
|
2163
|
+
},
|
|
2164
|
+
"route_url": {
|
|
2165
|
+
"description": "Page URL",
|
|
2166
|
+
"type": "string"
|
|
2167
|
+
},
|
|
2168
|
+
"route_group": {
|
|
2169
|
+
"description": "Route group",
|
|
2170
|
+
"type": "string"
|
|
2171
|
+
},
|
|
2172
|
+
"identifier_type": {
|
|
2173
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
2174
|
+
"type": "string"
|
|
2175
|
+
},
|
|
2176
|
+
"event_number": {
|
|
2177
|
+
"description": "Event number for after-event screenshots",
|
|
2178
|
+
"type": "number"
|
|
2179
|
+
}
|
|
2180
|
+
},
|
|
2181
|
+
"required": [
|
|
2182
|
+
"filename",
|
|
2183
|
+
"public_url"
|
|
2184
|
+
],
|
|
2185
|
+
"additionalProperties": false
|
|
2186
|
+
},
|
|
2187
|
+
"description": "Screenshots for this route"
|
|
2188
|
+
}
|
|
2189
|
+
},
|
|
2190
|
+
"required": [
|
|
2191
|
+
"route_group",
|
|
2192
|
+
"route_url",
|
|
2193
|
+
"screenshots"
|
|
2194
|
+
],
|
|
2195
|
+
"additionalProperties": false
|
|
2196
|
+
},
|
|
2197
|
+
"description": "Routes compared but without diffs"
|
|
2198
|
+
},
|
|
2199
|
+
"not_compared": {
|
|
2200
|
+
"type": "array",
|
|
2201
|
+
"items": {
|
|
2202
|
+
"type": "object",
|
|
2203
|
+
"properties": {
|
|
2204
|
+
"route_group": {
|
|
2205
|
+
"anyOf": [
|
|
2206
|
+
{
|
|
2207
|
+
"type": "string"
|
|
2208
|
+
},
|
|
2209
|
+
{
|
|
2210
|
+
"type": "null"
|
|
2211
|
+
}
|
|
2212
|
+
],
|
|
2213
|
+
"description": "Route group"
|
|
2214
|
+
},
|
|
2215
|
+
"route_url": {
|
|
2216
|
+
"anyOf": [
|
|
2217
|
+
{
|
|
2218
|
+
"type": "string"
|
|
2219
|
+
},
|
|
2220
|
+
{
|
|
2221
|
+
"type": "null"
|
|
2222
|
+
}
|
|
2223
|
+
],
|
|
2224
|
+
"description": "Route URL"
|
|
2225
|
+
},
|
|
2226
|
+
"screenshots": {
|
|
2227
|
+
"type": "array",
|
|
2228
|
+
"items": {
|
|
2229
|
+
"type": "object",
|
|
2230
|
+
"properties": {
|
|
2231
|
+
"filename": {
|
|
2232
|
+
"type": "string",
|
|
2233
|
+
"description": "Screenshot filename"
|
|
2234
|
+
},
|
|
2235
|
+
"public_url": {
|
|
2236
|
+
"type": "string",
|
|
2237
|
+
"description": "Signed URL to screenshot image"
|
|
2238
|
+
},
|
|
2239
|
+
"replay_id": {
|
|
2240
|
+
"description": "Replay ID",
|
|
2241
|
+
"type": "string"
|
|
2242
|
+
},
|
|
2243
|
+
"route_url": {
|
|
2244
|
+
"description": "Page URL",
|
|
2245
|
+
"type": "string"
|
|
2246
|
+
},
|
|
2247
|
+
"route_group": {
|
|
2248
|
+
"description": "Route group",
|
|
2249
|
+
"type": "string"
|
|
2250
|
+
},
|
|
2251
|
+
"identifier_type": {
|
|
2252
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
2253
|
+
"type": "string"
|
|
2254
|
+
},
|
|
2255
|
+
"event_number": {
|
|
2256
|
+
"description": "Event number for after-event screenshots",
|
|
2257
|
+
"type": "number"
|
|
2258
|
+
}
|
|
2259
|
+
},
|
|
2260
|
+
"required": [
|
|
2261
|
+
"filename",
|
|
2262
|
+
"public_url"
|
|
2263
|
+
],
|
|
2264
|
+
"additionalProperties": false
|
|
2265
|
+
},
|
|
2266
|
+
"description": "Screenshots for this route"
|
|
2267
|
+
}
|
|
2268
|
+
},
|
|
2269
|
+
"required": [
|
|
2270
|
+
"route_group",
|
|
2271
|
+
"route_url",
|
|
2272
|
+
"screenshots"
|
|
2273
|
+
],
|
|
2274
|
+
"additionalProperties": false
|
|
2275
|
+
},
|
|
2276
|
+
"description": "Routes not compared"
|
|
2277
|
+
},
|
|
2278
|
+
"num_unmapped_files": {
|
|
2279
|
+
"type": "number",
|
|
2280
|
+
"description": "Number of unmapped source files"
|
|
2281
|
+
},
|
|
2282
|
+
"total_with_diffs": {
|
|
2283
|
+
"type": "number",
|
|
2284
|
+
"description": "Total routes with diffs (before filtering)"
|
|
2285
|
+
},
|
|
2286
|
+
"total_without_diffs": {
|
|
2287
|
+
"type": "number",
|
|
2288
|
+
"description": "Total routes without diffs (before filtering)"
|
|
2289
|
+
},
|
|
2290
|
+
"total_not_compared": {
|
|
2291
|
+
"type": "number",
|
|
2292
|
+
"description": "Total routes not compared (before filtering)"
|
|
2293
|
+
}
|
|
2294
|
+
},
|
|
2295
|
+
"required": [
|
|
2296
|
+
"with_diffs",
|
|
2297
|
+
"without_diffs",
|
|
2298
|
+
"not_compared",
|
|
2299
|
+
"num_unmapped_files",
|
|
2300
|
+
"total_with_diffs",
|
|
2301
|
+
"total_without_diffs",
|
|
2302
|
+
"total_not_compared"
|
|
2303
|
+
],
|
|
2304
|
+
"additionalProperties": false
|
|
2305
|
+
}
|
|
2306
|
+
},
|
|
2307
|
+
"required": [
|
|
2308
|
+
"test_run",
|
|
2309
|
+
"coverage"
|
|
2310
|
+
],
|
|
2311
|
+
"additionalProperties": false
|
|
2312
|
+
}
|
|
2313
|
+
},
|
|
2314
|
+
{
|
|
2315
|
+
"name": "get_test_run_source_code",
|
|
2316
|
+
"displayName": "Get Test Run Source Code",
|
|
2317
|
+
"description": "Get the source code of a file at the commit of a specific test run.",
|
|
2318
|
+
"summary": "Get source code for a test run commit",
|
|
2319
|
+
"icon": "file-code",
|
|
2320
|
+
"group": "Test Runs",
|
|
2321
|
+
"input_schema": {
|
|
2322
|
+
"type": "object",
|
|
2323
|
+
"properties": {
|
|
2324
|
+
"test_run_id": {
|
|
2325
|
+
"type": "string",
|
|
2326
|
+
"description": "Test run ID"
|
|
2327
|
+
},
|
|
2328
|
+
"path": {
|
|
2329
|
+
"type": "string",
|
|
2330
|
+
"description": "File path relative to repository root"
|
|
2331
|
+
}
|
|
2332
|
+
},
|
|
2333
|
+
"required": [
|
|
2334
|
+
"test_run_id",
|
|
2335
|
+
"path"
|
|
2336
|
+
],
|
|
2337
|
+
"additionalProperties": false
|
|
2338
|
+
},
|
|
2339
|
+
"output_schema": {
|
|
2340
|
+
"type": "object",
|
|
2341
|
+
"properties": {
|
|
2342
|
+
"test_run_id": {
|
|
2343
|
+
"type": "string"
|
|
2344
|
+
},
|
|
2345
|
+
"source_code": {
|
|
2346
|
+
"anyOf": [
|
|
2347
|
+
{
|
|
2348
|
+
"type": "string"
|
|
2349
|
+
},
|
|
2350
|
+
{
|
|
2351
|
+
"type": "null"
|
|
2352
|
+
}
|
|
2353
|
+
],
|
|
2354
|
+
"description": "File source code content"
|
|
2355
|
+
}
|
|
2356
|
+
},
|
|
2357
|
+
"required": [
|
|
2358
|
+
"test_run_id",
|
|
2359
|
+
"source_code"
|
|
2360
|
+
],
|
|
2361
|
+
"additionalProperties": false
|
|
2362
|
+
}
|
|
2363
|
+
},
|
|
2364
|
+
{
|
|
2365
|
+
"name": "get_test_run_pr_description",
|
|
2366
|
+
"displayName": "Get Test Run PR Description",
|
|
2367
|
+
"description": "Get the pull request description associated with a test run.",
|
|
2368
|
+
"summary": "Get PR description for a test run",
|
|
2369
|
+
"icon": "file-text",
|
|
2370
|
+
"group": "Test Runs",
|
|
2371
|
+
"input_schema": {
|
|
2372
|
+
"type": "object",
|
|
2373
|
+
"properties": {
|
|
2374
|
+
"test_run_id": {
|
|
2375
|
+
"type": "string",
|
|
2376
|
+
"description": "Test run ID"
|
|
2377
|
+
}
|
|
2378
|
+
},
|
|
2379
|
+
"required": [
|
|
2380
|
+
"test_run_id"
|
|
2381
|
+
],
|
|
2382
|
+
"additionalProperties": false
|
|
2383
|
+
},
|
|
2384
|
+
"output_schema": {
|
|
2385
|
+
"type": "object",
|
|
2386
|
+
"properties": {
|
|
2387
|
+
"test_run_id": {
|
|
2388
|
+
"type": "string"
|
|
2389
|
+
},
|
|
2390
|
+
"pr_description": {
|
|
2391
|
+
"anyOf": [
|
|
2392
|
+
{
|
|
2393
|
+
"type": "string"
|
|
2394
|
+
},
|
|
2395
|
+
{
|
|
2396
|
+
"type": "null"
|
|
2397
|
+
}
|
|
2398
|
+
],
|
|
2399
|
+
"description": "Pull request description text"
|
|
2400
|
+
}
|
|
2401
|
+
},
|
|
2402
|
+
"required": [
|
|
2403
|
+
"test_run_id",
|
|
2404
|
+
"pr_description"
|
|
2405
|
+
],
|
|
2406
|
+
"additionalProperties": false
|
|
2407
|
+
}
|
|
2408
|
+
},
|
|
2409
|
+
{
|
|
2410
|
+
"name": "accept_all_diffs",
|
|
2411
|
+
"displayName": "Accept All Diffs",
|
|
2412
|
+
"description": "Accept (approve) all visual differences in a test run. This marks all screenshot diffs as expected/approved for the associated pull request.",
|
|
2413
|
+
"summary": "Approve all diffs in a test run",
|
|
2414
|
+
"icon": "check-circle",
|
|
2415
|
+
"group": "Test Runs",
|
|
2416
|
+
"input_schema": {
|
|
2417
|
+
"type": "object",
|
|
2418
|
+
"properties": {
|
|
2419
|
+
"pull_request_id": {
|
|
2420
|
+
"type": "string",
|
|
2421
|
+
"description": "Pull request ID (from test run's pullRequest.id field)"
|
|
2422
|
+
},
|
|
2423
|
+
"test_run_id": {
|
|
2424
|
+
"type": "string",
|
|
2425
|
+
"description": "Test run ID"
|
|
2426
|
+
}
|
|
2427
|
+
},
|
|
2428
|
+
"required": [
|
|
2429
|
+
"pull_request_id",
|
|
2430
|
+
"test_run_id"
|
|
2431
|
+
],
|
|
2432
|
+
"additionalProperties": false
|
|
2433
|
+
},
|
|
2434
|
+
"output_schema": {
|
|
2435
|
+
"type": "object",
|
|
2436
|
+
"properties": {
|
|
2437
|
+
"approval_state": {
|
|
2438
|
+
"anyOf": [
|
|
2439
|
+
{
|
|
2440
|
+
"type": "string"
|
|
2441
|
+
},
|
|
2442
|
+
{
|
|
2443
|
+
"type": "null"
|
|
2444
|
+
}
|
|
2445
|
+
],
|
|
2446
|
+
"description": "Updated PR approval state"
|
|
2447
|
+
}
|
|
2448
|
+
},
|
|
2449
|
+
"required": [
|
|
2450
|
+
"approval_state"
|
|
2451
|
+
],
|
|
2452
|
+
"additionalProperties": false
|
|
2453
|
+
}
|
|
2454
|
+
},
|
|
2455
|
+
{
|
|
2456
|
+
"name": "check_for_flakes",
|
|
2457
|
+
"displayName": "Check for Flakes",
|
|
2458
|
+
"description": "Trigger a flake detection check for a test run. Re-runs failing tests multiple times to determine if failures are flaky (non-deterministic).",
|
|
2459
|
+
"summary": "Check for flaky tests",
|
|
2460
|
+
"icon": "refresh-cw",
|
|
2461
|
+
"group": "Test Runs",
|
|
2462
|
+
"input_schema": {
|
|
2463
|
+
"type": "object",
|
|
2464
|
+
"properties": {
|
|
2465
|
+
"test_run_id": {
|
|
2466
|
+
"type": "string",
|
|
2467
|
+
"description": "Test run ID"
|
|
2468
|
+
},
|
|
2469
|
+
"rerun_count": {
|
|
2470
|
+
"default": 3,
|
|
2471
|
+
"description": "Number of times to re-run tests for flake detection",
|
|
2472
|
+
"type": "number"
|
|
2473
|
+
}
|
|
2474
|
+
},
|
|
2475
|
+
"required": [
|
|
2476
|
+
"test_run_id",
|
|
2477
|
+
"rerun_count"
|
|
2478
|
+
],
|
|
2479
|
+
"additionalProperties": false
|
|
2480
|
+
},
|
|
2481
|
+
"output_schema": {
|
|
2482
|
+
"type": "object",
|
|
2483
|
+
"properties": {
|
|
2484
|
+
"id": {
|
|
2485
|
+
"anyOf": [
|
|
2486
|
+
{
|
|
2487
|
+
"type": "string"
|
|
2488
|
+
},
|
|
2489
|
+
{
|
|
2490
|
+
"type": "null"
|
|
2491
|
+
}
|
|
2492
|
+
],
|
|
2493
|
+
"description": "ID of the flake check run"
|
|
2494
|
+
}
|
|
2495
|
+
},
|
|
2496
|
+
"required": [
|
|
2497
|
+
"id"
|
|
2498
|
+
],
|
|
2499
|
+
"additionalProperties": false
|
|
2500
|
+
}
|
|
2501
|
+
},
|
|
2502
|
+
{
|
|
2503
|
+
"name": "create_label_action",
|
|
2504
|
+
"displayName": "Create Label Action",
|
|
2505
|
+
"description": "Label a specific screenshot diff as approved or rejected. Use this to approve or reject individual visual differences within a test run.",
|
|
2506
|
+
"summary": "Label a screenshot diff",
|
|
2507
|
+
"icon": "tag",
|
|
2508
|
+
"group": "Test Runs",
|
|
2509
|
+
"input_schema": {
|
|
2510
|
+
"type": "object",
|
|
2511
|
+
"properties": {
|
|
2512
|
+
"test_run_id": {
|
|
2513
|
+
"type": "string",
|
|
2514
|
+
"description": "Test run ID"
|
|
2515
|
+
},
|
|
2516
|
+
"replay_diff_id": {
|
|
2517
|
+
"description": "Replay diff ID",
|
|
2518
|
+
"type": "string"
|
|
2519
|
+
},
|
|
2520
|
+
"screenshot_file_name": {
|
|
2521
|
+
"description": "Screenshot filename",
|
|
2522
|
+
"type": "string"
|
|
2523
|
+
},
|
|
2524
|
+
"label": {
|
|
2525
|
+
"type": "string",
|
|
2526
|
+
"description": "Label to apply (e.g., approved, rejected)"
|
|
2527
|
+
}
|
|
2528
|
+
},
|
|
2529
|
+
"required": [
|
|
2530
|
+
"test_run_id",
|
|
2531
|
+
"label"
|
|
2532
|
+
],
|
|
2533
|
+
"additionalProperties": false
|
|
2534
|
+
},
|
|
2535
|
+
"output_schema": {
|
|
2536
|
+
"type": "object",
|
|
2537
|
+
"properties": {
|
|
2538
|
+
"label_action": {
|
|
2539
|
+
"type": "object",
|
|
2540
|
+
"properties": {
|
|
2541
|
+
"id": {
|
|
2542
|
+
"type": "string",
|
|
2543
|
+
"description": "Label action ID"
|
|
2544
|
+
},
|
|
2545
|
+
"replay_diff_id": {
|
|
2546
|
+
"type": "string",
|
|
2547
|
+
"description": "Replay diff ID"
|
|
2548
|
+
},
|
|
2549
|
+
"screenshot_file_name": {
|
|
2550
|
+
"type": "string",
|
|
2551
|
+
"description": "Screenshot filename"
|
|
2552
|
+
},
|
|
2553
|
+
"label": {
|
|
2554
|
+
"type": "string",
|
|
2555
|
+
"description": "Label (e.g., approved, rejected)"
|
|
2556
|
+
},
|
|
2557
|
+
"created_at": {
|
|
2558
|
+
"type": "string",
|
|
2559
|
+
"description": "ISO 8601 creation timestamp"
|
|
2560
|
+
}
|
|
2561
|
+
},
|
|
2562
|
+
"required": [
|
|
2563
|
+
"id",
|
|
2564
|
+
"replay_diff_id",
|
|
2565
|
+
"screenshot_file_name",
|
|
2566
|
+
"label",
|
|
2567
|
+
"created_at"
|
|
2568
|
+
],
|
|
2569
|
+
"additionalProperties": false
|
|
2570
|
+
}
|
|
2571
|
+
},
|
|
2572
|
+
"required": [
|
|
2573
|
+
"label_action"
|
|
2574
|
+
],
|
|
2575
|
+
"additionalProperties": false
|
|
2576
|
+
}
|
|
2577
|
+
},
|
|
2578
|
+
{
|
|
2579
|
+
"name": "upsert_diff_approval",
|
|
2580
|
+
"displayName": "Upsert Diff Approval",
|
|
2581
|
+
"description": "Approve or reject one or more screenshot diffs in bulk. Updates the approval state of diffs for a test run.",
|
|
2582
|
+
"summary": "Bulk approve/reject diffs",
|
|
2583
|
+
"icon": "check-square",
|
|
2584
|
+
"group": "Test Runs",
|
|
2585
|
+
"input_schema": {
|
|
2586
|
+
"type": "object",
|
|
2587
|
+
"properties": {
|
|
2588
|
+
"test_run_id": {
|
|
2589
|
+
"type": "string",
|
|
2590
|
+
"description": "Test run ID"
|
|
2591
|
+
},
|
|
2592
|
+
"approvals": {
|
|
2593
|
+
"type": "array",
|
|
2594
|
+
"items": {
|
|
2595
|
+
"type": "object",
|
|
2596
|
+
"properties": {
|
|
2597
|
+
"replay_diff_id": {
|
|
2598
|
+
"type": "string",
|
|
2599
|
+
"description": "Replay diff ID"
|
|
2600
|
+
},
|
|
2601
|
+
"screenshot_file_name": {
|
|
2602
|
+
"type": "string",
|
|
2603
|
+
"description": "Screenshot filename"
|
|
2604
|
+
},
|
|
2605
|
+
"approved": {
|
|
2606
|
+
"type": "boolean",
|
|
2607
|
+
"description": "Whether to approve (true) or reject (false)"
|
|
2608
|
+
}
|
|
2609
|
+
},
|
|
2610
|
+
"required": [
|
|
2611
|
+
"replay_diff_id",
|
|
2612
|
+
"screenshot_file_name",
|
|
2613
|
+
"approved"
|
|
2614
|
+
],
|
|
2615
|
+
"additionalProperties": false
|
|
2616
|
+
},
|
|
2617
|
+
"description": "List of diff approval states to set"
|
|
2618
|
+
}
|
|
2619
|
+
},
|
|
2620
|
+
"required": [
|
|
2621
|
+
"test_run_id",
|
|
2622
|
+
"approvals"
|
|
2623
|
+
],
|
|
2624
|
+
"additionalProperties": false
|
|
2625
|
+
},
|
|
2626
|
+
"output_schema": {
|
|
2627
|
+
"type": "object",
|
|
2628
|
+
"properties": {
|
|
2629
|
+
"success": {
|
|
2630
|
+
"type": "boolean"
|
|
2631
|
+
}
|
|
2632
|
+
},
|
|
2633
|
+
"required": [
|
|
2634
|
+
"success"
|
|
2635
|
+
],
|
|
2636
|
+
"additionalProperties": false
|
|
2637
|
+
}
|
|
2638
|
+
},
|
|
2639
|
+
{
|
|
2640
|
+
"name": "get_replay",
|
|
2641
|
+
"displayName": "Get Replay",
|
|
2642
|
+
"description": "Get detailed information about a specific replay including its status, accuracy, and associated session.",
|
|
2643
|
+
"summary": "Get replay details",
|
|
2644
|
+
"icon": "video",
|
|
2645
|
+
"group": "Replays",
|
|
2646
|
+
"input_schema": {
|
|
2647
|
+
"type": "object",
|
|
2648
|
+
"properties": {
|
|
2649
|
+
"replay_id": {
|
|
2650
|
+
"type": "string",
|
|
2651
|
+
"description": "Replay ID"
|
|
2652
|
+
}
|
|
2653
|
+
},
|
|
2654
|
+
"required": [
|
|
2655
|
+
"replay_id"
|
|
2656
|
+
],
|
|
2657
|
+
"additionalProperties": false
|
|
2658
|
+
},
|
|
2659
|
+
"output_schema": {
|
|
2660
|
+
"type": "object",
|
|
2661
|
+
"properties": {
|
|
2662
|
+
"replay": {
|
|
2663
|
+
"type": "object",
|
|
2664
|
+
"properties": {
|
|
2665
|
+
"id": {
|
|
2666
|
+
"type": "string",
|
|
2667
|
+
"description": "Replay ID"
|
|
2668
|
+
},
|
|
2669
|
+
"status": {
|
|
2670
|
+
"type": "string",
|
|
2671
|
+
"description": "Replay status"
|
|
2672
|
+
},
|
|
2673
|
+
"commit_sha": {
|
|
2674
|
+
"anyOf": [
|
|
2675
|
+
{
|
|
2676
|
+
"type": "string"
|
|
2677
|
+
},
|
|
2678
|
+
{
|
|
2679
|
+
"type": "null"
|
|
2680
|
+
}
|
|
2681
|
+
],
|
|
2682
|
+
"description": "Git commit SHA"
|
|
2683
|
+
},
|
|
2684
|
+
"is_accurate": {
|
|
2685
|
+
"anyOf": [
|
|
2686
|
+
{
|
|
2687
|
+
"type": "boolean"
|
|
2688
|
+
},
|
|
2689
|
+
{
|
|
2690
|
+
"type": "null"
|
|
2691
|
+
}
|
|
2692
|
+
],
|
|
2693
|
+
"description": "Whether replay is accurate"
|
|
2694
|
+
},
|
|
2695
|
+
"app_url": {
|
|
2696
|
+
"anyOf": [
|
|
2697
|
+
{
|
|
2698
|
+
"type": "string"
|
|
2699
|
+
},
|
|
2700
|
+
{
|
|
2701
|
+
"type": "null"
|
|
2702
|
+
}
|
|
2703
|
+
],
|
|
2704
|
+
"description": "Application URL"
|
|
2705
|
+
},
|
|
2706
|
+
"session_id": {
|
|
2707
|
+
"anyOf": [
|
|
2708
|
+
{
|
|
2709
|
+
"type": "string"
|
|
2710
|
+
},
|
|
2711
|
+
{
|
|
2712
|
+
"type": "null"
|
|
2713
|
+
}
|
|
2714
|
+
],
|
|
2715
|
+
"description": "Source session ID"
|
|
2716
|
+
},
|
|
2717
|
+
"created_at": {
|
|
2718
|
+
"type": "string",
|
|
2719
|
+
"description": "ISO 8601 creation timestamp"
|
|
2720
|
+
},
|
|
2721
|
+
"project_name": {
|
|
2722
|
+
"anyOf": [
|
|
2723
|
+
{
|
|
2724
|
+
"type": "string"
|
|
2725
|
+
},
|
|
2726
|
+
{
|
|
2727
|
+
"type": "null"
|
|
2728
|
+
}
|
|
2729
|
+
],
|
|
2730
|
+
"description": "Project name"
|
|
2731
|
+
},
|
|
2732
|
+
"organization_name": {
|
|
2733
|
+
"anyOf": [
|
|
2734
|
+
{
|
|
2735
|
+
"type": "string"
|
|
2736
|
+
},
|
|
2737
|
+
{
|
|
2738
|
+
"type": "null"
|
|
2739
|
+
}
|
|
2740
|
+
],
|
|
2741
|
+
"description": "Organization name"
|
|
2742
|
+
}
|
|
2743
|
+
},
|
|
2744
|
+
"required": [
|
|
2745
|
+
"id",
|
|
2746
|
+
"status",
|
|
2747
|
+
"commit_sha",
|
|
2748
|
+
"is_accurate",
|
|
2749
|
+
"app_url",
|
|
2750
|
+
"session_id",
|
|
2751
|
+
"created_at",
|
|
2752
|
+
"project_name",
|
|
2753
|
+
"organization_name"
|
|
2754
|
+
],
|
|
2755
|
+
"additionalProperties": false
|
|
2756
|
+
}
|
|
2757
|
+
},
|
|
2758
|
+
"required": [
|
|
2759
|
+
"replay"
|
|
2760
|
+
],
|
|
2761
|
+
"additionalProperties": false
|
|
2762
|
+
}
|
|
2763
|
+
},
|
|
2764
|
+
{
|
|
2765
|
+
"name": "list_replays",
|
|
2766
|
+
"displayName": "List Replays",
|
|
2767
|
+
"description": "List replays for a specific project.",
|
|
2768
|
+
"summary": "List replays for a project",
|
|
2769
|
+
"icon": "list",
|
|
2770
|
+
"group": "Replays",
|
|
2771
|
+
"input_schema": {
|
|
2772
|
+
"type": "object",
|
|
2773
|
+
"properties": {
|
|
2774
|
+
"project_id": {
|
|
2775
|
+
"type": "string",
|
|
2776
|
+
"description": "Project ID"
|
|
2777
|
+
},
|
|
2778
|
+
"count": {
|
|
2779
|
+
"default": 50,
|
|
2780
|
+
"description": "Number of replays to return",
|
|
2781
|
+
"type": "number"
|
|
2782
|
+
}
|
|
2783
|
+
},
|
|
2784
|
+
"required": [
|
|
2785
|
+
"project_id",
|
|
2786
|
+
"count"
|
|
2787
|
+
],
|
|
2788
|
+
"additionalProperties": false
|
|
2789
|
+
},
|
|
2790
|
+
"output_schema": {
|
|
2791
|
+
"type": "object",
|
|
2792
|
+
"properties": {
|
|
2793
|
+
"replays": {
|
|
2794
|
+
"type": "array",
|
|
2795
|
+
"items": {
|
|
2796
|
+
"type": "object",
|
|
2797
|
+
"properties": {
|
|
2798
|
+
"id": {
|
|
2799
|
+
"type": "string",
|
|
2800
|
+
"description": "Replay ID"
|
|
2801
|
+
},
|
|
2802
|
+
"status": {
|
|
2803
|
+
"type": "string",
|
|
2804
|
+
"description": "Replay status"
|
|
2805
|
+
},
|
|
2806
|
+
"commit_sha": {
|
|
2807
|
+
"anyOf": [
|
|
2808
|
+
{
|
|
2809
|
+
"type": "string"
|
|
2810
|
+
},
|
|
2811
|
+
{
|
|
2812
|
+
"type": "null"
|
|
2813
|
+
}
|
|
2814
|
+
],
|
|
2815
|
+
"description": "Git commit SHA"
|
|
2816
|
+
},
|
|
2817
|
+
"is_accurate": {
|
|
2818
|
+
"anyOf": [
|
|
2819
|
+
{
|
|
2820
|
+
"type": "boolean"
|
|
2821
|
+
},
|
|
2822
|
+
{
|
|
2823
|
+
"type": "null"
|
|
2824
|
+
}
|
|
2825
|
+
],
|
|
2826
|
+
"description": "Whether replay is accurate"
|
|
2827
|
+
},
|
|
2828
|
+
"app_url": {
|
|
2829
|
+
"anyOf": [
|
|
2830
|
+
{
|
|
2831
|
+
"type": "string"
|
|
2832
|
+
},
|
|
2833
|
+
{
|
|
2834
|
+
"type": "null"
|
|
2835
|
+
}
|
|
2836
|
+
],
|
|
2837
|
+
"description": "Application URL"
|
|
2838
|
+
},
|
|
2839
|
+
"session_id": {
|
|
2840
|
+
"anyOf": [
|
|
2841
|
+
{
|
|
2842
|
+
"type": "string"
|
|
2843
|
+
},
|
|
2844
|
+
{
|
|
2845
|
+
"type": "null"
|
|
2846
|
+
}
|
|
2847
|
+
],
|
|
2848
|
+
"description": "Source session ID"
|
|
2849
|
+
},
|
|
2850
|
+
"created_at": {
|
|
2851
|
+
"type": "string",
|
|
2852
|
+
"description": "ISO 8601 creation timestamp"
|
|
2853
|
+
},
|
|
2854
|
+
"project_name": {
|
|
2855
|
+
"anyOf": [
|
|
2856
|
+
{
|
|
2857
|
+
"type": "string"
|
|
2858
|
+
},
|
|
2859
|
+
{
|
|
2860
|
+
"type": "null"
|
|
2861
|
+
}
|
|
2862
|
+
],
|
|
2863
|
+
"description": "Project name"
|
|
2864
|
+
},
|
|
2865
|
+
"organization_name": {
|
|
2866
|
+
"anyOf": [
|
|
2867
|
+
{
|
|
2868
|
+
"type": "string"
|
|
2869
|
+
},
|
|
2870
|
+
{
|
|
2871
|
+
"type": "null"
|
|
2872
|
+
}
|
|
2873
|
+
],
|
|
2874
|
+
"description": "Organization name"
|
|
2875
|
+
}
|
|
2876
|
+
},
|
|
2877
|
+
"required": [
|
|
2878
|
+
"id",
|
|
2879
|
+
"status",
|
|
2880
|
+
"commit_sha",
|
|
2881
|
+
"is_accurate",
|
|
2882
|
+
"app_url",
|
|
2883
|
+
"session_id",
|
|
2884
|
+
"created_at",
|
|
2885
|
+
"project_name",
|
|
2886
|
+
"organization_name"
|
|
2887
|
+
],
|
|
2888
|
+
"additionalProperties": false
|
|
2889
|
+
}
|
|
2890
|
+
}
|
|
2891
|
+
},
|
|
2892
|
+
"required": [
|
|
2893
|
+
"replays"
|
|
2894
|
+
],
|
|
2895
|
+
"additionalProperties": false
|
|
2896
|
+
}
|
|
2897
|
+
},
|
|
2898
|
+
{
|
|
2899
|
+
"name": "get_replay_screenshots",
|
|
2900
|
+
"displayName": "Get Replay Screenshots",
|
|
2901
|
+
"description": "Get all screenshots captured during a specific replay.",
|
|
2902
|
+
"summary": "Get screenshots for a replay",
|
|
2903
|
+
"icon": "image",
|
|
2904
|
+
"group": "Replays",
|
|
2905
|
+
"input_schema": {
|
|
2906
|
+
"type": "object",
|
|
2907
|
+
"properties": {
|
|
2908
|
+
"replay_id": {
|
|
2909
|
+
"type": "string",
|
|
2910
|
+
"description": "Replay ID"
|
|
2911
|
+
}
|
|
2912
|
+
},
|
|
2913
|
+
"required": [
|
|
2914
|
+
"replay_id"
|
|
2915
|
+
],
|
|
2916
|
+
"additionalProperties": false
|
|
2917
|
+
},
|
|
2918
|
+
"output_schema": {
|
|
2919
|
+
"type": "object",
|
|
2920
|
+
"properties": {
|
|
2921
|
+
"replay_id": {
|
|
2922
|
+
"type": "string"
|
|
2923
|
+
},
|
|
2924
|
+
"screenshots": {
|
|
2925
|
+
"type": "array",
|
|
2926
|
+
"items": {
|
|
2927
|
+
"type": "object",
|
|
2928
|
+
"properties": {
|
|
2929
|
+
"filename": {
|
|
2930
|
+
"type": "string",
|
|
2931
|
+
"description": "Screenshot filename"
|
|
2932
|
+
},
|
|
2933
|
+
"public_url": {
|
|
2934
|
+
"type": "string",
|
|
2935
|
+
"description": "Signed URL to screenshot image"
|
|
2936
|
+
},
|
|
2937
|
+
"replay_id": {
|
|
2938
|
+
"description": "Replay ID",
|
|
2939
|
+
"type": "string"
|
|
2940
|
+
},
|
|
2941
|
+
"route_url": {
|
|
2942
|
+
"description": "Page URL",
|
|
2943
|
+
"type": "string"
|
|
2944
|
+
},
|
|
2945
|
+
"route_group": {
|
|
2946
|
+
"description": "Route group",
|
|
2947
|
+
"type": "string"
|
|
2948
|
+
},
|
|
2949
|
+
"identifier_type": {
|
|
2950
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
2951
|
+
"type": "string"
|
|
2952
|
+
},
|
|
2953
|
+
"event_number": {
|
|
2954
|
+
"description": "Event number for after-event screenshots",
|
|
2955
|
+
"type": "number"
|
|
2956
|
+
}
|
|
2957
|
+
},
|
|
2958
|
+
"required": [
|
|
2959
|
+
"filename",
|
|
2960
|
+
"public_url"
|
|
2961
|
+
],
|
|
2962
|
+
"additionalProperties": false
|
|
2963
|
+
}
|
|
2964
|
+
}
|
|
2965
|
+
},
|
|
2966
|
+
"required": [
|
|
2967
|
+
"replay_id",
|
|
2968
|
+
"screenshots"
|
|
2969
|
+
],
|
|
2970
|
+
"additionalProperties": false
|
|
2971
|
+
}
|
|
2972
|
+
},
|
|
2973
|
+
{
|
|
2974
|
+
"name": "compare_replays",
|
|
2975
|
+
"displayName": "Compare Replays",
|
|
2976
|
+
"description": "Compare a head replay against its base replay within a test run. Returns screenshot diffs with base/head/diff image URLs, divergences, and replay metadata. Use the base_replay_id from get_test_run_diffs results.",
|
|
2977
|
+
"summary": "Compare replays in a test run",
|
|
2978
|
+
"icon": "columns",
|
|
2979
|
+
"group": "Replays",
|
|
2980
|
+
"input_schema": {
|
|
2981
|
+
"type": "object",
|
|
2982
|
+
"properties": {
|
|
2983
|
+
"test_run_id": {
|
|
2984
|
+
"type": "string",
|
|
2985
|
+
"description": "Test run ID"
|
|
2986
|
+
},
|
|
2987
|
+
"base_replay_id": {
|
|
2988
|
+
"type": "string",
|
|
2989
|
+
"description": "Base replay ID (from get_test_run_diffs base_replay.id)"
|
|
2990
|
+
}
|
|
2991
|
+
},
|
|
2992
|
+
"required": [
|
|
2993
|
+
"test_run_id",
|
|
2994
|
+
"base_replay_id"
|
|
2995
|
+
],
|
|
2996
|
+
"additionalProperties": false
|
|
2997
|
+
},
|
|
2998
|
+
"output_schema": {
|
|
2999
|
+
"type": "object",
|
|
3000
|
+
"properties": {
|
|
3001
|
+
"diff_id": {
|
|
3002
|
+
"anyOf": [
|
|
3003
|
+
{
|
|
3004
|
+
"type": "string"
|
|
3005
|
+
},
|
|
3006
|
+
{
|
|
3007
|
+
"type": "null"
|
|
3008
|
+
}
|
|
3009
|
+
],
|
|
3010
|
+
"description": "Replay diff ID"
|
|
3011
|
+
},
|
|
3012
|
+
"divergences": {
|
|
3013
|
+
"anyOf": [
|
|
3014
|
+
{
|
|
3015
|
+
"type": "array",
|
|
3016
|
+
"items": {
|
|
3017
|
+
"type": "string"
|
|
3018
|
+
}
|
|
3019
|
+
},
|
|
3020
|
+
{
|
|
3021
|
+
"type": "null"
|
|
3022
|
+
}
|
|
3023
|
+
],
|
|
3024
|
+
"description": "Structural divergences between replays (list of divergence descriptions)"
|
|
3025
|
+
},
|
|
3026
|
+
"head_replay": {
|
|
3027
|
+
"anyOf": [
|
|
3028
|
+
{
|
|
3029
|
+
"type": "object",
|
|
3030
|
+
"properties": {
|
|
3031
|
+
"id": {
|
|
3032
|
+
"type": "string",
|
|
3033
|
+
"description": "Replay ID"
|
|
3034
|
+
},
|
|
3035
|
+
"status": {
|
|
3036
|
+
"anyOf": [
|
|
3037
|
+
{
|
|
3038
|
+
"type": "string"
|
|
3039
|
+
},
|
|
3040
|
+
{
|
|
3041
|
+
"type": "null"
|
|
3042
|
+
}
|
|
3043
|
+
],
|
|
3044
|
+
"description": "Replay status (e.g., Success, Failure)"
|
|
3045
|
+
},
|
|
3046
|
+
"is_accurate": {
|
|
3047
|
+
"anyOf": [
|
|
3048
|
+
{
|
|
3049
|
+
"type": "boolean"
|
|
3050
|
+
},
|
|
3051
|
+
{
|
|
3052
|
+
"type": "null"
|
|
3053
|
+
}
|
|
3054
|
+
],
|
|
3055
|
+
"description": "Whether replay was accurate"
|
|
3056
|
+
},
|
|
3057
|
+
"app_url": {
|
|
3058
|
+
"anyOf": [
|
|
3059
|
+
{
|
|
3060
|
+
"type": "string"
|
|
3061
|
+
},
|
|
3062
|
+
{
|
|
3063
|
+
"type": "null"
|
|
3064
|
+
}
|
|
3065
|
+
],
|
|
3066
|
+
"description": "Application URL"
|
|
3067
|
+
}
|
|
3068
|
+
},
|
|
3069
|
+
"required": [
|
|
3070
|
+
"id",
|
|
3071
|
+
"status",
|
|
3072
|
+
"is_accurate",
|
|
3073
|
+
"app_url"
|
|
3074
|
+
],
|
|
3075
|
+
"additionalProperties": false
|
|
3076
|
+
},
|
|
3077
|
+
{
|
|
3078
|
+
"type": "null"
|
|
3079
|
+
}
|
|
3080
|
+
],
|
|
3081
|
+
"description": "Head replay info"
|
|
3082
|
+
},
|
|
3083
|
+
"base_replay": {
|
|
3084
|
+
"anyOf": [
|
|
3085
|
+
{
|
|
3086
|
+
"type": "object",
|
|
3087
|
+
"properties": {
|
|
3088
|
+
"id": {
|
|
3089
|
+
"type": "string",
|
|
3090
|
+
"description": "Replay ID"
|
|
3091
|
+
},
|
|
3092
|
+
"status": {
|
|
3093
|
+
"anyOf": [
|
|
3094
|
+
{
|
|
3095
|
+
"type": "string"
|
|
3096
|
+
},
|
|
3097
|
+
{
|
|
3098
|
+
"type": "null"
|
|
3099
|
+
}
|
|
3100
|
+
],
|
|
3101
|
+
"description": "Replay status (e.g., Success, Failure)"
|
|
3102
|
+
},
|
|
3103
|
+
"is_accurate": {
|
|
3104
|
+
"anyOf": [
|
|
3105
|
+
{
|
|
3106
|
+
"type": "boolean"
|
|
3107
|
+
},
|
|
3108
|
+
{
|
|
3109
|
+
"type": "null"
|
|
3110
|
+
}
|
|
3111
|
+
],
|
|
3112
|
+
"description": "Whether replay was accurate"
|
|
3113
|
+
},
|
|
3114
|
+
"app_url": {
|
|
3115
|
+
"anyOf": [
|
|
3116
|
+
{
|
|
3117
|
+
"type": "string"
|
|
3118
|
+
},
|
|
3119
|
+
{
|
|
3120
|
+
"type": "null"
|
|
3121
|
+
}
|
|
3122
|
+
],
|
|
3123
|
+
"description": "Application URL"
|
|
3124
|
+
}
|
|
3125
|
+
},
|
|
3126
|
+
"required": [
|
|
3127
|
+
"id",
|
|
3128
|
+
"status",
|
|
3129
|
+
"is_accurate",
|
|
3130
|
+
"app_url"
|
|
3131
|
+
],
|
|
3132
|
+
"additionalProperties": false
|
|
3133
|
+
},
|
|
3134
|
+
{
|
|
3135
|
+
"type": "null"
|
|
3136
|
+
}
|
|
3137
|
+
],
|
|
3138
|
+
"description": "Base replay info"
|
|
3139
|
+
},
|
|
3140
|
+
"head_screenshots": {
|
|
3141
|
+
"type": "array",
|
|
3142
|
+
"items": {
|
|
3143
|
+
"type": "object",
|
|
3144
|
+
"properties": {
|
|
3145
|
+
"filename": {
|
|
3146
|
+
"type": "string",
|
|
3147
|
+
"description": "Screenshot filename"
|
|
3148
|
+
},
|
|
3149
|
+
"public_url": {
|
|
3150
|
+
"type": "string",
|
|
3151
|
+
"description": "Signed URL to screenshot image"
|
|
3152
|
+
},
|
|
3153
|
+
"replay_id": {
|
|
3154
|
+
"description": "Replay ID",
|
|
3155
|
+
"type": "string"
|
|
3156
|
+
},
|
|
3157
|
+
"route_url": {
|
|
3158
|
+
"description": "Page URL",
|
|
3159
|
+
"type": "string"
|
|
3160
|
+
},
|
|
3161
|
+
"route_group": {
|
|
3162
|
+
"description": "Route group",
|
|
3163
|
+
"type": "string"
|
|
3164
|
+
},
|
|
3165
|
+
"identifier_type": {
|
|
3166
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
3167
|
+
"type": "string"
|
|
3168
|
+
},
|
|
3169
|
+
"event_number": {
|
|
3170
|
+
"description": "Event number for after-event screenshots",
|
|
3171
|
+
"type": "number"
|
|
3172
|
+
}
|
|
3173
|
+
},
|
|
3174
|
+
"required": [
|
|
3175
|
+
"filename",
|
|
3176
|
+
"public_url"
|
|
3177
|
+
],
|
|
3178
|
+
"additionalProperties": false
|
|
3179
|
+
},
|
|
3180
|
+
"description": "Head replay screenshots"
|
|
3181
|
+
},
|
|
3182
|
+
"base_screenshots": {
|
|
3183
|
+
"type": "array",
|
|
3184
|
+
"items": {
|
|
3185
|
+
"type": "object",
|
|
3186
|
+
"properties": {
|
|
3187
|
+
"filename": {
|
|
3188
|
+
"type": "string",
|
|
3189
|
+
"description": "Screenshot filename"
|
|
3190
|
+
},
|
|
3191
|
+
"public_url": {
|
|
3192
|
+
"type": "string",
|
|
3193
|
+
"description": "Signed URL to screenshot image"
|
|
3194
|
+
},
|
|
3195
|
+
"replay_id": {
|
|
3196
|
+
"description": "Replay ID",
|
|
3197
|
+
"type": "string"
|
|
3198
|
+
},
|
|
3199
|
+
"route_url": {
|
|
3200
|
+
"description": "Page URL",
|
|
3201
|
+
"type": "string"
|
|
3202
|
+
},
|
|
3203
|
+
"route_group": {
|
|
3204
|
+
"description": "Route group",
|
|
3205
|
+
"type": "string"
|
|
3206
|
+
},
|
|
3207
|
+
"identifier_type": {
|
|
3208
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
3209
|
+
"type": "string"
|
|
3210
|
+
},
|
|
3211
|
+
"event_number": {
|
|
3212
|
+
"description": "Event number for after-event screenshots",
|
|
3213
|
+
"type": "number"
|
|
3214
|
+
}
|
|
3215
|
+
},
|
|
3216
|
+
"required": [
|
|
3217
|
+
"filename",
|
|
3218
|
+
"public_url"
|
|
3219
|
+
],
|
|
3220
|
+
"additionalProperties": false
|
|
3221
|
+
},
|
|
3222
|
+
"description": "Base replay screenshots"
|
|
3223
|
+
},
|
|
3224
|
+
"screenshot_diffs": {
|
|
3225
|
+
"type": "array",
|
|
3226
|
+
"items": {
|
|
3227
|
+
"type": "object",
|
|
3228
|
+
"properties": {
|
|
3229
|
+
"outcome": {
|
|
3230
|
+
"type": "string",
|
|
3231
|
+
"description": "Diff outcome"
|
|
3232
|
+
},
|
|
3233
|
+
"user_visible_outcome": {
|
|
3234
|
+
"type": "string",
|
|
3235
|
+
"description": "User-visible outcome"
|
|
3236
|
+
},
|
|
3237
|
+
"group_id": {
|
|
3238
|
+
"anyOf": [
|
|
3239
|
+
{
|
|
3240
|
+
"type": "string"
|
|
3241
|
+
},
|
|
3242
|
+
{
|
|
3243
|
+
"type": "null"
|
|
3244
|
+
}
|
|
3245
|
+
],
|
|
3246
|
+
"description": "Group ID"
|
|
3247
|
+
},
|
|
3248
|
+
"width": {
|
|
3249
|
+
"anyOf": [
|
|
3250
|
+
{
|
|
3251
|
+
"type": "number"
|
|
3252
|
+
},
|
|
3253
|
+
{
|
|
3254
|
+
"type": "null"
|
|
3255
|
+
}
|
|
3256
|
+
],
|
|
3257
|
+
"description": "Screenshot width"
|
|
3258
|
+
},
|
|
3259
|
+
"mismatch_pixels": {
|
|
3260
|
+
"anyOf": [
|
|
3261
|
+
{
|
|
3262
|
+
"type": "number"
|
|
3263
|
+
},
|
|
3264
|
+
{
|
|
3265
|
+
"type": "null"
|
|
3266
|
+
}
|
|
3267
|
+
],
|
|
3268
|
+
"description": "Number of mismatched pixels"
|
|
3269
|
+
},
|
|
3270
|
+
"diff_hash": {
|
|
3271
|
+
"anyOf": [
|
|
3272
|
+
{
|
|
3273
|
+
"type": "string"
|
|
3274
|
+
},
|
|
3275
|
+
{
|
|
3276
|
+
"type": "null"
|
|
3277
|
+
}
|
|
3278
|
+
],
|
|
3279
|
+
"description": "Diff hash for deduplication"
|
|
3280
|
+
},
|
|
3281
|
+
"base_screenshot": {
|
|
3282
|
+
"anyOf": [
|
|
3283
|
+
{
|
|
3284
|
+
"type": "object",
|
|
3285
|
+
"properties": {
|
|
3286
|
+
"filename": {
|
|
3287
|
+
"type": "string",
|
|
3288
|
+
"description": "Screenshot filename"
|
|
3289
|
+
},
|
|
3290
|
+
"public_url": {
|
|
3291
|
+
"type": "string",
|
|
3292
|
+
"description": "Signed URL to screenshot image"
|
|
3293
|
+
},
|
|
3294
|
+
"replay_id": {
|
|
3295
|
+
"description": "Replay ID",
|
|
3296
|
+
"type": "string"
|
|
3297
|
+
},
|
|
3298
|
+
"route_url": {
|
|
3299
|
+
"description": "Page URL",
|
|
3300
|
+
"type": "string"
|
|
3301
|
+
},
|
|
3302
|
+
"route_group": {
|
|
3303
|
+
"description": "Route group",
|
|
3304
|
+
"type": "string"
|
|
3305
|
+
},
|
|
3306
|
+
"identifier_type": {
|
|
3307
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
3308
|
+
"type": "string"
|
|
3309
|
+
},
|
|
3310
|
+
"event_number": {
|
|
3311
|
+
"description": "Event number for after-event screenshots",
|
|
3312
|
+
"type": "number"
|
|
3313
|
+
}
|
|
3314
|
+
},
|
|
3315
|
+
"required": [
|
|
3316
|
+
"filename",
|
|
3317
|
+
"public_url"
|
|
3318
|
+
],
|
|
3319
|
+
"additionalProperties": false
|
|
3320
|
+
},
|
|
3321
|
+
{
|
|
3322
|
+
"type": "null"
|
|
3323
|
+
}
|
|
3324
|
+
],
|
|
3325
|
+
"description": "Base (expected) screenshot"
|
|
3326
|
+
},
|
|
3327
|
+
"head_screenshot": {
|
|
3328
|
+
"anyOf": [
|
|
3329
|
+
{
|
|
3330
|
+
"type": "object",
|
|
3331
|
+
"properties": {
|
|
3332
|
+
"filename": {
|
|
3333
|
+
"type": "string",
|
|
3334
|
+
"description": "Screenshot filename"
|
|
3335
|
+
},
|
|
3336
|
+
"public_url": {
|
|
3337
|
+
"type": "string",
|
|
3338
|
+
"description": "Signed URL to screenshot image"
|
|
3339
|
+
},
|
|
3340
|
+
"replay_id": {
|
|
3341
|
+
"description": "Replay ID",
|
|
3342
|
+
"type": "string"
|
|
3343
|
+
},
|
|
3344
|
+
"route_url": {
|
|
3345
|
+
"description": "Page URL",
|
|
3346
|
+
"type": "string"
|
|
3347
|
+
},
|
|
3348
|
+
"route_group": {
|
|
3349
|
+
"description": "Route group",
|
|
3350
|
+
"type": "string"
|
|
3351
|
+
},
|
|
3352
|
+
"identifier_type": {
|
|
3353
|
+
"description": "Screenshot type (e.g., ScreenshotAfterEvent, EndStateScreenshot)",
|
|
3354
|
+
"type": "string"
|
|
3355
|
+
},
|
|
3356
|
+
"event_number": {
|
|
3357
|
+
"description": "Event number for after-event screenshots",
|
|
3358
|
+
"type": "number"
|
|
3359
|
+
}
|
|
3360
|
+
},
|
|
3361
|
+
"required": [
|
|
3362
|
+
"filename",
|
|
3363
|
+
"public_url"
|
|
3364
|
+
],
|
|
3365
|
+
"additionalProperties": false
|
|
3366
|
+
},
|
|
3367
|
+
{
|
|
3368
|
+
"type": "null"
|
|
3369
|
+
}
|
|
3370
|
+
],
|
|
3371
|
+
"description": "Head (actual) screenshot"
|
|
3372
|
+
},
|
|
3373
|
+
"diff_url_thumb": {
|
|
3374
|
+
"anyOf": [
|
|
3375
|
+
{
|
|
3376
|
+
"type": "string"
|
|
3377
|
+
},
|
|
3378
|
+
{
|
|
3379
|
+
"type": "null"
|
|
3380
|
+
}
|
|
3381
|
+
],
|
|
3382
|
+
"description": "Diff thumbnail URL"
|
|
3383
|
+
},
|
|
3384
|
+
"diff_url_full": {
|
|
3385
|
+
"anyOf": [
|
|
3386
|
+
{
|
|
3387
|
+
"type": "string"
|
|
3388
|
+
},
|
|
3389
|
+
{
|
|
3390
|
+
"type": "null"
|
|
3391
|
+
}
|
|
3392
|
+
],
|
|
3393
|
+
"description": "Full diff image URL"
|
|
3394
|
+
},
|
|
3395
|
+
"changed_class_names": {
|
|
3396
|
+
"type": "array",
|
|
3397
|
+
"items": {
|
|
3398
|
+
"type": "string"
|
|
3399
|
+
},
|
|
3400
|
+
"description": "CSS class names of changed sections"
|
|
3401
|
+
}
|
|
3402
|
+
},
|
|
3403
|
+
"required": [
|
|
3404
|
+
"outcome",
|
|
3405
|
+
"user_visible_outcome",
|
|
3406
|
+
"group_id",
|
|
3407
|
+
"width",
|
|
3408
|
+
"mismatch_pixels",
|
|
3409
|
+
"diff_hash",
|
|
3410
|
+
"base_screenshot",
|
|
3411
|
+
"head_screenshot",
|
|
3412
|
+
"diff_url_thumb",
|
|
3413
|
+
"diff_url_full",
|
|
3414
|
+
"changed_class_names"
|
|
3415
|
+
],
|
|
3416
|
+
"additionalProperties": false
|
|
3417
|
+
},
|
|
3418
|
+
"description": "Visual differences between screenshots"
|
|
3419
|
+
}
|
|
3420
|
+
},
|
|
3421
|
+
"required": [
|
|
3422
|
+
"diff_id",
|
|
3423
|
+
"divergences",
|
|
3424
|
+
"head_replay",
|
|
3425
|
+
"base_replay",
|
|
3426
|
+
"head_screenshots",
|
|
3427
|
+
"base_screenshots",
|
|
3428
|
+
"screenshot_diffs"
|
|
3429
|
+
],
|
|
3430
|
+
"additionalProperties": false
|
|
3431
|
+
}
|
|
3432
|
+
},
|
|
3433
|
+
{
|
|
3434
|
+
"name": "list_sessions",
|
|
3435
|
+
"displayName": "List Sessions",
|
|
3436
|
+
"description": "List recorded user sessions for a project.",
|
|
3437
|
+
"summary": "List sessions for a project",
|
|
3438
|
+
"icon": "monitor",
|
|
3439
|
+
"group": "Sessions",
|
|
3440
|
+
"input_schema": {
|
|
3441
|
+
"type": "object",
|
|
3442
|
+
"properties": {
|
|
3443
|
+
"project_id": {
|
|
3444
|
+
"type": "string",
|
|
3445
|
+
"description": "Project ID"
|
|
3446
|
+
},
|
|
3447
|
+
"count": {
|
|
3448
|
+
"default": 50,
|
|
3449
|
+
"description": "Number of sessions to return",
|
|
3450
|
+
"type": "number"
|
|
3451
|
+
}
|
|
3452
|
+
},
|
|
3453
|
+
"required": [
|
|
3454
|
+
"project_id",
|
|
3455
|
+
"count"
|
|
3456
|
+
],
|
|
3457
|
+
"additionalProperties": false
|
|
3458
|
+
},
|
|
3459
|
+
"output_schema": {
|
|
3460
|
+
"type": "object",
|
|
3461
|
+
"properties": {
|
|
3462
|
+
"sessions": {
|
|
3463
|
+
"type": "array",
|
|
3464
|
+
"items": {
|
|
3465
|
+
"type": "object",
|
|
3466
|
+
"properties": {
|
|
3467
|
+
"id": {
|
|
3468
|
+
"type": "string",
|
|
3469
|
+
"description": "Session ID"
|
|
3470
|
+
},
|
|
3471
|
+
"project_id": {
|
|
3472
|
+
"type": "string",
|
|
3473
|
+
"description": "Project ID"
|
|
3474
|
+
},
|
|
3475
|
+
"project_name": {
|
|
3476
|
+
"type": "string",
|
|
3477
|
+
"description": "Project name"
|
|
3478
|
+
},
|
|
3479
|
+
"hostname": {
|
|
3480
|
+
"anyOf": [
|
|
3481
|
+
{
|
|
3482
|
+
"type": "string"
|
|
3483
|
+
},
|
|
3484
|
+
{
|
|
3485
|
+
"type": "null"
|
|
3486
|
+
}
|
|
3487
|
+
],
|
|
3488
|
+
"description": "Recording hostname"
|
|
3489
|
+
},
|
|
3490
|
+
"datetime": {
|
|
3491
|
+
"anyOf": [
|
|
3492
|
+
{
|
|
3493
|
+
"type": "string"
|
|
3494
|
+
},
|
|
3495
|
+
{
|
|
3496
|
+
"type": "null"
|
|
3497
|
+
}
|
|
3498
|
+
],
|
|
3499
|
+
"description": "Session datetime"
|
|
3500
|
+
},
|
|
3501
|
+
"num_user_events": {
|
|
3502
|
+
"anyOf": [
|
|
3503
|
+
{
|
|
3504
|
+
"type": "number"
|
|
3505
|
+
},
|
|
3506
|
+
{
|
|
3507
|
+
"type": "null"
|
|
3508
|
+
}
|
|
3509
|
+
],
|
|
3510
|
+
"description": "Number of user events"
|
|
3511
|
+
},
|
|
3512
|
+
"num_bytes": {
|
|
3513
|
+
"anyOf": [
|
|
3514
|
+
{
|
|
3515
|
+
"type": "number"
|
|
3516
|
+
},
|
|
3517
|
+
{
|
|
3518
|
+
"type": "null"
|
|
3519
|
+
}
|
|
3520
|
+
],
|
|
3521
|
+
"description": "Size in bytes"
|
|
3522
|
+
},
|
|
3523
|
+
"source": {
|
|
3524
|
+
"anyOf": [
|
|
3525
|
+
{
|
|
3526
|
+
"type": "string"
|
|
3527
|
+
},
|
|
3528
|
+
{
|
|
3529
|
+
"type": "null"
|
|
3530
|
+
}
|
|
3531
|
+
],
|
|
3532
|
+
"description": "Recording source"
|
|
3533
|
+
},
|
|
3534
|
+
"start_url": {
|
|
3535
|
+
"anyOf": [
|
|
3536
|
+
{
|
|
3537
|
+
"type": "string"
|
|
3538
|
+
},
|
|
3539
|
+
{
|
|
3540
|
+
"type": "null"
|
|
3541
|
+
}
|
|
3542
|
+
],
|
|
3543
|
+
"description": "Starting URL"
|
|
3544
|
+
},
|
|
3545
|
+
"abandoned": {
|
|
3546
|
+
"anyOf": [
|
|
3547
|
+
{
|
|
3548
|
+
"type": "boolean"
|
|
3549
|
+
},
|
|
3550
|
+
{
|
|
3551
|
+
"type": "null"
|
|
3552
|
+
}
|
|
3553
|
+
],
|
|
3554
|
+
"description": "Whether session was abandoned"
|
|
3555
|
+
},
|
|
3556
|
+
"description": {
|
|
3557
|
+
"anyOf": [
|
|
3558
|
+
{
|
|
3559
|
+
"type": "string"
|
|
3560
|
+
},
|
|
3561
|
+
{
|
|
3562
|
+
"type": "null"
|
|
3563
|
+
}
|
|
3564
|
+
],
|
|
3565
|
+
"description": "Session description"
|
|
3566
|
+
}
|
|
3567
|
+
},
|
|
3568
|
+
"required": [
|
|
3569
|
+
"id",
|
|
3570
|
+
"project_id",
|
|
3571
|
+
"project_name",
|
|
3572
|
+
"hostname",
|
|
3573
|
+
"datetime",
|
|
3574
|
+
"num_user_events",
|
|
3575
|
+
"num_bytes",
|
|
3576
|
+
"source",
|
|
3577
|
+
"start_url",
|
|
3578
|
+
"abandoned",
|
|
3579
|
+
"description"
|
|
3580
|
+
],
|
|
3581
|
+
"additionalProperties": false
|
|
3582
|
+
}
|
|
3583
|
+
}
|
|
3584
|
+
},
|
|
3585
|
+
"required": [
|
|
3586
|
+
"sessions"
|
|
3587
|
+
],
|
|
3588
|
+
"additionalProperties": false
|
|
3589
|
+
}
|
|
3590
|
+
},
|
|
3591
|
+
{
|
|
3592
|
+
"name": "get_session",
|
|
3593
|
+
"displayName": "Get Session",
|
|
3594
|
+
"description": "Get detailed information about a specific recorded user session.",
|
|
3595
|
+
"summary": "Get session details",
|
|
3596
|
+
"icon": "monitor",
|
|
3597
|
+
"group": "Sessions",
|
|
3598
|
+
"input_schema": {
|
|
3599
|
+
"type": "object",
|
|
3600
|
+
"properties": {
|
|
3601
|
+
"session_id": {
|
|
3602
|
+
"type": "string",
|
|
3603
|
+
"description": "Session ID"
|
|
3604
|
+
}
|
|
3605
|
+
},
|
|
3606
|
+
"required": [
|
|
3607
|
+
"session_id"
|
|
3608
|
+
],
|
|
3609
|
+
"additionalProperties": false
|
|
3610
|
+
},
|
|
3611
|
+
"output_schema": {
|
|
3612
|
+
"type": "object",
|
|
3613
|
+
"properties": {
|
|
3614
|
+
"session": {
|
|
3615
|
+
"type": "object",
|
|
3616
|
+
"properties": {
|
|
3617
|
+
"id": {
|
|
3618
|
+
"type": "string",
|
|
3619
|
+
"description": "Session ID"
|
|
3620
|
+
},
|
|
3621
|
+
"project_id": {
|
|
3622
|
+
"type": "string",
|
|
3623
|
+
"description": "Project ID"
|
|
3624
|
+
},
|
|
3625
|
+
"project_name": {
|
|
3626
|
+
"type": "string",
|
|
3627
|
+
"description": "Project name"
|
|
3628
|
+
},
|
|
3629
|
+
"hostname": {
|
|
3630
|
+
"anyOf": [
|
|
3631
|
+
{
|
|
3632
|
+
"type": "string"
|
|
3633
|
+
},
|
|
3634
|
+
{
|
|
3635
|
+
"type": "null"
|
|
3636
|
+
}
|
|
3637
|
+
],
|
|
3638
|
+
"description": "Recording hostname"
|
|
3639
|
+
},
|
|
3640
|
+
"datetime": {
|
|
3641
|
+
"anyOf": [
|
|
3642
|
+
{
|
|
3643
|
+
"type": "string"
|
|
3644
|
+
},
|
|
3645
|
+
{
|
|
3646
|
+
"type": "null"
|
|
3647
|
+
}
|
|
3648
|
+
],
|
|
3649
|
+
"description": "Session datetime"
|
|
3650
|
+
},
|
|
3651
|
+
"num_user_events": {
|
|
3652
|
+
"anyOf": [
|
|
3653
|
+
{
|
|
3654
|
+
"type": "number"
|
|
3655
|
+
},
|
|
3656
|
+
{
|
|
3657
|
+
"type": "null"
|
|
3658
|
+
}
|
|
3659
|
+
],
|
|
3660
|
+
"description": "Number of user events"
|
|
3661
|
+
},
|
|
3662
|
+
"num_bytes": {
|
|
3663
|
+
"anyOf": [
|
|
3664
|
+
{
|
|
3665
|
+
"type": "number"
|
|
3666
|
+
},
|
|
3667
|
+
{
|
|
3668
|
+
"type": "null"
|
|
3669
|
+
}
|
|
3670
|
+
],
|
|
3671
|
+
"description": "Size in bytes"
|
|
3672
|
+
},
|
|
3673
|
+
"source": {
|
|
3674
|
+
"anyOf": [
|
|
3675
|
+
{
|
|
3676
|
+
"type": "string"
|
|
3677
|
+
},
|
|
3678
|
+
{
|
|
3679
|
+
"type": "null"
|
|
3680
|
+
}
|
|
3681
|
+
],
|
|
3682
|
+
"description": "Recording source"
|
|
3683
|
+
},
|
|
3684
|
+
"start_url": {
|
|
3685
|
+
"anyOf": [
|
|
3686
|
+
{
|
|
3687
|
+
"type": "string"
|
|
3688
|
+
},
|
|
3689
|
+
{
|
|
3690
|
+
"type": "null"
|
|
3691
|
+
}
|
|
3692
|
+
],
|
|
3693
|
+
"description": "Starting URL"
|
|
3694
|
+
},
|
|
3695
|
+
"abandoned": {
|
|
3696
|
+
"anyOf": [
|
|
3697
|
+
{
|
|
3698
|
+
"type": "boolean"
|
|
3699
|
+
},
|
|
3700
|
+
{
|
|
3701
|
+
"type": "null"
|
|
3702
|
+
}
|
|
3703
|
+
],
|
|
3704
|
+
"description": "Whether session was abandoned"
|
|
3705
|
+
},
|
|
3706
|
+
"description": {
|
|
3707
|
+
"anyOf": [
|
|
3708
|
+
{
|
|
3709
|
+
"type": "string"
|
|
3710
|
+
},
|
|
3711
|
+
{
|
|
3712
|
+
"type": "null"
|
|
3713
|
+
}
|
|
3714
|
+
],
|
|
3715
|
+
"description": "Session description"
|
|
3716
|
+
}
|
|
3717
|
+
},
|
|
3718
|
+
"required": [
|
|
3719
|
+
"id",
|
|
3720
|
+
"project_id",
|
|
3721
|
+
"project_name",
|
|
3722
|
+
"hostname",
|
|
3723
|
+
"datetime",
|
|
3724
|
+
"num_user_events",
|
|
3725
|
+
"num_bytes",
|
|
3726
|
+
"source",
|
|
3727
|
+
"start_url",
|
|
3728
|
+
"abandoned",
|
|
3729
|
+
"description"
|
|
3730
|
+
],
|
|
3731
|
+
"additionalProperties": false
|
|
3732
|
+
}
|
|
3733
|
+
},
|
|
3734
|
+
"required": [
|
|
3735
|
+
"session"
|
|
3736
|
+
],
|
|
3737
|
+
"additionalProperties": false
|
|
3738
|
+
}
|
|
3739
|
+
},
|
|
3740
|
+
{
|
|
3741
|
+
"name": "search_sessions",
|
|
3742
|
+
"displayName": "Search Sessions",
|
|
3743
|
+
"description": "Search recorded sessions by query string within a project.",
|
|
3744
|
+
"summary": "Search sessions",
|
|
3745
|
+
"icon": "search",
|
|
3746
|
+
"group": "Sessions",
|
|
3747
|
+
"input_schema": {
|
|
3748
|
+
"type": "object",
|
|
3749
|
+
"properties": {
|
|
3750
|
+
"project_id": {
|
|
3751
|
+
"type": "string",
|
|
3752
|
+
"description": "Project ID to search within"
|
|
3753
|
+
},
|
|
3754
|
+
"query": {
|
|
3755
|
+
"type": "string",
|
|
3756
|
+
"description": "Search query string"
|
|
3757
|
+
},
|
|
3758
|
+
"count": {
|
|
3759
|
+
"default": 50,
|
|
3760
|
+
"description": "Number of results to return",
|
|
3761
|
+
"type": "number"
|
|
3762
|
+
},
|
|
3763
|
+
"offset": {
|
|
3764
|
+
"default": 0,
|
|
3765
|
+
"description": "Offset for pagination",
|
|
3766
|
+
"type": "number"
|
|
3767
|
+
},
|
|
3768
|
+
"include_empty_sessions": {
|
|
3769
|
+
"default": false,
|
|
3770
|
+
"description": "Include sessions with no user events",
|
|
3771
|
+
"type": "boolean"
|
|
3772
|
+
},
|
|
3773
|
+
"include_automated_sessions": {
|
|
3774
|
+
"default": false,
|
|
3775
|
+
"description": "Include automated/bot sessions",
|
|
3776
|
+
"type": "boolean"
|
|
3777
|
+
}
|
|
3778
|
+
},
|
|
3779
|
+
"required": [
|
|
3780
|
+
"project_id",
|
|
3781
|
+
"query",
|
|
3782
|
+
"count",
|
|
3783
|
+
"offset",
|
|
3784
|
+
"include_empty_sessions",
|
|
3785
|
+
"include_automated_sessions"
|
|
3786
|
+
],
|
|
3787
|
+
"additionalProperties": false
|
|
3788
|
+
},
|
|
3789
|
+
"output_schema": {
|
|
3790
|
+
"type": "object",
|
|
3791
|
+
"properties": {
|
|
3792
|
+
"sessions": {
|
|
3793
|
+
"type": "array",
|
|
3794
|
+
"items": {
|
|
3795
|
+
"type": "object",
|
|
3796
|
+
"properties": {
|
|
3797
|
+
"id": {
|
|
3798
|
+
"type": "string",
|
|
3799
|
+
"description": "Session ID"
|
|
3800
|
+
},
|
|
3801
|
+
"project_id": {
|
|
3802
|
+
"type": "string",
|
|
3803
|
+
"description": "Project ID"
|
|
3804
|
+
},
|
|
3805
|
+
"project_name": {
|
|
3806
|
+
"type": "string",
|
|
3807
|
+
"description": "Project name"
|
|
3808
|
+
},
|
|
3809
|
+
"hostname": {
|
|
3810
|
+
"anyOf": [
|
|
3811
|
+
{
|
|
3812
|
+
"type": "string"
|
|
3813
|
+
},
|
|
3814
|
+
{
|
|
3815
|
+
"type": "null"
|
|
3816
|
+
}
|
|
3817
|
+
],
|
|
3818
|
+
"description": "Recording hostname"
|
|
3819
|
+
},
|
|
3820
|
+
"datetime": {
|
|
3821
|
+
"anyOf": [
|
|
3822
|
+
{
|
|
3823
|
+
"type": "string"
|
|
3824
|
+
},
|
|
3825
|
+
{
|
|
3826
|
+
"type": "null"
|
|
3827
|
+
}
|
|
3828
|
+
],
|
|
3829
|
+
"description": "Session datetime"
|
|
3830
|
+
},
|
|
3831
|
+
"num_user_events": {
|
|
3832
|
+
"anyOf": [
|
|
3833
|
+
{
|
|
3834
|
+
"type": "number"
|
|
3835
|
+
},
|
|
3836
|
+
{
|
|
3837
|
+
"type": "null"
|
|
3838
|
+
}
|
|
3839
|
+
],
|
|
3840
|
+
"description": "Number of user events"
|
|
3841
|
+
},
|
|
3842
|
+
"num_bytes": {
|
|
3843
|
+
"anyOf": [
|
|
3844
|
+
{
|
|
3845
|
+
"type": "number"
|
|
3846
|
+
},
|
|
3847
|
+
{
|
|
3848
|
+
"type": "null"
|
|
3849
|
+
}
|
|
3850
|
+
],
|
|
3851
|
+
"description": "Size in bytes"
|
|
3852
|
+
},
|
|
3853
|
+
"source": {
|
|
3854
|
+
"anyOf": [
|
|
3855
|
+
{
|
|
3856
|
+
"type": "string"
|
|
3857
|
+
},
|
|
3858
|
+
{
|
|
3859
|
+
"type": "null"
|
|
3860
|
+
}
|
|
3861
|
+
],
|
|
3862
|
+
"description": "Recording source"
|
|
3863
|
+
},
|
|
3864
|
+
"start_url": {
|
|
3865
|
+
"anyOf": [
|
|
3866
|
+
{
|
|
3867
|
+
"type": "string"
|
|
3868
|
+
},
|
|
3869
|
+
{
|
|
3870
|
+
"type": "null"
|
|
3871
|
+
}
|
|
3872
|
+
],
|
|
3873
|
+
"description": "Starting URL"
|
|
3874
|
+
},
|
|
3875
|
+
"abandoned": {
|
|
3876
|
+
"anyOf": [
|
|
3877
|
+
{
|
|
3878
|
+
"type": "boolean"
|
|
3879
|
+
},
|
|
3880
|
+
{
|
|
3881
|
+
"type": "null"
|
|
3882
|
+
}
|
|
3883
|
+
],
|
|
3884
|
+
"description": "Whether session was abandoned"
|
|
3885
|
+
},
|
|
3886
|
+
"description": {
|
|
3887
|
+
"anyOf": [
|
|
3888
|
+
{
|
|
3889
|
+
"type": "string"
|
|
3890
|
+
},
|
|
3891
|
+
{
|
|
3892
|
+
"type": "null"
|
|
3893
|
+
}
|
|
3894
|
+
],
|
|
3895
|
+
"description": "Session description"
|
|
3896
|
+
}
|
|
3897
|
+
},
|
|
3898
|
+
"required": [
|
|
3899
|
+
"id",
|
|
3900
|
+
"project_id",
|
|
3901
|
+
"project_name",
|
|
3902
|
+
"hostname",
|
|
3903
|
+
"datetime",
|
|
3904
|
+
"num_user_events",
|
|
3905
|
+
"num_bytes",
|
|
3906
|
+
"source",
|
|
3907
|
+
"start_url",
|
|
3908
|
+
"abandoned",
|
|
3909
|
+
"description"
|
|
3910
|
+
],
|
|
3911
|
+
"additionalProperties": false
|
|
3912
|
+
}
|
|
3913
|
+
}
|
|
3914
|
+
},
|
|
3915
|
+
"required": [
|
|
3916
|
+
"sessions"
|
|
3917
|
+
],
|
|
3918
|
+
"additionalProperties": false
|
|
3919
|
+
}
|
|
3920
|
+
},
|
|
3921
|
+
{
|
|
3922
|
+
"name": "get_session_events",
|
|
3923
|
+
"displayName": "Get Session Events",
|
|
3924
|
+
"description": "Get the user interaction events (clicks, inputs, navigations) recorded during a session.",
|
|
3925
|
+
"summary": "Get user events in a session",
|
|
3926
|
+
"icon": "activity",
|
|
3927
|
+
"group": "Sessions",
|
|
3928
|
+
"input_schema": {
|
|
3929
|
+
"type": "object",
|
|
3930
|
+
"properties": {
|
|
3931
|
+
"session_id": {
|
|
3932
|
+
"type": "string",
|
|
3933
|
+
"description": "Session ID"
|
|
3934
|
+
}
|
|
3935
|
+
},
|
|
3936
|
+
"required": [
|
|
3937
|
+
"session_id"
|
|
3938
|
+
],
|
|
3939
|
+
"additionalProperties": false
|
|
3940
|
+
},
|
|
3941
|
+
"output_schema": {
|
|
3942
|
+
"type": "object",
|
|
3943
|
+
"properties": {
|
|
3944
|
+
"session_id": {
|
|
3945
|
+
"type": "string"
|
|
3946
|
+
},
|
|
3947
|
+
"events": {
|
|
3948
|
+
"type": "array",
|
|
3949
|
+
"items": {
|
|
3950
|
+
"type": "object",
|
|
3951
|
+
"properties": {
|
|
3952
|
+
"type": {
|
|
3953
|
+
"type": "string",
|
|
3954
|
+
"description": "Event type (e.g., click, scroll, input)"
|
|
3955
|
+
},
|
|
3956
|
+
"timestamp": {
|
|
3957
|
+
"anyOf": [
|
|
3958
|
+
{
|
|
3959
|
+
"type": "number"
|
|
3960
|
+
},
|
|
3961
|
+
{
|
|
3962
|
+
"type": "null"
|
|
3963
|
+
}
|
|
3964
|
+
],
|
|
3965
|
+
"description": "Event timestamp (ms)"
|
|
3966
|
+
},
|
|
3967
|
+
"selector": {
|
|
3968
|
+
"anyOf": [
|
|
3969
|
+
{
|
|
3970
|
+
"type": "string"
|
|
3971
|
+
},
|
|
3972
|
+
{
|
|
3973
|
+
"type": "null"
|
|
3974
|
+
}
|
|
3975
|
+
],
|
|
3976
|
+
"description": "CSS selector of target element"
|
|
3977
|
+
},
|
|
3978
|
+
"client_x": {
|
|
3979
|
+
"anyOf": [
|
|
3980
|
+
{
|
|
3981
|
+
"type": "number"
|
|
3982
|
+
},
|
|
3983
|
+
{
|
|
3984
|
+
"type": "null"
|
|
3985
|
+
}
|
|
3986
|
+
],
|
|
3987
|
+
"description": "Mouse X coordinate"
|
|
3988
|
+
},
|
|
3989
|
+
"client_y": {
|
|
3990
|
+
"anyOf": [
|
|
3991
|
+
{
|
|
3992
|
+
"type": "number"
|
|
3993
|
+
},
|
|
3994
|
+
{
|
|
3995
|
+
"type": "null"
|
|
3996
|
+
}
|
|
3997
|
+
],
|
|
3998
|
+
"description": "Mouse Y coordinate"
|
|
3999
|
+
}
|
|
4000
|
+
},
|
|
4001
|
+
"required": [
|
|
4002
|
+
"type",
|
|
4003
|
+
"timestamp",
|
|
4004
|
+
"selector",
|
|
4005
|
+
"client_x",
|
|
4006
|
+
"client_y"
|
|
4007
|
+
],
|
|
4008
|
+
"additionalProperties": false
|
|
4009
|
+
}
|
|
4010
|
+
}
|
|
4011
|
+
},
|
|
4012
|
+
"required": [
|
|
4013
|
+
"session_id",
|
|
4014
|
+
"events"
|
|
4015
|
+
],
|
|
4016
|
+
"additionalProperties": false
|
|
4017
|
+
}
|
|
4018
|
+
}
|
|
4019
|
+
]
|
|
4020
|
+
}
|