holon-sh 0.0.1-dev.7 → 0.0.1-dev.9

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 (52) hide show
  1. package/README.md +96 -67
  2. package/dist/context.d.ts +55 -0
  3. package/dist/context.d.ts.map +1 -0
  4. package/dist/context.js +9 -0
  5. package/dist/context.js.map +1 -0
  6. package/dist/ext/events.d.ts +268 -0
  7. package/dist/ext/events.d.ts.map +1 -0
  8. package/dist/ext/events.js +619 -0
  9. package/dist/ext/events.js.map +1 -0
  10. package/dist/ext/files.client.d.ts +50 -0
  11. package/dist/ext/files.client.d.ts.map +1 -0
  12. package/dist/ext/files.client.js +359 -0
  13. package/dist/ext/files.client.js.map +1 -0
  14. package/dist/ext/files.d.ts +21 -0
  15. package/dist/ext/files.d.ts.map +1 -0
  16. package/dist/ext/files.js +3 -0
  17. package/dist/ext/files.js.map +1 -0
  18. package/dist/ext/platform.browser.d.ts +4 -0
  19. package/dist/ext/platform.browser.d.ts.map +1 -0
  20. package/dist/ext/platform.browser.js +15 -0
  21. package/dist/ext/platform.browser.js.map +1 -0
  22. package/dist/ext/platform.node.d.ts +4 -0
  23. package/dist/ext/platform.node.d.ts.map +1 -0
  24. package/dist/ext/platform.node.js +45 -0
  25. package/dist/ext/platform.node.js.map +1 -0
  26. package/dist/ext/webhooks.d.ts +18 -0
  27. package/dist/ext/webhooks.d.ts.map +1 -0
  28. package/dist/ext/webhooks.js +527 -0
  29. package/dist/ext/webhooks.js.map +1 -0
  30. package/dist/protocol.d.ts +134 -0
  31. package/dist/protocol.d.ts.map +1 -0
  32. package/dist/protocol.js +32 -0
  33. package/dist/protocol.js.map +1 -0
  34. package/dist/runtime.d.ts +72 -0
  35. package/dist/runtime.d.ts.map +1 -0
  36. package/dist/runtime.js +453 -0
  37. package/dist/runtime.js.map +1 -0
  38. package/package.json +56 -19
  39. package/{context.d.ts → src/context.ts} +11 -1
  40. package/src/ext/events.ts +812 -0
  41. package/src/ext/files.client.ts +329 -0
  42. package/src/ext/files.ts +16 -0
  43. package/src/ext/platform.browser.ts +15 -0
  44. package/src/ext/platform.node.ts +43 -0
  45. package/src/ext/webhooks.ts +512 -0
  46. package/src/protocol.ts +119 -0
  47. package/src/runtime.ts +467 -0
  48. package/context.mjs +0 -6
  49. package/protocol.d.ts +0 -51
  50. package/runtime.d.ts +0 -47
  51. package/runtime.mjs +0 -207
  52. package/validate.mjs +0 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/ext/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { Client, Transport } from "@modelcontextprotocol/client";
2
+ import { type Download } from "./files.js";
3
+ type Json = Record<string, unknown>;
4
+ export interface FileConnection {
5
+ client: Pick<Client, "getServerCapabilities">;
6
+ resolved: {
7
+ endpoint: URL | string;
8
+ fileOrigins?: string[];
9
+ installationUID?: string;
10
+ };
11
+ authorization?: string;
12
+ }
13
+ interface FileInput {
14
+ id: string;
15
+ name?: string;
16
+ mimeType: string;
17
+ size: number;
18
+ digest?: {
19
+ algorithm: "sha-256";
20
+ value: string;
21
+ };
22
+ data?: string;
23
+ }
24
+ interface Attachment {
25
+ blob: Blob;
26
+ input: FileInput;
27
+ }
28
+ export type Files = Map<string, Attachment>;
29
+ export declare function settings({ client }: FileConnection): Json | undefined;
30
+ export declare function isUploadRequest(error: unknown): error is {
31
+ data: Json;
32
+ };
33
+ export declare function acceptUploadRequests<T extends Transport>(transport: T): T;
34
+ export declare function prepare(args: Json | undefined, { label, connection, schema }: {
35
+ label: string;
36
+ connection: FileConnection | undefined;
37
+ schema: () => Promise<unknown>;
38
+ }): Promise<{
39
+ arguments: Json | undefined;
40
+ files: Files;
41
+ }>;
42
+ export declare function upload(request: Json, files: Files, connection: FileConnection, signal: AbortSignal | undefined, label: string): Promise<string>;
43
+ export declare function downloads<R extends {
44
+ resultType?: string;
45
+ _meta?: object;
46
+ }>(result: R, connection: FileConnection, enabled: boolean): R & {
47
+ downloads?: Download[];
48
+ };
49
+ export {};
50
+ //# sourceMappingURL=files.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.client.d.ts","sourceRoot":"","sources":["../../src/ext/files.client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAoC,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAExG,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtD,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC9C,QAAQ,EAAE;QAAE,QAAQ,EAAE,GAAG,GAAG,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,SAAS;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AAClJ,UAAU,UAAU;IAAG,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE;AACrD,MAAM,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAY5C,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAGrE;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAGvE;AAKD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAWzE;AA4CD,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,cAAc,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CA4BtO;AAqID,wBAAsB,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBrJ;AAwCD,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;CAAE,CAKpK"}
@@ -0,0 +1,359 @@
1
+ import { base64, fetchGlobal, sha256 } from "#platform";
2
+ import { EXTENSION } from "./files.js";
3
+ const list = (value) => Array.isArray(value) ? value : [];
4
+ const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
5
+ const isPlain = (value) => isObject(value) && [Object.prototype, null].includes(Object.getPrototypeOf(value));
6
+ const present = (value) => isObject(value) ? Object.fromEntries(Object.entries(value).filter(([, member]) => member !== null)) : undefined;
7
+ const quoted = (name) => name === undefined ? "a file" : JSON.stringify(name);
8
+ function refuse(reason) {
9
+ throw new Error(reason);
10
+ }
11
+ export function settings({ client }) {
12
+ const advertised = client.getServerCapabilities()?.extensions?.[EXTENSION];
13
+ return isObject(advertised) && advertised.revision == null ? advertised : undefined;
14
+ }
15
+ const uploadRequests = new WeakSet();
16
+ export function isUploadRequest(error) {
17
+ const data = error?.data;
18
+ return isObject(data) && uploadRequests.has(data);
19
+ }
20
+ // The MCP client rejects a result type it does not know and drops the result, and has no hook for extension result
21
+ // types yet (typescript-sdk#2782). The transport hands an upload request to it as a JSON-RPC error instead, whose data is
22
+ // the result: the client keeps an error's data as received. Every other message passes through unchanged.
23
+ export function acceptUploadRequests(transport) {
24
+ let handler;
25
+ const receive = (message, extra) => {
26
+ if ("result" in message && message.result?.resultType === "upload_required") {
27
+ uploadRequests.add(message.result);
28
+ message = { jsonrpc: "2.0", id: message.id, error: { code: -32603, message: "Unsupported result type 'upload_required'", data: message.result } };
29
+ }
30
+ handler?.(message, extra);
31
+ };
32
+ Object.defineProperty(transport, "onmessage", { configurable: true, get: () => handler && receive, set: (value) => { handler = value; } });
33
+ return transport;
34
+ }
35
+ function contains(value) {
36
+ if (value instanceof Blob)
37
+ return true;
38
+ if (Array.isArray(value))
39
+ return value.some(contains);
40
+ return isPlain(value) && Object.values(value).some(contains);
41
+ }
42
+ const resolve = (root, ref) => ref.slice(1).split("/").slice(1)
43
+ .reduce((node, token) => node === null || typeof node !== "object" ? undefined : node[decodeURIComponent(token).replaceAll("~1", "/").replaceAll("~0", "~")], root);
44
+ function expand(schemas, root, seen = new Set()) {
45
+ return schemas.flatMap(schema => {
46
+ if (!isObject(schema) || seen.has(schema))
47
+ return [];
48
+ seen.add(schema);
49
+ const target = typeof schema.$ref === "string" && schema.$ref.startsWith("#") ? resolve(root, schema.$ref) : undefined;
50
+ return [schema, ...expand([target, ...list(schema.anyOf), ...list(schema.oneOf), ...list(schema.allOf)], root, seen)];
51
+ });
52
+ }
53
+ function replace(value, schemas, root, path, found, label) {
54
+ if (value instanceof Blob) {
55
+ const schema = expand(schemas, root).find(schema => "x-mcp-file" in schema);
56
+ if (!schema)
57
+ throw new Error(`${label}: the Blob at ${path || "/"} is not a file argument of the tool; the tool was not called.`);
58
+ const input = {};
59
+ found.push({ blob: value, schema, input });
60
+ return input;
61
+ }
62
+ if (Array.isArray(value)) {
63
+ const all = expand(schemas, root);
64
+ return value.map((item, index) => replace(item, all.map(schema => index < list(schema.prefixItems).length ? list(schema.prefixItems)[index] : schema.items), root, `${path}/${index}`, found, label));
65
+ }
66
+ if (!isPlain(value))
67
+ return value;
68
+ const all = expand(schemas, root);
69
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, replace(item, all.map(schema => isObject(schema.properties) ? schema.properties[key] : undefined), root, `${path}/${key}`, found, label)]));
70
+ }
71
+ function baseName(name) {
72
+ const base = typeof name === "string" ? name.split(/[/\\]/).pop() : "";
73
+ return base && base !== "." && base !== ".." ? base : undefined;
74
+ }
75
+ export async function prepare(args, { label, connection, schema }) {
76
+ const files = new Map();
77
+ if (!contains(args))
78
+ return { arguments: args, files };
79
+ if (!connection)
80
+ throw new Error(`${label}: file arguments need an endpoint binding; the tool was not called.`);
81
+ const server = settings(connection);
82
+ if (!server)
83
+ throw new Error(`${label}: the server does not accept files; the tool was not called.`);
84
+ const root = await schema();
85
+ const found = [];
86
+ const replaced = replace(args, [root], root, "", found, label);
87
+ await Promise.all(found.map(async ({ blob, schema, input }) => {
88
+ const descriptor = present(schema["x-mcp-file"]) ?? {};
89
+ const name = baseName(blob.name);
90
+ if (blob.size > descriptor.maxSize)
91
+ throw new Error(`${label}: ${quoted(name)} is ${blob.size} bytes, over the tool's limit of ${descriptor.maxSize}; the tool was not called.`);
92
+ Object.assign(input, { id: crypto.randomUUID(), ...(name !== undefined && { name }), mimeType: blob.type || "application/octet-stream", size: blob.size });
93
+ if (list(schema.required).includes("digest"))
94
+ input.digest = { algorithm: "sha-256", value: await sha256(blob) };
95
+ files.set(input.id, { blob, input });
96
+ }));
97
+ let budget = Number.isSafeInteger(server.maxInlineBytes) ? server.maxInlineBytes : 0;
98
+ for (const { blob, input } of [...files.values()].sort((a, b) => a.blob.size - b.blob.size)) {
99
+ if (blob.size === 0)
100
+ continue;
101
+ if (blob.size <= budget) {
102
+ budget -= blob.size;
103
+ input.data = await base64(blob);
104
+ }
105
+ else if (!isObject(server.upload)) {
106
+ throw new Error(`${label}: the server cannot receive ${quoted(input.name)} (${blob.size} bytes): it takes ${budget} more bytes inline and no uploads; the tool was not called.`);
107
+ }
108
+ }
109
+ return { arguments: replaced, files };
110
+ }
111
+ const UPLOAD = new Set(["fileId", "url", "path", "method", "form", "headers", "credentials", "expiresAt", "_meta"]);
112
+ const DOWNLOAD = new Set(["name", "mimeType", "size", "digest", "url", "path", "headers", "credentials", "expiresAt", "_meta"]);
113
+ const TOKEN = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
114
+ const FIELD_VALUE = /^(?:[\x21-\x7e\x80-\xff](?:[\t\x20-\x7e\x80-\xff]*[\x21-\x7e\x80-\xff])?)?$/;
115
+ // https://fetch.spec.whatwg.org/#forbidden-request-header, plus Authorization.
116
+ const FORBIDDEN = new Set(["accept-charset", "accept-encoding", "access-control-request-headers", "access-control-request-method", "authorization", "connection", "content-length", "cookie", "cookie2", "date", "dnt", "expect", "host", "keep-alive", "origin", "referer", "set-cookie", "te", "trailer", "transfer-encoding", "upgrade", "via"]);
117
+ const OVERRIDES = new Set(["x-http-method-override", "x-http-method", "x-method-override"]);
118
+ const ROUTING = new Set(["forwarded", "x-original-url", "x-rewrite-url", ...OVERRIDES]);
119
+ const FORM_HEADERS = new Set(["content-type", "content-encoding", "content-range", "content-digest", "repr-digest"]);
120
+ const FORM_NAME = /^[^\p{Cc}"\\]+$/u;
121
+ const PATH = /^(?:\/(?!\.\.?(?:\/|$))[A-Za-z0-9\-_~.]+)+$/;
122
+ const TIMESTAMP = /^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/;
123
+ const loopback = (host) => host === "localhost" || host.endsWith(".localhost") || /^127\.\d+\.\d+\.\d+$/.test(host) || host === "[::1]";
124
+ const expired = (target) => target.expiresAt !== undefined && Date.parse(target.expiresAt) <= Date.now();
125
+ function parse(url) {
126
+ try {
127
+ return new URL(url);
128
+ }
129
+ catch {
130
+ return undefined;
131
+ }
132
+ }
133
+ function check(raw, kind, { resolved }) {
134
+ const target = present(raw);
135
+ if (!target)
136
+ refuse("not an object");
137
+ const unknown = Object.keys(target).find(key => !(kind === "upload" ? UPLOAD : DOWNLOAD).has(key));
138
+ if (unknown !== undefined)
139
+ refuse(`unknown member ${JSON.stringify(unknown)}`);
140
+ if (typeof target.url === "string" === (typeof target.path === "string") || [target.url, target.path].some(value => value !== undefined && typeof value !== "string"))
141
+ refuse("needs exactly one of url and path");
142
+ if (target.credentials !== "omit" && target.credentials !== "include")
143
+ refuse("credentials must be omit or include");
144
+ const { expiresAt } = target;
145
+ if (expiresAt !== undefined && !(typeof expiresAt === "string" && TIMESTAMP.test(expiresAt) && !Number.isNaN(Date.parse(expiresAt))))
146
+ refuse("expiresAt is not an RFC 3339 timestamp");
147
+ if (target.headers !== undefined && !(isObject(target.headers) && Object.values(target.headers).every(value => typeof value === "string")))
148
+ refuse("headers must map names to strings");
149
+ const headers = (target.headers ?? {});
150
+ let form;
151
+ if (kind === "upload") {
152
+ if (typeof target.fileId !== "string")
153
+ refuse("fileId is not a string");
154
+ if (target.method !== undefined && target.method !== "PUT" && target.method !== "POST")
155
+ refuse("method must be PUT or POST");
156
+ if (target.form !== undefined) {
157
+ const raw = present(target.form);
158
+ if (target.method !== "POST")
159
+ refuse("a form target must use POST");
160
+ if (!raw || Object.keys(raw).some(key => key !== "fields" && key !== "fileField") || !Array.isArray(raw.fields) || typeof raw.fileField !== "string")
161
+ refuse("form is malformed");
162
+ const fields = raw.fields.map(present);
163
+ if (!FORM_NAME.test(raw.fileField))
164
+ refuse("form fileField is not allowed");
165
+ for (const field of fields) {
166
+ if (!field || Object.keys(field).some(key => key !== "name" && key !== "value") || typeof field.name !== "string" || typeof field.value !== "string")
167
+ refuse("a form field is malformed");
168
+ if (!FORM_NAME.test(field.name) || field.name === raw.fileField || /[\r\n\0]/.test(field.value))
169
+ refuse("a form field is not allowed");
170
+ }
171
+ form = { fileField: raw.fileField, fields: fields };
172
+ }
173
+ }
174
+ else {
175
+ if (target.name !== undefined && typeof target.name !== "string")
176
+ refuse("name is not a string");
177
+ if (typeof target.mimeType !== "string")
178
+ refuse("mimeType is not a string");
179
+ if (!Number.isSafeInteger(target.size) || target.size < 0)
180
+ refuse("size is not a non-negative integer");
181
+ const digest = target.digest === undefined ? undefined : present(target.digest);
182
+ if (target.digest !== undefined && (!digest || Object.keys(digest).some(key => key !== "algorithm" && key !== "value") || digest.algorithm !== "sha-256" || typeof digest.value !== "string"))
183
+ refuse("digest is malformed");
184
+ }
185
+ const include = target.credentials === "include";
186
+ for (const [name, value] of Object.entries(headers)) {
187
+ const lower = name.toLowerCase();
188
+ if (!TOKEN.test(name) || !FIELD_VALUE.test(value))
189
+ refuse("a header is not valid HTTP");
190
+ if (FORBIDDEN.has(lower) || lower.startsWith("proxy-") || lower.startsWith("sec-")
191
+ || OVERRIDES.has(lower) && value.split(",").some(method => ["connect", "trace", "track"].includes(method.trim().toLowerCase())))
192
+ refuse(`header ${name} is not allowed`);
193
+ if ((target.path !== undefined || include) && (ROUTING.has(lower) || lower.startsWith("x-forwarded-")))
194
+ refuse(`header ${name} is not allowed with this target`);
195
+ if (form && FORM_HEADERS.has(lower))
196
+ refuse(`header ${name} is not allowed with a form`);
197
+ }
198
+ const endpoint = new URL(resolved.endpoint);
199
+ const origins = resolved.fileOrigins && new Set(resolved.fileOrigins.map(origin => new URL(origin).origin));
200
+ let url;
201
+ let allowlisted = false;
202
+ if (typeof target.url === "string") {
203
+ const parsed = parse(target.url);
204
+ if (!parsed || parsed.username || parsed.password)
205
+ refuse("url is not an absolute URL without userinfo");
206
+ url = parsed;
207
+ allowlisted = origins?.has(url.origin) ?? false;
208
+ if (origins && !allowlisted)
209
+ refuse("url is not on fileOrigins");
210
+ if (url.protocol !== "https:" && !(url.protocol === "http:" && allowlisted && loopback(url.hostname)))
211
+ refuse("url is not https");
212
+ if (include && url.origin !== endpoint.origin)
213
+ refuse("credentials include is honored only at the server's origin");
214
+ }
215
+ else {
216
+ const path = target.path;
217
+ if (!PATH.test(path))
218
+ refuse("path is not a valid path");
219
+ if (endpoint.protocol !== "https:" && !loopback(endpoint.hostname) && !origins?.has(endpoint.origin))
220
+ refuse("a path under an http MCP address needs loopback or fileOrigins");
221
+ url = new URL(endpoint);
222
+ url.pathname = url.pathname.replace(/\/$/, "") + path;
223
+ url.hash = "";
224
+ }
225
+ return { url: url.href, path: target.path !== undefined, allowlisted, include, headers, method: (target.method ?? "PUT"), form, expiresAt };
226
+ }
227
+ function send(target, init, { resolved, authorization }) {
228
+ const headers = new Headers(target.headers);
229
+ if (target.include && authorization)
230
+ headers.set("authorization", authorization);
231
+ if (target.path && resolved.installationUID)
232
+ headers.set("x-holon-installation-uid", resolved.installationUID);
233
+ return (target.path || target.allowlisted ? fetch : fetchGlobal)(target.url, { ...init, headers, credentials: "omit", redirect: "error" });
234
+ }
235
+ const reason = (error) => {
236
+ const { message, cause } = (error ?? {});
237
+ return String(cause?.message ?? message ?? error);
238
+ };
239
+ const TYPE = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+(?:[ \t]*;[ \t]*[!#$%&'*+.^_`|~0-9A-Za-z-]+=(?:[!#$%&'*+.^_`|~0-9A-Za-z-]+|"(?:[\t\x20\x21\x23-\x5b\x5d-\x7e]|\\[\t\x20-\x7e])*"))*$/;
240
+ // fetch's own FormData boundary has too little randomness for the extension (128 bits), so the body is built here,
241
+ // encoding names and the filename as the WHATWG multipart/form-data algorithm does.
242
+ function multipart({ fields, fileField }, { blob, input }) {
243
+ const boundary = `----holon${Array.from(crypto.getRandomValues(new Uint8Array(16)), byte => byte.toString(16).padStart(2, "0")).join("")}`;
244
+ const filename = (baseName(input.name) ?? "file").replaceAll('"', "%22").replaceAll("\r", "%0D").replaceAll("\n", "%0A");
245
+ const parts = fields.map(({ name, value }) => `--${boundary}\r\nContent-Disposition: form-data; name="${name}"\r\n\r\n${value}\r\n`);
246
+ parts.push(`--${boundary}\r\nContent-Disposition: form-data; name="${fileField}"; filename="${filename}"\r\nContent-Type: ${TYPE.test(input.mimeType) ? input.mimeType : "application/octet-stream"}\r\n\r\n`, blob, `\r\n--${boundary}--\r\n`);
247
+ return { body: new Blob(parts), type: `multipart/form-data; boundary=${boundary}` };
248
+ }
249
+ async function transfer(target, file, connection, signal) {
250
+ const { body, type } = target.form ? multipart(target.form, file) : { body: file.blob.slice(0, file.blob.size, ""), type: undefined };
251
+ for (let attempt = 0;; attempt++) {
252
+ if (expired(target))
253
+ throw new Error("its target expired");
254
+ let response;
255
+ try {
256
+ response = await send(type ? { ...target, headers: { ...target.headers, "Content-Type": type } } : target, { method: target.method, body, signal }, connection);
257
+ }
258
+ catch (error) {
259
+ if (signal.aborted || target.method !== "PUT" || attempt === 2)
260
+ throw new Error(reason(error));
261
+ }
262
+ if (response) {
263
+ await response.body?.cancel();
264
+ if (response.ok)
265
+ return;
266
+ const retry = response.status >= 500 || response.status === 408 || response.status === 429;
267
+ if (target.method !== "PUT" || !retry || attempt === 2)
268
+ throw new Error(`HTTP ${response.status}`);
269
+ }
270
+ await new Promise(resolve => setTimeout(resolve, 200 * (attempt + 1)));
271
+ }
272
+ }
273
+ export async function upload(request, files, connection, signal, label) {
274
+ const fail = (reason) => new Error(`${label}: ${reason}; the tool did not run.`);
275
+ const { requestState, uploads } = request;
276
+ if (typeof requestState !== "string")
277
+ throw fail("the server's upload request has no requestState");
278
+ const waiting = new Set([...files.values()].filter(({ input }) => input.size > 0 && input.data === undefined).map(({ input }) => input.id));
279
+ const ids = list(uploads).map(target => target?.fileId);
280
+ if (!Array.isArray(uploads) || ids.length !== waiting.size || new Set(ids).size !== ids.length || !ids.every(id => waiting.has(id))) {
281
+ throw fail("the server's upload request does not list each file sent without data exactly once");
282
+ }
283
+ const targets = uploads.map((target) => {
284
+ const file = files.get(target.fileId);
285
+ try {
286
+ return { file, target: check(target, "upload", connection) };
287
+ }
288
+ catch (error) {
289
+ throw fail(`the upload target for ${quoted(file.input.name)} was rejected (${error.message})`);
290
+ }
291
+ });
292
+ const controller = new AbortController();
293
+ const stop = signal ? AbortSignal.any([signal, controller.signal]) : controller.signal;
294
+ await Promise.all(targets.map(async ({ file, target }) => {
295
+ try {
296
+ await transfer(target, file, connection, stop);
297
+ }
298
+ catch (error) {
299
+ controller.abort();
300
+ throw fail(signal?.aborted ? "the call was cancelled during the upload" : `uploading ${quoted(file.input.name)} failed (${error.message})`);
301
+ }
302
+ }));
303
+ return requestState;
304
+ }
305
+ function download(raw, connection) {
306
+ const { name, mimeType, size, digest, expiresAt } = present(raw) ?? {};
307
+ const label = `Downloading ${quoted(typeof name === "string" ? name : undefined)}`;
308
+ const blob = async ({ signal } = {}) => {
309
+ let target;
310
+ try {
311
+ target = check(raw, "download", connection);
312
+ }
313
+ catch (error) {
314
+ throw new Error(`${label} was refused: its target was rejected (${error.message}).`);
315
+ }
316
+ if (expired(target))
317
+ throw new Error(`${label} was refused: its target expired.`);
318
+ const declared = size;
319
+ const chunks = [];
320
+ let received = 0;
321
+ try {
322
+ const response = await send(target, { method: "GET", signal }, connection);
323
+ if (response.status !== 200) {
324
+ await response.body?.cancel();
325
+ throw new Error(`HTTP ${response.status}`);
326
+ }
327
+ const reader = response.body?.getReader();
328
+ while (reader) {
329
+ const chunk = await reader.read();
330
+ if (chunk.done)
331
+ break;
332
+ received += chunk.value.byteLength;
333
+ if (received > declared) {
334
+ await reader.cancel();
335
+ throw new Error(`more than the declared ${declared} bytes; discarded`);
336
+ }
337
+ chunks.push(chunk.value);
338
+ }
339
+ }
340
+ catch (error) {
341
+ throw new Error(`${label} failed (${reason(error)}).`);
342
+ }
343
+ if (received !== declared)
344
+ throw new Error(`${label} failed (${received} bytes, not the declared ${declared}; discarded).`);
345
+ const file = new Blob(chunks, { type: mimeType });
346
+ if (digest && await sha256(file) !== digest.value)
347
+ throw new Error(`${label} failed (the bytes do not match the digest; discarded).`);
348
+ return file;
349
+ };
350
+ return Object.freeze({ ...Object.fromEntries(Object.entries({ name, mimeType, size, digest, expiresAt }).filter(([, value]) => value !== undefined)), blob });
351
+ }
352
+ export function downloads(result, connection, enabled) {
353
+ if (result.resultType === "input_required" || !isObject(result._meta) || !(EXTENSION in result._meta))
354
+ return result;
355
+ const { [EXTENSION]: meta, ...rest } = result._meta;
356
+ const handles = enabled ? list(meta?.downloads).map(target => download(target, connection)) : [];
357
+ return { ...result, _meta: rest, ...(handles.length > 0 && { downloads: handles }) };
358
+ }
359
+ //# sourceMappingURL=files.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.client.js","sourceRoot":"","sources":["../../src/ext/files.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /** Identifier of the MCP files extension (draft), the key under which a client and a server declare it in their capabilities. */
2
+ export declare const EXTENSION = "io.modelcontextprotocol/files";
3
+ /** A file a tool returned for the caller to fetch. Its fields come from the server and are untrusted. */
4
+ export interface Download {
5
+ readonly name?: string;
6
+ readonly mimeType: string;
7
+ /** Size in bytes. */
8
+ readonly size: number;
9
+ /** SHA-256 of the file, base64url without padding. */
10
+ readonly digest?: {
11
+ algorithm: "sha-256";
12
+ value: string;
13
+ };
14
+ /** RFC 3339 time after which the file can no longer be fetched. */
15
+ readonly expiresAt?: string;
16
+ /** Fetch the file. Rejects, keeping no bytes, when it has expired, its target breaks the extension's rules, or the bytes do not match size or digest. */
17
+ blob(options?: {
18
+ signal?: AbortSignal;
19
+ }): Promise<Blob>;
20
+ }
21
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/ext/files.ts"],"names":[],"mappings":"AAAA,iIAAiI;AACjI,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAEzD,yGAAyG;AACzG,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,mEAAmE;IACnE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yJAAyJ;IACzJ,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD"}
@@ -0,0 +1,3 @@
1
+ /** Identifier of the MCP files extension (draft), the key under which a client and a server declare it in their capabilities. */
2
+ export const EXTENSION = "io.modelcontextprotocol/files";
3
+ //# sourceMappingURL=files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/ext/files.ts"],"names":[],"mappings":"AAAA,iIAAiI;AACjI,MAAM,CAAC,MAAM,SAAS,GAAG,+BAA+B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function base64(blob: Blob): Promise<string>;
2
+ export declare function sha256(blob: Blob): Promise<string>;
3
+ export declare function fetchGlobal(url: string, init: RequestInit): Promise<Response>;
4
+ //# sourceMappingURL=platform.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.browser.d.ts","sourceRoot":"","sources":["../../src/ext/platform.browser.ts"],"names":[],"mappings":"AAAA,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAKxD;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAGxD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAE7E"}
@@ -0,0 +1,15 @@
1
+ export async function base64(blob) {
2
+ const bytes = new Uint8Array(await blob.arrayBuffer());
3
+ let binary = "";
4
+ for (let start = 0; start < bytes.length; start += 0x8000)
5
+ binary += String.fromCharCode(...bytes.subarray(start, start + 0x8000));
6
+ return btoa(binary);
7
+ }
8
+ export async function sha256(blob) {
9
+ const digest = await crypto.subtle.digest("SHA-256", await blob.arrayBuffer());
10
+ return (await base64(new Blob([digest]))).replace(/=+$/, "").replaceAll("+", "-").replaceAll("/", "_");
11
+ }
12
+ export function fetchGlobal(url, init) {
13
+ return fetch(url, init);
14
+ }
15
+ //# sourceMappingURL=platform.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.browser.js","sourceRoot":"","sources":["../../src/ext/platform.browser.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAU;IACrC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;IACnI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAU;IACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/E,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,IAAiB;IACxD,OAAO,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function base64(blob: Blob): Promise<string>;
2
+ export declare function sha256(blob: Blob): Promise<string>;
3
+ export declare function fetchGlobal(url: string, init: RequestInit): Promise<Response>;
4
+ //# sourceMappingURL=platform.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.node.d.ts","sourceRoot":"","sources":["../../src/ext/platform.node.ts"],"names":[],"mappings":"AAKA,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAExD;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxD;AAID,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAKnF"}