Skip to content

Commit 4785440

Browse files
fix fake provider nested template syntax
1 parent 41a5d46 commit 4785440

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

global-template/docgen/test/semantic-index.test.mjs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,26 +43,27 @@ import path from 'node:path';
4343
const prompt=fs.readFileSync(0,'utf8');
4444
const stage=process.env.DOCGEN_STAGE;
4545
const cwd=process.cwd();
46+
const tick=String.fromCharCode(96);
4647
const between=(text,start,end)=>{const tail=text.split(start)[1];return tail?tail.split(end)[0]:null;};
47-
const target=between(prompt,'Write exactly one JSON file: \\`','\\`');
48-
const write=(rel,value)=>{if(!rel)throw new Error('missing output path for '+stage);const file=path.join(cwd,rel);fs.mkdirSync(path.dirname(file),{recursive:true});fs.writeFileSync(file,JSON.stringify(value,null,2)+'\\n');};
48+
const target=between(prompt,'Write exactly one JSON file: '+tick,tick);
49+
const write=(rel,value)=>{if(!rel)throw new Error('missing output path for '+stage);const file=path.join(cwd,rel);fs.mkdirSync(path.dirname(file),{recursive:true});fs.writeFileSync(file,JSON.stringify(value,null,2)+'\n');};
4950
if(stage==='modelCore'){
5051
write(target,{system:{components:[{id:'resource',kind:'component',name:'Resource',statement:'HTTP resource',classification:'FACT',confidence:1,evidence:[{path:'src/Resource.java',startLine:1}]}],relationships:[],workflows:[],unknowns:[]},business:{actors:[],capabilities:[],concepts:[],businessRules:[],decisions:[],branchConditions:[],lifecycles:[],invariants:[],useCases:[],unknowns:[]},flows:{businessFlows:[],controlFlows:[],requestFlows:[],trafficFlows:[],dataFlows:[],eventFlows:[]},catalogs:{endpoints:[],messageHandlers:[],externalDependencies:[],dataStores:[],scheduledJobs:[]}});
5152
}else if(stage==='modelEnterprise'){
5253
write(target,{security:{unknowns:[]},operations:{unknowns:[]},testing:{unknowns:[]},'data-governance':{unknowns:[]},decisions:{unknowns:[]},configuration:{unknowns:[]},'change-impact':{unknowns:[]},ownership:{unknowns:[]}});
5354
}else if(stage==='plan'){
5455
write(target,{schemaVersion:'2.0',metadata:{description:'Fixture docs'},pages:[{id:'overview',title:'System Overview',summary:'Fixture overview.',category:'orientation',mode:'explanation',type:'overview',order:1,audience:['engineer'],coverageTags:['architecture'],query:'resource architecture',requiredSections:[],risk:'low',relatedPages:[]}]});
5556
}else if(stage==='generate'){
56-
const json=between(prompt,'Page contracts:\\n','\\n\\nFor every contract:');
57+
const json=between(prompt,'Page contracts:\n','\n\nFor every contract:');
5758
const contracts=JSON.parse(json);
5859
for(const contract of contracts){
5960
const page=contract.page;
60-
const md='---\\ntitle: '+JSON.stringify(page.title)+'\\ndescription: '+JSON.stringify(page.summary)+'\\npageId: '+JSON.stringify(page.id)+'\\ncategory: '+JSON.stringify(page.category)+'\\nmode: '+JSON.stringify(page.mode)+'\\ntype: '+JSON.stringify(page.type)+'\\norder: '+page.order+'\\n---\\n# '+page.title+'\\n\\n'+page.summary+'\\n\\nThe repository exposes an HTTP resource.\\n';
61+
const md='---\ntitle: '+JSON.stringify(page.title)+'\ndescription: '+JSON.stringify(page.summary)+'\npageId: '+JSON.stringify(page.id)+'\ncategory: '+JSON.stringify(page.category)+'\nmode: '+JSON.stringify(page.mode)+'\ntype: '+JSON.stringify(page.type)+'\norder: '+page.order+'\n---\n# '+page.title+'\n\n'+page.summary+'\n\nThe repository exposes an HTTP resource.\n';
6162
const output=path.join(cwd,contract.outputPath);fs.mkdirSync(path.dirname(output),{recursive:true});fs.writeFileSync(output,md);
6263
write(contract.traceabilityPath,{schemaVersion:'2.0',pageId:page.id,pagePath:contract.outputPath,claims:[{id:page.id+':resource',section:page.title,statement:'The repository exposes an HTTP resource.',classification:'FACT',confidence:1,evidence:[{path:'src/Resource.java',startLine:1}],sourceModelRefs:['system:resource']}]});
6364
}
6465
}else if(stage==='audit'){
65-
const output=between(prompt,'report: \\`','\\`')||'.docgen/audit/llm-risk.json';write(output,{schemaVersion:'2.0',pages:[]});
66+
const output=between(prompt,'report: '+tick,tick)||'.docgen/audit/llm-risk.json';write(output,{schemaVersion:'2.0',pages:[]});
6667
}else{process.exitCode=2;console.error('unexpected stage '+stage);}
6768
`);
6869
fs.chmodSync(file, 0o755);

0 commit comments

Comments
 (0)