@emseepea/server 0.24.1 → 0.25.1
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 +90 -0
- package/dist/events-cloud-tasks-transport.d.ts +1 -5
- package/dist/events-cloud-tasks-transport.d.ts.map +1 -1
- package/dist/events-cloud-tasks-transport.js +5 -24
- package/dist/events-cloud-tasks-transport.js.map +1 -1
- package/dist/events-google-sdk-guards.d.ts +8 -0
- package/dist/events-google-sdk-guards.d.ts.map +1 -0
- package/dist/events-google-sdk-guards.js +31 -0
- package/dist/events-google-sdk-guards.js.map +1 -0
- package/dist/events-google-worker-runtime.d.ts +21 -0
- package/dist/events-google-worker-runtime.d.ts.map +1 -0
- package/dist/events-google-worker-runtime.js +149 -0
- package/dist/events-google-worker-runtime.js.map +1 -0
- package/dist/events-google-worker.d.ts +4 -0
- package/dist/events-google-worker.d.ts.map +1 -0
- package/dist/events-google-worker.js +3 -0
- package/dist/events-google-worker.js.map +1 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +73 -16
- package/dist/telemetry.js.map +1 -1
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -359,6 +359,96 @@ each adapter an independent flush opportunity. Set
|
|
|
359
359
|
`observabilityFlushTimeoutMs` in `serveEmseepea` to change the 1,000 millisecond
|
|
360
360
|
default, up to 60,000 milliseconds.
|
|
361
361
|
|
|
362
|
+
### Follow a request into backend work
|
|
363
|
+
|
|
364
|
+
`openTelemetry()` creates a server span when an MCP HTTP request starts and
|
|
365
|
+
ends it when the response finishes or the caller disconnects. It keeps that
|
|
366
|
+
span active through asynchronous request work, so instrumented backend calls
|
|
367
|
+
can create child spans. Request counters and duration histograms keep their
|
|
368
|
+
existing names and safe attributes.
|
|
369
|
+
|
|
370
|
+
First configure your OpenTelemetry provider, asynchronous context manager,
|
|
371
|
+
trace-context propagator and exporter. Em See Pea does not install global
|
|
372
|
+
providers or instrument your backends. Without a tracing provider, its trace
|
|
373
|
+
API is a no-op. Without context management or propagation, traces will not
|
|
374
|
+
connect across asynchronous work or incoming requests respectively.
|
|
375
|
+
|
|
376
|
+
This Node.js example exports traces to the console. Save it as
|
|
377
|
+
`tracing-server.mjs` in a project with these dependencies:
|
|
378
|
+
|
|
379
|
+
```sh
|
|
380
|
+
npm install @emseepea/server zod @opentelemetry/api@1.9.1 @opentelemetry/core@2.10.0 @opentelemetry/context-async-hooks@2.10.0 @opentelemetry/sdk-trace@2.10.0
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
```js
|
|
384
|
+
import { context, propagation, trace } from "@opentelemetry/api";
|
|
385
|
+
import { AsyncLocalStorageContextManager } from "@opentelemetry/context-async-hooks";
|
|
386
|
+
import { W3CTraceContextPropagator } from "@opentelemetry/core";
|
|
387
|
+
import { BatchSpanProcessor, ConsoleSpanExporter, TracerProvider } from "@opentelemetry/sdk-trace";
|
|
388
|
+
import { createEmseepea, defineTool, openTelemetry, serveEmseepea } from "@emseepea/server";
|
|
389
|
+
import { z } from "zod";
|
|
390
|
+
|
|
391
|
+
context.setGlobalContextManager(new AsyncLocalStorageContextManager().enable());
|
|
392
|
+
propagation.setGlobalPropagator(new W3CTraceContextPropagator());
|
|
393
|
+
const provider = new TracerProvider({
|
|
394
|
+
spanProcessors: [new BatchSpanProcessor({ exporter: new ConsoleSpanExporter() })],
|
|
395
|
+
});
|
|
396
|
+
trace.setGlobalTracerProvider(provider);
|
|
397
|
+
const backendTracer = trace.getTracer("my-application.backend");
|
|
398
|
+
const telemetry = { ...openTelemetry(), flush: () => provider.forceFlush() };
|
|
399
|
+
|
|
400
|
+
const running = await serveEmseepea(createEmseepea({
|
|
401
|
+
name: "tracing-example",
|
|
402
|
+
version: "1.0.0",
|
|
403
|
+
observability: [telemetry],
|
|
404
|
+
tools: [defineTool({
|
|
405
|
+
name: "read-status",
|
|
406
|
+
description: "Read the example backend status.",
|
|
407
|
+
access: "public",
|
|
408
|
+
inputSchema: z.object({}),
|
|
409
|
+
outputSchema: z.object({ status: z.string() }),
|
|
410
|
+
async handler() {
|
|
411
|
+
return backendTracer.startActiveSpan("backend.read", async (span) => {
|
|
412
|
+
try {
|
|
413
|
+
// Replace this with your backend operation or its instrumentation.
|
|
414
|
+
await Promise.resolve();
|
|
415
|
+
return { data: { status: "ready" } };
|
|
416
|
+
} finally { span.end(); }
|
|
417
|
+
});
|
|
418
|
+
},
|
|
419
|
+
})],
|
|
420
|
+
}), { port: 3000 });
|
|
421
|
+
console.log(`MCP endpoint: ${running.url}`);
|
|
422
|
+
|
|
423
|
+
async function stop() {
|
|
424
|
+
await running.close();
|
|
425
|
+
await provider.shutdown();
|
|
426
|
+
context.disable();
|
|
427
|
+
propagation.disable();
|
|
428
|
+
trace.disable();
|
|
429
|
+
}
|
|
430
|
+
process.once("SIGINT", stop);
|
|
431
|
+
process.once("SIGTERM", stop);
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
Run `node tracing-server.mjs`, then call `read-status` with your MCP client.
|
|
435
|
+
The backend span and `mcp.request` span share a trace, with the backend span
|
|
436
|
+
under the request.
|
|
437
|
+
|
|
438
|
+
The adapter's flush callback gives pending spans a bounded
|
|
439
|
+
flush opportunity during server shutdown; the application then shuts down its
|
|
440
|
+
provider. Configure a meter provider and metric exporter separately to collect
|
|
441
|
+
the built-in request metrics.
|
|
442
|
+
|
|
443
|
+
Em See Pea passes only bounded `traceparent` and `tracestate` headers to the
|
|
444
|
+
configured propagator. It retains validated span context and excludes baggage.
|
|
445
|
+
Missing or invalid parent context starts a new trace. Incoming trace IDs are
|
|
446
|
+
caller-controlled correlation data, never identity or authorization.
|
|
447
|
+
|
|
448
|
+
Framework spans and events exclude request arguments, results and credentials.
|
|
449
|
+
Your backend instrumentation has its own data-capture policy; review what it
|
|
450
|
+
records before enabling it.
|
|
451
|
+
|
|
362
452
|
## Report Dependency Readiness
|
|
363
453
|
|
|
364
454
|
Pass a `readiness` callback to `createEmseepea` to check the dependencies your
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
export { GoogleEventTransportSetupError } from './events-google-sdk-guards.js';
|
|
1
2
|
import type { ExternalMcpEventInvocation } from './events-external.js';
|
|
2
3
|
import type { EventDispatchTransport } from './events-postgres-dispatch.js';
|
|
3
4
|
type Invocation = ExternalMcpEventInvocation;
|
|
4
|
-
export declare class GoogleEventTransportSetupError extends Error {
|
|
5
|
-
readonly code: 'INVALID_CONFIGURATION' | 'UNSUPPORTED_DEPENDENCY_GRAPH' | 'UNSAFE_SDK_LOGGING';
|
|
6
|
-
constructor(code: 'INVALID_CONFIGURATION' | 'UNSUPPORTED_DEPENDENCY_GRAPH' | 'UNSAFE_SDK_LOGGING');
|
|
7
|
-
}
|
|
8
5
|
export interface CloudTasksEventConfiguration {
|
|
9
6
|
readonly namespace: string;
|
|
10
7
|
readonly projectId: string;
|
|
@@ -30,5 +27,4 @@ interface Runtime {
|
|
|
30
27
|
export declare function createCloudTasksRestTransportRuntime(options: CloudTasksEventConfiguration, runtime?: Runtime): EventDispatchTransport & {
|
|
31
28
|
settle(invocation: Invocation): Promise<boolean>;
|
|
32
29
|
};
|
|
33
|
-
export {};
|
|
34
30
|
//# sourceMappingURL=events-cloud-tasks-transport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-cloud-tasks-transport.d.ts","sourceRoot":"","sources":["../src/events-cloud-tasks-transport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events-cloud-tasks-transport.d.ts","sourceRoot":"","sources":["../src/events-cloud-tasks-transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAI5E,KAAK,UAAU,GAAC,0BAA0B,CAAC;AAG3C,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,SAAS,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,SAAS,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,QAAQ,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,OAAO,EAAC,MAAM,CAAC;IACrG,QAAQ,CAAC,SAAS,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,QAAQ,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,mBAAmB,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,iBAAiB,EAAC,MAAM,CAAC;CACzH;AACD,UAAU,WAAW;IAAE,iBAAiB,CAAC,GAAG,EAAC,MAAM,GAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAAC;AACtE,UAAU,OAAO;IAChB,SAAS,IAAG,OAAO,CAAC;IAAA,WAAW,IAAG,OAAO,CAAC;IAC1C,UAAU,CAAC,SAAS,EAAC,MAAM,GAAE;QAAC,SAAS,IAAG,OAAO,CAAC,WAAW,CAAC,CAAA;KAAC,CAAC;IAChE,KAAK,EAAC,OAAO,UAAU,CAAC,KAAK,CAAC;CAC9B;AA6BD,4GAA4G;AAC5G,wBAAgB,oCAAoC,CAAC,OAAO,EAAC,4BAA4B,EAAC,OAAO,GAAC,OAAkB,GAAE,sBAAsB,GAAC;IAAC,MAAM,CAAC,UAAU,EAAC,UAAU,GAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAAC,CAmE5L"}
|
|
@@ -1,33 +1,14 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
|
-
import { createRequire } from 'node:module';
|
|
3
|
-
import { realpathSync } from 'node:fs';
|
|
4
2
|
import { TextDecoder } from 'node:util';
|
|
5
|
-
import { GoogleAuth
|
|
6
|
-
import {
|
|
3
|
+
import { GoogleAuth } from 'google-auth-library';
|
|
4
|
+
import { GoogleEventTransportSetupError, googleSdkGraphSafe, googleSdkLoggingSafe } from './events-google-sdk-guards.js';
|
|
5
|
+
export { GoogleEventTransportSetupError } from './events-google-sdk-guards.js';
|
|
7
6
|
import { createGoogleApiLifetime } from './events-google-sdk-lifetime.js';
|
|
8
7
|
const origin = 'https://cloudtasks.googleapis.com';
|
|
9
8
|
const requestLimit = 8192, responseLimit = 16384, bodyLimit = 1024;
|
|
10
|
-
export class GoogleEventTransportSetupError extends Error {
|
|
11
|
-
code;
|
|
12
|
-
constructor(code) {
|
|
13
|
-
super(code);
|
|
14
|
-
this.code = code;
|
|
15
|
-
this.name = 'GoogleEventTransportSetupError';
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
9
|
const production = {
|
|
19
|
-
graphSafe
|
|
20
|
-
|
|
21
|
-
const here = createRequire(import.meta.url), auth = createRequire(here.resolve('google-auth-library'));
|
|
22
|
-
const metadata = createRequire(auth.resolve('gcp-metadata'));
|
|
23
|
-
const expected = realpathSync(here.resolve('google-logging-utils'));
|
|
24
|
-
return expected === realpathSync(auth.resolve('google-logging-utils')) && expected === realpathSync(metadata.resolve('google-logging-utils'));
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
loggingSafe: () => !process.env.DEBUG_AUTH && AuthClient.log === placeholder && log('auth') === placeholder && log('gcp-metadata') === placeholder,
|
|
10
|
+
graphSafe: googleSdkGraphSafe,
|
|
11
|
+
loggingSafe: googleSdkLoggingSafe,
|
|
31
12
|
createAuth: projectId => new GoogleAuth({ projectId, universeDomain: 'googleapis.com', scopes: ['https://www.googleapis.com/auth/cloud-platform'] }),
|
|
32
13
|
fetch: (input, options) => globalThis.fetch(input, options),
|
|
33
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-cloud-tasks-transport.js","sourceRoot":"","sources":["../src/events-cloud-tasks-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events-cloud-tasks-transport.js","sourceRoot":"","sources":["../src/events-cloud-tasks-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class GoogleEventTransportSetupError extends Error {
|
|
2
|
+
readonly code: 'INVALID_CONFIGURATION' | 'UNSUPPORTED_DEPENDENCY_GRAPH' | 'UNSAFE_SDK_LOGGING';
|
|
3
|
+
constructor(code: 'INVALID_CONFIGURATION' | 'UNSUPPORTED_DEPENDENCY_GRAPH' | 'UNSAFE_SDK_LOGGING');
|
|
4
|
+
}
|
|
5
|
+
export declare function googleSdkGraphSafe(): boolean;
|
|
6
|
+
export declare const googleSdkLoggingSafe: () => boolean;
|
|
7
|
+
export declare function assertGoogleSdkSafe(): void;
|
|
8
|
+
//# sourceMappingURL=events-google-sdk-guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-google-sdk-guards.d.ts","sourceRoot":"","sources":["../src/events-google-sdk-guards.ts"],"names":[],"mappings":"AAKA,qBAAa,8BAA+B,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAC,uBAAuB,GAAC,8BAA8B,GAAC,oBAAoB;gBAAhF,IAAI,EAAC,uBAAuB,GAAC,8BAA8B,GAAC,oBAAoB;CACrG;AACD,wBAAgB,kBAAkB,IAAG,OAAO,CAO3C;AACD,eAAO,MAAM,oBAAoB,eAAwH,CAAC;AAC1J,wBAAgB,mBAAmB,IAAG,IAAI,CAGzC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { realpathSync } from 'node:fs';
|
|
3
|
+
import { AuthClient } from 'google-auth-library';
|
|
4
|
+
import { log, placeholder } from 'google-logging-utils';
|
|
5
|
+
export class GoogleEventTransportSetupError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
constructor(code) {
|
|
8
|
+
super(code);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.name = 'GoogleEventTransportSetupError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export function googleSdkGraphSafe() {
|
|
14
|
+
try {
|
|
15
|
+
const here = createRequire(import.meta.url), auth = createRequire(here.resolve('google-auth-library'));
|
|
16
|
+
const metadata = createRequire(auth.resolve('gcp-metadata'));
|
|
17
|
+
const expected = realpathSync(here.resolve('google-logging-utils'));
|
|
18
|
+
return expected === realpathSync(auth.resolve('google-logging-utils')) && expected === realpathSync(metadata.resolve('google-logging-utils'));
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export const googleSdkLoggingSafe = () => !process.env.DEBUG_AUTH && AuthClient.log === placeholder && log('auth') === placeholder && log('gcp-metadata') === placeholder;
|
|
25
|
+
export function assertGoogleSdkSafe() {
|
|
26
|
+
if (!googleSdkGraphSafe())
|
|
27
|
+
throw new GoogleEventTransportSetupError('UNSUPPORTED_DEPENDENCY_GRAPH');
|
|
28
|
+
if (!googleSdkLoggingSafe())
|
|
29
|
+
throw new GoogleEventTransportSetupError('UNSAFE_SDK_LOGGING');
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=events-google-sdk-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-google-sdk-guards.js","sourceRoot":"","sources":["../src/events-google-sdk-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAC,GAAG,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACnC;IAArB,YAAqB,IAAgF;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAA9F,SAAI,GAAJ,IAAI,CAA4E;QAAc,IAAI,CAAC,IAAI,GAAC,gCAAgC,CAAC;IAAA,CAAC;CAC/J;AACD,MAAM,UAAU,kBAAkB;IACjC,IAAI,CAAC;QACJ,MAAM,IAAI,GAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,IAAI,GAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClE,OAAO,QAAQ,KAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAE,QAAQ,KAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACzI,CAAC;IAAA,MAAK,CAAC;QAAA,OAAO,KAAK,CAAC;IAAA,CAAC;AACtB,CAAC;AACD,MAAM,CAAC,MAAM,oBAAoB,GAAC,GAAE,EAAE,CAAA,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAE,UAAU,CAAC,GAAG,KAAG,WAAW,IAAE,GAAG,CAAC,MAAM,CAAC,KAAG,WAAW,IAAE,GAAG,CAAC,cAAc,CAAC,KAAG,WAAW,CAAC;AAC1J,MAAM,UAAU,mBAAmB;IAClC,IAAG,CAAC,kBAAkB,EAAE;QAAC,MAAM,IAAI,8BAA8B,CAAC,8BAA8B,CAAC,CAAC;IAClG,IAAG,CAAC,oBAAoB,EAAE;QAAC,MAAM,IAAI,8BAA8B,CAAC,oBAAoB,CAAC,CAAC;AAC3F,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FastifyReply, FastifyRequest } from 'fastify';
|
|
2
|
+
import { OAuth2Client } from 'google-auth-library';
|
|
3
|
+
import { type PostgresEventDelivery, type PostgresEventDeliveryOptions } from './events-postgres-delivery.js';
|
|
4
|
+
import type { ExternalMcpEventInvocation } from './events-external.js';
|
|
5
|
+
interface WorkerIdentity {
|
|
6
|
+
readonly audience: string;
|
|
7
|
+
readonly serviceAccountEmail: string;
|
|
8
|
+
readonly serviceAccountUid: string;
|
|
9
|
+
}
|
|
10
|
+
export interface GoogleEventDeliveryWorkerOptions extends PostgresEventDeliveryOptions, WorkerIdentity {
|
|
11
|
+
}
|
|
12
|
+
export interface GoogleEventDeliveryWorker {
|
|
13
|
+
handle(request: FastifyRequest, reply: FastifyReply): Promise<void>;
|
|
14
|
+
settle(invocation: ExternalMcpEventInvocation): Promise<boolean>;
|
|
15
|
+
}
|
|
16
|
+
/** Explicitly register handle on a worker route, never on the public MCP route. */
|
|
17
|
+
export declare function createGoogleEventDeliveryWorker(options: GoogleEventDeliveryWorkerOptions): GoogleEventDeliveryWorker;
|
|
18
|
+
/** Private test seam. The public factory always uses Google verification and checked delivery. */
|
|
19
|
+
export declare function createGoogleEventDeliveryWorkerRuntime(options: WorkerIdentity, delivery: PostgresEventDelivery, auth: OAuth2Client): GoogleEventDeliveryWorker;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=events-google-worker-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-google-worker-runtime.d.ts","sourceRoot":"","sources":["../src/events-google-worker-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACzD,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAA6B,KAAK,qBAAqB,EAAC,KAAK,4BAA4B,EAAC,MAAM,+BAA+B,CAAC;AACvI,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;AAErE,UAAU,cAAc;IACvB,QAAQ,CAAC,QAAQ,EAAC,MAAM,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAC,MAAM,CAAC;CAClC;AACD,MAAM,WAAW,gCAAiC,SAAQ,4BAA4B,EAAC,cAAc;CAAG;AACxG,MAAM,WAAW,yBAAyB;IACzC,MAAM,CAAC,OAAO,EAAC,cAAc,EAAC,KAAK,EAAC,YAAY,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,UAAU,EAAC,0BAA0B,GAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/D;AAuBD,mFAAmF;AACnF,wBAAgB,+BAA+B,CAAC,OAAO,EAAC,gCAAgC,GAAE,yBAAyB,CAIlH;AACD,kGAAkG;AAClG,wBAAgB,sCAAsC,CAAC,OAAO,EAAC,cAAc,EAAC,QAAQ,EAAC,qBAAqB,EAAC,IAAI,EAAC,YAAY,GAAE,yBAAyB,CAgDxJ"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { performance } from 'node:perf_hooks';
|
|
2
|
+
import { OAuth2Client } from 'google-auth-library';
|
|
3
|
+
import { assertGoogleSdkSafe, GoogleEventTransportSetupError } from './events-google-sdk-guards.js';
|
|
4
|
+
import { createGoogleApiLifetime } from './events-google-sdk-lifetime.js';
|
|
5
|
+
import { createPostgresEventDelivery } from './events-postgres-delivery.js';
|
|
6
|
+
function hasControl(value) {
|
|
7
|
+
for (const character of value) {
|
|
8
|
+
const code = character.codePointAt(0);
|
|
9
|
+
if (code <= 31 || code === 127)
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
function identity(options) {
|
|
15
|
+
try {
|
|
16
|
+
const url = new URL(options.audience);
|
|
17
|
+
if (typeof options.audience !== 'string' || Buffer.byteLength(options.audience) > 2048 || hasControl(options.audience) ||
|
|
18
|
+
url.protocol !== 'https:' || url.username || url.password || url.search || url.hash || url.port && url.port !== '443' ||
|
|
19
|
+
typeof options.serviceAccountEmail !== 'string' || typeof options.serviceAccountUid !== 'string' ||
|
|
20
|
+
!/^[-a-z0-9.]{1,64}@[-a-z0-9.]{1,128}\.iam\.gserviceaccount\.com$/.test(options.serviceAccountEmail) ||
|
|
21
|
+
!/^[0-9]{1,40}$/.test(options.serviceAccountUid))
|
|
22
|
+
throw new Error();
|
|
23
|
+
return Object.freeze({ audience: options.audience, serviceAccountEmail: options.serviceAccountEmail, serviceAccountUid: options.serviceAccountUid });
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
throw new GoogleEventTransportSetupError('INVALID_CONFIGURATION');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function deliveryId(body) {
|
|
30
|
+
if (!body || typeof body !== 'object' || Object.getPrototypeOf(body) !== Object.prototype || Reflect.ownKeys(body).length !== 1)
|
|
31
|
+
return null;
|
|
32
|
+
const field = Object.getOwnPropertyDescriptor(body, 'deliveryId');
|
|
33
|
+
const value = field && 'value' in field ? field.value : undefined;
|
|
34
|
+
return typeof value === 'string' && value.length > 0 && Buffer.byteLength(value) <= 240 &&
|
|
35
|
+
!hasControl(value) && !/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/u.test(value) ? value : null;
|
|
36
|
+
}
|
|
37
|
+
/** Explicitly register handle on a worker route, never on the public MCP route. */
|
|
38
|
+
export function createGoogleEventDeliveryWorker(options) {
|
|
39
|
+
const configured = identity(options);
|
|
40
|
+
assertGoogleSdkSafe();
|
|
41
|
+
const delivery = createPostgresEventDelivery({ namespace: options.namespace, pool: options.pool, definitions: options.definitions, authorize: options.authorize });
|
|
42
|
+
return createGoogleEventDeliveryWorkerRuntime(configured, delivery, new OAuth2Client());
|
|
43
|
+
}
|
|
44
|
+
/** Private test seam. The public factory always uses Google verification and checked delivery. */
|
|
45
|
+
export function createGoogleEventDeliveryWorkerRuntime(options, delivery, auth) {
|
|
46
|
+
const configured = identity(options), authentication = createGoogleApiLifetime();
|
|
47
|
+
assertGoogleSdkSafe();
|
|
48
|
+
const pending = new Set(), controllers = new Set();
|
|
49
|
+
let closing = false;
|
|
50
|
+
async function handle(request, reply) {
|
|
51
|
+
if (closing) {
|
|
52
|
+
reply.code(503).send();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const controller = new AbortController(), end = performance.now() + 25000, deadlineMs = Date.now() + 25000;
|
|
56
|
+
const abort = () => controller.abort(), closed = () => { if (!reply.raw.writableFinished)
|
|
57
|
+
abort(); };
|
|
58
|
+
const timer = setTimeout(abort, 25000);
|
|
59
|
+
controllers.add(controller);
|
|
60
|
+
request.raw.once('aborted', abort);
|
|
61
|
+
reply.raw.once('close', closed);
|
|
62
|
+
if (request.raw.aborted || reply.raw.destroyed)
|
|
63
|
+
abort();
|
|
64
|
+
try {
|
|
65
|
+
const id = deliveryId(request.body);
|
|
66
|
+
if (id === null) {
|
|
67
|
+
reply.code(400).send();
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const header = request.headers.authorization;
|
|
71
|
+
const authHeaders = request.raw.rawHeaders.filter((_, index) => index % 2 === 0 && request.raw.rawHeaders[index].toLowerCase() === 'authorization');
|
|
72
|
+
if (authHeaders.length !== 1 || typeof header !== 'string' || header.length > 8192 || !/^Bearer [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(header)) {
|
|
73
|
+
reply.code(401).send();
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const context = { signal: controller.signal, deadlineMs };
|
|
77
|
+
const allowed = await authentication.invoke(context, null, async (_signal, check) => {
|
|
78
|
+
assertGoogleSdkSafe();
|
|
79
|
+
check();
|
|
80
|
+
let ticket;
|
|
81
|
+
try {
|
|
82
|
+
ticket = await auth.verifyIdToken({ idToken: header.slice(7), audience: configured.audience });
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
check();
|
|
88
|
+
assertGoogleSdkSafe();
|
|
89
|
+
const claims = ticket.getPayload();
|
|
90
|
+
return !!claims && (claims.iss === 'https://accounts.google.com' || claims.iss === 'accounts.google.com') &&
|
|
91
|
+
claims.aud === configured.audience && claims.sub === configured.serviceAccountUid && claims.email === configured.serviceAccountEmail &&
|
|
92
|
+
claims.email_verified === true && Number.isFinite(claims.exp) && claims.exp * 1000 > Date.now();
|
|
93
|
+
});
|
|
94
|
+
if (closing || controller.signal.aborted || performance.now() >= end || allowed === null) {
|
|
95
|
+
reply.code(503).send();
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (!allowed) {
|
|
99
|
+
reply.code(401).send();
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const result = await delivery.deliver(id, context);
|
|
103
|
+
reply.code(result.outcome === 'terminal' ? 204 : 503).send();
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
if (!reply.sent)
|
|
107
|
+
reply.code(503).send();
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
clearTimeout(timer);
|
|
111
|
+
controllers.delete(controller);
|
|
112
|
+
request.raw.removeListener('aborted', abort);
|
|
113
|
+
reply.raw.removeListener('close', closed);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return Object.freeze({
|
|
117
|
+
handle(request, reply) {
|
|
118
|
+
const operation = handle(request, reply);
|
|
119
|
+
pending.add(operation);
|
|
120
|
+
void operation.then(() => pending.delete(operation), () => pending.delete(operation));
|
|
121
|
+
return operation;
|
|
122
|
+
},
|
|
123
|
+
async settle(invocation) {
|
|
124
|
+
closing = true;
|
|
125
|
+
for (const controller of controllers)
|
|
126
|
+
controller.abort();
|
|
127
|
+
if (!invocation?.signal || !Number.isFinite(invocation.deadlineMs) || invocation.signal.aborted || invocation.deadlineMs <= Date.now())
|
|
128
|
+
return false;
|
|
129
|
+
const complete = Promise.all([authentication.settle(invocation), delivery.settle(invocation), Promise.allSettled(pending).then(() => true)]).then(results => results.every(Boolean), () => false);
|
|
130
|
+
let timer, stop;
|
|
131
|
+
try {
|
|
132
|
+
return await Promise.race([complete, new Promise(resolve => {
|
|
133
|
+
timer = setTimeout(() => resolve(false), Math.min(2147483647, Math.max(1, invocation.deadlineMs - Date.now())));
|
|
134
|
+
stop = () => resolve(false);
|
|
135
|
+
invocation.signal.addEventListener('abort', stop, { once: true });
|
|
136
|
+
if (invocation.signal.aborted)
|
|
137
|
+
stop();
|
|
138
|
+
})]);
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
if (timer)
|
|
142
|
+
clearTimeout(timer);
|
|
143
|
+
if (stop)
|
|
144
|
+
invocation.signal.removeEventListener('abort', stop);
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=events-google-worker-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-google-worker-runtime.js","sourceRoot":"","sources":["../src/events-google-worker-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAC,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAC,2BAA2B,EAA8D,MAAM,+BAA+B,CAAC;AAavI,SAAS,UAAU,CAAC,KAAY;IAC/B,KAAI,MAAM,SAAS,IAAI,KAAK,EAAC,CAAC;QAAA,MAAM,IAAI,GAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QAAA,IAAG,IAAI,IAAE,EAAE,IAAE,IAAI,KAAG,GAAG;YAAC,OAAO,IAAI,CAAC;IAAA,CAAC;IACxG,OAAO,KAAK,CAAC;AACd,CAAC;AACD,SAAS,QAAQ,CAAC,OAAsB;IACvC,IAAI,CAAC;QACJ,MAAM,GAAG,GAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAG,OAAO,OAAO,CAAC,QAAQ,KAAG,QAAQ,IAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAC,IAAI,IAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5G,GAAG,CAAC,QAAQ,KAAG,QAAQ,IAAE,GAAG,CAAC,QAAQ,IAAE,GAAG,CAAC,QAAQ,IAAE,GAAG,CAAC,MAAM,IAAE,GAAG,CAAC,IAAI,IAAE,GAAG,CAAC,IAAI,IAAE,GAAG,CAAC,IAAI,KAAG,KAAK;YACrG,OAAO,OAAO,CAAC,mBAAmB,KAAG,QAAQ,IAAE,OAAO,OAAO,CAAC,iBAAiB,KAAG,QAAQ;YAC1F,CAAC,iEAAiE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACpG,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,OAAO,CAAC,QAAQ,EAAC,mBAAmB,EAAC,OAAO,CAAC,mBAAmB,EAAC,iBAAiB,EAAC,OAAO,CAAC,iBAAiB,EAAC,CAAC,CAAC;IAC/I,CAAC;IAAA,MAAK,CAAC;QAAA,MAAM,IAAI,8BAA8B,CAAC,uBAAuB,CAAC,CAAC;IAAA,CAAC;AAC3E,CAAC;AACD,SAAS,UAAU,CAAC,IAAY;IAC/B,IAAG,CAAC,IAAI,IAAE,OAAO,IAAI,KAAG,QAAQ,IAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAG,MAAM,CAAC,SAAS,IAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAG,CAAC;QAAC,OAAO,IAAI,CAAC;IAC/H,MAAM,KAAK,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAC,KAAK,IAAE,OAAO,IAAI,KAAK,CAAA,CAAC,CAAA,KAAK,CAAC,KAAK,CAAA,CAAC,CAAA,SAAS,CAAC;IAC1D,OAAO,OAAO,KAAK,KAAG,QAAQ,IAAE,KAAK,CAAC,MAAM,GAAC,CAAC,IAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAE,GAAG;QAC5E,CAAC,UAAU,CAAC,KAAK,CAAC,IAAE,CAAC,yEAAyE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAA,KAAK,CAAA,CAAC,CAAA,IAAI,CAAC;AACxH,CAAC;AACD,mFAAmF;AACnF,MAAM,UAAU,+BAA+B,CAAC,OAAwC;IACvF,MAAM,UAAU,GAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAAA,mBAAmB,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAC,2BAA2B,CAAC,EAAC,SAAS,EAAC,OAAO,CAAC,SAAS,EAAC,IAAI,EAAC,OAAO,CAAC,IAAI,EAAC,WAAW,EAAC,OAAO,CAAC,WAAW,EAAC,SAAS,EAAC,OAAO,CAAC,SAAS,EAAC,CAAC,CAAC;IACxJ,OAAO,sCAAsC,CAAC,UAAU,EAAC,QAAQ,EAAC,IAAI,YAAY,EAAE,CAAC,CAAC;AACvF,CAAC;AACD,kGAAkG;AAClG,MAAM,UAAU,sCAAsC,CAAC,OAAsB,EAAC,QAA8B,EAAC,IAAiB;IAC7H,MAAM,UAAU,GAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,cAAc,GAAC,uBAAuB,EAAE,CAAC;IAAA,mBAAmB,EAAE,CAAC;IAClG,MAAM,OAAO,GAAC,IAAI,GAAG,EAAiB,EAAC,WAAW,GAAC,IAAI,GAAG,EAAmB,CAAC;IAAA,IAAI,OAAO,GAAC,KAAK,CAAC;IAChG,KAAK,UAAU,MAAM,CAAC,OAAsB,EAAC,KAAkB;QAC9D,IAAG,OAAO,EAAC,CAAC;YAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QAC3C,MAAM,UAAU,GAAC,IAAI,eAAe,EAAE,EAAC,GAAG,GAAC,WAAW,CAAC,GAAG,EAAE,GAAC,KAAK,EAAC,UAAU,GAAC,IAAI,CAAC,GAAG,EAAE,GAAC,KAAK,CAAC;QAC/F,MAAM,KAAK,GAAC,GAAE,EAAE,CAAA,UAAU,CAAC,KAAK,EAAE,EAAC,MAAM,GAAC,GAAE,EAAE,GAAC,IAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB;YAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC;QACxF,MAAM,KAAK,GAAC,UAAU,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC;QAAA,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;QAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAC,MAAM,CAAC,CAAC;QACjE,IAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAE,KAAK,CAAC,GAAG,CAAC,SAAS;YAAC,KAAK,EAAE,CAAC;QACpD,IAAI,CAAC;YACJ,MAAM,EAAE,GAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAAA,IAAG,EAAE,KAAG,IAAI,EAAC,CAAC;gBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAAA,OAAO;YAAA,CAAC;YAC/E,MAAM,MAAM,GAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3C,MAAM,WAAW,GAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,CAAA,KAAK,GAAC,CAAC,KAAG,CAAC,IAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAE,CAAC,WAAW,EAAE,KAAG,eAAe,CAAC,CAAC;YACxI,IAAG,WAAW,CAAC,MAAM,KAAG,CAAC,IAAE,OAAO,MAAM,KAAG,QAAQ,IAAE,MAAM,CAAC,MAAM,GAAC,IAAI,IAAE,CAAC,yDAAyD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;gBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAAA,OAAO;YAAA,CAAC;YACjL,MAAM,OAAO,GAAC,EAAC,MAAM,EAAC,UAAU,CAAC,MAAM,EAAC,UAAU,EAAC,CAAC;YACpD,MAAM,OAAO,GAAC,MAAM,cAAc,CAAC,MAAM,CAAe,OAAO,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,EAAE;gBAC1F,mBAAmB,EAAE,CAAC;gBAAA,KAAK,EAAE,CAAC;gBAC9B,IAAI,MAAM,CAAC;gBACX,IAAG,CAAC;oBAAA,MAAM,GAAC,MAAM,IAAI,CAAC,aAAa,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAC,UAAU,CAAC,QAAQ,EAAC,CAAC,CAAC;gBAAA,CAAC;gBAAA,MAAK,CAAC;oBAAA,OAAO,KAAK,CAAC;gBAAA,CAAC;gBACjH,KAAK,EAAE,CAAC;gBAAA,mBAAmB,EAAE,CAAC;gBAAA,MAAM,MAAM,GAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC/D,OAAO,CAAC,CAAC,MAAM,IAAE,CAAC,MAAM,CAAC,GAAG,KAAG,6BAA6B,IAAE,MAAM,CAAC,GAAG,KAAG,qBAAqB,CAAC;oBAChG,MAAM,CAAC,GAAG,KAAG,UAAU,CAAC,QAAQ,IAAE,MAAM,CAAC,GAAG,KAAG,UAAU,CAAC,iBAAiB,IAAE,MAAM,CAAC,KAAK,KAAG,UAAU,CAAC,mBAAmB;oBAC1H,MAAM,CAAC,cAAc,KAAG,IAAI,IAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAE,MAAM,CAAC,GAAG,GAAC,IAAI,GAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACxF,CAAC,CAAC,CAAC;YACH,IAAG,OAAO,IAAE,UAAU,CAAC,MAAM,CAAC,OAAO,IAAE,WAAW,CAAC,GAAG,EAAE,IAAE,GAAG,IAAE,OAAO,KAAG,IAAI,EAAC,CAAC;gBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAAA,OAAO;YAAA,CAAC;YAC9G,IAAG,CAAC,OAAO,EAAC,CAAC;gBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAAA,OAAO;YAAA,CAAC;YAC5C,MAAM,MAAM,GAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAG,UAAU,CAAA,CAAC,CAAA,GAAG,CAAA,CAAC,CAAA,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,CAAC;QAAA,MAAK,CAAC;YAAA,IAAG,CAAC,KAAK,CAAC,IAAI;gBAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAAA,CAAC;gBACvC,CAAC;YAAA,YAAY,CAAC,KAAK,CAAC,CAAC;YAAA,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAAA,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;YAAA,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAC,MAAM,CAAC,CAAC;QAAA,CAAC;IAClJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,MAAM,CAAC,OAAsB,EAAC,KAAkB;YAC/C,MAAM,SAAS,GAAC,MAAM,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;YAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7D,KAAK,SAAS,CAAC,IAAI,CAAC,GAAE,EAAE,CAAA,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC,GAAE,EAAE,CAAA,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAAA,OAAO,SAAS,CAAC;QACnG,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,UAAqC;YACjD,OAAO,GAAC,IAAI,CAAC;YAAA,KAAI,MAAM,UAAU,IAAI,WAAW;gBAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACpE,IAAG,CAAC,UAAU,EAAE,MAAM,IAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAE,UAAU,CAAC,MAAM,CAAC,OAAO,IAAE,UAAU,CAAC,UAAU,IAAE,IAAI,CAAC,GAAG,EAAE;gBAAC,OAAO,KAAK,CAAC;YAC3I,MAAM,QAAQ,GAAC,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,EAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAE,EAAE,CAAA,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA,EAAE,CAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAC,GAAE,EAAE,CAAA,KAAK,CAAC,CAAC;YACvL,IAAI,KAA6C,EAAC,IAAyB,CAAC;YAC5E,IAAG,CAAC;gBAAA,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAC,IAAI,OAAO,CAAQ,OAAO,CAAA,EAAE;wBACnE,KAAK,GAAC,UAAU,CAAC,GAAE,EAAE,CAAA,OAAO,CAAC,KAAK,CAAC,EAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,UAAU,CAAC,UAAU,GAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;wBACvG,IAAI,GAAC,GAAE,EAAE,CAAA,OAAO,CAAC,KAAK,CAAC,CAAC;wBAAA,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAC,IAAI,EAAC,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,CAAC;wBAAA,IAAG,UAAU,CAAC,MAAM,CAAC,OAAO;4BAAC,IAAI,EAAE,CAAC;oBAC1H,CAAC,CAAC,CAAC,CAAC,CAAC;YAAA,CAAC;oBAAO,CAAC;gBAAA,IAAG,KAAK;oBAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAA,IAAG,IAAI;oBAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAC,IAAI,CAAC,CAAC;YAAA,CAAC;QACzG,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { createGoogleEventDeliveryWorker } from './events-google-worker-runtime.js';
|
|
2
|
+
export type { GoogleEventDeliveryWorker, GoogleEventDeliveryWorkerOptions } from './events-google-worker-runtime.js';
|
|
3
|
+
export { GoogleEventTransportSetupError } from './events-google-sdk-guards.js';
|
|
4
|
+
//# sourceMappingURL=events-google-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-google-worker.d.ts","sourceRoot":"","sources":["../src/events-google-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAC,MAAM,mCAAmC,CAAC;AAClF,YAAY,EAAC,yBAAyB,EAAC,gCAAgC,EAAC,MAAM,mCAAmC,CAAC;AAClH,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-google-worker.js","sourceRoot":"","sources":["../src/events-google-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAC,MAAM,mCAAmC,CAAC;AAElF,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC"}
|
package/dist/telemetry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAS/D,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,GAClE,0BAA0B,GAAG,gBAAgB,GAAG,cAAc,GAAG,aAAa,GAC9E,qBAAqB,GAAG,sBAAsB,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAChF,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,YAAY,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAEnG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,OAAO,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;IAClE;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,CAAC;AAI7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,cAAc,CAAC;IAC9C,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;CACxD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzD,oBAAoB,CAEtB;AAkBD,wBAAgB,aAAa,IAAI,oBAAoB,CAepD;AAoBD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,SAAS,oBAAoB,EAAE,EACzC,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,EACrD,qBAAqB,EAAE,SAAS,oBAAoB,EAAE,GAAG,SAAS,EAClE,MAAM,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACpC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAoFtC;AAWD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,GAAG,SAAS,CAE1F"}
|
package/dist/telemetry.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { metrics, SpanKind, trace } from "@opentelemetry/api";
|
|
1
|
+
import { context, isSpanContextValid, metrics, propagation, ROOT_CONTEXT, SpanKind, trace } from "@opentelemetry/api";
|
|
2
2
|
const methods = new Set([
|
|
3
3
|
"server/discover", "tools/list", "tools/call", "resources/list",
|
|
4
4
|
"resources/templates/list", "resources/read", "prompts/list", "prompts/get",
|
|
@@ -9,33 +9,62 @@ const requestStates = new WeakMap();
|
|
|
9
9
|
export function structuredLogging(id, write) {
|
|
10
10
|
return Object.freeze({ id, emit: write });
|
|
11
11
|
}
|
|
12
|
+
// Normalization preserves emit identity while copying the public adapter.
|
|
13
|
+
// A public adapter ID must never grant access to the request lifecycle.
|
|
14
|
+
const requestTracers = new WeakMap();
|
|
15
|
+
function eventAttributes(event) {
|
|
16
|
+
return {
|
|
17
|
+
"mcp.method": event.method,
|
|
18
|
+
...(event.capability ? { "mcp.capability.name": event.capability } : {}),
|
|
19
|
+
"http.request.method": event.httpMethod,
|
|
20
|
+
"http.response.status_code": event.statusCode,
|
|
21
|
+
"emseepea.protocol.outcome": event.protocolOutcome,
|
|
22
|
+
"emseepea.transport.outcome": event.outcome,
|
|
23
|
+
...(event.callerClass ? { "emseepea.caller.class": event.callerClass } : {}),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
12
26
|
export function openTelemetry() {
|
|
13
27
|
const tracer = trace.getTracer("@emseepea/server");
|
|
14
28
|
const meter = metrics.getMeter("@emseepea/server");
|
|
15
29
|
const calls = meter.createCounter("emseepea.http.requests", { unit: "{request}" });
|
|
16
30
|
const duration = meter.createHistogram("emseepea.http.response.duration", { unit: "s" });
|
|
17
|
-
|
|
31
|
+
const adapter = Object.freeze({
|
|
18
32
|
id: "opentelemetry",
|
|
19
33
|
emit(event) {
|
|
20
|
-
const attributes =
|
|
21
|
-
"mcp.method": event.method,
|
|
22
|
-
...(event.capability ? { "mcp.capability.name": event.capability } : {}),
|
|
23
|
-
"http.request.method": event.httpMethod,
|
|
24
|
-
"http.response.status_code": event.statusCode,
|
|
25
|
-
"emseepea.protocol.outcome": event.protocolOutcome,
|
|
26
|
-
"emseepea.transport.outcome": event.outcome,
|
|
27
|
-
...(event.callerClass ? { "emseepea.caller.class": event.callerClass } : {}),
|
|
28
|
-
};
|
|
29
|
-
const span = tracer.startSpan("mcp.request", { kind: SpanKind.SERVER });
|
|
30
|
-
span.setAttributes(attributes);
|
|
34
|
+
const attributes = eventAttributes(event);
|
|
31
35
|
calls.add(1, attributes);
|
|
32
36
|
duration.record(event.durationMs / 1_000, attributes);
|
|
33
|
-
span.end();
|
|
34
37
|
},
|
|
35
38
|
});
|
|
39
|
+
requestTracers.set(adapter.emit, tracer);
|
|
40
|
+
return adapter;
|
|
41
|
+
}
|
|
42
|
+
function startRequestSpan(tracer, request, startTime) {
|
|
43
|
+
let parent = ROOT_CONTEXT;
|
|
44
|
+
try {
|
|
45
|
+
// Only tracing headers reach the configured propagator. In particular,
|
|
46
|
+
// baggage, credentials and unrelated ambient context are excluded.
|
|
47
|
+
const carrier = {};
|
|
48
|
+
for (const name of ["traceparent", "tracestate"]) {
|
|
49
|
+
const value = request.headers[name];
|
|
50
|
+
if (typeof value === "string" && value.length <= 512)
|
|
51
|
+
carrier[name] = value;
|
|
52
|
+
}
|
|
53
|
+
const extracted = trace.getSpanContext(propagation.extract(ROOT_CONTEXT, carrier));
|
|
54
|
+
if (extracted && isSpanContextValid(extracted))
|
|
55
|
+
parent = trace.setSpanContext(ROOT_CONTEXT, extracted);
|
|
56
|
+
}
|
|
57
|
+
catch { /* A broken propagator must not prevent protocol execution. */ }
|
|
58
|
+
try {
|
|
59
|
+
return tracer.startSpan("mcp.request", { kind: SpanKind.SERVER, startTime }, parent);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
36
64
|
}
|
|
37
65
|
export function installObservability(app, adapters, capabilityName, callerClassifications, limits) {
|
|
38
66
|
const pending = new Set();
|
|
67
|
+
const tracer = adapters.map((adapter) => requestTracers.get(adapter.emit)).find((value) => value !== undefined);
|
|
39
68
|
app.addHook("onRequest", (request, reply, done) => {
|
|
40
69
|
if (request.routeOptions.url !== "/mcp") {
|
|
41
70
|
done();
|
|
@@ -44,6 +73,7 @@ export function installObservability(app, adapters, capabilityName, callerClassi
|
|
|
44
73
|
const state = { protocolOutcome: "success" };
|
|
45
74
|
requestStates.set(request, state);
|
|
46
75
|
const started = performance.now();
|
|
76
|
+
const span = tracer ? startRequestSpan(tracer, request, performance.timeOrigin + started) : undefined;
|
|
47
77
|
let ended = false;
|
|
48
78
|
const finish = () => end(reply.raw.destroyed || reply.raw.socket?.destroyed ? "disconnected" : "finished");
|
|
49
79
|
const close = () => end("disconnected");
|
|
@@ -51,6 +81,7 @@ export function installObservability(app, adapters, capabilityName, callerClassi
|
|
|
51
81
|
if (ended)
|
|
52
82
|
return;
|
|
53
83
|
ended = true;
|
|
84
|
+
const finished = performance.now();
|
|
54
85
|
reply.raw.off("finish", finish);
|
|
55
86
|
reply.raw.off("close", close);
|
|
56
87
|
const body = request.body;
|
|
@@ -74,9 +105,19 @@ export function installObservability(app, adapters, capabilityName, callerClassi
|
|
|
74
105
|
? "protocol_error"
|
|
75
106
|
: state.protocolOutcome,
|
|
76
107
|
...(callerClass ? { callerClass } : {}),
|
|
77
|
-
durationMs: Math.min(3_600_000, Math.max(0,
|
|
108
|
+
durationMs: Math.min(3_600_000, Math.max(0, finished - started)),
|
|
78
109
|
...(state.forwardingRefusal ? { forwardingRefusal: state.forwardingRefusal } : {}),
|
|
79
110
|
});
|
|
111
|
+
if (span) {
|
|
112
|
+
try {
|
|
113
|
+
span.setAttributes(eventAttributes(event));
|
|
114
|
+
}
|
|
115
|
+
catch { /* Span decoration cannot change protocol behaviour. */ }
|
|
116
|
+
try {
|
|
117
|
+
span.end(performance.timeOrigin + finished);
|
|
118
|
+
}
|
|
119
|
+
catch { /* Finalization is independent of adapter delivery. */ }
|
|
120
|
+
}
|
|
80
121
|
for (const adapter of adapters) {
|
|
81
122
|
try {
|
|
82
123
|
const delivery = bounded(Promise.resolve(adapter.emit(event)).catch(() => { }), limits.deliveryTimeoutMs);
|
|
@@ -88,7 +129,23 @@ export function installObservability(app, adapters, capabilityName, callerClassi
|
|
|
88
129
|
}
|
|
89
130
|
reply.raw.once("finish", finish);
|
|
90
131
|
reply.raw.once("close", close);
|
|
91
|
-
|
|
132
|
+
if (!span) {
|
|
133
|
+
done();
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
let continued = false;
|
|
137
|
+
try {
|
|
138
|
+
context.with(trace.setSpan(ROOT_CONTEXT, span), () => {
|
|
139
|
+
continued = true;
|
|
140
|
+
done();
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
// A context manager can throw before or after calling the continuation.
|
|
145
|
+
// Never retry protocol work that has already started.
|
|
146
|
+
if (!continued)
|
|
147
|
+
done();
|
|
148
|
+
}
|
|
92
149
|
});
|
|
93
150
|
return async (timeoutMs) => {
|
|
94
151
|
await bounded(Promise.all(pending), timeoutMs);
|
package/dist/telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@emseepea/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.1",
|
|
4
4
|
"description": "Fastify-first framework for Model Context Protocol 2026-07-28 servers over Streamable HTTP",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -39,6 +39,10 @@
|
|
|
39
39
|
"./events-postgres-lifecycle": {
|
|
40
40
|
"types": "./dist/events-postgres-lifecycle.d.ts",
|
|
41
41
|
"import": "./dist/events-postgres-lifecycle.js"
|
|
42
|
+
},
|
|
43
|
+
"./events-google-worker": {
|
|
44
|
+
"types": "./dist/events-google-worker.d.ts",
|
|
45
|
+
"import": "./dist/events-google-worker.js"
|
|
42
46
|
}
|
|
43
47
|
},
|
|
44
48
|
"files": [
|
|
@@ -63,7 +67,7 @@
|
|
|
63
67
|
"@modelcontextprotocol/node": "2.1.1",
|
|
64
68
|
"@modelcontextprotocol/server": "2.3.1",
|
|
65
69
|
"fastify": "5.12.5",
|
|
66
|
-
"zod": "4.
|
|
70
|
+
"zod": "4.6.6"
|
|
67
71
|
},
|
|
68
72
|
"engines": {
|
|
69
73
|
"node": ">=22"
|