Proto commits in golemcloud/golem

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:c8ff368
Author:Daniel Vigovszky
Committer:GitHub

Agent permissions (#3712) * Introduced permission-card schema value case * phase 4 * phase 5 * scope-card checkpoint a * scope-card checkpoint b * scope-card checkpoint c * scope-card checkpoint d * scope-card finished * Fix main merge integration issues * Fix persisted tags and P3 future usage * Fix permission linkers and plugin artifact * Fix permission-card transfer recipient validation * Authorize permission-card operations against the current wallet * Make permission-card revocation delivery resilient * Update host API card test surface * Complete permission-card schema support in SDKs * Serialize executor-heavy retry tests * Isolate retry tests from worker shard memory * Fix deterministic permission-card replay Use invocation-pinned wallet and scope state during replay while keeping live authorization on the cached effective surface. Serialize card-event reconciliation at durable boundaries and recover transfers without holding the source lock during delivery. Amp-Thread-ID: https://ampcode.com/threads/T-01a00eff-db5c-727c-bccf-fed6af6ee15c Co-authored-by: Amp <amp@ampcode.com> * Scala and TS SDK fixes * Fail closed during permission-card cursor recovery Amp-Thread-ID: https://ampcode.com/threads/T-01a00eff-db5c-727c-bccf-fed6af6ee15c Co-authored-by: Amp <amp@ampcode.com> * Fix clippy warning in permission-card revoke Amp-Thread-ID: https://ampcode.com/threads/T-01a00eff-db5c-727c-bccf-fed6af6ee15c Co-authored-by: Amp <amp@ampcode.com> * Avoid need for re-reading the whole oplog * Removed obsolete test * Enforce agent permissions on host calls Authorize every protected live host operation before effects while preserving durable replay and admitted-resource semantics. Propagate typed denials through WIT and SDK bindings, add focused integration and performance coverage, and use the async Wasmtime host boundaries for environment and filesystem calls. Co-authored-by: Amp <amp@ampcode.com> Amp-Thread-ID: https://ampcode.com/threads/T-01a01584-9d90-7018-a276-e6ac2071e17a * Format * Fix agent permission CI regressions Amp-Thread-ID: https://ampcode.com/threads/T-01a0252d-752c-7743-bea2-3bc7601366a1 Co-authored-by: Amp <amp@ampcode.com> * Update default permission parent fixture Amp-Thread-ID: https://ampcode.com/threads/T-01a0252d-752c-7743-bea2-3bc7601366a1 Co-authored-by: Amp <amp@ampcode.com> * Fix permission-aware integration fixtures Amp-Thread-ID: https://ampcode.com/threads/T-01a0252d-752c-7743-bea2-3bc7601366a1 Co-authored-by: Amp <amp@ampcode.com> --------- Co-authored-by: Dávid István Bíró <noise64@gmail.com> Co-authored-by: Amp <amp@ampcode.com>

The documentation is generated from this commit.

Commit:36d3dac
Author:Daniel Vigovszky
Committer:GitHub

Fix replay of durable calls completed in the crash window (#3749) * Fix replay of durable calls completed in the crash window The executor recorded a durable call's End entry when the host completed the operation, before the guest observed the result. A crash between host completion and guest observation (e.g. an HTTP response fully received by the host but not yet polled by the guest) made replay hand the guest a completion it never saw, causing divergent replay. Originally observed as the flaky Go outgoing-HTTP replay test. The oplog now separates host completion from guest consumption: - End keeps recording host completion and persists the result. - CompletionDelivered / CompletionDiscarded record whether the guest actually consumed the completion (delivered through waitable-set wait/poll, a guest callback, or sync lowering - or consumed without observing the result via subtask.cancel / cancellation). - During replay, an End with a marker waits for its exact marker before releasing the result to the guest; a markerless End (the crash window) waits for natural replay-tail exhaustion and then becomes live-armed, so the guest re-observes the completion in live mode. - Cancelled partial results remain immediately deliverable. The delivery point is captured with terminal observers added to the golem-wasmtime fork (branch golem-wasmtime-v46.0.1-p3), which fire exactly when the guest consumes a subtask's terminal event. The oplog format change is not backward compatible; this is acceptable for the unreleased format. * Fix P3 monotonic clock completion delivery Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Update response body delivery marker test Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Expose completion markers in Scala oplog API Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Rebuild OTLP exporter for completion markers Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Fix running worker fork cut point selection Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Defer response trailers completion delivery Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Drain custom subtree delivery markers on replay Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Fix replayed HTTP body cancellation acknowledgement Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Fix replayed POST cancellation cleanup Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Fence replay cursor cleanup after HTTP cancellation Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> * Record HTTP trailers delivery at guest consumption Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp <amp@ampcode.com> --------- Co-authored-by: Amp <amp@ampcode.com>

Commit:9de0f24
Author:Daniel Vigovszky
Committer:GitHub

Tool sidecar instances (#3750) * Implement GOL-33 tool sidecar instances Amp-Thread-ID: https://ampcode.com/threads/T-01a01502-2dac-732a-9dbf-07945a015b63 Co-authored-by: Amp <amp@ampcode.com> * Review fixes * Clippy fixes --------- Co-authored-by: Amp <amp@ampcode.com>

Commit:3806a83
Author:Daniel Vigovszky

Fix replay of durable calls completed in the crash window The executor recorded a durable call's End entry when the host completed the operation, before the guest observed the result. A crash between host completion and guest observation (e.g. an HTTP response fully received by the host but not yet polled by the guest) made replay hand the guest a completion it never saw, causing divergent replay. Originally observed as the flaky Go outgoing-HTTP replay test. The oplog now separates host completion from guest consumption: - End keeps recording host completion and persists the result. - CompletionDelivered / CompletionDiscarded record whether the guest actually consumed the completion (delivered through waitable-set wait/poll, a guest callback, or sync lowering - or consumed without observing the result via subtask.cancel / cancellation). - During replay, an End with a marker waits for its exact marker before releasing the result to the guest; a markerless End (the crash window) waits for natural replay-tail exhaustion and then becomes live-armed, so the guest re-observes the completion in live mode. - Cancelled partial results remain immediately deliverable. The delivery point is captured with terminal observers added to the golem-wasmtime fork (branch golem-wasmtime-v46.0.1-p3), which fire exactly when the guest consumes a subtask's terminal event. The oplog format change is not backward compatible; this is acceptable for the unreleased format.

Commit:87e2ac8
Author:kmatasfp

Merge remote-tracking branch 'origin/main' into kaurmatas/gol-416-unify-filesystem-storage-accounting # Conflicts: # golem-common/src/model/oplog/protobuf.rs # golem-worker-executor-test-utils/src/lib.rs # golem-worker-executor/src/durable_host/mod.rs # golem-worker-executor/src/model/public_oplog/mod.rs # golem-worker-executor/src/model/public_oplog/wit.rs # golem-worker-executor/tests/lib.rs # plugins/otlp-exporter.wasm

Commit:42fe000
Author:Daniel Vigovszky

Merge branch 'main' into streaming-invocation-1 Amp-Thread-ID: https://ampcode.com/threads/T-01a01903-d22b-75b4-bd87-d4ed45807e78 Co-authored-by: Amp <amp@ampcode.com> # Conflicts: # cli/golem-cli/command-output-schema/command-output.schema.json # cli/golem-cli/src/bridge_gen/scala/mod.rs # cli/golem-cli/src/command_handler/agent/invocation_session.rs # cli/golem-cli/src/model/agent/mod.rs # cli/golem-cli/src/model/cli_output.rs # cli/golem-cli/tests/app/mod.rs # golem-common/src/model/component_metadata.rs # golem-common/src/model/oplog/protobuf.rs # golem-service-base/src/model/environment.rs # golem-worker-executor/src/durable_host/concurrent/call.rs # golem-worker-executor/src/durable_host/concurrent/tests.rs # golem-worker-executor/src/durable_host/durability.rs # golem-worker-executor/src/durable_host/golem/retry_api.rs # golem-worker-executor/src/durable_host/golem/v1x.rs # golem-worker-executor/src/durable_host/http/inline_retry.rs # golem-worker-executor/src/durable_host/http/policy.rs # golem-worker-executor/src/durable_host/http/types.rs # golem-worker-executor/src/durable_host/mod.rs # golem-worker-executor/src/durable_host/p3/http/replay.rs # golem-worker-executor/src/durable_host/p3/http/send.rs # sdks/moonbit/golem_sdk/gen/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/agent/guest/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/api/load-snapshot/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/tool/guest/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/agent/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/context/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/oplog/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/oplog/top.mbt # sdks/moonbit/golem_sdk/interface/golem/api/retry/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/core/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/durability/durability/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/durability/durability/top.mbt # sdks/moonbit/golem_sdk/interface/golem/quota/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/ignite2/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/mysql/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/postgres/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/secrets/reveal/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/secrets/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/tool/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/websocket/client/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/blobstore/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/container/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/cli/environment/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/clocks/system-clock/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/config/store/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/filesystem/preopens/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/filesystem/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/http/client/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/http/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/error/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/poll/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/streams/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/cache/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/eventual-batch/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/eventual/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/types/ffi.mbt # sdks/moonbit/golem_sdk/tool/tool_wbtest.mbt # sdks/moonbit/golem_sdk_example1/golem_moonbit_examples/golem_tools.mbt # sdks/scala/core/js/src/main/scala/golem/runtime/rpc/SchemaRpcCodec.scala

Commit:45dede8
Author:kmatasfp

refactor(filesystem): remove legacy quota accounting

Commit:b81b591
Author:Daniel Vigovszky

gol-91

Commit:64c6fd2
Author:Daniel Vigovszky

Merge branch 'main' into agent-permissions-24 Amp-Thread-ID: https://ampcode.com/threads/T-01a014ec-6e08-7464-ab33-13a4d724a7f1 Co-authored-by: Amp <amp@ampcode.com> # Conflicts: # golem-common/src/model/oplog/protobuf.rs # golem-common/src/model/oplog/tests.rs # golem-worker-executor/src/durable_host/concurrent/call.rs # golem-worker-executor/src/durable_host/replay_state/tests.rs # golem-worker-executor/src/model/public_oplog/mod.rs # openapi/golem-service.yaml # openapi/golem-worker-service.yaml # plugins/otlp-exporter.wasm # sdks/moonbit/golem_sdk/gen/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/agent/guest/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/api/load-snapshot/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/tool/guest/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/agent/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/context/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/host/top.mbt # sdks/moonbit/golem_sdk/interface/golem/api/oplog/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/oplog/top.mbt # sdks/moonbit/golem_sdk/interface/golem/api/retry/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/core/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/durability/durability/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/durability/durability/top.mbt # sdks/moonbit/golem_sdk/interface/golem/quota/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/ignite2/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/mysql/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/postgres/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/secrets/reveal/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/secrets/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/tool/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/websocket/client/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/blobstore/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/container/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/cli/environment/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/clocks/system-clock/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/config/store/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/filesystem/preopens/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/filesystem/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/http/client/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/http/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/error/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/poll/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/streams/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/cache/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/eventual-batch/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/eventual/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/wasi-keyvalue-error/ffi.mbt # test-components/host-api-tests/src/golem_host_api.rs

Commit:4f0b372
Author:Daniel Vigovszky
Committer:GitHub

Removed persistence mode and redesigned custom durability (#3740) * Removed persistence mode and redesigned custom durability * Fixes * test config fix

Commit:64ef436
Author:Daniel Vigovszky

Experimental executor fix

Commit:0203a9b
Author:Daniel Vigovszky

Removed persistence mode and redesigned custom durability

Commit:9f87a1c
Author:Daniel Vigovszky

streaming invocation base

Commit:08bfe5e
Author:Dávid István Bíró

Merge remote-tracking branch 'origin/main' into agent-permissions-24 # Conflicts: # Cargo.lock # cli/golem-cli/src/model/cli_output.rs # cli/golem-cli/tests/bridge_gen/moonbit.rs # golem-common/src/model/oplog/payload/mod.rs # golem-common/src/model/oplog/payload/tests.rs # golem-registry-service/src/grpc/api_impl.rs # golem-registry-service/src/services/component/write.rs # golem-registry-service/tests/repo/common.rs # golem-service-base/src/clients/registry.rs # openapi/golem-registry-service.yaml # test-components/host-api-tests/src/golem_host_api.rs

Commit:ea108e8
Author:Daniel Vigovszky
Committer:GitHub

Tool definition host functions (#3739) * Tool discovery host functions * Review fixes * Review fixes * Test fix

Commit:8bb3a1c
Author:Daniel Vigovszky

Review fixes

Commit:2e33e13
Author:kmatasfp

revert(filesystem): remove logical accounting The in-process reservation, oplog delta, and storage-permit model is superseded by backend-authoritative filesystem usage and capacity accounting planned under GOL-416.

Commit:8f5bec9
Author:Kaur Matas
Committer:GitHub

Merge branch 'main' into kaurmatas/gol-416-unify-filesystem-storage-accounting

Commit:79effe6
Author:kmatasfp
Committer:kmatasfp

Complete filesystem accounting hardening

Commit:64f5143
Author:Daniel Vigovszky
Committer:GitHub

Tool definition in manifest and registry (#3738) * Tool definition in manifest and registry * Fix schema untypedness * Fix --------- Co-authored-by: Amp <amp@ampcode.com>

Commit:26d6cea
Author:kmatasfp

Keep filesystem baseline internal

Commit:f732dc7
Author:kmatasfp

Fix filesystem accounting recovery and streams

Commit:e2da057
Author:Kaur Matas
Committer:GitHub

Bill allocated linear memory (#3727)

Commit:24166a8
Author:kmatasfp

Finalize allocated memory billing

Commit:3adaf0d
Author:Dávid István Bíró

Merge remote-tracking branch 'origin/main' into agent-permissions-24 # Conflicts: # golem-registry-service/tests/repo/common.rs

Commit:7a24a64
Author:Kaur Matas

Fix linear memory growth accounting

Commit:2090cbf
Author:kmatasfp

Add allocated memory billing

Commit:4567379
Author:Kaur Matas
Committer:GitHub

Add storage billing and per-agent limits (#3723)

Commit:1801722
Author:Dávid István Bíró

Merge remote-tracking branch 'origin/main' into agent-permissions-24 # Conflicts: # Cargo.toml # cli/golem-cli/wit/deps/golem-1.x/golem-host.wit # cli/golem-cli/wit/deps/golem-agent/host.wit # golem-api-grpc/proto/golem/worker/public_oplog.proto # golem-api-grpc/proto/golem/worker/raw_oplog.proto # golem-common/src/model/oplog/payload/mod.rs # golem-common/src/model/oplog/protobuf.rs # golem-common/wit/deps/golem-1.x/golem-host.wit # golem-common/wit/deps/golem-agent/host.wit # golem-test-framework/src/dsl/debug_render.rs # golem-worker-executor/src/durable_host/golem/v1x.rs # golem-worker-executor/src/durable_host/mod.rs # golem-worker-executor/src/durable_host/replay_state.rs # golem-worker-executor/src/durable_host/wasm_rpc/mod.rs # golem-worker-executor/src/model/public_oplog/mod.rs # golem-worker-executor/src/model/public_oplog/wit.rs # golem-worker-executor/src/services/oplog/tests.rs # golem-worker-executor/src/worker/mod.rs # golem-worker-executor/tests/api.rs # golem-worker-service/src/service/worker/service.rs # openapi/golem-service.yaml # openapi/golem-worker-service.yaml # sdks/moonbit/golem_sdk/gen/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/agent/guest/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/api/loadSnapshot/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/api/saveSnapshot/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/tool/guest/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/agent/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/agent/host/top.mbt # sdks/moonbit/golem_sdk/interface/golem/api/context/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/oplog/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/oplog/top.mbt # sdks/moonbit/golem_sdk/interface/golem/api/retry/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/core/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/durability/durability/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/quota/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/ignite2/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/mysql/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/postgres/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/secrets/reveal/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/secrets/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/tool/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/tool/host/top.mbt # sdks/moonbit/golem_sdk/interface/golem/websocket/client/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/blobstore/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/container/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/cli/environment/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/config/store/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/filesystem/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/http/client/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/http/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/error/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/poll/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/streams/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/atomic/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/cache/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/eventual-batch/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/eventual/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/wasi-keyvalue-error/ffi.mbt # sdks/moonbit/golem_sdk/rpc/rpc.mbt # sdks/moonbit/golem_sdk/wit/deps/golem-1.x/golem-host.wit # sdks/moonbit/golem_sdk/wit/deps/golem-agent/host.wit # sdks/rust/Cargo.lock # sdks/rust/golem-rust/Cargo.toml # sdks/rust/golem-rust/wit/deps/golem-1.x/golem-host.wit # sdks/rust/golem-rust/wit/deps/golem-agent/host.wit # sdks/scala/scripts/generate-agent-guest-wasm.sh # sdks/scala/wit/deps/golem-1.x/golem-host.wit # sdks/scala/wit/deps/golem-agent/host.wit # sdks/scala/wit/dts/golem_agent_2_0_0_host.d.ts # sdks/ts/packages/golem-ts-sdk/scripts/generate-agent-template.mjs # sdks/ts/packages/golem-ts-sdk/src/client.ts # sdks/ts/packages/golem-ts-sdk/types/golem_agent_2_0_0_host.d.ts # sdks/ts/wit/deps/golem-1.x/golem-host.wit # sdks/ts/wit/deps/golem-agent/host.wit # test-components/agent-counters/Cargo.lock # test-components/agent-invocation-context/Cargo.lock # test-components/agent-rpc/golem-it-agent-rpc-rust/Cargo.lock # test-components/agent-sdk-rust/Cargo.lock # test-components/agent-updates-v1/Cargo.lock # test-components/agent-updates-v2/Cargo.lock # test-components/host-api-tests/Cargo.lock # test-components/host-api-tests/src/golem_host_api.rs # test-components/http-tests/Cargo.lock # test-components/initial-file-system/Cargo.lock # test-components/oplog-processor/Cargo.lock # test-components/scalability/scalability-large-dynamic-memory/Cargo.lock # test-components/scalability/scalability-large-initial-memory/Cargo.lock # wit/deps/golem-1.x/golem-host.wit # wit/deps/golem-agent/host.wit

Commit:c1e9aa9
Author:Kaur Matas
Committer:GitHub

Merge branch 'main' into billing-storage-meter

Commit:7b03730
Author:kmatasfp

Merge remote-tracking branch 'origin/main' into billing-storage-meter # Conflicts: # golem-worker-executor/src/durable_host/mod.rs

Commit:6819afc
Author:kmatasfp

feat: add storage billing and limits Meter durable and ephemeral storage as byte-seconds and enforce per-agent limits through plan ceilings and account overrides. Migrations preserve existing plan limits above the new 1 GiB default. Add usage and limit REST APIs, CLI commands, schemas, docs, and tests.

Commit:7c8baab
Author:Daniel Vigovszky
Committer:GitHub

Follow-up fixes for the ephemeral hot-path optimisation (#3714) * Follow-up fixes for the ephemeral hot-path optimisation * Fix * Rebuild * Review fixes * non-optional agent-mode in proto

Commit:80ec83e
Author:Daniel Vigovszky

Merge branch 'main' into ephemeral-opt-fixes

Commit:4f79f77
Author:Daniel Vigovszky
Committer:GitHub

WASI P3 migration (#3638) * Updated to wasmtime v45 * WASI P3 migration experiment * p3 clocks wit * Readded wasi p2 host functions * Readded p2 wit deps * WASI P3 host wrappers * Invocation loop change and some temporary test component fixes * Concurrency fixes, round 1 * Refactored replay state * Fix replay finished signal * More replay state tests * Concurrent delivery order test * Start entry ordering stabilization * wit-bindgen update * P3 accessor durable-call foundation with read-call pilots * Preparing for concurrent p3 durable host functions, WIP * p3 durability, wip * p3 durability, wip * p3 http durability, wip * p3 http durability streaming * Match cli and fs to p2 behavior * Further p3 wasi-http improvements * Work on migrating the SDKs and test components, WIP * RPC refactor and fix attempt * Fix of fix * More rust test components migrated * http-tests test component partially migrated * Update to wasmtime v46.0.1 and final wasi:http@0.3.0 - Pin wasmtime, wasmtime-wasi and wasmtime-wasi-http to =46.0.1 (component-model-async-bytes feature renamed to component-model-bytes) - Update all WIT trees from wasi 0.3.0-rc-2026-03-15 to the final 0.3.0 interfaces (root wit/, golem-common, golem-cli, and the SDK WIT copies) - Adapt to the v46 host APIs: trait-generic *WithStore<U> impls, BytesMut stream buffers, ComponentExtern.ty in agent extraction - golem-rust SDK: wasip3 0.7.0 and 0.3.0 WIT remaps - http-tests test component: wasi-fetch 0.2.0 (targets final wasi:http@0.3.0 and wit-bindgen 0.58, fixing the never-polled request-body upload task of wasi-fetch 0.1.3 / wit-bindgen#1305) Amp-Thread-ID: https://ampcode.com/threads/T-019f22a8-4db2-75fb-8967-5d612dccffe0 Co-authored-by: Amp <amp@ampcode.com> * Fix worker-executor store deadlocks caused by blocking host-call paths Wasmtime runs sync-lowered host calls and async resource limiters through block_on on the store's fiber; while such a call awaits, the store event loop cannot poll any store-polled host future (wasmtime#11869, wasmtime#11870). Any async lock that such a host future holds across an await - or is merely queued on, since tokio's fair mutex hands ownership to woken-but-unpolled waiters - deadlocks the whole store as soon as fiber-side host code waits on the same lock. This intermittently hung http_client_using_reqwest_async_parallel. Shared-state paths reachable from both contexts no longer use await-crossing locks: - PrimaryOplog, ForwardingOplog and EphemeralOplog are actors now: the state is exclusively owned by an independent task processing a FIFO job channel, and callers only await oneshot replies - DurableWorkerCtx::increase_memory no longer awaits in the memory.grow limiter; the GrowMemory hint and global memory admission run on a detached task, and on admission failure the worker is restarted, reacquiring its memory through the startup admission path - commit_oplog_and_update_state sends the status-change notification from a detached task instead of queueing on the instance lock - the blob and compressed oplog archives no longer hold their internal locks across storage IO - the replay seen-log set moved out of the replay cursor lock into a synchronous mutex, so stdio host calls never queue behind cursor-advance transactions - LazyPromiseService clones the implementation Arc out instead of holding its RwLock across the delegated call Amp-Thread-ID: https://ampcode.com/threads/T-019f22a8-4db2-75fb-8967-5d612dccffe0 Co-authored-by: Amp <amp@ampcode.com> * worker-state actor refactor * fix t02 * t03-05 * t06 * t07 * t08 * t09 * t10 * t11, t12 * t13, t14 * t15 wip * t15 * t16 * t17-t21 * t22-t25 * t26 * t27 * t28 * t29 * t30 * t31 * t32 * t33+t36 * Removed wac * TS SDK migration * t34 * t35 * t37 * t38-t39 * t40 * t41 * P3 close-out docs: gaps, task log, migration notes, durability checklist * t42 * t43+t44 * t45+t46 * t47 * Merge fixes * Cleanup * Fix Cargo.lock * Remove P3 compatibility replay paths Amp-Thread-ID: https://ampcode.com/threads/T-019f8e28-05c3-711d-93a8-f8f388f2f9a3 Co-authored-by: Amp <amp@ampcode.com> * Build fixes * Fix follow-up CI failures Amp-Thread-ID: https://ampcode.com/threads/T-019f8ecd-ca3e-770e-8c1a-fbdcc9f79d5c Co-authored-by: Amp <amp@ampcode.com> * Split oversized durable_host modules into submodules Mechanical split, no behavior change: - durable_host::concurrent (6600 lines) -> mod/replay/drop_events/delivery/access/call/tests - durable_host::replay_state (5300 lines) -> mod/cursor/claims/resolution/abandoned/tests - durable_host::p3::sockets (2300 lines) -> mod/tcp/udp/dns/tests Amp-Thread-ID: https://ampcode.com/threads/T-019f8dfb-e814-77fd-893b-2640c12afd21 Co-authored-by: Amp <amp@ampcode.com> * Fix MoonBit CI package selection Amp-Thread-ID: https://ampcode.com/threads/T-019f8ecd-ca3e-770e-8c1a-fbdcc9f79d5c Co-authored-by: Amp <amp@ampcode.com> * Cleanups and fixes * Fixes * Cleanup * Fix * Scala fix * Updated wasm-tools * Final wasm-rquickjs version * Cleanup * Cleanup * Fix * Missing files * Clippy * Final cleanups --------- Co-authored-by: Amp <amp@ampcode.com>

Commit:c6ae4c6
Author:Daniel Vigovszky
Committer:Daniel Vigovszky

non-optional agent-mode in proto

Commit:edb5cbb
Author:Daniel Vigovszky

Review fixes

Commit:8274339
Author:Daniel Vigovszky

scope-card checkpoint c

Commit:2eededb
Author:Daniel Vigovszky

Merge branch 'main' into wasi-p3

Commit:8b72ed4
Author:Daniel Vigovszky

Merge remote-tracking branch 'origin/main' into agent-permissions-24 Amp-Thread-ID: https://ampcode.com/threads/T-019f8845-fdb2-772b-a2c3-74910d963927 Co-authored-by: Amp <amp@ampcode.com> # Conflicts: # golem-common/src/model/oplog/payload/mod.rs # golem-test-framework/src/dsl/debug_render.rs # golem-worker-executor/src/durable_host/mod.rs # golem-worker-executor/src/durable_host/replay_state.rs # golem-worker-executor/src/grpc/mod.rs # golem-worker-executor/src/services/worker_proxy.rs # golem-worker-service/src/grpcapi/worker.rs # golem-worker-service/src/service/worker/client.rs # golem-worker-service/src/service/worker/service.rs # sdks/moonbit/golem_sdk/gen/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/agent/guest/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/api/loadSnapshot/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/api/saveSnapshot/ffi.mbt # sdks/moonbit/golem_sdk/gen/interface/golem/tool/guest/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/agent/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/agent/host/top.mbt # sdks/moonbit/golem_sdk/interface/golem/api/context/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/oplog/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/api/oplog/top.mbt # sdks/moonbit/golem_sdk/interface/golem/api/retry/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/core/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/durability/durability/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/quota/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/ignite2/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/mysql/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/rdbms/postgres/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/secrets/reveal/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/secrets/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/tool/host/ffi.mbt # sdks/moonbit/golem_sdk/interface/golem/websocket/client/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/blobstore/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/blobstore/container/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/cli/environment/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/clocks/wallClock/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/config/store/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/filesystem/preopens/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/filesystem/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/http/outgoingHandler/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/http/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/error/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/poll/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/io/streams/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/atomic/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/cache/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/eventual/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/eventualBatch/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/types/ffi.mbt # sdks/moonbit/golem_sdk/interface/wasi/keyvalue/wasiKeyvalueError/ffi.mbt

Commit:eb970a7
Author:Daniel Vigovszky

phase 5

Commit:e41aa89
Author:Daniel Vigovszky

t42

Commit:458957d
Author:Kaur Matas
Committer:GitHub

1.5.x cloud benchmarks (#3615)

Commit:a6dc3c3
Author:Daniel Vigovszky
Committer:GitHub

Ephemeral hot path optimization (#3699) * Ephemeral invocation redesign and performance optimisation * Review fixes * Fixes * Format * Revert test change * Moved test * Moved more tests to the correct location

Commit:0ce18a4
Author:Daniel Vigovszky

Merge branch 'main' into ephemeral-opt

Commit:81dd556
Author:Daniel Vigovszky

Ephemeral invocation redesign and performance optimisation

Commit:e2c0fe2
Author:Kaur Matas
Committer:GitHub

Fix snapshot recovery (#3679)

Commit:6e5dd8d
Author:Kaur Matas
Committer:GitHub

Merge branch 'main' into port-snapshot-recovery-main

Commit:e0d5018
Author:Daniel Vigovszky

t15 wip

Commit:37da05d
Author:Daniel Vigovszky

Introduced permission-card schema value case

Commit:f8e09af
Author:Daniel Vigovszky
Committer:GitHub

REST API and CLI commands for permissions card management (#3688) * Permission cards REST API and CLI * Get agent wallet support * List improvements

Commit:7b02d4c
Author:Daniel Vigovszky

Get agent wallet support

Commit:65daca4
Author:Kaur Matas
Committer:GitHub

Merge branch 'main' into port-snapshot-recovery-main

Commit:29b18e9
Author:Maxim Schuwalow
Committer:GitHub

agent-permissions: handle card expiration (#3672) * agent-permissions: cli integration * resolve conflict * simplify card serde * cleanup card code * fix cli schema * update diff model fingerpint * agent-permissions: various cleanups and improvements * further cleanups * wip * factor out reverse index * fmt * fixes * host card install via queue * handle card expiration * new dedicated oplog entry * fixes * update scala dts * fix scala dts * OpenAPI --------- Co-authored-by: Daniel Vigovszky <daniel.vigovszky@gmail.com>

Commit:f6d2b9f
Author:Kaur Matas
Committer:GitHub

Merge branch 'main' into port-snapshot-recovery-main

Commit:1aa898c
Author:Maxim Schuwalow
Committer:GitHub

agent-permissions: cli integration & api improvements (#3646) * agent-permissions: cli integration * resolve conflict * simplify card serde * cleanup card code * fix cli schema * update diff model fingerpint * Some cleanups for agent-permissions cli integration (#3678) * fix plugin and fs diffing * bump diff model and revert v2 fingerprint * fix manifest schema change --------- Co-authored-by: Daniel Vigovszky <daniel.vigovszky@gmail.com> Co-authored-by: Dávid István Bíró <noise64@gmail.com>

Commit:64eb5bc
Author:kmatasfp
Committer:kmatasfp

Fix snapshot recovery

Commit:a314cad
Author:Daniel Vigovszky
Committer:GitHub

Rust tool definition macros (#3673) * phase 0-2 * phase 3 * phase 4 * SDK updates * Removed txt * Removed md * Fix * Made implicit body usable on all sub-levels * Fix * Fix * fix

Commit:13df001
Author:kmatasfp
Committer:kmatasfp

Fix snapshot recovery

Commit:cc5c646
Author:Daniel Vigovszky
Committer:GitHub

Opaque secrets (#3674) * phase 0 * Phase 1 * Phase 2 * Phase 3 * Phase 4 * phase 5 * phase 6 * phase 7 * phase 8+9 * Fixes * Format * Review comment fixes * Review comment fixes * Fix reveiew comment

Commit:c9cd254
Author:Maxim Schuwalow

handle card expiration

Commit:4a3b454
Author:Maxim Schuwalow

host card install via queue

Commit:dbd5f19
Author:Daniel Vigovszky

Phase 3

Commit:c0699ea
Author:Daniel Vigovszky

phase 0-2

Commit:4a4ae33
Author:Daniel Vigovszky

Phase 1

Commit:1e3c77d
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

wip

Commit:3efff17
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

further cleanups

Commit:8e11308
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

simplify card serde

Commit:0ab802e
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

agent-permissions: cli integration

Commit:cf55921
Author:Maxim Schuwalow
Committer:GitHub

agent-permissions: card installation host function (#3637) * agent-permissions: card installation host function * clean dts * installed card preservation test * test green * fmt * rebuild plugins * comment: make monomorphize non-fallible * comments

Commit:56a4389
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

wip

Commit:1c3f5cc
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

further cleanups

Commit:8340b64
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

agent-permissions: cli integration

Commit:bacb4fb
Author:Maxim Schuwalow

test green

Commit:95a36ec
Author:Maxim Schuwalow

agent-permissions: card installation host function

Commit:ce6c494
Author:Maxim Schuwalow
Committer:GitHub

agent-permissions: store agent cards in registry service (#3631) * agent-permissions: store cards in registry service * basic revocation * update executor * wip * update * regenerate openapi * cleanup wip * store card as enum * update dts * fix compilation * resolve conflicts * fmt * rebuild plugin wasm

Commit:7ee863e
Author:Daniel Vigovszky
Committer:GitHub

Value type refactoring 5 (#3629) * Restructuring * New agent WIT, invocation migrated * Optimization * Oplog and invocation gRPC/REST API migration Amp-Thread-ID: https://ampcode.com/threads/T-019eb504-80dd-723a-b519-2fc53141eb19 Co-authored-by: Amp <amp@ampcode.com> * Fixes * More migrations * ParsedAgentId migrations * Cleanup * Split out golem-schema crate * Rust SDK, WIP * Migrated the Rust SDK (initial version) * Rust SDK fixes * Test migration * Fixes * More migrations * More migrations * Format * Integration tests migrated * Better poem schemas * Migrated TS SDK, WIP * Cleanups and bridge migration for TS * Scala SDK migration * MoonBit SDK migration * Lot more migrations * unstructurted text/binary fixes * More config migration * Secret migrations * Removed golem-wasm * Redirected cargo target dir fixes * Fixes * Plugin rebuilt * Fixes * Scala SDK fix * Fixes * Fixes * Hot path optimizations * Format * Increased timeout * Increased timeout * Bridge generator related fixes * Test fix * Fixes * Fix moonbit templates * Serialize perf improvement * Enable wasmtime fscache for integ tests * Fix --------- Co-authored-by: Amp <amp@ampcode.com>

Commit:bfaf191
Author:Maxim Schuwalow

wip

Commit:f66678c
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

further cleanups

Commit:a06085a
Author:Daniel Vigovszky

Merge branch 'main' into value-type-refactoring-5

Commit:ee41b2a
Author:Daniel Vigovszky

Removed golem-wasm

Commit:3558426
Author:Daniel Vigovszky

Secret migrations

Commit:6a24b55
Author:Daniel Vigovszky

More config migration

Commit:6450d01
Author:Daniel Vigovszky
Committer:Daniel Vigovszky

Lot more migrations

Commit:a4a9289
Author:Maxim Schuwalow

wip

Commit:a50519b
Author:Maxim Schuwalow

wip

Commit:8a2065f
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

cleanup

Commit:68afb4c
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

wip

Commit:79ef683
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

surface calculation fixes

Commit:098d4d4
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

update

Commit:e602b7a
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

cleanup

Commit:625b6de
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

cleanup

Commit:5af7039
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

agent-permissions: card installation host function

Commit:732dee6
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

basic revocation

Commit:f62414f
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

agent-permissions: store cards in registry service

Commit:9ac9b43
Author:Maxim Schuwalow
Committer:GitHub

agent-permissions: initial agent wallet (#3627) * agent-permissions: initial agent wallet * wip * card cleanup wip * wip * fix compilation errors * fix test * fix test * add monomorphization tests * executor auth cleanup * fix tests

Commit:ec31d96
Author:Daniel Vigovszky

More migrations

Commit:1b959ae
Author:Daniel Vigovszky

More migrations

Commit:72a8da2
Author:Daniel Vigovszky
Committer:GitHub

Concurrent durability (#3628) * New oplog entries * Initial concurrent durability implementation * Durability scopes * Further fixes of the new helpers * Migration * SDKs * Fixes * Fixes * Fixes * SDK updates and OpenAPI fix * Some more migration to the new oplog reading logic * Adjusted some comments * Proto fix

Commit:aaa085d
Author:Daniel Vigovszky

More migrations