agentfootprint 9.64.0 → 9.65.0
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/dist/adapters/hosting/foundryResponses.js +110 -0
- package/dist/adapters/hosting/foundryResponses.js.map +1 -0
- package/dist/adapters/hosting/responsesWire.js +322 -0
- package/dist/adapters/hosting/responsesWire.js.map +1 -0
- package/dist/esm/adapters/hosting/foundryResponses.d.ts +89 -0
- package/dist/esm/adapters/hosting/foundryResponses.js +106 -0
- package/dist/esm/adapters/hosting/foundryResponses.js.map +1 -0
- package/dist/esm/adapters/hosting/responsesWire.d.ts +75 -0
- package/dist/esm/adapters/hosting/responsesWire.js +316 -0
- package/dist/esm/adapters/hosting/responsesWire.js.map +1 -0
- package/dist/esm/hosting/errors.d.ts +43 -0
- package/dist/esm/hosting/errors.js +52 -0
- package/dist/esm/hosting/errors.js.map +1 -1
- package/dist/esm/hosting/httpHost.d.ts +133 -4
- package/dist/esm/hosting/httpHost.js +120 -22
- package/dist/esm/hosting/httpHost.js.map +1 -1
- package/dist/esm/hosting/index.d.ts +2 -2
- package/dist/esm/hosting/index.js +1 -1
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting-providers.d.ts +17 -0
- package/dist/esm/hosting-providers.js +19 -0
- package/dist/esm/hosting-providers.js.map +1 -1
- package/dist/hosting/errors.js +55 -1
- package/dist/hosting/errors.js.map +1 -1
- package/dist/hosting/httpHost.js +119 -21
- package/dist/hosting/httpHost.js.map +1 -1
- package/dist/hosting/index.js +4 -2
- package/dist/hosting/index.js.map +1 -1
- package/dist/hosting-providers.js +30 -1
- package/dist/hosting-providers.js.map +1 -1
- package/dist/types/adapters/hosting/foundryResponses.d.ts +90 -0
- package/dist/types/adapters/hosting/foundryResponses.d.ts.map +1 -0
- package/dist/types/adapters/hosting/responsesWire.d.ts +76 -0
- package/dist/types/adapters/hosting/responsesWire.d.ts.map +1 -0
- package/dist/types/hosting/errors.d.ts +43 -0
- package/dist/types/hosting/errors.d.ts.map +1 -1
- package/dist/types/hosting/httpHost.d.ts +133 -4
- package/dist/types/hosting/httpHost.d.ts.map +1 -1
- package/dist/types/hosting/index.d.ts +2 -2
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting-providers.d.ts +17 -0
- package/dist/types/hosting-providers.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -90,6 +90,72 @@ export interface HttpRequestFacts {
|
|
|
90
90
|
* going out as one body or as a stream of frames — those are {@link httpHost}'s
|
|
91
91
|
* job, identical for every wire, which is the entire point of separating them.
|
|
92
92
|
*/
|
|
93
|
+
/**
|
|
94
|
+
* One Server-Sent Event: the name it is announced under, and the body that
|
|
95
|
+
* rides with it.
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* Where a failure came from.
|
|
99
|
+
*
|
|
100
|
+
* `'refused'` is the handler CHOOSING to fail with words it picked for the
|
|
101
|
+
* caller. `'threw'` is an exception this host caught — the message is the
|
|
102
|
+
* author's note to their own logs, and may name a query, a path or a token.
|
|
103
|
+
*
|
|
104
|
+
* The distinction exists because a dialect that sanitises has to sanitise the
|
|
105
|
+
* right one: replacing both silences deliberate refusals, and replacing
|
|
106
|
+
* neither publishes stack-trace prose to whoever is on the other end.
|
|
107
|
+
*/
|
|
108
|
+
export type FailureOrigin = 'refused' | 'threw';
|
|
109
|
+
export interface StreamFrame {
|
|
110
|
+
readonly event: string;
|
|
111
|
+
readonly data: unknown;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* The frames ONE streaming response is made of.
|
|
115
|
+
*
|
|
116
|
+
* ── Why this exists ──────────────────────────────────────────────────────────
|
|
117
|
+
* A wire's body methods answer "what do the fields say". This answers a
|
|
118
|
+
* different question: "what SHAPE is a stream". This host's own dialect frames
|
|
119
|
+
* one homogeneous `chunk` per piece and one terminal frame, and that is a real
|
|
120
|
+
* shape — but it is not the only one. Several protocols in wide use frame a
|
|
121
|
+
* stream as a LIFECYCLE instead: named events that open a response, announce
|
|
122
|
+
* that output is beginning, carry deltas, close each part, and close the
|
|
123
|
+
* response — every event referring to one response object by id, often
|
|
124
|
+
* numbered.
|
|
125
|
+
*
|
|
126
|
+
* Those cannot be expressed as "a body shape per chunk", because one host
|
|
127
|
+
* lifecycle point becomes SEVERAL frames, and because the frames share state
|
|
128
|
+
* (an id minted once, a counter that only goes up). So a dialect that frames
|
|
129
|
+
* this way supplies one of these PER RESPONSE and keeps that state in it.
|
|
130
|
+
*
|
|
131
|
+
* ── The default is one of these ──────────────────────────────────────────────
|
|
132
|
+
* A wire that supplies none gets framing built from its own body methods —
|
|
133
|
+
* `chunk`/`complete`/`error`, exactly as before. The incumbent shape is an
|
|
134
|
+
* INSTANCE of this seam rather than a special case beside it, which is the
|
|
135
|
+
* reason to believe the seam is in the right place.
|
|
136
|
+
*/
|
|
137
|
+
export interface StreamFraming {
|
|
138
|
+
/**
|
|
139
|
+
* Frames to write the moment the stream opens, before the handler runs.
|
|
140
|
+
* Absent or empty means the stream announces itself with nothing, which is
|
|
141
|
+
* this host's own behaviour.
|
|
142
|
+
*/
|
|
143
|
+
open?(): readonly StreamFrame[];
|
|
144
|
+
/** Frames for one piece of streamed output. */
|
|
145
|
+
chunk(text: string): readonly StreamFrame[];
|
|
146
|
+
/** Frames that close a response that completed. */
|
|
147
|
+
complete(output: string): readonly StreamFrame[];
|
|
148
|
+
/** Frames that close a response that failed. */
|
|
149
|
+
failure(message: string, code?: string, origin?: FailureOrigin): readonly StreamFrame[];
|
|
150
|
+
/**
|
|
151
|
+
* Frames that close a response ending in one of the other terminals. Absent
|
|
152
|
+
* means the single-frame default, so a framing written for text alone keeps
|
|
153
|
+
* working when an artifact or a paused run comes back through it.
|
|
154
|
+
*/
|
|
155
|
+
awaiting?(pending: PendingAsk): readonly StreamFrame[];
|
|
156
|
+
artifact?(result: ArtifactWireResult): readonly StreamFrame[];
|
|
157
|
+
sessions?(result: SessionWireResult): readonly StreamFrame[];
|
|
158
|
+
}
|
|
93
159
|
export interface HttpWire {
|
|
94
160
|
/**
|
|
95
161
|
* Pull the port's vocabulary out of one request. Anything the wire cannot
|
|
@@ -151,12 +217,47 @@ export interface HttpWire {
|
|
|
151
217
|
*/
|
|
152
218
|
readonly responseHeaders?: Readonly<Record<string, string>>;
|
|
153
219
|
};
|
|
220
|
+
/**
|
|
221
|
+
* Did THIS caller ask for a stream?
|
|
222
|
+
*
|
|
223
|
+
* Absent, the answer is the HTTP one: an `Accept` of `text/event-stream`.
|
|
224
|
+
* That is the right default and the wrong rule for dialects that carry the
|
|
225
|
+
* choice in the body instead — where a client sets a field and never touches
|
|
226
|
+
* `Accept`, and a host reading only the header answers one JSON body to a
|
|
227
|
+
* caller waiting for events.
|
|
228
|
+
*
|
|
229
|
+
* Present, this is the whole answer: a dialect that says how its callers ask
|
|
230
|
+
* is not second-guessed by the header. Read before any reply is framed, so it
|
|
231
|
+
* decides `content-type` for the request.
|
|
232
|
+
*/
|
|
233
|
+
wantsStream?(facts: HttpRequestFacts): boolean;
|
|
234
|
+
/**
|
|
235
|
+
* Framing for ONE streaming response — see {@link StreamFraming}.
|
|
236
|
+
*
|
|
237
|
+
* Called once per streaming request, so whatever the framing has to remember
|
|
238
|
+
* across its frames (an id minted for this response, a sequence counter) is
|
|
239
|
+
* per-response state and never shared between callers. Absent, this host
|
|
240
|
+
* frames the stream with the wire's own body shapes.
|
|
241
|
+
*/
|
|
242
|
+
stream?(facts: HttpRequestFacts): StreamFraming;
|
|
154
243
|
/** Body for a health probe. `uptimeMs` is how long this host has been serving. */
|
|
155
244
|
health(uptimeMs: number): unknown;
|
|
156
|
-
/**
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
245
|
+
/**
|
|
246
|
+
* Body for a reply that completed.
|
|
247
|
+
*
|
|
248
|
+
* `facts` is the request that produced it, for dialects whose reply repeats
|
|
249
|
+
* something the request said — a model name, a conversation id. Absent only
|
|
250
|
+
* where there is no request to show: this host has none to give when a body
|
|
251
|
+
* is built outside a request's own lifecycle.
|
|
252
|
+
*/
|
|
253
|
+
output(output: string, facts?: HttpRequestFacts): unknown;
|
|
254
|
+
/**
|
|
255
|
+
* Body for a reply that failed. `code` is the refusal's stable code, when it
|
|
256
|
+
* has one — and its PRESENCE is the signal that the message was authored by
|
|
257
|
+
* this library rather than thrown by somebody's handler, which is what lets a
|
|
258
|
+
* dialect decide what is safe to repeat to a caller.
|
|
259
|
+
*/
|
|
260
|
+
failure(message: string, code?: string, facts?: HttpRequestFacts, origin?: FailureOrigin): unknown;
|
|
160
261
|
/** Body for one streamed piece, when the caller asked for Server-Sent Events. */
|
|
161
262
|
chunk(text: string): unknown;
|
|
162
263
|
/**
|
|
@@ -355,6 +456,34 @@ export interface HttpHostOptions {
|
|
|
355
456
|
* });
|
|
356
457
|
*/
|
|
357
458
|
readonly onUnhandled?: (req: IncomingMessage, res: ServerResponse) => void;
|
|
459
|
+
/**
|
|
460
|
+
* Ceiling on a request body, in bytes. Default: **none**.
|
|
461
|
+
*
|
|
462
|
+
* ── Why the default is no ceiling ────────────────────────────────────────
|
|
463
|
+
* Not because unbounded is right — it is not. A body is memory this process
|
|
464
|
+
* pays for while somebody else fills it, and a host without a ceiling can be
|
|
465
|
+
* stopped by one caller with a large POST. The default is absent because
|
|
466
|
+
* every adapter built on this file inherited unbounded reads before this
|
|
467
|
+
* option existed, and a number chosen here would silently start refusing
|
|
468
|
+
* requests that deployments are serving today.
|
|
469
|
+
*
|
|
470
|
+
* **Set it.** A deployment that knows the largest body it legitimately
|
|
471
|
+
* carries should say so; a request over the line is refused with
|
|
472
|
+
* `ERR_REQUEST_TOO_LARGE` (413) and the read is abandoned at the byte that
|
|
473
|
+
* crossed it, rather than buffered to the end and then judged.
|
|
474
|
+
*/
|
|
475
|
+
readonly maxBodyBytes?: number;
|
|
476
|
+
/**
|
|
477
|
+
* Answer `HEAD` on the invoke path with 204, instead of the 404 an unowned
|
|
478
|
+
* method gets. Default `false`.
|
|
479
|
+
*
|
|
480
|
+
* Some deployment contracts probe a door before using it — "is the agent
|
|
481
|
+
* here?" — and a probe is not a turn: nothing is read, nothing is run, and
|
|
482
|
+
* the body is empty by definition. Opt-in, because a host that answered it
|
|
483
|
+
* unasked would change what every existing adapter says to a method it has
|
|
484
|
+
* always declined.
|
|
485
|
+
*/
|
|
486
|
+
readonly invokeHeadProbe?: boolean;
|
|
358
487
|
}
|
|
359
488
|
/** A {@link HostHandle} that also says where it landed. */
|
|
360
489
|
export interface HttpHostHandle extends HostHandle {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
* Everything HTTP lives here and in the wires; `types.ts` knows none of it.
|
|
68
68
|
*/
|
|
69
69
|
import { encodeSSE } from '../stream.js';
|
|
70
|
-
import { ArtifactNotCarriedError, HostClosedError, InvalidWireOpError, SessionsNotCarriedError, } from './errors.js';
|
|
70
|
+
import { ArtifactNotCarriedError, HostClosedError, InvalidWireOpError, RequestTooLargeError, SessionsNotCarriedError, WireRequestRefusal, } from './errors.js';
|
|
71
71
|
import { SESSION_LIST_OP, SESSION_TRANSCRIPT_OP } from './sessionWire.js';
|
|
72
72
|
import { lowerCasedHeaders } from './headers.js';
|
|
73
73
|
import { conversationDoor, } from './webSocketConversation.js';
|
|
@@ -126,6 +126,7 @@ const STATUS_BY_CODE = {
|
|
|
126
126
|
ERR_SESSION_OP_NEEDS_IDENTITY: 501,
|
|
127
127
|
ERR_SESSION_INDEX_UNAVAILABLE: 501,
|
|
128
128
|
ERR_SESSIONS_NOT_CARRIED: 501,
|
|
129
|
+
ERR_REQUEST_TOO_LARGE: 413,
|
|
129
130
|
};
|
|
130
131
|
/**
|
|
131
132
|
* What a run that stopped to ask a person answers with: **202 Accepted.**
|
|
@@ -159,6 +160,10 @@ const DEFAULT_CONVERSATION_LIMITS = {
|
|
|
159
160
|
*/
|
|
160
161
|
export function httpHost(options) {
|
|
161
162
|
const { name, wire, invokePath, healthPath, conversationPath } = options;
|
|
163
|
+
const { maxBodyBytes, invokeHeadProbe = false } = options;
|
|
164
|
+
if (maxBodyBytes !== undefined && (!Number.isInteger(maxBodyBytes) || maxBodyBytes <= 0)) {
|
|
165
|
+
throw new TypeError(`[hosting] ${name}: maxBodyBytes must be a positive integer; received ${String(maxBodyBytes)}.`);
|
|
166
|
+
}
|
|
162
167
|
const ownServer = options.server;
|
|
163
168
|
// Refused at construction, not ignored at serve time: a `port` next to a
|
|
164
169
|
// server this host does not bind is a caller who believes something untrue
|
|
@@ -389,6 +394,13 @@ export function httpHost(options) {
|
|
|
389
394
|
sendJson(res, 200, wire.health(Date.now() - startedAt));
|
|
390
395
|
return;
|
|
391
396
|
}
|
|
397
|
+
// A capability probe, not a turn: nothing is read and nothing is run,
|
|
398
|
+
// so it is answered before the body machinery below ever sees it.
|
|
399
|
+
if (invokeHeadProbe && req.method === 'HEAD' && path === invokePath) {
|
|
400
|
+
res.writeHead(204, { allow: 'HEAD, POST' });
|
|
401
|
+
res.end();
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
392
404
|
if (req.method !== 'POST' || path !== invokePath) {
|
|
393
405
|
// On a server we own, an unmatched path is nobody else's, so saying
|
|
394
406
|
// so is the honest answer. On a server the CALLER owns it is theirs,
|
|
@@ -412,7 +424,7 @@ export function httpHost(options) {
|
|
|
412
424
|
sendJson(res, STATUS_BY_CODE[refusal.code] ?? 500, wire.failure(refusal.message, refusal.code));
|
|
413
425
|
return;
|
|
414
426
|
}
|
|
415
|
-
const served = serveOne(req, res, handler, wire, name);
|
|
427
|
+
const served = serveOne(req, res, handler, wire, name, maxBodyBytes);
|
|
416
428
|
inFlight.add(served);
|
|
417
429
|
// `serveOne` never rejects, by construction — see its doc.
|
|
418
430
|
void served.finally(() => inFlight.delete(served));
|
|
@@ -482,9 +494,9 @@ export function httpHost(options) {
|
|
|
482
494
|
* which on node's defaults is the same crash the law above forbids, reached by
|
|
483
495
|
* a different road.
|
|
484
496
|
*/
|
|
485
|
-
async function serveOne(req, res, handler, wire, hostName) {
|
|
497
|
+
async function serveOne(req, res, handler, wire, hostName, maxBodyBytes) {
|
|
486
498
|
try {
|
|
487
|
-
await dispatchOne(req, res, handler, wire, hostName);
|
|
499
|
+
await dispatchOne(req, res, handler, wire, hostName, maxBodyBytes);
|
|
488
500
|
}
|
|
489
501
|
catch (err) {
|
|
490
502
|
// Everything inside answers its own failures; anything that got past them
|
|
@@ -493,22 +505,35 @@ async function serveOne(req, res, handler, wire, hostName) {
|
|
|
493
505
|
failSafely(res, wire, err);
|
|
494
506
|
}
|
|
495
507
|
}
|
|
496
|
-
async function dispatchOne(req, res, handler, wire, hostName) {
|
|
497
|
-
const wantsStream = (req.headers.accept ?? '').includes('text/event-stream');
|
|
508
|
+
async function dispatchOne(req, res, handler, wire, hostName, maxBodyBytes) {
|
|
498
509
|
const controller = new AbortController();
|
|
499
510
|
let body;
|
|
500
511
|
try {
|
|
501
|
-
body = await readJson(req);
|
|
512
|
+
body = await readJson(req, maxBodyBytes, hostName);
|
|
502
513
|
}
|
|
503
514
|
catch (err) {
|
|
515
|
+
// A body over the ceiling is not a malformed body, and telling the caller
|
|
516
|
+
// its JSON was invalid would send them looking for a syntax error that is
|
|
517
|
+
// not there.
|
|
518
|
+
if (err instanceof RequestTooLargeError) {
|
|
519
|
+
sendJson(res, STATUS_BY_CODE[err.code] ?? 413, wire.failure(err.message, err.code));
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
504
522
|
sendJson(res, 400, wire.failure(`invalid JSON body: ${asError(err).message}`));
|
|
505
523
|
return;
|
|
506
524
|
}
|
|
507
525
|
const headers = lowerCasedHeaders(req.headers);
|
|
508
526
|
const query = new URLSearchParams((req.url ?? '').split('?')[1] ?? '');
|
|
527
|
+
const facts = { body, headers, query };
|
|
528
|
+
// Read AFTER the body, because a dialect that carries the choice in the body
|
|
529
|
+
// cannot answer before there is one. Defaults to the HTTP question when the
|
|
530
|
+
// dialect does not say.
|
|
531
|
+
const wantsStream = wire.wantsStream
|
|
532
|
+
? wire.wantsStream(facts)
|
|
533
|
+
: (req.headers.accept ?? '').includes('text/event-stream');
|
|
509
534
|
let read;
|
|
510
535
|
try {
|
|
511
|
-
read = wire.readRequest(
|
|
536
|
+
read = wire.readRequest(facts);
|
|
512
537
|
}
|
|
513
538
|
catch (err) {
|
|
514
539
|
// A body that NAMED a wire operation this dialect does not speak — or
|
|
@@ -517,7 +542,15 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
517
542
|
// to a model turn. Anything else a dialect throws stays what it always
|
|
518
543
|
// was: this request's 500, via serveOne's catch.
|
|
519
544
|
if (err instanceof InvalidWireOpError) {
|
|
520
|
-
sendJson(res, STATUS_BY_CODE[err.code] ?? 400, wire.failure(err.message, err.code));
|
|
545
|
+
sendJson(res, STATUS_BY_CODE[err.code] ?? 400, wire.failure(err.message, err.code, facts));
|
|
546
|
+
return;
|
|
547
|
+
}
|
|
548
|
+
// A dialect that looked at the body and refused it by name — an input kind
|
|
549
|
+
// it does not carry, a field of the wrong type. Same law as above: the
|
|
550
|
+
// REQUEST is what is wrong, so it gets a status the caller can act on and
|
|
551
|
+
// never falls through to a model turn.
|
|
552
|
+
if (err instanceof WireRequestRefusal) {
|
|
553
|
+
sendJson(res, err.status, wire.failure(err.message, err.code, facts));
|
|
521
554
|
return;
|
|
522
555
|
}
|
|
523
556
|
throw err;
|
|
@@ -528,6 +561,9 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
528
561
|
// is this host's to decide: a dialect that set it would be choosing between
|
|
529
562
|
// one JSON body and Server-Sent Events on the caller's behalf.
|
|
530
563
|
const extraHeaders = withoutContentType(responseHeaders);
|
|
564
|
+
// One framing per streaming response, so whatever it remembers across its
|
|
565
|
+
// frames belongs to this caller alone.
|
|
566
|
+
const framing = wantsStream ? wire.stream?.(facts) ?? defaultFraming(wire, facts) : undefined;
|
|
531
567
|
if (wantsStream) {
|
|
532
568
|
res.writeHead(200, {
|
|
533
569
|
...extraHeaders,
|
|
@@ -535,8 +571,10 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
535
571
|
'cache-control': 'no-cache',
|
|
536
572
|
connection: 'keep-alive',
|
|
537
573
|
});
|
|
574
|
+
writeFrames(res, framing?.open?.() ?? []);
|
|
538
575
|
}
|
|
539
576
|
let settled = false;
|
|
577
|
+
let handlerThrew = false;
|
|
540
578
|
// The caller hung up before we answered — tell the handler so it can stop
|
|
541
579
|
// paying for work nobody is waiting for.
|
|
542
580
|
res.once('close', () => {
|
|
@@ -556,18 +594,18 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
556
594
|
// in full, so there is nothing to send and nothing to keep.
|
|
557
595
|
if (settled || !wantsStream)
|
|
558
596
|
return;
|
|
559
|
-
res
|
|
597
|
+
writeFrames(res, framing?.chunk(chunk) ?? []);
|
|
560
598
|
},
|
|
561
599
|
complete(output) {
|
|
562
600
|
if (settled)
|
|
563
601
|
return;
|
|
564
602
|
settled = true;
|
|
565
603
|
if (wantsStream) {
|
|
566
|
-
res
|
|
604
|
+
writeFrames(res, framing?.complete(output) ?? []);
|
|
567
605
|
res.end();
|
|
568
606
|
}
|
|
569
607
|
else {
|
|
570
|
-
sendJson(res, 200, wire.output(output), extraHeaders);
|
|
608
|
+
sendJson(res, 200, wire.output(output, facts), extraHeaders);
|
|
571
609
|
}
|
|
572
610
|
},
|
|
573
611
|
artifact(result) {
|
|
@@ -584,7 +622,7 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
584
622
|
settled = true;
|
|
585
623
|
const payload = wire.artifact(result);
|
|
586
624
|
if (wantsStream) {
|
|
587
|
-
res
|
|
625
|
+
writeFrames(res, framing?.artifact?.(result) ?? [{ event: 'artifact', data: payload }]);
|
|
588
626
|
res.end();
|
|
589
627
|
}
|
|
590
628
|
else {
|
|
@@ -604,7 +642,7 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
604
642
|
settled = true;
|
|
605
643
|
const payload = wire.sessions(result);
|
|
606
644
|
if (wantsStream) {
|
|
607
|
-
res
|
|
645
|
+
writeFrames(res, framing?.sessions?.(result) ?? [{ event: 'sessions', data: payload }]);
|
|
608
646
|
res.end();
|
|
609
647
|
}
|
|
610
648
|
else {
|
|
@@ -629,7 +667,7 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
629
667
|
settled = true;
|
|
630
668
|
const payload = wire.awaiting(pending);
|
|
631
669
|
if (wantsStream) {
|
|
632
|
-
res
|
|
670
|
+
writeFrames(res, framing?.awaiting?.(pending) ?? [{ event: 'awaiting', data: payload }]);
|
|
633
671
|
res.end();
|
|
634
672
|
}
|
|
635
673
|
else {
|
|
@@ -641,9 +679,10 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
641
679
|
return;
|
|
642
680
|
settled = true;
|
|
643
681
|
const code = error.code;
|
|
644
|
-
const
|
|
682
|
+
const origin = handlerThrew ? 'threw' : 'refused';
|
|
683
|
+
const payload = wire.failure(error.message, code, facts, origin);
|
|
645
684
|
if (wantsStream) {
|
|
646
|
-
res
|
|
685
|
+
writeFrames(res, framing?.failure(error.message, code, origin) ?? []);
|
|
647
686
|
res.end();
|
|
648
687
|
}
|
|
649
688
|
else {
|
|
@@ -664,7 +703,10 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
664
703
|
}, reply);
|
|
665
704
|
}
|
|
666
705
|
catch (err) {
|
|
667
|
-
// A handler that throws is a failed request, never a hung one
|
|
706
|
+
// A handler that throws is a failed request, never a hung one — and the
|
|
707
|
+
// words it threw are not the same kind of thing as the words a handler
|
|
708
|
+
// CHOOSES to fail with. Dialects that care are told which this was.
|
|
709
|
+
handlerThrew = true;
|
|
668
710
|
reply.fail(asError(err));
|
|
669
711
|
}
|
|
670
712
|
// A handler that returned without answering gets one authored answer rather
|
|
@@ -704,19 +746,75 @@ async function dispatchOne(req, res, handler, wire, hostName) {
|
|
|
704
746
|
* was found to break: a surprise this file has not imagined yet becomes THIS
|
|
705
747
|
* REQUEST's 400 or 500, the failure of the thing that caused it.
|
|
706
748
|
*/
|
|
707
|
-
|
|
749
|
+
/**
|
|
750
|
+
* Write a framing's frames, in order, as Server-Sent Events.
|
|
751
|
+
*
|
|
752
|
+
* A framing that returns nothing writes nothing — which is how "this lifecycle
|
|
753
|
+
* point has no frame in this dialect" is said.
|
|
754
|
+
*/
|
|
755
|
+
function writeFrames(res, frames) {
|
|
756
|
+
for (const frame of frames)
|
|
757
|
+
res.write(encodeSSE(frame.event, frame.data));
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* This host's own stream shape, expressed as a {@link StreamFraming}.
|
|
761
|
+
*
|
|
762
|
+
* One `chunk` frame per piece, one terminal frame, both carrying the wire's own
|
|
763
|
+
* body shapes — byte for byte what this file wrote before the seam existed. It
|
|
764
|
+
* lives here as an ordinary framing rather than as a branch, so the shape every
|
|
765
|
+
* shipped adapter depends on is exercised by the same code path a dialect's own
|
|
766
|
+
* framing takes.
|
|
767
|
+
*/
|
|
768
|
+
function defaultFraming(wire, facts) {
|
|
769
|
+
return {
|
|
770
|
+
chunk: (text) => [{ event: 'chunk', data: wire.chunk(text) }],
|
|
771
|
+
complete: (output) => [{ event: 'complete', data: wire.output(output, facts) }],
|
|
772
|
+
failure: (message, code, origin) => [
|
|
773
|
+
{ event: 'error', data: wire.failure(message, code, facts, origin) },
|
|
774
|
+
],
|
|
775
|
+
};
|
|
776
|
+
}
|
|
777
|
+
/**
|
|
778
|
+
* Read one JSON body, refusing at the ceiling rather than after it.
|
|
779
|
+
*
|
|
780
|
+
* The refusal fires on the chunk that CROSSES the line: what was buffered is
|
|
781
|
+
* dropped and nothing further is kept, so a caller cannot spend this process's
|
|
782
|
+
* memory by sending a body it was always going to be refused for. With no
|
|
783
|
+
* ceiling the read is what it has always been.
|
|
784
|
+
*/
|
|
785
|
+
function readJson(req, maxBodyBytes, hostName) {
|
|
708
786
|
return new Promise((resolve, reject) => {
|
|
709
|
-
|
|
787
|
+
let chunks = [];
|
|
788
|
+
let bytes = 0;
|
|
789
|
+
let refused = false;
|
|
710
790
|
req.on('data', (c) => {
|
|
791
|
+
if (refused)
|
|
792
|
+
return;
|
|
711
793
|
try {
|
|
712
|
-
|
|
794
|
+
const chunk = typeof c === 'string' ? Buffer.from(c, 'utf8') : c;
|
|
795
|
+
bytes += chunk.byteLength;
|
|
796
|
+
if (maxBodyBytes !== undefined && bytes > maxBodyBytes) {
|
|
797
|
+
refused = true;
|
|
798
|
+
// Let go of what was read: this request is already answered, and
|
|
799
|
+
// holding its bytes until the socket drains is the cost the ceiling
|
|
800
|
+
// exists to refuse.
|
|
801
|
+
chunks = [];
|
|
802
|
+
reject(new RequestTooLargeError(maxBodyBytes, hostName));
|
|
803
|
+
return;
|
|
804
|
+
}
|
|
805
|
+
chunks.push(chunk);
|
|
713
806
|
}
|
|
714
807
|
catch (err) {
|
|
715
808
|
reject(asError(err));
|
|
716
809
|
}
|
|
717
810
|
});
|
|
718
|
-
req.on('error',
|
|
811
|
+
req.on('error', (err) => {
|
|
812
|
+
if (!refused)
|
|
813
|
+
reject(err);
|
|
814
|
+
});
|
|
719
815
|
req.on('end', () => {
|
|
816
|
+
if (refused)
|
|
817
|
+
return;
|
|
720
818
|
try {
|
|
721
819
|
const raw = Buffer.concat(chunks).toString('utf8');
|
|
722
820
|
if (!raw)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpHost.js","sourceRoot":"","sources":["../../../src/hosting/httpHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAYjD,OAAO,EACL,gBAAgB,GAGjB,MAAM,4BAA4B,CAAC;AA6TpC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,cAAc,GAAqC;IACvD,eAAe,EAAE,GAAG;IACpB,kBAAkB,EAAE,GAAG;IACvB,qBAAqB,EAAE,GAAG;IAC1B,qBAAqB,EAAE,GAAG;IAC1B,kBAAkB,EAAE,GAAG;IACvB,qBAAqB,EAAE,GAAG;IAC1B,mBAAmB,EAAE,GAAG;IACxB,6BAA6B,EAAE,GAAG;IAClC,sBAAsB,EAAE,GAAG;IAC3B,qBAAqB,EAAE,GAAG;IAC1B,wBAAwB,EAAE,GAAG;IAC7B,wDAAwD;IACxD,6EAA6E;IAC7E,2DAA2D;IAC3D,6EAA6E;IAC7E,4EAA4E;IAC5E,oDAAoD;IACpD,4EAA4E;IAC5E,iEAAiE;IACjE,yEAAyE;IACzE,uCAAuC;IACvC,2EAA2E;IAC3E,0EAA0E;IAC1E,iEAAiE;IACjE,yBAAyB,EAAE,GAAG;IAC9B,iCAAiC,EAAE,GAAG;IACtC,qBAAqB,EAAE,GAAG;IAC1B,qBAAqB,EAAE,GAAG;IAC1B,6BAA6B,EAAE,GAAG;IAClC,6BAA6B,EAAE,GAAG;IAClC,wBAAwB,EAAE,GAAG;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,oBAAoB,GAA8B,CAAC,WAAW,CAAC,CAAC;AAEtE;;;;;;;;;GASG;AACH,MAAM,2BAA2B,GAAG;IAClC,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,SAAS;CAClB,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,qBAAqB;IACrB,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,kDAAkD;YAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,kCAAkC;YACtF,qFAAqF;YACrF,2DAA2D,CAC9D,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,oDAAoD;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,IAAI,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,mDAAmD;YAC5E,uFAAuF;YACvF,uFAAuF;YACvF,oFAAoF;YACpF,iFAAiF,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C;;;;;OAKG;IACH,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE,CACzC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,gBAAgB,CAAC;IAC1E,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY;QACpB,CAAC,gBAAgB,KAAK,SAAS;YAC7B,CAAC,CAAE,CAAC,GAAG,oBAAoB,EAAE,cAAc,CAAW;YACtD,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5B,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,kBAAkB,GAAuB;QAC7C,GAAG,2BAA2B;QAC9B,GAAG,OAAO,CAAC,kBAAkB;KAC9B,CAAC;IAEF,sEAAsE;IACtE,EAAE;IACF,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,iDAAiD;IACjD,IAAI,MAAmC,CAAC;IACxC,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,UAAU,aAAa;QAC1B,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,oDAAoD;oBAC7E,8EAA8E;oBAC9E,wEAAwE;oBACxE,6DAA6D,CAChE,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,CAAC;QACb,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6DAA6D;YAC7D,OAAO,IAAI,CAAC,CAAC;YACb,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,aAAa;QAC1B,IAAI,SAAS;YAAE,OAAO;QACtB,OAAO,IAAI,CAAC,CAAC;QACb,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC;QACpB,MAAM,GAAG,SAAS,CAAC;QACnB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,gFAAgF;IAChF,SAAS,SAAS,CAAC,MAAc;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,mCAAmC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;gBACrF,gFAAgF;gBAChF,kFAAkF;gBAClF,6BAA6B,CAChC,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACxC,qEAAqE;QACrE,yDAAyD;QACzD,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrE,MAAM,WAAW,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,OAAO,EAAE,GAAG,EAAE,UAAU,WAAW,IAAI,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC,OAAO;QACL,IAAI;QACJ,YAAY;QACZ,kBAAkB;QAElB,KAAK,CAAC,kBAAkB,CAAC,OAA4B;YACnD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,8DAA8D;oBAClF,2EAA2E;oBAC3E,yEAAyE;oBACzE,qEAAqE,CACxE,CAAC;YACJ,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,6CAA6C;oBACjE,IAAI,gBAAgB,0DAA0D;oBAC9E,+EAA+E;oBAC/E,uBAAuB,CAC1B,CAAC;YACJ,CAAC;YACD,oBAAoB,GAAG,IAAI,CAAC;YAE5B,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,OAAkC,CAAC;YACvC,MAAM,IAAI,GAAG,gBAAgB,CAAC;gBAC5B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpF,OAAO;gBACP,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;aAC3B,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,CAAC,OAAwB,EAAE,oBAA4B,EAAQ,EAAE;gBACjF,oEAAoE;gBACpE,wEAAwE;gBACxE,kEAAkE;gBAClE,IAAI,OAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAC9D,CAAC;gBAAC,MAAM,CAAC;oBACP,iEAAiE;oBACjE,sCAAsC;oBACtC,oBAAoB,CAAC,OAAO,EAAE,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO;oBAAE,OAAO;gBACpB,sEAAsE;gBACtE,uEAAuE;gBACvE,wEAAwE;gBACxE,EAAE;gBACF,oEAAoE;gBACpE,wEAAwE;gBACxE,qEAAqE;gBACrE,6DAA6D;gBAC7D,IAAI,SAAS;oBAAE,OAAO;gBACtB,oBAAoB,CAAC,GAAG,CACtB,uDAAuD;oBACrD,kBAAkB,IAAI,iCAAiC,gBAAgB,GAAG,CAC7E,CAAC;YACJ,CAAC,CAAC;YAEF,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,oBAAoB,GAAG,KAAK,CAAC;gBAC7B,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAChC,IAAI,KAAoC,CAAC;YACzC,IAAI,CAAC;gBACH,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACjC,oBAAoB,GAAG,KAAK,CAAC;gBAC7B,MAAM,aAAa,EAAE,CAAC;gBACtB,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,OAAO;gBACL,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;oBACH,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;wBACtB,SAAS,GAAG,KAAK,CAAC;wBAClB,IAAI,SAAS;4BAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;wBAChD,iEAAiE;wBACjE,qEAAqE;wBACrE,kEAAkE;wBAClE,qDAAqD;wBACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,yBAAyB,CAAC,CAAC;wBAC3D,IAAI,CAAC,SAAS;4BAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;wBACjD,oBAAoB,GAAG,KAAK,CAAC;wBAC7B,MAAM,aAAa,EAAE,CAAC;oBACxB,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,OAAO,CAAC;gBACjB,CAAC;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,OAAoB;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAC;YAC1C,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,OAAkC,CAAC;YAEvC,MAAM,KAAK,GAAG,CAAC,GAAoB,EAAE,GAAmB,EAAQ,EAAE;gBAChE,oEAAoE;gBACpE,kEAAkE;gBAClE,IAAI,GAAG,CAAC,WAAW;oBAAE,OAAO;gBAC5B,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE3C,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBAChD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;oBACxD,OAAO;gBACT,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBACjD,oEAAoE;oBACpE,qEAAqE;oBACrE,wDAAwD;oBACxD,IAAI,SAAS;wBAAE,OAAO;oBACtB,kEAAkE;oBAClE,oEAAoE;oBACpE,oEAAoE;oBACpE,sEAAsE;oBACtE,oDAAoD;oBACpD,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjD,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBACtB,OAAO;oBACT,CAAC;oBACD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC9E,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC1C,QAAQ,CACN,GAAG,EACH,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,EACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAC5C,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACrB,2DAA2D;gBAC3D,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC;YAEF,yEAAyE;YACzE,wEAAwE;YACxE,qEAAqE;YACrE,qEAAqE;YACrE,qEAAqE;YACrE,mDAAmD;YACnD,MAAM,SAAS,GAAG,CAAC,GAAoB,EAAE,GAAmB,EAAQ,EAAE;gBACpE,IAAI,CAAC;oBACH,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;YACrC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAChC,IAAI,KAAoC,CAAC;YACzC,IAAI,CAAC;gBACH,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACjC,MAAM,aAAa,EAAE,CAAC;gBACtB,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,OAAO;gBACL,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;oBACH,qEAAqE;oBACrE,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;wBACtB,SAAS,GAAG,KAAK,CAAC;wBAClB,IAAI,SAAS,EAAE,CAAC;4BACd,gEAAgE;4BAChE,gEAAgE;4BAChE,gEAAgE;4BAChE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;4BACjC,+DAA+D;4BAC/D,kEAAkE;4BAClE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;4BACxC,OAAO;wBACT,CAAC;wBACD,mEAAmE;wBACnE,iEAAiE;wBACjE,oCAAoC;wBACpC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;wBACxC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;wBACjC,2DAA2D;wBAC3D,kEAAkE;wBAClE,MAAM,aAAa,EAAE,CAAC;oBACxB,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,OAAO,CAAC;gBACjB,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,QAAQ,CACrB,GAAoB,EACpB,GAAmB,EACnB,OAAoB,EACpB,IAAc,EACd,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0EAA0E;QAC1E,0EAA0E;QAC1E,2CAA2C;QAC3C,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,GAAoB,EACpB,GAAmB,EACnB,OAAoB,EACpB,IAAc,EACd,QAAgB;IAEhB,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,IAAI,IAA6B,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,IAAI,IAAyC,CAAC;IAC9C,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,iDAAiD;QACjD,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;YACtC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACxF,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,+DAA+D;IAC/D,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAEzD,IAAI,WAAW,EAAE,CAAC;QAChB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,GAAG,YAAY;YACf,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,UAAU;YAC3B,UAAU,EAAE,YAAY;SACzB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,0EAA0E;IAC1E,yCAAyC;IACzC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;YACrE,sEAAsE;YACtE,sEAAsE;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAc;QACvB,IAAI,CAAC,KAAa;YAChB,wEAAwE;YACxE,4DAA4D;YAC5D,IAAI,OAAO,IAAI,CAAC,WAAW;gBAAE,OAAO;YACpC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,QAAQ,CAAC,MAAc;YACrB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtD,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,MAAM;YACb,IAAI,OAAO;gBAAE,OAAO;YACpB,qEAAqE;YACrE,uEAAuE;YACvE,wEAAwE;YACxE,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,MAAM;YACb,IAAI,OAAO;gBAAE,OAAO;YACpB,uEAAuE;YACvE,uEAAuE;YACvE,mBAAmB;YACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CACR,IAAI,uBAAuB,CACzB,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,EAC9D,QAAQ,CACT,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,OAAO;YACd,IAAI,OAAO;gBAAE,OAAO;YACpB,qEAAqE;YACrE,yEAAyE;YACzE,qEAAqE;YACrE,iBAAiB;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,IAAI,KAAK,CACvB,uEAAuE;oBACrE,0EAA0E;oBAC1E,wEAAwE,CAC3E,CAAC;gBACD,OAA6B,CAAC,IAAI,GAAG,uBAAuB,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAY;YACf,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,IAAI,GAAI,KAA2B,CAAC,IAAI,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBACvC,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CACN,GAAG,EACH,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EACtD,OAAO,EACP,YAAY,CACb,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,OAAO,CACX;YACE,KAAK;YACL,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;YACvC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC;YACzC,OAAO;YACP,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,+DAA+D;QAC/D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,4EAA4E;IAC5E,wDAAwD;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,QAAQ,CAAC,GAAoB;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAkB,EAAE,EAAE;YACpC,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAG;oBAAE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxC,OAAO,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAkC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CACf,GAAmB,EACnB,MAAc,EACd,IAAa,EACb,YAA+C;IAE/C,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,GAAG,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC/E,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,OAAqD;IAErD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc;YAAE,SAAS;QACpD,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,UAAU,CAAC,GAAmB,EAAE,IAAc,EAAE,GAAY;IACnE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IACrC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,aAAa;YAAE,OAAO;QAC9B,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,kEAAkE;IACpE,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAY;IAC3B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CACzB,KAA6D,EAC7D,IAAY,EACZ,GAAG,SAAmB;IAEtB,KAAK,MAAM,SAAS,IAAI,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAClE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"httpHost.js","sourceRoot":"","sources":["../../../src/hosting/httpHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,14 +95,14 @@
|
|
|
95
95
|
export { nodeHost, jsonWire, jsonWireWith, DEFAULT_SESSION_HEADER } from './nodeHost.js';
|
|
96
96
|
export type { NodeHost, NodeHostHandle, NodeHostOptions, JsonWireOptions } from './nodeHost.js';
|
|
97
97
|
export { httpHost, headerValue } from './httpHost.js';
|
|
98
|
-
export type { ConversationHandshake, HandshakeFacts, HttpHost, HttpHostHandle, HttpHostOptions, HttpRequestFacts, HttpWire, } from './httpHost.js';
|
|
98
|
+
export type { ConversationHandshake, HandshakeFacts, HttpHost, HttpHostHandle, HttpHostOptions, FailureOrigin, HttpRequestFacts, HttpWire, StreamFrame, StreamFraming, } from './httpHost.js';
|
|
99
99
|
export { memorySessions } from './memorySessions.js';
|
|
100
100
|
export { sqliteSessions, SqliteUnavailableError, UnreadableSessionFileError, } from './sqliteSessions.js';
|
|
101
101
|
export type { SqliteSessions, SqliteSessionsOptions } from './sqliteSessions.js';
|
|
102
102
|
export { toEnvelope, envelopeOwner, envelopeTranscript, toPausedEnvelope, readEnvelope, readPausedRun, checkEnvelope, } from './envelope.js';
|
|
103
103
|
export { standingAgent } from './standingAgent.js';
|
|
104
104
|
export { DEFAULT_MAX_ACTIVE_SESSIONS, DEFAULT_SWEEP_LIMIT } from './types.js';
|
|
105
|
-
export { requireCapability, HostClosedError, ConcurrentRunError, PauseNotCarriedError, AwaitingDecisionError, NoPendingAskError, UnreadableEnvelopeError, ConversationClosedError, FrameTooLargeError, InvalidWireOpError, ArtifactSessionRequiredError, NoArtifactStoreError, ArtifactNotFoundError, ArtifactNotCarriedError, IdentityNotVerifiedError, VerifierUnavailableError, AdmissionRefusedError, SessionOpNeedsIdentityError, SessionIndexUnavailableError, SessionRetentionUnavailableError, SessionNotFoundError, SessionOwnershipConflictError, SessionsNotCarriedError, } from './errors.js';
|
|
105
|
+
export { requireCapability, HostClosedError, ConcurrentRunError, PauseNotCarriedError, AwaitingDecisionError, NoPendingAskError, UnreadableEnvelopeError, ConversationClosedError, FrameTooLargeError, InvalidWireOpError, ArtifactSessionRequiredError, NoArtifactStoreError, ArtifactNotFoundError, ArtifactNotCarriedError, IdentityNotVerifiedError, VerifierUnavailableError, AdmissionRefusedError, SessionOpNeedsIdentityError, SessionIndexUnavailableError, SessionRetentionUnavailableError, SessionNotFoundError, SessionOwnershipConflictError, SessionsNotCarriedError, RequestTooLargeError, WireRequestRefusal, } from './errors.js';
|
|
106
106
|
export type { IdentityFailureClass } from './errors.js';
|
|
107
107
|
export { sessionRetention } from './sessionRetention.js';
|
|
108
108
|
export { resolveSessionOwner } from './sessionOwnership.js';
|
|
@@ -105,7 +105,7 @@ export { sqliteSessions, SqliteUnavailableError, UnreadableSessionFileError, } f
|
|
|
105
105
|
export { toEnvelope, envelopeOwner, envelopeTranscript, toPausedEnvelope, readEnvelope, readPausedRun, checkEnvelope, } from './envelope.js';
|
|
106
106
|
export { standingAgent } from './standingAgent.js';
|
|
107
107
|
export { DEFAULT_MAX_ACTIVE_SESSIONS, DEFAULT_SWEEP_LIMIT } from './types.js';
|
|
108
|
-
export { requireCapability, HostClosedError, ConcurrentRunError, PauseNotCarriedError, AwaitingDecisionError, NoPendingAskError, UnreadableEnvelopeError, ConversationClosedError, FrameTooLargeError, InvalidWireOpError, ArtifactSessionRequiredError, NoArtifactStoreError, ArtifactNotFoundError, ArtifactNotCarriedError, IdentityNotVerifiedError, VerifierUnavailableError, AdmissionRefusedError, SessionOpNeedsIdentityError, SessionIndexUnavailableError, SessionRetentionUnavailableError, SessionNotFoundError, SessionOwnershipConflictError, SessionsNotCarriedError, } from './errors.js';
|
|
108
|
+
export { requireCapability, HostClosedError, ConcurrentRunError, PauseNotCarriedError, AwaitingDecisionError, NoPendingAskError, UnreadableEnvelopeError, ConversationClosedError, FrameTooLargeError, InvalidWireOpError, ArtifactSessionRequiredError, NoArtifactStoreError, ArtifactNotFoundError, ArtifactNotCarriedError, IdentityNotVerifiedError, VerifierUnavailableError, AdmissionRefusedError, SessionOpNeedsIdentityError, SessionIndexUnavailableError, SessionRetentionUnavailableError, SessionNotFoundError, SessionOwnershipConflictError, SessionsNotCarriedError, RequestTooLargeError, WireRequestRefusal, } from './errors.js';
|
|
109
109
|
// Retention (9.42.0) — the ONE feature detection for the port's optional
|
|
110
110
|
// `retention()` member, and the refusal a store without one produces. A door
|
|
111
111
|
// rather than `sessions.retention?.()`, because `undefined` there reads as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hosting/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEzF,6EAA6E;AAC7E,2EAA2E;AAC3E,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,oCAAoC;AAEpC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hosting/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEzF,6EAA6E;AAC7E,2EAA2E;AAC3E,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,oCAAoC;AAEpC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AActD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,gCAAgC,EAChC,oBAAoB,EACpB,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,kCAAkC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,cAAc;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,4EAA4E;AAC5E,4EAA4E;AAC5E,4CAA4C;AAC5C,yCAAyC;AACzC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAWhC,2EAA2E;AAC3E,iEAAiE;AACjE,8EAA8E;AAC9E,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAO/E,+EAA+E;AAC/E,uEAAuE;AACvE,2DAA2D;AAC3D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAuBxE,+EAA+E;AAC/E,yEAAyE;AACzE,qBAAqB;AACrB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGrF,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,2BAA2B;AAC3B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
|
|
@@ -25,6 +25,19 @@
|
|
|
25
25
|
* idleMs: 900000 }` declared, session affinity readable from header or
|
|
26
26
|
* query, and a `Sec-WebSocket-Protocol` bearer mapped into
|
|
27
27
|
* `headers.authorization`.
|
|
28
|
+
* • `foundryResponsesHost({ port?, hostname?, model?, maxBodyBytes? })` — an
|
|
29
|
+
* `AgentHost` for Microsoft Foundry's hosted-agent contract: `POST
|
|
30
|
+
* /responses`, a `HEAD` capability probe on the same path, `GET /readiness`
|
|
31
|
+
* answering `{"status":"healthy"}`, port 8088, and the session read from
|
|
32
|
+
* `conversation` / `agent_session_id` / `session_id` in that order. It
|
|
33
|
+
* streams when the BODY says `stream: true` — not the `Accept` header —
|
|
34
|
+
* and frames that stream as the Responses lifecycle.
|
|
35
|
+
* **Inbound only:** it is the door callers arrive at, and says nothing
|
|
36
|
+
* about which model the agent calls. It does NOT provide Workflow
|
|
37
|
+
* Visualizer topology; see the adapter's header.
|
|
38
|
+
* • `responsesWire({ defaultModel?, sessionFields?, health? })` — the
|
|
39
|
+
* Responses PROTOCOL as an `HttpWire`, with no vendor in it, for the next
|
|
40
|
+
* runtime that speaks it on paths of its own.
|
|
28
41
|
* • `agentCoreSessions({ store })` — a `SessionLifecycle` whose checkpoint
|
|
29
42
|
* home you choose at construction: a JSON file in the runtime's own session
|
|
30
43
|
* storage (survives a stop/resume, needs no SDK), or one AgentCore Memory
|
|
@@ -87,6 +100,10 @@
|
|
|
87
100
|
* symbols, one door. Import from the door.
|
|
88
101
|
*/
|
|
89
102
|
export { agentCoreRuntimeHost, agentCoreRuntimeWire, readAgentCoreConversation, agentCoreSessions, DEFAULT_SESSION_STORAGE_PATH, } from './adapters/hosting/agentcore.js';
|
|
103
|
+
export { foundryResponsesHost, DEFAULT_FOUNDRY_PORT, FOUNDRY_INVOKE_PATH, FOUNDRY_READINESS_PATH, FOUNDRY_SESSION_FIELDS, } from './adapters/hosting/foundryResponses.js';
|
|
104
|
+
export type { FoundryResponsesHostOptions } from './adapters/hosting/foundryResponses.js';
|
|
105
|
+
export { responsesWire, readResponsesInput, readResponsesSession, DEFAULT_SESSION_FIELDS, PUBLIC_FAILURE_MESSAGE, } from './adapters/hosting/responsesWire.js';
|
|
106
|
+
export type { ResponsesWireOptions } from './adapters/hosting/responsesWire.js';
|
|
90
107
|
export { agentEngineSessions, DEFAULT_USER_ID, SESSION_STATE_KEY, SESSION_EVENT_AUTHOR, } from './adapters/hosting/googleAgentEngine.js';
|
|
91
108
|
export type { AgentEngineSessions, AgentEngineSessionsOptions, } from './adapters/hosting/googleAgentEngine.js';
|
|
92
109
|
export { firestoreSessions, DEFAULT_SESSION_COLLECTION, EXPIRES_AT_FIELD, FIRESTORE_MAX_DOCUMENT_BYTES, FIRESTORE_MAX_ENVELOPE_BYTES, EnvelopeTooLargeError, FirestoreIndexMissingError, } from './adapters/hosting/firestoreSessions.js';
|