jaku.sh 1.0.2 → 1.0.3

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 CHANGED
@@ -467,7 +467,7 @@ node src/cli.js ai https://myapp.dev/api/chat --max-pages 1 -v
467
467
  ```
468
468
  ╦╔═╗╦╔═╦ ╦
469
469
  ║╠═╣╠╩╗║ ║ 呪 Autonomous Security & Quality Intelligence
470
- ╚╝╩ ╩╩ ╩╚═╝ v1.0.2 · Multi-Agent
470
+ ╚╝╩ ╩╩ ╩╚═╝ v1.0.3 · Multi-Agent
471
471
 
472
472
  Target: https://your-app.dev
473
473
  Modules: QA + SECURITY + AI
package/action.yml CHANGED
@@ -217,7 +217,7 @@ runs:
217
217
  }
218
218
  }
219
219
 
220
- body += '\n---\n*Scanned by [JAKU](https://github.com/jaku-security/jaku) v1.0.2*';
220
+ body += '\n---\n*Scanned by [JAKU](https://github.com/jaku-security/jaku) v1.0.3*';
221
221
  } else {
222
222
  body += '⚠️ Scan completed but no report was generated. Check workflow logs for errors.';
223
223
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jaku.sh",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "JAKU (呪) — Autonomous Security & Quality Intelligence Agent for vibe-coded apps. XSS, SQLi, prompt injection, QA testing, and attack chain correlation in one command.",
5
5
  "type": "module",
6
6
  "main": "src/cli.js",
@@ -18,6 +18,7 @@
18
18
  ],
19
19
  "scripts": {
20
20
  "scan": "node src/cli.js scan",
21
+ "postinstall": "npx playwright install chromium 2>/dev/null || echo '⚠ JAKU: Could not auto-install Chromium. Run: npx playwright install chromium'",
21
22
  "prepublishOnly": "node src/cli.js --help"
22
23
  },
23
24
  "keywords": [
@@ -255,7 +255,7 @@ export class Orchestrator {
255
255
  try {
256
256
  const payload = {
257
257
  agent: 'JAKU',
258
- version: '1.0.2',
258
+ version: '1.0.3',
259
259
  target: this.config.target_url,
260
260
  timestamp: new Date().toISOString(),
261
261
  duration: results.duration,
package/src/cli.js CHANGED
@@ -18,7 +18,7 @@ import { AuthManager } from './core/auth-manager.js';
18
18
  const BANNER = `
19
19
  ${chalk.hex('#00ff88').bold(' ╦╔═╗╦╔═╦ ╦')}
20
20
  ${chalk.hex('#00ff88').bold(' ║╠═╣╠╩╗║ ║')} ${chalk.dim('呪 Autonomous Security & Quality Intelligence')}
21
- ${chalk.hex('#00ff88').bold(' ╚╝╩ ╩╩ ╩╚═╝')} ${chalk.dim('v1.0.2 · Multi-Agent')}
21
+ ${chalk.hex('#00ff88').bold(' ╚╝╩ ╩╩ ╩╚═╝')} ${chalk.dim('v1.0.3 · Multi-Agent')}
22
22
  `;
23
23
 
24
24
  const program = new Command();
@@ -26,7 +26,7 @@ const program = new Command();
26
26
  program
27
27
  .name('jaku')
28
28
  .description('JAKU (呪) — Autonomous QA & Security scanning agent for vibe-coded apps')
29
- .version('1.0.2');
29
+ .version('1.0.3');
30
30
 
31
31
  // ═══════════════════════════════════════════════
32
32
  // Multi-Agent Scan Runner
@@ -234,7 +234,7 @@ async function runScan(url, options, modulesToRun) {
234
234
  options.compliance,
235
235
  results.findings,
236
236
  reportDir,
237
- { target: url, version: '1.0.2', scannedAt: new Date().toISOString() }
237
+ { target: url, version: '1.0.3', scannedAt: new Date().toISOString() }
238
238
  );
239
239
  }
240
240
 
@@ -45,7 +45,28 @@ export class Crawler {
45
45
  */
46
46
  async crawl(targetUrl, authState = null, seedLinks = []) {
47
47
  this.baseUrl = new URL(targetUrl);
48
- const browser = await chromium.launch({ headless: true });
48
+
49
+ let browser;
50
+ try {
51
+ browser = await chromium.launch({ headless: true });
52
+ } catch (err) {
53
+ if (err.message.includes("Executable doesn't exist") || err.message.includes('playwright install')) {
54
+ this.logger?.warn?.('Chromium not found — attempting automatic install...');
55
+ const { execSync } = await import('child_process');
56
+ try {
57
+ execSync('npx playwright install chromium', { stdio: 'inherit', timeout: 120000 });
58
+ browser = await chromium.launch({ headless: true });
59
+ } catch {
60
+ throw new Error(
61
+ 'Playwright Chromium is not installed. Run:\n\n' +
62
+ ' npx playwright install chromium\n\n' +
63
+ 'Then re-run your jaku command.'
64
+ );
65
+ }
66
+ } else {
67
+ throw err;
68
+ }
69
+ }
49
70
 
50
71
  const contextOptions = {
51
72
  viewport: { width: 1440, height: 900 },
@@ -38,7 +38,7 @@ export class ReportGenerator {
38
38
  const reportData = {
39
39
  meta: {
40
40
  agent: 'JAKU',
41
- version: '1.0.2',
41
+ version: '1.0.3',
42
42
  module: 'qa',
43
43
  target: this.config.target_url,
44
44
  scannedAt: new Date().toISOString(),
@@ -141,8 +141,8 @@ export function generateSARIF(findings, meta = {}) {
141
141
  tool: {
142
142
  driver: {
143
143
  name: 'JAKU',
144
- version: meta.version || '1.0.2',
145
- semanticVersion: meta.version || '1.0.2',
144
+ version: meta.version || '1.0.3',
145
+ semanticVersion: meta.version || '1.0.3',
146
146
  informationUri: 'https://github.com/jaku-security',
147
147
  rules,
148
148
  },