@exodus/xqa 1.15.0 → 1.15.2

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 (2) hide show
  1. package/dist/xqa.cjs +38 -21
  2. package/package.json +5 -5
package/dist/xqa.cjs CHANGED
@@ -54299,11 +54299,27 @@ function isTerminal(item) {
54299
54299
  }
54300
54300
  return TERMINAL_STATUSES.has(item.status);
54301
54301
  }
54302
+ function isRunning(item) {
54303
+ return item?.status === "running";
54304
+ }
54302
54305
  function transitionedIds(state, previous) {
54303
54306
  return state.itemOrder.filter((id) => {
54304
54307
  return isTerminal(state.items.get(id)) && !isTerminal(previous.items.get(id));
54305
54308
  });
54306
54309
  }
54310
+ function startedIds(state, previous) {
54311
+ return state.itemOrder.filter((id) => {
54312
+ return isRunning(state.items.get(id)) && !isRunning(previous.items.get(id));
54313
+ });
54314
+ }
54315
+ function renderStarted(itemId, state) {
54316
+ const item = state.items.get(itemId);
54317
+ if (item === void 0) {
54318
+ return "";
54319
+ }
54320
+ return `[xqa] started: ${item.name}
54321
+ `;
54322
+ }
54307
54323
  function renderAnnotationLevel(level) {
54308
54324
  switch (level) {
54309
54325
  case "warning": {
@@ -54371,12 +54387,16 @@ Total: ${String(total)}, Failed: ${String(failed)}
54371
54387
  `;
54372
54388
  }
54373
54389
  function githubCiDecorator({ state, previous, filter }) {
54390
+ const started = startedIds(state, previous);
54374
54391
  const ids = transitionedIds(state, previous);
54375
54392
  const suiteJustEnded = state.suiteEnded && !previous.suiteEnded;
54376
- if (ids.length === 0 && !suiteJustEnded) {
54393
+ if (started.length === 0 && ids.length === 0 && !suiteJustEnded) {
54377
54394
  return "";
54378
54395
  }
54379
54396
  let output = "";
54397
+ for (const id of started) {
54398
+ output += renderStarted(id, state);
54399
+ }
54380
54400
  for (const id of ids) {
54381
54401
  output += renderGroup({ itemId: id, state, filter });
54382
54402
  }
@@ -76102,31 +76122,29 @@ function resolveFreestyleTimeout(item, config3) {
76102
76122
  }
76103
76123
  return config3.QA_EXPLORE_TIMEOUT_SECONDS ?? DEFAULT_FREESTYLE_TIMEOUT_SECONDS2;
76104
76124
  }
76105
- function buildFreestyleExplorerConfig(input) {
76106
- const { item, context, simulatorUdid } = input;
76107
- const { config: config3, date: date5, appContext } = context;
76108
- return {
76109
- mode: "freestyle",
76110
- date: date5,
76111
- mcpServers: createDefaultMcpServers(simulatorUdid),
76112
- allowedTools: ALLOWED_TOOLS,
76113
- timeoutMs: resolveFreestyleTimeout(item, config3) * MS_PER_SECOND4,
76114
- appContext: composeAppContext([buildDeviceInstruction(simulatorUdid), appContext, item.prompt]),
76115
- buildEnv: config3.QA_BUILD_ENV,
76116
- cwd: ensureWorkerCwd(simulatorUdid),
76117
- record: true
76118
- };
76119
- }
76120
76125
  function buildFreestylePipelineConfig(input) {
76121
76126
  const { item, context, signal, simulatorUdid, onEvent } = input;
76122
- const { xqaDirectory, runId } = context;
76127
+ const { config: config3, xqaDirectory, runId, date: date5, appContext } = context;
76123
76128
  return {
76124
76129
  outputDir: import_node_path21.default.join(xqaDirectory, "output", item.id),
76125
76130
  runId,
76126
76131
  simulatorUdid,
76127
76132
  signal,
76128
76133
  onEvent,
76129
- explorer: buildFreestyleExplorerConfig(input)
76134
+ explorer: {
76135
+ mode: "freestyle",
76136
+ date: date5,
76137
+ mcpServers: createDefaultMcpServers(simulatorUdid),
76138
+ allowedTools: ALLOWED_TOOLS,
76139
+ timeoutMs: resolveFreestyleTimeout(item, config3) * MS_PER_SECOND4,
76140
+ appContext: composeAppContext([
76141
+ buildDeviceInstruction(simulatorUdid),
76142
+ appContext,
76143
+ item.prompt
76144
+ ]),
76145
+ buildEnv: config3.QA_BUILD_ENV,
76146
+ cwd: ensureWorkerCwd(simulatorUdid)
76147
+ }
76130
76148
  };
76131
76149
  }
76132
76150
  function executeFreestyleItem(input) {
@@ -76148,8 +76166,7 @@ function buildSpecPipelineConfig(input) {
76148
76166
  allowedTools: ALLOWED_TOOLS,
76149
76167
  appContext: composeAppContext([buildDeviceInstruction(simulatorUdid), appContext]),
76150
76168
  buildEnv: config3.QA_BUILD_ENV,
76151
- cwd: ensureWorkerCwd(simulatorUdid),
76152
- record: true
76169
+ cwd: ensureWorkerCwd(simulatorUdid)
76153
76170
  }
76154
76171
  };
76155
76172
  }
@@ -76440,7 +76457,7 @@ function resolveXqaDirectory() {
76440
76457
  return result.value;
76441
76458
  }
76442
76459
  var program2 = new Command();
76443
- program2.name("xqa").description("AI-powered QA agent CLI").version(`${"1.15.0"}${false ? ` (dev build +${"befb4fb"})` : ""}`);
76460
+ program2.name("xqa").description("AI-powered QA agent CLI").version(`${"1.15.2"}${false ? ` (dev build +${"409fb4d"})` : ""}`);
76444
76461
  program2.command("init").description("Initialize a new xqa project in the current directory").action(() => {
76445
76462
  runInitCommand();
76446
76463
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/xqa",
3
- "version": "1.15.0",
3
+ "version": "1.15.2",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22"
@@ -26,13 +26,13 @@
26
26
  "typescript": "^5.8.3",
27
27
  "vitest": "^3.2.1",
28
28
  "zod": "^3.0.0",
29
- "@qa-agents/display": "0.0.0",
30
29
  "@qa-agents/eslint-config": "0.0.0",
31
30
  "@qa-agents/explorer": "0.0.0",
32
- "@qa-agents/mobile-ios": "0.0.0",
33
- "@qa-agents/shared": "0.0.0",
34
31
  "@qa-agents/pipeline": "0.0.0",
35
- "@qa-agents/typescript-config": "0.0.0"
32
+ "@qa-agents/shared": "0.0.0",
33
+ "@qa-agents/typescript-config": "0.0.0",
34
+ "@qa-agents/mobile-ios": "0.0.0",
35
+ "@qa-agents/display": "0.0.0"
36
36
  },
37
37
  "dependencies": {
38
38
  "ajv": "^8.18.0",