Skip to content
This repository was archived by the owner on Aug 15, 2025. It is now read-only.

Commit b5244e8

Browse files
authored
Generating static agent wrappers (#302)
1 parent 1d10946 commit b5244e8

21 files changed

Lines changed: 3597 additions & 207 deletions

File tree

Cargo.lock

Lines changed: 172 additions & 48 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ itertools = "0.14.0"
7272
lenient_bool = "0.1.1"
7373
log = "0.4.25"
7474
minijinja = "2.7.0"
75+
moonbit-component-generator = { version = "0.0.2", features = ["get-script"] }
7576
nanoid = "0.4.0"
7677
native-tls = "0.2.13"
7778
nondestructive = "0.0.26"
@@ -119,19 +120,19 @@ uuid = "1.13.2"
119120
version-compare = "0.2.0"
120121
wac-graph = "0.6.1"
121122
walkdir = "2.5.0"
122-
wasm-wave = "0.228"
123+
wasm-wave = "0.235"
123124
wax = "0.6.0"
124125
wasm-metadata = { version = "0.228", features = ["oci"] }
125-
wasmparser = "0.228.0"
126-
wasm-encoder = "0.228.0"
126+
wasmparser = "0.235.0"
127+
wasm-encoder = "0.235.0"
127128
wasm-rquickjs = "0.0.4"
128129
wasmtime = { version = "33.0.0", features = ["async", "component-model"] }
129130
wasmtime-wasi = { version = "33.0.0" }
130-
wit-bindgen = "0.40.0"
131-
wit-bindgen-rust = "0.40.0"
132-
wit-component = "0.228"
133-
wit-encoder = "0.228"
134-
wit-parser = "0.228"
131+
wit-bindgen = "0.43.0"
132+
wit-bindgen-rust = "0.43.0"
133+
wit-component = "0.235"
134+
wit-encoder = "0.235"
135+
wit-parser = "0.235"
135136

136137
[patch.crates-io]
137138
golem-client = { git = "https://github.com/golemcloud/golem.git", tag = "v1.3.0-dev.19" }

golem-cli/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ iso8601 = { workspace = true }
7777
itertools = { workspace = true }
7878
lenient_bool = { workspace = true }
7979
minijinja = { workspace = true }
80+
moonbit-component-generator = { workspace = true }
8081
native-tls = { workspace = true }
8182
nondestructive = { workspace = true }
8283
phf = { workspace = true }
@@ -128,6 +129,7 @@ wit-parser = { workspace = true }
128129
# External deps
129130
axum = { workspace = true }
130131
log = { workspace = true }
132+
pretty_env_logger = { workspace = true }
131133
reqwest = { workspace = true }
132134
serde_json_path = { workspace = true }
133135
strip-ansi-escapes = { workspace = true }
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
///|
2+
struct ChildItemsBuilder {
3+
parent : &ItemSequenceBuilderParent
4+
items : Array[NodeIndex]
5+
mut closed : Bool
6+
}
7+
8+
///|
9+
pub fn ChildItemsBuilder::items(
10+
self : ChildItemsBuilder,
11+
inner : (ItemBuilder) -> Unit raise BuilderError,
12+
) -> Unit raise BuilderError {
13+
let item_builder = { parent: self }
14+
inner(item_builder)
15+
self.closed = true
16+
self.parent.add_items(self.items)
17+
}
18+
19+
///|
20+
impl SingleItemBuilderParent for ChildItemsBuilder with add_item(
21+
self : ChildItemsBuilder,
22+
item_type_index : NodeIndex,
23+
) -> Unit {
24+
self.items.push(item_type_index)
25+
}
26+
27+
///|
28+
impl SingleItemBuilderParent for ChildItemsBuilder with root_builder(
29+
self : ChildItemsBuilder,
30+
) -> Builder {
31+
self.parent.root_builder()
32+
}
33+
34+
///|
35+
impl SingleItemBuilderParent for ChildItemsBuilder with is_closed(
36+
self : ChildItemsBuilder,
37+
) -> Bool {
38+
self.closed
39+
}

0 commit comments

Comments
 (0)