Add SpeckDL compiler scaffold

- CLI entry point with yargs parsing for speckl-compile <file> --output-dir --bom-format
- TypeScript parser with AST types for all SpeckDL primitives
- Generator for PROV-O JSON-LD provenance graphs
- Generator for CycloneDX v1.6 BOMs
- Generator for SPDX 3.0.1 BOMs
- E2E test verifying RetryHandler.speck parsing and all output formats

All tests pass.
This commit is contained in:
Scott Scoble 2026-04-29 15:12:08 -07:00
parent 448819104a
commit f19a43fd5f
1295 changed files with 1037389 additions and 0 deletions

View file

@ -0,0 +1,60 @@
{
"@context": {
"prov": "http://www.w3.org/ns/prov#",
"speckl": "https://speckl.scoble.me/ns/v0.2#",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#"
},
"@graph": [
{
"@type": "prov:Entity",
"@id": "speck:RetryHandler",
"prov:qualifiedGeneration": {
"@type": "prov:Generation",
"prov:activity": {
"@type": "prov:Activity",
"prov:startTime": "2026-04-29T22:11:59.830Z"
}
},
"rdfs:label": "RetryHandler",
"prov:wasDerivedFrom": {
"@id": "speck:FaultHandler"
},
"rdfs:comment": "\"",
"speckl:satisfies": {
"@id": "requirement:RESILIENCE"
},
"prov:wasAttributedTo": {
"@id": "agent:\""
},
"prov:wasInformedBy": {
"@id": "source:architecture_review:\""
}
},
{
"@type": "prov:Entity",
"@id": "speck:FaultHandler"
},
{
"@type": "prov:Entity",
"@id": "requirement:RESILIENCE",
"rdfs:label": "RESILIENCE"
},
{
"@type": "prov:Entity",
"@id": "requirement:RESILIENCE",
"rdfs:label": "RESILIENCE"
},
{
"@type": "prov:Agent",
"@id": "agent:\"",
"rdfs:label": "\"",
"foaf:email": "Scott Scoble"
},
{
"@type": "prov:Activity",
"@id": "source:architecture_review:\"",
"prov:type": "architecture_review",
"rdfs:label": "architecture_review - \""
}
]
}