Commit Graph

70 Commits

Author SHA1 Message Date
charles b2c5639338 add: grpc_bench 2026-05-17 16:45:44 -07:00
charles 33f3e58f74 Use original method names for gRPC paths
Stop converting method names to snake_case when generating the gRPC
service paths to maintain compatibility with protobuf definitions.
2026-05-17 10:44:07 -07:00
charles 89455190b1 Many fixes later 2026-05-17 00:43:21 -07:00
charles b11b068345 Update crate references in codegen tests
Update imports to use `roto_tonic` instead of `crate` for BufferPool
and StatusBody. Remove the broad replacement of `crate` with `roto`
and add error output to `test_map_build.rs`.
2026-05-16 19:45:46 -07:00
charles 56fc787f7a Use roto_tonic types in hello_world example
Fix the client's poll_ready implementation to properly propagate
readiness.
2026-05-16 17:24:46 -07:00
charles 43dcfabcdc Include test case and auto generated code 2026-05-16 16:57:12 -07:00
charles 2202548ae5 Support gRPC packages in generated code
Include package names in the `NamedService` identifier and request
paths. Change generated imports to use `crate` and add `tokio` and
`tokio-stream` dependencies to `roto-tonic`.
2026-05-16 16:57:01 -07:00
charles 809a0d844c Update StatusBody to support gRPC trailers
Change StatusBody from a tuple struct to a struct containing both data
and trailers. Update the codegen to use the new StatusBody::new
constructor to specify gRPC status codes.

Also remove the temp_test_project.
2026-05-15 18:57:15 -07:00
charles db89c9842a Add http dependency to helloworld build test 2026-05-15 14:25:16 -07:00
charles 546b74149e Fix code generator and add compilation test
Correct module paths and accessor usage in the generator to ensure
generated code builds. Add a test that verifies this by compiling the
generated code in a temporary project.
2026-05-15 14:13:18 -07:00
charles 372eab94d4 Fix path resolution in codegen build tests
Use absolute paths for temporary project directories and dependencies
to improve reliability. Update the generated Cargo.toml with additional
dependencies and remove the offline flag from cargo build.
2026-05-15 11:00:50 -07:00
charles a3fece24fc Update Orchestrator persona to use subagent tool 2026-05-15 10:52:07 -07:00
charles cc82e990ba Update generated code build test
Use absolute paths for the test project, add roto-tonic and other
dependencies, and capture build output on failure.
2026-05-15 10:49:56 -07:00
charles a9fef01950 Update orchestrator persona instructions
Require the orchestrator to tell subagents which persona they are and
provide the path to the persona file.
2026-05-15 10:30:21 -07:00
charles da7ba47505 Fix generated code and update example integration
Resolve `Result` ambiguity and lifetime issues in generated services.
Use `file_stem` for proto filenames. Make `StatusBody` public in
`roto-tonic` and update the `hello_world` build process.
2026-05-15 10:29:54 -07:00
charles 00b3dcd9a6 Add agent personas for task orchestration
Define roles and workflows for the Orchestrator, Researcher,
Coordinator, and Codemonkey agents, and ignore the artifacts directory.
2026-05-15 09:38:50 -07:00
charles 08be61966c Fix stuff 2026-05-13 23:08:21 -07:00
charles db2bf1bffd Implement buffer pooling in hello_world example
Introduce BufferPool to reuse BytesMut allocations for requests and
responses. Update AGENTS.md to require build and test success.
2026-05-13 09:45:27 -07:00
charles dfdcd8ae46 Add README for hello_world example 2026-05-12 14:16:27 -07:00
charles daa42d2d07 Update dependencies in codegen build tests
Bump bytes version to 1.7 and synchronize dependencies across all
generated Cargo.toml files in codegen tests.
2026-05-12 14:03:28 -07:00
charles 804ff3ead0 Checkpoint for gRPC implementation 2026-05-12 13:44:53 -07:00
charles 02a0b0d908 Initial commit of AI generated slop 2026-05-11 22:31:04 -07:00
charles 17ab0d1670 Update generated protobuf code 2026-05-11 17:43:56 -07:00
charles 792f2d5f5d Ensure we use roto_runtime rather than crate for error types 2026-05-11 17:43:25 -07:00
charles 3280092e08 Update README supported features list
Move oneof, map, and default value support from unsupported to
supported features.
2026-05-08 23:47:41 -07:00
charles 6e045fd808 Add _or_default accessors to generated messages
Update map_type_to_rust_accessor to provide default values for each
type, which are used to generate helper methods that return a default
value when a field is missing.
2026-05-08 23:20:40 -07:00
charles 7e368feddf Add method signature for repeated fields 2026-05-07 21:21:29 -07:00
charles d9186e697e Fix merge conflicts and generated code logic in generator.rs 2026-05-07 20:53:08 -07:00
charles 13625a48c9 Add support for Protobuf oneof fields in generator
Generate `which_<oneof>` methods and corresponding enums to handle
oneof fields in generated messages. Also add `has_<field>` helper
methods for all fields.
2026-05-07 20:15:16 -07:00
charles a20eed7223 Add support for protobuf map fields
Update the generator to detect map fields and use MapFieldIterator.
Implement MapFieldIterator in the runtime to handle key-value pair
extraction and add write_map_entry to ProtoBuilder. Add tests to
verify that map-bearing messages generate and compile correctly.
2026-05-07 20:15:08 -07:00
charles 8395195ac1 Clean tests 2026-05-07 17:59:39 -07:00
charles f76a020b1e Add test to verify generated code builds
Create a temporary Cargo project to ensure that the Rust code generated from
`test_types.desc` compiles successfully.
2026-05-06 16:21:21 -07:00
charles 80f3aa49ba Fix bug in codegen 2026-05-06 16:03:56 -07:00
charles 847c6cdc66 Merge branch 'check-conformance' 2026-05-04 23:38:50 -07:00
charles e5c2479985 Document unsupported Proto3 features 2026-05-04 23:38:11 -07:00
charles d21ff797b0 Add read-update-write benchmark
Update the README with a new benchmark group and performance results.
Include new data files and update the Rust benchmark implementation.
Regenerate UPB bindings and fix a data path in the C benchmark runner.
2026-05-04 23:37:36 -07:00
charles a0c2747583 Add read-update-write benchmarks
Add benchmarks for parsing, updating, and serializing in Rust and C.
Update the fork instructions in AGENTS.md.
2026-05-04 23:13:53 -07:00
charles 40e342f221 Document Protobuf spec validation 2026-05-04 23:12:20 -07:00
charles ea68537f0b Refactor crate into multiple subcrates 2026-05-04 22:48:26 -07:00
charles d71d96c15f Use roto::RawFieldIterator in generated code 2026-05-04 20:28:08 -07:00
charles 3e5544d3d8 Allow unused imports in generated code 2026-05-04 20:19:40 -07:00
charles 04ef952a58 Add Builder::with for updating messages
Allow creating a new message based on an existing one, overriding
specific fields while copying the remaining original fields.
2026-05-04 20:11:54 -07:00
charles 05e4c275bb Add raw field iterator and with builder method
- Implement RawFieldIterator and ProtoAccessor::raw_fields that yield
  (field_number, raw_bytes) pairs for each field
- Extend Builder with per-field _written flags and add a with()
  method to copy unseen fields from a source message
- Add ProtoBuilder::write_raw to copy pre-encoded field bytes
- Add tests for raw-field iteration, verbatim copying, and with()
2026-05-04 19:03:56 -07:00
charles 6821bd1cca Add performance results section to README 2026-05-04 14:53:49 -07:00
charles 4a6a09cff1 Add benchmark 2026-05-04 14:40:11 -07:00
charles b03ec9eba9 fix: tests 2026-05-04 13:46:05 -07:00
charles ca81a2d010 Update README 2026-05-04 13:45:18 -07:00
charles 858c6968d4 Clean warnings 2026-05-04 11:14:57 -07:00
charles 7fbea70860 Migrate to using generated code 2026-05-04 10:45:38 -07:00
charles a4fa72c819 Include generated code 2026-05-04 09:23:51 -07:00