@plurnk/plurnk-schemes-http 1.7.0 → 1.9.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.
@@ -1,7 +1,7 @@
1
1
  import { MimetypeClassifier, Results, } from "@plurnk/plurnk-schemes";
2
2
  import Guard, { GuardBlockedError } from "./Guard.js";
3
3
  import { responseMimetype } from "./ContentType.js";
4
- import { tavilyConfiguration, tavilyExtract, tavilyExtractIdentity, } from "./TavilyExtract.js";
4
+ import MaterializerRegistry from "./Materializer.js";
5
5
  import { requirePositiveIntegerEnv } from "./Config.js";
6
6
  import ErrorDetail from "./ErrorDetail.js";
7
7
  export const DEFAULT_WEB_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36";
@@ -9,14 +9,10 @@ export const MARKDOWN_ACCEPT = "text/markdown, text/html;q=0.9, */*;q=0.1";
9
9
  export const PROJECTION_ID_HEADER = "x-plurnk-projection-id";
10
10
  export const CACHE_VARIANT_HEADER = "x-plurnk-cache-variant";
11
11
  export const MATERIALIZER_ID_HEADER = "x-plurnk-materializer-id";
12
- export const TAVILY_REQUEST_ID_HEADER = "x-plurnk-tavily-request-id";
13
- export const TAVILY_CREDITS_HEADER = "x-plurnk-tavily-credits";
14
- export const TAVILY_STATUS_HEADER = "x-plurnk-tavily-status";
15
- export const TAVILY_REASON_HEADER = "x-plurnk-tavily-reason";
16
- export const TAVILY_RETRY_AFTER_HEADER = "x-plurnk-tavily-retry-after";
17
- export const TAVILY_ELAPSED_HEADER = "x-plurnk-tavily-elapsed-ms";
18
- export const TAVILY_ERROR_HEADER = "x-plurnk-tavily-error";
19
- export const TAVILY_SOURCE_URL_HEADER = "x-plurnk-tavily-source-url";
12
+ // The operator's materializer selection ({§http-materializer-plugins}): a
13
+ // discovered materializer id; unset/empty means the built-in local projection
14
+ // is the only body producer.
15
+ export const MATERIALIZER_ENV = "PLURNK_SCHEMES_HTTP_MATERIALIZER";
20
16
  const ORIGIN_MARKDOWN_MATERIALIZER_ID = "origin-markdown:v1";
21
17
  const LOCAL_UNCONFIGURED_MATERIALIZER_ID = "local-projection:v1:unconfigured";
22
18
  const LOCAL_INELIGIBLE_MATERIALIZER_ID = "local-projection:v1:ineligible";
@@ -55,9 +51,28 @@ const replaceHeader = (headers, name, value) => [
55
51
  export default class WebFetcher {
56
52
  static validateConfiguration() {
57
53
  requirePositiveIntegerEnv("PLURNK_SCHEMES_HTTP_FETCH_TIMEOUT");
58
- tavilyConfiguration();
54
+ if (WebFetcher.#materializerConfigured()) {
55
+ void MaterializerRegistry.current().discover();
56
+ }
57
+ }
58
+ static #materializerConfigured() {
59
+ return (process.env[MATERIALIZER_ENV]?.trim() ?? "").length > 0;
60
+ }
61
+ // {§http-materializer-plugins} — resolve the operator-selected materializer
62
+ // and consult its per-request eligibility; null → built-in projection.
63
+ static async #selectedMaterializer(url, signal) {
64
+ const id = (process.env[MATERIALIZER_ENV]?.trim() ?? "");
65
+ if (id.length === 0)
66
+ return null;
67
+ const registry = await MaterializerRegistry.current().discover();
68
+ const materializer = registry.materializerFor(id);
69
+ if (materializer === null) {
70
+ throw new Error(`${MATERIALIZER_ENV} names '${id}', but no installed http-materializer package provides it.`);
71
+ }
72
+ const identity = await materializer.eligible(url, { signal });
73
+ return identity === null ? null : { materializer, identity };
59
74
  }
60
- static unavailable(url, cause, allowTavily) {
75
+ static unavailable(url, cause, allowConfiguredMaterializer) {
61
76
  const detail = ErrorDetail.preview(cause, ErrorDetail.configuredLimit());
62
77
  const originFailure = {
63
78
  status: 502,
@@ -77,7 +92,7 @@ export default class WebFetcher {
77
92
  `x-plurnk-origin-error: ${safeEvidence(detail)}`,
78
93
  ].join("\n"),
79
94
  requestHeaders: [],
80
- allowTavily,
95
+ allowConfiguredMaterializer: allowConfiguredMaterializer,
81
96
  originUnavailable: true,
82
97
  originFailure,
83
98
  };
@@ -211,23 +226,22 @@ export default class WebFetcher {
211
226
  ? undefined
212
227
  : { content: fetched.body, mimetype: fetched.mimetype };
213
228
  const originOutcome = WebFetcher.#originOutcome(fetched);
214
- const tavilyIdentity = fetched.allowTavily === true
215
- ? tavilyExtractIdentity()
229
+ const selected = fetched.allowConfiguredMaterializer === true
230
+ ? await WebFetcher.#selectedMaterializer(fetched.url, signal)
216
231
  : null;
217
- if (tavilyIdentity !== null) {
218
- const tavily = await tavilyExtract(fetched.url, { signal });
219
- if (tavily === null)
220
- throw new Error("Tavily configuration disappeared during materialization.");
232
+ if (selected !== null) {
233
+ const { materializer, identity } = selected;
234
+ const result = await materializer.extract(fetched.url, { signal });
221
235
  const evidence = [
222
- WebFetcher.materializerEvidence(tavily.outcome === "success"
223
- ? tavilyIdentity
224
- : `local-fallback:${tavilyIdentity}`),
225
- ...WebFetcher.#tavilyEvidence(tavily),
236
+ WebFetcher.materializerEvidence(result.outcome === "success"
237
+ ? identity
238
+ : `local-fallback:${identity}`),
239
+ ...result.evidence.map(({ name, value }) => `${name}: ${value}`),
226
240
  ];
227
- if (tavily.outcome === "success") {
241
+ if (result.outcome === "success") {
228
242
  const header = WebFetcher.#appendEvidence(fetched.header, evidence);
229
243
  return {
230
- body: { content: tavily.markdown, mimetype: "text/markdown" },
244
+ body: { content: result.body, mimetype: "text/markdown" },
231
245
  ...(html === undefined ? {} : { html }),
232
246
  ...(header === undefined ? {} : { header }),
233
247
  bodyOutcome: success(),
@@ -236,15 +250,23 @@ export default class WebFetcher {
236
250
  : originOutcome,
237
251
  };
238
252
  }
239
- if (tavily.outcome === "hard" || html === undefined) {
253
+ if (result.outcome === "hard" || html === undefined) {
240
254
  const header = WebFetcher.#appendEvidence(fetched.header, [
241
- WebFetcher.materializerEvidence(tavilyIdentity),
242
- ...WebFetcher.#tavilyEvidence(tavily),
255
+ WebFetcher.materializerEvidence(identity),
256
+ ...result.evidence.map(({ name, value }) => `${name}: ${value}`),
243
257
  ]);
258
+ const problem = result.outcome === "hard"
259
+ ? result.problem
260
+ : (result.problem ?? {
261
+ status: 502,
262
+ code: "materializer-recoverable",
263
+ detail: `The materializer could not extract ${fetched.url} (${result.reason}).`,
264
+ retryable: true,
265
+ });
244
266
  return {
245
267
  ...(html === undefined ? {} : { html }),
246
268
  ...(header === undefined ? {} : { header }),
247
- bodyOutcome: WebFetcher.#tavilyFailure(fetched.url, tavily),
269
+ bodyOutcome: failure(problem.status, problem.code, problem.detail, problem.retryable),
248
270
  htmlOutcome: html === undefined
249
271
  ? failure(502, "html-unavailable", `Server-source HTML for ${fetched.url} was unavailable.`, true)
250
272
  : originOutcome,
@@ -255,15 +277,17 @@ export default class WebFetcher {
255
277
  return {
256
278
  html,
257
279
  header: WebFetcher.#appendEvidence(fetched.header, evidence),
258
- bodyOutcome: WebFetcher.#tavilyFailure(fetched.url, tavily),
280
+ bodyOutcome: result.problem === undefined
281
+ ? failure(502, "materializer-recoverable", `The materializer could not extract ${fetched.url} (${result.reason}) and no local projection was possible.`, true)
282
+ : failure(result.problem.status, result.problem.code, result.problem.detail, result.problem.retryable),
259
283
  htmlOutcome: originOutcome,
260
284
  };
261
285
  }
262
286
  return WebFetcher.#materialized(projected, {
263
287
  html,
264
288
  header: fetched.header,
265
- materializerIdentity: `local-fallback:${tavilyIdentity}`,
266
- additionalEvidence: WebFetcher.#tavilyEvidence(tavily),
289
+ materializerIdentity: `local-fallback:${identity}`,
290
+ additionalEvidence: result.evidence.map(({ name, value }) => `${name}: ${value}`),
267
291
  bodyOutcome: originOutcome.failure === undefined
268
292
  ? success(203)
269
293
  : originOutcome,
@@ -280,7 +304,7 @@ export default class WebFetcher {
280
304
  };
281
305
  }
282
306
  const projected = await WebFetcher.#project(html, projection);
283
- const materializerIdentity = fetched.allowTavily === true
307
+ const materializerIdentity = fetched.allowConfiguredMaterializer === true
284
308
  ? LOCAL_UNCONFIGURED_MATERIALIZER_ID
285
309
  : LOCAL_INELIGIBLE_MATERIALIZER_ID;
286
310
  if (projected === null) {
@@ -311,48 +335,6 @@ export default class WebFetcher {
311
335
  ...(statusText === "" ? {} : { originStatusText: statusText }),
312
336
  });
313
337
  }
314
- static #tavilyFailure(url, result) {
315
- const facts = {
316
- provider: "tavily",
317
- reason: result.reason,
318
- ...(result.status === undefined ? {} : { providerStatus: result.status }),
319
- ...(result.requestId === undefined ? {} : { requestId: result.requestId }),
320
- ...(result.retryAfter === undefined ? {} : { retryAfter: result.retryAfter }),
321
- };
322
- if (result.reason === "rate-limit") {
323
- return failure(429, "tavily-rate-limited", `Tavily Extract rate-limited ${url}.`, true, facts);
324
- }
325
- if (result.reason === "timeout") {
326
- return failure(504, "tavily-timeout", `Tavily Extract timed out for ${url}.`, true, facts);
327
- }
328
- if (result.reason === "authentication") {
329
- return failure(502, "tavily-authentication-failed", "Tavily rejected the configured API credentials.", false, facts);
330
- }
331
- if (result.reason === "malformed-response") {
332
- return failure(502, "tavily-invalid-response", "Tavily returned an invalid Extract response.", false, facts);
333
- }
334
- if (result.reason === "provider-rejection") {
335
- return failure(502, "tavily-provider-rejected", `Tavily rejected extraction for ${url}.`, false, facts);
336
- }
337
- return failure(502, `tavily-${result.reason}`, `Tavily Extract failed for ${url}.`, true, facts);
338
- }
339
- static #tavilyEvidence(result) {
340
- return [
341
- `${TAVILY_STATUS_HEADER}: ${result.status ?? "transport-failure"}`,
342
- `${TAVILY_ELAPSED_HEADER}: ${result.elapsedMs}`,
343
- result.requestId === undefined ? null : `${TAVILY_REQUEST_ID_HEADER}: ${safeEvidence(result.requestId)}`,
344
- result.credits === undefined ? null : `${TAVILY_CREDITS_HEADER}: ${result.credits}`,
345
- result.outcome === "success" || result.retryAfter === undefined
346
- ? null
347
- : `${TAVILY_RETRY_AFTER_HEADER}: ${safeEvidence(result.retryAfter)}`,
348
- result.outcome === "success"
349
- ? result.sourceUrl === undefined ? null : `${TAVILY_SOURCE_URL_HEADER}: ${safeEvidence(result.sourceUrl)}`
350
- : `${TAVILY_REASON_HEADER}: ${result.reason}`,
351
- result.outcome === "success" || result.error === undefined
352
- ? null
353
- : `${TAVILY_ERROR_HEADER}: ${safeEvidence(result.error)}`,
354
- ].filter((line) => line !== null);
355
- }
356
338
  static async classifyBinary(body, mimetype, projection) {
357
339
  try {
358
340
  return await projection.isBinary(mimetype);
@@ -430,15 +412,15 @@ export default class WebFetcher {
430
412
  return `${MATERIALIZER_ID_HEADER}: ${identity}`;
431
413
  }
432
414
  static materializerCurrent(storedIdentity) {
433
- const tavilyIdentity = tavilyExtractIdentity();
415
+ const materializerId = process.env[MATERIALIZER_ENV]?.trim() ?? "";
434
416
  if (storedIdentity === ORIGIN_MARKDOWN_MATERIALIZER_ID
435
417
  || storedIdentity === LOCAL_INELIGIBLE_MATERIALIZER_ID)
436
418
  return true;
437
419
  if (storedIdentity === LOCAL_UNCONFIGURED_MATERIALIZER_ID)
438
- return tavilyIdentity === null;
439
- return tavilyIdentity !== null
440
- && (storedIdentity === tavilyIdentity
441
- || storedIdentity === `local-fallback:${tavilyIdentity}`);
420
+ return materializerId.length === 0;
421
+ return materializerId.length > 0
422
+ && (storedIdentity === materializerId
423
+ || storedIdentity === `local-fallback:${materializerId}`);
442
424
  }
443
425
  async fetch(url, opts) {
444
426
  opts?.signal?.throwIfAborted();
@@ -476,10 +458,10 @@ export default class WebFetcher {
476
458
  if (cause instanceof GuardBlockedError)
477
459
  return null;
478
460
  const publiclyAdmitted = guarded || await Guard.isPublicUrl(target);
479
- const allowTavily = requestHeaders.length === 0 && publiclyAdmitted;
480
- return (allowTavily && tavilyExtractIdentity() !== null)
461
+ const allowConfiguredMaterializer = requestHeaders.length === 0 && publiclyAdmitted;
462
+ return (allowConfiguredMaterializer && WebFetcher.#materializerConfigured())
481
463
  || opts?.preserveUnavailable === true
482
- ? WebFetcher.unavailable(url, cause, allowTavily)
464
+ ? WebFetcher.unavailable(url, cause, allowConfiguredMaterializer)
483
465
  : null;
484
466
  }
485
467
  if (opts?.acceptHttpErrors !== true && !response.ok) {
@@ -488,11 +470,11 @@ export default class WebFetcher {
488
470
  }
489
471
  const responseHeaders = [...response.headers];
490
472
  const mimetype = responseMimetype(response.headers.get("content-type"));
491
- const tavilyConfigured = tavilyExtractIdentity() !== null;
473
+ const materializerConfigured = WebFetcher.#materializerConfigured();
492
474
  const publiclyAdmitted = guarded
493
- || !tavilyConfigured
475
+ || !materializerConfigured
494
476
  || (requestHeaders.length === 0 && await Guard.isPublicUrl(target));
495
- const allowTavily = requestHeaders.length === 0 && publiclyAdmitted;
477
+ const allowConfiguredMaterializer = requestHeaders.length === 0 && publiclyAdmitted;
496
478
  const header = WebFetcher.#header(response, requestHeaders, url);
497
479
  const common = {
498
480
  url,
@@ -503,14 +485,14 @@ export default class WebFetcher {
503
485
  response,
504
486
  header,
505
487
  requestHeaders,
506
- allowTavily,
488
+ allowConfiguredMaterializer: allowConfiguredMaterializer,
507
489
  };
508
490
  const unavailableAfterResponse = (cause) => {
509
491
  if (opts?.signal?.aborted === true)
510
492
  throw opts.signal.reason;
511
- if (!(allowTavily && tavilyConfigured) && opts?.preserveUnavailable !== true)
493
+ if (!(allowConfiguredMaterializer && WebFetcher.#materializerConfigured()) && opts?.preserveUnavailable !== true)
512
494
  return null;
513
- const unavailable = WebFetcher.unavailable(url, cause, allowTavily);
495
+ const unavailable = WebFetcher.unavailable(url, cause, allowConfiguredMaterializer);
514
496
  const detail = unavailable.originFailure?.detail ?? `HTTP GET ${url} failed.`;
515
497
  return {
516
498
  ...common,
@@ -1 +1 @@
1
- {"version":3,"file":"WebFetcher.js","sourceRoot":"","sources":["../src/WebFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebFetcher.js","sourceRoot":"","sources":["../src/WebFetcher.ts"],"names":[],"mappings":"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"}
package/dist/Ws.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Ws.d.ts","sourceRoot":"","sources":["../src/Ws.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,SAAS,EAGT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,+BAA+B,EAC/B,qBAAqB,EACrB,aAAa,EACb,aAAa,EAGhB,MAAM,wBAAwB,CAAC;AAYhC,UAAU,WAAW;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,UAAU,MAAM;IACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CACZ,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,IAAI,CAAC;IACR,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AACD,KAAK,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAwB7C,MAAM,CAAC,OAAO,OAAO,EAAG,YAAW,aAAa;;IAC5C,MAAM,CAAC,QAAQ,EAAE,cAAc,CAsB7B;IAOF,YAAY,OAAO,GAAE,aAA6B,EAEjD;IAKK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CA2R1C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB3B;IAIK,SAAS,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmCxG;IAGK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgB/E;IA4DK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiD/E;CAsEJ"}
1
+ {"version":3,"file":"Ws.d.ts","sourceRoot":"","sources":["../src/Ws.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,SAAS,EAIT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,+BAA+B,EAC/B,qBAAqB,EACrB,aAAa,EACb,aAAa,EAGhB,MAAM,wBAAwB,CAAC;AAYhC,UAAU,WAAW;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,UAAU,MAAM;IACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CACZ,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,IAAI,CAAC;IACR,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AACD,KAAK,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAwB7C,MAAM,CAAC,OAAO,OAAO,EAAG,YAAW,aAAa;;IAC5C,MAAM,CAAC,QAAQ,EAAE,cAAc,CAyB7B;IAOF,YAAY,OAAO,GAAE,aAA6B,EAEjD;IAKK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CA2R1C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB3B;IAIK,SAAS,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmCxG;IAGK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgB/E;IA4DK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiD/E;CA0EJ"}
package/dist/Ws.js CHANGED
@@ -18,9 +18,12 @@ const connectGlobal = (url) => new globalThis.WebSocket(url);
18
18
  class Ws {
19
19
  static manifest = {
20
20
  name: "wss",
21
+ authority: "resource",
21
22
  channels: { [MESSAGES]: "text/plain" },
22
23
  defaultChannel: MESSAGES,
23
24
  category: "data",
25
+ entryOwner: "worker",
26
+ inherit: "none",
24
27
  writableBy: ["model", "client"],
25
28
  volatile: true,
26
29
  modelVisible: true,
@@ -63,7 +66,7 @@ class Ws {
63
66
  return address;
64
67
  const { url } = address;
65
68
  const pathname = request.pathname;
66
- const key = _a.#key(ctx.workspaceId, address);
69
+ const key = _a.#key(ctx.workerId, address);
67
70
  const existing = this.#sockets.get(key);
68
71
  if (existing !== undefined) {
69
72
  return { status: 200, connectionState: existing.state };
@@ -389,7 +392,7 @@ class Ws {
389
392
  const address = _a.#address(target);
390
393
  if (!(address instanceof NetworkAddress))
391
394
  return address;
392
- const owner = this.#sockets.get(_a.#key(ctx.workspaceId, address));
395
+ const owner = this.#sockets.get(_a.#key(ctx.workerId, address));
393
396
  if (owner === undefined) {
394
397
  return _a.#bad(409, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
395
398
  target: address.url,
@@ -441,7 +444,7 @@ class Ws {
441
444
  const address = _a.#address(statement.target);
442
445
  if (!(address instanceof NetworkAddress))
443
446
  return address;
444
- const owner = this.#sockets.get(_a.#key(ctx.workspaceId, address));
447
+ const owner = this.#sockets.get(_a.#key(ctx.workerId, address));
445
448
  if (owner === undefined) {
446
449
  return _a.#bad(404, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
447
450
  target: address.url,
@@ -466,7 +469,7 @@ class Ws {
466
469
  return { shape: "passthrough", status: 200 };
467
470
  }
468
471
  catch (err) {
469
- if (this.#sockets.get(_a.#key(ctx.workspaceId, address)) === owner) {
472
+ if (this.#sockets.get(_a.#key(ctx.workerId, address)) === owner) {
470
473
  owner.killRequested = false;
471
474
  owner.state = priorState;
472
475
  }
@@ -478,8 +481,10 @@ class Ws {
478
481
  });
479
482
  }
480
483
  }
481
- static #key(workspaceId, address) {
482
- return `${workspaceId}:${address.scheme}:${address.pathname}`;
484
+ // The durable entry is Worker-owned ({§manifest-entry-owner}); the live handle
485
+ // shares that principal, and a Worker id already determines its workspace.
486
+ static #key(workerId, address) {
487
+ return `${workerId}:${address.scheme}:${address.pathname}`;
483
488
  }
484
489
  static #address(target) {
485
490
  let address;
@@ -516,7 +521,7 @@ class Ws {
516
521
  return { channels };
517
522
  }
518
523
  static #passthrough(result) {
519
- return Results.assert({ ...result, shape: "passthrough" });
524
+ return Results.assertChannelProducerResult({ ...result, shape: "passthrough" });
520
525
  }
521
526
  static #cancelled(url) {
522
527
  return _a.#bad(499, "cancelled", "WebSocket execution was cancelled.", {
package/dist/Ws.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Ws.js","sourceRoot":"","sources":["../src/Ws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ws.js","sourceRoot":"","sources":["../src/Ws.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { default } from "./Http.ts";
2
2
  export { default as Http } from "./Http.ts";
3
3
  export { default as Ws } from "./Ws.ts";
4
4
  export { default as WebFetcher } from "./WebFetcher.ts";
5
+ export { default as MaterializerRegistry, type HttpMaterializer, type MaterializerResult } from "./Materializer.ts";
5
6
  export { PROJECTION_ID_HEADER, WebMaterializationError } from "./WebFetcher.ts";
6
7
  export type { WebFetchResult, WebMaterializedResult } from "./WebFetcher.ts";
7
8
  export { default as Guard, GuardBlockedError } from "./Guard.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAChF,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACpH,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAChF,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ export { default as Http } from "./Http.js";
5
5
  export { default as Ws } from "./Ws.js";
6
6
  // Automatic entry-acquisition primitive {§prefetch} and its URL check.
7
7
  export { default as WebFetcher } from "./WebFetcher.js";
8
+ export { default as MaterializerRegistry } from "./Materializer.js";
8
9
  export { PROJECTION_ID_HEADER, WebMaterializationError } from "./WebFetcher.js";
9
10
  export { default as Guard, GuardBlockedError } from "./Guard.js";
10
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAExC,uEAAuE;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAExC,uEAAuE;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAkD,MAAM,mBAAmB,CAAC;AACpH,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}