@procedures/client 0.52.3 → 0.54.0

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +11 -0
  3. package/dist/adapters/http/server/cors.d.ts.map +1 -1
  4. package/dist/adapters/http/server/cors.js +2 -0
  5. package/dist/adapters/http/server/cors.js.map +1 -1
  6. package/dist/adapters/port/transport.d.ts +27 -0
  7. package/dist/adapters/port/transport.d.ts.map +1 -1
  8. package/dist/adapters/port/transport.js +30 -0
  9. package/dist/adapters/port/transport.js.map +1 -1
  10. package/dist/browser.d.ts +2 -2
  11. package/dist/browser.d.ts.map +1 -1
  12. package/dist/browser.js +1 -1
  13. package/dist/browser.js.map +1 -1
  14. package/dist/client/batch-executor.d.ts +3 -0
  15. package/dist/client/batch-executor.d.ts.map +1 -1
  16. package/dist/client/batch-executor.js +3 -0
  17. package/dist/client/batch-executor.js.map +1 -1
  18. package/dist/client/client.d.ts +2 -0
  19. package/dist/client/client.d.ts.map +1 -1
  20. package/dist/client/client.js +33 -5
  21. package/dist/client/client.js.map +1 -1
  22. package/dist/client/middleware/cache.d.ts.map +1 -1
  23. package/dist/client/middleware/cache.js +2 -0
  24. package/dist/client/middleware/cache.js.map +1 -1
  25. package/dist/client/middleware/rate-limit.d.ts.map +1 -1
  26. package/dist/client/middleware/rate-limit.js +3 -2
  27. package/dist/client/middleware/rate-limit.js.map +1 -1
  28. package/dist/procedures/interceptors.d.ts +10 -1
  29. package/dist/procedures/interceptors.d.ts.map +1 -1
  30. package/dist/procedures/interceptors.js +31 -8
  31. package/dist/procedures/interceptors.js.map +1 -1
  32. package/dist/server/host-policy.d.ts +8 -0
  33. package/dist/server/host-policy.d.ts.map +1 -1
  34. package/dist/server/host-policy.js +3 -0
  35. package/dist/server/host-policy.js.map +1 -1
  36. package/dist/server/limits.d.ts +1 -0
  37. package/dist/server/limits.d.ts.map +1 -1
  38. package/dist/server/limits.js +13 -0
  39. package/dist/server/limits.js.map +1 -1
  40. package/dist/server/procedure-server.d.ts +21 -0
  41. package/dist/server/procedure-server.d.ts.map +1 -1
  42. package/dist/server/procedure-server.js +35 -3
  43. package/dist/server/procedure-server.js.map +1 -1
  44. package/dist/tracing/otel.d.ts +55 -0
  45. package/dist/tracing/otel.d.ts.map +1 -0
  46. package/dist/tracing/otel.js +114 -0
  47. package/dist/tracing/otel.js.map +1 -0
  48. package/dist/tracing/traceparent.d.ts +40 -12
  49. package/dist/tracing/traceparent.d.ts.map +1 -1
  50. package/dist/tracing/traceparent.js +49 -14
  51. package/dist/tracing/traceparent.js.map +1 -1
  52. package/package.json +17 -6
  53. package/src/adapters/http/server/cors.ts +2 -0
  54. package/src/adapters/port/transport.ts +44 -0
  55. package/src/browser.ts +2 -2
  56. package/src/client/batch-executor.ts +3 -0
  57. package/src/client/client.ts +31 -5
  58. package/src/client/middleware/cache.ts +2 -0
  59. package/src/client/middleware/rate-limit.ts +4 -2
  60. package/src/procedures/interceptors.ts +40 -9
  61. package/src/server/host-policy.ts +11 -0
  62. package/src/server/limits.ts +13 -0
  63. package/src/server/procedure-server.ts +46 -4
  64. package/src/tracing/otel.ts +122 -0
  65. package/src/tracing/traceparent.ts +56 -15
  66. package/dist/.tsbuildinfo +0 -1
@@ -115,6 +115,19 @@ export interface ProcedureServerOptions extends ServerOptions {
115
115
  * network request": no presented token matches it, not even an empty one.
116
116
  */
117
117
  token?: string | undefined;
118
+ /**
119
+ * Which callers can set the baggage of a call (roadmap item C10 of otel-ts). Each handler runs in
120
+ * the context of its caller: the remote span of the `traceparent` and `tracestate` of the
121
+ * metadata is its parent. The `baggage` of the metadata goes into the context only from a
122
+ * trusted caller. Without it, the handler runs with no baggage, so an end user cannot set the
123
+ * baggage of the services.
124
+ *
125
+ * A local request (`LOCAL_CREDENTIALS`) and a request with the token of the server are always
126
+ * trusted. This function can trust more requests, for example the requests of a principal of a
127
+ * service. It runs after the checks of the request, so it can read `request.principal`. An
128
+ * error of the function means "not trusted". The default trusts no other request.
129
+ */
130
+ trustBaggage?: ((request: ServerRequest<unknown>) => boolean) | undefined;
118
131
  /**
119
132
  * This function gives the principal of a request, or undefined to refuse it with
120
133
  * `UNAUTHORIZED`. It runs after the token check. The capability function can read
@@ -314,6 +327,12 @@ export declare class ProcedureServer extends Server implements RepositoryProvide
314
327
  private readonly token;
315
328
  private readonly principalOf;
316
329
  private readonly authenticate;
330
+ private readonly trustBaggage;
331
+ /**
332
+ * The requests whose caller can set the baggage (C10): a local request, a request with the
333
+ * token of the server, or a request with the admission of such a request.
334
+ */
335
+ private readonly trustedCallers;
317
336
  /**
318
337
  * The admissions of this server (CLI-2b): the identity of each object of admitted credentials
319
338
  * that `admission()` gave. Only this server adds an entry, so a request cannot claim one.
@@ -564,6 +583,8 @@ export declare class ProcedureServer extends Server implements RepositoryProvide
564
583
  private capabilityOf;
565
584
  /** The debug reports of the notes of the narrowing of a request (CLI-30), or undefined when `debug` is off. */
566
585
  private narrowingReports;
586
+ /** True when the caller of `request` can set the baggage of the call (C10). */
587
+ private trustsCaller;
567
588
  /** Run a procedure for a request with a signal. */
568
589
  private run;
569
590
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"procedure-server.d.ts","sourceRoot":"","sources":["../../src/server/procedure-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedure-server.d.ts","sourceRoot":"","sources":["../../src/server/procedure-server.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export { errorResponse };
10
10
  import { methodName, methodToPath, pathToMethod } from "./method.js";
11
11
  import { isLocalCredentials } from "./request-auth.js";
12
12
  import { STREAM_METADATA_KEY } from "./stream-metadata.js";
13
+ import { context as otelContext } from "@opentelemetry/api";
14
+ import { callerContext } from "../tracing/otel.js";
13
15
  import { pathToKey } from "../procedures/types.js";
14
16
  import { ProcedureRegistry, PROCEDURE_REGISTRY } from "../procedures/registry.js";
15
17
  import { createCollectionProcedures } from "../procedures/collection/procedures.js";
@@ -194,6 +196,12 @@ export class ProcedureServer extends Server {
194
196
  token;
195
197
  principalOf;
196
198
  authenticate;
199
+ trustBaggage;
200
+ /**
201
+ * The requests whose caller can set the baggage (C10): a local request, a request with the
202
+ * token of the server, or a request with the admission of such a request.
203
+ */
204
+ trustedCallers = new WeakSet();
197
205
  /**
198
206
  * The admissions of this server (CLI-2b): the identity of each object of admitted credentials
199
207
  * that `admission()` gave. Only this server adds an entry, so a request cannot claim one.
@@ -234,6 +242,7 @@ export class ProcedureServer extends Server {
234
242
  this.token = options.token;
235
243
  this.principalOf = options.principalOf;
236
244
  this.authenticate = options.authenticate;
245
+ this.trustBaggage = options.trustBaggage;
237
246
  const ambient = options.ambientCredentials ?? (this.principalOf ? "always" : this.authenticate ? "cookies" : undefined);
238
247
  this.ambientCredentials = ambient === false ? undefined : ambient;
239
248
  this.debugReport =
@@ -629,6 +638,8 @@ export class ProcedureServer extends Server {
629
638
  // again. Only this server makes such credentials, so a copy or a forgery has no entry.
630
639
  const admitted = request.credentials !== undefined ? this.admissions.get(request.credentials) : undefined;
631
640
  if (admitted) {
641
+ if (admitted.trusted)
642
+ this.trustedCallers.add(request);
632
643
  if (admitted.principal)
633
644
  request.principal = admitted.principal;
634
645
  if (admitted.narrowing) {
@@ -646,6 +657,9 @@ export class ProcedureServer extends Server {
646
657
  // A local face (this process, MCP over stdio, a message port) sets the local marker. The
647
658
  // marker key is a symbol, so a request from the network cannot carry it (CLI-1).
648
659
  const credentials = isLocalCredentials(request.credentials) ? undefined : request.credentials;
660
+ // A local caller is a part of this process: it can set the baggage (C10)
661
+ if (isLocalCredentials(request.credentials))
662
+ this.trustedCallers.add(request);
649
663
  let identity;
650
664
  if (this.principalOf && credentials !== undefined) {
651
665
  try {
@@ -662,6 +676,8 @@ export class ProcedureServer extends Server {
662
676
  if (!tokenMatches(this.token, bearer))
663
677
  return unauthorized("Unauthorized: this server requires its token");
664
678
  request.principal = { id: "token", via: "token" };
679
+ // A caller with the token of the server is a service of the operator: it can set the baggage (C10)
680
+ this.trustedCallers.add(request);
665
681
  }
666
682
  if (identity?.principal)
667
683
  request.principal = identity.principal;
@@ -758,7 +774,7 @@ export class ProcedureServer extends Server {
758
774
  return { ok: false, code: "UNAUTHORIZED", message: refusal.status.type === "error" ? refusal.status.message : "Unauthorized" };
759
775
  }
760
776
  const admitted = Object.freeze({ ...credentials });
761
- this.admissions.set(admitted, { principal: request.principal, narrowing: request.narrowing });
777
+ this.admissions.set(admitted, { principal: request.principal, narrowing: request.narrowing, trusted: this.trustedCallers.has(request) });
762
778
  return { ok: true, credentials: admitted, ...(request.principal ? { principal: request.principal } : {}) };
763
779
  }
764
780
  /**
@@ -835,6 +851,19 @@ export class ProcedureServer extends Server {
835
851
  }
836
852
  };
837
853
  }
854
+ /** True when the caller of `request` can set the baggage of the call (C10). */
855
+ trustsCaller(request) {
856
+ if (this.trustedCallers.has(request))
857
+ return true;
858
+ if (!this.trustBaggage)
859
+ return false;
860
+ try {
861
+ return this.trustBaggage(request) === true;
862
+ }
863
+ catch {
864
+ return false;
865
+ }
866
+ }
838
867
  /** Run a procedure for a request with a signal. */
839
868
  async run(procedure, request, signal) {
840
869
  // The call uses the storages that it takes until its end: the end of a stream, for a stream
@@ -852,7 +881,10 @@ export class ProcedureServer extends Server {
852
881
  const message = `The server cannot narrow the capability of the request: ${error instanceof Error ? error.message : String(error)}`;
853
882
  return errorResponse(request.id, Object.assign(new Error(message), { code: "INTERNAL_ERROR" }), request);
854
883
  }
855
- const output = await invokeProcedure(procedure, request.payload, {
884
+ // The handler runs in the context of its caller (C10): its trace always, its baggage only
885
+ // when the caller is trusted
886
+ const caller = callerContext(request.metadata, this.trustsCaller(request));
887
+ const output = await otelContext.with(caller, () => invokeProcedure(procedure, request.payload, {
856
888
  registry: this.procedureRegistry,
857
889
  metadata: request.metadata,
858
890
  signal,
@@ -874,7 +906,7 @@ export class ProcedureServer extends Server {
874
906
  ...(request.principal !== undefined ? { principal: request.principal } : {}),
875
907
  // The bus of the remote events is the bus of the procedures (EVENTS.md)
876
908
  ...(this.publisher ? { bus: this.publisher.bus } : {}),
877
- });
909
+ }));
878
910
  if (output.kind === "stream") {
879
911
  // The faces that collect a stream read this mark (roadmap R15)
880
912
  const unbounded = procedure.metadata?.stream?.unbounded === true;
@@ -1 +1 @@
1
- {"version":3,"file":"procedure-server.js","sourceRoot":"","sources":["../../src/server/procedure-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedure-server.js","sourceRoot":"","sources":["../../src/server/procedure-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { Context, Span, SpanKind } from "@opentelemetry/api";
2
+ /** The name of the tracer of the spans of this package */
3
+ export declare const TRACER_NAME = "@procedures/client";
4
+ /**
5
+ * The key of the mark `internal call`. It is the same key as the key of `withInternalCall` of
6
+ * `@mark1russell7/otel-ts/context`, because `createContextKey` gives `Symbol.for(description)`.
7
+ * The propagator of otel-ts sends the baggage only on a call with this mark. A test pins the
8
+ * description against otel-ts.
9
+ */
10
+ export declare const INTERNAL_CALL_KEY: symbol;
11
+ /** This function gives `from` with the mark `internal call`. */
12
+ export declare function asInternalCall(from: Context): Context;
13
+ /**
14
+ * This function starts a span of the API, or gives undefined when no SDK gives the span ids of
15
+ * its own. With no SDK, the API gives a span with no ids, or with the ids of its parent.
16
+ */
17
+ export declare function startApiSpan(name: string, kind: SpanKind, parent: Context): Span | undefined;
18
+ /** This function ends `span`, with the status of `error` when the call failed. */
19
+ export declare function endApiSpan(span: Span, error?: unknown): void;
20
+ /** This function writes the context `from` into `metadata`, with the registered propagator. */
21
+ export declare function injectContext(from: Context, metadata: Record<string, unknown>): void;
22
+ /**
23
+ * This function gives the parent context of an invocation of a host: the active context, with the
24
+ * remote span of the `traceparent` and `tracestate` of `metadata` when they are valid. The baggage
25
+ * of the metadata is not read: the host reads it only from a trusted caller (`@procedures/peer`).
26
+ */
27
+ export declare function remoteParent(metadata: Record<string, unknown>, from?: Context): Context;
28
+ /** The trace context that the caller of a call gave in its metadata: `traceparent` and `tracestate`, strings only */
29
+ export type CallerTrace = {
30
+ readonly traceparent?: string;
31
+ readonly tracestate?: string;
32
+ };
33
+ /** This function gives the `traceparent` and `tracestate` of `metadata`, before the client writes its own. */
34
+ export declare function callerTraceOf(metadata: Readonly<Record<string, unknown>>): CallerTrace;
35
+ /**
36
+ * This function gives the parent context of a try of a call of a client (roadmap item C19 of
37
+ * otel-ts): the active context when it has a valid span, else the remote span of `caller`, the
38
+ * trace context that the caller gave in the metadata of the call. For example, `mark` gives the
39
+ * environment variables `TRACEPARENT` and `TRACESTATE` there. Without this, the span of the call
40
+ * started a new trace, and the propagator wrote that trace over the trace context of the caller.
41
+ */
42
+ export declare function callParent(caller: CallerTrace, from?: Context): Context;
43
+ /**
44
+ * This function gives the context of the caller of an invocation of a host (roadmap item C10 of
45
+ * otel-ts): the handler runs in it, so its logs, metrics, spans and nested calls carry the ids of
46
+ * the caller.
47
+ *
48
+ * - The remote span of the `traceparent` and `tracestate` of `metadata` is always the parent.
49
+ * - The `baggage` of `metadata` replaces the baggage of `from` only when the caller is trusted.
50
+ * - When the caller is not trusted, the context has no baggage: an end user cannot set the
51
+ * baggage of the services. The baggage of `from` can come from the headers of the same request,
52
+ * for example from the HTTP instrumentation of an SDK, so the function removes it too.
53
+ */
54
+ export declare function callerContext(metadata: Record<string, unknown>, trusted: boolean, from?: Context): Context;
55
+ //# sourceMappingURL=otel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../src/tracing/otel.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAiB,MAAM,oBAAoB,CAAC;AAEjF,0DAA0D;AAC1D,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAyE,CAAC;AAE1G,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAErD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAO5F;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAQ5D;AAQD,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAEpF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,GAAE,OAA0B,GAAG,OAAO,CAOzG;AAED,qHAAqH;AACrH,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F,8GAA8G;AAC9G,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,WAAW,CAMtF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,GAAE,OAA0B,GAAG,OAAO,CAGzF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,OAA0B,GAAG,OAAO,CAO5H"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * The context of OpenTelemetry for the calls of a client and the invocations of a host (roadmap
3
+ * item C8 of otel-ts, decisions D5 and D6). This module uses `@opentelemetry/api` only. The API
4
+ * does nothing until a program registers an SDK, for example with `startNodeTelemetry()` of
5
+ * `@mark1russell7/otel-ts/node`.
6
+ *
7
+ * - With an SDK, each call gets a span of the API, and the registered propagator writes the
8
+ * context of the call into its metadata: `traceparent`, `tracestate` and `baggage`.
9
+ * - With no SDK, `startApiSpan` gives undefined, and the W3C code of `traceparent.ts` operates as
10
+ * before (D6).
11
+ */
12
+ import { context, createContextKey, isSpanContextValid, propagation, ROOT_CONTEXT, SpanStatusCode, trace } from "@opentelemetry/api";
13
+ /** The name of the tracer of the spans of this package */
14
+ export const TRACER_NAME = "@procedures/client";
15
+ /**
16
+ * The key of the mark `internal call`. It is the same key as the key of `withInternalCall` of
17
+ * `@mark1russell7/otel-ts/context`, because `createContextKey` gives `Symbol.for(description)`.
18
+ * The propagator of otel-ts sends the baggage only on a call with this mark. A test pins the
19
+ * description against otel-ts.
20
+ */
21
+ export const INTERNAL_CALL_KEY = createContextKey("@mark1russell7/otel-ts/context internal call");
22
+ /** This function gives `from` with the mark `internal call`. */
23
+ export function asInternalCall(from) {
24
+ return from.setValue(INTERNAL_CALL_KEY, true);
25
+ }
26
+ /**
27
+ * This function starts a span of the API, or gives undefined when no SDK gives the span ids of
28
+ * its own. With no SDK, the API gives a span with no ids, or with the ids of its parent.
29
+ */
30
+ export function startApiSpan(name, kind, parent) {
31
+ const parentSpan = trace.getSpanContext(parent);
32
+ const span = trace.getTracer(TRACER_NAME).startSpan(name, { kind }, parent);
33
+ const own = span.spanContext();
34
+ if (isSpanContextValid(own) && own.spanId !== parentSpan?.spanId)
35
+ return span;
36
+ span.end();
37
+ return undefined;
38
+ }
39
+ /** This function ends `span`, with the status of `error` when the call failed. */
40
+ export function endApiSpan(span, error) {
41
+ if (error !== undefined) {
42
+ span.recordException(error instanceof Error ? error : String(error));
43
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error instanceof Error ? error.message : String(error) });
44
+ const code = error?.code;
45
+ if (typeof code === "string")
46
+ span.setAttribute("procedure.error.code", code);
47
+ }
48
+ span.end();
49
+ }
50
+ const metadataSetter = {
51
+ set: (carrier, key, value) => {
52
+ carrier[key] = value;
53
+ },
54
+ };
55
+ /** This function writes the context `from` into `metadata`, with the registered propagator. */
56
+ export function injectContext(from, metadata) {
57
+ propagation.inject(from, metadata, metadataSetter);
58
+ }
59
+ /**
60
+ * This function gives the parent context of an invocation of a host: the active context, with the
61
+ * remote span of the `traceparent` and `tracestate` of `metadata` when they are valid. The baggage
62
+ * of the metadata is not read: the host reads it only from a trusted caller (`@procedures/peer`).
63
+ */
64
+ export function remoteParent(metadata, from = context.active()) {
65
+ const traceparent = metadata["traceparent"];
66
+ if (typeof traceparent !== "string")
67
+ return from;
68
+ const carrier = { traceparent };
69
+ if (typeof metadata["tracestate"] === "string")
70
+ carrier["tracestate"] = metadata["tracestate"];
71
+ const extracted = propagation.extract(from, carrier);
72
+ return isSpanContextValid(trace.getSpanContext(extracted) ?? { traceId: "", spanId: "", traceFlags: 0 }) ? extracted : from;
73
+ }
74
+ /** This function gives the `traceparent` and `tracestate` of `metadata`, before the client writes its own. */
75
+ export function callerTraceOf(metadata) {
76
+ const { traceparent, tracestate } = metadata;
77
+ return {
78
+ ...(typeof traceparent === "string" ? { traceparent } : {}),
79
+ ...(typeof tracestate === "string" ? { tracestate } : {}),
80
+ };
81
+ }
82
+ /**
83
+ * This function gives the parent context of a try of a call of a client (roadmap item C19 of
84
+ * otel-ts): the active context when it has a valid span, else the remote span of `caller`, the
85
+ * trace context that the caller gave in the metadata of the call. For example, `mark` gives the
86
+ * environment variables `TRACEPARENT` and `TRACESTATE` there. Without this, the span of the call
87
+ * started a new trace, and the propagator wrote that trace over the trace context of the caller.
88
+ */
89
+ export function callParent(caller, from = context.active()) {
90
+ const active = trace.getSpanContext(from);
91
+ return active !== undefined && isSpanContextValid(active) ? from : remoteParent(caller, from);
92
+ }
93
+ /**
94
+ * This function gives the context of the caller of an invocation of a host (roadmap item C10 of
95
+ * otel-ts): the handler runs in it, so its logs, metrics, spans and nested calls carry the ids of
96
+ * the caller.
97
+ *
98
+ * - The remote span of the `traceparent` and `tracestate` of `metadata` is always the parent.
99
+ * - The `baggage` of `metadata` replaces the baggage of `from` only when the caller is trusted.
100
+ * - When the caller is not trusted, the context has no baggage: an end user cannot set the
101
+ * baggage of the services. The baggage of `from` can come from the headers of the same request,
102
+ * for example from the HTTP instrumentation of an SDK, so the function removes it too.
103
+ */
104
+ export function callerContext(metadata, trusted, from = context.active()) {
105
+ const parent = remoteParent(metadata, from);
106
+ if (!trusted)
107
+ return propagation.getBaggage(parent) === undefined ? parent : propagation.deleteBaggage(parent);
108
+ const baggage = metadata["baggage"];
109
+ if (typeof baggage !== "string")
110
+ return parent;
111
+ const extracted = propagation.getBaggage(propagation.extract(ROOT_CONTEXT, { baggage }));
112
+ return extracted === undefined ? parent : propagation.setBaggage(parent, extracted);
113
+ }
114
+ //# sourceMappingURL=otel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../src/tracing/otel.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
1
  /**
2
- * The W3C trace context (roadmap R16): `traceparent` is `00-<trace id>-<span id>-<flags>`, with a
3
- * trace id of 32 hex digits and a span id of 16. The tracing middleware of a client sends it in
4
- * the metadata of a call (and HTTP as the `traceparent` header). The tracing interceptor of a
5
- * server continues that trace, and gives it to the nested calls, so one trace goes from the
6
- * client to the last handler. Before, the client and the server made two traces.
2
+ * The metadata key of the W3C trace context of a call.
3
+ *
4
+ * @deprecated With an SDK of OpenTelemetry, the registered propagator writes and reads the trace
5
+ * context (roadmap C8 of otel-ts). A later MINOR removes this export, when each app registers an SDK (D6).
7
6
  */
8
- /** The metadata key of the W3C trace context of a call. */
9
7
  export declare const TRACEPARENT_METADATA_KEY = "traceparent";
10
- /** A trace context: the trace, the span of the caller, and the sampled flag. */
8
+ /**
9
+ * A trace context: the trace, the span of the caller, and the sampled flag.
10
+ *
11
+ * @deprecated With an SDK of OpenTelemetry, the registered propagator writes and reads the trace
12
+ * context (roadmap C8 of otel-ts). A later MINOR removes this export, when each app registers an SDK (D6).
13
+ */
11
14
  export interface TraceContext {
12
15
  readonly traceId: string;
13
16
  readonly spanId: string;
@@ -19,14 +22,39 @@ export interface TraceContext {
19
22
  * random ids took about 10 % of the per-step time of the host.
20
23
  */
21
24
  export declare const RANDOM_POOL_BYTES = 4096;
22
- /** This function makes a new trace id: 32 random hex digits. */
25
+ /**
26
+ * This function makes a new trace id: 32 random hex digits.
27
+ *
28
+ * @deprecated With an SDK of OpenTelemetry, the registered propagator writes and reads the trace
29
+ * context (roadmap C8 of otel-ts). A later MINOR removes this export, when each app registers an SDK (D6).
30
+ */
23
31
  export declare function newTraceId(): string;
24
- /** This function makes a new span id: 16 random hex digits. */
32
+ /**
33
+ * This function makes a new span id: 16 random hex digits.
34
+ *
35
+ * @deprecated With an SDK of OpenTelemetry, the registered propagator writes and reads the trace
36
+ * context (roadmap C8 of otel-ts). A later MINOR removes this export, when each app registers an SDK (D6).
37
+ */
25
38
  export declare function newSpanId(): string;
26
- /** True when the ids have the W3C form. */
39
+ /**
40
+ * This function gives true when the ids have the W3C form.
41
+ *
42
+ * @deprecated With an SDK of OpenTelemetry, the registered propagator writes and reads the trace
43
+ * context (roadmap C8 of otel-ts). A later MINOR removes this export, when each app registers an SDK (D6).
44
+ */
27
45
  export declare function isW3cIds(traceId: string, spanId: string): boolean;
28
- /** The `traceparent` of a trace and a span. */
46
+ /**
47
+ * This function gives the `traceparent` of a trace and a span.
48
+ *
49
+ * @deprecated With an SDK of OpenTelemetry, the registered propagator writes and reads the trace
50
+ * context (roadmap C8 of otel-ts). A later MINOR removes this export, when each app registers an SDK (D6).
51
+ */
29
52
  export declare function formatTraceparent(traceId: string, spanId: string, sampled?: boolean): string;
30
- /** The trace context of a `traceparent` value, or undefined when it is not valid. */
53
+ /**
54
+ * This function gives the trace context of a `traceparent` value, or undefined when it is not valid.
55
+ *
56
+ * @deprecated With an SDK of OpenTelemetry, the registered propagator writes and reads the trace
57
+ * context (roadmap C8 of otel-ts). A later MINOR removes this export, when each app registers an SDK (D6).
58
+ */
31
59
  export declare function parseTraceparent(value: unknown): TraceContext | undefined;
32
60
  //# sourceMappingURL=traceparent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traceparent.d.ts","sourceRoot":"","sources":["../../src/tracing/traceparent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AAMtD,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AA0BtC,gEAAgE;AAChE,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,IAAI,MAAM,CAGlC;AAED,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAAO,GAAG,MAAM,CAEzF;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAOzE"}
1
+ {"version":3,"file":"traceparent.d.ts","sourceRoot":"","sources":["../../src/tracing/traceparent.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AAQtD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AA0BtC;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAGlC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAAO,GAAG,MAAM,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAOzE"}