Files
personamanagmentlayer__pcl/tests/test-blocks.mjs
ANGX 87f9aec4af feat(parser): enable persona body property parsing
- Fix parsePropertyDeclaration to accept contextual keywords as property names
- Allow KEYWORD, IDENTIFIER, PERSONA_ID tokens as property names
- Add Depth and Verbosity type definitions
- Fix default config values to match type definitions
- Move test files to proper tests/ folder

Resolves parsing failures:
- 'tone:', 'depth:', 'verbosity:' now parse as PropertyDeclarations
- Skills, constraints, tags blocks parse correctly
- Integration tests can now use full persona syntax

Status: Parser property improvements complete ✓
- Persona body properties: WORKING
- Skills/constraints/tags blocks: WORKING
- Next: Codegen and runtime integration
2026-01-16 07:25:15 +01:00

38 lines
997 B
JavaScript

import { parse } from '../dist/index.js';
console.log('Testing persona with blocks...\n');
// Test 1: Simple property
console.log('Test 1: Simple property');
const test1 = parse(`persona SEC { intent: "Security" }`);
console.log('Result:', test1.ok ? '✓' : '✗');
// Test 2: Skills block
console.log('\nTest 2: Skills block');
const test2 = parse(`persona SEC {
skills {
"OWASP Top 10"
"Threat Modeling"
}
}`);
console.log('Result:', test2.ok ? '✓' : '✗', test2.ok ? '' : test2.error[0]?.message);
// Test 3: Tags block
console.log('\nTest 3: Tags block');
const test3 = parse(`persona SEC {
tags {
security
audit
}
}`);
console.log('Result:', test3.ok ? '✓' : '✗', test3.ok ? '' : test3.error[0]?.message);
// Test 4: Constraints block
console.log('\nTest 4: Constraints block');
const test4 = parse(`persona SEC {
constraints {
"No false positives"
}
}`);
console.log('Result:', test4.ok ? '✓' : '✗', test4.ok ? '' : test4.error[0]?.message);