@scenetest/scenes 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/__tests__/markdown-scene.test.js +134 -2
  2. package/dist/__tests__/markdown-scene.test.js.map +1 -1
  3. package/dist/__tests__/selectors.test.d.ts +2 -0
  4. package/dist/__tests__/selectors.test.d.ts.map +1 -0
  5. package/dist/__tests__/selectors.test.js +165 -0
  6. package/dist/__tests__/selectors.test.js.map +1 -0
  7. package/dist/__tests__/swarm.test.js +1 -0
  8. package/dist/__tests__/swarm.test.js.map +1 -1
  9. package/dist/__tests__/team-manager.test.d.ts +2 -0
  10. package/dist/__tests__/team-manager.test.d.ts.map +1 -0
  11. package/dist/__tests__/team-manager.test.js +180 -0
  12. package/dist/__tests__/team-manager.test.js.map +1 -0
  13. package/dist/__tests__/warmup.test.d.ts +2 -0
  14. package/dist/__tests__/warmup.test.d.ts.map +1 -0
  15. package/dist/__tests__/warmup.test.js +170 -0
  16. package/dist/__tests__/warmup.test.js.map +1 -0
  17. package/dist/cli.js +37 -1
  18. package/dist/cli.js.map +1 -1
  19. package/dist/config.d.ts +21 -2
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/config.js +54 -4
  22. package/dist/config.js.map +1 -1
  23. package/dist/index.d.ts +3 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/markdown-scene.d.ts +2 -0
  28. package/dist/markdown-scene.d.ts.map +1 -1
  29. package/dist/markdown-scene.js +24 -7
  30. package/dist/markdown-scene.js.map +1 -1
  31. package/dist/prompt-generator.d.ts +59 -0
  32. package/dist/prompt-generator.d.ts.map +1 -0
  33. package/dist/prompt-generator.js +517 -0
  34. package/dist/prompt-generator.js.map +1 -0
  35. package/dist/reactive.d.ts +2 -1
  36. package/dist/reactive.d.ts.map +1 -1
  37. package/dist/reactive.js +22 -53
  38. package/dist/reactive.js.map +1 -1
  39. package/dist/runner.d.ts +8 -2
  40. package/dist/runner.d.ts.map +1 -1
  41. package/dist/runner.js +70 -3
  42. package/dist/runner.js.map +1 -1
  43. package/dist/scene.d.ts +8 -1
  44. package/dist/scene.d.ts.map +1 -1
  45. package/dist/scene.js +6 -15
  46. package/dist/scene.js.map +1 -1
  47. package/dist/selectors.d.ts.map +1 -1
  48. package/dist/selectors.js +8 -39
  49. package/dist/selectors.js.map +1 -1
  50. package/dist/swarm.d.ts +1 -1
  51. package/dist/swarm.d.ts.map +1 -1
  52. package/dist/swarm.js +10 -1
  53. package/dist/swarm.js.map +1 -1
  54. package/dist/team-manager.d.ts +28 -5
  55. package/dist/team-manager.d.ts.map +1 -1
  56. package/dist/team-manager.js +94 -15
  57. package/dist/team-manager.js.map +1 -1
  58. package/dist/types.d.ts +92 -0
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/warmup.d.ts +61 -0
  61. package/dist/warmup.d.ts.map +1 -0
  62. package/dist/warmup.js +186 -0
  63. package/dist/warmup.js.map +1 -0
  64. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  import type { Browser, Page } from 'playwright';
2
- import type { TeamConfig, ActorConfig, AssertionResult, TimelineEntry, ScriptWarning } from './types.js';
2
+ import type { TeamConfig, ActorConfig, AssertionResult, TimelineEntry, ScriptWarning, ResolvedTeam, TeamMeta } from './types.js';
3
3
  import type { DeviceProfile } from './devices.js';
4
+ import { WarmupCache } from './warmup.js';
4
5
  import { DeviceRotation } from './devices.js';
5
6
  import { SequentialActorHandleImpl } from './actor.js';
6
7
  import { MessageBus } from './message-bus.js';
@@ -15,7 +16,8 @@ export declare class TeamManager {
15
16
  private inUse;
16
17
  private browser;
17
18
  private deviceRotation;
18
- constructor(teams: TeamConfig[]);
19
+ private warmupCache;
20
+ constructor(teams: ResolvedTeam[]);
19
21
  /**
20
22
  * Set the browser instance to use for creating contexts
21
23
  */
@@ -28,6 +30,10 @@ export declare class TeamManager {
28
30
  * Get the current device rotation instance, if any.
29
31
  */
30
32
  getDeviceRotation(): DeviceRotation | null;
33
+ /**
34
+ * Get all resolved teams.
35
+ */
36
+ getTeams(): ResolvedTeam[];
31
37
  /**
32
38
  * Get the number of available teams
33
39
  */
@@ -45,14 +51,23 @@ export declare class TeamManager {
45
51
  * Wait for a team to become available.
46
52
  */
47
53
  acquireWait(timeout?: number): Promise<number>;
54
+ /**
55
+ * Wait for a team that has all the required roles.
56
+ * Skips teams that are missing any of the specified roles.
57
+ */
58
+ acquireWaitForRoles(roles: string[], timeout?: number): Promise<number>;
48
59
  /**
49
60
  * Release a team back to the pool
50
61
  */
51
62
  release(teamIndex: number): void;
52
63
  /**
53
- * Get the team config for a given index
64
+ * Get the resolved team for a given index
54
65
  */
55
- getTeam(teamIndex: number): TeamConfig;
66
+ getTeam(teamIndex: number): ResolvedTeam;
67
+ /**
68
+ * Get team metadata for a given index
69
+ */
70
+ getTeamMeta(teamIndex: number): TeamMeta;
56
71
  /**
57
72
  * Get actor config for a role in a team
58
73
  */
@@ -74,6 +89,7 @@ export declare class TeamSession {
74
89
  readonly warnAfter: number;
75
90
  private baseUrl?;
76
91
  private deviceRotation?;
92
+ private warmupCache;
77
93
  private contexts;
78
94
  private actors;
79
95
  private actorDevices;
@@ -81,7 +97,14 @@ export declare class TeamSession {
81
97
  readonly timeline: TimelineEntry[];
82
98
  readonly assertions: AssertionResult[];
83
99
  readonly warnings: ScriptWarning[];
84
- constructor(browser: Browser, team: TeamConfig, teamIndex: number, actionTimeout: number, warnAfter: number, baseUrl?: string | undefined, deviceRotation?: (DeviceRotation | null) | undefined);
100
+ /** Team metadata (name, tags) */
101
+ readonly meta: TeamMeta;
102
+ constructor(browser: Browser, team: TeamConfig, meta: TeamMeta, teamIndex: number, actionTimeout: number, warnAfter: number, baseUrl?: string | undefined, deviceRotation?: (DeviceRotation | null) | undefined, warmupCache?: WarmupCache);
103
+ /**
104
+ * Build context options for a role, merging device emulation, baseURL,
105
+ * warmup storageState (lazy — runs on first use), and actor localStorage.
106
+ */
107
+ private buildContextOptions;
85
108
  /**
86
109
  * Get the actor config for a role (sync — no browser setup).
87
110
  * Used by flow() to create reactive handles before browser init.
@@ -1 +1 @@
1
- {"version":3,"file":"team-manager.d.ts","sourceRoot":"","sources":["../src/team-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-manager.d.ts","sourceRoot":"","sources":["../src/team-manager.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { WarmupCache } from './warmup.js';
1
2
  import { SequentialActorHandleImpl } from './actor.js';
2
3
  import { MessageBus } from './message-bus.js';
3
4
  /**
@@ -11,6 +12,7 @@ export class TeamManager {
11
12
  inUse = new Set();
12
13
  browser = null;
13
14
  deviceRotation = null;
15
+ warmupCache = new WarmupCache();
14
16
  constructor(teams) {
15
17
  this.teams = teams;
16
18
  }
@@ -32,6 +34,12 @@ export class TeamManager {
32
34
  getDeviceRotation() {
33
35
  return this.deviceRotation;
34
36
  }
37
+ /**
38
+ * Get all resolved teams.
39
+ */
40
+ getTeams() {
41
+ return this.teams;
42
+ }
35
43
  /**
36
44
  * Get the number of available teams
37
45
  */
@@ -74,6 +82,28 @@ export class TeamManager {
74
82
  await new Promise((resolve) => setTimeout(resolve, 100));
75
83
  }
76
84
  }
85
+ /**
86
+ * Wait for a team that has all the required roles.
87
+ * Skips teams that are missing any of the specified roles.
88
+ */
89
+ async acquireWaitForRoles(roles, timeout = 60000) {
90
+ const start = Date.now();
91
+ while (true) {
92
+ for (let i = 0; i < this.teams.length; i++) {
93
+ if (this.inUse.has(i))
94
+ continue;
95
+ const teamRoles = Object.keys(this.teams[i].actors);
96
+ if (roles.every(r => teamRoles.includes(r))) {
97
+ this.inUse.add(i);
98
+ return i;
99
+ }
100
+ }
101
+ if (Date.now() - start > timeout) {
102
+ throw new Error(`Timeout: no available team has roles [${roles.join(', ')}]`);
103
+ }
104
+ await new Promise(r => setTimeout(r, 100));
105
+ }
106
+ }
77
107
  /**
78
108
  * Release a team back to the pool
79
109
  */
@@ -81,7 +111,7 @@ export class TeamManager {
81
111
  this.inUse.delete(teamIndex);
82
112
  }
83
113
  /**
84
- * Get the team config for a given index
114
+ * Get the resolved team for a given index
85
115
  */
86
116
  getTeam(teamIndex) {
87
117
  if (teamIndex < 0 || teamIndex >= this.teams.length) {
@@ -89,14 +119,20 @@ export class TeamManager {
89
119
  }
90
120
  return this.teams[teamIndex];
91
121
  }
122
+ /**
123
+ * Get team metadata for a given index
124
+ */
125
+ getTeamMeta(teamIndex) {
126
+ return this.getTeam(teamIndex).meta;
127
+ }
92
128
  /**
93
129
  * Get actor config for a role in a team
94
130
  */
95
131
  getActorConfig(teamIndex, role) {
96
132
  const team = this.getTeam(teamIndex);
97
- const actor = team[role];
133
+ const actor = team.actors[role];
98
134
  if (!actor) {
99
- throw new Error(`Role "${role}" not found in team ${teamIndex}. Available roles: ${Object.keys(team).join(', ')}`);
135
+ throw new Error(`Role "${role}" not found in team ${teamIndex}. Available roles: ${Object.keys(team.actors).join(', ')}`);
100
136
  }
101
137
  return actor;
102
138
  }
@@ -107,7 +143,8 @@ export class TeamManager {
107
143
  if (!this.browser) {
108
144
  throw new Error('Browser not set. Call setBrowser() first.');
109
145
  }
110
- return new TeamSession(this.browser, this.getTeam(teamIndex), teamIndex, actionTimeout, warnAfter, baseUrl, this.deviceRotation);
146
+ const resolved = this.getTeam(teamIndex);
147
+ return new TeamSession(this.browser, resolved.actors, resolved.meta, teamIndex, actionTimeout, warnAfter, baseUrl, this.deviceRotation, this.warmupCache);
111
148
  }
112
149
  }
113
150
  /**
@@ -122,6 +159,7 @@ export class TeamSession {
122
159
  warnAfter;
123
160
  baseUrl;
124
161
  deviceRotation;
162
+ warmupCache;
125
163
  contexts = new Map();
126
164
  actors = new Map();
127
165
  actorDevices = new Map();
@@ -129,7 +167,9 @@ export class TeamSession {
129
167
  timeline = [];
130
168
  assertions = [];
131
169
  warnings = [];
132
- constructor(browser, team, teamIndex, actionTimeout, warnAfter, baseUrl, deviceRotation) {
170
+ /** Team metadata (name, tags) */
171
+ meta;
172
+ constructor(browser, team, meta, teamIndex, actionTimeout, warnAfter, baseUrl, deviceRotation, warmupCache = new WarmupCache()) {
133
173
  this.browser = browser;
134
174
  this.team = team;
135
175
  this.teamIndex = teamIndex;
@@ -137,6 +177,51 @@ export class TeamSession {
137
177
  this.warnAfter = warnAfter;
138
178
  this.baseUrl = baseUrl;
139
179
  this.deviceRotation = deviceRotation;
180
+ this.warmupCache = warmupCache;
181
+ this.meta = meta;
182
+ }
183
+ /**
184
+ * Build context options for a role, merging device emulation, baseURL,
185
+ * warmup storageState (lazy — runs on first use), and actor localStorage.
186
+ */
187
+ async buildContextOptions(role, device) {
188
+ const config = this.team[role];
189
+ // Lazy warmup: runs on first use, cached for subsequent scenes
190
+ const warmupState = config
191
+ ? await this.warmupCache.ensure(this.browser, config, this.baseUrl ?? '', this.actionTimeout)
192
+ : undefined;
193
+ const hasLocalStorage = config?.localStorage && Object.keys(config.localStorage).length > 0;
194
+ let storageState;
195
+ if (warmupState || hasLocalStorage) {
196
+ // Clone warmup state or start fresh
197
+ storageState = warmupState
198
+ ? JSON.parse(JSON.stringify(warmupState))
199
+ : { cookies: [], origins: [] };
200
+ // Merge actor localStorage if present
201
+ if (hasLocalStorage && this.baseUrl) {
202
+ const origin = new URL(this.baseUrl).origin;
203
+ let originEntry = storageState.origins.find(o => o.origin === origin);
204
+ if (!originEntry) {
205
+ originEntry = { origin, localStorage: [] };
206
+ storageState.origins.push(originEntry);
207
+ }
208
+ for (const [name, value] of Object.entries(config.localStorage)) {
209
+ // Actor config overrides warmup entries with same name
210
+ const existing = originEntry.localStorage.findIndex(e => e.name === name);
211
+ if (existing >= 0) {
212
+ originEntry.localStorage[existing].value = value;
213
+ }
214
+ else {
215
+ originEntry.localStorage.push({ name, value });
216
+ }
217
+ }
218
+ }
219
+ }
220
+ return {
221
+ ...(this.baseUrl ? { baseURL: this.baseUrl } : {}),
222
+ ...(device ? device.contextOptions : {}),
223
+ ...(storageState ? { storageState } : {}),
224
+ };
140
225
  }
141
226
  /**
142
227
  * Get the actor config for a role (sync — no browser setup).
@@ -163,11 +248,8 @@ export class TeamSession {
163
248
  if (device) {
164
249
  this.actorDevices.set(role, device);
165
250
  }
166
- // Create context with device emulation if assigned
167
- const contextOptions = {
168
- ...(this.baseUrl ? { baseURL: this.baseUrl } : {}),
169
- ...(device ? device.contextOptions : {}),
170
- };
251
+ // Create context with storageState + device emulation + baseURL
252
+ const contextOptions = await this.buildContextOptions(role, device);
171
253
  const context = await this.browser.newContext(contextOptions);
172
254
  const page = await context.newPage();
173
255
  // Track device name for assertions
@@ -202,11 +284,8 @@ export class TeamSession {
202
284
  if (device) {
203
285
  this.actorDevices.set(role, device);
204
286
  }
205
- // Create new browser context for this actor, with device emulation if assigned
206
- const contextOptions = {
207
- ...(this.baseUrl ? { baseURL: this.baseUrl } : {}),
208
- ...(device ? device.contextOptions : {}),
209
- };
287
+ // Create new browser context with storageState + device emulation + baseURL
288
+ const contextOptions = await this.buildContextOptions(role, device);
210
289
  const context = await this.browser.newContext(contextOptions);
211
290
  const page = await context.newPage();
212
291
  // Track device name for assertions
@@ -1 +1 @@
1
- {"version":3,"file":"team-manager.js","sourceRoot":"","sources":["../src/team-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-manager.js","sourceRoot":"","sources":["../src/team-manager.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -23,6 +23,10 @@ export interface ActorConfig {
23
23
  username?: string;
24
24
  email?: string;
25
25
  password?: string;
26
+ /** localStorage entries injected into actor's browser context before each scene */
27
+ localStorage?: Record<string, string>;
28
+ /** Warmup: macro name (string) or function. Runs once at test-run start, captures storageState. */
29
+ warmup?: string | ((page: Page, actor: ActorConfig) => Promise<void>);
26
30
  [key: string]: unknown;
27
31
  }
28
32
  /**
@@ -30,6 +34,77 @@ export interface ActorConfig {
30
34
  * Each team is a self-contained world where all relationships hold.
31
35
  */
32
36
  export type TeamConfig = Record<string, ActorConfig>;
37
+ /**
38
+ * Team-level metadata — identity and tags.
39
+ *
40
+ * Metadata describes the team for reporting and `[team.field]` interpolation in DSL text.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * {
45
+ * name: 'French Content',
46
+ * tags: { locale: 'fr', region: 'europe' },
47
+ * }
48
+ * ```
49
+ */
50
+ export interface TeamMeta {
51
+ /** Human-readable team name (used in reports and CLI output) */
52
+ name?: string;
53
+ /**
54
+ * Arbitrary key-value tags for filtering and `[team.field]` interpolation.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * tags: { locale: 'fr', region: 'europe', tier: 'premium' }
59
+ * // In DSL: openTo /categories/[team.locale]
60
+ * ```
61
+ */
62
+ tags?: Record<string, string>;
63
+ }
64
+ /**
65
+ * Full team definition — actors plus optional metadata.
66
+ *
67
+ * This is the recommended export format for actor files.
68
+ * Plain `TeamConfig` (Record<string, ActorConfig>) is still supported
69
+ * for backwards compatibility.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * // scenetest/actors/french.ts
74
+ * import { defineTeam } from '@scenetest/scenes'
75
+ *
76
+ * export default defineTeam({
77
+ * name: 'French Content',
78
+ * tags: { locale: 'fr', region: 'europe' },
79
+ * actors: {
80
+ * user: { key: 'fr-user-1', username: 'pierre', email: 'pierre@test.com' },
81
+ * admin: { key: 'fr-admin-1', username: 'marie', email: 'marie@admin.com' },
82
+ * },
83
+ * })
84
+ * ```
85
+ */
86
+ export interface TeamDef {
87
+ /** Actor credentials by role */
88
+ actors: TeamConfig;
89
+ /** Human-readable team name */
90
+ name?: string;
91
+ /**
92
+ * Arbitrary key-value tags for filtering and `[team.field]` interpolation.
93
+ */
94
+ tags?: Record<string, string>;
95
+ }
96
+ /**
97
+ * Resolved team — the internal representation after loading.
98
+ *
99
+ * Every team gets a `ResolvedTeam` with actors and metadata split apart,
100
+ * regardless of whether it was defined as a plain `TeamConfig` or a `TeamDef`.
101
+ */
102
+ export interface ResolvedTeam {
103
+ /** Actor credentials by role */
104
+ actors: TeamConfig;
105
+ /** Team metadata (empty object if not provided) */
106
+ meta: TeamMeta;
107
+ }
33
108
  /**
34
109
  * Scenetest CLI configuration.
35
110
  *
@@ -158,6 +233,8 @@ export interface SceneReport {
158
233
  file: string;
159
234
  status: 'completed' | 'failed' | 'timeout';
160
235
  teamIndex: number;
236
+ /** Team metadata (name, tags) — empty object when not provided */
237
+ team: TeamMeta;
161
238
  actors: Record<string, {
162
239
  key: string;
163
240
  username?: string;
@@ -314,6 +391,8 @@ export interface SceneContext {
314
391
  actor: (role: string) => Promise<SequentialActorHandle>;
315
392
  /** The team index assigned to this scene */
316
393
  teamIndex: number;
394
+ /** Team metadata (name, tags) */
395
+ team: TeamMeta;
317
396
  }
318
397
  /**
319
398
  * Sequential actor handle with chainable DSL (classic driver model).
@@ -501,6 +580,13 @@ export interface ActionChain extends PromiseLike<void> {
501
580
  * Scene definition function
502
581
  */
503
582
  export type SceneFn = (context: SceneContext) => Promise<void>;
583
+ /**
584
+ * Options for scene/flow registration.
585
+ */
586
+ export interface SceneOptions {
587
+ /** Roles required by this scene. Used for team matching. */
588
+ roles?: string[];
589
+ }
504
590
  /**
505
591
  * Registered scene
506
592
  */
@@ -508,6 +594,10 @@ export interface RegisteredScene {
508
594
  name: string;
509
595
  fn: SceneFn;
510
596
  file: string;
597
+ /** Pre-cleanup expression from `cleanup:` directive in .spec.md files */
598
+ cleanup?: string;
599
+ /** Roles required by this scene — used for team matching */
600
+ roles?: string[];
511
601
  }
512
602
  /**
513
603
  * Minimal interface that both `SequentialActorHandle` and `ConcurrentActorHandle` satisfy.
@@ -619,6 +709,8 @@ export interface FlowContext {
619
709
  actor: (role: string) => ConcurrentActorHandle;
620
710
  /** The team index assigned to this flow */
621
711
  teamIndex: number;
712
+ /** Team metadata (name, tags) */
713
+ team: TeamMeta;
622
714
  }
623
715
  /**
624
716
  * Flow definition function.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Actor warmup — run login (or other setup) once per actor, on first use,
3
+ * capture the resulting storageState, and reuse it for subsequent scenes.
4
+ *
5
+ * Warmup is lazy: nothing runs at startup. The first time a scene creates
6
+ * a context for an actor with `warmup`, the cache runs the warmup and
7
+ * stores the result. Same actor key in a later scene gets the cached state.
8
+ */
9
+ import type { Browser, Page } from 'playwright';
10
+ import type { ActorConfig } from './types.js';
11
+ export interface StorageState {
12
+ cookies: Array<{
13
+ name: string;
14
+ value: string;
15
+ domain: string;
16
+ path: string;
17
+ expires: number;
18
+ httpOnly: boolean;
19
+ secure: boolean;
20
+ sameSite: 'Strict' | 'Lax' | 'None';
21
+ }>;
22
+ origins: Array<{
23
+ origin: string;
24
+ localStorage: Array<{
25
+ name: string;
26
+ value: string;
27
+ }>;
28
+ }>;
29
+ }
30
+ /**
31
+ * Lazy warmup cache. Runs each actor's warmup at most once (keyed by
32
+ * actor `key`), on the first scene that needs it.
33
+ *
34
+ * Concurrent requests for the same key share the same in-flight promise,
35
+ * so parallel scenes never double-warmup.
36
+ */
37
+ export declare class WarmupCache {
38
+ private cache;
39
+ /**
40
+ * Get cached warmup state for an actor, running warmup on first request.
41
+ * Returns `undefined` if the actor has no warmup configured.
42
+ */
43
+ ensure(browser: Browser, config: ActorConfig, baseUrl: string, actionTimeout: number): Promise<StorageState | undefined>;
44
+ /** Number of cached warmup states (for testing). */
45
+ get size(): number;
46
+ }
47
+ /**
48
+ * Execute a sequence of DSL action lines on a bare Playwright page.
49
+ *
50
+ * Supports the subset of actions needed for login flows:
51
+ * openTo, see, seeText, click, typeInto, wait.
52
+ *
53
+ * Interpolates `[self.field]` for actor credentials.
54
+ */
55
+ export declare function executeMacroOnPage(page: Page, actions: string[], config: ActorConfig, actionTimeout: number): Promise<void>;
56
+ /**
57
+ * Run warmup for a single actor: create temp context, execute warmup,
58
+ * capture storageState, close context.
59
+ */
60
+ export declare function runActorWarmup(browser: Browser, config: ActorConfig, baseUrl: string, actionTimeout: number): Promise<StorageState>;
61
+ //# sourceMappingURL=warmup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warmup.d.ts","sourceRoot":"","sources":["../src/warmup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQ7C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,OAAO,CAAA;QACjB,MAAM,EAAE,OAAO,CAAA;QACf,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;KACpC,CAAC,CAAA;IACF,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAA;QACd,YAAY,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KACrD,CAAC,CAAA;CACH;AAMD;;;;;;GAMG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAA2C;IAExD;;;OAGG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAwBpC,oDAAoD;IACpD,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAsBD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAgDf;AAqCD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,YAAY,CAAC,CA+BvB"}