Proto commits in golemcloud/golem

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

Commit:90e1bd4
Author:Afsal Thaj
Committer:GitHub

Support environment variables in component

The documentation is generated from this commit.

Commit:6577d5a
Author:Afsal Thaj

fix open opi for component env variables

The documentation is generated from this commit.

Commit:01134f1
Author:Afsal Thaj

merge component environment variable with worker environment

Commit:6d46194
Author:Maxim Schuwalow
Committer:GitHub

Allow reusing plugin (name,version) pairs (#1527) * Allow reusing plugin (name,version) pairs * fmt * regenerate client * adjust test * adjust api * update api * update

Commit:d5010db
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

Allow reusing plugin (name,version) pairs

Commit:404d955
Author:Maxim Schuwalow
Committer:Maxim Schuwalow

Allow reusing plugin (name,version) pairs

Commit:e85f6fe
Author:Daniel Vigovszky
Committer:GitHub

Custom durability related fixes (#1528) * New way to handle persist-nothing regions * New test component * Handling persist-nothing zones in replay state * New worker executor test debug tool and fix changed test * Final golem-wit dep

Commit:23fa2e3
Author:Maxim Schuwalow
Committer:GitHub

Properly forward project_ids when resolving component names & reduce cloud duplication (#1484) * wip * make types happy

Commit:7246f86
Author:Daniel Vigovszky
Committer:GitHub

Extracting the root package name from metadata sections, and only enforcing it if it is present (#1473)

Commit:71e9ef4
Author:Daniel Vigovszky
Committer:GitHub

New component analysis implementation based on wit-parser (#1457) * New component analysis implementation based on wit-parser * Using WitAnalysisContext to extract exports * Clippy * Fixes * Fix * Extended ComponentMetadata * Updated OpenAPI * Exposed root package name and version as separate columns * Marking flaky tests as flaky * Format * Indent * Do not print the binary wit in Debug for ComponentMetadata * Try to increase test stability * Feature flag fixes

Commit:c192d64
Author:Afsal Thaj
Committer:GitHub

Remove constraints on API deployment delete (#1442) remove constraints on API deployment delete

Commit:7cbaf66
Author:Daniel Vigovszky
Committer:GitHub

New rpc interface and other breaking changes (#1432) * Follow breaking WIT changes * Delete commented out code * Not persisting env/arg host functions * Some additional oplog compatibility breaking changes * Making some fields public * wasm-rpc updates * Updated test components * Dynamic linking support for the new RPC interfaces * Updated to golem-wit 1.2.0-rc2 * Clippy * updated file * Fixes * Fixes * Reverted some durability changes and fixed tests * Fixes

Commit:6afee89
Author:Daniel Vigovszky
Committer:GitHub

Option to lazily bind component service in compilation cache service (#1423) * Option to lazily bind component service in compilation cache service * Config fix * Fixes * Clippy

Commit:89ae6ae
Author:Daniel Vigovszky
Committer:GitHub

Updates and cleanups (#1406) * Deps update round 1 * Deps update round 2 * Deps cleanup * Fixed TODOs * Regenerate configs * Do not build everything in check-openapi * Pinned poem versions to fix OpenAPI generation * Fix compatibility tests * Switch back to S3 v2024_03_28 * Reverted aws-sdk update * Revert axum update * Fix race condition * bump cache key * Bump CI cache prefix (#1410) * Bump ci cache prefix * cache release builds --------- Co-authored-by: Maxim Schuwalow <maxim.schuwalow@gmail.com>

Commit:d3d91a1
Author:Maxim Schuwalow
Committer:GitHub

Add app & library plugins (#1388) * Add app & library plugins * cleanup * cleanup * update * update config * use heap allocated buffer * cleanup * cleanup

Commit:c6f3d6f
Author:Daniel Vigovszky
Committer:GitHub

Invocation context persistence and host functions (#1385) * Invocation context persistence and host functions, WIP * Persisting span attribute changes * Public oplog changes, WIP * Public oplog changes, WIP * Finished all the boilerplate for public oplog * Fix * Updated OpenAPI * Fix * Fixes * Regenerated OpenAPI * Fix * Rebuilt test components * Fix * Fix * Fix * Fix * Test and fixes, not done yet * Test and fixes done * Missing WASM * Released golem-wit v1.1.13

Commit:d7975dc
Author:Afsal Thaj
Committer:GitHub

Implement ranges and fix all left recursions (#1381) * quick clean up of duplicate error message in resource param parser * Fix bug with not inferring argument to instance * Fix bug with not inferring argument to instance * Remove debug * Remove debug instance * Remove debug instance * Add range * Implement ranges * Implement ranges * Implement ranges * Reformat code * Add range * Add range * Add range * Fix range * Fix inferred type * Try range * Run interpreter for range * Run interpreter for range * with stack overflow * fix left recursion in range * Fix stack overflow in numbers and range, but with an exception on test_invalid_key_in_record_in_function_call * Ignore float number tests * Make sure ranges can be return of a function * Make sure the descriptions are correct * Remove range_to, range_to_inclusive * Try to fix inference in ranges * Make sure all range functionalities work * Add all types of ranges in tests * Add all types of ranges in tests * Reduce one of possibilities early * Tests for comprehension with range * Make sure reduce works with range * Add select dynamic expression * Fix most of the tests * Fix dynamic indexing * Fix dynamic indexing * Fix dynamic indexing * Add out of bound error tests * Revert unnecessary max variable * make sure for comprehension works with dynamic expression * Add reduce test for dynamic selection * Add dynamic range selection desugar * Fix tests * Reformat code * Add dynamic range selection desugar fixes * Add more complex tests * Add more complex tests * Allow type annotations everywhere * Allow type annotations everywhere * Start fixing select index without recursion * Start fixing all expressions * Unignore more tests related to record * Use select dynamic expr for everything * start fixing dynamic expr tests * start fixing dynamic expr tests * Move more tests * Unignore binary op within record test * Fix all tests except numbers * Fix numbers * Fix test * Fix test * Fix tests * Fix clippy * Fix clippy * Clean up rib_expr * Clean up rib_expr * clean up fraction * clean up fraction * clean up fraction * Remove select dynamic construction helpers * remove option with type annotation * Rename SelectDynamic back to SelectIndex * Rename SelectDynamic back to SelectIndex * Remove confusing contructors * Remove panic from rib rest * Cleanup * Refactor binary ops * Bind default types * Bind default types * Remove unwrapping * consistent lower case error messages for rib * Reduce test modules in interpreter * Avoid boxing within tests for readability * Fix formatting * Fix testing * Fix more boxing * Fix more boxing * Add instructions * Rename proto types * Add length * Handle outbound range * Add tests * Reformat code * Reformat code

Commit:6505dd9
Author:Daniel Vigovszky
Committer:GitHub

Add a span for remote procedure calls (#1377) * Add a span for remote procedure calls * Fixes and debug prints * Tests are passing but there are still todos and debug prints * Fix * Improved invocation context merging * Updated comment * Clippy * Inherited flag and linked context * Update goldenfile * Removed debug logs * Tests * More tests and fixes

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

add component_name to worker metadata

Commit:491bb70
Author:Daniel Vigovszky
Committer:GitHub

Invocation context 1 (#1364) * Invocation context, WIP * Invocation context, WIP * Invocation context, WIP * Invocation loop refactoring * Finished first step of invocation context support * Updated OpenAPI * Fix * Switch to sync rwlock * Add missing golden file * Fix * Fixed compatibility test * Hidden backward compatibility * Test stability fix

Commit:6012e67
Author:Maxim Schuwalow
Committer:GitHub

Allow resolving component_id from component_name in workers (#1329) * Allow resolving component_id from component_name in workers * adjust error message * remove constraint (for now) * expose account_id from component * extract component config to additional config * adjust examples * move test to main crate * use wit release

Commit:a50632c
Author:Afsal Thaj
Committer:GitHub

First class worker support (#1324) * Rename type_annotated_value to value_and_type * Allow type annotations for select field and select index * Fix clippy * Make sure to bind type * Bind types * Add test for select field and select index bind type * Add type check * Add math op type checking * Fix clippy * Fix implement number * Add inline type annotations * Fix type spec in test * Add index * make inline type annotations consistent * Allow inline type anntoation for identifier * Support inline types for identifiers * Add grpc types * Add support type annotation for grpc * Fix clippy * Add for option * Add for option * Add type annotation for option * Add type annotation for option * Fix option * Add type annotation for option * Fix clippy * Reformat * Fix clippy * Fix clippy * Add comment about TypeName * Add result * Add result type * Add result type * Handle all result types * Add grpc types * Add grpc types * Add support for list * Add support for list * Remove extra functions for type annotations in expr * Clippy * Remove let binding with type annotation * Remove number with type annotation * Reformat code * Reformat code * Reformat code * Add support for parser * Separate version * Add type parameter * Add type parameter * Make parser devoid of the knowledge of instance type * Add function to get an instance from a generic type parameter * Add invoke function that is specifically meant for invoking functions in an instance module * First class worker support * Add type registry * Add function invoke * Add invoke function * Start fixing compilation errors * Start fixing compilation errors * Fix all compilation errors * Add conflict resolution * Add worker function invoke * Remove comments * Start adding tests * Add worker function invoke tests * Add more tests * Add more tests * Test swapping the compiler phases * Fix ord and partial ord * Separate out into different compilation phases * Add separate type inference phases prior to call type arguments * Make sure first class worker support initial test work * Make sure initial tests are working * Reformat code * Reformat code * Add more tests * Add more tests * Make sure all tests pass * Make sure all tests pass * Add type parameter * Ephemeral worker test * Add resource handling * Refactor to handle resource and strict typing to avoid bugs * Refactor to handle resource and strict typing to avoid bugs * Make sure resource is handled * Start adding fix point for method invocations * Start fixing more tests * Fix all tests * Fix all tests * Start fixing errors * Make sure all tests pass (fixing deep recursion) * Start fixing clippy * Fix imports * Simplify pattern match * Remove nested internal module * Fix compile errors * Reformat code * Fix ignored test in first class worker support * Reformat code * Add resource construction test * Disallow resource constructor instance to be returned * Reformat code * Add fix points for method invocations * Add all functions in resource * Handle drop in resources and add more tests * Propagate worker name in call * Propagate worker name to calls * Remove component ids from the types * Fix all tests * Unignore the test * Handle type push down * Handle type pull up phase * Add instance type proto * Add instance type proto * Add proto conversions * Complete proto build * Fix all clippy * Remove thiserror * Add worker expression in first class worker support * Add more test * Add more test * Add invalid method invocations * Add more complex tests * Make sure * Reformat code * Use trait instead of inline for easier testing of first class * Remove unused imports * Fix unused args in tests * Fix golem worker service base * Fix bug in global variable * Fix tests * Reformat code * Remove dependencies added automatically * Fix IR proto * Reformat code * Make sure to change crud tests with docker uses first class worker support rib * Fix integration tests * Remove unnecessary comments * Resolve conflicts * Remove comments --------- Co-authored-by: Daniel Vigovszky <daniel.vigovszky@gmail.com>

Commit:737416f
Author:Daniel Vigovszky
Committer:GitHub

Type-free invocation API (#1321) * Optional type field in the JSON invoke parameter representation * Refactorings and implementation of JSON invocation in worker executor * lock * Implementation in worker service * Updated OpenAPI specs * Fix client * CLI, fix, test * CLI to accept value directly too as earlier * Error in mixed use

Commit:e068045
Author:Daniel Vigovszky
Committer:GitHub

Implemented cancelling pending invocations (#1312) * Implemented cancelling pending invocations * OpenAPI * Fix * New goldenfiles * Clippy/format * Attempted to modify the rpc test component * minor update wit-parser because of redacted version * app build: quick fix for conflicting io / clocks deps * Test * Removed unnecessary race condition * Better API * Fix * Clippy * Format --------- Co-authored-by: Dávid István Bíró <noise64@gmail.com>

Commit:8d63af2
Author:Afsal Thaj
Committer:GitHub

Allow inline type annotations (#1313)

Commit:eb3055b
Author:Daniel Vigovszky
Committer:GitHub

Worker revert feature and executor refactorings (#1291) * Worker revert feature and executor refactorings, WIP * Fixes and tests for worker status calculations * Cleanup * Clippy and format * Fix * Temporary wit oplog entry workaround and generated openapi * Fix * Tests and fixes * Renames and comments * 2

Commit:4b61586
Author:Maxim Schuwalow
Committer:GitHub

Add http-handler binding type (#1253) * Add http-handler binding type * add tests and various cleanups * remove unused

Commit:c8f9062
Author:Maxim Schuwalow

wip

Commit:be5e969
Author:Afsal Thaj
Committer:GitHub

Implement worker fork (#1209)

Commit:acfa223
Author:Maxim Schuwalow

wip

Commit:62717c5
Author:Maxim Schuwalow

wip

Commit:fbdb94a
Author:Maxim Schuwalow

wip

Commit:37315ac
Author:Maxim Schuwalow

wip

Commit:c4cb07a
Author:Daniel Vigovszky
Committer:GitHub

Dynamic linking for stubless RPC (#1199) * Work on dynamic linking for stubless RPC, WIP * Added test wasm * Dynamic linked remote resource drop * Dynamic linking PoC, still WIP * Work on dynamic linking for stubless RPC * Work on dynamic linking for stubless RPC * Updated OpenAPI spec * Enabled stubless tests * Clippy * More cleanup and adding dynamic linking to the component APIs * Code cleanup * Separated wasm-rpc specific part of dynamic linking * Prepared app manifest intergration * Copyright update * WIP: add component_stub_interfaces * Fixes for the previous commit * Fix wasm-rpc dynamic linking metadata and auto-fill it from golem-cli --------- Co-authored-by: Dávid István Bíró <noise64@gmail.com>

Commit:7d2d068
Author:Afsal Thaj

forward

Commit:78a480d
Author:Afsal Thaj
Committer:Afsal Thaj

Implement fork

Commit:5d6dab1
Author:Daniel Vigovszky

Merge branch 'staging-branch-2' into merge-wasm-ast

Commit:5102b2d
Author:Daniel Vigovszky

Merge branch 'staging-branch' into merge-wasm-ast

Commit:4a00d4d
Author:Daniel Vigovszky

Move crate to sub directory before split

Commit:088694c
Author:Afsal Thaj
Committer:GitHub

Final clean ups, bug fixes, additional tests (due to bugs) based on UAT (#1115) * Updating docker * Fix cli command descriptions * Stop exposing details to users * cli with security * Start adding security to deployment * Start adding security to deployment * Add security * Add security * Fix all tests * Add expiry tests for redis * Add expiry tests for redis

Commit:872854e
Author:Afsal Thaj
Committer:GitHub

Move to big decimal (#1104) * Move to big decimal * Move to big decimal * Remove encode decode for parser * Fix all tests * Fix all tests * Fix all tests

Commit:e1a29cb
Author:Afsal Thaj
Committer:GitHub

Send response type of rib along with rib input type info (#1102) * Start with identity providers * Add session store for gateway to manage CSRF attacks * Fix async in gateway * Finish auth gateway * Add async * Add gateway auth * Add to_response * Add security scheme * Add comments * Reformat code * Reformat code * Add auth workflow * Introduce middleware in and out * Add middleware transformation once and for all * Add middleware input * Add middleware in * Add full workflow * Static binding * Add middleware input * Reformat code * Start fixing compile time errors * Apply middlewares * Start fixing compile time errors * Make redirect or continue * Make redirect or continue * Add evaluation error * Make redirects easier without clones * Fix all compiler errors * Make sure cargo build works * Remove the confusing security scheme internal * Add auth call back data * Remove expect * Integrate with oas * Start fixing grpc and other wirings * Start fixing more errors * Integrate openapi with http api request * Add security method * Add gateway binding type * Reformat code * Start fixing * Fix imports * Fix all existing tests * Fix end to end tests * Use boxed static binding * Fix service tests * Fix service tests * Use boxed type for static binding * Use boxed type for large enums * Start applying clippy * Add testing * Use transformations * Add transformer * Add transformer * Add bettertransformations * Remove extra lines * Add auth endpoints * Add auth transformations * Fix lambda * Add auth transformations * Make sure only global variable is required for OAS version and avoid it from native definition * Fix worker service * Provider * Dynamic dispatch to identity provider * Fix base * Add security scheme API * Add security scheme API * Cleanup * Cleanup * Add security scheme API * Use readable type parameter * Add security scheme repo * Add repo * Add logged with id * Add auth * Add security scheme service * Add security scheme service * Resolve conflicts * Resolve conflicts * Resolve conflicts * Add security tests * Add test provider metadata * Add test provider metadata * Add test provider metadata * Use testable identity provider resolver * Resolve conflicts * Add TestIdentityProvider * Add tests * Add tests * Add gateway binding tests * Add gateway binding tests * Add end to end tests * Add end to end tests * Reformat code * Add safer mecahnism in api definition lookup * Add safer lookup * Start fixing tests * Start fixing tests * Fix bug on redirect url transformation * Use own public key private key * Make sure to verify state and nonce * Make sure auth call back endpoint is tested * Add security * Add cookie and session info * Make sure to pass tests * Fix clippy * Reformat code * Add full workflow test * Renamings * Add gateway testing * Add expiry tests * Make sure expired token tests work * Make sure expired token tests work * Add test response * Clean up tests * Add test response * Renamings * Better typesafety (#1086) * Better typesafety * Fix all tests * Fix all tests * Fix all tests * Reformat * Reformat * Add eviction strategy * Fix * Fix cargo lock * Add golem cli * Update golem cli * Update golem cli * Update golem cli * Update golem cli * Propagate session information * Add a test for auth.email * Remove redundant dependencies * Session expiry test * Fix conflicts * Make same site strict * Fix inmemory` * Remove identity provider resolver * Make transformers top level functions * Remove http middleware in and out * Use middleware error instead of out and in * Add redis backend (#1094) * Add redis * Update tests * Update tests * Update tests * Simulate session expiry without introducing sleep or test flakiness * Add redis config * Add prepend gateway_session * Reformat * Update configs * Move to workspace * Update golem examples * Fix security scheme get in golem-cli to have projectref * Make sure rib input type mismatch responds as badrequest * Avoid string and use rib_input_type_mismatch_error directly * Reformat * Fix clippy * Make sure type in rib follow wit type names * Add response type * Update yaml * Update cli * Update tests

Commit:c183ea1
Author:Afsal Thaj
Committer:GitHub

Add gateway authentication (#1067) * Start with identity providers * Add session store for gateway to manage CSRF attacks * Fix async in gateway * Finish auth gateway * Add async * Add gateway auth * Add to_response * Add security scheme * Add comments * Reformat code * Reformat code * Add auth workflow * Introduce middleware in and out * Add middleware transformation once and for all * Add middleware input * Add middleware in * Add full workflow * Static binding * Add middleware input * Reformat code * Start fixing compile time errors * Apply middlewares * Start fixing compile time errors * Make redirect or continue * Make redirect or continue * Add evaluation error * Make redirects easier without clones * Fix all compiler errors * Make sure cargo build works * Remove the confusing security scheme internal * Add auth call back data * Remove expect * Integrate with oas * Start fixing grpc and other wirings * Start fixing more errors * Integrate openapi with http api request * Add security method * Add gateway binding type * Reformat code * Start fixing * Fix imports * Fix all existing tests * Fix end to end tests * Use boxed static binding * Fix service tests * Fix service tests * Use boxed type for static binding * Use boxed type for large enums * Start applying clippy * Add testing * Use transformations * Add transformer * Add transformer * Add bettertransformations * Remove extra lines * Add auth endpoints * Add auth transformations * Fix lambda * Add auth transformations * Make sure only global variable is required for OAS version and avoid it from native definition * Fix worker service * Provider * Dynamic dispatch to identity provider * Fix base * Add security scheme API * Add security scheme API * Cleanup * Cleanup * Add security scheme API * Use readable type parameter * Add security scheme repo * Add repo * Add logged with id * Add auth * Add security scheme service * Add security scheme service * Resolve conflicts * Resolve conflicts * Resolve conflicts * Add security tests * Add test provider metadata * Add test provider metadata * Add test provider metadata * Use testable identity provider resolver * Resolve conflicts * Add TestIdentityProvider * Add tests * Add tests * Add gateway binding tests * Add gateway binding tests * Add end to end tests * Add end to end tests * Reformat code * Add safer mecahnism in api definition lookup * Add safer lookup * Start fixing tests * Start fixing tests * Fix bug on redirect url transformation * Use own public key private key * Make sure to verify state and nonce * Make sure auth call back endpoint is tested * Add security * Add cookie and session info * Make sure to pass tests * Fix clippy * Reformat code * Add full workflow test * Renamings * Add gateway testing * Add expiry tests * Make sure expired token tests work * Make sure expired token tests work * Add test response * Clean up tests * Add test response * Renamings * Better typesafety (#1086) * Better typesafety * Fix all tests * Fix all tests * Fix all tests * Reformat * Reformat * Add eviction strategy * Fix * Fix cargo lock * Add golem cli * Update golem cli * Update golem cli * Update golem cli * Update golem cli * Propagate session information * Add a test for auth.email * Remove redundant dependencies * Session expiry test * Fix conflicts * Make same site strict * Fix inmemory` * Remove identity provider resolver * Make transformers top level functions * Remove http middleware in and out * Use middleware error instead of out and in * Add redis backend (#1094) * Add redis * Update tests * Update tests * Update tests * Simulate session expiry without introducing sleep or test flakiness * Add redis config * Add prepend gateway_session * Reformat * Update configs * Move to workspace * Update golem examples * Fix security scheme get in golem-cli to have projectref

Commit:7126aa2
Author:Daniel Vigovszky
Committer:GitHub

Plugins in worker executor (#1085) * Propagated plugin information and activation into worker executor * Fixes * Fixes * Fixes * Do not fail on idempotent activate/deactivate

Commit:255f886
Author:Daniel Vigovszky
Committer:GitHub

Plugin model (#1045) * Initial plugin model and REST API * Plugins CLI first steps * More CLI work * CLI implementation and REST API fixes * Fixes and refactorings regarding component service's repo tests * Further test refactorings * test_default_plugin_repo * Tests and fixes for the plugin repos * gRPC API, changes * Plugin installation repo actions moved to component repo transactions WIP * Plugin installation repo actions moved to component repo transactions * Rewired plugin service * Intermediate state of redesignin the component repo * Switched to ComponentOwner from Namespace in component-service * Introduced component version available flag * Moved namespace filtering to SQL * Decoupled object store entity from component version, WIP * Decoupled object store entity from component version * gRPC implementation * Plugin scope request context * Separate plugin owner vs component owner abstraction * Changed accessible scope interface * Extra error case * Moved UpdatePayload to base * pub * Fixes * Refactoring to make some plugin types more reusable * Further refactoring to share plugin installation queries * PluginOwner moved to common * Connection between component owner and plugin owner * Fix * Fix * Update serde_json_path * Made some gRPC helper functions public * Namespace to the worker request executor * Removed unused auth context parameters * Removed auth context completely from the worker service trait * Exposed function in cli * Exposed some more functions in cli * Reusing InitialComponentFile from model in golem-client * Fix * Fix

Commit:381b768
Author:Afsal Thaj
Committer:GitHub

Introduce cors, better binding structure, rewrite certain modules and make ways for worker authentication (#1057) * Introduce cors, rewrite few modules and make ways for worker authentication integration

Commit:df73784
Author:Maxim Schuwalow
Committer:GitHub

Initial File System - Bounty-to-Hire (#1032) * Initial version: cli upload and allow workers to access component files * Add support for initial files to test framework & worker-executor-tests * Expose worker files through rest and grpc * regenerate openapi and client * Add fileserver binding type to api definitions (#4) * wip * wip * wip * wip * wip * wip * wip\ * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * adjust example configs * adjust docker-compose settings * integration tests * add e2e tests for file-server api deployments * remove duplicate code * fmt and fix * address comments * improve file_loader * download files concurrently * make code more readable * Add accountId to blobstorage namespace: (#5) * fix test * refactor cli * less namespace * keep backwards compat for grpc messages

Commit:0c35d43
Author:Afsal Thaj
Committer:GitHub

Ephemeral worker support in gateway (#1044) * Implement list comprehension and list aggregation * Fix reduce * Start fixing a few compilation errors * Use RibResult instead of stack specific value * Make stack value private to rib crate * Reorganisation to bring in more safety * Remove duplicate RibInput in golem worker service * Add license comments * Add comments * Fix reduce * Standardise errors * Standardise errors * Update comment * Remove empty in favour of default * Try pop bool * Use fold * Implement list comprehension and list aggregation * Make worker name optional * Make sure worker bridge can execute ephemeral workers * Fix logging * rib input type info not having worker info * Make CLI changes * Reformat code * Fix unwanted changes and make sure to compile

Commit:3ad2107
Author:Afsal Thaj
Committer:GitHub

Implement list comprehension and list aggregation (#1042)

Commit:1dafba4
Author:Daniel Vigovszky
Committer:GitHub

Oplog search (#1027) * Updated golem-wit * proto * Implementation, WIP * Oplog search core implementation * Host implementation * Worker service implementation * CLI support * fix cli * Search oplog worker executor test * cargo update * Clippy * Integration and CLI tests

Commit:cb3d511
Author:Afsal Thaj
Committer:GitHub

Clean up: Typesafety, remove unwanted Encode/Decode/Serdes and a few renamings (#1029) * Clean up and remove unnecessary constraints * Rename workerfunction in rib * Worker function in rib * Worker function in rib * Reformat code * Make post ops of compilation typesafe * Reformat code * Rename further * Fix interpreter tests * Reformat code

Commit:ddc76ef
Author:Afsal Thaj
Committer:GitHub

Component Constraints (#1022) * Start integrating * Create component constraints request * Constraint mechanism * Add constraints * Panic for the time being * Handle error in GRPC * Update constraints * Update constraints * Update constraints * Update constraints * Add services * Fix lifetime error * Change to own the constraints * Fix typo * Add comments * Constraints * Make resource constructor handling explicit * use string for call type errors * use string for call type errors * resource method registry key * Make sure type registry has got as many helpers as needed * Reformat code * Fix format and clippy * Add more details to InferredExpr * Introduce FunctionCallsInRib * Introduce FunctionCallsInRib * Add more comments * Add Rib data structure in Proto * Add compiler output in proto * Add proto conversion for worker invoke calls in Rib * Fix compilation errors in proto * Remove unwanted imports * Fix clippy * Fix comments * Remove older proto for component constraints * Use WorkerInvokeCallInRib in component constraints * Update constraints * Rename worker invoke metadata * Rename worker invoke metadata * Reformat code * Use rib structure as constraint * Use rib structure as constraint * introduce authctx in deployment due to the usage of component service * Use fqn registry key * Reformat code * Fix test compilation errors * Fix worker service base * Add get constraint * Add get constraint * Add get constraint * Add get constraint * Use the error type * Fix compilation error * Make sure worker service tests pass * Reformat code * Reformat code * Reformat code * Add constraint addition tests * Add constraint data * Add update constraints * Update constraint test * Add constraint data * Add more tests * Add more tests * Update more tests * Create display for components * Add incompatibility test * Add incompatibility test * Fix clippy * Add CLI test for constraints * Use golem cli * reformat code * Fix CLI tests * Add new line character * Fix compilation error * Fix errors in component service * Update tests * Update worker service base * Reformat and update usage count in each function * Rename package * Rename package * Fix * Fix open API spec * Reformat code * Rename function_usage_collection to function_constraint * Rename function usage to function constraint * Rename function usage to function constraint

Commit:85945a3
Author:Afsal Thaj
Committer:GitHub

Type checker: Fixes #791 and #784 (#1005)

Commit:3d09b24
Author:Daniel Vigovszky
Committer:GitHub

Oplog enumeration (#985) * Introducing the new Golem Host API version * Forwarding 1.1 implementation to 0.2 * Using updated golem-wasm-ast and wasm-rpc * Code cleanup and reduced redundancy * Moved ValueAndType to wasm-rpc * WIP * Progress * Progress * Backward compatibility fix * Backward compatibility fix * Host implementation * Serialization fix * WIT representation * gRPC and OpenAPI support * gRPC and REST APIs * Finished implementation * Final dependencies * Tests and fixes

Commit:1b0902a
Author:Afsal Thaj
Committer:GitHub

Avoid recursive algorithm, expand complex rib test, and include and/or (#989)

Commit:033576f
Author:Afsal Thaj
Committer:GitHub

Comprehensive test for interpreter, new global input type info tests, support match on all types, restricted global variables and other fixes (#978) Comprehensive test for interpreter, new global input type info tests, support match on all types, restricted global variables and other fixes

Commit:a516996
Author:Afsal Thaj
Committer:GitHub

Support dynamic resource parameters in Rib (#960)

Commit:a567b23
Author:Daniel Vigovszky
Committer:GitHub

Introducing ephemeral workers (#945) * Introducing ephemeral workers, WIP * Undo wrong approach * CLI support * Stop worker immediately after invocation if it is ephemeral * Do not replay ephemeral workers * Not storing status of ephemeral workers in the KV store * Worker executor and integration tests * Fix integration tests * Do not allow update for ephemeral workers * CLI tests * Fix ingress

Commit:41f00ba
Author:Daniel Vigovszky
Committer:GitHub

Introducing ephemeral component type (#937) * Component type * Improved cli help * Fix sql syntax * Fix component repo * Format * Fix golem-client

Commit:d1d1443
Author:Afsal Thaj
Committer:GitHub

Tuple support and additional fixes (#890) * Add rib input type info * Make it optional * Add support for tuple * Add rib input type info for API definition * Add tuple supoprt * Add support for tuple * Add all types in tuple * Trying to fix tuple with all types * Update variant * Update variant * Remove unification in between * Make sure to push down types of the return type of variant * Add tuple pattern * Bring tuple constructor * Update tests * Make sure wild patterns work in tuple * Add result type * Fix heterogenous types * Add comments on tuple * Add comments on tuple * Cleanup * Make sure all tests pass * Add comments * Refactor call pushdown

Commit:d0684a8
Author:Afsal Thaj
Committer:GitHub

Support Enum and allow hiphens in constructor arm patterns to allow variants with hiphens (#880)

Commit:778d980
Author:Daniel Vigovszky
Committer:GitHub

Returning stderr in invocation failure errors (#831) * Invocation start/finished log events * Gathering stderr for invocation failures * Readd Serialize/Deserialize for WorkerEvent * Format * Adjust tests * Fixes * Further fixes

Commit:590abc5
Author:Afsal Thaj
Committer:GitHub

A few more tests and simplify type binding for numbers (#838) * Add nested type inference * Add nested tests * Move a test from worker service to golem rib module * Fix number * Remove spaces around basic types * Make sure number types are persistent * Make Rib work * Fix API

Commit:f489a26
Author:Afsal Thaj
Committer:GitHub

Resolve variable conflicts, fix select field type inference issues, and generic handling of type extraction and type annotation (#822) * Fix bugs and clean up - Handle variable conflicts in match binding variables - Fix bugs in variable reassignment type inference - Introduce type refinement and generic way to extract inner types for push down and pull up phases - More tests in type inference module, type push down and type pull up - Earlier compile time error for obvious errors when passing arguments to functions - Fix stack safety issues with nested records and improve performance of parser - Slight cleanups in compiler error messages * Fix tests in worker service which shows better type inference * Type binding (#833) * Add type annotations * Identify types * Add parser * Start annotating types * Allow let binding to explicitly mention types * Allow only expressions with explicit types if it can't infer from function calls * Implement option type * Start fixing record tests * Fix sequence tests * Special handling for result in type inference * Revert type casting as it affected many other parsers * Fix tuple test case * Make sure all golem rib tests pass * Reformat code * Make sure golem rib is fully done * Fix more tests * Fix all interpreter tests * Make sure worker response * Start fixing http tests * Remove debug lines * Fix all http request tests * Start fixing tests * Add TypeName node in Expr * Fix clippy in rib * Fix worker service integration tests * Make sure CLI tests pass * Fix CLI tests (#836) * Add type annotations * Identify types * Add parser * Start annotating types * Allow let binding to explicitly mention types * Allow only expressions with explicit types if it can't infer from function calls * Implement option type * Start fixing record tests * Fix sequence tests * Special handling for result in type inference * Revert type casting as it affected many other parsers * Fix tuple test case * Make sure all golem rib tests pass * Reformat code * Make sure golem rib is fully done * Fix more tests * Fix all interpreter tests * Make sure worker response * Start fixing http tests * Remove debug lines * Fix all http request tests * Start fixing tests * Add TypeName node in Expr * Fix clippy in rib * Fix worker service integration tests * Make sure CLI tests pass * Fix all CLI tests

Commit:1280a48
Author:Dávid István Bíró
Committer:GitHub

Sharding not ready (#821) * add ShardingNotReady error and handle it * format * remove new error type * add sharding not ready and handle it * gen openapi * fix missing case

Commit:905b8e3
Author:Peter Kotula
Committer:GitHub

component with createdAt (#807)

Commit:0c5d8ec
Author:Peter Kotula
Committer:GitHub

Api definition and deployment createdAt timestamp (#802)

Commit:09e638f
Author:Afsal Thaj
Committer:GitHub

Typed rib (#770) * Implement typed rib and integration with worker service * Compromise a test for parser * Fix variant type * Implement some type * Infer types from previous values in stack (hack) * Fix more worker service specific interpreter tests * Reformat code * Fix if else and all interpreter tests for worker service * Fix types * Make sure to have type flexibility for rib input * Fix http based tests * Fix all http tests * Reformat code * Add component details * Version that runs all worker service base tests except sqlite * Fix tests and sqlite * Fix more wrong assertions * Fix wrong assertions that came in after various fixes * Fix compile time errors * Fix worker service test * Ignore an unnecessary test * Update OpenAPI spec * Start fixing CLI test * Formatting, clippy and golem-cli fixes * Update golem OAS spec with component version * Update worker response * Format * Fixes * Fix component version as string * Remove all debugging lines * Removed dbg * Use u64 * Fix update tests * Fix * Fix --------- Co-authored-by: Daniel Vigovszky <daniel.vigovszky@gmail.com>

Commit:56da5c9
Author:Daniel Vigovszky
Committer:GitHub

Worker connect improvements (#745) * Started implementing nicer connect output * Fixes for worker connect streams on all levels * Timestamp and prefix options * Cargo.lock * Timestamp support * Support json and yaml mode * Support --connect in invoke and invoke-and-await * Removed debug prints * Format

Commit:4ee8be1
Author:Daniel Vigovszky
Committer:GitHub

Remove the UserComponentId and ProtectedComponentId types (#742)

Commit:626c878
Author:Daniel Vigovszky
Committer:GitHub

Fix of the previous fix for invoking drop via the JSON invoke API (#730) * Exposed json invocation through worker service grpc and added a resource/drop test using it * returning the new JSON format from invocation * Test fix * Proper fix for drop and more tests * Fix cli test * Format and clippy * Exposed detailed param-type mismatch error * Use published wasm-rpc * Migrated to the new invocation JSON format and dropped redudant data types * Fixes * Final dependencies

Commit:2c230bc
Author:Daniel Vigovszky

Updated to the new wasm-ast library

Commit:1956cb8
Author:Daniel Vigovszky

Protobuf representation of AnalysedType

Commit:b7a80bf
Author:Daniel Vigovszky
Committer:GitHub

Removed the concept of calling convention (#732)

Commit:b86749d
Author:Afsal Thaj
Committer:GitHub

Clean up and reorganisations after metadata download removals (#726)

Commit:aa5f3f0
Author:Peter Kotula
Committer:GitHub

gRPC APIs versioning (#723)

Commit:dc397bf
Author:Afsal Thaj
Committer:GitHub

Renewed function invocation workflow to avoid metadata downloads (#660) * Try and delete metadata download for Rib * Fix metadata * Remove metadata fetcher * Implement function name display * Incorporate TypeAnnotatedValue * Introduce type annotated value * Try to reuse golem wasm rpc * Use type_annotated_value branch of wasm-rpc * Wasn wave * Delete metadata * Delete metadata * Start fixing worker service base * Start fixing type annotated value in worker-service base * Reformat code * Fix pattern matching * Start fixing * Start adding helpers * Fix evaluation result * Start fixing tests * Fix RPC * Fix all tests in evaluator * Fix request mapping errors * Make sure worker service base is compiled * Reformat code * Start fixing tests * Start fixing more tests * Run all tests * Start fixing tests * Add more tests * Add tests * Invoke result typed * Make sure worker responds with type annotated value * Revert changing data types * Reuse metadata downloads * Make sure function results are validated * Move the functionalities to under Exports * Validate input and output * Apply protobuf for serde_json value * Apply JSON * Introduce FromToJson * Make sure the function accepts serde_json:Value * Avoid using TypedResult * Fix worker service base * Fix warnings in worker service base * Avoid downloads of metadata and use of authctx * Add json * Invoke worker request * Remove all metadata downloads * Introduce invoke_json, invoke_json_typed and invoke_proto * Add type members * Fix worker * Fix worker * Fix worker request * Fix compilation errors * Make sure worker executor works * Add latest wasm rpc * Fix warnings * Fix compilation errors in component-service * Start upgrading to latest wasm rpc branch * Start fixing tests * Fix test_evaluation_with_pattern_match_with_name_alias * Fix test_evaluation_with_wave_like_syntax_ok_record * Fix all content type mapper tests * Add comments * Fix metadata download via local file * Fix metadata download via local file * Fix warnings * Fix clippy * Fix clippy * Revert the changes in open-api * Fix all clippy * Reformat code * Update lock * remove component update status checks from the invoke functions * Fix constraint * Fix clippy * Reformat code * Revert wasm rpc * Update wasm ast * Update ast * Add debug statements * Update only wasm rpc * Make sure drop is handled * Make sure drop is handled * Fix clippy * Fix tests * Try to parse metadata json * Make sure trying_to_use_a_wasm_that_wasmtime_cannot_load_provides_good_error_message_after_recovery works * Remove unused imports * Add comments * remove debug lines * Introduce precise json * Implement conversion from PreciseJson to golem_wasm_rpc Value * Use index for variant * Update worker service trait to use precise json * Update worker service controller to use precise json * Remove JSON input type in RPC * Remove json variant of invoke * Update to non json version in base * Remvoe the use of invoke_worker * Start updating internals of worker-executor to work with TypeannotatedValue * Continue fixing worker response * Make sure all functions in grpc of worker executor accept vec Val * Use type annotated value * Get metadata from store * Store type annotated value * fix compilation * Revert a few changes * Revert a few more changes * Store type annotated value * Make sure to retrieve type annotated value * Fix all worker executor implementations * Remove unused functions * Make use of type annotated value in worker service * Make use of type annotated value in worker service * Make precise jsons * Remove clone * Remove unwrap * Reformat code * Update wasm rpc * Update wasm rpc * Update cargo * Update cargo * Return string json * Remove JSON API from worker-executor * Remove JSON API from worker-executor * Fix worker service base * Fix worker service base * Make sure worker service base tests are working * Fix clippy * Fix compile time error * Fix type checker * Try to update wasm rpc for result type * Start removing typechecker * Try to change validation * Fix stdio * Remove some specific stdio test * Fix typechecker * Support wave syntax for CLI after the introduction of precise json * Fix clippy * Add debug * drop_bug * Pass function parameter * Add drop from golem cli * add debug statements * Add debug * Add tests * Update idempotency key * Fix all APIs * Remove all debug points in counter tests in group1 * Fix clippy * Start fixing integration tests * Try to fix local component metadata file load * Fix compile time async * Fix clippy * Use Path instead of PathBuf * Use debug * Increase timeout

Commit:97ffb11
Author:Daniel Vigovszky
Committer:GitHub

Resource info in metadata (#676) * Maintaining a map of resource instances in worker executor * Exposing owned resources via worker metadata * Updated OpenAPI * Fix CLI

Commit:b4e2c55
Author:Afsl Thaj
Committer:Afsal Thaj

Make type_annotated_value a proto type - The annotated type is now Type instead of AnalysedType - The conversion between golem_wasm_rpc::protobuf::Type and ast::AnalysedType is more formalised with TypeExt - type_annotated_value functions can be created with Type, or any other structure (Ex: AnalysedType) as far as TypeExt is implemented - Removal of unnecessary clones, and some functions became fallible due to the convoluted protobuf code-generations, but is more safer

Commit:e68f3f5
Author:Peter Kotula
Committer:GitHub

Component metadata and ApiDefinition data serde (#629)

Commit:ced89ab
Author:Daniel Vigovszky
Committer:GitHub

Storing linear memory size and component size in metadata (#618) * Storing linear memory size and component size in metadata * Updated OpenAPI spec * Fix & format * Fix error reporting in filesystem-based component mode * Fix CLI tests

Commit:b7e9bf7
Author:Daniel Vigovszky
Committer:GitHub

Worker environment inheritance via RPC (#587)

Commit:6c713a5
Author:Daniel Vigovszky
Committer:GitHub

Blob-store based oplog archive (#538) * OwnedWorkerId refactoring and initial blob-store oplog archive * Fixes * Tests and fixes * Fix unit test * Fix

Commit:37fe8a9
Author:Daniel Vigovszky
Committer:GitHub

Multi-layer oplog (#533) * Use last id instead of number of entries * Partial implementation and tests for multi-layer oplog * Fix attempts * Track transfer requests by last oplog index to transfer * Tracking open oplogs * Debug * Structured logging improvements * Format * Fix attempts * Fix attempts * Fixes * Fix * More type safe oplog indices * Fix * Reduce debug logs * Tests and fixes * Worker enumeration supporting multi-layer oplogs * Enabled multi-layer oplog in config * Fix * Fixed dead-lock * Made scheduler extensible with different actions * Oplog scheduled archive, WIP * Oplog scheduled archive * Temporarily ignore flaky tests

Commit:83362ac
Author:Afsal Thaj
Committer:GitHub

Support Worker Function Invocation (#532) * Increase client size * Specific module builds * Remove golem router * Update developer docker compose with redis dependency for worker-executor * Experiment wasm-rpc latest * Reduce redundancy in conversion to http response * Revert cargo changes * Start building body for each content type * Initial draft of content type mapping * Reformat code * Content type * Handle absence and presence of content type * Reformat code * Fix code * Fix compilation errors * Remove unused imports * Fix contributing.md * Get content typoe from response headers * Convert to json only if not binary stream for explicit content type application json * Make sure response header is set all the time * Prioritise accept header over response mapping header for content type * Fix unused imports * Reformat code * Rename response mapper * Get refined worker response * Fix imports * Fix fmt and remove debug lines * Add comments * Support accepting multiple content type * Avoid inspecting request headers * Fix issues * Fix issues * Handle accept headers * Initial draft to handle both accept headers and response headers * Handle all cases * Reformat code * Reformat code * Reformat code * Add more test cases * Complete tests when there is no header content type * Add more test cases * Complete all tests * Rename response mapper * Rename to http response body * Fix comment for accept headers * Fix clippy * Remove reundant logic * Make accept headers flexible * Bias towards json * Fix tests * Try to use same method * Add constraint display * Reduce the number of error types to avoid confusion * Fix typo * Fix docker configurations * Fix user facing docker files * Add identifier and string literal into tokenisation * Add identifier * Start fixing tokenizer test cases * Use identifiers all the way * Implement function call * Handle tuple * Remove request and response details from evaluation context * Remove concatenated str * Create record * Create record * Complete internal function * Start fixing tests * Fix last line * Fix tokenizer * Fix more tests * Support double quotes * Fix warnings * Fix more test cases * Fix test cases further * Fix all tests with 10 remaining * Fix all tests * Reformat code * Fix clippy * Add call function * Function calls * Implement function call * Async test for resolver * Initial implementation on supporting worker function invocation from Rib * Remove the need of functions in binding * Allow worker invocation function * Fix intermediate http response * Remove stale comments * Make mapping for all responses and error to response * Fix cargo build * Fix cargo build * Reformat code * Start fixing tests * Fix tests * Fix tests * Remove GRPC API * Handle complex function names with semicolons and slashes * Reformat code * Implement test for end to end * Add end to end test * Make expressions multi line * Make sure all tests pass * Make sure worker service base is fully built * Remove unnecessary imports * Fix clippy * Make sure worker service fetch metadata of functions * Start fixing the APIs * Fix all APIs * Fix open API spec * Make response expr mandatory * Fix client and CLI * Fix client and CLI * Fix tests * Try to fix tests * test fixes --------- Co-authored-by: Peter Kotula <peto.kotula@yahoo.com>

Commit:1f9d7ba
Author:Daniel Vigovszky
Committer:GitHub

Idempotency key and exactly-once RPC (#477)

Commit:34a5f42
Author:Peter Kotula
Committer:GitHub

add component compilation service to test framework (#476) * component compilation service - add to test framework

Commit:56e2795
Author:Simon Popugaev
Committer:GitHub

429 immutable api definition (#468)

Commit:e26aed3
Author:Daniel Vigovszky
Committer:GitHub

Automatic worker update (#444) * Initial implementation of applying automatic updates during recovery * Updated OpenAPI * Format * Tests and fixes * Test components * openapi * Renames * Renames

Commit:ebada18
Author:Daniel Vigovszky
Committer:GitHub

Revert naming convention from template to component (#451) * Reverted naming convention from template to component * Updated test components * Fixes

Commit:19e4fc0
Author:Daniel Vigovszky
Committer:GitHub

Worker executor API changes for hot update (#443) * Worker executor gRPC API changes, introducing update * Initial wireing of the update feature * Update OpenAPI spec * Nicer metadata * Fix

Commit:633c2c9
Author:Daniel Vigovszky
Committer:GitHub

Update related oplog entries and removing VersionedWorkerId (#417) * Update related oplog entries and removing VersionedWorkerId * Updated OpenAPI * Fix * LaunchNewWorkerSuccessResponse * Generate OpenAPI * Fix

Commit:ef92439
Author:Nico Burniske
Committer:GitHub

Api Definition: Separate Create and Update (#405) * update service * integrate into rest and grpc apis * remove unused sismember * update rest API * remove MessageBody in favor of ErrorBody * add unit test for non existant * fix golem cli * rename register to create

Commit:3bf7ff4
Author:Peter Kotula
Committer:GitHub

template version and retry_count - i32 to u64 (#374)

Commit:d71399e
Author:Nico Burniske
Committer:GitHub

Api Definition Registration: GRPC (#353) * everything compiling * add openapi endpoint and fix clippy errors * add to grpc server * remove comment * fix redundant closure clippy warning * fix response mapping * don't use from json, instead use native expr parsing * renaming and make method an enum * rename files * update api definition proto schema * update field name to not be http * field renaming * shared id and version for ApiDefinition, and single ApiDefinitionList type * remove redundant response name

Commit:f847f28
Author:Peter Kotula
Committer:GitHub

Expose worker enumeration via host functions (#359) * golem-wit get-workers resource, worker filters improvements

Commit:c392b48
Author:Peter Kotula
Committer:GitHub

Workers enumeration APIs (#343)

Commit:37d9eb5
Author:Peter Kotula
Committer:GitHub

Worker enumeration (#337) * RunningWorkerEnumerationService * WorkerEnumerationServiceInMemory * redis scan * Grpc api * Expose last known worker status through public worker state --------- Co-authored-by: Daniel Vigovszky <daniel.vigovszky@gmail.com>

Commit:7b5a90d
Author:Daniel Vigovszky
Committer:GitHub

Write exit and error details to the oplog (#307) * Making failed and exited state recoverable from oplog only * WIP * WIP * Fixes * Fixes * Format and clippy * Cleanup * Regenerated OpenAPI spec * Fix unit test

Commit:bd7a024
Author:Daniel Vigovszky
Committer:GitHub

Get/set oplog index host functions (#250) * Extended Golem WIT and unified oplog index to be u64 everywhere * Fix tests * Format * Get/set oplog index implementation and test * Fix worker leak * Fixed log entry gathering in tests * Fixes * Removed debug prints * Updated golem-wit submodule * Update OpenAPI * Update golem-wit * Renamed Marker to NoOp * Refactorings, keeping deleted regions in worker status record, recomputing from oplog when needed * Clippy * Updated jump test * Renames and log improvements * Fixes * Performance fix * Fix * Rebuild