Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
654baf1
Improvements to resource tracking
vigoo Aug 3, 2025
53278b0
Merge branch 'main' into resource-improvements
vigoo Aug 5, 2025
b5c92c3
Find resource name for AnalysedType::Handle
vigoo Aug 5, 2025
17362c0
Owner to AnalysedType
vigoo Aug 5, 2025
9545dbf
Resource name and owner everywhere
vigoo Aug 6, 2025
fc8094c
InvokeableFunction
vigoo Aug 7, 2025
cc54913
Merge branch 'main' into resource-improvements
vigoo Aug 7, 2025
c0b21ab
Clippy
vigoo Aug 7, 2025
84917fa
Fix
vigoo Aug 7, 2025
f9420d1
More fixes and regarding InvokeableFunction and introduced the regist…
vigoo Aug 8, 2025
7a9802c
WIP
vigoo Aug 12, 2025
b65adf9
Regenerated wasm-rpc stub bindings
vigoo Aug 12, 2025
ca278b5
Clippy
vigoo Aug 13, 2025
8081696
Merge branch 'main' into resource-improvements
vigoo Aug 13, 2025
471156a
Fixes
vigoo Aug 13, 2025
11a23ea
Fixes
vigoo Aug 13, 2025
438c503
ComponentMetadata internal cache
vigoo Aug 13, 2025
90db6e9
Test and fixes and new host api
vigoo Aug 14, 2025
4e6e58b
Separate agent instance tracking
vigoo Aug 14, 2025
994a860
Agent constructor parameter is DataValue
vigoo Aug 14, 2025
f40af3e
New oplog enties for agent instance tracking
vigoo Aug 14, 2025
66a1763
Format
vigoo Aug 14, 2025
80dfcba
Test
vigoo Aug 14, 2025
3d278d0
Test
vigoo Aug 14, 2025
b1f8150
Merge branch 'main' into resource-improvements
vigoo Aug 14, 2025
88f2640
Fix
vigoo Aug 14, 2025
f2ccb72
Final WIT and regenerated OpenAPI
vigoo Aug 14, 2025
a85bbf4
Merged golem-agentic and fix
vigoo Aug 15, 2025
783f103
Updated Rust test components
vigoo Aug 15, 2025
647a3ad
Updated test components
vigoo Aug 15, 2025
687e01a
Fix
vigoo Aug 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
76 changes: 60 additions & 16 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ futures = "0.3.31"
futures-concurrency = "7.6.3"
gethostname = "0.5.0"
headers = "0.4.0"
heck = "0.5.0"
hex = "0.4.3"
http = "1.3.1"
http-body = "1.0.1"
Expand Down Expand Up @@ -285,13 +286,13 @@ url = { version = "2.5.4", features = ["serde"] }
urlencoding = "2.1.3"
uuid = { version = "1.15.1", features = ["serde", "v4", "v5"] }
wac-graph = "=0.6.1"
wasm-wave = "0.229"
wasm-wave = "0.235"
wasmtime = { version = "=33.0.0", features = ["component-model"] }
wasmtime-wasi = { version = "=33.0.0" }
wasmtime-wasi-http = { version = "=33.0.0" }
webpki-roots = { version = "0.26.7" }
wit-component = "0.229"
wit-parser = "0.229"
wit-component = "0.235"
wit-parser = "0.235"
x509-certificate = "0.23.1"

[patch.crates-io]
Expand Down
53 changes: 53 additions & 0 deletions golem-api-grpc/proto/golem/component/agent.proto
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
syntax = "proto3";

import "wasm/ast/type.proto";
import "wasm/rpc/value_and_type.proto";

package golem.component;

Expand Down Expand Up @@ -77,3 +78,55 @@ message TextDescriptor {
message TextType {
string language_code = 1;
}

message DataValue {
oneof value {
TupleValue tuple = 1;
MultimodalValue multimodal = 2;
}
}

message TupleValue {
repeated ElementValue elements = 1;
}

message MultimodalValue {
repeated NamedElementValue elements = 1;
}

message NamedElementValue {
string name = 1;
ElementValue value = 2;
}

message ElementValue {
oneof value {
wasm.rpc.ValueAndType component_model = 1;
TextReference unstructured_text = 2;
BinaryReference unstructured_binary = 3;
}
}

message TextReference {
oneof text {
string url = 1;
TextSource inline = 2;
}
}

message TextSource {
string data = 1;
optional TextType text_type = 2;
}

message BinaryReference {
oneof binary {
string url = 1;
BinarySource inline = 2;
}
}

message BinarySource {
bytes data = 1;
optional BinaryType binary_type = 2;
}
29 changes: 25 additions & 4 deletions golem-api-grpc/proto/golem/worker/public_oplog.proto
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import "golem/common/account_id.proto";
import "golem/common/empty.proto";
import "golem/common/plugin_installation_id.proto";
import "golem/common/project_id.proto";
import "golem/component/agent.proto";
import "golem/worker/idempotency_key.proto";
import "golem/worker/invocation_context.proto";
import "golem/worker/worker_id.proto";
Expand Down Expand Up @@ -48,6 +49,8 @@ message OplogEntry {
FinishSpanParameters FinishSpan = 31;
SetSpanAttributeParameters SetSpanAttribute = 32;
ChangePersistenceLevelParameters ChangePersistenceLevel = 33;
CreateAgentInstanceParameters CreateAgentInstance = 34;
DropAgentInstanceParameters DropAgentInstance = 35;
}
}

Expand Down Expand Up @@ -204,18 +207,23 @@ message GrowMemoryParameters {
message CreateResourceParameters {
google.protobuf.Timestamp timestamp = 1;
uint64 resource_id = 2;
string name = 3;
string owner = 4;
}

message DropResourceParameters {
google.protobuf.Timestamp timestamp = 1;
uint64 resource_id = 2;
string name = 3;
string owner = 4;
}

message DescribeResourceParameters {
google.protobuf.Timestamp timestamp = 1;
uint64 resource_id = 2;
string resource_name = 3;
repeated wasm.rpc.ValueAndType resource_params = 4;
string resource_owner = 5;
}

message TimestampParameter {
Expand Down Expand Up @@ -265,7 +273,20 @@ message SetSpanAttributeParameters {

message ChangePersistenceLevelParameters {
google.protobuf.Timestamp timestamp = 1;
PersistenceLevel persistence_level = 3;
PersistenceLevel persistence_level = 2;
}

message CreateAgentInstanceParameters {
google.protobuf.Timestamp timestamp = 1;
string agent_type = 2;
string agent_id = 3;
golem.component.DataValue agent_parameters = 4;
}

message DropAgentInstanceParameters {
google.protobuf.Timestamp timestamp = 1;
string agent_type = 2;
string agent_id = 3;
}

enum OplogLogLevel {
Expand All @@ -292,7 +313,7 @@ message OplogEntryWithIndex {
}

enum PersistenceLevel {
PERSIST_NOTHING = 0;
PERSIST_REMOTE_SIDE_EFFECTS = 1;
SMART = 2;
PERSIST_NOTHING = 0;
PERSIST_REMOTE_SIDE_EFFECTS = 1;
SMART = 2;
}
27 changes: 24 additions & 3 deletions golem-api-grpc/proto/golem/worker/worker_metadata.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ package golem.worker;
import "golem/common/account_id.proto";
import "golem/common/project_id.proto";
import "golem/common/plugin_installation_id.proto";
import "golem/component/agent.proto";
import "golem/worker/worker_id.proto";
import "golem/worker/worker_status.proto";
import "golem/worker/wasi_config_vars.proto";
import "google/protobuf/timestamp.proto";
import "wasm/rpc/value_and_type.proto";

message WorkerMetadata {
WorkerId worker_id = 1;
Expand All @@ -24,7 +26,7 @@ message WorkerMetadata {
optional string last_error = 11;
uint64 component_size = 12;
uint64 total_linear_memory_size = 13;
map<uint64, ResourceMetadata> owned_resources = 14;
repeated ResourceDescription owned_resources = 14;
repeated golem.common.PluginInstallationId active_plugins = 15;
repeated OplogRegion skipped_regions = 16;
repeated OplogRegion deleted_regions = 17;
Expand Down Expand Up @@ -52,14 +54,33 @@ message FailedUpdate {
message SuccessfulUpdate {
}

message ResourceMetadata {
message ExportedResourceInstanceDescription {
google.protobuf.Timestamp created_at = 1;
optional IndexedResourceMetadata indexed = 2;
uint64 resource_id = 2;
string resource_owner = 3;
string resource_name = 4;
bool is_indexed = 5;
repeated string resource_params = 6;
}

message AgentInstanceDescription {
google.protobuf.Timestamp created_at = 1;
string agent_type = 2;
string agent_id = 3;
golem.component.DataValue agent_parameters = 4;
}

message ResourceDescription {
oneof description {
ExportedResourceInstanceDescription exported_resource_instance = 1;
AgentInstanceDescription agent_instance = 2;
}
}

message IndexedResourceMetadata {
string resource_name = 1;
repeated string resource_params = 2;
string resource_owner = 3;
}

message OplogRegion {
Expand Down
Loading