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.
- package/README.md +96 -67
- package/dist/context.d.ts +55 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +9 -0
- package/dist/context.js.map +1 -0
- package/dist/ext/events.d.ts +268 -0
- package/dist/ext/events.d.ts.map +1 -0
- package/dist/ext/events.js +619 -0
- package/dist/ext/events.js.map +1 -0
- package/dist/ext/files.client.d.ts +50 -0
- package/dist/ext/files.client.d.ts.map +1 -0
- package/dist/ext/files.client.js +359 -0
- package/dist/ext/files.client.js.map +1 -0
- package/dist/ext/files.d.ts +21 -0
- package/dist/ext/files.d.ts.map +1 -0
- package/dist/ext/files.js +3 -0
- package/dist/ext/files.js.map +1 -0
- package/dist/ext/platform.browser.d.ts +4 -0
- package/dist/ext/platform.browser.d.ts.map +1 -0
- package/dist/ext/platform.browser.js +15 -0
- package/dist/ext/platform.browser.js.map +1 -0
- package/dist/ext/platform.node.d.ts +4 -0
- package/dist/ext/platform.node.d.ts.map +1 -0
- package/dist/ext/platform.node.js +45 -0
- package/dist/ext/platform.node.js.map +1 -0
- package/dist/ext/webhooks.d.ts +18 -0
- package/dist/ext/webhooks.d.ts.map +1 -0
- package/dist/ext/webhooks.js +527 -0
- package/dist/ext/webhooks.js.map +1 -0
- package/dist/protocol.d.ts +134 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +32 -0
- package/dist/protocol.js.map +1 -0
- package/dist/runtime.d.ts +72 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +453 -0
- package/dist/runtime.js.map +1 -0
- package/package.json +56 -19
- package/{context.d.ts → src/context.ts} +11 -1
- package/src/ext/events.ts +812 -0
- package/src/ext/files.client.ts +329 -0
- package/src/ext/files.ts +16 -0
- package/src/ext/platform.browser.ts +15 -0
- package/src/ext/platform.node.ts +43 -0
- package/src/ext/webhooks.ts +512 -0
- package/src/protocol.ts +119 -0
- package/src/runtime.ts +467 -0
- package/context.mjs +0 -6
- package/protocol.d.ts +0 -51
- package/runtime.d.ts +0 -47
- package/runtime.mjs +0 -207
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|