/** * serve() – starts the gRPC server and prints the go-plugin handshake to stdout. * * Handshake format (6 pipe-separated fields): * CORE_PROTO_VER|APP_PROTO_VER|NETWORK_TYPE|ADDR|PROTOCOL|BASE64_DER_CERT * * The 6th field is the server's self-signed TLS certificate in DER format, * base64-encoded without padding. Terraform uses this to verify the server. * * go-plugin also requires two extra gRPC services beyond tfplugin6.Provider: * - plugin.GRPCController (Shutdown RPC) * - plugin.GRPCStdio (StreamStdio RPC – we return empty stream) * * Env vars: * TF_PLUGIN_MAGIC_COOKIE – must equal the magic cookie value below * TF_REATTACH_PROVIDERS – when set by Terraform for debug reattach * TF_LOG / TF_LOG_PROVIDER – structured log level (see logger.ts) */ import "./_bun_patch.js"; import type { Provider } from "./interfaces.js"; export interface ServeOptions { socketPath?: string; dev?: boolean; /** * Override the directory from which the three tfplugin6 `.proto` files are * loaded. Use this when building a Node.js Single Executable Application * (SEA): extract the proto files from SEA assets at startup and pass the * temp directory here. * * Defaults to `/proto` when running from source/dist. */ protoDir?: string; } export declare function serve(provider: Provider, opts?: ServeOptions): Promise; //# sourceMappingURL=serve.d.ts.map