11---
22title : A3S ACL
3- description : HCL-like Agent Configuration Language used across A3S components.
3+ description : Typed Agent Configuration Language used across A3S components.
44---
55
66# A3S ACL
@@ -9,35 +9,36 @@ description: HCL-like Agent Configuration Language used across A3S components.
99configuration. It provides a Rust crate and a Node.js/TypeScript SDK for parsing
1010ACL text into an AST and generating ACL text back from structured values.
1111
12- The current Rust crate is ` a3s-acl ` ` 0.2.1 ` , and the current Node package is
13- ` @a3s-lab/acl ` ` 0.2.1 ` . The crate repository metadata points to
12+ The checked-in Rust crate is ` a3s-acl ` ` 0.2.2 ` , and the checked-in Node package
13+ is ` @a3s-lab/acl ` ` 0.2.2 ` . The crate repository metadata points to
1414[ ` A3S-Lab/ACL ` ] ( https://github.com/A3S-Lab/ACL ) .
1515
1616## Capability Map
1717
1818| Area | Current capability |
1919| --- | --- |
20- | Syntax | HCL-like attributes, labeled blocks, nested blocks, lists, objects, strings, numbers, booleans, null, function calls, comments, and ` = ` / ` : ` assignments. |
21- | Lexer/parser | Source spans, line/column parse errors , comment skipping, string escapes, negative numbers, and scientific notation. |
20+ | Syntax | ACL attributes, labeled blocks, nested blocks, lists, objects, strings, numbers, booleans, null, function calls, comments, and ` = ` / ` : ` assignments. |
21+ | Lexer/parser | Bounded parsing, stable diagnostic codes, UTF-8 byte spans , comment skipping, string escapes, negative numbers, and scientific notation. |
2222| Functions | First-class call values such as ` env(...) ` , ` concat(...) ` , and custom function names. |
2323| AST | ` Document ` , ` Block ` , typed values, builders, value constructors, and ` Value ` accessors. |
24- | Generation | Bidirectional parse/generate flow, sorted attributes, string escaping, map generation, and label-as-attribute output mode. |
24+ | Generation | Native ACL output, block-header labels, sorted attributes and objects, type-stable strings, and map generation. |
25+ | Integrity | Byte-identical Rust/Node canonical UTF-8 and algorithm-prefixed SHA-256 digests. |
2526| SDKs | Rust crate ` a3s-acl ` ; Node package ` @a3s-lab/acl ` with TypeScript definitions. |
2627
2728## Start Here
2829
2930- [ Syntax] ( /docs/acl/syntax ) documents blocks, attributes, values, calls,
3031 comments, and parser boundaries.
31- - [ Rust API] ( /docs/acl/rust-api ) covers ` parse ` , ` generate ` , builders,
32- ` GeneratorConfig ` , and AST value helpers.
32+ - [ Rust API] ( /docs/acl/rust-api ) covers bounded parsing, diagnostics, canonical
33+ digests, generation, builders , and AST value helpers.
3334- [ Node SDK] ( /docs/acl/node-sdk ) covers the JavaScript/TypeScript parser,
34- generator, builders , and ` generateHCL ` .
35- - [ Generation And Boundaries] ( /docs/acl/generation-boundaries ) explains output
36- modes, secret handling, and what ACL does not evaluate by itself .
35+ native ACL generator, canonical APIs , and builders .
36+ - [ Generation And Boundaries] ( /docs/acl/generation-boundaries ) explains stable
37+ output, canonical bytes, secret handling, and host-component ownership .
3738
3839## Example
3940
40- ``` hcl
41+ ``` text
4142default_model = "provider/model-id"
4243
4344providers "provider" {
0 commit comments