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.
- package/README.md +32 -0
- package/dist/context.d.ts +7 -7
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +11 -5
- package/dist/context.js.map +1 -1
- package/dist/ext/events.client.d.ts +4 -0
- package/dist/ext/events.client.d.ts.map +1 -0
- package/dist/ext/events.client.js +180 -0
- package/dist/ext/events.client.js.map +1 -0
- package/dist/ext/events.d.ts +6 -12
- package/dist/ext/events.d.ts.map +1 -1
- package/dist/ext/events.js +30 -51
- package/dist/ext/events.js.map +1 -1
- package/dist/ext/files.client.d.ts +2 -3
- package/dist/ext/files.client.d.ts.map +1 -1
- package/dist/ext/files.client.js +20 -22
- package/dist/ext/files.client.js.map +1 -1
- package/dist/ext/files.d.ts +1 -1
- package/dist/ext/files.d.ts.map +1 -1
- package/dist/link.d.ts +35 -0
- package/dist/link.d.ts.map +1 -0
- package/dist/link.js +118 -0
- package/dist/link.js.map +1 -0
- package/dist/page.d.ts +24 -0
- package/dist/page.d.ts.map +1 -0
- package/dist/page.js +25 -0
- package/dist/page.js.map +1 -0
- package/dist/protocol.d.ts +6 -7
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +0 -1
- package/dist/protocol.js.map +1 -1
- package/dist/runtime.d.ts +0 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +129 -409
- package/dist/runtime.js.map +1 -1
- package/dist/serve.js +0 -5
- package/dist/serve.js.map +1 -1
- package/package.json +8 -1
- package/src/context.ts +17 -7
- package/src/ext/events.client.ts +157 -0
- package/src/ext/events.ts +41 -83
- package/src/ext/files.client.ts +21 -20
- package/src/ext/files.ts +1 -1
- package/src/link.ts +136 -0
- package/src/page.ts +36 -0
- package/src/protocol.ts +6 -9
- package/src/runtime.ts +120 -379
- package/src/serve.ts +0 -3
package/dist/ext/events.js
CHANGED
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
// The server side of MCP Events, as the Triggers & Events Working Group's design sketch defines it:
|
|
2
2
|
// https://github.com/modelcontextprotocol/experimental-ext-triggers-events/blob/main/docs/design-sketch-proposal.md
|
|
3
|
-
// The draft is experimental, so this lives under ext and may change with it. It serves the poll and push delivery
|
|
4
|
-
// modes. Names follow the sketch, and types are the MCP SDK's own wherever it has them.
|
|
5
3
|
import { ProtocolError, ProtocolErrorCode, SUBSCRIPTION_ID_META_KEY } from "@modelcontextprotocol/server";
|
|
4
|
+
import { getContext } from "../context.js";
|
|
6
5
|
/** The identifier a server declares the Events extension under, in capabilities.extensions. */
|
|
7
6
|
export const EVENTS_EXTENSION = "io.modelcontextprotocol/events";
|
|
8
|
-
const INVALID_PARAMS = ProtocolErrorCode.InvalidParams;
|
|
9
|
-
const INTERNAL_ERROR = ProtocolErrorCode.InternalError;
|
|
10
7
|
// The sketch's general-purpose codes, provisional until the specification allocates them.
|
|
11
8
|
const NOT_FOUND = -32023;
|
|
12
9
|
const FORBIDDEN = -32024;
|
|
13
10
|
const RESOURCE_EXHAUSTED = -32025;
|
|
14
11
|
const UNSUPPORTED = -32026;
|
|
15
|
-
|
|
16
|
-
const params = { "~standard": { version: 1, vendor: "holon-sh", validate: (value) => ({ value: value ?? {} }) } };
|
|
12
|
+
const params = { "~standard": { version: 1, vendor: "holon-sh", validate: value => ({ value: (value ?? {}) }) } };
|
|
17
13
|
const refusal = ({ code, message, data }) => new ProtocolError(code, message, data);
|
|
18
14
|
const removed = { code: NOT_FOUND, message: "NotFound", data: { kind: "event" } };
|
|
19
15
|
const forbidden = { code: FORBIDDEN, message: "Forbidden" };
|
|
20
|
-
// What a client is told of a failure: its code when it is a JSON-RPC one, and its message.
|
|
21
16
|
const described = (error) => ({
|
|
22
|
-
code: Number.isInteger(error?.code) ? error.code :
|
|
17
|
+
code: Number.isInteger(error?.code) ? error.code : ProtocolErrorCode.InternalError,
|
|
23
18
|
message: error?.message || "InternalError",
|
|
24
19
|
...(error?.data !== undefined && { data: error.data }),
|
|
25
20
|
});
|
|
@@ -27,14 +22,9 @@ const described = (error) => ({
|
|
|
27
22
|
const canonical = (value) => Array.isArray(value) ? value.map(canonical)
|
|
28
23
|
: value && typeof value === "object" ? Object.fromEntries(Object.keys(value).sort().map(key => [key, canonical(value[key])]))
|
|
29
24
|
: value;
|
|
30
|
-
// Who asked, as Holon admitted them: the user, the client acting for them, the agent when one acts for the user, and
|
|
31
|
-
// what the token allows. A caller without a subject has no identity: nobody can tell it from another such caller.
|
|
32
25
|
const caller = (context) => {
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
if (!authInfo || typeof sub !== "string")
|
|
36
|
-
return null;
|
|
37
|
-
return JSON.stringify(canonical([iss, sub, authInfo.clientId ?? null, act, [...authInfo.scopes ?? []].sort()]));
|
|
26
|
+
const { principal } = getContext(context);
|
|
27
|
+
return principal && JSON.stringify(canonical([principal.issuer, principal.subject, principal.clientId, principal.actor ?? null, [...principal.scopes].sort()]));
|
|
38
28
|
};
|
|
39
29
|
const hex = (bytes) => [...bytes].map(byte => byte.toString(16).padStart(2, "0")).join("");
|
|
40
30
|
// A subscription's id is the same for the same caller, event type and arguments, so it survives reconnects and poll
|
|
@@ -43,11 +33,8 @@ const identify = async (who, name, args) => {
|
|
|
43
33
|
const digest = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(JSON.stringify([who, name, canonical(args)])));
|
|
44
34
|
return `sub_${hex(new Uint8Array(digest, 0, 16))}`;
|
|
45
35
|
};
|
|
46
|
-
// A caller without an identity gets an id of its own for each stream.
|
|
47
36
|
const unique = () => `sub_${hex(crypto.getRandomValues(new Uint8Array(16)))}`;
|
|
48
|
-
// The subscriber a subscription's arguments name, whoever the caller.
|
|
49
37
|
const named = (args) => JSON.stringify(canonical(args));
|
|
50
|
-
// Counts up or down under a key, and forgets a key that reaches none.
|
|
51
38
|
const count = (counts, key, by) => {
|
|
52
39
|
const total = (counts.get(key) ?? 0) + by;
|
|
53
40
|
if (total)
|
|
@@ -55,8 +42,6 @@ const count = (counts, key, by) => {
|
|
|
55
42
|
else
|
|
56
43
|
counts.delete(key);
|
|
57
44
|
};
|
|
58
|
-
// A teardown that fails has nobody to tell, and must not take the process down.
|
|
59
|
-
const settle = (run) => { Promise.resolve().then(run).catch(() => { }); };
|
|
60
45
|
const integer = (value, minimum) => value === undefined || Number.isInteger(value) && value >= minimum;
|
|
61
46
|
const OFFERED = ["poll", "push"];
|
|
62
47
|
// What each type keeps of what it emits, for polls and reconnecting streams: the sketch's emit buffer.
|
|
@@ -72,7 +57,6 @@ const POLL_SUBSCRIPTION_TTL = 60_000;
|
|
|
72
57
|
// cannot be told apart, so they count together as one caller.
|
|
73
58
|
const MAX_SUBSCRIPTIONS = 10_000;
|
|
74
59
|
const MAX_SUBSCRIPTIONS_PER_CALLER = 1000;
|
|
75
|
-
// How many event types events/list returns at a time.
|
|
76
60
|
const PAGE_SIZE = 100;
|
|
77
61
|
/**
|
|
78
62
|
* What a stream sends before it ends and its client resumes from its cursor. The draft leaves flow control to the
|
|
@@ -95,7 +79,7 @@ export function createEvents() {
|
|
|
95
79
|
let declared = 0;
|
|
96
80
|
let subscribed = 0;
|
|
97
81
|
const callers = new Map();
|
|
98
|
-
const position = (
|
|
82
|
+
const position = (sequence) => `${epoch}.${sequence}`;
|
|
99
83
|
// What a subscription is owed after a cursor, up to `until`: the events for it, in order, where delivery starts,
|
|
100
84
|
// and where it now stands. A null cursor starts where the subscription was opened, and so does one from another
|
|
101
85
|
// process, which says that events were skipped. One past the events still kept starts from the oldest kept, and
|
|
@@ -111,16 +95,16 @@ export function createEvents() {
|
|
|
111
95
|
const events = [];
|
|
112
96
|
const failures = [];
|
|
113
97
|
let reached = recent.length ? recent[0].sequence - 1 : until;
|
|
114
|
-
const start = position(
|
|
98
|
+
const start = position(reached);
|
|
115
99
|
for (const kept of recent) {
|
|
116
100
|
if (events.length === limit)
|
|
117
|
-
return { events, failures, start, cursor: position(
|
|
101
|
+
return { events, failures, start, cursor: position(reached), truncated, hasMore: true };
|
|
118
102
|
reached = kept.sequence;
|
|
119
103
|
const event = shape(type, kept, subscription, error => failures.push(error));
|
|
120
104
|
if (event)
|
|
121
105
|
events.push(event);
|
|
122
106
|
}
|
|
123
|
-
return { events, failures, start, cursor: position(
|
|
107
|
+
return { events, failures, start, cursor: position(until), truncated, hasMore: false };
|
|
124
108
|
};
|
|
125
109
|
// The occurrence a subscription receives, or nothing when it is not for it. An event emitted to one subscription
|
|
126
110
|
// is for that one alone, and its arguments are not asked.
|
|
@@ -139,10 +123,10 @@ export function createEvents() {
|
|
|
139
123
|
catch (error) {
|
|
140
124
|
const { eventId } = occurrence;
|
|
141
125
|
console.error(`holon-sh/ext/events: event ${eventId} of ${type.name} was skipped for a subscription:`, error);
|
|
142
|
-
failed({ code:
|
|
126
|
+
failed({ code: ProtocolErrorCode.InternalError, message: `Event ${eventId} could not be delivered and was skipped`, data: { eventId, reason: String(error?.message ?? error) } });
|
|
143
127
|
return undefined;
|
|
144
128
|
}
|
|
145
|
-
return { ...occurrence, data, cursor: position(
|
|
129
|
+
return { ...occurrence, data, cursor: position(sequence) };
|
|
146
130
|
};
|
|
147
131
|
// The event type and arguments a request names, checked as the sketch's errors require, in its order: the type,
|
|
148
132
|
// the delivery mode, the request's own fields, the arguments, and then whether the caller may subscribe. A caller
|
|
@@ -154,14 +138,14 @@ export function createEvents() {
|
|
|
154
138
|
if (!type.delivery.includes(delivery))
|
|
155
139
|
throw refusal({ code: UNSUPPORTED, message: "Unsupported", data: { feature: "deliveryMode", value: delivery } });
|
|
156
140
|
if (cursor != null && typeof cursor !== "string")
|
|
157
|
-
throw new ProtocolError(
|
|
141
|
+
throw new ProtocolError(ProtocolErrorCode.InvalidParams, "cursor must be a string or null");
|
|
158
142
|
if (!integer(maxAgeMs, 0))
|
|
159
|
-
throw new ProtocolError(
|
|
143
|
+
throw new ProtocolError(ProtocolErrorCode.InvalidParams, "maxAgeMs must be a non-negative integer");
|
|
160
144
|
if (!integer(maxEvents, 1))
|
|
161
|
-
throw new ProtocolError(
|
|
145
|
+
throw new ProtocolError(ProtocolErrorCode.InvalidParams, "maxEvents must be a positive integer");
|
|
162
146
|
const checked = await type.inputSchema["~standard"].validate(args);
|
|
163
147
|
if (checked.issues)
|
|
164
|
-
throw new ProtocolError(
|
|
148
|
+
throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Invalid arguments for ${name}: ${checked.issues.map(issue => issue.message).join("; ")}`);
|
|
165
149
|
const who = caller(context);
|
|
166
150
|
// Polls share a lease per caller and arguments, and callers without an identity share one per arguments.
|
|
167
151
|
const lease = await identify(who, type.name, checked.value);
|
|
@@ -171,7 +155,8 @@ export function createEvents() {
|
|
|
171
155
|
leases.delete(lease);
|
|
172
156
|
throw refusal(forbidden);
|
|
173
157
|
}
|
|
174
|
-
|
|
158
|
+
const subscription = { id: who === null ? unique() : lease, lease, arguments: checked.value, context };
|
|
159
|
+
return { type, subscription, cursor: cursor ?? null, maxAgeMs, maxEvents };
|
|
175
160
|
};
|
|
176
161
|
const endSubscription = (type, id, error) => {
|
|
177
162
|
for (const held of [...type.subscriptions.get(id)?.held ?? []])
|
|
@@ -184,7 +169,6 @@ export function createEvents() {
|
|
|
184
169
|
const open = async (type, { id, delivery, arguments: args, context }, end) => {
|
|
185
170
|
if (types.get(type.name) !== type)
|
|
186
171
|
throw refusal(removed);
|
|
187
|
-
// Callers without an identity cannot be told apart, so they count together as one.
|
|
188
172
|
const who = caller(context) ?? "anonymous";
|
|
189
173
|
if (subscribed >= MAX_SUBSCRIPTIONS)
|
|
190
174
|
throw refusal({ code: RESOURCE_EXHAUSTED, message: "ResourceExhausted", data: { limit: "subscriptions", max: MAX_SUBSCRIPTIONS } });
|
|
@@ -192,7 +176,6 @@ export function createEvents() {
|
|
|
192
176
|
throw refusal({ code: RESOURCE_EXHAUSTED, message: "ResourceExhausted", data: { limit: "subscriptionsPerCaller", max: MAX_SUBSCRIPTIONS_PER_CALLER } });
|
|
193
177
|
subscribed++;
|
|
194
178
|
count(callers, who, 1);
|
|
195
|
-
// A presence keeps a subscriber's value while any of its streams or leases is open.
|
|
196
179
|
const subscriber = named(args);
|
|
197
180
|
const hold = (by) => {
|
|
198
181
|
count(type.holds, subscriber, by);
|
|
@@ -222,9 +205,9 @@ export function createEvents() {
|
|
|
222
205
|
return;
|
|
223
206
|
if (type.subscriptions.get(id) === current)
|
|
224
207
|
type.subscriptions.delete(id);
|
|
225
|
-
// Only a subscription that was set up is told it ended.
|
|
226
|
-
|
|
227
|
-
|
|
208
|
+
// Only a subscription that was set up is told it ended. A teardown that fails has nobody to tell, and must not
|
|
209
|
+
// take the process down.
|
|
210
|
+
current.ready.then(subscription => type.onUnsubscribe?.(subscription)).catch(() => { });
|
|
228
211
|
} };
|
|
229
212
|
current.held.add(held);
|
|
230
213
|
try {
|
|
@@ -294,14 +277,11 @@ export function createEvents() {
|
|
|
294
277
|
* Declares an event type and returns the function that emits it. `match` decides which subscriptions receive an
|
|
295
278
|
* event from their arguments, and `transform` shapes its data for each.
|
|
296
279
|
*/
|
|
297
|
-
event(name,
|
|
280
|
+
event(name, definition) {
|
|
298
281
|
if (types.has(name))
|
|
299
282
|
throw new Error(`Event ${name} is already declared.`);
|
|
300
|
-
const unknown = delivery.filter(mode => !OFFERED.includes(mode));
|
|
301
|
-
if (unknown.length || !delivery.length)
|
|
302
|
-
throw new Error(`Event ${name} is delivered by ${delivery.join(", ") || "nothing"}, but only ${OFFERED.join(", ")} are served.`);
|
|
303
283
|
const type = {
|
|
304
|
-
name, order: ++declared,
|
|
284
|
+
...definition, name, order: ++declared, delivery: definition.delivery ?? OFFERED,
|
|
305
285
|
sequence: 0, dropped: 0, kept: [], sinks: new Set(), subscriptions: new Map(), holds: new Map(), present: new Set(),
|
|
306
286
|
};
|
|
307
287
|
types.set(name, type);
|
|
@@ -319,7 +299,7 @@ export function createEvents() {
|
|
|
319
299
|
sink();
|
|
320
300
|
},
|
|
321
301
|
cursor() {
|
|
322
|
-
return position(type);
|
|
302
|
+
return position(type.sequence);
|
|
323
303
|
},
|
|
324
304
|
terminate(id, error = forbidden) {
|
|
325
305
|
if (id !== undefined)
|
|
@@ -370,8 +350,7 @@ export function createEvents() {
|
|
|
370
350
|
},
|
|
371
351
|
/** Serves the declared event types on an MCP server: events/list, events/poll and events/stream. */
|
|
372
352
|
serve(mcp) {
|
|
373
|
-
|
|
374
|
-
const server = ("server" in mcp ? mcp.server : mcp);
|
|
353
|
+
const server = "server" in mcp ? mcp.server : mcp;
|
|
375
354
|
// The sketch declares capabilities.events. The MCP SDK's client drops top-level capabilities it does not know,
|
|
376
355
|
// so the extension is declared under capabilities.extensions too, where SDK clients read it.
|
|
377
356
|
// Clients are never told the event types changed: over Holon's stateless HTTP, the notification reaches none.
|
|
@@ -383,7 +362,7 @@ export function createEvents() {
|
|
|
383
362
|
if (request.cursor != null) {
|
|
384
363
|
const after = Number(request.cursor);
|
|
385
364
|
if (typeof request.cursor !== "string" || !Number.isInteger(after))
|
|
386
|
-
throw new ProtocolError(
|
|
365
|
+
throw new ProtocolError(ProtocolErrorCode.InvalidParams, "Invalid cursor for events/list");
|
|
387
366
|
start = all.findIndex(type => type.order > after);
|
|
388
367
|
if (start < 0)
|
|
389
368
|
start = all.length;
|
|
@@ -402,18 +381,18 @@ export function createEvents() {
|
|
|
402
381
|
};
|
|
403
382
|
});
|
|
404
383
|
server.setRequestHandler("events/poll", { params }, async (request, ctx) => {
|
|
405
|
-
const { type, subscription: subscribed } = await subscription(request, ctx.http, "poll");
|
|
384
|
+
const { type, subscription: subscribed, cursor, maxAgeMs, maxEvents } = await subscription(request, ctx.http, "poll");
|
|
406
385
|
// Taken before the lease, which waits for onSubscribe. The sketch's poll from null returns no events and a
|
|
407
386
|
// fresh cursor: this one is where the subscription opened, so the next poll has what onSubscribe emitted.
|
|
408
387
|
const opened = type.sequence;
|
|
409
388
|
const held = await lease(type, subscribed);
|
|
410
389
|
// Each poll is answered for its own caller, with the lease's id.
|
|
411
|
-
const { events, start, failures, ...rest } = since(type, { ...subscribed, id: held.id, untargetable: held.untargetable },
|
|
390
|
+
const { events, start, failures, ...rest } = since(type, { ...subscribed, id: held.id, untargetable: held.untargetable }, cursor, { maxAgeMs, maxEvents, opened, ...(cursor === null && { until: opened }) });
|
|
412
391
|
// A poll carries its cursor once, for the whole response.
|
|
413
392
|
return { events: events.map(({ cursor, ...event }) => event), ...rest, nextPollMs: INTERVAL };
|
|
414
393
|
});
|
|
415
394
|
server.setRequestHandler("events/stream", { params }, async (request, ctx) => {
|
|
416
|
-
const { type, subscription: subscribed } = await subscription(request, ctx.http, "push");
|
|
395
|
+
const { type, subscription: subscribed, cursor: from, maxAgeMs } = await subscription(request, ctx.http, "push");
|
|
417
396
|
const { signal } = ctx.mcpReq;
|
|
418
397
|
const meta = { [SUBSCRIPTION_ID_META_KEY]: ctx.mcpReq.id };
|
|
419
398
|
let done = false;
|
|
@@ -468,7 +447,7 @@ export function createEvents() {
|
|
|
468
447
|
// The stream follows its cursor, and emitted events wake it. What it is owed waits in the buffer, not here, so
|
|
469
448
|
// a slow client is not owed more memory than one batch; when what it is owed is no longer kept, it is told of
|
|
470
449
|
// the gap.
|
|
471
|
-
let cursor =
|
|
450
|
+
let cursor = from;
|
|
472
451
|
let behind = true;
|
|
473
452
|
const sink = () => {
|
|
474
453
|
// Nothing emitted after the app terminated the stream is for it.
|
|
@@ -502,7 +481,7 @@ export function createEvents() {
|
|
|
502
481
|
while (!done) {
|
|
503
482
|
if (behind) {
|
|
504
483
|
behind = false;
|
|
505
|
-
const result = since(type, held, cursor, { ...(first &&
|
|
484
|
+
const result = since(type, held, cursor, { ...(first && { maxAgeMs }), opened, until });
|
|
506
485
|
// The stream is confirmed before anything else is said on it.
|
|
507
486
|
if (first || result.truncated)
|
|
508
487
|
await notify("active", { cursor: result.start, truncated: result.truncated });
|
package/dist/ext/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/ext/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/ext/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Client, Transport } from "@modelcontextprotocol/client";
|
|
2
2
|
import { type Download } from "./files.js";
|
|
3
3
|
type Json = Record<string, unknown>;
|
|
4
|
-
|
|
4
|
+
interface FileConnection {
|
|
5
5
|
client: Pick<Client, "getServerCapabilities">;
|
|
6
6
|
resolved: {
|
|
7
7
|
endpoint: URL | string;
|
|
@@ -25,8 +25,7 @@ interface Attachment {
|
|
|
25
25
|
blob: Blob;
|
|
26
26
|
input: FileInput;
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
export declare function settings({ client }: FileConnection): Json | undefined;
|
|
28
|
+
type Files = Map<string, Attachment>;
|
|
30
29
|
export declare function isUploadRequest(error: unknown): error is {
|
|
31
30
|
data: Json;
|
|
32
31
|
};
|
|
@@ -1 +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,
|
|
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,UAAU,cAAc;IACtB,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,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAmBrC,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;AAgID,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;AA8CD,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,GAAG,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;CAAE,CAKlJ"}
|
package/dist/ext/files.client.js
CHANGED
|
@@ -8,7 +8,7 @@ const quoted = (name) => name === undefined ? "a file" : JSON.stringify(name);
|
|
|
8
8
|
function refuse(reason) {
|
|
9
9
|
throw new Error(reason);
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
function settings({ client }) {
|
|
12
12
|
const advertised = client.getServerCapabilities()?.extensions?.[EXTENSION];
|
|
13
13
|
return isObject(advertised) && advertised.revision == null ? advertised : undefined;
|
|
14
14
|
}
|
|
@@ -122,6 +122,7 @@ const PATH = /^(?:\/(?!\.\.?(?:\/|$))[A-Za-z0-9\-_~.]+)+$/;
|
|
|
122
122
|
const TIMESTAMP = /^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/;
|
|
123
123
|
const loopback = (host) => host === "localhost" || host.endsWith(".localhost") || /^127\.\d+\.\d+\.\d+$/.test(host) || host === "[::1]";
|
|
124
124
|
const expired = (target) => target.expiresAt !== undefined && Date.parse(target.expiresAt) <= Date.now();
|
|
125
|
+
const timestamp = (value) => value === undefined || typeof value === "string" && TIMESTAMP.test(value) && !Number.isNaN(Date.parse(value));
|
|
125
126
|
function parse(url) {
|
|
126
127
|
try {
|
|
127
128
|
return new URL(url);
|
|
@@ -142,7 +143,7 @@ function check(raw, kind, { resolved }) {
|
|
|
142
143
|
if (target.credentials !== "omit" && target.credentials !== "include")
|
|
143
144
|
refuse("credentials must be omit or include");
|
|
144
145
|
const { expiresAt } = target;
|
|
145
|
-
if (
|
|
146
|
+
if (!timestamp(expiresAt))
|
|
146
147
|
refuse("expiresAt is not an RFC 3339 timestamp");
|
|
147
148
|
if (target.headers !== undefined && !(isObject(target.headers) && Object.values(target.headers).every(value => typeof value === "string")))
|
|
148
149
|
refuse("headers must map names to strings");
|
|
@@ -171,17 +172,6 @@ function check(raw, kind, { resolved }) {
|
|
|
171
172
|
form = { fileField: raw.fileField, fields: fields };
|
|
172
173
|
}
|
|
173
174
|
}
|
|
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
175
|
const include = target.credentials === "include";
|
|
186
176
|
for (const [name, value] of Object.entries(headers)) {
|
|
187
177
|
const lower = name.toLowerCase();
|
|
@@ -304,7 +294,16 @@ export async function upload(request, files, connection, signal, label) {
|
|
|
304
294
|
}
|
|
305
295
|
function download(raw, connection) {
|
|
306
296
|
const { name, mimeType, size, digest, expiresAt } = present(raw) ?? {};
|
|
307
|
-
|
|
297
|
+
if (name !== undefined && typeof name !== "string" || typeof mimeType !== "string" || typeof size !== "number" || !Number.isSafeInteger(size) || size < 0 || !timestamp(expiresAt))
|
|
298
|
+
return undefined;
|
|
299
|
+
let value;
|
|
300
|
+
if (digest !== undefined) {
|
|
301
|
+
const given = present(digest);
|
|
302
|
+
if (!given || Object.keys(given).some(key => key !== "algorithm" && key !== "value") || given.algorithm !== "sha-256" || typeof given.value !== "string")
|
|
303
|
+
return undefined;
|
|
304
|
+
value = given.value;
|
|
305
|
+
}
|
|
306
|
+
const label = `Downloading ${quoted(name)}`;
|
|
308
307
|
const blob = async ({ signal } = {}) => {
|
|
309
308
|
let target;
|
|
310
309
|
try {
|
|
@@ -315,7 +314,6 @@ function download(raw, connection) {
|
|
|
315
314
|
}
|
|
316
315
|
if (expired(target))
|
|
317
316
|
throw new Error(`${label} was refused: its target expired.`);
|
|
318
|
-
const declared = size;
|
|
319
317
|
const chunks = [];
|
|
320
318
|
let received = 0;
|
|
321
319
|
try {
|
|
@@ -330,9 +328,9 @@ function download(raw, connection) {
|
|
|
330
328
|
if (chunk.done)
|
|
331
329
|
break;
|
|
332
330
|
received += chunk.value.byteLength;
|
|
333
|
-
if (received >
|
|
331
|
+
if (received > size) {
|
|
334
332
|
await reader.cancel();
|
|
335
|
-
throw new Error(`more than the declared ${
|
|
333
|
+
throw new Error(`more than the declared ${size} bytes; discarded`);
|
|
336
334
|
}
|
|
337
335
|
chunks.push(chunk.value);
|
|
338
336
|
}
|
|
@@ -340,20 +338,20 @@ function download(raw, connection) {
|
|
|
340
338
|
catch (error) {
|
|
341
339
|
throw new Error(`${label} failed (${reason(error)}).`);
|
|
342
340
|
}
|
|
343
|
-
if (received !==
|
|
344
|
-
throw new Error(`${label} failed (${received} bytes, not the declared ${
|
|
341
|
+
if (received !== size)
|
|
342
|
+
throw new Error(`${label} failed (${received} bytes, not the declared ${size}; discarded).`);
|
|
345
343
|
const file = new Blob(chunks, { type: mimeType });
|
|
346
|
-
if (
|
|
344
|
+
if (value !== undefined && await sha256(file) !== value)
|
|
347
345
|
throw new Error(`${label} failed (the bytes do not match the digest; discarded).`);
|
|
348
346
|
return file;
|
|
349
347
|
};
|
|
350
|
-
return Object.freeze({ ...
|
|
348
|
+
return Object.freeze({ ...(name !== undefined && { name }), mimeType, size, ...(value !== undefined && { digest: { algorithm: "sha-256", value } }), ...(expiresAt !== undefined && { expiresAt }), blob });
|
|
351
349
|
}
|
|
352
350
|
export function downloads(result, connection) {
|
|
353
351
|
if (result.resultType === "input_required" || !isObject(result._meta) || !(EXTENSION in result._meta))
|
|
354
352
|
return result;
|
|
355
353
|
const { [EXTENSION]: meta, ...rest } = result._meta;
|
|
356
|
-
const handles = settings(connection) ? list(meta?.downloads).
|
|
354
|
+
const handles = settings(connection) ? list(meta?.downloads).flatMap(target => download(target, connection) ?? []) : [];
|
|
357
355
|
return { ...result, _meta: rest, ...(handles.length > 0 && { downloads: handles }) };
|
|
358
356
|
}
|
|
359
357
|
//# sourceMappingURL=files.client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.client.js","sourceRoot":"","sources":["../../src/ext/files.client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"files.client.js","sourceRoot":"","sources":["../../src/ext/files.client.ts"],"names":[],"mappings":"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"}
|