@vostride/agent-qa-model 0.2.2 → 0.2.4

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 ADDED
@@ -0,0 +1,78 @@
1
+ <picture>
2
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/banner-dark.jpg">
3
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/banner-light.png">
4
+ <img src="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/banner-light.png" alt="agent-qa by vostride — a self-improving QA agent for your software factory" width="100%">
5
+ </picture>
6
+
7
+ <p align="center">
8
+ <strong>English</strong> · <a href="https://github.com/vostride/agent-qa/blob/main/README.zh-CN.md">中文</a>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/agent-qa"><img src="https://img.shields.io/npm/v/agent-qa?color=196872" alt="npm version"></a>
13
+ <a href="https://www.npmjs.com/package/agent-qa"><img src="https://img.shields.io/npm/dm/agent-qa?color=196872" alt="npm downloads per month"></a>
14
+ <a href="https://github.com/vostride/agent-qa/stargazers"><img src="https://img.shields.io/github/stars/vostride/agent-qa?color=196872" alt="GitHub stars"></a>
15
+ <a href="https://github.com/vostride/agent-qa/actions/workflows/ci.yml"><img src="https://github.com/vostride/agent-qa/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI"></a>
16
+ <a href="https://vostride.com/docs/agent-qa"><img src="https://img.shields.io/badge/docs-agent--qa-196872" alt="Documentation"></a>
17
+ <a href="https://github.com/vostride/agent-qa/blob/main/LICENSE.md"><img src="https://img.shields.io/badge/license-FSL--1.1--ALv2-196872" alt="License: FSL-1.1-ALv2"></a>
18
+ </p>
19
+
20
+ <p align="center">
21
+ <a href="https://vostride.com/agent-qa">Website</a> · <a href="https://vostride.com/docs/agent-qa">Docs</a> · <a href="https://vostride.com/demo/agent-qa">Demo</a> · <a href="https://vostride.com/blog">Blog</a> · <a href="https://vostride.com/changelog">Changelog</a>
22
+ </p>
23
+
24
+ **Your AI QA engineer, with memory.** Describe a user journey in plain language. agent-qa tests it on web, Android or iOS and keeps the evidence. Use the CLI, the dashboard, or your coding agent through MCP and skills.
25
+
26
+ - **memidex:** remembers facts and working procedures as reviewable files in your repository.
27
+ - **Self-improvement:** validates lessons from runs, retires stale knowledge, and uses your feedback to correct mistakes.
28
+
29
+ | Benchmark | Rank | Published result |
30
+ | --- | --- | --- |
31
+ | [AndroidWorld](https://vostride.com/benchmark/android-world) | **#1** | **100% pass@1** (116/116 tasks) |
32
+ | [AppControlBench](https://vostride.com/benchmark/app-control-bench) | **#1** | **99.6% completion** (114.5/115 points) |
33
+
34
+ Read the full benchmark reports, with run evidence and methodology, on [our blog](https://vostride.com/blog). Both used gpt-6-sol with memory and self-improvement off; AppControlBench gives half credit for partial completion.
35
+
36
+ ## See it in action
37
+
38
+ **Inspect a failure.** The demo catches a cart showing $29 instead of $53, with the failed step and its screenshot side by side.
39
+
40
+ <picture>
41
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/evidence-dark.png">
42
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/evidence-light.png">
43
+ <img src="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/evidence-light.png" alt="The dashboard shows the deliberate cart-total bug, its failed assertion, and recorded browser evidence" width="100%">
44
+ </picture>
45
+
46
+ **See what memory contributed.** Inspect the knowledge supplied to a run and trace it back to the steps that used it.
47
+
48
+ <picture>
49
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/knowledge-dark.png">
50
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/knowledge-light.png">
51
+ <img src="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/knowledge-light.png" alt="The Knowledge tab shows stored facts retrieved for the demo run" width="100%">
52
+ </picture>
53
+
54
+ **Run from your terminal.** Real output from the demo suite: checkout passes; the deliberate cart-total bug fails.
55
+
56
+ <picture>
57
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/cli-dark.png">
58
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/cli-light.png">
59
+ <img src="https://raw.githubusercontent.com/vostride/agent-qa/main/docs/assets/readme/cli-light.png" alt="CLI output excerpt showing one passed test, one failed test, and eight of nine steps passing" width="100%">
60
+ </picture>
61
+
62
+ ## Get started
63
+
64
+ Requires Node.js 24+.
65
+
66
+ ```sh
67
+ npm install -D agent-qa
68
+ npx agent-qa init
69
+ ```
70
+
71
+ Follow the [quickstart](https://vostride.com/docs/agent-qa/quickstart) to connect a model and run the demo, or [set up with your coding agent](https://vostride.com/docs/agent-qa/agent-quickstart).
72
+
73
+ > [!NOTE]
74
+ > Early stage. Expect bugs. [Report an issue](https://github.com/vostride/agent-qa/issues) when something breaks.
75
+
76
+ ## License
77
+
78
+ [Functional Source License (FSL-1.1-ALv2)](https://github.com/vostride/agent-qa/blob/main/LICENSE.md).
package/dist/index.cjs CHANGED
@@ -790,7 +790,7 @@ var LOCAL_OPENAI_WIRE = [
790
790
  {
791
791
  id: "deepseek-chat",
792
792
  label: "DeepSeek Chat",
793
- notes: "text-only model; use accessibility tree and DOM context."
793
+ notes: "Text-only model; use the accessibility tree."
794
794
  },
795
795
  { id: "deepseek-r1", label: "DeepSeek R1", notes: "Text-only reasoning model." },
796
796
  { id: "qwen2.5-vl", label: "Qwen2.5 VL" },
@@ -1326,10 +1326,7 @@ function seedBuiltins() {
1326
1326
  subscription: true,
1327
1327
  modelAdapter: "openai-responses",
1328
1328
  defaultModel: "gpt-6.1-sol",
1329
- // RUNX-01: the codex/ChatGPT-subscription Responses backend rejects the output cap
1330
- // (`max_output_tokens`) with HTTP 400. Strip it at egress for this provider ONLY —
1331
- // standard OpenAI-compatible `.chat()` endpoints and Anthropic support the cap.
1332
- // 2026-10-20 (446-11, D-18): it also answers 400 "Unsupported parameter: temperature".
1329
+ // The subscription backend rejects `max_output_tokens` and `temperature` with HTTP 400.
1333
1330
  unsupportedParams: ["maxOutputTokens", "temperature"]
1334
1331
  });
1335
1332
  registerProvider({
@@ -1479,9 +1476,9 @@ var MIDDLEWARE = [
1479
1476
  toolSchemaMiddleware,
1480
1477
  deriveExamplesMiddleware(),
1481
1478
  (0, import_ai4.addToolInputExamplesMiddleware)(),
1482
- // RUNX-04: flag-gated debug logging (AGENT_QA_DEBUG_LLM); catches the raw APICallError first.
1479
+ // Flag-gated by `AGENT_QA_DEBUG_LLM`; first, so it catches the raw `APICallError`.
1483
1480
  debugLoggingMiddleware(),
1484
- // RUNX-01: strip empty-content messages just before the wire.
1481
+ // Strips empty-content messages just before the wire.
1485
1482
  dropEmptyMessagesMiddleware()
1486
1483
  ];
1487
1484
  function createModel(profile, auth, mask, overrides = {}, observation = {}) {
@@ -1630,7 +1627,7 @@ function resolveVisionConfig(servicesVision) {
1630
1627
  // src/vision/resolve-gate.ts
1631
1628
  var TEXT_ONLY_PROMPT_NOTE = [
1632
1629
  "Visual screenshot is unavailable for this step.",
1633
- "Rely on the accessibility tree and DOM context for element identification, including roles, names, values, refs, and URLs.",
1630
+ "Rely on the accessibility tree for element identification, including roles, names, values, refs, and URLs.",
1634
1631
  "Verify functional state from the available structured context rather than purely visual appearance."
1635
1632
  ].join(" ");
1636
1633
  function visionFromConfig(configured, capabilities) {