intellitester 0.2.22 → 0.2.25

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.
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
 
4
- var chunkGCF2Q77Q_cjs = require('../chunk-GCF2Q77Q.cjs');
4
+ var chunkSZFPANKM_cjs = require('../chunk-SZFPANKM.cjs');
5
+ var chunkOLQKQ3TR_cjs = require('../chunk-OLQKQ3TR.cjs');
5
6
  var chunkARJYJVRM_cjs = require('../chunk-ARJYJVRM.cjs');
6
7
  require('../chunk-QMYM2TCH.cjs');
7
8
  require('../chunk-PAKODOH4.cjs');
@@ -158,7 +159,7 @@ ${"=".repeat(60)}`);
158
159
  }
159
160
  let trackingServer = null;
160
161
  try {
161
- trackingServer = await chunkGCF2Q77Q_cjs.startTrackingServer({ port: 0 });
162
+ trackingServer = await chunkSZFPANKM_cjs.startTrackingServer({ port: 0 });
162
163
  console.log(`Tracking server started on port ${trackingServer.port}`);
163
164
  } catch (error) {
164
165
  console.warn("Failed to start tracking server:", error);
@@ -170,7 +171,7 @@ ${"=".repeat(60)}`);
170
171
  let serverProcess = null;
171
172
  if (pipeline.config?.webServer) {
172
173
  try {
173
- serverProcess = await chunkGCF2Q77Q_cjs.startWebServer({
174
+ serverProcess = await chunkSZFPANKM_cjs.startWebServer({
174
175
  ...pipeline.config.webServer,
175
176
  cwd: pipelineDir
176
177
  });
@@ -182,7 +183,7 @@ ${"=".repeat(60)}`);
182
183
  }
183
184
  const signalCleanup = async () => {
184
185
  console.log("\n\nInterrupted - cleaning up...");
185
- chunkGCF2Q77Q_cjs.killServer(serverProcess);
186
+ chunkSZFPANKM_cjs.killServer(serverProcess);
186
187
  if (trackingServer) await trackingServer.stop();
187
188
  process.exit(1);
188
189
  };
@@ -190,7 +191,7 @@ ${"=".repeat(60)}`);
190
191
  process.on("SIGTERM", signalCleanup);
191
192
  const browserName = options.browser ?? pipeline.config?.web?.browser ?? "chromium";
192
193
  const headless = options.headed === true ? false : pipeline.config?.web?.headless ?? true;
193
- const browser = await getBrowser(browserName).launch(chunkGCF2Q77Q_cjs.getBrowserLaunchOptions({ headless }));
194
+ const browser = await getBrowser(browserName).launch(chunkSZFPANKM_cjs.getBrowserLaunchOptions({ headless, browser: browserName }));
194
195
  const browserContext = await browser.newContext();
195
196
  const page = await browserContext.newPage();
196
197
  page.setDefaultTimeout(3e4);
@@ -198,7 +199,7 @@ ${"=".repeat(60)}`);
198
199
  variables: /* @__PURE__ */ new Map(),
199
200
  lastEmail: null,
200
201
  emailClient: null,
201
- appwriteContext: chunkGCF2Q77Q_cjs.createTestContext(),
202
+ appwriteContext: chunkSZFPANKM_cjs.createTestContext(),
202
203
  appwriteConfig: pipeline.config?.appwrite ? {
203
204
  endpoint: pipeline.config.appwrite.endpoint,
204
205
  projectId: pipeline.config.appwrite.projectId,
@@ -206,7 +207,7 @@ ${"=".repeat(60)}`);
206
207
  } : void 0
207
208
  };
208
209
  if (pipeline.config?.appwrite) {
209
- chunkGCF2Q77Q_cjs.setupAppwriteTracking(page, executionContext);
210
+ chunkSZFPANKM_cjs.setupAppwriteTracking(page, executionContext);
210
211
  }
211
212
  const completedIds = /* @__PURE__ */ new Set();
212
213
  const failedIds = /* @__PURE__ */ new Set();
@@ -273,10 +274,10 @@ ${"=".repeat(40)}`);
273
274
  console.log(`File: ${workflowRef.file}`);
274
275
  console.log(`${"=".repeat(40)}`);
275
276
  try {
276
- const workflowDefinition = await chunkGCF2Q77Q_cjs.loadWorkflowDefinition(workflowFilePath);
277
+ const workflowDefinition = await chunkOLQKQ3TR_cjs.loadWorkflowDefinition(workflowFilePath);
277
278
  if (workflowRef.variables) {
278
279
  for (const [key, value] of Object.entries(workflowRef.variables)) {
279
- const interpolated = chunkGCF2Q77Q_cjs.interpolateVariables(value, executionContext.variables);
280
+ const interpolated = chunkSZFPANKM_cjs.interpolateVariables(value, executionContext.variables);
280
281
  executionContext.variables.set(key, interpolated);
281
282
  }
282
283
  }
@@ -289,7 +290,7 @@ ${"=".repeat(40)}`);
289
290
  sessionId,
290
291
  testStartTime
291
292
  };
292
- const result = await chunkGCF2Q77Q_cjs.runWorkflowWithContext(
293
+ const result = await chunkSZFPANKM_cjs.runWorkflowWithContext(
293
294
  workflowDefinition,
294
295
  workflowFilePath,
295
296
  workflowOptions
@@ -426,7 +427,7 @@ ${"=".repeat(60)}`);
426
427
  process.off("SIGTERM", signalCleanup);
427
428
  await browserContext.close();
428
429
  await browser.close();
429
- chunkGCF2Q77Q_cjs.killServer(serverProcess);
430
+ chunkSZFPANKM_cjs.killServer(serverProcess);
430
431
  if (trackingServer) {
431
432
  await trackingServer.stop();
432
433
  }
@@ -1091,7 +1092,7 @@ function cleanYamlResponse(response) {
1091
1092
  return cleaned;
1092
1093
  }
1093
1094
  async function generateTest(naturalLanguage, options) {
1094
- const provider = chunkGCF2Q77Q_cjs.createAIProvider(options.aiConfig);
1095
+ const provider = chunkSZFPANKM_cjs.createAIProvider(options.aiConfig);
1095
1096
  let systemPrompt = SYSTEM_PROMPT;
1096
1097
  if (options.source !== null) {
1097
1098
  const sourceConfig = options.source ?? {};
@@ -1123,7 +1124,7 @@ Please fix the issue and generate valid YAML.`;
1123
1124
  const yaml$1 = cleanYamlResponse(response);
1124
1125
  lastYaml = yaml$1;
1125
1126
  const parsed = yaml.parse(yaml$1);
1126
- const validated = chunkGCF2Q77Q_cjs.TestDefinitionSchema.parse(parsed);
1127
+ const validated = chunkOLQKQ3TR_cjs.TestDefinitionSchema.parse(parsed);
1127
1128
  return {
1128
1129
  success: true,
1129
1130
  test: validated,
@@ -1501,7 +1502,7 @@ var validateCommand = async (target) => {
1501
1502
  throw new Error(`No YAML files found at ${absoluteTarget}`);
1502
1503
  }
1503
1504
  for (const file of files) {
1504
- await chunkGCF2Q77Q_cjs.loadTestDefinition(file);
1505
+ await chunkOLQKQ3TR_cjs.loadTestDefinition(file);
1505
1506
  console.log(`\u2713 ${path4__namespace.default.relative(process2__default.default.cwd(), file)} valid`);
1506
1507
  }
1507
1508
  };
@@ -1518,8 +1519,8 @@ var runTestCommand = async (target, options) => {
1518
1519
  const configContent = await fs3__default.default.readFile(CONFIG_FILENAME, "utf8");
1519
1520
  parsedConfig = parse2(configContent);
1520
1521
  }
1521
- const configMissing = parsedConfig ? chunkGCF2Q77Q_cjs.collectMissingEnvVars(parsedConfig) : [];
1522
- const testMissing = chunkGCF2Q77Q_cjs.collectMissingEnvVars(parsedTest);
1522
+ const configMissing = parsedConfig ? chunkOLQKQ3TR_cjs.collectMissingEnvVars(parsedConfig) : [];
1523
+ const testMissing = chunkOLQKQ3TR_cjs.collectMissingEnvVars(parsedTest);
1523
1524
  const allMissing = [.../* @__PURE__ */ new Set([...configMissing, ...testMissing])];
1524
1525
  if (allMissing.length > 0) {
1525
1526
  const projectRoot = await findProjectRoot(absoluteTarget);
@@ -1528,8 +1529,8 @@ var runTestCommand = async (target, options) => {
1528
1529
  process2__default.default.exit(1);
1529
1530
  }
1530
1531
  }
1531
- const test = await chunkGCF2Q77Q_cjs.loadTestDefinition(absoluteTarget);
1532
- const config = hasConfigFile ? await chunkGCF2Q77Q_cjs.loadIntellitesterConfig(CONFIG_FILENAME) : void 0;
1532
+ const test = await chunkOLQKQ3TR_cjs.loadTestDefinition(absoluteTarget);
1533
+ const config = hasConfigFile ? await chunkOLQKQ3TR_cjs.loadIntellitesterConfig(CONFIG_FILENAME) : void 0;
1533
1534
  const baseUrl = resolveBaseUrl(test, config?.platforms?.web?.baseUrl);
1534
1535
  const headed = options.headed ?? false;
1535
1536
  const browser = options.browser ?? "chromium";
@@ -1543,7 +1544,7 @@ var runTestCommand = async (target, options) => {
1543
1544
  console.log(
1544
1545
  `Running ${path4__namespace.default.basename(absoluteTarget)} on web (${browser}${modeFlags.length > 0 ? ", " + modeFlags.join(", ") : ""})`
1545
1546
  );
1546
- const result = await chunkGCF2Q77Q_cjs.runWebTest(test, {
1547
+ const result = await chunkSZFPANKM_cjs.runWebTest(test, {
1547
1548
  baseUrl,
1548
1549
  headed,
1549
1550
  browser,
@@ -1575,7 +1576,7 @@ var generateCommand = async (prompt, options) => {
1575
1576
  const { parse: parse2 } = await import('yaml');
1576
1577
  const configContent = await fs3__default.default.readFile(CONFIG_FILENAME, "utf8");
1577
1578
  const parsedConfig = parse2(configContent);
1578
- const configMissing = chunkGCF2Q77Q_cjs.collectMissingEnvVars(parsedConfig);
1579
+ const configMissing = chunkOLQKQ3TR_cjs.collectMissingEnvVars(parsedConfig);
1579
1580
  if (configMissing.length > 0) {
1580
1581
  const projectRoot = await findProjectRoot(CONFIG_FILENAME);
1581
1582
  const canContinue = await validateEnvVars(configMissing, projectRoot || process2__default.default.cwd());
@@ -1583,7 +1584,7 @@ var generateCommand = async (prompt, options) => {
1583
1584
  process2__default.default.exit(1);
1584
1585
  }
1585
1586
  }
1586
- const config = await chunkGCF2Q77Q_cjs.loadIntellitesterConfig(CONFIG_FILENAME);
1587
+ const config = await chunkOLQKQ3TR_cjs.loadIntellitesterConfig(CONFIG_FILENAME);
1587
1588
  if (!config.ai) {
1588
1589
  throw new Error('AI configuration missing in intellitester.config.yaml. Add "ai:" section with provider, model, and apiKey.');
1589
1590
  }
@@ -1628,8 +1629,8 @@ var runWorkflowCommand = async (file, options) => {
1628
1629
  const configContent = await fs3__default.default.readFile(CONFIG_FILENAME, "utf8");
1629
1630
  parsedConfig = parse2(configContent);
1630
1631
  }
1631
- const configMissing = parsedConfig ? chunkGCF2Q77Q_cjs.collectMissingEnvVars(parsedConfig) : [];
1632
- const workflowMissing = chunkGCF2Q77Q_cjs.collectMissingEnvVars(parsedWorkflow);
1632
+ const configMissing = parsedConfig ? chunkOLQKQ3TR_cjs.collectMissingEnvVars(parsedConfig) : [];
1633
+ const workflowMissing = chunkOLQKQ3TR_cjs.collectMissingEnvVars(parsedWorkflow);
1633
1634
  const allMissing = [.../* @__PURE__ */ new Set([...configMissing, ...workflowMissing])];
1634
1635
  if (allMissing.length > 0) {
1635
1636
  const projectRoot = await findProjectRoot(workflowPath);
@@ -1638,9 +1639,9 @@ var runWorkflowCommand = async (file, options) => {
1638
1639
  process2__default.default.exit(1);
1639
1640
  }
1640
1641
  }
1641
- const workflow = await chunkGCF2Q77Q_cjs.loadWorkflowDefinition(workflowPath);
1642
- const config = hasConfigFile ? await chunkGCF2Q77Q_cjs.loadIntellitesterConfig(CONFIG_FILENAME) : void 0;
1643
- const result = await chunkGCF2Q77Q_cjs.runWorkflow(workflow, workflowPath, {
1642
+ const workflow = await chunkOLQKQ3TR_cjs.loadWorkflowDefinition(workflowPath);
1643
+ const config = hasConfigFile ? await chunkOLQKQ3TR_cjs.loadIntellitesterConfig(CONFIG_FILENAME) : void 0;
1644
+ const result = await chunkSZFPANKM_cjs.runWorkflow(workflow, workflowPath, {
1644
1645
  headed: options.visible,
1645
1646
  browser: options.browser,
1646
1647
  interactive: options.interactive,
@@ -1686,8 +1687,8 @@ var runPipelineCommand = async (file, options) => {
1686
1687
  const configContent = await fs3__default.default.readFile(CONFIG_FILENAME, "utf8");
1687
1688
  parsedConfig = parse2(configContent);
1688
1689
  }
1689
- const configMissing = parsedConfig ? chunkGCF2Q77Q_cjs.collectMissingEnvVars(parsedConfig) : [];
1690
- const pipelineMissing = chunkGCF2Q77Q_cjs.collectMissingEnvVars(parsedPipeline);
1690
+ const configMissing = parsedConfig ? chunkOLQKQ3TR_cjs.collectMissingEnvVars(parsedConfig) : [];
1691
+ const pipelineMissing = chunkOLQKQ3TR_cjs.collectMissingEnvVars(parsedPipeline);
1691
1692
  const allMissing = [.../* @__PURE__ */ new Set([...configMissing, ...pipelineMissing])];
1692
1693
  if (allMissing.length > 0) {
1693
1694
  const projectRoot = await findProjectRoot(pipelinePath);
@@ -1696,8 +1697,8 @@ var runPipelineCommand = async (file, options) => {
1696
1697
  process2__default.default.exit(1);
1697
1698
  }
1698
1699
  }
1699
- const pipeline = await chunkGCF2Q77Q_cjs.loadPipelineDefinition(pipelinePath);
1700
- hasConfigFile ? await chunkGCF2Q77Q_cjs.loadIntellitesterConfig(CONFIG_FILENAME) : void 0;
1700
+ const pipeline = await chunkOLQKQ3TR_cjs.loadPipelineDefinition(pipelinePath);
1701
+ hasConfigFile ? await chunkOLQKQ3TR_cjs.loadIntellitesterConfig(CONFIG_FILENAME) : void 0;
1701
1702
  const result = await runPipeline(pipeline, pipelinePath, {
1702
1703
  headed: options.visible,
1703
1704
  browser: options.browser,
@@ -1752,7 +1753,7 @@ var main = async () => {
1752
1753
  const browser = resolveBrowserName(options.browser || "chrome");
1753
1754
  if (options.preview) {
1754
1755
  const hasConfigFile = await fileExists(CONFIG_FILENAME);
1755
- const config = hasConfigFile ? await chunkGCF2Q77Q_cjs.loadIntellitesterConfig(CONFIG_FILENAME) : void 0;
1756
+ const config = hasConfigFile ? await chunkOLQKQ3TR_cjs.loadIntellitesterConfig(CONFIG_FILENAME) : void 0;
1756
1757
  const { cleanup } = await buildAndPreview(config, process2__default.default.cwd());
1757
1758
  previewCleanup = cleanup;
1758
1759
  }
@@ -1825,21 +1826,21 @@ var main = async () => {
1825
1826
  }
1826
1827
  return;
1827
1828
  }
1828
- if (chunkGCF2Q77Q_cjs.isPipelineFile(file)) {
1829
+ if (chunkOLQKQ3TR_cjs.isPipelineFile(file)) {
1829
1830
  await runPipelineCommand(file, runOpts);
1830
1831
  return;
1831
1832
  }
1832
- if (chunkGCF2Q77Q_cjs.isWorkflowFile(file)) {
1833
+ if (chunkOLQKQ3TR_cjs.isWorkflowFile(file)) {
1833
1834
  await runWorkflowCommand(file, runOpts);
1834
1835
  return;
1835
1836
  }
1836
1837
  const fileContent = await fs3__default.default.readFile(path4__namespace.default.resolve(file), "utf8");
1837
- if (chunkGCF2Q77Q_cjs.isPipelineContent(fileContent)) {
1838
+ if (chunkOLQKQ3TR_cjs.isPipelineContent(fileContent)) {
1838
1839
  console.log(`Note: Detected as pipeline by content structure`);
1839
1840
  await runPipelineCommand(file, runOpts);
1840
1841
  return;
1841
1842
  }
1842
- if (chunkGCF2Q77Q_cjs.isWorkflowContent(fileContent)) {
1843
+ if (chunkOLQKQ3TR_cjs.isWorkflowContent(fileContent)) {
1843
1844
  console.log(`Note: Detected as workflow by content structure`);
1844
1845
  await runWorkflowCommand(file, runOpts);
1845
1846
  return;
@@ -1920,7 +1921,7 @@ Found ${failedCleanups.length} failed cleanup(s):
1920
1921
  if (!hasConfigFile) {
1921
1922
  throw new Error(`No ${CONFIG_FILENAME} found. Cannot retry cleanup without provider configuration.`);
1922
1923
  }
1923
- const config = await chunkGCF2Q77Q_cjs.loadIntellitesterConfig(CONFIG_FILENAME);
1924
+ const config = await chunkOLQKQ3TR_cjs.loadIntellitesterConfig(CONFIG_FILENAME);
1924
1925
  const failedCleanups = await chunkARJYJVRM_cjs.loadFailedCleanups(process2__default.default.cwd());
1925
1926
  if (failedCleanups.length === 0) {
1926
1927
  console.log("No failed cleanups to retry.");