Proto commits in redpanda-data/connect

These 12 commits are when the Protocol Buffers files have changed:

Commit:809744e
Author:Tyler Rockwood
Committer:GitHub

protobuf: make it fast 🚀 (#3704) * protobuf: add faster proto->message path The existing conversion to message is very slow and forces a JSON parse if utilized after in a mapping or an output that uses structure (ie. Snowflake or SQL). Add a fast path that skips the intermediate JSON representation. Note this path is *less* lossy in terms of type information when not roundtripping through JSON. I think this is more what folks expect from a type prospective. * protobuf: split parsing utilities I'm introducing a new parser for protobuf, which requires a different form for protos. This means it's helpful to break down the methods to parse and load protobuf into it's primative forms. * protobuf: move parse utilities to common package This will be needed in multiple places later * deps: add hyperpb * protobuf: introduce hyperpb parsing Benchmark summary for this and the previous changes: - hyperpb is ~10-40% faster than dynamicpb for decoding - Fast conversion saves ~30% compared to slow conversion - Reading after fast conversion has negligible overhead (data already structured) - Reading after slow conversion adds ~60%+ overhead (requires JSON deserialization) * protobuf: fixup parsing utilities This corrects an issue in a previous commit where we dropped well-known types when extracting descriptors * protobuf: reduce allocations for hyperpb * protobuf: enable PGO To make hyperpb really fly * protobuf: simplify decoder and plug into processors This commit simplifies the common.NewDecoder method by just directly taking a message descriptor, and then plugs it into the protobuf decoder and the schema register decoder for protobuf. This is up for discussion because the output will subtly change for the protobuf decoders (for the better IMO). * chore: make linters happy * update changelog * proto: make hyperpb not a breaking change Make faster deserialization opt-in * update changelog * protobuf: allocate better

The documentation is generated from this commit.

Commit:f7f7c17
Author:Tyler Rockwood
Committer:GitHub

introduce dynamic plugins (#3403) * agent: rename runtime.proto to agent.proto * proto: fix code generation By specifying module paths * dynamic-plugins: add protobuf definitions * agent: fix proto converter * plugin: add subprocess library * dynamic/plugin: add input and output implementation * dynamic-plugins: add the processor * dynamic-plugins: add configuration and registration * dynamic-plugins: move to apache2 * dynamic-plugins: fix linter issues * dynamic-plugins: mv {socket,util}.go * dynamic-plugins: add to cli * dynamic-plugins: rename to rpcplugin * dynamic-plugins: add a minimal golang SDK * dynamic-plugins: fixes :facepalm * dynamic-plugins: allow for strongly typed configs * update package name * chore: format protos * chore: fixup proto comments * chore: review feedback * agent: replace hashicorp plugin system with a simpler thing * plugin/sdk: use simpler log library * plugins: add python plugins * rpcplugins: add python SDK * python: fixup output plugin * rpcplugin: review feedback * rpc/py: use protocols * chore: run linter

Commit:fc96ac3
Author:Tyler Rockwood
Committer:GitHub

agent: add tracing support (#3373) * mcp: add tracing for sse server handler Using the traceparent header * agent: add tracing support in the agent * chore: fix tracing e2e

Commit:d082312
Author:Tyler Rockwood
Committer:GitHub

Merge pull request #3301 from benwebber/feature/protobuf-to-json-use-enum-numbers Add use_enum_numbers option to protobuf processor

Commit:9db17b2
Author:Ashley Jeffs
Committer:GitHub

Add `mcp-server` and `agent` subcommands (#3319) * WIP * mcp: add starlark support * Bit of tidy up * mcp: add the ability to lookup a secret * mcp: support descriptions in starlark defined components * mcp: better name mappings for starlark keywords * Add properties to meta and secrets flag * Add input tool * Hook logging up properly * Add outputs to mcp * Add metrics * mcp: support .py extension * mcp: plumb through proper env var lookup fn * add readme * use main * Fix lints and add env file support to mcp-server * Remove base url * Update headers and modules * Enable sql cache on cloud * Update CHANGELOG --------- Co-authored-by: Tyler Rockwood <rockwood@redpanda.com>

Commit:f5cdf31
Author:Ben Webber
Committer:Ben Webber

Add use_enum_numbers option to protobuf processor When true, this option serializes protobuf enum members to JSON by value instead of by name. The default is false. Closes: #3299

Commit:c23a225
Author:Ashley Jeffs

Convert error path field to dot path notation

Commit:6454172
Author:Ashley Jeffs

Use xid for instance id and fix spelling

Commit:195ab63
Author:Ashley Jeffs

Add status events

Commit:6180770
Author:Ricardo Vega

Enhance protobuf resolution to register first level of nested messages Signed-off-by: Ricardo Vega <ricardoe@gmail.com>

Commit:dff414b
Author:Jaakko Lukkari
Committer:GitHub

Add support for protobuf Any fields (#1139) * Add support for resolving Any messages * Use protoreflect internal AnyResolver * add tests with proto.Any type * Return the same error as originally * Add back message field errors Co-authored-by: Pavel Prokopenko <pavel.a.prokopenko@gmail.com>

Commit:cd64a9f
Author:Ashley Jeffs

Add BETA protobuf processor