Files
personamanagmentlayer__pcl/tests/simple-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

32 lines
966 B
JavaScript

import { parse } from '../dist/index.js';
const source = `persona SEC {
intent: "Security analysis"
tone: cautious
}`;
console.log('Testing simple persona parsing...\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}: ${member.name?.name || 'unnamed'}`);
if (member.kind === 'PropertyDeclaration' && member.initializer) {
console.log(
` Value: ${member.initializer.kind} - ${member.initializer.value || member.initializer.name}`
);
}
}
} else {
console.log('Errors:');
result.error.forEach((err) => console.log(` - ${err.message}`));
}