Repository navigation
v0.2.0
Install:
mise use github:moonrockz/smithy@0.2.0moon add moonrockz/smithy-syntax@0.2.0
Wasm files:
smithy.wasmneeds a host that supplies the__moonbit_fs_unstableimports andwasi_snapshot_preview1.fd_write.wasmtimealone fails withunknown import: __moonbit_fs_unstable::….smithy-gc.wasmneeds a host with WebAssembly GC that supplies the__moonbit_fs_unstableimports andspectest.print_char.wasmtimealone fails withunknown import: __moonbit_fs_unstable::….
Smithy now loads smithy.contracts#conditions and validates JMESPath syntax, modeled member references, function arguments, and boolean results during assembly. The new moonrockz/jmespath package exposes standalone parsing, an inspectable AST with source spans, JSON evaluation, and diagnostics with source locations. IDL/JSON conversion preserves contract expressions and documentation. Serialization does not evaluate contracts. Existing models without contract traits need no changes.
🚀 Features
- Support Smithy contract traits (#21) by @DamianReeves
- Add public JMESPath parser and evaluator (#22) by @DamianReeves
- Analyze JMESPath contract conditions (#23) by @DamianReeves
🏗️ Build and CI
- Consume zig-cross from moonx-tools (#20) by @DamianReeves
Full changelog: v0.1.1...v0.2.0