holon-sh 0.0.1-dev.15 → 0.0.1-dev.17

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 (48) hide show
  1. package/README.md +32 -0
  2. package/dist/context.d.ts +7 -7
  3. package/dist/context.d.ts.map +1 -1
  4. package/dist/context.js +11 -5
  5. package/dist/context.js.map +1 -1
  6. package/dist/ext/events.client.d.ts +4 -0
  7. package/dist/ext/events.client.d.ts.map +1 -0
  8. package/dist/ext/events.client.js +180 -0
  9. package/dist/ext/events.client.js.map +1 -0
  10. package/dist/ext/events.d.ts +6 -12
  11. package/dist/ext/events.d.ts.map +1 -1
  12. package/dist/ext/events.js +30 -51
  13. package/dist/ext/events.js.map +1 -1
  14. package/dist/ext/files.client.d.ts +2 -3
  15. package/dist/ext/files.client.d.ts.map +1 -1
  16. package/dist/ext/files.client.js +20 -22
  17. package/dist/ext/files.client.js.map +1 -1
  18. package/dist/ext/files.d.ts +1 -1
  19. package/dist/ext/files.d.ts.map +1 -1
  20. package/dist/link.d.ts +35 -0
  21. package/dist/link.d.ts.map +1 -0
  22. package/dist/link.js +118 -0
  23. package/dist/link.js.map +1 -0
  24. package/dist/page.d.ts +24 -0
  25. package/dist/page.d.ts.map +1 -0
  26. package/dist/page.js +25 -0
  27. package/dist/page.js.map +1 -0
  28. package/dist/protocol.d.ts +6 -7
  29. package/dist/protocol.d.ts.map +1 -1
  30. package/dist/protocol.js +0 -1
  31. package/dist/protocol.js.map +1 -1
  32. package/dist/runtime.d.ts +0 -1
  33. package/dist/runtime.d.ts.map +1 -1
  34. package/dist/runtime.js +129 -409
  35. package/dist/runtime.js.map +1 -1
  36. package/dist/serve.js +0 -5
  37. package/dist/serve.js.map +1 -1
  38. package/package.json +8 -1
  39. package/src/context.ts +17 -7
  40. package/src/ext/events.client.ts +157 -0
  41. package/src/ext/events.ts +41 -83
  42. package/src/ext/files.client.ts +21 -20
  43. package/src/ext/files.ts +1 -1
  44. package/src/link.ts +136 -0
  45. package/src/page.ts +36 -0
  46. package/src/protocol.ts +6 -9
  47. package/src/runtime.ts +120 -379
  48. package/src/serve.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/serve.js CHANGED
@@ -41,11 +41,6 @@ async function respond(handler, directory, req, res) {
41
41
  for (const [name, values = []] of Object.entries(req.headersDistinct))
42
42
  for (const value of values)
43
43
  headers.append(name, value);
44
- // Holon forwards the origin it serves the app at. Here that is this server, unless a proxy in front forwards its own.
45
- if (!headers.has("x-forwarded-host"))
46
- headers.set("x-forwarded-host", url.host);
47
- if (!headers.has("x-forwarded-proto"))
48
- headers.set("x-forwarded-proto", "http");
49
44
  const body = req.method === "GET" || req.method === "HEAD" ? undefined : req;
50
45
  const response = await handler.fetch(new Request(url, { method: req.method, headers, body, duplex: "half", signal: gone.signal }));
51
46
  res.setHeaders(response.headers).writeHead(response.status);
package/dist/serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "holon-sh",
3
- "version": "0.0.1-dev.15",
3
+ "version": "0.0.1-dev.17",
4
4
  "description": "Typed MCP clients, MCP Events, and the caller of an MCP request, for Node.js.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -39,6 +39,10 @@
39
39
  "./serve": {
40
40
  "types": "./dist/serve.d.ts",
41
41
  "import": "./dist/serve.js"
42
+ },
43
+ "./page": {
44
+ "types": "./dist/page.d.ts",
45
+ "import": "./dist/page.js"
42
46
  }
43
47
  },
44
48
  "typesVersions": {
@@ -60,6 +64,9 @@
60
64
  ],
61
65
  "serve": [
62
66
  "./dist/serve.d.ts"
67
+ ],
68
+ "page": [
69
+ "./dist/page.d.ts"
63
70
  ]
64
71
  }
65
72
  },
package/src/context.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { AuthInfo } from "@modelcontextprotocol/client";
2
+
1
3
  /** Standard OpenID Connect address claims. */
2
4
  export interface AddressClaims {
3
5
  formatted?: string; street_address?: string; locality?: string; region?: string; postal_code?: string; country?: string;
@@ -13,17 +15,25 @@ export interface IdentityClaims {
13
15
  }
14
16
  /** The user a request acts for, as Holon admitted it. */
15
17
  export interface Principal { issuer: string; subject: string; clientId: string; scopes: string[]; claims: IdentityClaims; actor?: Record<string, unknown> }
16
- /** The caller of the current MCP request. principal is null for anonymous requests. */
17
- export interface RequestContext { principal: Principal | null }
18
+ /** The caller of the current MCP request, and the origin it reached the app at. principal is null for anonymous requests, and origin without HTTP. */
19
+ export interface RequestContext { principal: Principal | null; origin: string | null }
18
20
 
19
21
  // Holon admits the caller before the request reaches the server and hands it over as MCP's authInfo, with claims and
20
22
  // act in these shapes.
21
23
  interface Admitted { iss?: unknown; sub?: unknown; claims?: IdentityClaims; act?: Record<string, unknown> }
22
24
 
23
- /** Read the caller from the context an MCP server receives: a tool callback's ctx.http, or the McpRequestContext of a createMcpHandler factory. */
24
- export function getContext(context: { authInfo?: { clientId: string; scopes: string[]; extra?: Record<string, unknown> } } = {}): RequestContext {
25
- const { authInfo } = context;
25
+ /** Read the caller and the app's origin from the context an MCP server receives: a tool callback's ctx.http, or the McpRequestContext of a createMcpHandler factory. */
26
+ export function getContext(context: { authInfo?: Pick<AuthInfo, "clientId" | "scopes" | "extra">; req?: Request; requestInfo?: Request } = {}): RequestContext {
27
+ const { authInfo, req = context.requestInfo } = context;
26
28
  const { iss, sub, claims, act } = (authInfo?.extra ?? {}) as Admitted;
27
- if (!authInfo || typeof iss !== "string" || typeof sub !== "string") return { principal: null };
28
- return { principal: { issuer: iss, subject: sub, clientId: authInfo.clientId, scopes: authInfo.scopes, claims: claims ?? {}, ...(act && { actor: act }) } };
29
+ const principal = !authInfo || typeof iss !== "string" || typeof sub !== "string" ? null
30
+ : { issuer: iss, subject: sub, clientId: authInfo.clientId, scopes: authInfo.scopes, claims: claims ?? {}, ...(act && { actor: act }) };
31
+ return { principal, origin: req ? origin(req) : null };
32
+ }
33
+
34
+ // Holon forwards the origin it serves the app at, as a proxy in front may. Otherwise the request reached the app where it
35
+ // listens.
36
+ function origin({ url, headers }: Request) {
37
+ const { protocol, host } = new URL(url);
38
+ return `${headers.get("x-forwarded-proto") ?? protocol.slice(0, -1)}://${headers.get("x-forwarded-host") ?? host}`;
29
39
  }
@@ -0,0 +1,157 @@
1
+ // The client side of MCP Events, the draft extension of the Triggers & Events Working Group:
2
+ // https://github.com/modelcontextprotocol/experimental-ext-triggers-events/blob/main/docs/design-sketch-proposal.md
3
+ import type { Client } from "@modelcontextprotocol/client";
4
+ import { patient, sleep, unchecked, untilAborted, type Link } from "../link.js";
5
+ import type { CallOptions, EventOccurrence, EventType, SubscribeOptions, Subscription } from "../protocol.js";
6
+ import type { Contract, RuntimeClient } from "../runtime.js";
7
+
8
+ // A stream that has said nothing for twice the longest heartbeat interval is dead: https://github.com/modelcontextprotocol/experimental-ext-triggers-events/blob/main/docs/design-sketch-proposal.md#lifecycle
9
+ const QUIET = 60_000;
10
+ type Sent = EventOccurrence & { cursor?: string | null; _meta?: unknown };
11
+ type Listed = { events?: EventType[]; nextCursor?: string };
12
+ type Polled = { events?: Sent[]; cursor?: string | null; truncated?: boolean; hasMore?: boolean; nextPollMs?: number };
13
+ // A server's refusal ends a subscription: a client error, or an answer that the event type is gone, that access was
14
+ // lost, or that the request is no longer valid. Anything else is tried again from the cursor.
15
+ const refused = (error: any): boolean => error?.status >= 400 && error.status < 500 || error?.data?.status >= 400 && error.data.status < 500 || [-32602, -32023, -32024, -32026].includes(error?.code);
16
+
17
+ export function events(link: Link, contract: Contract | null, expect: (schema: object, label: string) => (value: unknown) => void): RuntimeClient["ext"]["events"] {
18
+ const { name } = link;
19
+ const connected = <T>(options: CallOptions | undefined, run: (client: Client) => Promise<T>) => link.session(options, (_, connection) => {
20
+ if (!connection) throw new Error(`MCP Events of ${name} require an endpoint binding.`);
21
+ return run(connection.client);
22
+ });
23
+ const list = (options?: CallOptions) => connected(options, async client => {
24
+ const events: EventType[] = [];
25
+ for (let cursor: string | undefined; ;) {
26
+ const page = await client.request({ method: "events/list", params: { ...(cursor && { cursor }) } }, unchecked<Listed>(), patient(options));
27
+ events.push(...page.events ?? []);
28
+ if (!(cursor = page.nextCursor)) return events;
29
+ }
30
+ });
31
+ const subscribe = async (event: string, args: unknown = {}, { signal, onGap, maxAgeMs, ...options }: SubscribeOptions = {}): Promise<Subscription> => {
32
+ const resolved = link.endpoint(`Subscribing to ${name} ${event}`);
33
+ const offered = (await list(signal && { signal })).find(type => type.name === event)?.delivery;
34
+ if (!offered) throw new Error(`${name} has no event ${event}.`);
35
+ const delivery = options.delivery ?? (["push", "poll"] as const).find(mode => offered.includes(mode));
36
+ // The sketch's NoCompatibleDeliveryMode: none of the modes the server offers is one this client uses.
37
+ if (!delivery || !offered.includes(delivery)) throw Object.assign(new Error(`${name} does not deliver ${event} by ${delivery ?? "poll or push"}.`), { name: "NoCompatibleDeliveryMode" });
38
+ const cancelled = new AbortController();
39
+ const ended = signal ? AbortSignal.any([signal, cancelled.signal]) : cancelled.signal;
40
+ let cursor = options.cursor ?? null;
41
+ const queue: EventOccurrence[] = [];
42
+ const seen = new Set<string>();
43
+ let wake = () => {};
44
+ let done = false;
45
+ let failure: unknown;
46
+ const reach = (next: string | null | undefined, truncated?: boolean) => {
47
+ cursor = next ?? null;
48
+ if (truncated) onGap?.();
49
+ };
50
+ const expected = contract?.events?.find(type => type.name === event)?.payloadSchema;
51
+ const check = expected && expect(expected, `data of ${name} ${event}`);
52
+ const deliver = ({ cursor: _, _meta, ...occurrence }: Sent) => {
53
+ if (seen.has(occurrence.eventId)) return;
54
+ seen.add(occurrence.eventId);
55
+ if (seen.size > 1024) seen.delete(seen.values().next().value!);
56
+ check?.(occurrence.data);
57
+ queue.push(occurrence);
58
+ wake();
59
+ };
60
+ const request = { name: event, arguments: args, ...(maxAgeMs !== undefined && { maxAgeMs }) };
61
+ let confirmed = false;
62
+ const established = Promise.withResolvers<void>();
63
+ const confirm = () => { confirmed = true; established.resolve(); };
64
+ const poll = async () => {
65
+ while (!ended.aborted) {
66
+ let wait = 1000;
67
+ try {
68
+ const result = await connected({ signal: ended }, client => client.request({ method: "events/poll", params: { ...request, cursor } }, unchecked<Polled>(), patient({ signal: ended })));
69
+ try { for (const occurrence of result.events ?? []) deliver(occurrence); } catch (error) { failure = error; return cancelled.abort(); }
70
+ reach(result.cursor, result.truncated);
71
+ confirm();
72
+ // A server that asks for a tight loop is not obeyed.
73
+ wait = result.hasMore ? 0 : Math.max(1000, result.nextPollMs ?? 0);
74
+ } catch (error) {
75
+ if (ended.aborted) return;
76
+ if (!confirmed || refused(error)) throw error;
77
+ }
78
+ await sleep(wait, ended);
79
+ }
80
+ };
81
+ const stream = async () => {
82
+ while (!ended.aborted) {
83
+ let wait = 1000;
84
+ const quiet = new AbortController();
85
+ // The MCP client keeps waiting for the answer of a request whose stream has ended, so the end is watched for here.
86
+ // Only the stream's own response is watched: a 2025 server answers its initialization as a stream too.
87
+ const watched: typeof fetch = async (input, init) => {
88
+ const response = await (resolved.fetch ?? fetch)(input, init);
89
+ const streaming = typeof init?.body === "string" && init.body.includes('"method":"events/stream"');
90
+ if (!streaming || !response.body || !response.headers.get("content-type")?.startsWith("text/event-stream")) return response;
91
+ const reader = response.body.getReader();
92
+ const body = new ReadableStream({
93
+ pull: controller => reader.read().then(({ done, value }) => {
94
+ if (!done) return controller.enqueue(value);
95
+ controller.close();
96
+ // The answer, when the stream ended with one, is handled first.
97
+ setTimeout(() => quiet.abort());
98
+ }, error => { controller.error(error); quiet.abort(); }),
99
+ cancel: reason => reader.cancel(reason),
100
+ });
101
+ return new Response(body, response);
102
+ };
103
+ // Each stream has its own connection, so every event notification on it is this subscription's.
104
+ const connection = link.connect({ ...resolved, fetch: watched });
105
+ let timer: ReturnType<typeof setTimeout> | undefined;
106
+ const heard = () => {
107
+ clearTimeout(timer);
108
+ timer = setTimeout(() => quiet.abort(), QUIET);
109
+ };
110
+ let terminated: { code?: number; message?: string; data?: unknown } | undefined;
111
+ try {
112
+ await untilAborted(connection.ready, ended);
113
+ const on = <P>(method: string, handle: (params: P) => void) => connection.client.setNotificationHandler(`notifications/events/${method}`, { params: unchecked<P>() }, params => { heard(); handle(params); });
114
+ on<Pick<Polled, "cursor" | "truncated">>("active", ({ cursor: next, truncated }) => { reach(next, truncated); confirm(); });
115
+ on<Sent>("event", occurrence => {
116
+ wait = 0;
117
+ try { deliver(occurrence); } catch (error) { failure = error; return cancelled.abort(); }
118
+ reach(occurrence.cursor);
119
+ });
120
+ on<Pick<Polled, "cursor">>("heartbeat", ({ cursor: next }) => reach(next));
121
+ // The server recovers from an error by itself, and the stream stays open.
122
+ on("error", () => {});
123
+ on<{ error?: typeof terminated }>("terminated", ({ error }) => { terminated = error; quiet.abort(); });
124
+ heard();
125
+ await connection.client.request({ method: "events/stream", params: { ...request, cursor } }, unchecked<unknown>(), { signal: AbortSignal.any([ended, quiet.signal]), timeout: 2 ** 31 - 1 });
126
+ } catch (error) {
127
+ if (!terminated && !ended.aborted && (!confirmed || refused(error))) throw error;
128
+ } finally {
129
+ clearTimeout(timer);
130
+ await connection.close();
131
+ }
132
+ if (terminated) throw Object.assign(new Error(`${name} ended the subscription to ${event}: ${terminated.message}`), { code: terminated.code, data: terminated.data });
133
+ await sleep(wait, ended);
134
+ }
135
+ };
136
+ void (delivery === "push" ? stream() : poll())
137
+ .catch(error => { failure ??= error; })
138
+ .finally(() => { done = true; wake(); established.reject(failure ?? ended.reason); });
139
+ await established.promise;
140
+ return {
141
+ delivery,
142
+ get cursor() { return cursor; },
143
+ cancel: () => cancelled.abort(),
144
+ [Symbol.asyncIterator]: () => ({
145
+ next: async (): Promise<IteratorResult<EventOccurrence>> => {
146
+ while (!queue.length && !done) await new Promise<void>(resolve => { wake = resolve; });
147
+ const value = queue.shift();
148
+ if (value) return { value, done: false };
149
+ if (failure) throw failure;
150
+ return { value: undefined, done: true };
151
+ },
152
+ return: async (): Promise<IteratorResult<EventOccurrence>> => { cancelled.abort(); return { value: undefined, done: true }; },
153
+ }),
154
+ };
155
+ };
156
+ return Object.freeze({ list, subscribe: subscribe as RuntimeClient["ext"]["events"]["subscribe"] });
157
+ }