@showrun/core 0.1.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 (74) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/dsl-validation.test.d.ts +2 -0
  3. package/dist/__tests__/dsl-validation.test.d.ts.map +1 -0
  4. package/dist/__tests__/dsl-validation.test.js +203 -0
  5. package/dist/__tests__/pack-versioning.test.d.ts +2 -0
  6. package/dist/__tests__/pack-versioning.test.d.ts.map +1 -0
  7. package/dist/__tests__/pack-versioning.test.js +165 -0
  8. package/dist/__tests__/validator.test.d.ts +2 -0
  9. package/dist/__tests__/validator.test.d.ts.map +1 -0
  10. package/dist/__tests__/validator.test.js +149 -0
  11. package/dist/authResilience.d.ts +146 -0
  12. package/dist/authResilience.d.ts.map +1 -0
  13. package/dist/authResilience.js +378 -0
  14. package/dist/browserLauncher.d.ts +74 -0
  15. package/dist/browserLauncher.d.ts.map +1 -0
  16. package/dist/browserLauncher.js +159 -0
  17. package/dist/browserPersistence.d.ts +49 -0
  18. package/dist/browserPersistence.d.ts.map +1 -0
  19. package/dist/browserPersistence.js +143 -0
  20. package/dist/context.d.ts +10 -0
  21. package/dist/context.d.ts.map +1 -0
  22. package/dist/context.js +30 -0
  23. package/dist/dsl/builders.d.ts +340 -0
  24. package/dist/dsl/builders.d.ts.map +1 -0
  25. package/dist/dsl/builders.js +416 -0
  26. package/dist/dsl/conditions.d.ts +33 -0
  27. package/dist/dsl/conditions.d.ts.map +1 -0
  28. package/dist/dsl/conditions.js +169 -0
  29. package/dist/dsl/interpreter.d.ts +24 -0
  30. package/dist/dsl/interpreter.d.ts.map +1 -0
  31. package/dist/dsl/interpreter.js +491 -0
  32. package/dist/dsl/stepHandlers.d.ts +32 -0
  33. package/dist/dsl/stepHandlers.d.ts.map +1 -0
  34. package/dist/dsl/stepHandlers.js +787 -0
  35. package/dist/dsl/target.d.ts +28 -0
  36. package/dist/dsl/target.d.ts.map +1 -0
  37. package/dist/dsl/target.js +110 -0
  38. package/dist/dsl/templating.d.ts +21 -0
  39. package/dist/dsl/templating.d.ts.map +1 -0
  40. package/dist/dsl/templating.js +73 -0
  41. package/dist/dsl/types.d.ts +695 -0
  42. package/dist/dsl/types.d.ts.map +1 -0
  43. package/dist/dsl/types.js +7 -0
  44. package/dist/dsl/validation.d.ts +15 -0
  45. package/dist/dsl/validation.d.ts.map +1 -0
  46. package/dist/dsl/validation.js +974 -0
  47. package/dist/index.d.ts +20 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +20 -0
  50. package/dist/jsonPackValidator.d.ts +11 -0
  51. package/dist/jsonPackValidator.d.ts.map +1 -0
  52. package/dist/jsonPackValidator.js +61 -0
  53. package/dist/loader.d.ts +35 -0
  54. package/dist/loader.d.ts.map +1 -0
  55. package/dist/loader.js +107 -0
  56. package/dist/networkCapture.d.ts +107 -0
  57. package/dist/networkCapture.d.ts.map +1 -0
  58. package/dist/networkCapture.js +390 -0
  59. package/dist/packUtils.d.ts +36 -0
  60. package/dist/packUtils.d.ts.map +1 -0
  61. package/dist/packUtils.js +97 -0
  62. package/dist/packVersioning.d.ts +25 -0
  63. package/dist/packVersioning.d.ts.map +1 -0
  64. package/dist/packVersioning.js +137 -0
  65. package/dist/runner.d.ts +62 -0
  66. package/dist/runner.d.ts.map +1 -0
  67. package/dist/runner.js +170 -0
  68. package/dist/types.d.ts +336 -0
  69. package/dist/types.d.ts.map +1 -0
  70. package/dist/types.js +1 -0
  71. package/dist/validator.d.ts +20 -0
  72. package/dist/validator.d.ts.map +1 -0
  73. package/dist/validator.js +68 -0
  74. package/package.json +49 -0
@@ -0,0 +1,340 @@
1
+ import type { NavigateStep, ExtractTitleStep, ExtractTextStep, ExtractAttributeStep, SleepStep, WaitForStep, ClickStep, FillStep, AssertStep, SetVarStep, SelectOptionStep, PressKeyStep, UploadFileStep, FrameStep, NewTabStep, SwitchTabStep, Target, TargetOrAnyOf, PlaywrightRole, SkipCondition } from './types.js';
2
+ /**
3
+ * Builder functions for creating DSL steps.
4
+ * These return plain objects that are JSON-serializable.
5
+ */
6
+ /**
7
+ * Helper builders for creating Target objects
8
+ */
9
+ export declare function targetCss(selector: string): Target;
10
+ export declare function targetText(text: string, exact?: boolean): Target;
11
+ export declare function targetRole(role: PlaywrightRole, name?: string, exact?: boolean): Target;
12
+ export declare function targetLabel(text: string, exact?: boolean): Target;
13
+ export declare function targetPlaceholder(text: string, exact?: boolean): Target;
14
+ export declare function targetAltText(text: string, exact?: boolean): Target;
15
+ export declare function targetTestId(id: string): Target;
16
+ export declare function targetAnyOf(...targets: Target[]): {
17
+ anyOf: Target[];
18
+ };
19
+ /**
20
+ * Helper builders for creating SkipCondition objects
21
+ */
22
+ export declare const conditions: {
23
+ /**
24
+ * Skip if URL includes the given string
25
+ */
26
+ urlIncludes(value: string): SkipCondition;
27
+ /**
28
+ * Skip if URL matches the given regex pattern
29
+ */
30
+ urlMatches(pattern: string): SkipCondition;
31
+ /**
32
+ * Skip if element is visible
33
+ */
34
+ elementVisible(target: TargetOrAnyOf): SkipCondition;
35
+ /**
36
+ * Skip if element exists in DOM
37
+ */
38
+ elementExists(target: TargetOrAnyOf): SkipCondition;
39
+ /**
40
+ * Skip if variable equals the given value
41
+ */
42
+ varEquals(name: string, value: unknown): SkipCondition;
43
+ /**
44
+ * Skip if variable is truthy
45
+ */
46
+ varTruthy(name: string): SkipCondition;
47
+ /**
48
+ * Skip if variable is falsy
49
+ */
50
+ varFalsy(name: string): SkipCondition;
51
+ /**
52
+ * Skip if ALL conditions are true (AND)
53
+ */
54
+ all(...conditions: SkipCondition[]): SkipCondition;
55
+ /**
56
+ * Skip if ANY condition is true (OR)
57
+ */
58
+ any(...conditions: SkipCondition[]): SkipCondition;
59
+ };
60
+ /**
61
+ * Creates a navigate step
62
+ */
63
+ export declare function navigate(id: string, params: {
64
+ url: string;
65
+ waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';
66
+ label?: string;
67
+ timeoutMs?: number;
68
+ optional?: boolean;
69
+ onError?: 'stop' | 'continue';
70
+ }): NavigateStep;
71
+ /**
72
+ * Creates an extract_title step
73
+ */
74
+ export declare function extractTitle(id: string, params: {
75
+ out: string;
76
+ label?: string;
77
+ timeoutMs?: number;
78
+ optional?: boolean;
79
+ onError?: 'stop' | 'continue';
80
+ }): ExtractTitleStep;
81
+ /**
82
+ * Creates an extract_text step
83
+ */
84
+ export declare function extractText(id: string, params: {
85
+ selector?: string;
86
+ target?: TargetOrAnyOf;
87
+ out: string;
88
+ first?: boolean;
89
+ trim?: boolean;
90
+ default?: string;
91
+ label?: string;
92
+ timeoutMs?: number;
93
+ optional?: boolean;
94
+ onError?: 'stop' | 'continue';
95
+ hint?: string;
96
+ scope?: Target;
97
+ near?: {
98
+ kind: 'text';
99
+ text: string;
100
+ exact?: boolean;
101
+ };
102
+ }): ExtractTextStep;
103
+ /**
104
+ * Creates a sleep step
105
+ * @deprecated Prefer wait_for for deterministic waiting
106
+ */
107
+ export declare function sleep(id: string, params: {
108
+ durationMs: number;
109
+ label?: string;
110
+ timeoutMs?: number;
111
+ optional?: boolean;
112
+ onError?: 'stop' | 'continue';
113
+ }): SleepStep;
114
+ /**
115
+ * Creates a wait_for step
116
+ */
117
+ export declare function waitFor(id: string, params: {
118
+ selector?: string;
119
+ target?: TargetOrAnyOf;
120
+ visible?: boolean;
121
+ url?: string | {
122
+ pattern: string;
123
+ exact?: boolean;
124
+ };
125
+ loadState?: 'load' | 'domcontentloaded' | 'networkidle';
126
+ timeoutMs?: number;
127
+ label?: string;
128
+ optional?: boolean;
129
+ onError?: 'stop' | 'continue';
130
+ hint?: string;
131
+ scope?: Target;
132
+ near?: {
133
+ kind: 'text';
134
+ text: string;
135
+ exact?: boolean;
136
+ };
137
+ }): WaitForStep;
138
+ /**
139
+ * Creates a click step
140
+ */
141
+ export declare function click(id: string, params: {
142
+ selector?: string;
143
+ target?: TargetOrAnyOf;
144
+ first?: boolean;
145
+ waitForVisible?: boolean;
146
+ label?: string;
147
+ timeoutMs?: number;
148
+ optional?: boolean;
149
+ onError?: 'stop' | 'continue';
150
+ hint?: string;
151
+ scope?: Target;
152
+ near?: {
153
+ kind: 'text';
154
+ text: string;
155
+ exact?: boolean;
156
+ };
157
+ }): ClickStep;
158
+ /**
159
+ * Creates a fill step
160
+ */
161
+ export declare function fill(id: string, params: {
162
+ selector?: string;
163
+ target?: TargetOrAnyOf;
164
+ value: string;
165
+ first?: boolean;
166
+ clear?: boolean;
167
+ label?: string;
168
+ timeoutMs?: number;
169
+ optional?: boolean;
170
+ onError?: 'stop' | 'continue';
171
+ hint?: string;
172
+ scope?: Target;
173
+ near?: {
174
+ kind: 'text';
175
+ text: string;
176
+ exact?: boolean;
177
+ };
178
+ }): FillStep;
179
+ /**
180
+ * Creates an extract_attribute step
181
+ */
182
+ export declare function extractAttribute(id: string, params: {
183
+ selector?: string;
184
+ target?: TargetOrAnyOf;
185
+ attribute: string;
186
+ out: string;
187
+ first?: boolean;
188
+ default?: string;
189
+ label?: string;
190
+ timeoutMs?: number;
191
+ optional?: boolean;
192
+ onError?: 'stop' | 'continue';
193
+ hint?: string;
194
+ scope?: Target;
195
+ near?: {
196
+ kind: 'text';
197
+ text: string;
198
+ exact?: boolean;
199
+ };
200
+ }): ExtractAttributeStep;
201
+ /**
202
+ * Creates an assert step
203
+ */
204
+ export declare function assert(id: string, params: {
205
+ selector?: string;
206
+ target?: TargetOrAnyOf;
207
+ visible?: boolean;
208
+ textIncludes?: string;
209
+ urlIncludes?: string;
210
+ message?: string;
211
+ label?: string;
212
+ timeoutMs?: number;
213
+ optional?: boolean;
214
+ onError?: 'stop' | 'continue';
215
+ hint?: string;
216
+ scope?: Target;
217
+ near?: {
218
+ kind: 'text';
219
+ text: string;
220
+ exact?: boolean;
221
+ };
222
+ }): AssertStep;
223
+ /**
224
+ * Creates a set_var step
225
+ */
226
+ export declare function setVar(id: string, params: {
227
+ name: string;
228
+ value: string | number | boolean;
229
+ label?: string;
230
+ timeoutMs?: number;
231
+ optional?: boolean;
232
+ onError?: 'stop' | 'continue';
233
+ }): SetVarStep;
234
+ /**
235
+ * Creates a select_option step
236
+ */
237
+ export declare function selectOption(id: string, params: {
238
+ selector?: string;
239
+ target?: TargetOrAnyOf;
240
+ value: string | {
241
+ label: string;
242
+ } | {
243
+ index: number;
244
+ } | Array<string | {
245
+ label: string;
246
+ } | {
247
+ index: number;
248
+ }>;
249
+ first?: boolean;
250
+ label?: string;
251
+ timeoutMs?: number;
252
+ optional?: boolean;
253
+ onError?: 'stop' | 'continue';
254
+ hint?: string;
255
+ scope?: Target;
256
+ near?: {
257
+ kind: 'text';
258
+ text: string;
259
+ exact?: boolean;
260
+ };
261
+ }): SelectOptionStep;
262
+ /**
263
+ * Creates a press_key step
264
+ */
265
+ export declare function pressKey(id: string, params: {
266
+ key: string;
267
+ selector?: string;
268
+ target?: TargetOrAnyOf;
269
+ times?: number;
270
+ delayMs?: number;
271
+ label?: string;
272
+ timeoutMs?: number;
273
+ optional?: boolean;
274
+ onError?: 'stop' | 'continue';
275
+ hint?: string;
276
+ scope?: Target;
277
+ near?: {
278
+ kind: 'text';
279
+ text: string;
280
+ exact?: boolean;
281
+ };
282
+ }): PressKeyStep;
283
+ /**
284
+ * Creates an upload_file step
285
+ */
286
+ export declare function uploadFile(id: string, params: {
287
+ selector?: string;
288
+ target?: TargetOrAnyOf;
289
+ files: string | string[];
290
+ first?: boolean;
291
+ label?: string;
292
+ timeoutMs?: number;
293
+ optional?: boolean;
294
+ onError?: 'stop' | 'continue';
295
+ hint?: string;
296
+ scope?: Target;
297
+ near?: {
298
+ kind: 'text';
299
+ text: string;
300
+ exact?: boolean;
301
+ };
302
+ }): UploadFileStep;
303
+ /**
304
+ * Creates a frame step
305
+ */
306
+ export declare function frame(id: string, params: {
307
+ frame: string | {
308
+ name: string;
309
+ } | {
310
+ url: string | RegExp;
311
+ };
312
+ action: 'enter' | 'exit';
313
+ label?: string;
314
+ timeoutMs?: number;
315
+ optional?: boolean;
316
+ onError?: 'stop' | 'continue';
317
+ }): FrameStep;
318
+ /**
319
+ * Creates a new_tab step
320
+ */
321
+ export declare function newTab(id: string, params: {
322
+ url?: string;
323
+ saveTabIndexAs?: string;
324
+ label?: string;
325
+ timeoutMs?: number;
326
+ optional?: boolean;
327
+ onError?: 'stop' | 'continue';
328
+ }): NewTabStep;
329
+ /**
330
+ * Creates a switch_tab step
331
+ */
332
+ export declare function switchTab(id: string, params: {
333
+ tab: number | 'last' | 'previous';
334
+ closeCurrentTab?: boolean;
335
+ label?: string;
336
+ timeoutMs?: number;
337
+ optional?: boolean;
338
+ onError?: 'stop' | 'continue';
339
+ }): SwitchTabStep;
340
+ //# sourceMappingURL=builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/dsl/builders.ts"],"names":[],"mappings":"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"}