@arcadialdev/arcality 2.4.24 → 2.4.25
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/.agents/skills/e2e-testing-expert/SKILL.md +28 -28
- package/.agents/skills/security-qa/SKILL.md +254 -0
- package/README.md +95 -95
- package/bin/arcality.mjs +55 -55
- package/package.json +68 -68
- package/playwright.config.js +33 -33
- package/scripts/gen-and-run.mjs +4 -1
- package/scripts/init.mjs +297 -297
- package/scripts/postinstall.mjs +77 -77
- package/scripts/setup.mjs +166 -166
- package/src/configLoader.mjs +179 -179
- package/src/configManager.mjs +172 -172
- package/src/envSetup.ts +205 -205
- package/src/index.ts +25 -25
- package/src/services/collectiveMemoryService.ts +1 -1
- package/src/services/securityScanner.ts +128 -0
- package/tests/_helpers/ArcalityReporter.js +632 -229
- package/tests/_helpers/ArcalityReporter.ts +262 -27
- package/tests/_helpers/agentic-runner.bundle.spec.js +357 -5
- package/tests/_helpers/agentic-runner.spec.ts +37 -1
- package/tests/_helpers/ai-agent-helper.ts +128 -6
- package/tests/_helpers/qa-security-tools.ts +265 -0
package/package.json
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@arcadialdev/arcality",
|
|
3
|
-
"version": "2.4.
|
|
4
|
-
"description": "AI-powered QA testing tool — Autonomous web testing agent by Arcadial",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"dev": "node scripts/gen-and-run.mjs",
|
|
8
|
-
"arcality": "node scripts/gen-and-run.mjs",
|
|
9
|
-
"postinstall": "node scripts/postinstall.mjs",
|
|
10
|
-
"setup": "node scripts/setup.mjs",
|
|
11
|
-
"build:runner": "npx esbuild tests/_helpers/agentic-runner.spec.ts --bundle --platform=node --target=node18 --format=cjs --external:@playwright/test --external:chalk --external:dotenv --external:node-fetch --external:js-yaml --external:axios --external:crypto --external:fs --external:path --outfile=tests/_helpers/agentic-runner.bundle.spec.js",
|
|
12
|
-
"prepublishOnly": "npm run build:runner"
|
|
13
|
-
},
|
|
14
|
-
"bin": {
|
|
15
|
-
"arcality": "bin/arcality.mjs"
|
|
16
|
-
},
|
|
17
|
-
"files": [
|
|
18
|
-
"bin/",
|
|
19
|
-
"scripts/",
|
|
20
|
-
"src/",
|
|
21
|
-
"tests/_helpers/",
|
|
22
|
-
".agents/",
|
|
23
|
-
"public/",
|
|
24
|
-
"playwright.config.js",
|
|
25
|
-
"README.md"
|
|
26
|
-
],
|
|
27
|
-
"publishConfig": {
|
|
28
|
-
"access": "public"
|
|
29
|
-
},
|
|
30
|
-
"repository": {
|
|
31
|
-
"type": "git",
|
|
32
|
-
"url": "https://dev.azure.com/arcadial/_git/ArcalityQA"
|
|
33
|
-
},
|
|
34
|
-
"keywords": [
|
|
35
|
-
"qa",
|
|
36
|
-
"testing",
|
|
37
|
-
"ai",
|
|
38
|
-
"playwright",
|
|
39
|
-
"autonomous",
|
|
40
|
-
"arcadial"
|
|
41
|
-
],
|
|
42
|
-
"author": "Arcadial",
|
|
43
|
-
"license": "ISC",
|
|
44
|
-
"type": "commonjs",
|
|
45
|
-
"bugs": {
|
|
46
|
-
"url": "https://dev.azure.com/arcadial/_git/ArcalityQA"
|
|
47
|
-
},
|
|
48
|
-
"homepage": "https://dev.azure.com/arcadial/_git/ArcalityQA",
|
|
49
|
-
"devDependencies": {
|
|
50
|
-
"@types/figlet": "^1.7.0",
|
|
51
|
-
"@types/node": "^25.0.9",
|
|
52
|
-
"@types/prompts": "^2.4.9",
|
|
53
|
-
"esbuild": "^0.20.2"
|
|
54
|
-
},
|
|
55
|
-
"dependencies": {
|
|
56
|
-
"@clack/prompts": "^1.0.1",
|
|
57
|
-
"@inquirer/prompts": "^8.2.0",
|
|
58
|
-
"@playwright/test": "^1.57.0",
|
|
59
|
-
"axios": "^1.13.6",
|
|
60
|
-
"chalk": "^5.6.2",
|
|
61
|
-
"dotenv": "^17.2.3",
|
|
62
|
-
"figlet": "^1.9.4",
|
|
63
|
-
"js-yaml": "^4.1.1",
|
|
64
|
-
"node-fetch": "^3.3.2",
|
|
65
|
-
"prompts": "^2.4.2",
|
|
66
|
-
"terminal-image": "^1.1.0",
|
|
67
|
-
"tsx": "^4.21.0"
|
|
68
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@arcadialdev/arcality",
|
|
3
|
+
"version": "2.4.25",
|
|
4
|
+
"description": "AI-powered QA testing tool — Autonomous web testing agent by Arcadial",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "node scripts/gen-and-run.mjs",
|
|
8
|
+
"arcality": "node scripts/gen-and-run.mjs",
|
|
9
|
+
"postinstall": "node scripts/postinstall.mjs",
|
|
10
|
+
"setup": "node scripts/setup.mjs",
|
|
11
|
+
"build:runner": "npx esbuild tests/_helpers/agentic-runner.spec.ts --bundle --platform=node --target=node18 --format=cjs --external:@playwright/test --external:chalk --external:dotenv --external:node-fetch --external:js-yaml --external:axios --external:crypto --external:fs --external:path --outfile=tests/_helpers/agentic-runner.bundle.spec.js",
|
|
12
|
+
"prepublishOnly": "npm run build:runner"
|
|
13
|
+
},
|
|
14
|
+
"bin": {
|
|
15
|
+
"arcality": "bin/arcality.mjs"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"bin/",
|
|
19
|
+
"scripts/",
|
|
20
|
+
"src/",
|
|
21
|
+
"tests/_helpers/",
|
|
22
|
+
".agents/",
|
|
23
|
+
"public/",
|
|
24
|
+
"playwright.config.js",
|
|
25
|
+
"README.md"
|
|
26
|
+
],
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
},
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://dev.azure.com/arcadial/_git/ArcalityQA"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"qa",
|
|
36
|
+
"testing",
|
|
37
|
+
"ai",
|
|
38
|
+
"playwright",
|
|
39
|
+
"autonomous",
|
|
40
|
+
"arcadial"
|
|
41
|
+
],
|
|
42
|
+
"author": "Arcadial",
|
|
43
|
+
"license": "ISC",
|
|
44
|
+
"type": "commonjs",
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://dev.azure.com/arcadial/_git/ArcalityQA"
|
|
47
|
+
},
|
|
48
|
+
"homepage": "https://dev.azure.com/arcadial/_git/ArcalityQA",
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@types/figlet": "^1.7.0",
|
|
51
|
+
"@types/node": "^25.0.9",
|
|
52
|
+
"@types/prompts": "^2.4.9",
|
|
53
|
+
"esbuild": "^0.20.2"
|
|
54
|
+
},
|
|
55
|
+
"dependencies": {
|
|
56
|
+
"@clack/prompts": "^1.0.1",
|
|
57
|
+
"@inquirer/prompts": "^8.2.0",
|
|
58
|
+
"@playwright/test": "^1.57.0",
|
|
59
|
+
"axios": "^1.13.6",
|
|
60
|
+
"chalk": "^5.6.2",
|
|
61
|
+
"dotenv": "^17.2.3",
|
|
62
|
+
"figlet": "^1.9.4",
|
|
63
|
+
"js-yaml": "^4.1.1",
|
|
64
|
+
"node-fetch": "^3.3.2",
|
|
65
|
+
"prompts": "^2.4.2",
|
|
66
|
+
"terminal-image": "^1.1.0",
|
|
67
|
+
"tsx": "^4.21.0"
|
|
68
|
+
}
|
|
69
69
|
}
|
package/playwright.config.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
// playwright.config.js
|
|
2
|
-
'use strict';
|
|
3
|
-
const { defineConfig, devices } = require('@playwright/test');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
|
|
6
|
-
module.exports = defineConfig({
|
|
7
|
-
testDir: path.join(__dirname, 'tests', '_helpers'),
|
|
8
|
-
testMatch: ['agentic-runner.bundle.spec.js'],
|
|
9
|
-
reporter: [
|
|
10
|
-
[path.join(__dirname, 'tests', '_helpers', 'ArcalityReporter.js'),
|
|
11
|
-
{ outputDir: process.env.REPORTS_DIR || path.join(__dirname, 'tests-report') }]
|
|
12
|
-
],
|
|
13
|
-
use: {
|
|
14
|
-
video: 'on',
|
|
15
|
-
screenshot: 'on',
|
|
16
|
-
trace: 'on',
|
|
17
|
-
colorScheme: 'dark',
|
|
18
|
-
contextOptions: {
|
|
19
|
-
reducedMotion: 'reduce',
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
projects: [
|
|
23
|
-
{
|
|
24
|
-
name: 'AgenticBrowser',
|
|
25
|
-
use: {
|
|
26
|
-
...devices['Desktop Chrome'],
|
|
27
|
-
channel: 'chrome',
|
|
28
|
-
viewport: { width: 1440, height: 900 },
|
|
29
|
-
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 ArcalityAgent/1.0',
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
});
|
|
1
|
+
// playwright.config.js
|
|
2
|
+
'use strict';
|
|
3
|
+
const { defineConfig, devices } = require('@playwright/test');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
module.exports = defineConfig({
|
|
7
|
+
testDir: path.join(__dirname, 'tests', '_helpers'),
|
|
8
|
+
testMatch: ['agentic-runner.bundle.spec.js'],
|
|
9
|
+
reporter: [
|
|
10
|
+
[path.join(__dirname, 'tests', '_helpers', 'ArcalityReporter.js'),
|
|
11
|
+
{ outputDir: process.env.REPORTS_DIR || path.join(__dirname, 'tests-report') }]
|
|
12
|
+
],
|
|
13
|
+
use: {
|
|
14
|
+
video: 'on',
|
|
15
|
+
screenshot: 'on',
|
|
16
|
+
trace: 'on',
|
|
17
|
+
colorScheme: 'dark',
|
|
18
|
+
contextOptions: {
|
|
19
|
+
reducedMotion: 'reduce',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
projects: [
|
|
23
|
+
{
|
|
24
|
+
name: 'AgenticBrowser',
|
|
25
|
+
use: {
|
|
26
|
+
...devices['Desktop Chrome'],
|
|
27
|
+
channel: 'chrome',
|
|
28
|
+
viewport: { width: 1440, height: 900 },
|
|
29
|
+
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 ArcalityAgent/1.0',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
});
|
package/scripts/gen-and-run.mjs
CHANGED
|
@@ -220,6 +220,8 @@ async function arcalityChat(messages) {
|
|
|
220
220
|
|
|
221
221
|
if (isProxyMode) {
|
|
222
222
|
headers["x-api-key"] = process.env.ARCALITY_API_KEY || "";
|
|
223
|
+
const missionId = process.env.ARCALITY_MISSION_ID || '';
|
|
224
|
+
if (missionId) headers["x-mission-id"] = missionId;
|
|
223
225
|
} else {
|
|
224
226
|
headers["x-api-key"] = process.env.ANTHROPIC_API_KEY;
|
|
225
227
|
headers["anthropic-version"] = "2023-06-01";
|
|
@@ -463,7 +465,7 @@ async function main() {
|
|
|
463
465
|
const options = [
|
|
464
466
|
{ label: '🤖 Run Autonomous Agent (Prompt)', value: 'agent' },
|
|
465
467
|
...(savedMissions.length ? [{ label: '🚀 Launch Saved Mission (.yaml)', value: 'launch_saved' }] : []),
|
|
466
|
-
...(yamlOutputFiles.length ? [{ label: '♻️ Reuse
|
|
468
|
+
...(yamlOutputFiles.length ? [{ label: '♻️ Reuse YAML + Auto-Guide (if prev. run exists)', value: 'reuse_yaml' }] : []),
|
|
467
469
|
...(rootYamlFiles.length ? [{ label: '📂 Choose Root YAML (Templates)', value: 'yaml_list' }] : []),
|
|
468
470
|
{ label: '📋 View Current Configuration', value: 'view_config' },
|
|
469
471
|
{ label: '🔄 Reconfigure (arcality init)', value: 'reconfigure' },
|
|
@@ -743,6 +745,7 @@ async function main() {
|
|
|
743
745
|
...process.env,
|
|
744
746
|
ARCALITY_API_URL: getApiUrl(), // Internal URL — always injected explicitly
|
|
745
747
|
ARCALITY_PROJECT_ID: finalProjectId,
|
|
748
|
+
ARCALITY_MISSION_ID: mission.mission_id || '', // ← Propagate mission_id to every proxy call
|
|
746
749
|
BASE_URL: projectConfig?.project?.baseUrl || dotEnv.BASE_URL || process.env.BASE_URL || fallbackBaseUrl || 'http://localhost:3000',
|
|
747
750
|
LOGIN_USER: projectConfig?.auth?.username || dotEnv.LOGIN_USER || process.env.LOGIN_USER,
|
|
748
751
|
LOGIN_PASSWORD: projectConfig?.auth?.password || dotEnv.LOGIN_PASSWORD || process.env.LOGIN_PASSWORD,
|