@qawolf/api-contracts 0.59.0 → 0.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/v1/agent/send.d.ts +2 -0
  2. package/dist/v1/agent/send.d.ts.map +1 -1
  3. package/dist/v1/agent/send.js +7 -0
  4. package/dist/v1/agent/send.js.map +1 -1
  5. package/dist/v1/deployment/index.d.ts +1 -1
  6. package/dist/v1/deployment/reportStatus.d.ts +1 -1
  7. package/dist/v1/deployment/reportStatus.js +2 -2
  8. package/dist/v1/deployment/reportStatus.js.map +1 -1
  9. package/dist/v1/environment/create.d.ts +1 -1
  10. package/dist/v1/environment/create.d.ts.map +1 -1
  11. package/dist/v1/environment/create.js.map +1 -1
  12. package/dist/v1/environment/deleteVariable.d.ts +1 -1
  13. package/dist/v1/environment/deleteVariable.d.ts.map +1 -1
  14. package/dist/v1/environment/deleteVariable.js.map +1 -1
  15. package/dist/v1/environment/getVariable.d.ts +1 -1
  16. package/dist/v1/environment/getVariable.d.ts.map +1 -1
  17. package/dist/v1/environment/getVariable.js.map +1 -1
  18. package/dist/v1/environment/index.d.ts +3 -3
  19. package/dist/v1/environment/index.d.ts.map +1 -1
  20. package/dist/v1/environment/index.js.map +1 -1
  21. package/dist/v1/environment/update.d.ts +1 -1
  22. package/dist/v1/environment/update.d.ts.map +1 -1
  23. package/dist/v1/environment/update.js.map +1 -1
  24. package/dist/v1/flow/addTag.d.ts.map +1 -1
  25. package/dist/v1/flow/addTag.js +0 -1
  26. package/dist/v1/flow/addTag.js.map +1 -1
  27. package/dist/v1/ids.d.ts +4 -3
  28. package/dist/v1/ids.d.ts.map +1 -1
  29. package/dist/v1/ids.js +4 -1
  30. package/dist/v1/ids.js.map +1 -1
  31. package/dist/v1/index.d.ts +1369 -379
  32. package/dist/v1/index.d.ts.map +1 -1
  33. package/dist/v1/index.js +11 -49
  34. package/dist/v1/index.js.map +1 -1
  35. package/dist/v1/legacyTrigger/find.d.ts +89 -0
  36. package/dist/v1/legacyTrigger/find.d.ts.map +1 -0
  37. package/dist/v1/legacyTrigger/find.js +35 -0
  38. package/dist/v1/legacyTrigger/find.js.map +1 -0
  39. package/dist/v1/legacyTrigger/index.d.ts +129 -0
  40. package/dist/v1/legacyTrigger/index.d.ts.map +1 -0
  41. package/dist/v1/legacyTrigger/index.js +13 -0
  42. package/dist/v1/legacyTrigger/index.js.map +1 -0
  43. package/dist/v1/legacyTrigger/lifecycle.d.ts +41 -0
  44. package/dist/v1/legacyTrigger/lifecycle.d.ts.map +1 -0
  45. package/dist/v1/legacyTrigger/lifecycle.js +46 -0
  46. package/dist/v1/legacyTrigger/lifecycle.js.map +1 -0
  47. package/dist/v1/legacyTrigger/resource.d.ts +68 -0
  48. package/dist/v1/legacyTrigger/resource.d.ts.map +1 -0
  49. package/dist/v1/legacyTrigger/resource.js +66 -0
  50. package/dist/v1/legacyTrigger/resource.js.map +1 -0
  51. package/dist/v1/mcpToolDescription.d.ts.map +1 -1
  52. package/dist/v1/mcpToolDescription.js +2 -1
  53. package/dist/v1/mcpToolDescription.js.map +1 -1
  54. package/dist/v1/run/triage.d.ts +51 -0
  55. package/dist/v1/run/triage.d.ts.map +1 -0
  56. package/dist/v1/run/triage.js +55 -0
  57. package/dist/v1/run/triage.js.map +1 -0
  58. package/dist/v1/runner/actionSequence.d.ts +12 -0
  59. package/dist/v1/runner/actionSequence.d.ts.map +1 -0
  60. package/dist/v1/runner/actionSequence.js +11 -0
  61. package/dist/v1/runner/actionSequence.js.map +1 -0
  62. package/dist/v1/runner/catalog.d.ts +920 -0
  63. package/dist/v1/runner/catalog.d.ts.map +1 -0
  64. package/dist/v1/runner/catalog.js +36 -0
  65. package/dist/v1/runner/catalog.js.map +1 -0
  66. package/dist/v1/runner/performActions.d.ts +124 -0
  67. package/dist/v1/runner/performActions.d.ts.map +1 -0
  68. package/dist/v1/runner/performActions.js +83 -0
  69. package/dist/v1/runner/performActions.js.map +1 -0
  70. package/dist/v1/runner/performActionsSteps.d.ts +85 -0
  71. package/dist/v1/runner/performActionsSteps.d.ts.map +1 -0
  72. package/dist/v1/runner/performActionsSteps.js +80 -0
  73. package/dist/v1/runner/performActionsSteps.js.map +1 -0
  74. package/dist/v1/runner/recording.d.ts +332 -0
  75. package/dist/v1/runner/recording.d.ts.map +1 -0
  76. package/dist/v1/runner/recording.js +113 -0
  77. package/dist/v1/runner/recording.js.map +1 -0
  78. package/dist/v1/runnerReexports.d.ts +3 -0
  79. package/dist/v1/runnerReexports.d.ts.map +1 -1
  80. package/dist/v1/runnerReexports.js +3 -0
  81. package/dist/v1/runnerReexports.js.map +1 -1
  82. package/dist/v1/skill/index.d.ts +82 -0
  83. package/dist/v1/skill/index.d.ts.map +1 -0
  84. package/dist/v1/skill/index.js +63 -0
  85. package/dist/v1/skill/index.js.map +1 -0
  86. package/dist/v1/trigger/configuration.d.ts +20 -0
  87. package/dist/v1/trigger/configuration.d.ts.map +1 -1
  88. package/dist/v1/trigger/configuration.js +17 -3
  89. package/dist/v1/trigger/configuration.js.map +1 -1
  90. package/dist/v1/trigger/configurationRules.d.ts +2 -1
  91. package/dist/v1/trigger/configurationRules.d.ts.map +1 -1
  92. package/dist/v1/trigger/configurationRules.js +37 -21
  93. package/dist/v1/trigger/configurationRules.js.map +1 -1
  94. package/dist/v1/trigger/create.d.ts +20 -0
  95. package/dist/v1/trigger/create.d.ts.map +1 -1
  96. package/dist/v1/trigger/find.d.ts +10 -0
  97. package/dist/v1/trigger/find.d.ts.map +1 -1
  98. package/dist/v1/trigger/get.d.ts +10 -0
  99. package/dist/v1/trigger/get.d.ts.map +1 -1
  100. package/dist/v1/trigger/index.d.ts +578 -0
  101. package/dist/v1/trigger/index.d.ts.map +1 -1
  102. package/dist/v1/trigger/index.js +14 -0
  103. package/dist/v1/trigger/index.js.map +1 -1
  104. package/dist/v1/trigger/lifecycle.d.ts +20 -0
  105. package/dist/v1/trigger/lifecycle.d.ts.map +1 -1
  106. package/dist/v1/trigger/resource.d.ts +10 -0
  107. package/dist/v1/trigger/resource.d.ts.map +1 -1
  108. package/dist/v1/trigger/update.d.ts +20 -0
  109. package/dist/v1/trigger/update.d.ts.map +1 -1
  110. package/package.json +1 -1
  111. package/dist/v1/automate/index.d.ts +0 -24
  112. package/dist/v1/automate/index.d.ts.map +0 -1
  113. package/dist/v1/automate/index.js +0 -39
  114. package/dist/v1/automate/index.js.map +0 -1
@@ -0,0 +1,332 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema } from "../ids.js";
3
+ export declare const recordingIdSchema: z.ZodUUID;
4
+ export declare const runnerRecordingCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5
+ action: z.ZodLiteral<"start">;
6
+ recordingId: z.ZodUUID;
7
+ }, z.core.$strict>, z.ZodObject<{
8
+ action: z.ZodLiteral<"stop">;
9
+ recordingId: z.ZodUUID;
10
+ }, z.core.$strict>, z.ZodObject<{
11
+ action: z.ZodLiteral<"auto">;
12
+ enabled: z.ZodBoolean;
13
+ }, z.core.$strict>, z.ZodObject<{
14
+ action: z.ZodLiteral<"status">;
15
+ }, z.core.$strict>], "action">;
16
+ export declare const runnerRecordingSchema: z.ZodObject<{
17
+ endedAt: z.ZodISODateTime;
18
+ id: z.ZodUUID;
19
+ mode: z.ZodEnum<{
20
+ manual: "manual";
21
+ automatic: "automatic";
22
+ }>;
23
+ runIds: z.ZodArray<z.ZodString>;
24
+ runnerId: z.ZodString;
25
+ runnerInstanceId: z.ZodUUID;
26
+ startedAt: z.ZodISODateTime;
27
+ status: z.ZodEnum<{
28
+ failed: "failed";
29
+ ready: "ready";
30
+ }>;
31
+ version: z.ZodLiteral<1>;
32
+ }, z.core.$strip>;
33
+ export declare const runnerRecordingStateSchema: z.ZodObject<{
34
+ active: z.ZodOptional<z.ZodObject<{
35
+ id: z.ZodUUID;
36
+ mode: z.ZodEnum<{
37
+ manual: "manual";
38
+ automatic: "automatic";
39
+ }>;
40
+ startedAt: z.ZodISODateTime;
41
+ }, z.core.$strip>>;
42
+ auto: z.ZodEnum<{
43
+ default: "default";
44
+ on: "on";
45
+ off: "off";
46
+ }>;
47
+ }, z.core.$strip>;
48
+ export declare const runnerRecordingResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
49
+ outcome: z.ZodLiteral<"success">;
50
+ recording: z.ZodOptional<z.ZodObject<{
51
+ endedAt: z.ZodISODateTime;
52
+ id: z.ZodUUID;
53
+ mode: z.ZodEnum<{
54
+ manual: "manual";
55
+ automatic: "automatic";
56
+ }>;
57
+ runIds: z.ZodArray<z.ZodString>;
58
+ runnerId: z.ZodString;
59
+ runnerInstanceId: z.ZodUUID;
60
+ startedAt: z.ZodISODateTime;
61
+ status: z.ZodEnum<{
62
+ failed: "failed";
63
+ ready: "ready";
64
+ }>;
65
+ version: z.ZodLiteral<1>;
66
+ }, z.core.$strip>>;
67
+ state: z.ZodObject<{
68
+ active: z.ZodOptional<z.ZodObject<{
69
+ id: z.ZodUUID;
70
+ mode: z.ZodEnum<{
71
+ manual: "manual";
72
+ automatic: "automatic";
73
+ }>;
74
+ startedAt: z.ZodISODateTime;
75
+ }, z.core.$strip>>;
76
+ auto: z.ZodEnum<{
77
+ default: "default";
78
+ on: "on";
79
+ off: "off";
80
+ }>;
81
+ }, z.core.$strip>;
82
+ }, z.core.$strip>, z.ZodObject<{
83
+ failureReason: z.ZodEnum<{
84
+ "runner-unreachable": "runner-unreachable";
85
+ "screen-not-ready": "screen-not-ready";
86
+ unsupported: "unsupported";
87
+ "recording-in-progress": "recording-in-progress";
88
+ "recording-not-found": "recording-not-found";
89
+ "recording-id-used": "recording-id-used";
90
+ "recording-failed": "recording-failed";
91
+ }>;
92
+ outcome: z.ZodLiteral<"failure">;
93
+ }, z.core.$strip>], "outcome">;
94
+ export type RunnerRecording = z.infer<typeof runnerRecordingSchema>;
95
+ export type RunnerRecordingCommand = z.infer<typeof runnerRecordingCommandSchema>;
96
+ export type RunnerRecordingResult = z.infer<typeof runnerRecordingResultSchema>;
97
+ export type RunnerRecordingState = z.infer<typeof runnerRecordingStateSchema>;
98
+ export declare const makeRecordOnRunnerContract: <WorkspaceId extends PublicIdSchema>(ids: {
99
+ workspace: WorkspaceId;
100
+ }) => {
101
+ readonly annotations: {
102
+ readonly destructiveHint: false;
103
+ readonly openWorldHint: false;
104
+ readonly readOnlyHint: false;
105
+ };
106
+ readonly description: "Control video recording on a Playwright runner. Start requires a caller-generated UUID; stop targets that UUID so retries cannot stop a later recording. Manual capture spans runs and suppresses automatic capture. Auto settings affect subsequent full runs. The URL opens recording history after the runner terminates. Videos may be unavailable after abrupt pod loss.";
107
+ readonly input: z.ZodObject<{
108
+ command: z.ZodDiscriminatedUnion<[z.ZodObject<{
109
+ action: z.ZodLiteral<"start">;
110
+ recordingId: z.ZodUUID;
111
+ }, z.core.$strict>, z.ZodObject<{
112
+ action: z.ZodLiteral<"stop">;
113
+ recordingId: z.ZodUUID;
114
+ }, z.core.$strict>, z.ZodObject<{
115
+ action: z.ZodLiteral<"auto">;
116
+ enabled: z.ZodBoolean;
117
+ }, z.core.$strict>, z.ZodObject<{
118
+ action: z.ZodLiteral<"status">;
119
+ }, z.core.$strict>], "action">;
120
+ id: z.ZodString;
121
+ workspaceId: z.ZodOptional<WorkspaceId>;
122
+ }, z.core.$strip>;
123
+ readonly kind: "write";
124
+ readonly name: "runner.record";
125
+ readonly output: z.ZodObject<{
126
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
127
+ outcome: z.ZodLiteral<"success">;
128
+ recording: z.ZodOptional<z.ZodObject<{
129
+ endedAt: z.ZodISODateTime;
130
+ id: z.ZodUUID;
131
+ mode: z.ZodEnum<{
132
+ manual: "manual";
133
+ automatic: "automatic";
134
+ }>;
135
+ runIds: z.ZodArray<z.ZodString>;
136
+ runnerId: z.ZodString;
137
+ runnerInstanceId: z.ZodUUID;
138
+ startedAt: z.ZodISODateTime;
139
+ status: z.ZodEnum<{
140
+ failed: "failed";
141
+ ready: "ready";
142
+ }>;
143
+ version: z.ZodLiteral<1>;
144
+ }, z.core.$strip>>;
145
+ state: z.ZodObject<{
146
+ active: z.ZodOptional<z.ZodObject<{
147
+ id: z.ZodUUID;
148
+ mode: z.ZodEnum<{
149
+ manual: "manual";
150
+ automatic: "automatic";
151
+ }>;
152
+ startedAt: z.ZodISODateTime;
153
+ }, z.core.$strip>>;
154
+ auto: z.ZodEnum<{
155
+ default: "default";
156
+ on: "on";
157
+ off: "off";
158
+ }>;
159
+ }, z.core.$strip>;
160
+ }, z.core.$strip>, z.ZodObject<{
161
+ failureReason: z.ZodEnum<{
162
+ "runner-unreachable": "runner-unreachable";
163
+ "screen-not-ready": "screen-not-ready";
164
+ unsupported: "unsupported";
165
+ "recording-in-progress": "recording-in-progress";
166
+ "recording-not-found": "recording-not-found";
167
+ "recording-id-used": "recording-id-used";
168
+ "recording-failed": "recording-failed";
169
+ }>;
170
+ outcome: z.ZodLiteral<"failure">;
171
+ }, z.core.$strip>], "outcome">;
172
+ url: z.ZodURL;
173
+ }, z.core.$strip>;
174
+ };
175
+ export declare const makeRunnerRecordingsContract: <WorkspaceId extends PublicIdSchema>(ids: {
176
+ workspace: WorkspaceId;
177
+ }) => {
178
+ readonly annotations: {
179
+ readonly destructiveHint: false;
180
+ readonly openWorldHint: false;
181
+ readonly readOnlyHint: true;
182
+ };
183
+ readonly description: "Read a runner's finalized recordings from workspace storage, including after the runner terminates. Omit recordingId to list recordings in storage-key order; follow nextPageToken for more. An empty list for a specific recording means it is not published or does not exist. Video URLs expire; platform URLs remain stable.";
184
+ readonly input: z.ZodObject<{
185
+ id: z.ZodString;
186
+ pageToken: z.ZodOptional<z.ZodString>;
187
+ recordingId: z.ZodOptional<z.ZodUUID>;
188
+ workspaceId: z.ZodOptional<WorkspaceId>;
189
+ }, z.core.$strip>;
190
+ readonly kind: "read";
191
+ readonly name: "runner.recordings";
192
+ readonly output: z.ZodObject<{
193
+ nextPageToken: z.ZodOptional<z.ZodString>;
194
+ recordings: z.ZodArray<z.ZodObject<{
195
+ endedAt: z.ZodISODateTime;
196
+ id: z.ZodUUID;
197
+ mode: z.ZodEnum<{
198
+ manual: "manual";
199
+ automatic: "automatic";
200
+ }>;
201
+ runIds: z.ZodArray<z.ZodString>;
202
+ runnerId: z.ZodString;
203
+ runnerInstanceId: z.ZodUUID;
204
+ startedAt: z.ZodISODateTime;
205
+ status: z.ZodEnum<{
206
+ failed: "failed";
207
+ ready: "ready";
208
+ }>;
209
+ version: z.ZodLiteral<1>;
210
+ url: z.ZodURL;
211
+ videoUrl: z.ZodOptional<z.ZodURL>;
212
+ }, z.core.$strip>>;
213
+ }, z.core.$strip>;
214
+ };
215
+ export declare function makeRecordingContracts<WorkspaceId extends PublicIdSchema>(ids: {
216
+ workspace: WorkspaceId;
217
+ }): {
218
+ record: {
219
+ readonly annotations: {
220
+ readonly destructiveHint: false;
221
+ readonly openWorldHint: false;
222
+ readonly readOnlyHint: false;
223
+ };
224
+ readonly description: "Control video recording on a Playwright runner. Start requires a caller-generated UUID; stop targets that UUID so retries cannot stop a later recording. Manual capture spans runs and suppresses automatic capture. Auto settings affect subsequent full runs. The URL opens recording history after the runner terminates. Videos may be unavailable after abrupt pod loss.";
225
+ readonly input: z.ZodObject<{
226
+ command: z.ZodDiscriminatedUnion<[z.ZodObject<{
227
+ action: z.ZodLiteral<"start">;
228
+ recordingId: z.ZodUUID;
229
+ }, z.core.$strict>, z.ZodObject<{
230
+ action: z.ZodLiteral<"stop">;
231
+ recordingId: z.ZodUUID;
232
+ }, z.core.$strict>, z.ZodObject<{
233
+ action: z.ZodLiteral<"auto">;
234
+ enabled: z.ZodBoolean;
235
+ }, z.core.$strict>, z.ZodObject<{
236
+ action: z.ZodLiteral<"status">;
237
+ }, z.core.$strict>], "action">;
238
+ id: z.ZodString;
239
+ workspaceId: z.ZodOptional<WorkspaceId>;
240
+ }, z.core.$strip>;
241
+ readonly kind: "write";
242
+ readonly name: "runner.record";
243
+ readonly output: z.ZodObject<{
244
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
245
+ outcome: z.ZodLiteral<"success">;
246
+ recording: z.ZodOptional<z.ZodObject<{
247
+ endedAt: z.ZodISODateTime;
248
+ id: z.ZodUUID;
249
+ mode: z.ZodEnum<{
250
+ manual: "manual";
251
+ automatic: "automatic";
252
+ }>;
253
+ runIds: z.ZodArray<z.ZodString>;
254
+ runnerId: z.ZodString;
255
+ runnerInstanceId: z.ZodUUID;
256
+ startedAt: z.ZodISODateTime;
257
+ status: z.ZodEnum<{
258
+ failed: "failed";
259
+ ready: "ready";
260
+ }>;
261
+ version: z.ZodLiteral<1>;
262
+ }, z.core.$strip>>;
263
+ state: z.ZodObject<{
264
+ active: z.ZodOptional<z.ZodObject<{
265
+ id: z.ZodUUID;
266
+ mode: z.ZodEnum<{
267
+ manual: "manual";
268
+ automatic: "automatic";
269
+ }>;
270
+ startedAt: z.ZodISODateTime;
271
+ }, z.core.$strip>>;
272
+ auto: z.ZodEnum<{
273
+ default: "default";
274
+ on: "on";
275
+ off: "off";
276
+ }>;
277
+ }, z.core.$strip>;
278
+ }, z.core.$strip>, z.ZodObject<{
279
+ failureReason: z.ZodEnum<{
280
+ "runner-unreachable": "runner-unreachable";
281
+ "screen-not-ready": "screen-not-ready";
282
+ unsupported: "unsupported";
283
+ "recording-in-progress": "recording-in-progress";
284
+ "recording-not-found": "recording-not-found";
285
+ "recording-id-used": "recording-id-used";
286
+ "recording-failed": "recording-failed";
287
+ }>;
288
+ outcome: z.ZodLiteral<"failure">;
289
+ }, z.core.$strip>], "outcome">;
290
+ url: z.ZodURL;
291
+ }, z.core.$strip>;
292
+ };
293
+ recordings: {
294
+ readonly annotations: {
295
+ readonly destructiveHint: false;
296
+ readonly openWorldHint: false;
297
+ readonly readOnlyHint: true;
298
+ };
299
+ readonly description: "Read a runner's finalized recordings from workspace storage, including after the runner terminates. Omit recordingId to list recordings in storage-key order; follow nextPageToken for more. An empty list for a specific recording means it is not published or does not exist. Video URLs expire; platform URLs remain stable.";
300
+ readonly input: z.ZodObject<{
301
+ id: z.ZodString;
302
+ pageToken: z.ZodOptional<z.ZodString>;
303
+ recordingId: z.ZodOptional<z.ZodUUID>;
304
+ workspaceId: z.ZodOptional<WorkspaceId>;
305
+ }, z.core.$strip>;
306
+ readonly kind: "read";
307
+ readonly name: "runner.recordings";
308
+ readonly output: z.ZodObject<{
309
+ nextPageToken: z.ZodOptional<z.ZodString>;
310
+ recordings: z.ZodArray<z.ZodObject<{
311
+ endedAt: z.ZodISODateTime;
312
+ id: z.ZodUUID;
313
+ mode: z.ZodEnum<{
314
+ manual: "manual";
315
+ automatic: "automatic";
316
+ }>;
317
+ runIds: z.ZodArray<z.ZodString>;
318
+ runnerId: z.ZodString;
319
+ runnerInstanceId: z.ZodUUID;
320
+ startedAt: z.ZodISODateTime;
321
+ status: z.ZodEnum<{
322
+ failed: "failed";
323
+ ready: "ready";
324
+ }>;
325
+ version: z.ZodLiteral<1>;
326
+ url: z.ZodURL;
327
+ videoUrl: z.ZodOptional<z.ZodURL>;
328
+ }, z.core.$strip>>;
329
+ }, z.core.$strip>;
330
+ };
331
+ };
332
+ //# sourceMappingURL=recording.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recording.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/recording.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIhD,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,eAAO,MAAM,4BAA4B;;;;;;;;;;;8BAQvC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;iBAUhC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;iBASrC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkBtC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,0BAA0B,GACrC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BA,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCA,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,WAAW,SAAS,cAAc,EAClC,GAAG,EAAE;IAAE,SAAS,EAAE,WAAW,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhC"}
@@ -0,0 +1,113 @@
1
+ import { z } from "zod";
2
+ import { runnerIdSchema, runnerWorkspaceIdDescription } from "./identity.js";
3
+ export const recordingIdSchema = z.uuid();
4
+ export const runnerRecordingCommandSchema = z.discriminatedUnion("action", [
5
+ z.strictObject({
6
+ action: z.literal("start"),
7
+ recordingId: recordingIdSchema,
8
+ }),
9
+ z.strictObject({ action: z.literal("stop"), recordingId: recordingIdSchema }),
10
+ z.strictObject({ action: z.literal("auto"), enabled: z.boolean() }),
11
+ z.strictObject({ action: z.literal("status") }),
12
+ ]);
13
+ export const runnerRecordingSchema = z.object({
14
+ endedAt: z.iso.datetime(),
15
+ id: recordingIdSchema,
16
+ mode: z.enum(["manual", "automatic"]),
17
+ runIds: z.array(z.string()),
18
+ runnerId: runnerIdSchema,
19
+ runnerInstanceId: z.uuid(),
20
+ startedAt: z.iso.datetime(),
21
+ status: z.enum(["ready", "failed"]),
22
+ version: z.literal(1),
23
+ });
24
+ export const runnerRecordingStateSchema = z.object({
25
+ active: z
26
+ .object({
27
+ id: recordingIdSchema,
28
+ mode: z.enum(["manual", "automatic"]),
29
+ startedAt: z.iso.datetime(),
30
+ })
31
+ .optional(),
32
+ auto: z.enum(["on", "off", "default"]),
33
+ });
34
+ export const runnerRecordingResultSchema = z.discriminatedUnion("outcome", [
35
+ z.object({
36
+ outcome: z.literal("success"),
37
+ recording: runnerRecordingSchema.optional(),
38
+ state: runnerRecordingStateSchema,
39
+ }),
40
+ z.object({
41
+ failureReason: z.enum([
42
+ "unsupported",
43
+ "screen-not-ready",
44
+ "recording-in-progress",
45
+ "recording-not-found",
46
+ "recording-id-used",
47
+ "runner-unreachable",
48
+ "recording-failed",
49
+ ]),
50
+ outcome: z.literal("failure"),
51
+ }),
52
+ ]);
53
+ export const makeRecordOnRunnerContract = (ids) => {
54
+ const input = z.object({
55
+ command: runnerRecordingCommandSchema,
56
+ id: runnerIdSchema,
57
+ workspaceId: ids.workspace
58
+ .optional()
59
+ .describe(runnerWorkspaceIdDescription),
60
+ });
61
+ const output = z.object({
62
+ result: runnerRecordingResultSchema,
63
+ url: z.url(),
64
+ });
65
+ return {
66
+ annotations: {
67
+ destructiveHint: false,
68
+ openWorldHint: false,
69
+ readOnlyHint: false,
70
+ },
71
+ description: "Control video recording on a Playwright runner. Start requires a caller-generated UUID; stop targets that UUID so retries cannot stop a later recording. Manual capture spans runs and suppresses automatic capture. Auto settings affect subsequent full runs. The URL opens recording history after the runner terminates. Videos may be unavailable after abrupt pod loss.",
72
+ input,
73
+ kind: "write",
74
+ name: "runner.record",
75
+ output,
76
+ };
77
+ };
78
+ export const makeRunnerRecordingsContract = (ids) => {
79
+ const input = z.object({
80
+ id: runnerIdSchema,
81
+ pageToken: z.string().max(4096).optional(),
82
+ recordingId: recordingIdSchema.optional(),
83
+ workspaceId: ids.workspace
84
+ .optional()
85
+ .describe(runnerWorkspaceIdDescription),
86
+ });
87
+ const output = z.object({
88
+ nextPageToken: z.string().optional(),
89
+ recordings: z.array(runnerRecordingSchema.extend({
90
+ url: z.url(),
91
+ videoUrl: z.url().optional(),
92
+ })),
93
+ });
94
+ return {
95
+ annotations: {
96
+ destructiveHint: false,
97
+ openWorldHint: false,
98
+ readOnlyHint: true,
99
+ },
100
+ description: "Read a runner's finalized recordings from workspace storage, including after the runner terminates. Omit recordingId to list recordings in storage-key order; follow nextPageToken for more. An empty list for a specific recording means it is not published or does not exist. Video URLs expire; platform URLs remain stable.",
101
+ input,
102
+ kind: "read",
103
+ name: "runner.recordings",
104
+ output,
105
+ };
106
+ };
107
+ export function makeRecordingContracts(ids) {
108
+ return {
109
+ record: makeRecordOnRunnerContract(ids),
110
+ recordings: makeRunnerRecordingsContract(ids),
111
+ };
112
+ }
113
+ //# sourceMappingURL=recording.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recording.js","sourceRoot":"","sources":["../../../src/v1/runner/recording.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export { type ScreenshotMode, maxActionsPerRequest, screenshotModes, } from "./runner/actionSequence.js";
1
2
  export { type BrowserAction, browserActionSchema, maxTypedTextLength, } from "./runner/browserAction.js";
2
3
  export { runEnvironmentSchema } from "./runner/environment.js";
3
4
  export { isShippableRunFilePath, runFilePathSchema, runPackageJsonPath, shippableRunFileExtensions, } from "./runner/files.js";
@@ -7,5 +8,7 @@ export { type InspectMobileRequest, inspectMobileRequestSchema, } from "./runner
7
8
  export { type JournalEntry, type JournalStream, type KnownJournalStream, type ReadJournalRequest, type ReadJournalResponse, journalEntrySchema, journalStreamSchema, knownJournalStreams, maxJournalStreamNameLength, readJournalRequestSchema, readJournalResponseSchema, } from "./runner/journal.js";
8
9
  export { type RunFiles, maxRunFilesByteLength, maxRunnerRequestEncodedByteLength, runFilesByteLength, runFilesSchema, } from "./runner/payloadSize.js";
9
10
  export { maxActionErrorMessageLength } from "./runner/performAction.js";
11
+ export { type ActionStepResult, type FailedActionStep, type PerformedActionStep, outOfTimeFailureReason, unconfirmedFailureReason, } from "./runner/performActions.js";
12
+ export { type RunnerRecording, type RunnerRecordingCommand, type RunnerRecordingResult, type RunnerRecordingState, recordingIdSchema, runnerRecordingCommandSchema, runnerRecordingResultSchema, runnerRecordingSchema, runnerRecordingStateSchema, } from "./runner/recording.js";
10
13
  export { type RunSelection, runSelectionSchema, } from "./runner/runSelection.js";
11
14
  //# sourceMappingURL=runnerReexports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runnerReexports.d.ts","sourceRoot":"","sources":["../../src/v1/runnerReexports.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,aAAa,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAK/D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,sBAAsB,EAC3B,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,sBAAsB,EAC3B,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,oBAAoB,EACzB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,QAAQ,EACb,qBAAqB,EACrB,iCAAiC,EACjC,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EACL,KAAK,YAAY,EACjB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"runnerReexports.d.ts","sourceRoot":"","sources":["../../src/v1/runnerReexports.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EACnB,oBAAoB,EACpB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,aAAa,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAK/D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,sBAAsB,EAC3B,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,sBAAsB,EAC3B,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,oBAAoB,EACzB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,QAAQ,EACb,qBAAqB,EACrB,iCAAiC,EACjC,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,4BAA4B,EAC5B,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,KAAK,YAAY,EACjB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  // The `runner` resource's shared types and schemas, re-exported here rather
2
2
  // than restated by every server and client that needs them. Split out of
3
3
  // `index.ts` to keep that file under the line limit.
4
+ export { maxActionsPerRequest, screenshotModes, } from "./runner/actionSequence.js";
4
5
  export { browserActionSchema, maxTypedTextLength, } from "./runner/browserAction.js";
5
6
  // Carries the reservation of QA Wolf's own variable names, which the server
6
7
  // validates with rather than restating — a second copy of that rule is how the
@@ -19,5 +20,7 @@ export { inspectMobileRequestSchema, } from "./runner/inspectMobile.js";
19
20
  export { journalEntrySchema, journalStreamSchema, knownJournalStreams, maxJournalStreamNameLength, readJournalRequestSchema, readJournalResponseSchema, } from "./runner/journal.js";
20
21
  export { maxRunFilesByteLength, maxRunnerRequestEncodedByteLength, runFilesByteLength, runFilesSchema, } from "./runner/payloadSize.js";
21
22
  export { maxActionErrorMessageLength } from "./runner/performAction.js";
23
+ export { outOfTimeFailureReason, unconfirmedFailureReason, } from "./runner/performActions.js";
24
+ export { recordingIdSchema, runnerRecordingCommandSchema, runnerRecordingResultSchema, runnerRecordingSchema, runnerRecordingStateSchema, } from "./runner/recording.js";
22
25
  export { runSelectionSchema, } from "./runner/runSelection.js";
23
26
  //# sourceMappingURL=runnerReexports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runnerReexports.js","sourceRoot":"","sources":["../../src/v1/runnerReexports.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,qDAAqD;AACrD,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,4EAA4E;AAC5E,+EAA+E;AAC/E,6DAA6D;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,gFAAgF;AAChF,yEAAyE;AACzE,OAAO,EAML,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,qBAAqB,EACrB,iCAAiC,EACjC,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,kBAAkB,GACnB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"runnerReexports.js","sourceRoot":"","sources":["../../src/v1/runnerReexports.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,qDAAqD;AACrD,OAAO,EAEL,oBAAoB,EACpB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,4EAA4E;AAC5E,+EAA+E;AAC/E,6DAA6D;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,gFAAgF;AAChF,yEAAyE;AACzE,OAAO,EAML,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,qBAAqB,EACrB,iCAAiC,EACjC,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAIL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKL,iBAAiB,EACjB,4BAA4B,EAC5B,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,kBAAkB,GACnB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { z } from "zod";
2
+ export declare const makeListSkillsContract: () => {
3
+ readonly annotations: {
4
+ readonly destructiveHint: false;
5
+ readonly openWorldHint: false;
6
+ readonly readOnlyHint: true;
7
+ };
8
+ readonly description: "List the QA Wolf skills, each with its name and the description that says when to use it. A skill is the instructions a coding agent follows for one kind of QA Wolf work, such as onboarding an application, creating a flow, repairing a failing flow, or setting up triggers. Call this before any QA Wolf work, pick the skill whose description matches the request, and read it with skill.get.";
9
+ readonly input: z.ZodObject<{}, z.core.$strip>;
10
+ readonly kind: "read";
11
+ readonly name: "skill.list";
12
+ readonly output: z.ZodObject<{
13
+ skills: z.ZodArray<z.ZodObject<{
14
+ description: z.ZodString;
15
+ name: z.ZodString;
16
+ }, z.core.$strip>>;
17
+ }, z.core.$strip>;
18
+ };
19
+ export declare const makeGetSkillContract: () => {
20
+ readonly annotations: {
21
+ readonly destructiveHint: false;
22
+ readonly openWorldHint: false;
23
+ readonly readOnlyHint: true;
24
+ };
25
+ readonly description: "Read a QA Wolf skill: the instructions a coding agent follows for one kind of QA Wolf work. The reply carries the skill's SKILL.md and every file under its references directory, so nothing else has to be fetched for it. Read the skill before starting the work it covers and follow it. A link in the reply of the form ../<skill>/SKILL.md names another skill, which this call reads by that name.";
26
+ readonly input: z.ZodObject<{
27
+ name: z.ZodString;
28
+ }, z.core.$strip>;
29
+ readonly kind: "read";
30
+ readonly name: "skill.get";
31
+ readonly output: z.ZodObject<{
32
+ description: z.ZodString;
33
+ name: z.ZodString;
34
+ instructions: z.ZodString;
35
+ references: z.ZodArray<z.ZodObject<{
36
+ path: z.ZodString;
37
+ text: z.ZodString;
38
+ }, z.core.$strip>>;
39
+ }, z.core.$strip>;
40
+ };
41
+ export declare const makeSkillContracts: () => {
42
+ get: {
43
+ readonly annotations: {
44
+ readonly destructiveHint: false;
45
+ readonly openWorldHint: false;
46
+ readonly readOnlyHint: true;
47
+ };
48
+ readonly description: "Read a QA Wolf skill: the instructions a coding agent follows for one kind of QA Wolf work. The reply carries the skill's SKILL.md and every file under its references directory, so nothing else has to be fetched for it. Read the skill before starting the work it covers and follow it. A link in the reply of the form ../<skill>/SKILL.md names another skill, which this call reads by that name.";
49
+ readonly input: z.ZodObject<{
50
+ name: z.ZodString;
51
+ }, z.core.$strip>;
52
+ readonly kind: "read";
53
+ readonly name: "skill.get";
54
+ readonly output: z.ZodObject<{
55
+ description: z.ZodString;
56
+ name: z.ZodString;
57
+ instructions: z.ZodString;
58
+ references: z.ZodArray<z.ZodObject<{
59
+ path: z.ZodString;
60
+ text: z.ZodString;
61
+ }, z.core.$strip>>;
62
+ }, z.core.$strip>;
63
+ };
64
+ list: {
65
+ readonly annotations: {
66
+ readonly destructiveHint: false;
67
+ readonly openWorldHint: false;
68
+ readonly readOnlyHint: true;
69
+ };
70
+ readonly description: "List the QA Wolf skills, each with its name and the description that says when to use it. A skill is the instructions a coding agent follows for one kind of QA Wolf work, such as onboarding an application, creating a flow, repairing a failing flow, or setting up triggers. Call this before any QA Wolf work, pick the skill whose description matches the request, and read it with skill.get.";
71
+ readonly input: z.ZodObject<{}, z.core.$strip>;
72
+ readonly kind: "read";
73
+ readonly name: "skill.list";
74
+ readonly output: z.ZodObject<{
75
+ skills: z.ZodArray<z.ZodObject<{
76
+ description: z.ZodString;
77
+ name: z.ZodString;
78
+ }, z.core.$strip>>;
79
+ }, z.core.$strip>;
80
+ };
81
+ };
82
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/skill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;CAsBlC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;CAgChC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG7B,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { z } from "zod";
2
+ const skillName = z
3
+ .string()
4
+ .trim()
5
+ .min(1)
6
+ .max(255)
7
+ .describe("The skill's name as skill.list reports it, such as qawolf-onboarding. The qawolf- prefix is optional, so onboarding names the same skill.");
8
+ const skillSummary = z.object({
9
+ description: z
10
+ .string()
11
+ .describe("When to use the skill, in the words the agent routes on."),
12
+ name: z.string().describe("The skill's name. Read it with skill.get."),
13
+ });
14
+ const readOnlyAnnotations = {
15
+ destructiveHint: false,
16
+ openWorldHint: false,
17
+ readOnlyHint: true,
18
+ };
19
+ export const makeListSkillsContract = () => {
20
+ const input = z.object({});
21
+ const output = z.object({
22
+ skills: z
23
+ .array(skillSummary)
24
+ .describe("Every skill the server serves, in catalog order."),
25
+ });
26
+ return {
27
+ annotations: readOnlyAnnotations,
28
+ description: "List the QA Wolf skills, each with its name and the description that says when to use it. A skill is the instructions a coding agent follows for one kind of QA Wolf work, such as onboarding an application, creating a flow, repairing a failing flow, or setting up triggers. Call this before any QA Wolf work, pick the skill whose description matches the request, and read it with skill.get.",
29
+ input,
30
+ kind: "read",
31
+ name: "skill.list",
32
+ output,
33
+ };
34
+ };
35
+ export const makeGetSkillContract = () => {
36
+ const input = z.object({ name: skillName });
37
+ const output = skillSummary.extend({
38
+ instructions: z
39
+ .string()
40
+ .describe("The skill's SKILL.md, frontmatter included."),
41
+ references: z
42
+ .array(z.object({
43
+ path: z
44
+ .string()
45
+ .describe("The file's path relative to the skill directory."),
46
+ text: z.string().describe("The file's content."),
47
+ }))
48
+ .describe("The files the skill links to under its directory."),
49
+ });
50
+ return {
51
+ annotations: readOnlyAnnotations,
52
+ description: "Read a QA Wolf skill: the instructions a coding agent follows for one kind of QA Wolf work. The reply carries the skill's SKILL.md and every file under its references directory, so nothing else has to be fetched for it. Read the skill before starting the work it covers and follow it. A link in the reply of the form ../<skill>/SKILL.md names another skill, which this call reads by that name.",
53
+ input,
54
+ kind: "read",
55
+ name: "skill.get",
56
+ output,
57
+ };
58
+ };
59
+ export const makeSkillContracts = () => ({
60
+ get: makeGetSkillContract(),
61
+ list: makeListSkillsContract(),
62
+ });
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/skill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,QAAQ,CACP,2IAA2I,CAC5I,CAAC;AAEJ,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,0DAA0D,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CACvE,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG;IAC1B,eAAe,EAAE,KAAK;IACtB,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,IAAI;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,YAAY,CAAC;aACnB,QAAQ,CAAC,kDAAkD,CAAC;KAChE,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,WAAW,EACT,uYAAuY;QACzY,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,YAAY;QAClB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACjC,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,CAAC,6CAA6C,CAAC;QAC1D,UAAU,EAAE,CAAC;aACV,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,kDAAkD,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SACjD,CAAC,CACH;aACA,QAAQ,CAAC,mDAAmD,CAAC;KACjE,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,WAAW,EACT,2YAA2Y;QAC7Y,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAAC;IACvC,GAAG,EAAE,oBAAoB,EAAE;IAC3B,IAAI,EAAE,sBAAsB,EAAE;CAC/B,CAAC,CAAC"}