@exodus/xqa 8.2.1 → 8.2.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.
- package/README.md +2 -2
- package/dist/xqa.cjs +20 -8
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -232,7 +232,7 @@ suites:
|
|
|
232
232
|
agents:
|
|
233
233
|
explorer:
|
|
234
234
|
enabled: true
|
|
235
|
-
timeoutSeconds:
|
|
235
|
+
timeoutSeconds: 1200
|
|
236
236
|
buildEnv: dev
|
|
237
237
|
capabilities:
|
|
238
238
|
videoRecording: false
|
|
@@ -258,7 +258,7 @@ Field reference:
|
|
|
258
258
|
| `run.dismissalsPath` | `.xqa/dismissals.json` | Where `xqa review` persists dismissals. |
|
|
259
259
|
| `suites.directory` | `.xqa/suites` | Directory containing `*.suite.json` files. |
|
|
260
260
|
| `agents.explorer.enabled` | `true` | Runs the explorer agent. |
|
|
261
|
-
| `agents.explorer.timeoutSeconds` | `
|
|
261
|
+
| `agents.explorer.timeoutSeconds` | `1200` | Wall-clock limit per explore/spec run. |
|
|
262
262
|
| `agents.explorer.buildEnv` | `dev` | `dev` or `prod`. `dev` ignores debug overlays as findings. |
|
|
263
263
|
| `agents.explorer.capabilities.videoRecording` | `false` | Records the simulator screen to MP4. |
|
|
264
264
|
| `agents.explorer.capabilities.viewUiServer` | `true` | Registers the `view_ui` MCP tool for reading the UI tree. |
|
package/dist/xqa.cjs
CHANGED
|
@@ -71194,7 +71194,7 @@ agents:
|
|
|
71194
71194
|
explorer:
|
|
71195
71195
|
enabled: true
|
|
71196
71196
|
# Maximum wall-clock time for an explore/spec run.
|
|
71197
|
-
timeoutSeconds:
|
|
71197
|
+
timeoutSeconds: 1200
|
|
71198
71198
|
# App under test build environment. 'dev' disables reporting debug overlays as bugs.
|
|
71199
71199
|
buildEnv: dev
|
|
71200
71200
|
capabilities:
|
|
@@ -159823,6 +159823,7 @@ function buildSummaryState(context, references) {
|
|
|
159823
159823
|
return collectChangeSummary({
|
|
159824
159824
|
baseRef: references.baseRef,
|
|
159825
159825
|
gitContext: context.input.gitContext,
|
|
159826
|
+
gitMergeBase: context.deps.gitMergeBase,
|
|
159826
159827
|
gitDiff: context.deps.gitDiff,
|
|
159827
159828
|
gitStatusPorcelain: context.deps.gitStatusPorcelain
|
|
159828
159829
|
}).map((collected) => {
|
|
@@ -159840,12 +159841,14 @@ function resolveHead(input) {
|
|
|
159840
159841
|
return input.gitBranchReference(input.gitContext).map((reference) => branchReferenceToString(reference));
|
|
159841
159842
|
}
|
|
159842
159843
|
function collectChangeSummary(input) {
|
|
159843
|
-
const
|
|
159844
|
+
const mergeBase = input.gitMergeBase({ context: input.gitContext, baseRef: input.baseRef });
|
|
159844
159845
|
const status = input.gitStatusPorcelain(input.gitContext);
|
|
159845
|
-
return import_neverthrow92.ResultAsync.combine([
|
|
159846
|
-
rawDiff
|
|
159847
|
-
|
|
159848
|
-
|
|
159846
|
+
return import_neverthrow92.ResultAsync.combine([mergeBase, status]).andThen(
|
|
159847
|
+
([mergeBaseSha, porcelainLines]) => input.gitDiff({ context: input.gitContext, baseSha: mergeBaseSha }).map((rawDiff) => ({
|
|
159848
|
+
rawDiff,
|
|
159849
|
+
summary: summarizeDiff(rawDiff, extractUncommittedFiles(porcelainLines))
|
|
159850
|
+
}))
|
|
159851
|
+
);
|
|
159849
159852
|
}
|
|
159850
159853
|
function toSpecSummaries(entries) {
|
|
159851
159854
|
return entries.map((entry) => ({
|
|
@@ -160119,6 +160122,7 @@ function buildState(input) {
|
|
|
160119
160122
|
return collectChangeSummary({
|
|
160120
160123
|
baseRef: references.sinceSha,
|
|
160121
160124
|
gitContext: context.input.gitContext,
|
|
160125
|
+
gitMergeBase: context.deps.gitMergeBase,
|
|
160122
160126
|
gitDiff: context.deps.gitDiff,
|
|
160123
160127
|
gitStatusPorcelain: context.deps.gitStatusPorcelain
|
|
160124
160128
|
}).map((collected) => ({
|
|
@@ -160563,7 +160567,8 @@ function toExecError(cause, command) {
|
|
|
160563
160567
|
async function runGit(input) {
|
|
160564
160568
|
const { stdout, stderr } = await execFileAsync("git", [...input.commandArguments], {
|
|
160565
160569
|
cwd: input.context.cwd,
|
|
160566
|
-
env: buildEnv2(input.context)
|
|
160570
|
+
env: buildEnv2(input.context),
|
|
160571
|
+
maxBuffer: Infinity
|
|
160567
160572
|
});
|
|
160568
160573
|
return { stdout, stderr };
|
|
160569
160574
|
}
|
|
@@ -160607,6 +160612,11 @@ function gitCommitExists(input) {
|
|
|
160607
160612
|
function gitDiff(input) {
|
|
160608
160613
|
return execGit(diffArguments(input), input.context).map((result) => result.stdout);
|
|
160609
160614
|
}
|
|
160615
|
+
function gitMergeBase(input) {
|
|
160616
|
+
return execGit(["merge-base", input.baseRef, "HEAD"], input.context).map(
|
|
160617
|
+
(result) => result.stdout.trim()
|
|
160618
|
+
);
|
|
160619
|
+
}
|
|
160610
160620
|
function gitStatusPorcelain(context) {
|
|
160611
160621
|
return execGit(["status", "--porcelain=v1"], context).map(
|
|
160612
160622
|
(result) => splitNonEmptyLines(result.stdout)
|
|
@@ -161262,6 +161272,7 @@ function ulid3(seedTime, prng) {
|
|
|
161262
161272
|
var DEPS2 = {
|
|
161263
161273
|
gitBranchReference,
|
|
161264
161274
|
gitCommitExists,
|
|
161275
|
+
gitMergeBase,
|
|
161265
161276
|
gitDiff,
|
|
161266
161277
|
gitStatusPorcelain,
|
|
161267
161278
|
emitScenarios: (input) => emitScenarios(input, { callAi: callScenarioEmitter }),
|
|
@@ -161304,6 +161315,7 @@ function buildDeps(input) {
|
|
|
161304
161315
|
return {
|
|
161305
161316
|
gitBranchReference,
|
|
161306
161317
|
resolveBaseBranch: (gitContext) => resolveBaseBranch(gitContext, { ghDetectPrBaseBranch, gitSymbolicReferenceOriginHead }),
|
|
161318
|
+
gitMergeBase,
|
|
161307
161319
|
gitDiff,
|
|
161308
161320
|
gitStatusPorcelain,
|
|
161309
161321
|
emitScenarios: (emitInput) => emitScenarios(emitInput, { callAi: callScenarioEmitter, emitDebug }),
|
|
@@ -181015,7 +181027,7 @@ function buildProgram(options) {
|
|
|
181015
181027
|
|
|
181016
181028
|
// src/index.ts
|
|
181017
181029
|
process.title = "xqa";
|
|
181018
|
-
var version2 = `${"8.2.
|
|
181030
|
+
var version2 = `${"8.2.2"}${false ? ` (dev build +${"447ee08"})` : ""}`;
|
|
181019
181031
|
var program2 = buildProgram({ version: version2 });
|
|
181020
181032
|
void program2.parseAsync(process.argv);
|
|
181021
181033
|
/*! Bundled license information:
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@exodus/xqa",
|
|
3
3
|
"description": "AI-powered QA CLI tool for autonomous mobile app testing",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "8.2.
|
|
5
|
+
"version": "8.2.2",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": ">=22"
|
|
@@ -55,15 +55,15 @@
|
|
|
55
55
|
"@qa-agents/config": "1.0.0",
|
|
56
56
|
"@qa-agents/consolidator": "1.0.0",
|
|
57
57
|
"@qa-agents/display": "1.0.0",
|
|
58
|
+
"@qa-agents/eslint-config": "1.0.0",
|
|
58
59
|
"@qa-agents/explorer": "1.0.0",
|
|
59
60
|
"@qa-agents/mobile-ios": "1.0.0",
|
|
60
61
|
"@qa-agents/pipeline": "1.0.0",
|
|
61
|
-
"@qa-agents/eslint-config": "1.0.0",
|
|
62
|
-
"@qa-agents/shared": "1.0.0",
|
|
63
|
-
"@qa-agents/reporter-github": "1.0.0",
|
|
64
62
|
"@qa-agents/planner": "1.0.0",
|
|
63
|
+
"@qa-agents/reporter-github": "1.0.0",
|
|
64
|
+
"@qa-agents/typescript-config": "1.0.0",
|
|
65
65
|
"@qa-agents/triager": "1.0.0",
|
|
66
|
-
"@qa-agents/
|
|
66
|
+
"@qa-agents/shared": "1.0.0"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@octokit/rest": "^21.0.0",
|