@arcadialdev/arcality 2.2.0 → 2.2.1
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 +96 -30
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,30 +1,96 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/microsoft/playwright/main/packages/playwright-core/src/server/chromium/test-results/favicon.ico" width="80" alt="Arcality Logo" />
|
|
3
|
+
<br>
|
|
4
|
+
<h1>Arcality Engine</h1>
|
|
5
|
+
<p><b>Autonomous AI-Powered E2E Web Testing Agent</b></p>
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/@arcadialdev/arcality)
|
|
8
|
+
[](https://playwright.dev)
|
|
9
|
+
[](https://anthropic.com)
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<br>
|
|
13
|
+
|
|
14
|
+
**Arcality** is an enterprise-grade autonomous testing agent designed by Arcadial. It replaces brittle, hard-coded UI automation with an intelligent, self-healing agent that understands natural language. Powered by Anthropic's Claude and Playwright, Arcality navigates web portals, fills forms dynamically, and verifies business logic without requiring you to write a single line of test code.
|
|
15
|
+
|
|
16
|
+
## ✨ Core Capabilities
|
|
17
|
+
|
|
18
|
+
- 🧠 **Cognitive Execution Pipeline:** Arcality doesn't just click coordinates. It parses the DOM tree into an accessibility-focused abstraction, allowing it to "see" your application identically to a human user.
|
|
19
|
+
- 🛡️ **Self-Healing & Forensic Debugging:** When elements shift or modals block the screen, Arcality doesn't instantly crash. It utilizes injected *E2E Expert Protocols* to debug the DOM, wait for networks, and gracefully recover.
|
|
20
|
+
- ♻️ **YAML Persistence:** Once the Agent figures out how to successfully complete a prompt, the deterministic solution is saved locally as an optimized `.yaml` mission for lightning-fast regression testing in CI/CD.
|
|
21
|
+
- 📊 **Agentic Diagnostics HTML Report:** Forget raw stack traces. Arcality generates beautiful, dark-mode `index.html` reports focusing entirely on **Agent Cognitive Process** and visual attachments.
|
|
22
|
+
- 🧰 **Project-Centric Architecture:** Runs seamlessly locally with `arcality.config.json`. No messy global `.env` files required.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 🚀 Getting Started
|
|
27
|
+
|
|
28
|
+
### 1. Installation
|
|
29
|
+
Install the CLI tool globally or as a dev dependency via NPM:
|
|
30
|
+
```bash
|
|
31
|
+
# Using npm
|
|
32
|
+
npm install -g @arcadialdev/arcality
|
|
33
|
+
|
|
34
|
+
# Or use npx directly without installing
|
|
35
|
+
npx @arcadialdev/arcality init
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 2. Initialization
|
|
39
|
+
Run the setup wizard at the root of your frontend or backend repository (e.g., Next.js, Vite). Arcality will auto-detect your framework and scaffold the necessary configurations.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
arcality init
|
|
43
|
+
```
|
|
44
|
+
*This command creates the `arcality.config.json` inside your project and connects you to the internal Arcadial AI Proxy.*
|
|
45
|
+
|
|
46
|
+
### 3. Running an Agent Mission
|
|
47
|
+
Start an autonomous mission by feeding the agent a natural language prompt.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Interactive GUI Mode
|
|
51
|
+
arcality run
|
|
52
|
+
|
|
53
|
+
# CI/CD / Headless Mode
|
|
54
|
+
arcality run --agent "Login with test credentials, navigate to Dashboard, and ensure the Welcome widget is visible."
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 🛠️ Internal Architecture
|
|
60
|
+
|
|
61
|
+
Arcality operates on a highly decoupled modular system designed for maximum resilience:
|
|
62
|
+
|
|
63
|
+
1. **The CLI Wrapper:** A Node.js CLI that orchestrates Playwright subprocesses, parses configurations (`arcality.config.json`), and manages the CLI spinner aesthetic using `@clack/prompts`.
|
|
64
|
+
2. **The Vision Engine:** Instead of capturing raw DOM, Arcality strips out CSS/JS noise and builds an `Interactive Component Tree` using `aria-labels` and `roles`.
|
|
65
|
+
3. **The LLM Gateway (`AIAgentHelper`):** Handles bidirectional communication with Anthropic. It uses advanced recursive Tool Calling to perform `UI actions` (click, type, scroll) and `Forensic actions` (capture_console_errors).
|
|
66
|
+
4. **Skill Injection (`.agents/skills/`):** At runtime, the agent injects external E2E standards (e.g., *Playwright Best Practices*, *E2E Testing Expert*) directly into the System Prompt to enforce strict QA policies.
|
|
67
|
+
5. **The Reporter:** A custom Playwright reporter (`ArcalityReporter.ts`) that filters out robotic hooks and renders the Agent's pure cognitive decision tree into an HTML dashboard.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 📁 Configuration (`arcality.config.json`)
|
|
72
|
+
|
|
73
|
+
When you run `arcality init`, a configuration is generated in your project root.
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"project": {
|
|
77
|
+
"name": "PortalAdminQA",
|
|
78
|
+
"baseUrl": "https://dev.arcadial.lat",
|
|
79
|
+
"frameworkDetected": "Next.js"
|
|
80
|
+
},
|
|
81
|
+
"auth": {
|
|
82
|
+
"username": "qa_user",
|
|
83
|
+
"credentialsSource": "env"
|
|
84
|
+
},
|
|
85
|
+
"runtime": {
|
|
86
|
+
"yamlOutputDir": "./.arcality"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
*All reports, saved YAML missions, and runtime context are cleanly isolated inside your project's `./.arcality/` output directory.*
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
<div align="center">
|
|
95
|
+
<p>Built with ❤️ by the QA Intelligence team at <b>Arcadial</b>.</p>
|
|
96
|
+
</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcadialdev/arcality",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "AI-powered QA testing tool — Autonomous web testing agent by Arcadial",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|
|
30
|
-
"url": "
|
|
30
|
+
"url": "https://dev.azure.com/arcadial/_git/ArcalityQA"
|
|
31
31
|
},
|
|
32
32
|
"keywords": [
|
|
33
33
|
"qa",
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
"license": "ISC",
|
|
42
42
|
"type": "commonjs",
|
|
43
43
|
"bugs": {
|
|
44
|
-
"url": "https://
|
|
44
|
+
"url": "https://dev.azure.com/arcadial/_git/ArcalityQA"
|
|
45
45
|
},
|
|
46
|
-
"homepage": "https://
|
|
46
|
+
"homepage": "https://dev.azure.com/arcadial/_git/ArcalityQA",
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/figlet": "^1.7.0",
|
|
49
49
|
"@types/node": "^25.0.9",
|