feat: add proto codegen pipeline with buf and connect-es

- Add llm-multiverse repo as git submodule for proto files
- Configure buf with @bufbuild/protoc-gen-es for TypeScript codegen
- Generate typed Connect service stubs to src/lib/proto/
- Add `generate` npm script for proto regeneration
- Exclude generated proto files from ESLint

Closes #2

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
shahondin1624
2026-03-12 11:14:11 +01:00
parent 0a46d2b95b
commit 2516c86002
16 changed files with 2758 additions and 1 deletions

View File

@@ -0,0 +1,84 @@
// @generated by protoc-gen-es v2.11.0 with parameter "target=ts"
// @generated from file llm_multiverse/v1/secrets.proto (package llm_multiverse.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import type { SessionContext } from "./common_pb";
import { file_llm_multiverse_v1_common } from "./common_pb";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file llm_multiverse/v1/secrets.proto.
*/
export const file_llm_multiverse_v1_secrets: GenFile = /*@__PURE__*/
fileDesc("Ch9sbG1fbXVsdGl2ZXJzZS92MS9zZWNyZXRzLnByb3RvEhFsbG1fbXVsdGl2ZXJzZS52MSJbChBHZXRTZWNyZXRSZXF1ZXN0EjIKB2NvbnRleHQYASABKAsyIS5sbG1fbXVsdGl2ZXJzZS52MS5TZXNzaW9uQ29udGV4dBITCgtzZWNyZXRfbmFtZRgCIAEoCSJQChFHZXRTZWNyZXRSZXNwb25zZRINCgV2YWx1ZRgBIAEoCRIaCg1lcnJvcl9tZXNzYWdlGAIgASgJSACIAQFCEAoOX2Vycm9yX21lc3NhZ2UyaAoOU2VjcmV0c1NlcnZpY2USVgoJR2V0U2VjcmV0EiMubGxtX211bHRpdmVyc2UudjEuR2V0U2VjcmV0UmVxdWVzdBokLmxsbV9tdWx0aXZlcnNlLnYxLkdldFNlY3JldFJlc3BvbnNlYgZwcm90bzM", [file_llm_multiverse_v1_common]);
/**
* @generated from message llm_multiverse.v1.GetSecretRequest
*/
export type GetSecretRequest = Message<"llm_multiverse.v1.GetSecretRequest"> & {
/**
* @generated from field: llm_multiverse.v1.SessionContext context = 1;
*/
context?: SessionContext;
/**
* Secret name as declared in tool definition placeholder.
*
* @generated from field: string secret_name = 2;
*/
secretName: string;
};
/**
* Describes the message llm_multiverse.v1.GetSecretRequest.
* Use `create(GetSecretRequestSchema)` to create a new message.
*/
export const GetSecretRequestSchema: GenMessage<GetSecretRequest> = /*@__PURE__*/
messageDesc(file_llm_multiverse_v1_secrets, 0);
/**
* @generated from message llm_multiverse.v1.GetSecretResponse
*/
export type GetSecretResponse = Message<"llm_multiverse.v1.GetSecretResponse"> & {
/**
* The actual credential value. Never exposed in logs or agent context.
*
* @generated from field: string value = 1;
*/
value: string;
/**
* @generated from field: optional string error_message = 2;
*/
errorMessage?: string;
};
/**
* Describes the message llm_multiverse.v1.GetSecretResponse.
* Use `create(GetSecretResponseSchema)` to create a new message.
*/
export const GetSecretResponseSchema: GenMessage<GetSecretResponse> = /*@__PURE__*/
messageDesc(file_llm_multiverse_v1_secrets, 1);
/**
* Credential retrieval via Linux Secret Service API.
* Only the Tool Broker is authorized to call this service.
*
* @generated from service llm_multiverse.v1.SecretsService
*/
export const SecretsService: GenService<{
/**
* Retrieve a secret by name. No list or write RPCs exposed.
*
* @generated from rpc llm_multiverse.v1.SecretsService.GetSecret
*/
getSecret: {
methodKind: "unary";
input: typeof GetSecretRequestSchema;
output: typeof GetSecretResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_llm_multiverse_v1_secrets, 0);