@dr_nikson/effect-grpc 3.0.0-alpha.1 → 3.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -0
- package/dist/client.internal.d.ts.map +1 -1
- package/dist/client.internal.js +64 -8
- package/dist/client.internal.js.map +1 -1
- package/dist/protoRuntime.d.ts +10 -1
- package/dist/protoRuntime.d.ts.map +1 -1
- package/dist/protoRuntime.internal.d.ts +25 -1
- package/dist/protoRuntime.internal.d.ts.map +1 -1
- package/dist/protoRuntime.internal.js +57 -5
- package/dist/protoRuntime.internal.js.map +1 -1
- package/dist/protoRuntime.js.map +1 -1
- package/dist/protocGenPlugin.js +56 -28
- package/dist/protocGenPlugin.js.map +1 -1
- package/dist/server.d.ts +16 -7
- package/dist/server.d.ts.map +1 -1
- package/dist/server.internal.d.ts +1 -1
- package/dist/server.internal.d.ts.map +1 -1
- package/dist/server.internal.js.map +1 -1
- package/dist/server.js +15 -6
- package/dist/server.js.map +1 -1
- package/package.json +10 -8
package/README.md
CHANGED
|
@@ -12,6 +12,7 @@ Type-safe gRPC and Protocol Buffer support for the Effect ecosystem
|
|
|
12
12
|
|
|
13
13
|
- **Full Type Safety** - Generated TypeScript code from Protocol Buffers with complete type inference
|
|
14
14
|
- **Effect Integration** - Native support for Effect's error handling, tracing, and dependency injection
|
|
15
|
+
- **🔭 Distributed Tracing** - Automatic OpenTelemetry support with W3C Trace Context propagation
|
|
15
16
|
- **Code Generation** - Automatic client and server code generation via `protoc-gen-effect` plugin
|
|
16
17
|
- **Connect-RPC** - Built on Connect-RPC for maximum compatibility with gRPC and gRPC-Web
|
|
17
18
|
- **Modular Architecture** - Clean separation between service definitions and implementations
|
|
@@ -790,6 +791,106 @@ const response = yield* client.sayHello(
|
|
|
790
791
|
);
|
|
791
792
|
```
|
|
792
793
|
|
|
794
|
+
### Distributed Tracing with OpenTelemetry
|
|
795
|
+
|
|
796
|
+
effect-grpc provides **automatic distributed tracing** with OpenTelemetry, enabling you to trace requests across your entire distributed system with zero manual instrumentation.
|
|
797
|
+
|
|
798
|
+
#### How It Works
|
|
799
|
+
|
|
800
|
+
When you make a gRPC call, trace context automatically flows from client to server using the [W3C Trace Context](https://www.w3.org/TR/trace-context/) standard:
|
|
801
|
+
|
|
802
|
+
```
|
|
803
|
+
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
804
|
+
│ Distributed Trace Flow │
|
|
805
|
+
├─────────────────────────────────────────────────────────────────────────────┤
|
|
806
|
+
│ │
|
|
807
|
+
│ Client Process Server Process │
|
|
808
|
+
│ ───────────────── ───────────────── │
|
|
809
|
+
│ │
|
|
810
|
+
│ ┌─────────────────────┐ ┌─────────────────────┐ │
|
|
811
|
+
│ │ Application Span │ │ │ │
|
|
812
|
+
│ │ "my-operation" │ │ │ │
|
|
813
|
+
│ └──────────┬──────────┘ │ │ │
|
|
814
|
+
│ │ │ │ │
|
|
815
|
+
│ ▼ │ │ │
|
|
816
|
+
│ ┌─────────────────────┐ traceparent │ │ │
|
|
817
|
+
│ │ Client RPC Span │ ═══════════════► │ Server RPC Span │ │
|
|
818
|
+
│ │ "GrpcClient..." │ tracestate │ "service/Method" │ │
|
|
819
|
+
│ └─────────────────────┘ └─────────────────────┘ │
|
|
820
|
+
│ │
|
|
821
|
+
│ All spans share the same traceId for end-to-end visibility │
|
|
822
|
+
│ │
|
|
823
|
+
└─────────────────────────────────────────────────────────────────────────────┘
|
|
824
|
+
```
|
|
825
|
+
|
|
826
|
+
#### Setting Up Tracing
|
|
827
|
+
|
|
828
|
+
**1. Add OpenTelemetry dependencies:**
|
|
829
|
+
|
|
830
|
+
```bash
|
|
831
|
+
npm install @effect/opentelemetry @opentelemetry/api @opentelemetry/sdk-trace-node
|
|
832
|
+
# Plus your preferred exporter
|
|
833
|
+
npm install @opentelemetry/exporter-trace-otlp-http
|
|
834
|
+
```
|
|
835
|
+
|
|
836
|
+
**2. Configure the OpenTelemetry SDK:**
|
|
837
|
+
|
|
838
|
+
```typescript
|
|
839
|
+
import { Effect, Layer } from "effect";
|
|
840
|
+
import { NodeSdk } from "@effect/opentelemetry";
|
|
841
|
+
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
|
|
842
|
+
import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
843
|
+
|
|
844
|
+
// Create the tracing layer
|
|
845
|
+
const TracingLive = NodeSdk.layer(() => ({
|
|
846
|
+
resource: { serviceName: "my-grpc-service" },
|
|
847
|
+
spanProcessor: new BatchSpanProcessor(
|
|
848
|
+
new OTLPTraceExporter({ url: "http://localhost:4318/v1/traces" })
|
|
849
|
+
),
|
|
850
|
+
}));
|
|
851
|
+
|
|
852
|
+
// Provide it to your application
|
|
853
|
+
const program = myGrpcProgram.pipe(
|
|
854
|
+
Effect.provide(TracingLive)
|
|
855
|
+
);
|
|
856
|
+
```
|
|
857
|
+
|
|
858
|
+
**3. That's it!** Your gRPC calls will automatically:
|
|
859
|
+
- Create spans with semantic attributes (`rpc.system`, `rpc.service`, `rpc.method`)
|
|
860
|
+
- Propagate trace context via W3C `traceparent`/`tracestate` headers
|
|
861
|
+
- Link client and server spans in the same trace
|
|
862
|
+
|
|
863
|
+
#### Generated Span Names
|
|
864
|
+
|
|
865
|
+
| Location | Span Name Format | Example |
|
|
866
|
+
|----------|------------------|---------|
|
|
867
|
+
| Client | `GrpcClient.makeUnaryRequest({service}/{method})` | `GrpcClient.makeUnaryRequest(example.v1.HelloService/SayHello)` |
|
|
868
|
+
| Server | `{service}/{method}` | `example.v1.HelloService/SayHello` |
|
|
869
|
+
|
|
870
|
+
#### Full Trace Hierarchy
|
|
871
|
+
|
|
872
|
+
When you wrap your client call in a span, the complete trace hierarchy looks like:
|
|
873
|
+
|
|
874
|
+
```typescript
|
|
875
|
+
// Your code
|
|
876
|
+
const program = Effect.gen(function* () {
|
|
877
|
+
const client = yield* HelloServiceClientTag;
|
|
878
|
+
return yield* client.sayHello({ name: "World" }, {});
|
|
879
|
+
}).pipe(Effect.withSpan("my-business-operation"));
|
|
880
|
+
```
|
|
881
|
+
|
|
882
|
+
```
|
|
883
|
+
Trace: abc123...
|
|
884
|
+
│
|
|
885
|
+
├── my-business-operation [Client Process]
|
|
886
|
+
│ │
|
|
887
|
+
│ └── GrpcClient.makeUnaryRequest(example.v1.HelloService/SayHello)
|
|
888
|
+
│ │
|
|
889
|
+
│ └── example.v1.HelloService/SayHello [Server Process]
|
|
890
|
+
│ │
|
|
891
|
+
│ └── (your business logic spans...)
|
|
892
|
+
```
|
|
893
|
+
|
|
793
894
|
|
|
794
895
|
## Development
|
|
795
896
|
|
|
@@ -834,6 +935,7 @@ effect-grpc/
|
|
|
834
935
|
|
|
835
936
|
## Roadmap
|
|
836
937
|
|
|
938
|
+
- [x] **OpenTelemetry distributed tracing** - Automatic trace context propagation
|
|
837
939
|
- [ ] Support for streaming RPCs (server-streaming, client-streaming, bidirectional)
|
|
838
940
|
- [ ] Interceptor/middleware support
|
|
839
941
|
- [ ] Built-in retry policies with Effect
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.internal.d.ts","sourceRoot":"","sources":["../src/client.internal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.internal.d.ts","sourceRoot":"","sources":["../src/client.internal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAkB,KAAK,EAAE,MAAM,QAAQ,CAAC;AAWxD,OAAO,KAAK,KAAK,CAAC,MAAM,aAAa,CAAC;AAatC,eAAO,MAAM,uBAAuB,eAAqD,CAAC;AAE1F,eAAO,MAAM,oBAAoB,uDAEhC,CAAC;AAsBF,wBAAgB,qBAAqB,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAkDxE;AAyFD,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,EAAE,OAAO,yEAI/E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,SAAS,MAAM,EACzD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,GAK9C,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CACjC"}
|
package/dist/client.internal.js
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
// packages/effect-grpc/src/client.internal.ts
|
|
2
|
+
import { Context, Effect, Either, Layer } from "effect";
|
|
2
3
|
import { createClient, createContextValues } from "@connectrpc/connect";
|
|
3
4
|
import { Http2SessionManager, createGrpcTransport } from "@connectrpc/connect-node";
|
|
5
|
+
import { ROOT_CONTEXT, TraceFlags, trace } from "@opentelemetry/api";
|
|
6
|
+
import { W3CTraceContextPropagator } from "@opentelemetry/core";
|
|
4
7
|
import * as protoRuntime from "./protoRuntime.js";
|
|
8
|
+
/**
|
|
9
|
+
* TextMapSetter implementation for injecting trace context into request headers.
|
|
10
|
+
* This adapter allows OpenTelemetry's propagation API to write to the Headers object.
|
|
11
|
+
*/
|
|
12
|
+
const headerSetter = {
|
|
13
|
+
set(carrier, key, value) {
|
|
14
|
+
carrier.set(key, value);
|
|
15
|
+
},
|
|
16
|
+
};
|
|
5
17
|
export const grpcClientRuntimeTypeId = Symbol("@dr_nikson/effect-grpc/GrpcClientRuntime");
|
|
6
18
|
export const grpcClientRuntimeTag = Context.GenericTag(grpcClientRuntimeTypeId.toString());
|
|
7
19
|
/**
|
|
@@ -50,24 +62,68 @@ export function liveGrpcClientRuntime() {
|
|
|
50
62
|
};
|
|
51
63
|
return Layer.succeed(grpcClientRuntimeTag, instance);
|
|
52
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* @internal
|
|
67
|
+
* Inject trace context into request headers (pure function).
|
|
68
|
+
*
|
|
69
|
+
* Uses OpenTelemetry's W3CTraceContextPropagator to properly format and inject the
|
|
70
|
+
* `traceparent` and `tracestate` headers according to the W3C Trace Context specification.
|
|
71
|
+
*
|
|
72
|
+
* @param span - The current Effect span to extract trace context from
|
|
73
|
+
* @param headers - The original headers to copy and augment
|
|
74
|
+
* @returns New Headers object with trace context injected, preserving original headers
|
|
75
|
+
*/
|
|
76
|
+
function injectTraceContext(span, headers) {
|
|
77
|
+
return Either.try(() => {
|
|
78
|
+
// Copy existing headers to preserve user-provided headers (auth tokens, etc.)
|
|
79
|
+
// new Headers(headers) copies all entries from the source Headers object
|
|
80
|
+
const newHeaders = new Headers(headers);
|
|
81
|
+
// Create an OTel SpanContext from the Effect span
|
|
82
|
+
const spanContext = {
|
|
83
|
+
traceId: span.traceId,
|
|
84
|
+
spanId: span.spanId,
|
|
85
|
+
traceFlags: span.sampled ? TraceFlags.SAMPLED : TraceFlags.NONE,
|
|
86
|
+
// isRemote indicates whether the span context was received from a remote service.
|
|
87
|
+
// Here it's false because this span was created locally in the client process.
|
|
88
|
+
// (Server-side extraction from incoming headers would set isRemote: true)
|
|
89
|
+
isRemote: false,
|
|
90
|
+
};
|
|
91
|
+
// Inject trace context headers (traceparent, tracestate) into the copied headers
|
|
92
|
+
const propagator = new W3CTraceContextPropagator();
|
|
93
|
+
const otelContext = trace.setSpanContext(ROOT_CONTEXT, spanContext);
|
|
94
|
+
propagator.inject(otelContext, newHeaders, headerSetter);
|
|
95
|
+
return newHeaders;
|
|
96
|
+
}).pipe(Either.getOrElse(() => headers));
|
|
97
|
+
}
|
|
53
98
|
function makeExecutorMethod(client, methodName, serviceDefinition) {
|
|
54
99
|
const method = serviceDefinition.method[methodName];
|
|
100
|
+
// Build span name following gRPC convention: {service}/{method}
|
|
101
|
+
const fullMethodName = `${serviceDefinition.typeName}/${method.name}`;
|
|
55
102
|
switch (method.methodKind) {
|
|
56
103
|
case "unary":
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
104
|
+
// Use Effect.fn to create a client-side span for each RPC call.
|
|
105
|
+
// This provides visibility into client-side latency separate from server processing time.
|
|
106
|
+
return Effect.fn(`GrpcClient.makeUnaryRequest(${fullMethodName})`, {
|
|
107
|
+
attributes: {
|
|
108
|
+
"rpc.system": "grpc",
|
|
109
|
+
"rpc.service": serviceDefinition.typeName,
|
|
110
|
+
"rpc.method": method.name,
|
|
111
|
+
},
|
|
112
|
+
})(function* (req, opts) {
|
|
113
|
+
const baseHeaders = opts.headers ?? new Headers();
|
|
114
|
+
const headers = yield* Effect.currentSpan.pipe(Effect.map((span) => injectTraceContext(span, baseHeaders)), Effect.catchAll(() => Effect.succeed(baseHeaders)));
|
|
115
|
+
return yield* Effect.promise((signal) => {
|
|
116
|
+
const clientMethod = client[methodName].bind(client);
|
|
117
|
+
return clientMethod(req, {
|
|
61
118
|
// timeoutMs: null,
|
|
62
|
-
|
|
63
|
-
headers: opts.headers,
|
|
119
|
+
headers,
|
|
64
120
|
signal,
|
|
65
121
|
// onHeader: null,
|
|
66
122
|
// onTrailer: null,
|
|
67
123
|
contextValues: createContextValues(),
|
|
68
124
|
});
|
|
69
125
|
});
|
|
70
|
-
};
|
|
126
|
+
});
|
|
71
127
|
default:
|
|
72
128
|
return null;
|
|
73
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.internal.js","sourceRoot":"","sources":["../src/client.internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"client.internal.js","sourceRoot":"","sources":["../src/client.internal.ts"],"names":[],"mappings":"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"}
|
package/dist/protoRuntime.d.ts
CHANGED
|
@@ -70,7 +70,16 @@ type UnaryClientExecutorFn<I extends DescMessage, O extends DescMessage> = (requ
|
|
|
70
70
|
* ```
|
|
71
71
|
*/
|
|
72
72
|
export interface ServerExecutor<Ctx> {
|
|
73
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Execute a unary gRPC method with automatic tracing and logging.
|
|
75
|
+
*
|
|
76
|
+
* @param method - Fully qualified method name (e.g., "com.example.v1.HelloWorldAPI/GetGreeting")
|
|
77
|
+
* @param req - The incoming request message
|
|
78
|
+
* @param ctx - The gRPC handler context
|
|
79
|
+
* @param prog - The Effect program implementing the method logic
|
|
80
|
+
* @returns Promise resolving to the response message
|
|
81
|
+
*/
|
|
82
|
+
unary<In, Out>(method: string, req: In, ctx: HandlerContext, prog: (req: In, ctx: Ctx) => Effect.Effect<Out, GrpcException.GrpcException>): Promise<Out>;
|
|
74
83
|
}
|
|
75
84
|
export declare const ServerExecutor: {
|
|
76
85
|
(runtime: Runtime.Runtime<never>): ServerExecutor<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoRuntime.d.ts","sourceRoot":"","sources":["../src/protoRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,cAAc,CAAC,YAAY,SAAS,iBAAiB,IAAI;KAClE,CAAC,IAAI,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CACjD;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;KAAE,CACpF,GACC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GACtD,0CAA0C;CAC7C,CAAC;AAEF,KAAK,qBAAqB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,WAAW,IAAI,CACzE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC5B,IAAI,CAAC,EAAE,WAAW,KACf,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,cAAc,CAAC,GAAG;IACjC,KAAK,CAAC,EAAE,EAAE,GAAG,EACX,GAAG,EAAE,EAAE,EACP,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC,GAC3E,OAAO,CAAC,GAAG,CAAC,CAAC;CACjB;AACD,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;CACrB,CAAC;AAErC,MAAM,WAAW,yBAAyB,CAAC,GAAG;IAC5C,QAAQ,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC,GAAG,CAAC,CAAC;IAE7F,gBAAgB,CAAC,IAAI,EACnB,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,GAClF,yBAAyB,CAAC,IAAI,CAAC,CAAC;CACpC;AACD,eAAO,MAAM,yBAAyB,EAAE;IACtC,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC;CACW,CAAC"}
|
|
1
|
+
{"version":3,"file":"protoRuntime.d.ts","sourceRoot":"","sources":["../src/protoRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,cAAc,CAAC,YAAY,SAAS,iBAAiB,IAAI;KAClE,CAAC,IAAI,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CACjD;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;KAAE,CACpF,GACC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GACtD,0CAA0C;CAC7C,CAAC;AAEF,KAAK,qBAAqB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,WAAW,IAAI,CACzE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC5B,IAAI,CAAC,EAAE,WAAW,KACf,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,cAAc,CAAC,GAAG;IACjC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,EAAE,EACP,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC,GAC3E,OAAO,CAAC,GAAG,CAAC,CAAC;CACjB;AACD,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;CACrB,CAAC;AAErC,MAAM,WAAW,yBAAyB,CAAC,GAAG;IAC5C,QAAQ,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC,GAAG,CAAC,CAAC;IAE7F,gBAAgB,CAAC,IAAI,EACnB,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,GAClF,yBAAyB,CAAC,IAAI,CAAC,CAAC;CACpC;AACD,eAAO,MAAM,yBAAyB,EAAE;IACtC,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC;CACW,CAAC"}
|
|
@@ -11,7 +11,31 @@ export declare class ServerExecutorLive implements T.ServerExecutor<any> {
|
|
|
11
11
|
readonly runtime: Runtime.Runtime<never>;
|
|
12
12
|
constructor(runtime: Runtime.Runtime<never>);
|
|
13
13
|
static make(runtime: Runtime.Runtime<never>): T.ServerExecutor<any>;
|
|
14
|
-
unary<In, Out>(req: In, ctx: HandlerContext, prog: (req: In, ctx: any) => Effect.Effect<Out, GrpcException.GrpcException>): Promise<Out>;
|
|
14
|
+
unary<In, Out>(method: string, req: In, ctx: HandlerContext, prog: (req: In, ctx: any) => Effect.Effect<Out, GrpcException.GrpcException>): Promise<Out>;
|
|
15
|
+
/**
|
|
16
|
+
* Extract W3C Trace Context from incoming gRPC request headers.
|
|
17
|
+
*
|
|
18
|
+
* Uses OpenTelemetry's W3CTraceContextPropagator to properly parse the `traceparent` and
|
|
19
|
+
* `tracestate` headers according to the W3C Trace Context specification. When valid trace
|
|
20
|
+
* context is found, it creates an ExternalSpan that will be used as the parent for the
|
|
21
|
+
* server-side span, enabling distributed tracing.
|
|
22
|
+
*
|
|
23
|
+
* We use `ROOT_CONTEXT` (not `context.active()`) because:
|
|
24
|
+
* 1. Each incoming gRPC request should start with a fresh context
|
|
25
|
+
* 2. We don't want to inherit any ambient context from the Node.js process
|
|
26
|
+
* 3. The only parent context should come from the incoming request headers
|
|
27
|
+
*
|
|
28
|
+
* We explicitly instantiate W3CTraceContextPropagator rather than using the global
|
|
29
|
+
* `propagation` API because the global propagator registry may not be initialized
|
|
30
|
+
* when using Effect's managed tracing setup.
|
|
31
|
+
*
|
|
32
|
+
* The extracted OTel span context is then converted to Effect's ExternalSpan format
|
|
33
|
+
* so it can be used with Effect's tracing system via `Effect.withSpan({ parent: ... })`.
|
|
34
|
+
*
|
|
35
|
+
* @param ctx - The gRPC handler context containing request headers
|
|
36
|
+
* @returns Option.Some with the extracted ExternalSpan, or Option.None if no valid context
|
|
37
|
+
*/
|
|
38
|
+
private extractTraceContext;
|
|
15
39
|
}
|
|
16
40
|
/**
|
|
17
41
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoRuntime.internal.d.ts","sourceRoot":"","sources":["../src/protoRuntime.internal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protoRuntime.internal.d.ts","sourceRoot":"","sources":["../src/protoRuntime.internal.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAgB,OAAO,EAAE,MAAM,QAAQ,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,KAAK,CAAC,MAAM,mBAAmB,CAAC;AAe5C;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;aAClC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBAA/B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAE3D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;IAInE,KAAK,CAAC,EAAE,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,EAAE,EACP,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC,GAC3E,OAAO,CAAC,GAAG,CAAC;IAsCf;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,mBAAmB;CAa5B;AAED;;;;GAIG;AACH,qBAAa,6BAA6B,CAAC,GAAG,CAAE,YAAW,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC;aAEvE,cAAc,EAAE,CAC9B,UAAU,EAAE,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,KACzC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;gBAFV,cAAc,EAAE,CAC9B,UAAU,EAAE,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,KACzC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;IAG5B,MAAM,CAAC,KAAK,IAAI,6BAA6B,CAAC,GAAG,CAAC;IAIlD,gBAAgB,CAAC,IAAI,EACnB,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,GAClF,6BAA6B,CAAC,IAAI,CAAC;CAgBvC"}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
// packages/effect-grpc/src/protoRuntime.internal.ts
|
|
2
|
+
import { Cause, Effect, Exit, Option, Runtime } from "effect";
|
|
2
3
|
import { Code, ConnectError } from "@connectrpc/connect";
|
|
4
|
+
import { Tracer } from "@effect/opentelemetry";
|
|
5
|
+
import { ROOT_CONTEXT, trace } from "@opentelemetry/api";
|
|
6
|
+
import { W3CTraceContextPropagator } from "@opentelemetry/core";
|
|
3
7
|
import * as GrpcException from "./grpcException.js";
|
|
8
|
+
/**
|
|
9
|
+
* TextMapGetter implementation for extracting trace context from gRPC request headers.
|
|
10
|
+
* This adapter allows OpenTelemetry's propagation API to read from the Headers object.
|
|
11
|
+
*/
|
|
12
|
+
const headerGetter = {
|
|
13
|
+
get(carrier, key) {
|
|
14
|
+
return carrier.get(key) ?? undefined;
|
|
15
|
+
},
|
|
16
|
+
keys(carrier) {
|
|
17
|
+
return [...carrier.keys()];
|
|
18
|
+
},
|
|
19
|
+
};
|
|
4
20
|
/**
|
|
5
21
|
* @internal
|
|
6
22
|
* Live implementation of the Executor interface using Effect's ManagedRuntime.
|
|
@@ -14,9 +30,14 @@ export class ServerExecutorLive {
|
|
|
14
30
|
static make(runtime) {
|
|
15
31
|
return new ServerExecutorLive(runtime);
|
|
16
32
|
}
|
|
17
|
-
unary(req, ctx, prog) {
|
|
33
|
+
unary(method, req, ctx, prog) {
|
|
34
|
+
const parentSpan = this.extractTraceContext(ctx);
|
|
18
35
|
// Pass undefined as the context since the default is 'any' and no transformation has been applied
|
|
19
|
-
|
|
36
|
+
const traced = prog(req, undefined).pipe(Effect.annotateLogs({ method, protocol: "gRPC" }), Effect.withSpan(method, {
|
|
37
|
+
attributes: { method, protocol: "gRPC" },
|
|
38
|
+
parent: Option.getOrUndefined(parentSpan),
|
|
39
|
+
}));
|
|
40
|
+
return Runtime.runPromiseExit(this.runtime, traced, { signal: ctx.signal }).then(Exit.match({
|
|
20
41
|
onFailure: (cause) => {
|
|
21
42
|
throw Cause.match(cause, {
|
|
22
43
|
onEmpty: new ConnectError("Unknown error", Code.Unknown),
|
|
@@ -30,6 +51,37 @@ export class ServerExecutorLive {
|
|
|
30
51
|
onSuccess: (value) => value,
|
|
31
52
|
}));
|
|
32
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Extract W3C Trace Context from incoming gRPC request headers.
|
|
56
|
+
*
|
|
57
|
+
* Uses OpenTelemetry's W3CTraceContextPropagator to properly parse the `traceparent` and
|
|
58
|
+
* `tracestate` headers according to the W3C Trace Context specification. When valid trace
|
|
59
|
+
* context is found, it creates an ExternalSpan that will be used as the parent for the
|
|
60
|
+
* server-side span, enabling distributed tracing.
|
|
61
|
+
*
|
|
62
|
+
* We use `ROOT_CONTEXT` (not `context.active()`) because:
|
|
63
|
+
* 1. Each incoming gRPC request should start with a fresh context
|
|
64
|
+
* 2. We don't want to inherit any ambient context from the Node.js process
|
|
65
|
+
* 3. The only parent context should come from the incoming request headers
|
|
66
|
+
*
|
|
67
|
+
* We explicitly instantiate W3CTraceContextPropagator rather than using the global
|
|
68
|
+
* `propagation` API because the global propagator registry may not be initialized
|
|
69
|
+
* when using Effect's managed tracing setup.
|
|
70
|
+
*
|
|
71
|
+
* The extracted OTel span context is then converted to Effect's ExternalSpan format
|
|
72
|
+
* so it can be used with Effect's tracing system via `Effect.withSpan({ parent: ... })`.
|
|
73
|
+
*
|
|
74
|
+
* @param ctx - The gRPC handler context containing request headers
|
|
75
|
+
* @returns Option.Some with the extracted ExternalSpan, or Option.None if no valid context
|
|
76
|
+
*/
|
|
77
|
+
extractTraceContext(ctx) {
|
|
78
|
+
const propagator = new W3CTraceContextPropagator();
|
|
79
|
+
// Extract trace context from headers into a fresh ROOT_CONTEXT
|
|
80
|
+
// This ensures we don't inherit any ambient context from the process
|
|
81
|
+
const extractedContext = propagator.extract(ROOT_CONTEXT, ctx.requestHeader, headerGetter);
|
|
82
|
+
// Get the span context from the extracted OTel context and convert to Effect's ExternalSpan
|
|
83
|
+
return Option.fromNullable(trace.getSpanContext(extractedContext)).pipe(Option.filter(trace.isSpanContextValid), Option.map(Tracer.makeExternalSpan));
|
|
84
|
+
}
|
|
33
85
|
}
|
|
34
86
|
/**
|
|
35
87
|
* @internal
|
|
@@ -47,8 +99,8 @@ export class ServerExecutorTransformerLive {
|
|
|
47
99
|
transformContext(f) {
|
|
48
100
|
return new ServerExecutorTransformerLive((underlying) => {
|
|
49
101
|
return {
|
|
50
|
-
unary(req, handlerCtx, prog) {
|
|
51
|
-
return underlying.unary(req, handlerCtx, (req) => {
|
|
102
|
+
unary(method, req, handlerCtx, prog) {
|
|
103
|
+
return underlying.unary(method, req, handlerCtx, (req) => {
|
|
52
104
|
return Effect.flatMap(f(handlerCtx), (ctx1) => prog(req, ctx1));
|
|
53
105
|
});
|
|
54
106
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoRuntime.internal.js","sourceRoot":"","sources":["../src/protoRuntime.internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"protoRuntime.internal.js","sourceRoot":"","sources":["../src/protoRuntime.internal.ts"],"names":[],"mappings":"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"}
|
package/dist/protoRuntime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoRuntime.js","sourceRoot":"","sources":["../src/protoRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAMzC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"protoRuntime.js","sourceRoot":"","sources":["../src/protoRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAMzC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAC;AA0FvD,MAAM,CAAC,MAAM,cAAc,GAEvB,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC;AASrC,MAAM,CAAC,MAAM,yBAAyB,GAElC,QAAQ,CAAC,6BAA6B,CAAC,KAAK,CAAC"}
|
package/dist/protocGenPlugin.js
CHANGED
|
@@ -9,9 +9,21 @@ function generateTs(schema) {
|
|
|
9
9
|
for (const file of schema.files) {
|
|
10
10
|
const f = schema.generateFile(file.name + "_effect.ts");
|
|
11
11
|
f.preamble(file);
|
|
12
|
+
// Add Effect imports (namespace imports from submodules)
|
|
13
|
+
const effectImports = {
|
|
14
|
+
Context: safeIdentifier("Context"),
|
|
15
|
+
Effect: safeIdentifier("Effect"),
|
|
16
|
+
Layer: safeIdentifier("Layer"),
|
|
17
|
+
Scope: safeIdentifier("Scope"),
|
|
18
|
+
};
|
|
19
|
+
f.print('import * as ', effectImports.Context, ' from "effect/Context";');
|
|
20
|
+
f.print('import * as ', effectImports.Effect, ' from "effect/Effect";');
|
|
21
|
+
f.print('import * as ', effectImports.Layer, ' from "effect/Layer";');
|
|
22
|
+
f.print('import * as ', effectImports.Scope, ' from "effect/Scope";');
|
|
23
|
+
f.print();
|
|
12
24
|
// Extract basename from file path for import examples
|
|
13
25
|
const fileBasename = file.name.split('/').pop() || file.name;
|
|
14
|
-
file.services.forEach(service => generateEffectService(f, service, fileBasename));
|
|
26
|
+
file.services.forEach(service => generateEffectService(f, service, fileBasename, effectImports));
|
|
15
27
|
/*
|
|
16
28
|
for (const service of file.services) {
|
|
17
29
|
f.print(f.jsDoc(service));
|
|
@@ -62,22 +74,31 @@ function generateTs(schema) {
|
|
|
62
74
|
}*/
|
|
63
75
|
}
|
|
64
76
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Appends a suffix to a name only if the name doesn't already end with that suffix.
|
|
79
|
+
* This prevents names like "HelloWorldServiceService" when the proto service
|
|
80
|
+
* is already named "HelloWorldService".
|
|
81
|
+
*/
|
|
82
|
+
function appendSuffixIfNeeded(name, suffix) {
|
|
83
|
+
return name.endsWith(suffix) ? name : name + suffix;
|
|
84
|
+
}
|
|
85
|
+
function generateEffectService(f, service, fileBasename, effectImports) {
|
|
86
|
+
// Effect imports are added manually as namespace imports in generateTs()
|
|
87
|
+
const { Context: importContext, Effect: importEffect, Layer: importLayer, Scope: importScope } = effectImports;
|
|
70
88
|
const importEffectGrpcService = f.import("EffectGrpcServer", packageJson.name);
|
|
71
89
|
const importGrpcException = f.import("GrpcException", packageJson.name);
|
|
72
90
|
const importService = f.importSchema(service);
|
|
91
|
+
// Use appendSuffixIfNeeded to avoid duplicate suffixes (e.g., "HelloWorldServiceService")
|
|
92
|
+
const serviceName = appendSuffixIfNeeded(service.name, "Service");
|
|
93
|
+
const serviceNameLower = serviceName.charAt(0).toLowerCase() + serviceName.slice(1);
|
|
73
94
|
const serviceId = service.typeName;
|
|
74
95
|
const serviceIdSymbol = safeIdentifier(service.name + "ProtoId");
|
|
75
|
-
const serviceSymbol = safeIdentifier(
|
|
76
|
-
const grpcServiceSymbol = safeIdentifier(
|
|
77
|
-
const serviceTagSymbol = safeIdentifier(
|
|
78
|
-
const serviceLiveLayerSymbol = safeIdentifier(
|
|
79
|
-
const makeTagSymbol = safeIdentifier("make" +
|
|
80
|
-
const makeLiveLayerSymbol = safeIdentifier("make" +
|
|
96
|
+
const serviceSymbol = safeIdentifier(serviceName);
|
|
97
|
+
const grpcServiceSymbol = safeIdentifier(serviceName.replace(/Service$/, "") + "GrpcService");
|
|
98
|
+
const serviceTagSymbol = safeIdentifier(serviceName + "Tag");
|
|
99
|
+
const serviceLiveLayerSymbol = safeIdentifier(serviceNameLower + "LiveLayer");
|
|
100
|
+
const makeTagSymbol = safeIdentifier("make" + serviceName + "Tag");
|
|
101
|
+
const makeLiveLayerSymbol = safeIdentifier("make" + serviceName + "LiveLayer");
|
|
81
102
|
// Generate service ID constant with JSDoc
|
|
82
103
|
f.print("/**");
|
|
83
104
|
f.print(" * Unique identifier for the ", service.name, " gRPC service.");
|
|
@@ -99,7 +120,7 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
99
120
|
f.print(" *");
|
|
100
121
|
f.print(" * @example");
|
|
101
122
|
f.print(" * ```typescript");
|
|
102
|
-
f.print(" * import
|
|
123
|
+
f.print(" * import * as Effect from \"effect/Effect\";");
|
|
103
124
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
104
125
|
f.print(" *");
|
|
105
126
|
f.print(" * // Simple implementation with default context");
|
|
@@ -134,7 +155,8 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
134
155
|
f.print(" *");
|
|
135
156
|
f.print(" * @example");
|
|
136
157
|
f.print(" * ```typescript");
|
|
137
|
-
f.print(" * import
|
|
158
|
+
f.print(" * import * as Effect from \"effect/Effect\";");
|
|
159
|
+
f.print(" * import * as Layer from \"effect/Layer\";");
|
|
138
160
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
139
161
|
f.print(" *");
|
|
140
162
|
f.print(" * // Define your service implementation");
|
|
@@ -193,7 +215,7 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
193
215
|
f.print(" *");
|
|
194
216
|
f.print(" * @example");
|
|
195
217
|
f.print(" * ```typescript");
|
|
196
|
-
f.print(" * import
|
|
218
|
+
f.print(" * import * as Effect from \"effect/Effect\";");
|
|
197
219
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
198
220
|
f.print(" *");
|
|
199
221
|
f.print(" * // Use default context tag");
|
|
@@ -208,7 +230,7 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
208
230
|
f.print(" *");
|
|
209
231
|
f.print(" * @example");
|
|
210
232
|
f.print(" * ```typescript");
|
|
211
|
-
f.print(" * import
|
|
233
|
+
f.print(" * import * as Effect from \"effect/Effect\";");
|
|
212
234
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
213
235
|
f.print(" *");
|
|
214
236
|
f.print(" * // Create a typed context tag");
|
|
@@ -249,7 +271,7 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
249
271
|
service.methods.forEach((method) => {
|
|
250
272
|
if (method.methodKind === "unary") {
|
|
251
273
|
f.print(" ", method.localName, ": (req, ctx) =>");
|
|
252
|
-
f.print(" executor.unary(req, ctx, (req, ctx) => service.", method.localName, "(req, ctx)),");
|
|
274
|
+
f.print(" executor.unary(`${", serviceIdSymbol, "}/", method.name, "`, req, ctx, (req, ctx) => service.", method.localName, "(req, ctx)),");
|
|
253
275
|
}
|
|
254
276
|
});
|
|
255
277
|
f.print(" }));");
|
|
@@ -257,13 +279,16 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
257
279
|
f.print(" return ", importLayer, ".succeed(tag, instance);");
|
|
258
280
|
f.print("}");
|
|
259
281
|
f.print();
|
|
260
|
-
|
|
282
|
+
// Use appendSuffixIfNeeded to avoid duplicate suffixes (e.g., "HelloWorldClientClient")
|
|
283
|
+
const clientName = appendSuffixIfNeeded(service.name, "Client");
|
|
284
|
+
const clientNameLower = clientName.charAt(0).toLowerCase() + clientName.slice(1);
|
|
285
|
+
const clientSymbol = safeIdentifier(clientName);
|
|
261
286
|
const importEffectGrpcClient = f.import("EffectGrpcClient", packageJson.name);
|
|
262
|
-
const clientTagSymbol = safeIdentifier(
|
|
263
|
-
const clientLiveLayerSymbol = safeIdentifier(
|
|
287
|
+
const clientTagSymbol = safeIdentifier(clientName + "Tag");
|
|
288
|
+
const clientLiveLayerSymbol = safeIdentifier(clientNameLower + "LiveLayer");
|
|
264
289
|
const configTagSymbol = safeIdentifier(service.name + "ConfigTag");
|
|
265
|
-
const makeClientTagSymbol = safeIdentifier("make" +
|
|
266
|
-
const makeClientLiveLayerSymbol = safeIdentifier("make" +
|
|
290
|
+
const makeClientTagSymbol = safeIdentifier("make" + clientName + "Tag");
|
|
291
|
+
const makeClientLiveLayerSymbol = safeIdentifier("make" + clientName + "LiveLayer");
|
|
267
292
|
// Generate comprehensive JSDoc for client interface
|
|
268
293
|
f.print("/**");
|
|
269
294
|
f.print(" * Client interface for making gRPC calls to ", service.name, " service.");
|
|
@@ -277,7 +302,7 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
277
302
|
f.print(" *");
|
|
278
303
|
f.print(" * @example");
|
|
279
304
|
f.print(" * ```typescript");
|
|
280
|
-
f.print(" * import
|
|
305
|
+
f.print(" * import * as Effect from \"effect/Effect\";");
|
|
281
306
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
282
307
|
f.print(" *");
|
|
283
308
|
f.print(" * // Use the client in an Effect");
|
|
@@ -318,7 +343,8 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
318
343
|
f.print(" *");
|
|
319
344
|
f.print(" * @example");
|
|
320
345
|
f.print(" * ```typescript");
|
|
321
|
-
f.print(" * import
|
|
346
|
+
f.print(" * import * as Effect from \"effect/Effect\";");
|
|
347
|
+
f.print(" * import * as Layer from \"effect/Layer\";");
|
|
322
348
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
323
349
|
f.print(" * import { EffectGrpcClient } from \"@dr_nikson/effect-grpc\";");
|
|
324
350
|
f.print(" *");
|
|
@@ -337,7 +363,8 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
337
363
|
f.print(" *");
|
|
338
364
|
f.print(" * @example");
|
|
339
365
|
f.print(" * ```typescript");
|
|
340
|
-
f.print(" * import
|
|
366
|
+
f.print(" * import * as Effect from \"effect/Effect\";");
|
|
367
|
+
f.print(" * import * as Layer from \"effect/Layer\";");
|
|
341
368
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
342
369
|
f.print(" *");
|
|
343
370
|
f.print(" * // Create a typed metadata tag");
|
|
@@ -371,7 +398,8 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
371
398
|
f.print(" *");
|
|
372
399
|
f.print(" * @example");
|
|
373
400
|
f.print(" * ```typescript");
|
|
374
|
-
f.print(" * import
|
|
401
|
+
f.print(" * import * as Effect from \"effect/Effect\";");
|
|
402
|
+
f.print(" * import * as Layer from \"effect/Layer\";");
|
|
375
403
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
376
404
|
f.print(" * import { EffectGrpcClient } from \"@dr_nikson/effect-grpc\";");
|
|
377
405
|
f.print(" *");
|
|
@@ -387,7 +415,7 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
387
415
|
f.print(" *");
|
|
388
416
|
f.print(" * @example");
|
|
389
417
|
f.print(" * ```typescript");
|
|
390
|
-
f.print(" * import
|
|
418
|
+
f.print(" * import * as Effect from \"effect/Effect\";");
|
|
391
419
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
392
420
|
f.print(" *");
|
|
393
421
|
f.print(" * // Advanced usage with metadata transformation");
|
|
@@ -454,7 +482,7 @@ function generateEffectService(f, service, fileBasename) {
|
|
|
454
482
|
f.print(" *");
|
|
455
483
|
f.print(" * @example");
|
|
456
484
|
f.print(" * ```typescript");
|
|
457
|
-
f.print(" * import
|
|
485
|
+
f.print(" * import * as Layer from \"effect/Layer\";");
|
|
458
486
|
f.print(" * import * as effectProto from \"./" + fileBasename + "_effect.js\";");
|
|
459
487
|
f.print(" *");
|
|
460
488
|
f.print(" * // Simple configuration with just the base URL");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocGenPlugin.js","sourceRoot":"","sources":["../src/protocGenPlugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocGenPlugin.js","sourceRoot":"","sources":["../src/protocGenPlugin.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -123,24 +123,33 @@ export interface GrpcServerBuilder<Ctx, Services> {
|
|
|
123
123
|
build<This extends GrpcServerBuilder<Ctx, Services>>(this: [Services] extends [never] ? never : This): GrpcServer<Services>;
|
|
124
124
|
}
|
|
125
125
|
/**
|
|
126
|
-
* Creates a new GrpcServerBuilder instance with
|
|
126
|
+
* Creates a new GrpcServerBuilder instance with unknown context.
|
|
127
127
|
* This is the entry point for building a gRPC server.
|
|
128
128
|
*
|
|
129
|
+
* The builder starts with `unknown` context type to enforce type safety:
|
|
130
|
+
* - Services with `any` context can be added directly (TypeScript's `any` bypasses checks)
|
|
131
|
+
* - Services with specific context requirements (e.g., `HandlerContext`) cannot be added
|
|
132
|
+
* until `withContextTransformer` is called to provide that context
|
|
133
|
+
*
|
|
129
134
|
* @example
|
|
130
135
|
* ```typescript
|
|
136
|
+
* import { Effect } from "effect"
|
|
131
137
|
* import { EffectGrpcServer } from "@dr_nikson/effect-grpc"
|
|
132
138
|
*
|
|
133
|
-
* //
|
|
134
|
-
* const
|
|
139
|
+
* // Services with specific context require transformation first
|
|
140
|
+
* const server = EffectGrpcServer.GrpcServerBuilder()
|
|
141
|
+
* .withContextTransformer((handlerCtx, _) => Effect.succeed(handlerCtx))
|
|
142
|
+
* .withService(myHandlerContextService)
|
|
143
|
+
* .build()
|
|
135
144
|
*
|
|
136
|
-
* //
|
|
137
|
-
* const
|
|
138
|
-
* .withService(
|
|
145
|
+
* // Services with `any` context can be added directly
|
|
146
|
+
* const simpleServer = EffectGrpcServer.GrpcServerBuilder()
|
|
147
|
+
* .withService(anyContextService)
|
|
139
148
|
* .build()
|
|
140
149
|
* ```
|
|
141
150
|
*/
|
|
142
151
|
export declare const GrpcServerBuilder: {
|
|
143
|
-
(): GrpcServerBuilder<
|
|
152
|
+
(): GrpcServerBuilder<unknown, never>;
|
|
144
153
|
};
|
|
145
154
|
export type GrpcServiceTypeId = typeof internal.grpcServiceTypeId;
|
|
146
155
|
/**
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare class ConnectEsGprcServerBuilder<Ctx, Services> implements T.Grpc
|
|
|
23
23
|
readonly transformCtx: (handlerCtx: HandlerContext) => Effect.Effect<Ctx, GrpcException.GrpcException>;
|
|
24
24
|
readonly services: Record<string, T.GrpcService<any, any, Ctx>>;
|
|
25
25
|
constructor(transformCtx: (handlerCtx: HandlerContext) => Effect.Effect<Ctx, GrpcException.GrpcException>, services: Record<string, T.GrpcService<any, any, Ctx>>);
|
|
26
|
-
static get empty(): T.GrpcServerBuilder<
|
|
26
|
+
static get empty(): T.GrpcServerBuilder<unknown, never>;
|
|
27
27
|
withContextTransformer<This extends T.GrpcServerBuilder<Ctx, Services>, Ctx1>(this: This, f: (originalCtx: HandlerContext, ctx: Ctx) => Effect.Effect<Ctx1, GrpcException.GrpcException>): T.GrpcServerBuilder<Ctx1, never>;
|
|
28
28
|
withService<S extends T.GrpcService<any, any, Ctx>>(service: T.UniqueTag<S, Services>): T.GrpcServerBuilder<Ctx, T.ConcatServiceTags<S, Services>>;
|
|
29
29
|
build<This extends T.GrpcServerBuilder<Ctx, Services>>(this: This): T.GrpcServer<Services>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.internal.d.ts","sourceRoot":"","sources":["../src/server.internal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAG9C,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAGV,cAAc,EACd,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,KAAK,CAAC,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAA+C,CAAC;AAE9E;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EACH,KAAK,SAAS,UAAU,CAAC,YAAY,CAAC,EACtC,YAAY,SAAS,iBAAiB,EACtC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,IACnB,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,KAQpF,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAEtC;AAkKD;;;;GAIG;AACH,qBAAa,0BAA0B,CAAC,GAAG,EAAE,QAAQ,CACnD,YAAW,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC;aAG3B,YAAY,EAAE,CAC5B,UAAU,EAAE,cAAc,KACvB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC;aACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAHtD,YAAY,EAAE,CAC5B,UAAU,EAAE,cAAc,KACvB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC,EACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAGxE,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"server.internal.d.ts","sourceRoot":"","sources":["../src/server.internal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAG9C,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAGV,cAAc,EACd,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,KAAK,CAAC,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAA+C,CAAC;AAE9E;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EACH,KAAK,SAAS,UAAU,CAAC,YAAY,CAAC,EACtC,YAAY,SAAS,iBAAiB,EACtC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,IACnB,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,KAQpF,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAEtC;AAkKD;;;;GAIG;AACH,qBAAa,0BAA0B,CAAC,GAAG,EAAE,QAAQ,CACnD,YAAW,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC;aAG3B,YAAY,EAAE,CAC5B,UAAU,EAAE,cAAc,KACvB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC;aACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAHtD,YAAY,EAAE,CAC5B,UAAU,EAAE,cAAc,KACvB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC,EACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAGxE,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAEtD;IAED,sBAAsB,CAAC,IAAI,SAAS,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,IAAI,EAC1E,IAAI,EAAE,IAAI,EACV,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,GAC7F,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;IAQnC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAO7D,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;CAO3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.internal.js","sourceRoot":"","sources":["../src/server.internal.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.internal.js","sourceRoot":"","sources":["../src/server.internal.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -4,19 +4,28 @@ import * as GrpcException from "./grpcException.js";
|
|
|
4
4
|
import * as ProtoRuntime from "./protoRuntime.js";
|
|
5
5
|
import * as internal from "./server.internal.js";
|
|
6
6
|
/**
|
|
7
|
-
* Creates a new GrpcServerBuilder instance with
|
|
7
|
+
* Creates a new GrpcServerBuilder instance with unknown context.
|
|
8
8
|
* This is the entry point for building a gRPC server.
|
|
9
9
|
*
|
|
10
|
+
* The builder starts with `unknown` context type to enforce type safety:
|
|
11
|
+
* - Services with `any` context can be added directly (TypeScript's `any` bypasses checks)
|
|
12
|
+
* - Services with specific context requirements (e.g., `HandlerContext`) cannot be added
|
|
13
|
+
* until `withContextTransformer` is called to provide that context
|
|
14
|
+
*
|
|
10
15
|
* @example
|
|
11
16
|
* ```typescript
|
|
17
|
+
* import { Effect } from "effect"
|
|
12
18
|
* import { EffectGrpcServer } from "@dr_nikson/effect-grpc"
|
|
13
19
|
*
|
|
14
|
-
* //
|
|
15
|
-
* const
|
|
20
|
+
* // Services with specific context require transformation first
|
|
21
|
+
* const server = EffectGrpcServer.GrpcServerBuilder()
|
|
22
|
+
* .withContextTransformer((handlerCtx, _) => Effect.succeed(handlerCtx))
|
|
23
|
+
* .withService(myHandlerContextService)
|
|
24
|
+
* .build()
|
|
16
25
|
*
|
|
17
|
-
* //
|
|
18
|
-
* const
|
|
19
|
-
* .withService(
|
|
26
|
+
* // Services with `any` context can be added directly
|
|
27
|
+
* const simpleServer = EffectGrpcServer.GrpcServerBuilder()
|
|
28
|
+
* .withService(anyContextService)
|
|
20
29
|
* .build()
|
|
21
30
|
* ```
|
|
22
31
|
*/
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAK9C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AA2IjD
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAK9C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AA2IjD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAE1B,GAAG,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC;AAgDpD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,WAAW,GAOpB,QAAQ,CAAC,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dr_nikson/effect-grpc",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.3",
|
|
4
4
|
"description": "gRPC and Protobuf capabilities for the Effect ecosystem",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -45,22 +45,24 @@
|
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@bufbuild/protobuf": "2.8.0",
|
|
49
48
|
"@bufbuild/protoplugin": "2.9.0",
|
|
50
|
-
"@connectrpc/connect": "2.1.0",
|
|
51
|
-
"@
|
|
49
|
+
"@connectrpc/connect-node": "2.1.0",
|
|
50
|
+
"@opentelemetry/api": "1.9.0",
|
|
51
|
+
"@opentelemetry/core": "2.0.0"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"@bufbuild/protobuf": "^2.8.0",
|
|
55
55
|
"@connectrpc/connect": "^2.1.0",
|
|
56
|
-
"effect": "^
|
|
56
|
+
"@effect/opentelemetry": "^0.61.0",
|
|
57
|
+
"effect": "^3.19.15"
|
|
57
58
|
},
|
|
58
59
|
"devDependencies": {
|
|
59
60
|
"@bufbuild/buf": "1.57.0",
|
|
61
|
+
"@bufbuild/protobuf": "2.8.0",
|
|
60
62
|
"@bufbuild/protoc-gen-es": "2.8.0",
|
|
61
|
-
"@
|
|
62
|
-
"@effect/
|
|
63
|
-
"effect": "3.
|
|
63
|
+
"@connectrpc/connect": "2.1.0",
|
|
64
|
+
"@effect/opentelemetry": "0.61.0",
|
|
65
|
+
"effect": "3.19.15",
|
|
64
66
|
"typescript": "5.9.2",
|
|
65
67
|
"vitest": "3.2.4"
|
|
66
68
|
},
|