@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 +78 -0
- package/dist/index.cjs +5 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -48
- package/dist/index.d.ts +0 -48
- package/dist/index.js +5 -8
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
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: "
|
|
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
|
-
//
|
|
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
|
-
//
|
|
1479
|
+
// Flag-gated by `AGENT_QA_DEBUG_LLM`; first, so it catches the raw `APICallError`.
|
|
1483
1480
|
debugLoggingMiddleware(),
|
|
1484
|
-
//
|
|
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
|
|
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) {
|