@plurnk/plurnk-schemes-http 1.5.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.
package/README.md CHANGED
@@ -8,16 +8,16 @@ authored against the DB-free
8
8
 
9
9
  ## HTTP operations
10
10
 
11
- | Operation | Behavior |
12
- | --------------------------------- | ----------------------------------------------------------------------------------------- |
13
- | Unscoped `READ(http(s)://…)` | Fetch or reuse/revalidate a GET representation, then stream the selected response channel |
14
- | Scoped `READ(http(s)://…)<scope>` | Apply the standard entry READ to an already-materialized response without refetching |
15
- | `FIND(http(s)://…):matcher` | Materialize an exact URL when required, then use the universal entry query and matcher |
16
- | `SEND[200](http(s)://…):body:` | POST the body and stream the response |
17
- | `EDIT(http(s)://…):body:` | PUT a whole-resource replacement; line-scoped HTTP edits are invalid |
18
- | `KILL(http(s)://…)` | DELETE the remote resource and stream the response |
19
- | `SEND[499](http(s)://…)` | Cancel the routed in-flight subscription |
20
- | `SEND[410](http(s)://…)` | Delete the local stored response entry |
11
+ | Operation | Behavior |
12
+ | ---------------------------------------------- | ----------------------------------------------------------------------------------------- |
13
+ | `## READ0 (http(s)://…)` | Fetch or reuse/revalidate a GET representation, then stream the selected response channel |
14
+ | `## READ0 (http(s)://…) <scope>` | Apply the standard entry READ to an already-materialized response without refetching |
15
+ | `## FIND0 (http(s)://…)` with matcher body | Materialize an exact URL when required, then use the universal entry query and matcher |
16
+ | `## SEND0 [200] (http(s)://…)` with body | POST the body and stream the response |
17
+ | `## EDIT0 (http(s)://…)` with body | PUT a whole-resource replacement; line-scoped HTTP edits are invalid |
18
+ | `## KILL0 (http(s)://…)` | DELETE the remote resource and stream the response |
19
+ | `## SEND0 [499] (http(s)://…)` | Cancel the routed in-flight subscription |
20
+ | `## SEND0 [410] (http(s)://…)` | Delete the local stored response entry |
21
21
 
22
22
  A path-pattern FIND surveys already-materialized web entries; it does not crawl
23
23
  or discover the remote web. Exact matcher FIND shares the standard flat
package/SPEC.md CHANGED
@@ -36,21 +36,21 @@ pathnames, `%28` and `%29` canonicalize to literal parentheses.
36
36
 
37
37
  ## §op-surface §2 HTTP operation surface
38
38
 
39
- | Operation | Remote action | Contract |
40
- | --------------------------------- | ------------------------------------- | --------------------------------------------------------------------------------------- |
41
- | Exact `READ(url)<scope?>` | GET unless a fresh GET copy is usable | Prepare one complete canonical representation, then let core select and project it |
42
- | Exact `FIND(url)` | GET only when acquisition is required | Use the same preparation, then universal query, matcher, weighting, and pagination |
43
- | `FIND(pattern-url)` | None | Query already-materialized web entries; a path pattern does not discover the remote web |
44
- | `SEND[200](url):body:` | POST | Stream and persist the response under the addressed URL |
45
- | `EDIT(url):body:` | PUT | Replace the whole remote resource; a line marker is invalid |
46
- | `KILL(url)` | DELETE | Delete the remote resource and stream its response |
47
- | `SEND[410](url)` | None | Delete the local stored entry |
48
- | `SEND[499](url)` | Cancellation is engine-routed | The routed subscription handle aborts the live owner; scheme dispatch is a `200` no-op |
39
+ | Operation | Remote action | Contract |
40
+ | ------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------- |
41
+ | Exact `## READ0 (url) <scope?>` | GET unless a fresh GET copy is usable | Prepare one complete canonical representation, then let core select and project it |
42
+ | Exact `## FIND0 (url)` | GET only when acquisition is required | Use the same preparation, then universal query, matcher, weighting, and pagination |
43
+ | `## FIND0 (pattern-url)` | None | Query already-materialized web entries; a path pattern does not discover the remote web |
44
+ | `## SEND0 [200] (url)` with body | POST | Stream and persist the response under the addressed URL |
45
+ | `## EDIT0 (url)` with body | PUT | Replace the whole remote resource; a line marker is invalid |
46
+ | `## KILL0 (url)` | DELETE | Delete the remote resource and stream its response |
47
+ | `## SEND0 [410] (url)` | None | Delete the local stored entry |
48
+ | `## SEND0 [499] (url)` | Cancellation is engine-routed | The routed subscription handle aborts the live owner; scheme dispatch is a `200` no-op |
49
49
 
50
50
  Finite GET uses scope-blind representation preparation; POST, PUT, DELETE,
51
51
  and genuinely live GET responses retain the subscription path. Request
52
52
  headers are ordered target metadata: one trailing `{Key: value}` block per
53
- header. The loop `SEND[code]` is never the remote HTTP status; remote status and
53
+ header. A loop SEND signal is never the remote HTTP status; remote status and
54
54
  headers are persisted in `header`.
55
55
  Exact-versus-pattern FIND preparation uses the shared
56
56
  `PathSyntax.hasGlob` classifier {§path-glob}; HTTP owns no reduced
@@ -219,8 +219,8 @@ acquisition `header` remain independent of an unavailable origin source.
219
219
  | Finite empty text response | `204` |
220
220
  | Finite binary response has no readable projection | `415` (`binary-response-unsupported`) |
221
221
  | Binary projection input exceeds the configured byte bound | `413` (`projection-input-limit`) |
222
- | `SEND[410]` | Exact entry-delete result |
223
- | Routed `SEND[499]` dispatch | `200` |
222
+ | SEND signal `410` | Exact entry-delete result |
223
+ | Routed SEND signal `499` dispatch | `200` |
224
224
  | Client-cancelled finite acquisition | `499` (`cancelled`) |
225
225
  | SSE after acquisition | `102` initial; terminal selected-channel result |
226
226
  | SSE cancellation after acquisition | `102` initial; terminal `499` |
@@ -403,7 +403,7 @@ body, TTL, and validators together.
403
403
  POST, PUT, and DELETE responses retain their method marker but cannot satisfy a
404
404
  later GET or exact-FIND acquisition. An unmarked authored entry and an eligible
405
405
  stored GET remain visible to universal FIND as durable evidence; exact HTTP
406
- preparation applies the policy above. `SEND[410]` deletes the stored entry.
406
+ preparation applies the policy above. SEND signal `410` deletes the stored entry.
407
407
 
408
408
  ### §sse Server-sent events
409
409
 
@@ -456,18 +456,19 @@ stateDiagram-v2
456
456
  Claimed --> Idle: setup or construction failure
457
457
  Connecting --> Open: native open; messages active; READ 102
458
458
  Connecting --> Settling: pre-open close/error, KILL, cancel, activation failure, or shutdown
459
- Open --> Open: ordered inbound frame or SEND[200]
459
+ Open --> Open: ordered inbound frame, EDIT, or SEND 200
460
460
  Open --> Settling: closing state, close/error, KILL, cancel, binary frame, persistence failure, or shutdown
461
461
  Settling --> Idle: await retained work, close subscription, release claim
462
462
  ```
463
463
 
464
464
  | Operation or event | Contract |
465
465
  | --------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
466
- | `READ(ws(s)://…)` | Claim, seed/subscribe, construct `CONNECTING`, then return `102` after native `open` plus durable activation |
466
+ | `## READ0 (ws(s)://…)` | Claim, seed/subscribe, construct `CONNECTING`, then return `102` after native `open` plus durable activation |
467
467
  | Concurrent duplicate READ | `409` in `claimed`, `connecting`, `open`, or `settling`; cleanup releases the only claim |
468
- | `SEND[200](ws(s)://…)` | Send only for owner `open` plus native `readyState=OPEN`; absent or non-open owner is `409`; send throw is `502` |
469
- | `SEND[499](ws(s)://…)` | Engine-routed cancellation closes the owning READ; scheme dispatch returns `200` |
470
- | `KILL(ws(s)://…)` | Close/cancel the claimed owner; no owner is `404`; an attempted close throw is `502` |
468
+ | `## EDIT0 (ws(s)://…)` | Send one whole text frame only for an open owner; line ranges and multi-statement batches are rejected |
469
+ | `## SEND0 [200] (ws(s)://…)` | Send only for owner `open` plus native `readyState=OPEN`; absent or non-open owner is `409`; send throw is `502` |
470
+ | `## SEND0 [499] (ws(s)://…)` | Engine-routed cancellation closes the owning READ; scheme dispatch returns `200` |
471
+ | `## KILL0 (ws(s)://…)` | Close/cancel the claimed owner; no owner is `404`; an attempted close throw is `502` |
471
472
  | Inbound frame after native `open` | Join the owner's persistence chain; the next write begins only after the preceding write succeeds |
472
473
  | Binary frame after native `open` | Retain the text prefix, prune the binary and later frames, settle `415 binary-frame-unsupported`, close with private-use code `4003` |
473
474
  | First inbound persistence failure | Retain the successful prefix, prune queued and later frames, and settle with `500 message-persistence-failed` |
@@ -475,6 +476,12 @@ stateDiagram-v2
475
476
  | Socket closes after `open` | Drain the accepted frame prefix; initial READ remains `102`; settle with `200` unless a drained write fails |
476
477
  | Failure after `open` | Initial READ remains `102`; persist the exact terminal failure and wake through subscription settlement |
477
478
 
479
+ Markerless single-statement EDIT and SEND with signal `200` converge on one
480
+ outbound text-frame path and have the same connection and transport outcomes.
481
+ Dispatcher phase order ({§op-mode-phases}) runs EDIT before READ and SEND after
482
+ READ, so an EDIT requires an owner opened before the turn while SEND can follow
483
+ the opening READ in the same turn.
484
+
478
485
  The in-instance registry is keyed by workspace, addressed protocol, and
479
486
  canonical network pathname. The claim remains registered through terminal
480
487
  cleanup, so a new READ cannot overlap an owner's subscription settlement. Every
package/dist/Http.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import type { SchemeCtx, PassthroughResult, SchemeManifest, SchemeHandler, RepresentationPreparationRequest, RepresentationPreparationResult, SendStatement, EditStatement, KillStatement } from "@plurnk/plurnk-schemes";
1
+ import type { SchemeCtx, PassthroughResult, SchemeManifest, SchemeHandler, RepresentationPreparationRequest, RepresentationPreparationResult, SendStatement, ResolvedEditStatement, KillStatement } from "@plurnk/plurnk-schemes";
2
2
  export default class Http implements SchemeHandler {
3
3
  #private;
4
4
  static manifest: SchemeManifest;
5
5
  constructor();
6
6
  ready(): Promise<void>;
7
7
  prepareRepresentation(request: RepresentationPreparationRequest, ctx: SchemeCtx): Promise<RepresentationPreparationResult>;
8
- editBatch(statements: readonly EditStatement[], ctx: SchemeCtx): Promise<PassthroughResult>;
9
- edit(statement: EditStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
8
+ editBatch(statements: readonly ResolvedEditStatement[], ctx: SchemeCtx): Promise<PassthroughResult>;
9
+ edit(statement: ResolvedEditStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
10
10
  kill(statement: KillStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
11
11
  send(statement: SendStatement, ctx: SchemeCtx): Promise<PassthroughResult>;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EAGT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,+BAA+B,EAC/B,aAAa,EACb,aAAa,EACb,aAAa,EAOhB,MAAM,wBAAwB,CAAC;AAuMhC,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,aAAa;;IAC9C,MAAM,CAAC,QAAQ,EAAE,cAAc,CAmB7B;IAIF,cAGC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAKK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CAS1C;IAoNK,SAAS,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqChG;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAE/E;IAIK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAS/E;IAQK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoC/E;CAypBJ"}
1
+ {"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EAGT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,+BAA+B,EAC/B,aAAa,EACb,qBAAqB,EACrB,aAAa,EAOhB,MAAM,wBAAwB,CAAC;AAuMhC,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,aAAa;;IAC9C,MAAM,CAAC,QAAQ,EAAE,cAAc,CA2B7B;IAIF,cAGC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAKK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CAS1C;IAkNK,SAAS,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqCxG;IAEK,IAAI,CAAC,SAAS,EAAE,qBAAqB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEvF;IAIK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAS/E;IAQK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoC/E;CAypBJ"}
package/dist/Http.js CHANGED
@@ -150,7 +150,15 @@ class Http {
150
150
  volatile: true, // remote content can change between fetches
151
151
  modelVisible: true,
152
152
  glyph: "🌐",
153
- example: "<<READ(https://example.com/page)::READ",
153
+ example: [
154
+ "## READ0 (https://example.com/page)",
155
+ "",
156
+ "## EDIT0 (https://api.example.com/v1/pets/42{Content-Type: application/json})",
157
+ '{"name":"Mango","status":"available"}',
158
+ "",
159
+ "## SEND0 [200] (https://api.example.com/v1/pets{Content-Type: application/json})",
160
+ '{"name":"Mango","status":"available"}',
161
+ ].join("\n"),
154
162
  documentation,
155
163
  flags: {
156
164
  requiresWeb: true, // excluded under the loop's noWeb flag
@@ -273,7 +281,6 @@ class Http {
273
281
  };
274
282
  const written = await ctx.entries.write(pathname, {
275
283
  channels,
276
- tags: cached.tags,
277
284
  });
278
285
  if (Results.isErrorStatus(written.status))
279
286
  return _a.#passthrough(written);
@@ -308,7 +315,6 @@ class Http {
308
315
  }
309
316
  const written = await ctx.entries.write(pathname, {
310
317
  channels: WebFetcher.materializedChannels(materialized, { url, method: "GET" }),
311
- tags: [],
312
318
  });
313
319
  if (Results.isErrorStatus(written.status))
314
320
  return _a.#passthrough(written);
@@ -374,7 +380,7 @@ class Http {
374
380
  async edit(statement, ctx) {
375
381
  return this.editBatch([statement], ctx);
376
382
  }
377
- // KILL -> DELETE the resource. Distinct from SEND[410] (which drops the local
383
+ // KILL -> DELETE the resource. Distinct from SEND signal 410 (which drops the local
378
384
  // cached entry): KILL is an HTTP DELETE request to the remote.
379
385
  async kill(statement, ctx) {
380
386
  if (statement.target === null || statement.target.kind !== "url") {
@@ -444,7 +450,7 @@ class Http {
444
450
  retryable: false,
445
451
  });
446
452
  }
447
- // Local AbortController for force-cancel from outside (SEND[499]).
453
+ // Local AbortController for force-cancel from outside (SEND signal 499).
448
454
  const local = new AbortController();
449
455
  const handle = { cancel: () => local.abort() };
450
456
  // {§http-lifecycle} open() binds an existing entry, so the handler seeds
@@ -564,7 +570,7 @@ class Http {
564
570
  mimetype,
565
571
  state: "active",
566
572
  }]));
567
- return { channels, tags: [] };
573
+ return { channels };
568
574
  }
569
575
  // {§revalidation} The body and header must have settled successfully. An
570
576
  // auxiliary channel may have terminally failed without invalidating body.
package/dist/Http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Http.js","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Http.js","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"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"}
package/dist/Ws.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { SchemeCtx, PassthroughResult, SchemeManifest, SchemeHandler, RepresentationPreparationRequest, RepresentationPreparationResult, 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;
@@ -20,6 +20,7 @@ export default class Ws implements SchemeHandler {
20
20
  constructor(connect?: SocketFactory);
21
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,gCAAgC,EAChC,+BAA+B,EAC/B,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,CAc7B;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,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,6 +1,7 @@
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.
@@ -14,7 +15,7 @@ const SOCKET_CLOSE_INTERNAL_ERROR = 4011;
14
15
  // typing is not a compile dependency (tests always inject, so this path is
15
16
  // runtime-only). Fail-hard if the runtime lacks it.
16
17
  const connectGlobal = (url) => new globalThis.WebSocket(url);
17
- export default class Ws {
18
+ class Ws {
18
19
  static manifest = {
19
20
  name: "wss",
20
21
  channels: { [MESSAGES]: "text/plain" },
@@ -24,7 +25,15 @@ export default class Ws {
24
25
  volatile: true,
25
26
  modelVisible: true,
26
27
  glyph: "🔌",
27
- example: "<<READ(wss://api.example.com/feed)::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"),
28
37
  documentation,
29
38
  flags: {
30
39
  requiresWeb: true,
@@ -43,18 +52,18 @@ export default class Ws {
43
52
  // subscription continue to stream and settle independently.
44
53
  async prepareRepresentation(request, ctx) {
45
54
  if (request.target.kind !== "url") {
46
- return Ws.#bad(400, "bad-target", "READ requires a ws(s):// URL target.", {
55
+ return _a.#bad(400, "bad-target", "READ requires a ws(s):// URL target.", {
47
56
  stage: "target-validation",
48
57
  recovery: "Provide a ws(s):// URL target.",
49
58
  retryable: false,
50
59
  });
51
60
  }
52
- const address = Ws.#address(request.target);
61
+ const address = _a.#address(request.target);
53
62
  if (!(address instanceof NetworkAddress))
54
63
  return address;
55
64
  const { url } = address;
56
65
  const pathname = request.pathname;
57
- const key = Ws.#key(ctx.workspaceId, address);
66
+ const key = _a.#key(ctx.workspaceId, address);
58
67
  const existing = this.#sockets.get(key);
59
68
  if (existing !== undefined) {
60
69
  return { status: 200, connectionState: existing.state };
@@ -74,16 +83,16 @@ export default class Ws {
74
83
  let settled = false;
75
84
  try {
76
85
  // {§ws-lifecycle} Seed the declared channel before subscription open.
77
- const written = await ctx.entries.write(pathname, Ws.#seedEntry());
86
+ const written = await ctx.entries.write(pathname, _a.#seedEntry());
78
87
  if (Results.isErrorStatus(written.status))
79
- return Ws.#passthrough(written);
88
+ return _a.#passthrough(written);
80
89
  if (owner.shutdownRequested)
81
- return Ws.#cancelled(url);
90
+ return _a.#cancelled(url);
82
91
  let requestCancel = () => { owner.shutdownRequested = true; };
83
92
  const handle = { cancel: () => requestCancel() };
84
93
  const subscription = await ctx.subscriptions.open(pathname, handle);
85
94
  if (owner.shutdownRequested) {
86
- const cancelled = Ws.#cancelled(url);
95
+ const cancelled = _a.#cancelled(url);
87
96
  await subscription.close(cancelled, "WebSocket execution was cancelled.");
88
97
  return cancelled;
89
98
  }
@@ -94,7 +103,7 @@ export default class Ws {
94
103
  catch (err) {
95
104
  console.error("WebSocket connection failed", { url, err });
96
105
  const detail = `The WebSocket connection to ${url} failed.`;
97
- const result = Ws.#bad(502, "connect-failed", detail, {
106
+ const result = _a.#bad(502, "connect-failed", detail, {
98
107
  target: url,
99
108
  stage: "connection",
100
109
  retryable: true,
@@ -165,7 +174,7 @@ export default class Ws {
165
174
  void task.then(() => pending.delete(task), () => pending.delete(task));
166
175
  return task;
167
176
  };
168
- const cancelled = () => Ws.#cancelled(url);
177
+ const cancelled = () => _a.#cancelled(url);
169
178
  requestCancel = () => {
170
179
  owner.shutdownRequested = true;
171
180
  const result = cancelled();
@@ -196,7 +205,7 @@ export default class Ws {
196
205
  try {
197
206
  const activated = await setChannelState(pathname, MESSAGES, "active");
198
207
  if (Results.isErrorStatus(activated.status)) {
199
- const result = Ws.#passthrough(activated);
208
+ const result = _a.#passthrough(activated);
200
209
  void settle(result, result.problem?.detail ?? "WebSocket channel activation failed.", { code: SOCKET_CLOSE_INTERNAL_ERROR, reason: "activation failed" }).catch(reportCleanupFailure);
201
210
  return;
202
211
  }
@@ -209,7 +218,7 @@ export default class Ws {
209
218
  }
210
219
  catch (err) {
211
220
  console.error("WebSocket channel activation failed", { url, err });
212
- 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.", {
213
222
  target: url,
214
223
  stage: "persistence",
215
224
  retryable: false,
@@ -230,7 +239,7 @@ export default class Ws {
230
239
  return;
231
240
  if (typeof data !== "string") {
232
241
  const detail = "The received WebSocket frame is binary; the messages channel accepts text only.";
233
- const result = Ws.#bad(415, "binary-frame-unsupported", detail, {
242
+ const result = _a.#bad(415, "binary-frame-unsupported", detail, {
234
243
  target: url,
235
244
  stage: "materialization",
236
245
  retryable: false,
@@ -247,7 +256,7 @@ export default class Ws {
247
256
  if (frameFailure !== null)
248
257
  return;
249
258
  console.error("WebSocket message persistence failed", { url, err });
250
- 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.", {
251
260
  target: url,
252
261
  stage: "persistence",
253
262
  retryable: false,
@@ -263,7 +272,7 @@ export default class Ws {
263
272
  socket.addEventListener("error", (event) => {
264
273
  console.error("WebSocket transport failed", { url, message: event.message });
265
274
  const detail = `The WebSocket connection to ${url} failed.`;
266
- const result = Ws.#bad(502, "connection-failed", detail, {
275
+ const result = _a.#bad(502, "connection-failed", detail, {
267
276
  target: url,
268
277
  stage: "connection",
269
278
  retryable: true,
@@ -276,7 +285,7 @@ export default class Ws {
276
285
  socket.addEventListener("close", (event) => {
277
286
  if (!owner.opened && !owner.killRequested && !subscription.aborted) {
278
287
  const detail = `The WebSocket connection to ${url} closed before it opened.`;
279
- const result = Ws.#bad(502, "connection-failed", detail, {
288
+ const result = _a.#bad(502, "connection-failed", detail, {
280
289
  target: url,
281
290
  stage: "connection",
282
291
  retryable: true,
@@ -328,11 +337,38 @@ export default class Ws {
328
337
  if (errors.length > 0)
329
338
  throw new AggregateError(errors, "WebSocket shutdown failed");
330
339
  }
331
- // SEND[200] targets only an open owner whose native transport is still OPEN.
332
- // 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.
333
369
  async send(statement, ctx) {
334
370
  if (statement.target === null || statement.target.kind !== "url") {
335
- 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.", {
336
372
  stage: "target-validation",
337
373
  recovery: "Provide a ws(s):// URL target.",
338
374
  retryable: false,
@@ -341,71 +377,73 @@ export default class Ws {
341
377
  const status = statement.signal;
342
378
  if (status === 499)
343
379
  return { shape: "passthrough", status: 200 };
344
- if (status === 200) {
345
- const address = Ws.#address(statement.target);
346
- if (!(address instanceof NetworkAddress))
347
- return address;
348
- const owner = this.#sockets.get(Ws.#key(ctx.workspaceId, address));
349
- if (owner === undefined) {
350
- return Ws.#bad(409, "no-open-socket", `No WebSocket connection is open for ${address.url}.`, {
351
- target: address.url,
352
- stage: "connection",
353
- recovery: "READ the WebSocket URL before sending a message.",
354
- retryable: false,
355
- });
356
- }
357
- const socket = owner.socket;
358
- if (owner.state !== "open" || socket === null || socket.readyState !== SOCKET_OPEN) {
359
- const connectionState = owner.state === "open" && socket?.readyState !== SOCKET_OPEN
360
- ? "settling"
361
- : owner.state;
362
- if (connectionState === "settling")
363
- owner.state = "settling";
364
- return Ws.#bad(409, "socket-not-open", `The WebSocket connection to ${address.url} is ${connectionState}; SEND requires open.`, {
365
- target: address.url,
366
- connectionState,
367
- stage: "connection",
368
- recovery: connectionState === "settling"
369
- ? "Wait for the current READ to settle, then READ the WebSocket URL again."
370
- : "Wait for the connection's active stream event before sending.",
371
- retryable: connectionState !== "settling",
372
- });
373
- }
374
- try {
375
- socket.send(statement.body?.raw ?? "");
376
- return { shape: "passthrough", status: 200 };
377
- }
378
- catch (err) {
379
- console.error("WebSocket send failed", { target: address.url, err });
380
- return Ws.#bad(502, "send-failed", "The WebSocket message could not be sent.", {
381
- target: address.url,
382
- stage: "transfer",
383
- retryable: false,
384
- });
385
- }
386
- }
387
- 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}.`, {
388
383
  requestedStatus: status,
389
384
  stage: "dispatch",
390
385
  retryable: false,
391
386
  });
392
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
+ }
393
431
  // KILL closes or cancels the one claimed owner. Its terminal path settles
394
432
  // the READ subscription before releasing the address.
395
433
  async kill(statement, ctx) {
396
434
  if (statement.target === null || statement.target.kind !== "url") {
397
- 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.", {
398
436
  stage: "target-validation",
399
437
  recovery: "Provide a ws(s):// URL target.",
400
438
  retryable: false,
401
439
  });
402
440
  }
403
- const address = Ws.#address(statement.target);
441
+ const address = _a.#address(statement.target);
404
442
  if (!(address instanceof NetworkAddress))
405
443
  return address;
406
- const owner = this.#sockets.get(Ws.#key(ctx.workspaceId, address));
444
+ const owner = this.#sockets.get(_a.#key(ctx.workspaceId, address));
407
445
  if (owner === undefined) {
408
- 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}.`, {
409
447
  target: address.url,
410
448
  stage: "connection",
411
449
  retryable: false,
@@ -428,12 +466,12 @@ export default class Ws {
428
466
  return { shape: "passthrough", status: 200 };
429
467
  }
430
468
  catch (err) {
431
- if (this.#sockets.get(Ws.#key(ctx.workspaceId, address)) === owner) {
469
+ if (this.#sockets.get(_a.#key(ctx.workspaceId, address)) === owner) {
432
470
  owner.killRequested = false;
433
471
  owner.state = priorState;
434
472
  }
435
473
  console.error("WebSocket close failed", { target: address.url, err });
436
- 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.", {
437
475
  target: address.url,
438
476
  stage: "connection",
439
477
  retryable: true,
@@ -449,21 +487,21 @@ export default class Ws {
449
487
  address = NetworkAddress.from(target);
450
488
  }
451
489
  catch {
452
- 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.", {
453
491
  stage: "target-validation",
454
492
  recovery: "Provide a ws(s):// URL with a host.",
455
493
  retryable: false,
456
494
  });
457
495
  }
458
496
  if (address.scheme !== "ws" && address.scheme !== "wss") {
459
- 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.", {
460
498
  stage: "target-validation",
461
499
  recovery: "Provide a ws(s):// URL target.",
462
500
  retryable: false,
463
501
  });
464
502
  }
465
503
  if (address.hasCredentials) {
466
- 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.", {
467
505
  target: address.url,
468
506
  stage: "target-validation",
469
507
  recovery: "Remove credentials from the URL.",
@@ -474,14 +512,14 @@ export default class Ws {
474
512
  }
475
513
  // {§ws-lifecycle} open() binds an existing entry, so seed the manifest shape.
476
514
  static #seedEntry() {
477
- const channels = Object.fromEntries(Object.entries(Ws.manifest.channels).map(([name, mimetype]) => [name, { content: "", mimetype }]));
478
- return { channels, tags: [] };
515
+ const channels = Object.fromEntries(Object.entries(_a.manifest.channels).map(([name, mimetype]) => [name, { content: "", mimetype }]));
516
+ return { channels };
479
517
  }
480
518
  static #passthrough(result) {
481
519
  return Results.assert({ ...result, shape: "passthrough" });
482
520
  }
483
521
  static #cancelled(url) {
484
- return Ws.#bad(499, "cancelled", "WebSocket execution was cancelled.", {
522
+ return _a.#bad(499, "cancelled", "WebSocket execution was cancelled.", {
485
523
  target: url,
486
524
  stage: "connection",
487
525
  retryable: false,
@@ -491,4 +529,6 @@ export default class Ws {
491
529
  return Results.failure("scheme:wss", kind, status, message, { shape: "passthrough" }, extensions);
492
530
  }
493
531
  }
532
+ _a = Ws;
533
+ export default Ws;
494
534
  //# sourceMappingURL=Ws.js.map
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/docs/http.md CHANGED
@@ -6,13 +6,13 @@ the requested text scope. HTML becomes a readable model-facing body (normally
6
6
  Markdown); original server source is retained separately. Auxiliary channels
7
7
  are never presented by default.
8
8
 
9
- | Operation | Remote action | Effect |
10
- | --------------------------------- | ------------- | -------------------------------------------------------------------------- |
11
- | `READ(http(s)://…)<scope?>` | GET if needed | Acquire/reuse the complete response, then return the selected scoped text |
12
- | `FIND(http(s)://…):matcher` | GET if needed | Prepare an exact URL, then return flat match locations |
13
- | `SEND[200](http(s)://…):body:` | POST | Submit the body and stream the response |
14
- | `EDIT(http(s)://…):body:` | PUT | Replace the whole remote resource; do not use a line scope |
15
- | `KILL(http(s)://…)` | DELETE | Delete the remote resource and stream the response |
9
+ | Operation | Remote action | Effect |
10
+ | ---------------------------------------------- | ------------- | ------------------------------------------------------------------------- |
11
+ | `## READ0 (http(s)://…) <scope?>` | GET if needed | Acquire/reuse the complete response, then return the selected scoped text |
12
+ | `## FIND0 (http(s)://…)` with matcher body | GET if needed | Prepare an exact URL, then return flat match locations |
13
+ | `## SEND0 [200] (http(s)://…)` with body | POST | Submit the body and stream the response |
14
+ | `## EDIT0 (http(s)://…)` with body | PUT | Replace the whole remote resource; do not use a line scope |
15
+ | `## KILL0 (http(s)://…)` | DELETE | Delete the remote resource and stream the response |
16
16
 
17
17
  A path-pattern FIND searches only web entries already materialized in the
18
18
  workspace; a pattern cannot discover the remote web. FIND returns navigation
@@ -55,7 +55,7 @@ adds its route, status, timing, any reported request ID and credits, and bounded
55
55
  failure evidence. `body`, `header`, and `html` carry independent durable
56
56
  producer outcomes; the selected channel determines success. Thus `#html` or
57
57
  `#header` can remain readable after a body failure, while a Tavily body can
58
- succeed without fabricating unavailable server HTML. `SEND[code]` is never the
58
+ succeed without fabricating unavailable server HTML. A SEND signal is never the
59
59
  remote HTTP status. A direct non-success origin response is still materialized:
60
60
  origin-backed channels carry its exact durable `http-response-status` Problem,
61
61
  while independently produced Tavily content and acquisition headers retain
@@ -92,8 +92,10 @@ Request headers ride inside the target as ordered trailing `{Key: value}`
92
92
  blocks, one header per block:
93
93
 
94
94
  ```plurnk
95
- <<READ(https://api.example.com/v1/me{Authorization: Bearer TOKEN}{Accept: application/json})::READ
96
- <<EDIT(https://api.example.com/v1/thing/42{Authorization: Bearer TOKEN}{Content-Type: application/json}):{"done":true}:EDIT
95
+ ## READ0 (https://api.example.com/v1/me{Authorization: Bearer TOKEN}{Accept: application/json})
96
+
97
+ ## EDIT0 (https://api.example.com/v1/thing/42{Authorization: Bearer TOKEN}{Content-Type: application/json})
98
+ {"done":true}
97
99
  ```
98
100
 
99
101
  Percent-encode `)`, `<`, and `}` inside a header value.
@@ -109,7 +111,7 @@ identity. POST, PUT, and DELETE never use that rewrite.
109
111
 
110
112
  | Control | Effect |
111
113
  | ------------------------ | --------------------------------------------------------------------- |
112
- | `SEND[499](http(s)://…)` | Cancel the routed in-flight acquisition |
113
- | `SEND[410](http(s)://…)` | Delete the local stored response; the next READ must acquire it again |
114
+ | `## SEND0 [499] (http(s)://…)` | Cancel the routed in-flight acquisition |
115
+ | `## SEND0 [410] (http(s)://…)` | Delete the local stored response; the next READ must acquire it again |
114
116
 
115
117
  For a persistent bidirectional connection, use `wss://`.
package/docs/wss.md CHANGED
@@ -2,31 +2,36 @@
2
2
 
3
3
  Use WebSocket for a persistent, bidirectional connection. `wss` is a
4
4
  stateful scheme, not an HTTP content type: READ claims a workspace address and
5
- owns its socket until terminal settlement, while concurrent SEND and KILL
6
- operations address that owner.
5
+ owns its socket until terminal settlement, while EDIT, SEND, and KILL address
6
+ that owner.
7
7
 
8
- | Operation | Effect |
9
- | ------------------------------------- | ------------------------------------------------------------------------------------------ |
10
- | `READ(wss://host/path)` | Claim the address, connect, mark `messages` active on `open`, and stream inbound frames |
11
- | A second `READ` of the same address | Return `409` until the existing owner's terminal cleanup releases the claim |
12
- | `SEND[200](wss://host/path):message:` | Send only through an open socket; claimed, connecting, or settling owners return `409` |
13
- | `SEND[499](wss://host/path)` | Cancel the owning READ through its routed subscription handle |
14
- | `KILL(wss://host/path)` | Close or cancel the claimed owner; an address with no owner is `404` |
8
+ | Operation | Effect |
9
+ | ---------------------------------------------- | --------------------------------------------------------------------------------------- |
10
+ | `## READ0 (wss://host/path)` | Claim the address, connect, mark `messages` active on `open`, and stream inbound frames |
11
+ | A second READ of the same address | Return `409` until the existing owner's terminal cleanup releases the claim |
12
+ | `## EDIT0 (wss://host/path)` with body | Send one whole text frame through an already-open owner; ranges and batches are invalid |
13
+ | `## SEND0 [200] (wss://host/path)` with body | Send one whole text frame; it may follow the opening READ in the same turn |
14
+ | `## SEND0 [499] (wss://host/path)` | Cancel the owning READ through its routed subscription handle |
15
+ | `## KILL0 (wss://host/path)` | Close or cancel the claimed owner; an address with no owner is `404` |
15
16
 
16
- | Owner state | Meaning | `SEND[200]` |
17
+ | Owner state | Meaning | EDIT or SEND with signal `200` |
17
18
  | ------------ | ---------------------------------------------------- | ------------------------------------------------ |
18
19
  | `claimed` | Address reserved while entry/subscription setup runs | `409`; no second ownership path is created |
19
20
  | `connecting` | Native socket exists but has not emitted `open` | `409`; wait for the active stream event |
20
- | `open` | `open` was observed and the native state is open | Sends the message |
21
+ | `open` | `open` was observed and the native state is open | Sends one whole text frame |
21
22
  | `settling` | A terminal transition owns cleanup | `409`; wait for cleanup before another READ |
22
23
 
23
24
  The native `open` event plus durable `messages` activation is the acquisition
24
25
  boundary. It emits the ordinary metadata-only stream event and returns the READ
25
- at `102`; later operations from the same worker or client may then SEND or KILL
26
- the live owner. A close before acquisition is a direct `502` connection
26
+ at `102`; later operations from the same worker or client may then EDIT, SEND,
27
+ or KILL the live owner. A close before acquisition is a direct `502` connection
27
28
  failure. After acquisition, close, cancellation, and failure settle the retained
28
29
  subscription without rewriting the initial READ.
29
30
 
31
+ EDIT and SEND share the same outbound-frame behavior. Operation phase order is
32
+ the only scheduling distinction: SEND can follow READ in one turn, while EDIT
33
+ runs before READ and therefore requires a connection opened by an earlier turn.
34
+
30
35
  Connection identity includes the workspace, exact `ws`/`wss` protocol, host,
31
36
  non-default port, path, and ordered query. A fragment does not change socket
32
37
  identity; `messages` is the only current channel.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-schemes-http",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "HTTP(S) request/response and WebSocket scheme handlers for the plurnk agent runtime.",
5
5
  "keywords": [
6
6
  "plurnk",
@@ -69,7 +69,7 @@
69
69
  "prepack": "npm run build"
70
70
  },
71
71
  "peerDependencies": {
72
- "@plurnk/plurnk-schemes": "^1.5.0"
72
+ "@plurnk/plurnk-schemes": "^1.6.0"
73
73
  },
74
74
  "dependencies": {
75
75
  "eventsource-parser": "^4.0.0"