@plurnk/plurnk-schemes-http 1.4.0 → 1.6.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 +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 CHANGED
@@ -1,4 +1,4 @@
1
- import type { SchemeCtx, PassthroughResult, SchemeManifest, SchemeHandler, ReadStatement, SendStatement, KillStatement } from "@plurnk/plurnk-schemes";
1
+ import type { SchemeCtx, PassthroughResult, SchemeManifest, SchemeHandler, RepresentationPreparationRequest, RepresentationPreparationResult, ResolvedEditStatement, SendStatement, KillStatement } from "@plurnk/plurnk-schemes";
2
2
  interface SocketEvent {
3
3
  readonly data?: unknown;
4
4
  readonly code?: number;
@@ -18,8 +18,9 @@ export default class Ws implements SchemeHandler {
18
18
  #private;
19
19
  static manifest: SchemeManifest;
20
20
  constructor(connect?: SocketFactory);
21
- read(statement: ReadStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
21
+ prepareRepresentation(request: RepresentationPreparationRequest, ctx: SchemeCtx): Promise<RepresentationPreparationResult>;
22
22
  close(): Promise<void>;
23
+ editBatch(statements: readonly ResolvedEditStatement[], ctx: SchemeCtx): Promise<PassthroughResult>;
23
24
  send(statement: SendStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
24
25
  kill(statement: KillStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
25
26
  }
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,aAAa,EACb,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;AAqB7C,MAAM,CAAC,OAAO,OAAO,EAAG,YAAW,aAAa;;IAC5C,MAAM,CAAC,QAAQ,EAAE,cAAc,CAc7B;IAOF,YAAY,OAAO,GAAE,aAA6B,EAEjD;IAKK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgS/E;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB3B;IAIK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiE/E;IAIK,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,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"}
package/dist/Ws.js CHANGED
@@ -1,17 +1,21 @@
1
1
  // WebSocket handler. {§ws} owns its operation surface; {§ws-lifecycle} owns
2
2
  // address claims and settlement. Retained sockets follow {§handler-lifecycle}
3
3
  // and use the canonical network identity {§network-address}.
4
+ var _a;
4
5
  import { NetworkAddress, Results } from "@plurnk/plurnk-schemes";
5
6
  import { readFile } from "node:fs/promises";
6
7
  // The inbound-frame channel - every message the origin pushes streams here.
7
8
  const MESSAGES = "messages";
8
9
  const documentation = await readFile(new URL("../docs/wss.md", import.meta.url), "utf-8");
9
10
  const SOCKET_OPEN = 1;
11
+ const SOCKET_CLOSE_NORMAL = 1000;
12
+ const SOCKET_CLOSE_UNSUPPORTED_DATA = 4003;
13
+ const SOCKET_CLOSE_INTERNAL_ERROR = 4011;
10
14
  // Default: the Node 26+ global WebSocket, reached through globalThis so the lib
11
15
  // typing is not a compile dependency (tests always inject, so this path is
12
16
  // runtime-only). Fail-hard if the runtime lacks it.
13
17
  const connectGlobal = (url) => new globalThis.WebSocket(url);
14
- export default class Ws {
18
+ class Ws {
15
19
  static manifest = {
16
20
  name: "wss",
17
21
  channels: { [MESSAGES]: "text/plain" },
@@ -21,7 +25,15 @@ export default class Ws {
21
25
  volatile: true,
22
26
  modelVisible: true,
23
27
  glyph: "🔌",
24
- example: "<<READ(wss://echo.websocket.events)::READ",
28
+ example: [
29
+ "## READ0 (wss://api.example.com/feed)",
30
+ "",
31
+ "## EDIT0 (wss://api.example.com/feed)",
32
+ '{"type":"subscribe","channel":"updates"}',
33
+ "",
34
+ "## SEND0 [200] (wss://api.example.com/feed)",
35
+ '{"type":"message","text":"Hello"}',
36
+ ].join("\n"),
25
37
  documentation,
26
38
  flags: {
27
39
  requiresWeb: true,
@@ -38,28 +50,23 @@ export default class Ws {
38
50
  // {§ws-lifecycle} Claim and connect through native open plus durable channel
39
51
  // activation. READ then returns 102 while the owner and its retained
40
52
  // subscription continue to stream and settle independently.
41
- async read(statement, ctx) {
42
- if (statement.target === null || statement.target.kind !== "url") {
43
- return Ws.#bad(400, "bad-target", "READ requires a ws(s):// URL target.", {
53
+ async prepareRepresentation(request, ctx) {
54
+ if (request.target.kind !== "url") {
55
+ return _a.#bad(400, "bad-target", "READ requires a ws(s):// URL target.", {
44
56
  stage: "target-validation",
45
57
  recovery: "Provide a ws(s):// URL target.",
46
58
  retryable: false,
47
59
  });
48
60
  }
49
- const address = Ws.#address(statement.target);
61
+ const address = _a.#address(request.target);
50
62
  if (!(address instanceof NetworkAddress))
51
63
  return address;
52
- const { url, pathname } = address;
53
- const key = Ws.#key(ctx.workspaceId, address);
64
+ const { url } = address;
65
+ const pathname = request.pathname;
66
+ const key = _a.#key(ctx.workspaceId, address);
54
67
  const existing = this.#sockets.get(key);
55
68
  if (existing !== undefined) {
56
- return Ws.#bad(409, "socket-already-claimed", `A WebSocket connection is already claimed for ${url}.`, {
57
- target: url,
58
- connectionState: existing.state,
59
- stage: "connection",
60
- recovery: "Use the existing owner after it opens or KILL it before opening another.",
61
- retryable: false,
62
- });
69
+ return { status: 200, connectionState: existing.state };
63
70
  }
64
71
  const done = Promise.withResolvers();
65
72
  const owner = {
@@ -76,16 +83,16 @@ export default class Ws {
76
83
  let settled = false;
77
84
  try {
78
85
  // {§ws-lifecycle} Seed the declared channel before subscription open.
79
- const written = await ctx.entries.write(pathname, Ws.#seedEntry());
86
+ const written = await ctx.entries.write(pathname, _a.#seedEntry());
80
87
  if (Results.isErrorStatus(written.status))
81
- return Ws.#passthrough(written);
88
+ return _a.#passthrough(written);
82
89
  if (owner.shutdownRequested)
83
- return Ws.#cancelled(url);
90
+ return _a.#cancelled(url);
84
91
  let requestCancel = () => { owner.shutdownRequested = true; };
85
92
  const handle = { cancel: () => requestCancel() };
86
93
  const subscription = await ctx.subscriptions.open(pathname, handle);
87
94
  if (owner.shutdownRequested) {
88
- const cancelled = Ws.#cancelled(url);
95
+ const cancelled = _a.#cancelled(url);
89
96
  await subscription.close(cancelled, "WebSocket execution was cancelled.");
90
97
  return cancelled;
91
98
  }
@@ -96,7 +103,7 @@ export default class Ws {
96
103
  catch (err) {
97
104
  console.error("WebSocket connection failed", { url, err });
98
105
  const detail = `The WebSocket connection to ${url} failed.`;
99
- const result = Ws.#bad(502, "connect-failed", detail, {
106
+ const result = _a.#bad(502, "connect-failed", detail, {
100
107
  target: url,
101
108
  stage: "connection",
102
109
  retryable: true,
@@ -167,19 +174,19 @@ export default class Ws {
167
174
  void task.then(() => pending.delete(task), () => pending.delete(task));
168
175
  return task;
169
176
  };
170
- const cancelled = () => Ws.#cancelled(url);
177
+ const cancelled = () => _a.#cancelled(url);
171
178
  requestCancel = () => {
172
179
  owner.shutdownRequested = true;
173
180
  const result = cancelled();
174
181
  void settle(result, "WebSocket execution was cancelled.", {
175
- code: 1000,
182
+ code: SOCKET_CLOSE_NORMAL,
176
183
  reason: "cancelled",
177
184
  }).catch(reportCleanupFailure);
178
185
  };
179
186
  owner.shutdown = () => {
180
187
  const result = cancelled();
181
- return settle(result, () => `ws closed (1001); ${messages} messages`, {
182
- code: 1001,
188
+ return settle(result, () => `ws closed (${SOCKET_CLOSE_NORMAL}); ${messages} messages`, {
189
+ code: SOCKET_CLOSE_NORMAL,
183
190
  reason: "shutdown",
184
191
  });
185
192
  };
@@ -198,8 +205,8 @@ export default class Ws {
198
205
  try {
199
206
  const activated = await setChannelState(pathname, MESSAGES, "active");
200
207
  if (Results.isErrorStatus(activated.status)) {
201
- const result = Ws.#passthrough(activated);
202
- void settle(result, result.problem?.detail ?? "WebSocket channel activation failed.", { code: 1011, reason: "activation failed" }).catch(reportCleanupFailure);
208
+ const result = _a.#passthrough(activated);
209
+ void settle(result, result.problem?.detail ?? "WebSocket channel activation failed.", { code: SOCKET_CLOSE_INTERNAL_ERROR, reason: "activation failed" }).catch(reportCleanupFailure);
203
210
  return;
204
211
  }
205
212
  if (owner.state !== "connecting")
@@ -211,12 +218,12 @@ export default class Ws {
211
218
  }
212
219
  catch (err) {
213
220
  console.error("WebSocket channel activation failed", { url, err });
214
- const result = Ws.#bad(500, "channel-activation-failed", "The WebSocket message channel could not enter its active state.", {
221
+ const result = _a.#bad(500, "channel-activation-failed", "The WebSocket message channel could not enter its active state.", {
215
222
  target: url,
216
223
  stage: "persistence",
217
224
  retryable: false,
218
225
  });
219
- void settle(result, result.problem?.detail ?? "WebSocket channel activation failed.", { code: 1011, reason: "activation failed" }).catch(reportCleanupFailure);
226
+ void settle(result, result.problem?.detail ?? "WebSocket channel activation failed.", { code: SOCKET_CLOSE_INTERNAL_ERROR, reason: "activation failed" }).catch(reportCleanupFailure);
220
227
  }
221
228
  })());
222
229
  }, { once: true });
@@ -232,13 +239,13 @@ export default class Ws {
232
239
  return;
233
240
  if (typeof data !== "string") {
234
241
  const detail = "The received WebSocket frame is binary; the messages channel accepts text only.";
235
- const result = Ws.#bad(415, "binary-frame-unsupported", detail, {
242
+ const result = _a.#bad(415, "binary-frame-unsupported", detail, {
236
243
  target: url,
237
244
  stage: "materialization",
238
245
  retryable: false,
239
246
  });
240
247
  frameFailure = { result, summary: detail };
241
- void settle(result, detail, { code: 1003, reason: "binary unsupported" }).catch(reportCleanupFailure);
248
+ void settle(result, detail, { code: SOCKET_CLOSE_UNSUPPORTED_DATA, reason: "binary unsupported" }).catch(reportCleanupFailure);
242
249
  return;
243
250
  }
244
251
  try {
@@ -249,14 +256,14 @@ export default class Ws {
249
256
  if (frameFailure !== null)
250
257
  return;
251
258
  console.error("WebSocket message persistence failed", { url, err });
252
- const result = Ws.#bad(500, "message-persistence-failed", "The received WebSocket message could not be persisted.", {
259
+ const result = _a.#bad(500, "message-persistence-failed", "The received WebSocket message could not be persisted.", {
253
260
  target: url,
254
261
  stage: "persistence",
255
262
  retryable: false,
256
263
  });
257
264
  const failureSummary = result.problem?.detail ?? "WebSocket message persistence failed.";
258
265
  frameFailure = { result, summary: failureSummary };
259
- void settle(result, failureSummary, { code: 1011, reason: "persistence failed" }).catch(reportCleanupFailure);
266
+ void settle(result, failureSummary, { code: SOCKET_CLOSE_INTERNAL_ERROR, reason: "persistence failed" }).catch(reportCleanupFailure);
260
267
  }
261
268
  });
262
269
  persistenceTail = persistence;
@@ -265,20 +272,20 @@ export default class Ws {
265
272
  socket.addEventListener("error", (event) => {
266
273
  console.error("WebSocket transport failed", { url, message: event.message });
267
274
  const detail = `The WebSocket connection to ${url} failed.`;
268
- const result = Ws.#bad(502, "connection-failed", detail, {
275
+ const result = _a.#bad(502, "connection-failed", detail, {
269
276
  target: url,
270
277
  stage: "connection",
271
278
  retryable: true,
272
279
  });
273
280
  void settle(result, detail, {
274
- code: 1011,
281
+ code: SOCKET_CLOSE_INTERNAL_ERROR,
275
282
  reason: "transport failed",
276
283
  }).catch(reportCleanupFailure);
277
284
  });
278
285
  socket.addEventListener("close", (event) => {
279
286
  if (!owner.opened && !owner.killRequested && !subscription.aborted) {
280
287
  const detail = `The WebSocket connection to ${url} closed before it opened.`;
281
- const result = Ws.#bad(502, "connection-failed", detail, {
288
+ const result = _a.#bad(502, "connection-failed", detail, {
282
289
  target: url,
283
290
  stage: "connection",
284
291
  retryable: true,
@@ -330,11 +337,38 @@ export default class Ws {
330
337
  if (errors.length > 0)
331
338
  throw new AggregateError(errors, "WebSocket shutdown failed");
332
339
  }
333
- // SEND[200] targets only an open owner whose native transport is still OPEN.
334
- // SEND[499] is routed to the owning READ handle; scheme dispatch is a no-op.
340
+ // EDIT and SEND signal 200 target only an open owner whose native transport
341
+ // is still OPEN. Both operations converge on one outbound-frame path.
342
+ async editBatch(statements, ctx) {
343
+ if (statements.length !== 1) {
344
+ return _a.#bad(409, "non-atomic-edit-batch", `${statements.length} EDIT statements cannot be committed atomically to one WebSocket connection.`, {
345
+ statements: statements.length,
346
+ stage: "mutation",
347
+ recovery: "Submit one whole-message EDIT.",
348
+ retryable: false,
349
+ });
350
+ }
351
+ const statement = statements[0];
352
+ if (statement.target === null || statement.target.kind !== "url") {
353
+ return _a.#bad(400, "bad-target", "EDIT requires a ws(s):// URL target.", {
354
+ stage: "target-validation",
355
+ recovery: "Provide a ws(s):// URL target.",
356
+ retryable: false,
357
+ });
358
+ }
359
+ if (statement.lineMarker !== null) {
360
+ return _a.#bad(400, "line-edit-unsupported", "WebSocket EDIT sends one whole message and does not accept a line range.", {
361
+ stage: "mutation",
362
+ recovery: "Remove the line range and submit the complete message body.",
363
+ retryable: false,
364
+ });
365
+ }
366
+ return this.#write(statement.target, statement.body ?? "", ctx, "EDIT");
367
+ }
368
+ // SEND signal 499 is routed to the owning READ handle; scheme dispatch is a no-op.
335
369
  async send(statement, ctx) {
336
370
  if (statement.target === null || statement.target.kind !== "url") {
337
- return Ws.#bad(400, "bad-target", "SEND requires a ws(s):// URL target.", {
371
+ return _a.#bad(400, "bad-target", "SEND requires a ws(s):// URL target.", {
338
372
  stage: "target-validation",
339
373
  recovery: "Provide a ws(s):// URL target.",
340
374
  retryable: false,
@@ -343,71 +377,73 @@ export default class Ws {
343
377
  const status = statement.signal;
344
378
  if (status === 499)
345
379
  return { shape: "passthrough", status: 200 };
346
- if (status === 200) {
347
- const address = Ws.#address(statement.target);
348
- if (!(address instanceof NetworkAddress))
349
- return address;
350
- const owner = this.#sockets.get(Ws.#key(ctx.workspaceId, address));
351
- if (owner === undefined) {
352
- return Ws.#bad(409, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
353
- target: address.url,
354
- stage: "connection",
355
- recovery: "READ the WebSocket URL before sending a message.",
356
- retryable: false,
357
- });
358
- }
359
- const socket = owner.socket;
360
- if (owner.state !== "open" || socket === null || socket.readyState !== SOCKET_OPEN) {
361
- const connectionState = owner.state === "open" && socket?.readyState !== SOCKET_OPEN
362
- ? "settling"
363
- : owner.state;
364
- if (connectionState === "settling")
365
- owner.state = "settling";
366
- return Ws.#bad(409, "socket-not-open", `The WebSocket connection to ${address.url} is ${connectionState}; SEND requires open.`, {
367
- target: address.url,
368
- connectionState,
369
- stage: "connection",
370
- recovery: connectionState === "settling"
371
- ? "Wait for the current READ to settle, then READ the WebSocket URL again."
372
- : "Wait for the connection's active stream event before sending.",
373
- retryable: connectionState !== "settling",
374
- });
375
- }
376
- try {
377
- socket.send(statement.body?.raw ?? "");
378
- return { shape: "passthrough", status: 200 };
379
- }
380
- catch (err) {
381
- console.error("WebSocket send failed", { target: address.url, err });
382
- return Ws.#bad(502, "send-failed", "The WebSocket message could not be sent.", {
383
- target: address.url,
384
- stage: "transfer",
385
- retryable: false,
386
- });
387
- }
388
- }
389
- return Ws.#bad(501, "send-status-unsupported", `The WebSocket scheme does not interpret SEND status ${status}.`, {
380
+ if (status === 200)
381
+ return this.#write(statement.target, statement.body?.raw ?? "", ctx, "SEND");
382
+ return _a.#bad(501, "send-status-unsupported", `The WebSocket scheme does not interpret SEND status ${status}.`, {
390
383
  requestedStatus: status,
391
384
  stage: "dispatch",
392
385
  retryable: false,
393
386
  });
394
387
  }
388
+ async #write(target, body, ctx, operation) {
389
+ const address = _a.#address(target);
390
+ if (!(address instanceof NetworkAddress))
391
+ return address;
392
+ const owner = this.#sockets.get(_a.#key(ctx.workspaceId, address));
393
+ if (owner === undefined) {
394
+ return _a.#bad(409, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
395
+ target: address.url,
396
+ stage: "connection",
397
+ recovery: "READ the WebSocket URL before sending a message.",
398
+ retryable: false,
399
+ });
400
+ }
401
+ const socket = owner.socket;
402
+ if (owner.state !== "open" || socket === null || socket.readyState !== SOCKET_OPEN) {
403
+ const connectionState = owner.state === "open" && socket?.readyState !== SOCKET_OPEN
404
+ ? "settling"
405
+ : owner.state;
406
+ if (connectionState === "settling")
407
+ owner.state = "settling";
408
+ return _a.#bad(409, "socket-not-open", `The WebSocket connection to ${address.url} is ${connectionState}; ${operation} requires open.`, {
409
+ target: address.url,
410
+ connectionState,
411
+ stage: "connection",
412
+ recovery: connectionState === "settling"
413
+ ? "Wait for the current READ to settle, then READ the WebSocket URL again."
414
+ : "Wait for the connection's active stream event before sending.",
415
+ retryable: connectionState !== "settling",
416
+ });
417
+ }
418
+ try {
419
+ socket.send(body);
420
+ return { shape: "passthrough", status: 200 };
421
+ }
422
+ catch (err) {
423
+ console.error("WebSocket send failed", { operation, target: address.url, err });
424
+ return _a.#bad(502, "send-failed", "The WebSocket message could not be sent.", {
425
+ target: address.url,
426
+ stage: "transfer",
427
+ retryable: false,
428
+ });
429
+ }
430
+ }
395
431
  // KILL closes or cancels the one claimed owner. Its terminal path settles
396
432
  // the READ subscription before releasing the address.
397
433
  async kill(statement, ctx) {
398
434
  if (statement.target === null || statement.target.kind !== "url") {
399
- return Ws.#bad(400, "bad-target", "KILL requires a ws(s):// URL target.", {
435
+ return _a.#bad(400, "bad-target", "KILL requires a ws(s):// URL target.", {
400
436
  stage: "target-validation",
401
437
  recovery: "Provide a ws(s):// URL target.",
402
438
  retryable: false,
403
439
  });
404
440
  }
405
- const address = Ws.#address(statement.target);
441
+ const address = _a.#address(statement.target);
406
442
  if (!(address instanceof NetworkAddress))
407
443
  return address;
408
- const owner = this.#sockets.get(Ws.#key(ctx.workspaceId, address));
444
+ const owner = this.#sockets.get(_a.#key(ctx.workspaceId, address));
409
445
  if (owner === undefined) {
410
- return Ws.#bad(404, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
446
+ return _a.#bad(404, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
411
447
  target: address.url,
412
448
  stage: "connection",
413
449
  retryable: false,
@@ -430,12 +466,12 @@ export default class Ws {
430
466
  return { shape: "passthrough", status: 200 };
431
467
  }
432
468
  catch (err) {
433
- if (this.#sockets.get(Ws.#key(ctx.workspaceId, address)) === owner) {
469
+ if (this.#sockets.get(_a.#key(ctx.workspaceId, address)) === owner) {
434
470
  owner.killRequested = false;
435
471
  owner.state = priorState;
436
472
  }
437
473
  console.error("WebSocket close failed", { target: address.url, err });
438
- return Ws.#bad(502, "close-failed", "The WebSocket connection could not be closed.", {
474
+ return _a.#bad(502, "close-failed", "The WebSocket connection could not be closed.", {
439
475
  target: address.url,
440
476
  stage: "connection",
441
477
  retryable: true,
@@ -451,21 +487,21 @@ export default class Ws {
451
487
  address = NetworkAddress.from(target);
452
488
  }
453
489
  catch {
454
- return Ws.#bad(400, "bad-target", "WebSocket operations require a ws(s):// URL with an authority.", {
490
+ return _a.#bad(400, "bad-target", "WebSocket operations require a ws(s):// URL with an authority.", {
455
491
  stage: "target-validation",
456
492
  recovery: "Provide a ws(s):// URL with a host.",
457
493
  retryable: false,
458
494
  });
459
495
  }
460
496
  if (address.scheme !== "ws" && address.scheme !== "wss") {
461
- return Ws.#bad(400, "bad-target", "WebSocket operations require a ws(s):// URL target.", {
497
+ return _a.#bad(400, "bad-target", "WebSocket operations require a ws(s):// URL target.", {
462
498
  stage: "target-validation",
463
499
  recovery: "Provide a ws(s):// URL target.",
464
500
  retryable: false,
465
501
  });
466
502
  }
467
503
  if (address.hasCredentials) {
468
- return Ws.#bad(400, "userinfo-not-allowed", "WebSocket URL userinfo is not allowed.", {
504
+ return _a.#bad(400, "userinfo-not-allowed", "WebSocket URL userinfo is not allowed.", {
469
505
  target: address.url,
470
506
  stage: "target-validation",
471
507
  recovery: "Remove credentials from the URL.",
@@ -476,14 +512,14 @@ export default class Ws {
476
512
  }
477
513
  // {§ws-lifecycle} open() binds an existing entry, so seed the manifest shape.
478
514
  static #seedEntry() {
479
- const channels = Object.fromEntries(Object.entries(Ws.manifest.channels).map(([name, mimetype]) => [name, { content: "", mimetype }]));
480
- return { channels, tags: [] };
515
+ const channels = Object.fromEntries(Object.entries(_a.manifest.channels).map(([name, mimetype]) => [name, { content: "", mimetype }]));
516
+ return { channels };
481
517
  }
482
518
  static #passthrough(result) {
483
519
  return Results.assert({ ...result, shape: "passthrough" });
484
520
  }
485
521
  static #cancelled(url) {
486
- return Ws.#bad(499, "cancelled", "WebSocket execution was cancelled.", {
522
+ return _a.#bad(499, "cancelled", "WebSocket execution was cancelled.", {
487
523
  target: url,
488
524
  stage: "connection",
489
525
  retryable: false,
@@ -493,4 +529,6 @@ export default class Ws {
493
529
  return Results.failure("scheme:wss", kind, status, message, { shape: "passthrough" }, extensions);
494
530
  }
495
531
  }
532
+ _a = Ws;
533
+ export default Ws;
496
534
  //# sourceMappingURL=Ws.js.map