@haibun/web-playwright 3.1.1 → 3.3.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 (108) hide show
  1. package/build/BrowserFactory.d.ts +11 -11
  2. package/build/BrowserFactory.d.ts.map +1 -1
  3. package/build/BrowserFactory.js +40 -46
  4. package/build/BrowserFactory.js.map +1 -1
  5. package/build/PlaywrightEvents.d.ts +2 -2
  6. package/build/PlaywrightEvents.d.ts.map +1 -1
  7. package/build/PlaywrightEvents.js +41 -23
  8. package/build/PlaywrightEvents.js.map +1 -1
  9. package/build/cycles.d.ts.map +1 -1
  10. package/build/cycles.js +82 -36
  11. package/build/cycles.js.map +1 -1
  12. package/build/interactionSteps.d.ts +40 -51
  13. package/build/interactionSteps.d.ts.map +1 -1
  14. package/build/interactionSteps.js +32 -51
  15. package/build/interactionSteps.js.map +1 -1
  16. package/build/rest-playwright.d.ts +25 -22
  17. package/build/rest-playwright.d.ts.map +1 -1
  18. package/build/rest-playwright.js +16 -17
  19. package/build/rest-playwright.js.map +1 -1
  20. package/build/twin-page.d.ts +1 -1
  21. package/build/twin-page.d.ts.map +1 -1
  22. package/build/twin-page.js +4 -8
  23. package/build/twin-page.js.map +1 -1
  24. package/build/web-playwright.d.ts +18 -37
  25. package/build/web-playwright.d.ts.map +1 -1
  26. package/build/web-playwright.js +60 -79
  27. package/build/web-playwright.js.map +1 -1
  28. package/package.json +12 -7
  29. package/build/monitor/MonitorHandler.d.ts +0 -52
  30. package/build/monitor/MonitorHandler.d.ts.map +0 -1
  31. package/build/monitor/MonitorHandler.js +0 -176
  32. package/build/monitor/MonitorHandler.js.map +0 -1
  33. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts +0 -9
  34. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts.map +0 -1
  35. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js +0 -27
  36. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js.map +0 -1
  37. package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts +0 -9
  38. package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts.map +0 -1
  39. package/build/monitor/artifactDisplays/ImageArtifactDisplay.js +0 -17
  40. package/build/monitor/artifactDisplays/ImageArtifactDisplay.js.map +0 -1
  41. package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts +0 -8
  42. package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts.map +0 -1
  43. package/build/monitor/artifactDisplays/JsonArtifactDisplay.js +0 -26
  44. package/build/monitor/artifactDisplays/JsonArtifactDisplay.js.map +0 -1
  45. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts +0 -13
  46. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts.map +0 -1
  47. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js +0 -47
  48. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js.map +0 -1
  49. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts +0 -9
  50. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts.map +0 -1
  51. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js +0 -147
  52. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js.map +0 -1
  53. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.d.ts +0 -32
  54. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.d.ts.map +0 -1
  55. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.js +0 -258
  56. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.js.map +0 -1
  57. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.d.ts +0 -9
  58. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.d.ts.map +0 -1
  59. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.js +0 -19
  60. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.js.map +0 -1
  61. package/build/monitor/artifactDisplays/VideoArtifactDisplay.d.ts +0 -9
  62. package/build/monitor/artifactDisplays/VideoArtifactDisplay.d.ts.map +0 -1
  63. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js +0 -21
  64. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js.map +0 -1
  65. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.d.ts +0 -9
  66. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.d.ts.map +0 -1
  67. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.js +0 -16
  68. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.js.map +0 -1
  69. package/build/monitor/artifactDisplays/artifactDisplayBase.d.ts +0 -20
  70. package/build/monitor/artifactDisplays/artifactDisplayBase.d.ts.map +0 -1
  71. package/build/monitor/artifactDisplays/artifactDisplayBase.js +0 -40
  72. package/build/monitor/artifactDisplays/artifactDisplayBase.js.map +0 -1
  73. package/build/monitor/controls.d.ts +0 -13
  74. package/build/monitor/controls.d.ts.map +0 -1
  75. package/build/monitor/controls.js +0 -349
  76. package/build/monitor/controls.js.map +0 -1
  77. package/build/monitor/disclosureJson.d.ts +0 -3
  78. package/build/monitor/disclosureJson.d.ts.map +0 -1
  79. package/build/monitor/disclosureJson.js +0 -353
  80. package/build/monitor/disclosureJson.js.map +0 -1
  81. package/build/monitor/graph/feature-bases.d.ts +0 -5
  82. package/build/monitor/graph/feature-bases.d.ts.map +0 -1
  83. package/build/monitor/graph/feature-bases.js +0 -36
  84. package/build/monitor/graph/feature-bases.js.map +0 -1
  85. package/build/monitor/graph/generateMermaidGraph.d.ts +0 -11
  86. package/build/monitor/graph/generateMermaidGraph.d.ts.map +0 -1
  87. package/build/monitor/graph/generateMermaidGraph.js +0 -314
  88. package/build/monitor/graph/generateMermaidGraph.js.map +0 -1
  89. package/build/monitor/graph/graphUtils.d.ts +0 -3
  90. package/build/monitor/graph/graphUtils.d.ts.map +0 -1
  91. package/build/monitor/graph/graphUtils.js +0 -26
  92. package/build/monitor/graph/graphUtils.js.map +0 -1
  93. package/build/monitor/graph/mermaidGraphLinks.d.ts +0 -3
  94. package/build/monitor/graph/mermaidGraphLinks.d.ts.map +0 -1
  95. package/build/monitor/graph/mermaidGraphLinks.js +0 -26
  96. package/build/monitor/graph/mermaidGraphLinks.js.map +0 -1
  97. package/build/monitor/messages.d.ts +0 -14
  98. package/build/monitor/messages.d.ts.map +0 -1
  99. package/build/monitor/messages.js +0 -359
  100. package/build/monitor/messages.js.map +0 -1
  101. package/build/monitor/monitor.d.ts +0 -25
  102. package/build/monitor/monitor.d.ts.map +0 -1
  103. package/build/monitor/monitor.js +0 -599
  104. package/build/monitor/monitor.js.map +0 -1
  105. package/build/monitor/test-utils.d.ts +0 -9
  106. package/build/monitor/test-utils.d.ts.map +0 -1
  107. package/build/monitor/test-utils.js +0 -70
  108. package/build/monitor/test-utils.js.map +0 -1
@@ -1,18 +1,16 @@
1
- import { resolve } from 'path';
2
1
  import { pathToFileURL } from 'url';
3
- import { z } from 'zod';
4
- import { OK, Origin, CycleWhen } from '@haibun/core/lib/defs.js';
2
+ import { CycleWhen } from '@haibun/core/lib/defs.js';
3
+ import { OK, Origin } from '@haibun/core/schema/protocol.js';
5
4
  import { BrowserFactory, BROWSERS } from './BrowserFactory.js';
6
- import { actionNotOK, getStepperOption, boolOrError, intOrError, stringOrError, findStepperFromOption, optionOrError } from '@haibun/core/lib/util/index.js';
7
- import { EExecutionMessageType } from '@haibun/core/lib/interfaces/logger.js';
5
+ import { actionNotOK, getStepperOption, boolOrError, intOrError, stringOrError, findStepperFromOptionOrKind } from '@haibun/core/lib/util/index.js';
6
+ import { ImageArtifact, VideoStartArtifact } from '@haibun/core/schema/protocol.js';
8
7
  import { EMediaTypes } from '@haibun/domain-storage/media-types.js';
9
- import { MonitorHandler } from './monitor/MonitorHandler.js';
8
+ import { DOMAIN_STRING } from '@haibun/core/lib/domain-types.js';
10
9
  import { AStepper, StepperKinds } from '@haibun/core/lib/astepper.js';
11
10
  import { cycles } from './cycles.js';
12
11
  import { interactionSteps } from './interactionSteps.js';
13
12
  import { restSteps } from './rest-playwright.js';
14
13
  import { TwinPage } from './twin-page.js';
15
- import { DOMAIN_STRING, registerDomains } from '@haibun/core/lib/domain-types.js';
16
14
  export const WEB_PAGE = 'webpage';
17
15
  /**
18
16
  * This is the infrastructure for web-playwright.
@@ -21,13 +19,8 @@ export const WEB_PAGE = 'webpage';
21
19
  * @see {@link restSteps} for rest steps
22
20
  */
23
21
  export const LAST_REST_RESPONSE = 'LAST_REST_RESPONSE';
24
- export const VISITED_PAGES = 'Visited pages';
25
- export var EMonitoringTypes;
26
- (function (EMonitoringTypes) {
27
- EMonitoringTypes["MONITOR_ALL"] = "all";
28
- EMonitoringTypes["MONITOR_EACH"] = "each";
29
- })(EMonitoringTypes || (EMonitoringTypes = {}));
30
22
  export class WebPlaywright extends AStepper {
23
+ description = 'Navigate pages, click elements, fill forms, capture screenshots, and make REST API calls';
31
24
  cycles = cycles(this);
32
25
  cyclesWhen = {
33
26
  startExecution: CycleWhen.FIRST - 1,
@@ -39,10 +32,6 @@ export class WebPlaywright extends AStepper {
39
32
  desc: `twin page elements based on interactions)`,
40
33
  parse: (input) => boolOrError(input),
41
34
  },
42
- MONITOR: {
43
- desc: `display a monitor with ongoing results (${EMonitoringTypes.MONITOR_ALL} or ${EMonitoringTypes.MONITOR_EACH})`,
44
- parse: (input) => optionOrError(input, [EMonitoringTypes.MONITOR_ALL, EMonitoringTypes.MONITOR_EACH]),
45
- },
46
35
  HEADLESS: {
47
36
  desc: 'run browsers without a window (true, false)',
48
37
  parse: (input) => boolOrError(input),
@@ -71,7 +60,6 @@ export class WebPlaywright extends AStepper {
71
60
  [StepperKinds.STORAGE]: {
72
61
  desc: 'Storage for output',
73
62
  parse: (input) => stringOrError(input),
74
- required: true
75
63
  },
76
64
  };
77
65
  hasFactory = false;
@@ -82,9 +70,7 @@ export class WebPlaywright extends AStepper {
82
70
  downloaded = [];
83
71
  captureVideo;
84
72
  closers = [];
85
- monitor;
86
73
  twin;
87
- monitorHandler;
88
74
  twinPage;
89
75
  apiUserAgent;
90
76
  extraHTTPHeaders = {};
@@ -92,17 +78,20 @@ export class WebPlaywright extends AStepper {
92
78
  headless;
93
79
  inContainer;
94
80
  steppers;
81
+ videoStartEmitted = false;
82
+ resetVideoStartEmitted() {
83
+ this.videoStartEmitted = false;
84
+ }
95
85
  async setWorld(world, steppers) {
96
86
  this.steppers = steppers;
97
87
  await super.setWorld(world, steppers);
98
88
  const args = [...(getStepperOption(this, 'ARGS', world.moduleOptions)?.split(';') || ''),]; //'--disable-gpu'
99
- this.storage = findStepperFromOption(steppers, this, world.moduleOptions, StepperKinds.STORAGE);
89
+ this.storage = findStepperFromOptionOrKind(steppers, this, world.moduleOptions, StepperKinds.STORAGE);
100
90
  this.headless = getStepperOption(this, 'HEADLESS', world.moduleOptions) === 'true' || !!process.env.CI;
101
91
  const devtools = getStepperOption(this, 'DEVTOOLS', world.moduleOptions) === 'true';
102
92
  if (devtools) {
103
93
  args.concat(['--auto-open-devtools-for-tabs', '--devtools-flags=panel-network', '--remote-debugging-port=9223']);
104
94
  }
105
- this.monitor = getStepperOption(this, 'MONITOR', world.moduleOptions);
106
95
  this.twin = getStepperOption(this, 'TWIN', world.moduleOptions) === 'true';
107
96
  const persistentDirectory = getStepperOption(this, WebPlaywright.PERSISTENT_DIRECTORY, world.moduleOptions);
108
97
  const defaultTimeout = parseInt(getStepperOption(this, 'TIMEOUT', world.moduleOptions)) || 30000;
@@ -125,18 +114,6 @@ export class WebPlaywright extends AStepper {
125
114
  defaultTimeout,
126
115
  persistentDirectory,
127
116
  };
128
- // Register visited-pages domain for tracking navigated URLs
129
- // This is an open domain (inherits from string) - visited URLs are added as members
130
- // Only register if not already registered (other tests may share the world)
131
- if (!world.domains[VISITED_PAGES]) {
132
- const visitedPagesDef = {
133
- selectors: [VISITED_PAGES],
134
- schema: z.string(),
135
- coerce: (proto) => String(proto.value),
136
- description: 'Pages visited during test execution (auto-tracked by WebPlaywright)',
137
- };
138
- registerDomains(world, [[visitedPagesDef]]);
139
- }
140
117
  }
141
118
  async getCaptureDir(type = '') {
142
119
  const loc = { ...this.world, mediaType: EMediaTypes.video };
@@ -155,8 +132,29 @@ export class WebPlaywright extends AStepper {
155
132
  return browserContext;
156
133
  }
157
134
  async getPage() {
158
- const { tag } = this.getWorld();
135
+ const world = this.getWorld();
136
+ const { tag } = world;
137
+ const isFirstPage = !this.bf?.hasPage(tag, this.tab);
159
138
  const page = await (await this.getBrowserFactory()).getBrowserContextPage(tag, this.tab);
139
+ // Emit VideoStartArtifact when video capture starts (first page creation)
140
+ if (this.captureVideo && isFirstPage && !this.videoStartEmitted) {
141
+ this.videoStartEmitted = true;
142
+ const videoStartEvent = VideoStartArtifact.parse({
143
+ id: `feat-${tag.featureNum}.video-start`,
144
+ timestamp: Date.now(),
145
+ kind: 'artifact',
146
+ artifactType: 'video-start',
147
+ startTime: 0, // Relative offset from this moment
148
+ level: 'debug',
149
+ });
150
+ const featureStep = {
151
+ seqPath: [tag.featureNum, 0, 0],
152
+ source: { path: world.runtime.feature || 'feature' },
153
+ in: 'video recording started',
154
+ action: {},
155
+ };
156
+ world.eventLogger.artifact(featureStep, videoStartEvent);
157
+ }
160
158
  page.on('popup', async (popup) => {
161
159
  await popup.waitForLoadState();
162
160
  // const title = await popup.title();
@@ -182,8 +180,8 @@ export class WebPlaywright extends AStepper {
182
180
  return OK;
183
181
  }
184
182
  }
185
- const messageContext = { incident: EExecutionMessageType.ON_FAILURE, incidentDetails: { summary: `in ${textContent?.length} characters`, details: textContent } };
186
- return actionNotOK(`Did not find text "${text}" in ${selector}`, { messageContext });
183
+ const topics = { summary: `in ${textContent?.length} characters`, details: textContent };
184
+ return actionNotOK(`Did not find text "${text}" in ${selector}`, { topics });
187
185
  }
188
186
  async getCookies() {
189
187
  const browserContext = await this.getExistingBrowserContext();
@@ -208,51 +206,40 @@ export class WebPlaywright extends AStepper {
208
206
  return await this.captureScreenshotAndLog(event, { step });
209
207
  }
210
208
  catch (e) {
211
- this.getWorld().logger.debug(`captureFailureScreenshot error ${e}`);
209
+ this.getWorld().eventLogger.debug(`captureFailureScreenshot error ${e}`);
212
210
  }
213
211
  }
214
212
  async captureScreenshotAndLog(event, details) {
215
- const { context, path } = await this.captureScreenshot(event, details);
216
- this.getWorld().logger.log(`${event} screenshot to ${pathToFileURL(path)}`, context);
213
+ const { path } = await this.captureScreenshot(event, details);
214
+ this.getWorld().eventLogger.debug(`${event} screenshot to ${pathToFileURL(path)}`);
217
215
  }
218
216
  async captureScreenshot(event, details) {
219
- const loc = await this.getCaptureDir('image');
220
- // FIXME shouldn't be fs dependant
221
- const path = resolve(this.storage.fromLocation(EMediaTypes.image, loc, `${event}-${Date.now()}.png`));
222
- await this.withPage(async (page) => await page.screenshot({ path }));
223
- const relativePath = await this.storage.getRelativePath(path);
224
- const artifact = { artifactType: 'image', path: relativePath };
225
- const context = {
226
- incident: EExecutionMessageType.ACTION,
227
- artifacts: [artifact],
228
- tag: this.getWorld().tag,
229
- incidentDetails: { ...details, event }
230
- };
231
- // Emit new-style artifact event (if eventLogger is available)
217
+ const filename = `event-${details.step?.seqPath.join('.')}.png`;
218
+ // Take screenshot to buffer first, then save
219
+ const buffer = await this.withPage(async (page) => await page.screenshot());
220
+ const saved = await this.storage.saveArtifact(filename, buffer, EMediaTypes.image, 'image');
221
+ // Emit new-style artifact event with baseRelativePath for live serving
232
222
  const world = this.getWorld();
233
- if (world.eventLogger && details.step?.seqPath) {
234
- const { ImageArtifact } = await import('@haibun/core/lib/EventLogger.js');
235
- const artifactEvent = ImageArtifact.parse({
236
- id: `${details.step.seqPath.join('.')}.artifact.0`,
237
- timestamp: Date.now(),
238
- kind: 'artifact',
239
- artifactType: 'image',
240
- path: relativePath,
241
- mimetype: 'image/png',
242
- });
243
- // Create a minimal featureStep for the artifact method
244
- const featureStep = {
245
- seqPath: details.step.seqPath,
246
- path: details.step.path,
247
- in: details.step.in,
248
- action: {},
249
- };
250
- world.eventLogger.artifact(featureStep, artifactEvent);
251
- }
252
- return { context, path };
223
+ const artifactEvent = ImageArtifact.parse({
224
+ id: `${details.step.seqPath.join('.')}.artifact.0`,
225
+ timestamp: Date.now(),
226
+ kind: 'artifact',
227
+ artifactType: 'image',
228
+ path: saved.baseRelativePath,
229
+ mimetype: 'image/png',
230
+ });
231
+ const featureStep = {
232
+ seqPath: details.step.seqPath,
233
+ source: { path: details.step.path },
234
+ in: details.step.in,
235
+ action: {},
236
+ };
237
+ world.eventLogger.artifact(featureStep, artifactEvent);
238
+ return { path: saved.absolutePath };
253
239
  }
254
240
  async captureAccessibilitySnapshot() {
255
241
  return await this.withPage(async (page) => {
242
+ // @ts-ignore - accessibility API deprecated in newer Playwright
256
243
  const snapshot = await page.accessibility.snapshot({
257
244
  interestingOnly: false,
258
245
  });
@@ -330,12 +317,6 @@ export class WebPlaywright extends AStepper {
330
317
  this.twinPage = new TwinPage(this, this.storage, this.headless);
331
318
  await this.twinPage.initTwin();
332
319
  }
333
- async createMonitor() {
334
- this.getWorld().logger.info('Creating new monitor page');
335
- this.monitorHandler = new MonitorHandler(this.getWorld(), this.storage, this.headless);
336
- await this.monitorHandler.initMonitorContext();
337
- return OK;
338
- }
339
320
  getLastResponse() {
340
321
  return this.getWorld().shared.getJSON(LAST_REST_RESPONSE);
341
322
  }
@@ -1 +1 @@
1
- {"version":3,"file":"web-playwright.js","sourceRoot":"","sources":["../src/web-playwright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-playwright.js","sourceRoot":"","sources":["../src/web-playwright.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,OAAO,EAAwB,SAAS,EAAe,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,EAAE,EAAe,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAA+C,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,2BAA2B,EAAiB,MAAM,gCAAgC,CAAC;AAEnK,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGjE,OAAO,EAAE,QAAQ,EAA2B,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG/F,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAqB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC;;;;;GAKG;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAYvD,MAAM,OAAO,aAAc,SAAQ,QAAQ;IAC1C,WAAW,GAAG,0FAA0F,CAAC;IAEzG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,UAAU,GAAG;QACZ,cAAc,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC;QACnC,YAAY,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC;KACjC,CAAC;IACF,MAAM,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;IACrD,OAAO,GAAG;QACT,IAAI,EAAE;YACL,IAAI,EAAE,2CAA2C;YACjD,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;SAC5C;QAED,QAAQ,EAAE;YACT,IAAI,EAAE,6CAA6C;YACnD,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;SAC5C;QACD,QAAQ,EAAE;YACT,IAAI,EAAE,uCAAuC;YAC7C,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;SAC5C;QACD,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE;YACrC,IAAI,EAAE,0DAA0D;YAChE,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;SAC9C;QACD,IAAI,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;SAC9C;QACD,aAAa,EAAE;YACd,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5C,SAAS,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;SACjC;QACD,OAAO,EAAE;YACR,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;SAC3C;QACD,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YACvB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;SAC9C;KACD,CAAC;IACF,UAAU,GAAG,KAAK,CAAC;IACnB,EAAE,CAAkB;IACpB,OAAO,CAAY;IACnB,cAAc,CAAgC;IAC9C,GAAG,GAAG,CAAC,CAAC;IACR,UAAU,GAAa,EAAE,CAAC;IAC1B,YAAY,CAAU;IACtB,OAAO,GAAsB,EAAE,CAAC;IAEhC,IAAI,CAAU;IACd,QAAQ,CAAY;IACpB,YAAY,CAAS;IACrB,gBAAgB,GAAgC,EAAE,CAAC;IACnD,gBAAgB,CAAoB;IACpC,QAAQ,CAAU;IAClB,WAAW,CAAU;IACrB,QAAQ,CAAa;IACb,iBAAiB,GAAG,KAAK,CAAC;IAElC,sBAAsB;QACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,QAAoB;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,iBAAiB;QAC7G,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;QACpF,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,CAAC,+BAA+B,EAAE,gCAAgC,EAAE,8BAA8B,CAAC,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;QAC3E,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5G,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC;QACjG,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;QAC5F,IAAI,WAAW,CAAC;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,WAAW,GAAG;gBACb,GAAG,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;aACtC,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI;YACJ,QAAQ;SACR,CAAA;QACD,IAAI,CAAC,cAAc,GAAG;YACrB,OAAO,EAAE,EAAE,WAAW,GAAG;YACzB,WAAW,EAAE,QAAQ,CAAC,QAAQ;YAC9B,aAAa;YACb,cAAc;YACd,mBAAmB;SACnB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,EAAE;QAC5B,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,EAAE,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACvF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG;QACxD,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC;QAC9F,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QACtB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzF,0EAA0E;QAC1E,IAAI,IAAI,CAAC,YAAY,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC;gBAChD,EAAE,EAAE,QAAQ,GAAG,CAAC,UAAU,cAAc;gBACxC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,aAAa;gBAC3B,SAAS,EAAE,CAAC,EAAE,mCAAmC;gBACjD,KAAK,EAAE,OAAO;aACd,CAAC,CAAC;YACH,MAAM,WAAW,GAAG;gBACnB,OAAO,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE;gBACpD,EAAE,EAAE,yBAAyB;gBAC7B,MAAM,EAAE,EAAiB;aACzB,CAAC;YACF,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAW,EAAE,EAAE;YACtC,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC/B,qCAAqC;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YAEd,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,QAAQ,CAAU,CAA6B;QACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAEtE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAO,oBAAoB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC1C,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,QAAgB;QACxC,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,kCAAkC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAU,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5G,IAAI,WAAW,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,MAAM,WAAW,EAAE,MAAM,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QACzF,OAAO,WAAW,CAAC,sBAAsB,IAAI,QAAQ,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,KAAK,CAAC,UAAU;QACf,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC9D,OAAO,MAAM,cAAc,EAAE,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACb,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,GAAkB;QACtB,GAAG,SAAS,CAAC,IAAI,CAAC;QAClB,GAAG,gBAAgB,CAAC,IAAI,CAAC;KACzB,CAAC;IACF,UAAU,CAAC,OAAe;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,OAAmC,CAAC;QAC/D,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM;QACL,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,wBAAwB,CAAC,KAAa,EAAE,IAAiB;QAC9D,IAAI,CAAC;YACJ,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAAa,EAAE,OAA6C;QACzF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAE,CAAC;QAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,kBAAkB,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAa,EAAE,OAA6C;QACnF,MAAM,QAAQ,GAAG,SAAS,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAChE,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAU,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAW,CAAC;QAC5F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE5F,uEAAuE;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;YACzC,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa;YAClD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,KAAK,CAAC,gBAAgB;YAC5B,QAAQ,EAAE,WAAW;SACrB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG;YACnB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACnC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,EAAE,EAAiB;SACzB,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAEvD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,4BAA4B;QACjC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAU,EAAE,EAAE;YAC/C,gEAAgE;YAChE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAClD,eAAe,EAAE,KAAK;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAoC;QAC7D,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC9D,MAAM,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,QAAgB,EAChB,MAAM,GAAG,KAAK,EACd,iBAAkC,EAAE;QAEpC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;QACxD,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,sDAAsD;QACtD,IAAI,EAAE,EAAE,CAAC;YACR,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC;YAC5E,MAAM,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,mBAAmB,GAAqC,EAAE,CAAC;YACjE,IAAI,CAAC;gBACJ,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC1B,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE;oBAClG,MAAM,YAAY,GAAgB;wBACjC,MAAM;qBACN,CAAC;oBACF,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,IAAI,eAAe;wBAAE,YAAY,CAAC,IAAI,GAAG,eAA2B,CAAC;oBAErE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBACrD,MAAM,gBAAgB,GAAsB;wBAC3C,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACvD,GAAG,EAAE,QAAQ,CAAC,GAAG;wBACjB,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAS,EAAE,CAAC,IAAI,CAAC;wBACnD,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAS,EAAE,CAAC,IAAI,CAAC;qBACnD,CAAC;oBAEF,OAAO,gBAAgB,CAAC;gBACzB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAE5C,OAAO,GAAG,CAAC;YACZ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,4BAA4B,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChN,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9G,CAAC;gBAAS,CAAC;YACV,uDAAuD;YACvD,IAAI,EAAE,EAAE,CAAC;gBACR,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAC9D,MAAM,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,CAAC;QACF,CAAC;IACF,CAAC;IACD,KAAK,CAAC,WAAW;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,MAAM,EAAE,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IACD,KAAK,CAAC,UAAU;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAsB,CAAC;IAChF,CAAC;IACD,eAAe,CAAC,UAA6B,EAAE,WAAyB;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACzF,CAAC;IACD,cAAc,CAAC,IAAU,EAAE,WAAyB,EAAE,KAAa;QAClE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;QACvH,MAAM,OAAO,GAAG,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAS,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAS,KAAK,CAAC,CAAC;QACxH,OAAO,OAAO,CAAC;IAChB,CAAC;;AAGF,eAAe,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "name": "@haibun/web-playwright",
3
3
  "type": "module",
4
- "version": "3.1.1",
4
+ "version": "3.3.0",
5
5
  "description": "",
6
6
  "main": "build/web-playwright.js",
7
- "exports": { ".": "./build/web-playwright.js", "./*": "./build/*" },
8
- "files": ["build/", "web/monitor.html"],
7
+ "exports": {
8
+ ".": "./build/web-playwright.js",
9
+ "./*": "./build/*"
10
+ },
11
+ "files": [
12
+ "build/"
13
+ ],
9
14
  "scripts": {
10
15
  "build": "tsc -b .",
11
16
  "build-watch": "tsc -b . --watch",
@@ -19,9 +24,9 @@
19
24
  "author": "",
20
25
  "license": "ISC",
21
26
  "dependencies": {
22
- "@haibun/core": "3.1.1",
23
- "@haibun/domain-storage": "3.1.1",
24
- "@haibun/storage-mem": "3.1.1",
27
+ "@haibun/core": "3.3.0",
28
+ "@haibun/domain-storage": "3.3.0",
29
+ "@haibun/storage-mem": "3.3.0",
25
30
  "markdown-it": "^14.1.0",
26
31
  "mermaid": "^11.6.0",
27
32
  "playwright": "^1.56.1",
@@ -34,4 +39,4 @@
34
39
  "isomorphic-dompurify": "^2.25.0",
35
40
  "jsdom": "^26.1.0"
36
41
  }
37
- }
42
+ }
@@ -1,52 +0,0 @@
1
- import { BrowserContext, Page } from 'playwright';
2
- import { TWorld } from '@haibun/core/lib/defs.js';
3
- import { ILogOutput } from '@haibun/core/lib/interfaces/logger.js';
4
- import { AStorage } from '@haibun/domain-storage/AStorage.js';
5
- import { TAnyFixme } from '@haibun/core/lib/fixme.js';
6
- import { TPromptResponse, TPrompt } from '@haibun/core/lib/prompter.js';
7
- import { BasePromptManager } from '@haibun/core/lib/base-prompt-manager.js';
8
- import { TLogEntry } from './monitor.js';
9
- import WebPlaywright from '../web-playwright.js';
10
- declare global {
11
- interface Window {
12
- showPromptControls: (prompt: string) => void;
13
- hidePromptControls: () => void;
14
- receiveLogData: (entry: TLogEntry) => void;
15
- showStatementInput: () => void;
16
- hideStatementInput: () => void;
17
- submitStatement: (statement: string) => void;
18
- haibunSubmitStatement: (statement: string) => void;
19
- }
20
- }
21
- declare class ButtonPrompter extends BasePromptManager {
22
- private monitorHandler;
23
- private buttonPrompts;
24
- constructor(monitorHandler: MonitorHandler);
25
- protected showPrompt(prompt: TPrompt): void;
26
- protected hidePrompt(id: string): void;
27
- resolve(id: string, response: TPromptResponse): void;
28
- cancel(id: string, reason?: string): void;
29
- getPrompts(): Map<string, TPrompt>;
30
- }
31
- export declare class MonitorHandler {
32
- private world;
33
- private storage;
34
- private headless;
35
- subscriber: ILogOutput;
36
- monitorPage: Page;
37
- buttonPrompter: ButtonPrompter;
38
- steppers: TAnyFixme[];
39
- context: BrowserContext;
40
- capturedMessages: TLogEntry[];
41
- constructor(world: TWorld, storage: AStorage, headless: boolean);
42
- updateWorld(world: TWorld): Promise<void>;
43
- initMonitorContext(): Promise<void>;
44
- firstPage: boolean;
45
- createMonitorPage: (wp: WebPlaywright) => Promise<void>;
46
- getMonitorLoc(): Promise<string>;
47
- writeMonitor(): Promise<void>;
48
- inMonitor<T>(toRun: (p: T) => void, context?: TAnyFixme): Promise<void>;
49
- waitForMonitorPage(): Promise<void>;
50
- }
51
- export {};
52
- //# sourceMappingURL=MonitorHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MonitorHandler.d.ts","sourceRoot":"","sources":["../../src/monitor/MonitorHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAwC,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAK9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAEjD,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;QAC3C,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7C,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;KACnD;CACD;AAKD,cAAM,cAAe,SAAQ,iBAAiB;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAmC;gBAE5C,cAAc,EAAE,cAAc;IAK1C,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAa3C,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAe/B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe;IAG7C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAKlC,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;CAGzC;AAED,qBAAa,cAAc;IAQd,OAAO,CAAC,KAAK;IAAU,OAAO,CAAC,OAAO;IAAY,OAAO,CAAC,QAAQ;IAP9E,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,IAAI,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,gBAAgB,EAAE,SAAS,EAAE,CAAM;gBAEf,KAAK,EAAE,MAAM,EAAU,OAAO,EAAE,QAAQ,EAAU,QAAQ,EAAE,OAAO;IAEjF,WAAW,CAAC,KAAK,EAAE,MAAM;IAYzB,kBAAkB;IAOxB,SAAS,UAAQ;IACjB,iBAAiB,GAAU,IAAI,aAAa,mBA+C3C;IACK,aAAa;IAIb,YAAY;IAkCZ,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,SAAS;IASvD,kBAAkB;CAOxB"}
@@ -1,176 +0,0 @@
1
- import { join, resolve } from 'path';
2
- import { existsSync } from 'fs';
3
- import { pathToFileURL } from 'url';
4
- import { chromium } from 'playwright';
5
- import { EMediaTypes } from '@haibun/domain-storage/media-types.js';
6
- import { getPackageLocation } from '@haibun/core/lib/util/workspace-lib.js';
7
- import { sleep } from '@haibun/core/lib/util/index.js';
8
- import { actualURI } from '@haibun/core/lib/util/actualURI.js';
9
- import { BasePromptManager } from '@haibun/core/lib/base-prompt-manager.js';
10
- let shownError = false;
11
- const monitorLocation = join(getPackageLocation(import.meta), '..', '..', 'web', 'monitor.html');
12
- class ButtonPrompter extends BasePromptManager {
13
- monitorHandler;
14
- buttonPrompts = new Map();
15
- constructor(monitorHandler) {
16
- super();
17
- this.monitorHandler = monitorHandler;
18
- }
19
- showPrompt(prompt) {
20
- this.buttonPrompts.set(prompt.id, prompt);
21
- void this.monitorHandler.inMonitor((prompts) => window.showPromptControls(prompts), JSON.stringify(Array.from(this.buttonPrompts.values())));
22
- // Show statement input for debugger prompts that allow arbitrary input
23
- if (prompt.options?.includes('*')) {
24
- void this.monitorHandler.inMonitor(() => window.showStatementInput());
25
- }
26
- }
27
- hidePrompt(id) {
28
- this.buttonPrompts.delete(id);
29
- void this.monitorHandler.inMonitor((prompts) => window.showPromptControls(prompts), JSON.stringify(this.buttonPrompts));
30
- // Hide statement input when no prompts with '*' option remain
31
- const hasStatementPrompts = Array.from(this.buttonPrompts.values()).some(p => p.options?.includes('*'));
32
- if (!hasStatementPrompts) {
33
- void this.monitorHandler.inMonitor(() => window.hideStatementInput());
34
- }
35
- }
36
- // Expose resolve and cancel as public methods
37
- resolve(id, response) {
38
- super.resolve(id, response);
39
- }
40
- cancel(id, reason) {
41
- super.cancel(id, reason);
42
- }
43
- // Public getter for accessing prompts
44
- getPrompts() {
45
- return this.buttonPrompts;
46
- }
47
- }
48
- export class MonitorHandler {
49
- world;
50
- storage;
51
- headless;
52
- subscriber;
53
- monitorPage;
54
- buttonPrompter;
55
- steppers; // Store steppers for statement execution
56
- context;
57
- capturedMessages = [];
58
- constructor(world, storage, headless) {
59
- this.world = world;
60
- this.storage = storage;
61
- this.headless = headless;
62
- }
63
- async updateWorld(world) {
64
- this.world = world;
65
- await this.inMonitor((monitorLoc) => {
66
- let base = document.querySelector('base');
67
- if (!base) {
68
- base = document.createElement('base');
69
- document.head.appendChild(base);
70
- }
71
- base.href = `${monitorLoc}/`;
72
- }, resolve(await this.getMonitorLoc()));
73
- }
74
- async initMonitorContext() {
75
- const browser = await chromium.launch({
76
- headless: this.headless,
77
- // args: ['--start-maximized']
78
- });
79
- this.context = await browser.newContext({ viewport: null });
80
- }
81
- firstPage = true;
82
- createMonitorPage = async (wp) => {
83
- // Reset captured messages for each new monitor page
84
- this.capturedMessages = [];
85
- this.monitorPage = await this.context.newPage();
86
- // Pass the view mode preference to the page context
87
- const viewMode = this.firstPage ? 'document' : 'timeline';
88
- await this.monitorPage.addInitScript((mode) => {
89
- window.HAIBUN_VIEW_MODE = mode;
90
- }, viewMode);
91
- this.firstPage = false;
92
- this.buttonPrompter = new ButtonPrompter(this);
93
- await this.monitorPage.exposeFunction('haibunResolvePrompt', (id, response) => {
94
- this.buttonPrompter.resolve(id, response);
95
- });
96
- await this.monitorPage.exposeFunction('haibunSubmitStatement', (statement) => {
97
- // Find the first prompt that accepts arbitrary input and resolve it with the statement
98
- const statementPrompt = Array.from(this.buttonPrompter.getPrompts().values())
99
- .find(p => p.options?.includes('*'));
100
- if (statementPrompt) {
101
- this.buttonPrompter.resolve(statementPrompt.id, statement);
102
- }
103
- });
104
- await this.waitForMonitorPage();
105
- await this.monitorPage.goto(pathToFileURL(monitorLocation).toString(), { waitUntil: 'networkidle' });
106
- this.subscriber = {
107
- out: (level, message, messageContext) => {
108
- const logEntry = {
109
- level,
110
- message,
111
- messageContext,
112
- timestamp: Date.now()
113
- };
114
- this.capturedMessages.push(logEntry);
115
- void this.inMonitor((entry) => {
116
- window.receiveLogData(JSON.parse(entry));
117
- }, JSON.stringify(logEntry));
118
- }
119
- };
120
- this.world.logger.addSubscriber(this.subscriber);
121
- wp.closers.push(() => this.world.logger.removeSubscriber(this.subscriber));
122
- this.world.prompter.subscribe(this.buttonPrompter);
123
- };
124
- async getMonitorLoc() {
125
- return await this.storage.getCaptureLocation({ ...this.world, mediaType: EMediaTypes.html });
126
- }
127
- async writeMonitor() {
128
- if (!this.monitorPage || this.monitorPage.isClosed()) {
129
- this.world.logger.error('Monitor page is closed, cannot write monitor file.');
130
- return;
131
- }
132
- await sleep(500);
133
- await this.inMonitor(() => {
134
- const promptControls = document.getElementById('haibun-prompt-controls-container');
135
- if (promptControls && promptControls.parentNode) {
136
- promptControls.parentNode.removeChild(promptControls);
137
- }
138
- const base = document.querySelector('base');
139
- if (base) {
140
- base.parentNode?.removeChild(base);
141
- }
142
- });
143
- const content = (await this.monitorPage.content()) + `
144
- <script>
145
- window.haibunStaticPage = true;
146
- document.getElementById('haibun-log-display-area').innerHTML = '';
147
- </script>
148
- <script id="haibun-log-data" type="application/json">
149
- ${JSON.stringify(this.capturedMessages)}
150
- </script>
151
- `;
152
- const outHtmlFile = join(await this.getMonitorLoc(), 'monitor.html');
153
- const monitorPath = actualURI(outHtmlFile);
154
- this.world.logger.info(`Writing monitor HTML to ${monitorPath}`);
155
- await this.storage.writeFile(outHtmlFile, content, EMediaTypes.html);
156
- const outMessages = join(await this.getMonitorLoc(), 'monitor.json');
157
- await this.storage.writeFile(outMessages, JSON.stringify(this.capturedMessages, null, 2), EMediaTypes.html);
158
- }
159
- async inMonitor(toRun, context) {
160
- await this.monitorPage.evaluate(toRun, context).catch(e => {
161
- if (!shownError) {
162
- console.error(e);
163
- shownError = true;
164
- }
165
- });
166
- }
167
- async waitForMonitorPage() {
168
- let waitForMonitor = 0;
169
- while (!existsSync(monitorLocation) && waitForMonitor < 20) {
170
- if (waitForMonitor++ === 1)
171
- this.world.logger.info(`Waiting up to ${20 * .5} seconds for monitor.html`);
172
- await sleep(500);
173
- }
174
- }
175
- }
176
- //# sourceMappingURL=MonitorHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MonitorHandler.js","sourceRoot":"","sources":["../../src/monitor/MonitorHandler.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { TArtifactHTML } from "@haibun/core/lib/interfaces/logger.js";
2
- import { ArtifactDisplay } from "./artifactDisplayBase.js";
3
- export declare class HtmlArtifactDisplay extends ArtifactDisplay {
4
- protected artifact: TArtifactHTML;
5
- readonly placementTarget = "details";
6
- constructor(artifact: TArtifactHTML);
7
- render(container: HTMLElement): void;
8
- }
9
- //# sourceMappingURL=HtmlArtifactDisplay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HtmlArtifactDisplay.d.ts","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/HtmlArtifactDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,qBAAa,mBAAoB,SAAQ,eAAe;IAE3C,SAAS,CAAC,QAAQ,EAAE,aAAa;IAD7C,QAAQ,CAAC,eAAe,aAAa;gBACf,QAAQ,EAAE,aAAa;IAGtC,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;CAgB3C"}
@@ -1,27 +0,0 @@
1
- import { ArtifactDisplay } from "./artifactDisplayBase.js";
2
- export class HtmlArtifactDisplay extends ArtifactDisplay {
3
- artifact;
4
- placementTarget = 'details';
5
- constructor(artifact) {
6
- super(artifact);
7
- this.artifact = artifact;
8
- }
9
- render(container) {
10
- container.innerHTML = ''; // Clear placeholder
11
- const iframe = document.createElement('iframe');
12
- iframe.style.border = 'none';
13
- iframe.style.width = '100%';
14
- iframe.style.height = '80vh';
15
- if ('html' in this.artifact && typeof this.artifact.html === 'string') {
16
- iframe.srcdoc = this.artifact.html;
17
- }
18
- else if ('path' in this.artifact && typeof this.artifact.path === 'string') {
19
- iframe.src = this.artifact.path;
20
- }
21
- else {
22
- iframe.srcdoc = '<p class="haibun-artifact-error">Error: HTML content not available or in an unexpected format.</p>';
23
- }
24
- container.appendChild(iframe);
25
- }
26
- }
27
- //# sourceMappingURL=HtmlArtifactDisplay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HtmlArtifactDisplay.js","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/HtmlArtifactDisplay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IAEjC;IADb,eAAe,GAAG,SAAS,CAAC;IACrC,YAAsB,QAAuB;QAC5C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADK,aAAQ,GAAR,QAAQ,CAAe;IAE7C,CAAC;IACM,MAAM,CAAC,SAAsB;QACnC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,oBAAoB;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAE7B,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC,CAAC;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9E,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,MAAM,GAAG,oGAAoG,CAAC;QACtH,CAAC;QACD,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACD"}