common-qa-mcp 0.5.0 → 0.7.0
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 +37 -79
- package/dist/adapters/remoteMcp/adapter.d.ts +7 -1
- package/dist/adapters/remoteMcp/adapter.d.ts.map +1 -1
- package/dist/adapters/remoteMcp/adapter.js +8 -3
- package/dist/adapters/remoteMcp/adapter.js.map +1 -1
- package/dist/adapters/simplifyqa/adapter.d.ts +112 -26
- package/dist/adapters/simplifyqa/adapter.d.ts.map +1 -1
- package/dist/adapters/simplifyqa/adapter.js +731 -240
- package/dist/adapters/simplifyqa/adapter.js.map +1 -1
- package/dist/adapters/simplifyqa/mapper.d.ts +5 -1
- package/dist/adapters/simplifyqa/mapper.d.ts.map +1 -1
- package/dist/adapters/simplifyqa/mapper.js +45 -1
- package/dist/adapters/simplifyqa/mapper.js.map +1 -1
- package/dist/adapters/types.d.ts +55 -13
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/walnut/actionTypes.d.ts +1 -1
- package/dist/adapters/walnut/actionTypes.d.ts.map +1 -1
- package/dist/adapters/walnut/actionTypes.js +37 -0
- package/dist/adapters/walnut/actionTypes.js.map +1 -1
- package/dist/adapters/walnut/mapper.d.ts.map +1 -1
- package/dist/adapters/walnut/mapper.js +12 -1
- package/dist/adapters/walnut/mapper.js.map +1 -1
- package/dist/domain/types.d.ts +105 -15
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/initAgents.d.ts.map +1 -1
- package/dist/initAgents.js +132 -26
- package/dist/initAgents.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +95 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/backlog.tools.d.ts.map +1 -1
- package/dist/tools/backlog.tools.js +24 -2
- package/dist/tools/backlog.tools.js.map +1 -1
- package/dist/tools/connection.tools.d.ts.map +1 -1
- package/dist/tools/connection.tools.js +15 -3
- package/dist/tools/connection.tools.js.map +1 -1
- package/dist/tools/defects.tools.d.ts.map +1 -1
- package/dist/tools/defects.tools.js +29 -3
- package/dist/tools/defects.tools.js.map +1 -1
- package/dist/tools/discovery.tools.d.ts.map +1 -1
- package/dist/tools/discovery.tools.js +304 -137
- package/dist/tools/discovery.tools.js.map +1 -1
- package/dist/tools/gapAnalysis.tools.d.ts +31 -0
- package/dist/tools/gapAnalysis.tools.d.ts.map +1 -0
- package/dist/tools/gapAnalysis.tools.js +287 -0
- package/dist/tools/gapAnalysis.tools.js.map +1 -0
- package/dist/tools/impactAnalysis.tools.d.ts +17 -0
- package/dist/tools/impactAnalysis.tools.d.ts.map +1 -0
- package/dist/tools/impactAnalysis.tools.js +352 -0
- package/dist/tools/impactAnalysis.tools.js.map +1 -0
- package/dist/tools/markdown.d.ts.map +1 -1
- package/dist/tools/markdown.js +9 -5
- package/dist/tools/markdown.js.map +1 -1
- package/dist/tools/objects.tools.d.ts.map +1 -1
- package/dist/tools/objects.tools.js +174 -18
- package/dist/tools/objects.tools.js.map +1 -1
- package/dist/tools/recording.tools.d.ts.map +1 -1
- package/dist/tools/recording.tools.js +108 -10
- package/dist/tools/recording.tools.js.map +1 -1
- package/dist/tools/run.tools.d.ts.map +1 -1
- package/dist/tools/run.tools.js +257 -63
- package/dist/tools/run.tools.js.map +1 -1
- package/dist/tools/tasks.tools.d.ts.map +1 -1
- package/dist/tools/tasks.tools.js +29 -3
- package/dist/tools/tasks.tools.js.map +1 -1
- package/dist/tools/testcase.tools.d.ts.map +1 -1
- package/dist/tools/testcase.tools.js +14 -5
- package/dist/tools/testcase.tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,61 +1,16 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Common QA MCP
|
|
2
2
|
|
|
3
|
-
One **product-neutral MCP** that AI
|
|
4
|
-
|
|
5
|
-
discover
|
|
3
|
+
One **product-neutral MCP** that any AI client (Claude Code, Cursor, Windsurf, VS Code, Codex,
|
|
4
|
+
Devin) connects to with a **URL + token** to drive the whole test-case lifecycle —
|
|
5
|
+
**discover · author · record · run · triage** — against **Walnut** or **SimplifyQA**. The client
|
|
6
|
+
sees one tool vocabulary regardless of the product behind it.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
mainframe recording**) or directly over the **backend REST API** (lifecycle only, no recording).
|
|
9
|
-
- **SimplifyQA** — over the SimplifyQA agent's own MCP (`SimplifyQaAdapter`, an MCP client).
|
|
10
|
-
|
|
11
|
-
The client sees **one tool vocabulary** and **one neutral data model** regardless of product.
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
┌─▶ Walnut agent /mcp ─▶ Walnut backend (+ web & mainframe recording)
|
|
15
|
-
AI client ──MCP (url+token)──▶ SIMPLIFY3X MCP ─┤─▶ Walnut backend REST (lifecycle only)
|
|
16
|
-
└─▶ SimplifyQA agent /mcp ─▶ SQA backend
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## What you can do
|
|
20
|
-
- **Discover** — projects, test cases, suites, and user stories.
|
|
21
|
-
- **Author manual test cases** — draft plain-prose steps that cover a story's acceptance criteria
|
|
22
|
-
(`tc_draft_*`), then promote them to automated in place.
|
|
23
|
-
- **Record automated test cases** — delegate a goal to a technology sub-agent that drives a **real
|
|
24
|
-
browser** (`web`) or a **TN3270 mainframe terminal** (`mainframe`), capturing real
|
|
25
|
-
locators/fields and assertions. _(Requires the Simplifyqa agent — see below. `android` / `db` are
|
|
26
|
-
declared but not built yet.)_
|
|
27
|
-
- **Run & triage** — execute a test case or a suite **local or cloud**, poll status, and report the
|
|
28
|
-
failing step + report link.
|
|
29
|
-
- **Modify** — edit an existing test case's steps (loop / if-else / nested / add / remove / move)
|
|
30
|
-
without re-recording the structure.
|
|
31
|
-
- **Sync a story to its test cases** — compare a user story's acceptance criteria against every
|
|
32
|
-
linked **manual** test case and get a structured drift report with the exact draft ops
|
|
33
|
-
(`add_step` / `update_step` / `remove_step`) to re-align them. Report-only; the caller applies
|
|
34
|
-
the ops via `tc_draft_open` → `tc_draft_update` → `tc_save` on the **same** TC id, so params,
|
|
35
|
-
testdata, run history, and suite membership are preserved. Automation TCs are routed to
|
|
36
|
-
`skipped[]` (v1 scope — automation drift needs recording). (`story_sync_testcases`)
|
|
37
|
-
|
|
38
|
-
## How recording works (and what it needs)
|
|
39
|
-
Recording can't run inside an `npx` gateway — `web` needs a real browser/Electron window and
|
|
40
|
-
`mainframe` needs an HLLAPI terminal attachment. That engine lives in the **Simplifyqa agent**, which
|
|
41
|
-
mounts this same core with the extra deps injected. So:
|
|
42
|
-
|
|
43
|
-
- Point **`QA_MCP_URL` at the Simplifyqa agent's `/mcp`** (default `http://127.0.0.1:4040/mcp`) and the
|
|
44
|
-
gateway **relays** the recording tools to it — you get the full surface.
|
|
45
|
-
- Point it at the **backend REST URL** for a zero-agent gateway: discovery / drafts / save / run,
|
|
46
|
-
**no recording**.
|
|
8
|
+
## Install
|
|
47
9
|
|
|
48
|
-
|
|
49
|
-
`sessionId` immediately, and opens a live window; you then **poll** `web_status` (or
|
|
50
|
-
`mainframe_status`) until `status` is `"done"`, which returns an **unsaved draft**. Nothing is
|
|
51
|
-
persisted until you explicitly save. **Mainframe** additionally needs the agent on **Windows** with
|
|
52
|
-
`WINDOWS_MCP_ENABLED` and a 3270 emulator (Quick3270 `.ecf` / IBM PCOMM `.ws` / Micro Focus
|
|
53
|
-
Reflection `.rd3x`).
|
|
10
|
+
Nothing to clone or build — clients launch it over stdio with `npx`. Requires **Node ≥ 20**.
|
|
54
11
|
|
|
55
|
-
|
|
56
|
-
Nothing to build or clone — AI clients launch it over stdio with `npx`. Requires **Node ≥ 20**.
|
|
12
|
+
Add it to your client's MCP config (`.mcp.json` for Claude Code / Cursor / Windsurf):
|
|
57
13
|
|
|
58
|
-
`.mcp.json` (Claude Code, Cursor, Windsurf, …):
|
|
59
14
|
```json
|
|
60
15
|
{
|
|
61
16
|
"mcpServers": {
|
|
@@ -63,43 +18,46 @@ Nothing to build or clone — AI clients launch it over stdio with `npx`. Requir
|
|
|
63
18
|
"command": "npx",
|
|
64
19
|
"args": ["-y", "common-qa-mcp"],
|
|
65
20
|
"env": {
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
21
|
+
"QA_MCP_PROVIDER": "walnut",
|
|
22
|
+
"QA_BASE_URL": "https://<your-backend>",
|
|
23
|
+
"QA_MCP_URL": "http://127.0.0.1:4050/mcp",
|
|
24
|
+
"QA_MCP_TOKEN": "<your-token>",
|
|
25
|
+
"QA_MCP_PROJECT_ID": "<optional-project-id>"
|
|
69
26
|
}
|
|
70
27
|
}
|
|
71
28
|
}
|
|
72
29
|
}
|
|
73
30
|
```
|
|
74
|
-
- `QA_MCP_URL` — the Walnut/Simplifyqa **agent** (`…:4040/mcp`) for the full surface incl. recording, or the
|
|
75
|
-
**backend REST** URL for lifecycle only.
|
|
76
|
-
- `QA_MCP_TOKEN` — your **raw** auth token (JWT, **no** `Bearer` prefix).
|
|
77
|
-
- `QA_MCP_PRODUCT` — `walnut` (default) or `simplifyqa`.
|
|
78
|
-
- `QA_MCP_PROJECT_ID` — **optional**; add it to pin a default project, or omit it and the agent asks
|
|
79
|
-
which project to use (then `qa_switch_project` changes it anytime).
|
|
80
31
|
|
|
81
|
-
|
|
82
|
-
|
|
32
|
+
| Env var | Required | Purpose |
|
|
33
|
+
|---|:---:|---|
|
|
34
|
+
| `QA_MCP_PROVIDER` | — | `walnut` (default) or `simplifyqa`. |
|
|
35
|
+
| `QA_BASE_URL` | ✓\* | Product **backend REST** — drives discover / author / run / triage (no agent needed). |
|
|
36
|
+
| `QA_MCP_URL` | ✓\* | Your **local agent's `/mcp`** — adds **recording** + journal editing (browser / mainframe). |
|
|
37
|
+
| `QA_MCP_TOKEN` | ✓ | Raw auth token (JWT — **no** `Bearer` prefix). |
|
|
38
|
+
| `QA_MCP_PROJECT_ID` | — | Pin a default project; omit and you'll be asked (change anytime with `qa_switch_project`). |
|
|
39
|
+
|
|
40
|
+
\* Set **`QA_BASE_URL`** for the lifecycle over direct REST, and **`QA_MCP_URL`** to add recording.
|
|
41
|
+
Set **both** for the full experience, or only `QA_BASE_URL` for a zero-agent setup (no recording).
|
|
42
|
+
With **neither** set it starts **offline** — draft authoring only — and you connect later from chat
|
|
43
|
+
with `qa_connect`.
|
|
44
|
+
|
|
45
|
+
> **Recording** (`web` / `mainframe`/ `mobile`) runs on the local agent, so `QA_MCP_URL` must point at a
|
|
46
|
+
> **running** agent.
|
|
47
|
+
|
|
48
|
+
## Install the QA agent (optional)
|
|
49
|
+
|
|
50
|
+
Drops a QA persona + tool guidance into your project so the client knows how to drive these tools:
|
|
83
51
|
|
|
84
|
-
Install the QA agent (persona + tool guidance) into your project:
|
|
85
52
|
```bash
|
|
86
|
-
npx common-qa-mcp init-agents --loop=claude
|
|
53
|
+
npx common-qa-mcp init-agents --loop=claude # claude | cursor | windsurf | vscode | codex | devin | all
|
|
54
|
+
# --server-name <name> # must match your MCP server name (default: common-qa-mcp)
|
|
87
55
|
```
|
|
88
|
-
The generated agent files scope tool access to this MCP with a wildcard (`mcp__<server>__*` for
|
|
89
|
-
Claude/Devin, `<server>/*` for VS Code) — so **every** QA tool is available and **none** of the
|
|
90
|
-
editor's own tools leak in. (Cursor and Windsurf install as *rules*, Codex as `AGENTS.md` — those
|
|
91
|
-
formats have no tool-allowlist field, so the QA tool list rides along as in-body guidance there.)
|
|
92
|
-
The `<server>` must match the server name in your editor's MCP config
|
|
93
|
-
(each editor keeps that config in its own file), so it defaults to `common-qa-mcp` and can be set
|
|
94
|
-
explicitly with `--server-name <name>`. Name your server `common-qa-mcp` in the config above (or pass
|
|
95
|
-
`--server-name`) so the wildcard resolves.
|
|
96
|
-
|
|
97
|
-
The installed agent asks which **technology** (web / mainframe / android / db) and **manual or
|
|
98
|
-
automated** before recording, and **never saves on its own** — it persists a test case only when you
|
|
99
|
-
explicitly tell it to.
|
|
100
56
|
|
|
101
57
|
## Use it
|
|
58
|
+
|
|
102
59
|
Reload your client, then drive it in plain language:
|
|
60
|
+
|
|
103
61
|
- _"List my projects"_ → _"switch to project X"_
|
|
104
|
-
- _"Record a login test on web"_ → answer the setup questions → review the draft → _"save
|
|
62
|
+
- _"Record a login test on web"_ → answer the setup questions → review the draft → _"save it"_
|
|
105
63
|
- _"Run TC_123 on cloud"_ · _"show me the login stories"_ · _"add a loop around steps 3–5 of TC_42"_
|
|
@@ -51,7 +51,10 @@ export declare class RemoteMcpAdapter implements ProviderAdapter {
|
|
|
51
51
|
createTestCase(tc: TestCase): Promise<SavedRef>;
|
|
52
52
|
updateTestCase(id: string, tc: TestCase): Promise<SavedRef>;
|
|
53
53
|
deleteTestCase(id: string): Promise<void>;
|
|
54
|
-
cloneTestCase(id: string, title
|
|
54
|
+
cloneTestCase(id: string, title: string, opts: {
|
|
55
|
+
tdCopy: boolean;
|
|
56
|
+
sourceVersionId?: string;
|
|
57
|
+
}): Promise<SavedRef>;
|
|
55
58
|
searchObjects(q: ObjectQuery): Promise<QaObject[]>;
|
|
56
59
|
createObject(o: QaObject): Promise<QaObject>;
|
|
57
60
|
actionsCatalog(platform?: string): Promise<ActionDef[]>;
|
|
@@ -100,6 +103,9 @@ export declare class RemoteMcpAdapter implements ProviderAdapter {
|
|
|
100
103
|
updateObject(id: string, changes: {
|
|
101
104
|
name?: string;
|
|
102
105
|
locators?: Locator[];
|
|
106
|
+
description?: string;
|
|
107
|
+
parameterNames?: string[];
|
|
108
|
+
moduleName?: string;
|
|
103
109
|
}): Promise<QaObject>;
|
|
104
110
|
productUrlFor(entity: EntityRef): string;
|
|
105
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/remoteMcp/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EACV,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAC1K,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EACrM,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAClD,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,SAAS,CAAC;AAkBrD,qBAAa,gBAAiB,YAAW,eAAe;IAIpD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IALpC,OAAO,CAAC,aAAa,CAAgC;gBAGlC,GAAG,EAAE,iBAAiB;IACvC,qFAAqF;IACpE,gBAAgB,CAAC,EAAE,sBAAsB,YAAA;IAK5D,OAAO,CAAC,OAAO;YAUD,MAAM;IA2BpB;;;;;;OAMG;YACW,QAAQ;IAUtB;;;wCAGoC;IACpC,OAAO,CAAC,aAAa;IAUrB,+FAA+F;YACjF,IAAI;IAalB,6EAA6E;YAC/D,QAAQ;IAQhB,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAI5B,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzC,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI/C,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9D,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI/C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI3D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,aAAa,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/remoteMcp/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ export class RemoteMcpAdapter {
|
|
|
38
38
|
async client() {
|
|
39
39
|
if (!this.clientPromise) {
|
|
40
40
|
this.clientPromise = (async () => {
|
|
41
|
-
const client = new Client({ name: 'common-qa-mcp', version: '0.
|
|
41
|
+
const client = new Client({ name: 'common-qa-mcp', version: '0.7.0' });
|
|
42
42
|
// The `as Transport` cast bridges exactOptionalPropertyTypes: StreamableHTTPClientTransport
|
|
43
43
|
// implements Transport, but the SDK's own .d.ts (built without EOPT) leaves its optional
|
|
44
44
|
// callbacks (onclose?/onerror?/onmessage?) without `| undefined`, which this project's EOPT
|
|
@@ -132,8 +132,13 @@ export class RemoteMcpAdapter {
|
|
|
132
132
|
async deleteTestCase(id) {
|
|
133
133
|
await this.callVoid('delete_testcase', { id });
|
|
134
134
|
}
|
|
135
|
-
async cloneTestCase(id, title) {
|
|
136
|
-
return this.call('clone_testcase', {
|
|
135
|
+
async cloneTestCase(id, title, opts) {
|
|
136
|
+
return this.call('clone_testcase', {
|
|
137
|
+
id,
|
|
138
|
+
title,
|
|
139
|
+
tdCopy: opts.tdCopy,
|
|
140
|
+
...(opts.sourceVersionId !== undefined ? { sourceVersionId: opts.sourceVersionId } : {}),
|
|
141
|
+
}, 'saved');
|
|
137
142
|
}
|
|
138
143
|
async searchObjects(q) {
|
|
139
144
|
return this.call('search_objects', q, 'objects');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/remoteMcp/adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/remoteMcp/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ConnectedQaConfig } from '../../config.js';
|
|
2
2
|
import type { MakeClientOptions } from '../http.js';
|
|
3
3
|
import type { ListResult, ProjectInfo } from '../types.js';
|
|
4
|
-
import type { ActionDef, CloudRunner, DatasetInfo, DefaultIteration, DefectQuery, DefectSummary, EntityRef, EnvInfo, Epic, EpicInput, EpicQuery, EpicSummary, EpicUpdate, Feature, FeatureInput, FeatureQuery, FeatureSummary, FeatureUpdate, Formula, FormulaCall, FunctionQuery, FunctionSummary, QaFunction, JournalOp, JournalView, LocalAgent, Locator, MemberOp, ModuleCreateInput, ModuleDeleteResult, ModuleDetail, ModuleSummary, ObjectQuery, ProjectSummary, QaObject, ReleaseQuery, ReleaseSummary, RunOptions, RunRef, RunStatus, RunTarget, SaveGeneratedIterations, SaveGeneratedIterationsResult, SavedRef, SprintQuery, SprintSummary, Story, StoryInput, StoryQuery, StorySummary, StoryUpdate, Suite, SuiteSummary, TaskQuery, TaskSummary, TcQuery, TcSummary, TestCase, UserQuery, UserSummary, VersionDeleteInput, VersionDeleteResult } from '../../domain/types.js';
|
|
4
|
+
import type { ActionDef, CloudRunner, DatasetInfo, DefaultIteration, DefectQuery, DefectSummary, EntityRef, EnvInfo, Epic, EpicInput, EpicQuery, EpicSummary, EpicUpdate, Feature, FeatureInput, FeatureQuery, FeatureSummary, FeatureUpdate, Formula, FormulaCall, FunctionQuery, FunctionSummary, QaFunction, JournalOp, JournalView, LocalAgent, Locator, MemberOp, MobileDevice, ModuleCreateInput, ModuleDeleteResult, ModuleDetail, ModuleSaved, ModuleSummary, ModuleUpdateInput, ObjectQuery, ProjectSummary, QaObject, ReleaseQuery, ReleaseSummary, RunOptions, RunRef, RunStatus, RunTarget, SaveGeneratedIterations, SaveGeneratedIterationsResult, SavedRef, SprintQuery, SprintSummary, Story, StoryInput, StoryQuery, StorySummary, StoryUpdate, Suite, SuiteSummary, TaskQuery, TaskSummary, TcQuery, TcSummary, TestCase, UserQuery, UserSummary, VersionDeleteInput, VersionDeleteResult } from '../../domain/types.js';
|
|
5
5
|
/** Test seam identical to WalnutAdapter's — swap transport, keep real headers. */
|
|
6
6
|
export type SimplifyQaTransport = Pick<MakeClientOptions, 'fetchImpl' | 'FormDataImpl' | 'BlobImpl'>;
|
|
7
7
|
/**
|
|
@@ -75,9 +75,16 @@ export declare class SimplifyQaAdapter {
|
|
|
75
75
|
* Excel export builder in tcfn.service.js:2696-2703. */
|
|
76
76
|
private hydrateFunctionNames;
|
|
77
77
|
/** For every step with an objectRef, resolve the object's display name (`disname`) via
|
|
78
|
-
* /tm/object/search (batched by distinct objectId). Mutates `objectRef.name` in place.
|
|
79
|
-
*
|
|
80
|
-
*
|
|
78
|
+
* /tm/object/search (batched by distinct objectId). Mutates `objectRef.name` in place. Mirrors the
|
|
79
|
+
* FE's `defaultFieldsMap.get('objectId').map` behavior used by the Excel export
|
|
80
|
+
* (tcfn.service.js:2876) so the tool surface matches the UI.
|
|
81
|
+
*
|
|
82
|
+
* An id that does NOT come back from the search (deleted, or never existed) is flagged
|
|
83
|
+
* `objectRef.missing = true` — this must NOT be silently indistinguishable from "the object
|
|
84
|
+
* exists but has no disname set" (see the "show me the objects in this test case" incident:
|
|
85
|
+
* falling back to the bare id with no signal made a genuinely-deleted object's step look
|
|
86
|
+
* identical to a normal one). Only a hard failure of the search call itself (network/auth) skips
|
|
87
|
+
* this — we can't tell missing-from-deleted apart from missing-from-can't-check in that case. */
|
|
81
88
|
private hydrateObjectNames;
|
|
82
89
|
listSuites(): Promise<ListResult<SuiteSummary>>;
|
|
83
90
|
getSuite(id: string): Promise<Suite>;
|
|
@@ -125,8 +132,21 @@ export declare class SimplifyQaAdapter {
|
|
|
125
132
|
/** GET /pm/module/:id — server returns an array; empty array → NotFound. */
|
|
126
133
|
getModule(id: string): Promise<ModuleDetail>;
|
|
127
134
|
/** POST /pm/module — server validates: name+isRoot+projectId required; parentId ignored when
|
|
128
|
-
* isRoot:true. Duplicate name per project is rejected server-side.
|
|
129
|
-
|
|
135
|
+
* isRoot:true. Duplicate name per project is rejected server-side. When `input.children` is
|
|
136
|
+
* present, walks the subtree depth-first: creates the root, then each child under the id
|
|
137
|
+
* returned for its parent. `childIds:[]` matches the working UI payload byte-for-byte.
|
|
138
|
+
* Backend has no tx endpoint: on mid-walk failure the returned tree carries `failedAt`, and
|
|
139
|
+
* every node BEFORE that point is already persisted. */
|
|
140
|
+
createModule(input: ModuleCreateInput): Promise<ModuleSaved>;
|
|
141
|
+
/** Depth-first walk of a subtree. Stops at the first failure — everything already POSTed stays
|
|
142
|
+
* (no rollback endpoint upstream) and the failure is bubbled back on the root via `failedAt`. */
|
|
143
|
+
private createSubtree;
|
|
144
|
+
private postOneModule;
|
|
145
|
+
/** PUT /pm/module/:id — partial edit. Controller reads `projectId` off the body for its
|
|
146
|
+
* `add_module` privilege check (module.controller.js:64), so it MUST be sent even when unchanged;
|
|
147
|
+
* we default to the connected project. Only `name` / `description` are exposed — the controller
|
|
148
|
+
* ignores everything else the validator accepts (isRoot, parentId, childIds). */
|
|
149
|
+
updateModule(id: string, patch: ModuleUpdateInput): Promise<SavedRef>;
|
|
130
150
|
/** PATCH /pm/module — two-phase per module.controller.js:94. `confirm:false` returns the per-id
|
|
131
151
|
* dependency footprint (test cases, functions, params, objects, defects, user stories). `confirm:true`
|
|
132
152
|
* triggers the actual delete: server drops only ids with EMPTY dependencies; ids with references are
|
|
@@ -249,19 +269,15 @@ export declare class SimplifyQaAdapter {
|
|
|
249
269
|
deleteTestCase(id: string): Promise<void>;
|
|
250
270
|
/** Clone a testcase in place (same project + module) with all steps, versions, testdata,
|
|
251
271
|
* parameters, object refs, and nested function calls carried over. Backed by the SQA native
|
|
252
|
-
*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
* wildcards. Passing empty arrays makes the backend copy the TC shell only (no steps, no
|
|
262
|
-
* testdata, since both live under versions and per-env iterations). So we fetch the source
|
|
263
|
-
* TC's version names AND the project's environment names first and pass them explicitly. */
|
|
264
|
-
cloneTestCase(id: string, newTitle?: string, versions?: string[]): Promise<SavedRef>;
|
|
272
|
+
* the FE in-editor "Save as new TC" dialog — `PUT /tm/testcase` with `operation:SAVEASNEWTC`.
|
|
273
|
+
* Same-project only (no cross-project copy — use the FE tree menu for that). Clones ONE
|
|
274
|
+
* source version. `tdCopy:true` clones the source's testdata iterations across every env;
|
|
275
|
+
* `tdCopy:false` copies only the column structure (one empty ITR-1 per env, values fall back
|
|
276
|
+
* to project-level parameter defaultValue if any). Mirrors the FE's "COPY TEST DATA" modal. */
|
|
277
|
+
cloneTestCase(id: string, newTitle: string, opts: {
|
|
278
|
+
tdCopy: boolean;
|
|
279
|
+
sourceVersionId?: string;
|
|
280
|
+
}): Promise<SavedRef>;
|
|
265
281
|
listFunctions(q: FunctionQuery): Promise<ListResult<FunctionSummary>>;
|
|
266
282
|
getFunction(id: string): Promise<QaFunction>;
|
|
267
283
|
/** Steps for one FN version. Unlike TC docs, the FN doc from `/tm/function/:id/:projectId`
|
|
@@ -275,12 +291,13 @@ export declare class SimplifyQaAdapter {
|
|
|
275
291
|
* TC / FN / workflow (nothing was deleted). Inspect the shape and throw so the tool surfaces it
|
|
276
292
|
* as a failure instead of a fake success. */
|
|
277
293
|
deleteFunction(id: string): Promise<void>;
|
|
278
|
-
/**
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
294
|
+
/** Save-as-new-function — same-project only. Mirrors FE's in-editor "Save as new function"
|
|
295
|
+
* dialog: `PUT /tm/function` with `operation:SAVEASNEWFN`. Clones ONE source version.
|
|
296
|
+
* `tdCopy:true` clones testdata; `tdCopy:false` copies structure only (empty ITR-1 per env). */
|
|
297
|
+
cloneFunction(id: string, newTitle: string, opts: {
|
|
298
|
+
tdCopy: boolean;
|
|
299
|
+
sourceVersionId?: string;
|
|
300
|
+
}): Promise<SavedRef>;
|
|
284
301
|
/** Snapshot the CURRENT server state of a function under a NEW version name — same FN id, new
|
|
285
302
|
* `tcfn_version` row with cloned steps. Mirrors `saveAsNewVersion` (see there for the shape
|
|
286
303
|
* rationale) with `type:'FN'` and the multipart route `PUT /tm/function` / key `functionObj`.
|
|
@@ -313,6 +330,18 @@ export declare class SimplifyQaAdapter {
|
|
|
313
330
|
* ponytail: minimum body — no thumbnail_url / pageScreenShot_url / parameterId. The recording
|
|
314
331
|
* path enriches these; the tc_save path doesn't have screenshots to attach, and the object
|
|
315
332
|
* works for execution without them. */
|
|
333
|
+
/** GET-OR-CREATE by exact `disname`, scoped to the project — despite its name and the old comment
|
|
334
|
+
* here, `createObjectSeq` is a plain CREATE with no dedup of its own, so calling it unconditionally
|
|
335
|
+
* on every save minted a fresh duplicate object for the same recorded element every time (root
|
|
336
|
+
* cause of the "duplicate objects in the Object module" reports). Mirrors the SAME
|
|
337
|
+
* search-then-reuse pattern already trusted for parameters (findParameterId/getOrCreateParameter):
|
|
338
|
+
* 1. Exact case-insensitive name match found + SAME locator set → reuse the existing object as-is.
|
|
339
|
+
* 2. Exact name match found + DIFFERENT locators (the element's attributes drifted) → UPDATE the
|
|
340
|
+
* existing object in place (via updateObject's own locator-upsert) instead of creating a
|
|
341
|
+
* sibling — one entry per element, not a growing pile of near-identical copies.
|
|
342
|
+
* 3. No name match → create a new object, same as before.
|
|
343
|
+
* Does NOT catch a different name resolving to the same physical element (no cross-project
|
|
344
|
+
* locator-value search) — that would need a much broader, more expensive scan; out of scope here. */
|
|
316
345
|
private resolveObjectId;
|
|
317
346
|
/** For every automation step, resolve `actionId` (from action name + technology) and
|
|
318
347
|
* `objectId` (via createObjectSeq get-or-create) so the mapper can emit a valid step. Runs
|
|
@@ -368,6 +397,16 @@ export declare class SimplifyQaAdapter {
|
|
|
368
397
|
* delete is refused rather than silently breaking those test cases; only a dependency-free object
|
|
369
398
|
* gets the real `isDelete:true` call.
|
|
370
399
|
*/
|
|
400
|
+
/** `PATCH /tm/object` with `isDelete:false` — the SAME dependency-check pre-flight the real
|
|
401
|
+
* product UI fires before its own delete-confirm modal (object.component.ts onClickTableDelete):
|
|
402
|
+
* a read-only probe, no restore/undelete side effect. Split out from deleteObject so a caller
|
|
403
|
+
* (object_delete's preview step) can show this BEFORE asking the user to confirm, not just
|
|
404
|
+
* discover it as a thrown error after the fact. */
|
|
405
|
+
checkObjectDependencies(id: string): Promise<{
|
|
406
|
+
tcCount: number;
|
|
407
|
+
fnCount: number;
|
|
408
|
+
wfCount: number;
|
|
409
|
+
}>;
|
|
371
410
|
deleteObject(id: string): Promise<void>;
|
|
372
411
|
/**
|
|
373
412
|
* Update an object — `PUT /tm/object/:id`, plain JSON (NOT multipart, unlike testcase/suite writes;
|
|
@@ -388,6 +427,13 @@ export declare class SimplifyQaAdapter {
|
|
|
388
427
|
updateObject(id: string, changes: {
|
|
389
428
|
name?: string;
|
|
390
429
|
locators?: Locator[];
|
|
430
|
+
description?: string;
|
|
431
|
+
/** Replace the object's bound parameters by NAME (resolved via /tm/parameter/search, same
|
|
432
|
+
* lookup findParameterId uses for TC steps). Unresolved names throw naming all of them and
|
|
433
|
+
* the valid options, rather than silently saving a partial/empty list. */
|
|
434
|
+
parameterNames?: string[];
|
|
435
|
+
/** Resolve to moduleId via listModules — the caller supplies a name, never an id. */
|
|
436
|
+
moduleName?: string;
|
|
391
437
|
}): Promise<QaObject>;
|
|
392
438
|
actionsCatalog(platform?: string): Promise<ActionDef[]>;
|
|
393
439
|
/** Fetch the default (template) iteration row for a TC. Fills gaps from the raw TC:
|
|
@@ -420,14 +466,25 @@ export declare class SimplifyQaAdapter {
|
|
|
420
466
|
expression: string;
|
|
421
467
|
}>;
|
|
422
468
|
/** Real status of a run — reads step-level results direct from SQA REST because the desktop agent's
|
|
423
|
-
* get_run only returns queue state (often stale).
|
|
469
|
+
* get_run only returns queue state (often stale). For a SUITE run, returns per-TC rollup
|
|
470
|
+
* (`children[]`) instead of step details — a suite doc's `type` field flags it. start/stop still
|
|
471
|
+
* hop for v1. */
|
|
424
472
|
getRun(runId: string): Promise<RunStatus>;
|
|
473
|
+
/** Most recent execution runId for a SUITE — same `/exec/execution/search` the /reports UI's
|
|
474
|
+
* current-executions view drives, filtered to `type=SUITE` + this suite's numeric id, sorted by
|
|
475
|
+
* id desc, limit 1. Returns the numeric run id (what `getRun` accepts), or null if the suite has
|
|
476
|
+
* never been executed. */
|
|
477
|
+
getLatestSuiteRun(suiteId: string): Promise<string | null>;
|
|
425
478
|
/** Targeted name lookup for a single project by numeric id — the whole-list `listProjects`
|
|
426
479
|
* is paged (default 100) and API-key scoping can hide the selected project, which left
|
|
427
480
|
* callers with an empty projectName. */
|
|
428
481
|
private lookupProjectName;
|
|
429
482
|
startRun(target: RunTarget, opts: RunOptions): Promise<RunRef>;
|
|
430
483
|
stopRun(runId: string): Promise<void>;
|
|
484
|
+
/** GET the agent /mcp with a 1s timeout. Any HTTP response (incl. 4xx from an MCP server rejecting
|
|
485
|
+
* a naked GET) proves the process is up; connect/DNS/timeout errors mean it is down. Replaces
|
|
486
|
+
* the customer-wide `machineRegistration` round trip when all we needed was "is LOCAL possible?". */
|
|
487
|
+
probeLocalAgent(): Promise<boolean>;
|
|
431
488
|
listCloudRunners(): Promise<CloudRunner[]>;
|
|
432
489
|
/** Gather every identifier this process can claim: bare hostname, non-loopback MAC addresses,
|
|
433
490
|
* non-loopback IPs. Cached per-adapter — network interfaces do not change mid-session. */
|
|
@@ -440,6 +497,29 @@ export declare class SimplifyQaAdapter {
|
|
|
440
497
|
* proof enough; we don't try to reconcile the others. */
|
|
441
498
|
private isThisMachine;
|
|
442
499
|
listLocalAgents(): Promise<LocalAgent[]>;
|
|
500
|
+
/** Mobile devices for the project — the union of:
|
|
501
|
+
* (a) the LOCAL roster from `/tm/mobileDevices/search` (adb-visible reals, emulators,
|
|
502
|
+
* simulators registered via the desktop agent) — same source the UI's "Real Devices /
|
|
503
|
+
* Emulators / Simulators" tabs read; `active` is a last-known connection flag stale by
|
|
504
|
+
* design (the desktop agent writes it, a 7s-stale cron flips it back).
|
|
505
|
+
* (b) the CLOUD roster from whichever farm the project has integrated — probed in the same
|
|
506
|
+
* order as the UI (`execution-popup-modal-v2.component.ts:198-204`): LambdaTest,
|
|
507
|
+
* BrowserStack, SauceLabs, SimplifyQA Device Farm. First provider that answers with a
|
|
508
|
+
* non-empty list wins (matches the UI's `mobileIntergation.type` single-provider model —
|
|
509
|
+
* one cloud provider per project). Cloud rows carry `deviceType:'CLOUD_DEVICE'` and a
|
|
510
|
+
* `cloudDeviceType` tag so `tc_run` knows which farm to submit to.
|
|
511
|
+
* A failure fetching one source doesn't kill the other — the tool logs and returns whatever
|
|
512
|
+
* it could resolve. */
|
|
513
|
+
listMobileDevices(platform: 'ANDROID' | 'IOS'): Promise<MobileDevice[]>;
|
|
514
|
+
private fetchLocalMobileDevices;
|
|
515
|
+
/** Probe cloud farms in the UI's order and return the first non-empty match. One provider per
|
|
516
|
+
* project (the UI's `mobileIntergation.type` model), so no need to merge across farms. Every
|
|
517
|
+
* fetch is wrapped so a 404/401 from one provider doesn't kill the whole list. */
|
|
518
|
+
private fetchCloudMobileDevices;
|
|
519
|
+
private fetchSauceLabsMobileDevices;
|
|
520
|
+
private fetchBrowserStackMobileDevices;
|
|
521
|
+
private fetchLambdaTestMobileDevices;
|
|
522
|
+
private fetchDeviceFarmMobileDevices;
|
|
443
523
|
/**
|
|
444
524
|
* Pick THE ACTING USER'S OWN agent — never row [0] of a shared-tenant roster (which would
|
|
445
525
|
* silently dispatch a local run to a teammate's box, and the run would sit queued until TTL
|
|
@@ -455,6 +535,12 @@ export declare class SimplifyQaAdapter {
|
|
|
455
535
|
* column to machineRegistration (mirror walnut's `resolveLocalAgentCredential` at that point).
|
|
456
536
|
*/
|
|
457
537
|
private resolveLocalAgentId;
|
|
538
|
+
/** REMOTE dispatches to ANOTHER machine's desktop agent — must pin a specific credentialId (auto-pick
|
|
539
|
+
* across teammate boxes is the exact silent-misroute this exists to prevent). Enforces:
|
|
540
|
+
* (1) preferred is present, (2) it exists in the roster, (3) it is NOT this machine (use LOCAL for
|
|
541
|
+
* that). Reachability of the remote agent is not probed — the backend queues the job and the
|
|
542
|
+
* remote agent picks it up when it polls. */
|
|
543
|
+
private resolveRemoteAgentId;
|
|
458
544
|
private detectExecutionOS;
|
|
459
545
|
private buildRunPlatform;
|
|
460
546
|
/** Direct REST — same endpoint `resolveEnvironment` uses. Works without an agent hop.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/simplifyqa/adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAU,MAAM,YAAY,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EACV,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAC5F,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAC5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAClE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EACxF,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/simplifyqa/adapter.ts"],"names":[],"mappings":"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"}
|