@arcadialdev/arcality 2.2.0 → 2.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.
Files changed (2) hide show
  1. package/README.md +94 -30
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -1,30 +1,94 @@
1
- # Arcality
2
- Herramienta QA para pruebas de UI con IA
3
-
4
- Meta 1.0.0:
5
- - Start CLI (interactive test chooser): `arcality` or `npm run arcality` (see [package.json](package.json)).
6
- - Run Playwright directly: `npx playwright test` or `npx playwright test <path/to/spec>`.
7
- - Auto-generate + run spec (uses Ollama model): `node scripts/gen-and-run.mjs "<prompt>"` or run without args to execute last generated spec (see [scripts/gen-and-run.mjs](scripts/gen-and-run.mjs)).
8
- - .env management: the CLI will prompt and write `.env` when missing via [src/envSetup.ts](src/envSetup.ts).
9
-
10
- Important: the project reads configuration from the repository `.env` automatically. Do NOT pass `BASE_URL`, `LOGIN_USER`, or `LOGIN_PASSWORD` on the command line — the CLI, scripts, and tests load these values from `.env` internally. Example correct commands (no credentials in the command):
11
-
12
- ```powershell
13
- node .\scripts\discover-view.mjs /categories
14
- node .\scripts\extract-view.mjs /categories
15
- node .\scripts\gen-and-run.mjs --discover /categories "Crear una categoría de ejemplo"
16
- ```
17
-
18
- If `.env` is missing, the interactive setup in `src/envSetup.ts` will prompt to create it; otherwise the tools will use values found in `.env`.
19
-
20
- Meta 1.0.1:
21
- -Hacer personalizable el login, sin depender de Id directamente
22
- -Tener el test de creación de categoría
23
- -Tener el test de creación de marca
24
- -Tener el test de creación de producto
25
-
26
- Meta 1.0.2:
27
- -Pedir la URL inicial, usuario y contraseña para .env
28
- -Implementar una prueba de ZeroSteps
29
- -Crear un template para leer YAML
30
- -Leer un YAML y convertir en el template
1
+ <div align="center">
2
+ <img src="./public/logo-arcadial-blanco.png" width="120" alt="Arcality Logo" />
3
+ <br>
4
+ <h1>Arcality Engine</h1>
5
+ <p><b>Autonomous AI-Powered E2E Web Testing Agent</b></p>
6
+
7
+ [![NPM Version](https://img.shields.io/npm/v/@arcadialdev/arcality?color=c084fc&label=NPM&style=for-the-badge)](https://www.npmjs.com/package/@arcadialdev/arcality)
8
+ </div>
9
+
10
+ <br>
11
+
12
+ **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 our proprietary AI Cognitive Core and Headless Execution Engine, Arcality navigates web portals, fills forms dynamically, and verifies business logic without requiring you to write a single line of test code.
13
+
14
+ ## Core Capabilities
15
+
16
+ - 🧠 **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.
17
+ - 🛡️ **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.
18
+ - ♻️ **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.
19
+ - 📊 **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.
20
+ - 🧰 **Project-Centric Architecture:** Runs seamlessly locally with `arcality.config.json`. No messy global `.env` files required.
21
+
22
+ ---
23
+
24
+ ## 🚀 Getting Started
25
+
26
+ ### 1. Installation
27
+ Install the CLI tool globally or as a dev dependency via NPM:
28
+ ```bash
29
+ # Using npm
30
+ npm install -g @arcadialdev/arcality
31
+
32
+ # Or use npx directly without installing
33
+ npx @arcadialdev/arcality init
34
+ ```
35
+
36
+ ### 2. Initialization
37
+ 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.
38
+
39
+ ```bash
40
+ arcality init
41
+ ```
42
+ *This command creates the `arcality.config.json` inside your project and connects you to the internal Arcadial AI Proxy.*
43
+
44
+ ### 3. Running an Agent Mission
45
+ Start an autonomous mission by feeding the agent a natural language prompt.
46
+
47
+ ```bash
48
+ # Interactive GUI Mode
49
+ arcality run
50
+
51
+ # CI/CD / Headless Mode
52
+ arcality run --agent "Login with test credentials, navigate to Dashboard, and ensure the Welcome widget is visible."
53
+ ```
54
+
55
+ ---
56
+
57
+ ## 🛠️ Internal Architecture
58
+
59
+ Arcality operates on a highly decoupled modular system designed for maximum resilience:
60
+
61
+ 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`.
62
+ 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`.
63
+ 3. **The Cognitive Gateway (`AIAgentHelper`):** Handles bidirectional communication with the central AI Brain. It uses advanced recursive Tool Calling to perform `UI actions` (click, type, scroll) and `Forensic actions` (capture_console_errors).
64
+ 4. **Skill Injection (`.agents/skills/`):** At runtime, the agent injects external E2E standards directly into the System Prompt to enforce strict QA policies and intelligent locator strategies.
65
+ 5. **The Reporter:** A custom execution reporter (`ArcalityReporter.ts`) that filters out robotic hooks and renders the Agent's pure cognitive decision tree into an HTML dashboard.
66
+
67
+ ---
68
+
69
+ ## 📁 Configuration (`arcality.config.json`)
70
+
71
+ When you run `arcality init`, a configuration is generated in your project root.
72
+ ```json
73
+ {
74
+ "project": {
75
+ "name": "PortalAdminQA",
76
+ "baseUrl": "https://dev.arcadial.lat",
77
+ "frameworkDetected": "Next.js"
78
+ },
79
+ "auth": {
80
+ "username": "qa_user",
81
+ "credentialsSource": "env"
82
+ },
83
+ "runtime": {
84
+ "yamlOutputDir": "./.arcality"
85
+ }
86
+ }
87
+ ```
88
+ *All reports, saved YAML missions, and runtime context are cleanly isolated inside your project's `./.arcality/` output directory.*
89
+
90
+ ---
91
+
92
+ <div align="center">
93
+ <p>Built with ❤️ by the QA Intelligence team at <b>Arcadial</b>.</p>
94
+ </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcadialdev/arcality",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
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": "git+https://github.com/Azlopez1/arcality.git"
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://github.com/Azlopez1/arcality/issues"
44
+ "url": "https://dev.azure.com/arcadial/_git/ArcalityQA"
45
45
  },
46
- "homepage": "https://github.com/Azlopez1/arcality#readme",
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",