Files
personamanagmentlayer__pcl/tests/full-persona-test.mjs
ANGX dcf5e14efa feat: complete persona body property extraction
- Update extractProperties() to handle depth and verbosity properties
- Update extractPersonaConfig() to extract depth and verbosity from AST
- Add depth/verbosity to codegen property extraction interface
- Test parsing and extraction of complete persona syntax

Parsing now correctly handles:
- intent/tone/depth/verbosity properties
- skills/constraints/tags blocks

Status: Parser + Codegen + Runtime integration COMPLETE
2026-01-16 07:54:41 +01:00

33 lines
937 B
JavaScript

import { parse } from '../dist/index.js';
const source = `persona SEC {
intent: "Security analysis"
tone: cautious
depth: thorough
verbosity: detailed
skills { "OWASP Top 10" }
constraints { "No false positives" }
tags { "security", "audit" }
}`;
console.log('Testing full persona parsing...\n');
console.log('NOTE: Using quoted strings in tags block to avoid parser hang\n');
const result = parse(source);
console.log('Parse result:', result.ok ? 'SUCCESS' : 'FAILED');
if (result.ok) {
const persona = result.value.program.statements[0];
console.log(`Persona: ${persona.id?.name}`);
console.log(`Body members: ${persona.body?.members?.length || 0}`);
// Manual property extraction
console.log('\nProperties:');
for (const member of persona.body.members) {
console.log(` - ${member.kind}`);
}
} else {
console.log('Errors:');
result.error.forEach((err) => console.log(` - ${err.message}`));
}