@plurnk/plurnk-schemes-http 1.16.4 → 1.17.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/.env.defaults CHANGED
@@ -1,40 +1,18 @@
1
- # @plurnk/plurnk-schemes-http — .env.defaults (operator config + defaults floor).
2
- #
3
- # Every knob this package reads, family-namespaced PLURNK_SCHEMES_HTTP_*. This
4
- # file is the canonical value registry; {§http-config} owns policy. The daemon
5
- # assembles every installed member's .env.defaults into one operative floor at
6
- # boot, set-if-unset under the operator's env {§operator-config-env-defaults}.
7
- # UNCOMMENTED keys are real defaults the floor sets. COMMENTED keys are modes
8
- # whose ABSENCE is meaningful (unset = the documented behavior) — the floor
9
- # must not set them. Standalone (no daemon), the required numerics fail hard
10
- # when unset, naming the var.
11
- #
12
- # ── Required (acquisition path) ─────────────────────────────────────────────
13
- # HTTP request timeout in ms.
14
- PLURNK_SCHEMES_HTTP_FETCH_TIMEOUT=30000
1
+ # @plurnk/plurnk-schemes-http — HTTP acquisition and streams.
15
2
 
16
- # ── Defaults (floor-set; override to change) ────────────────────────────────
17
- # Per-URL freshness TTL in ms: a re-read of a URL fetched within this window
18
- # serves the stored copy with ZERO round-trips (no conditional GET). This makes
19
- # a just-materialized web entry immediately readable like any other entry.
20
- # 0 opts into revalidation on every read via ETag/304.
21
- # Required read: unset crashes, naming the var.
3
+ # Request deadline, ms.
4
+ PLURNK_SCHEMES_HTTP_FETCH_TIMEOUT=30000
5
+ # Stored URL freshness, ms; within the TTL, READ performs no request.
6
+ # 0 = revalidate on every READ (ETag/304 when available).
22
7
  PLURNK_SCHEMES_HTTP_TTL_MS=300000
23
- # Max HTTP redirect hops automatic WebFetcher acquisition follows. Every hop is
24
- # checked; 0 follows none. Required read: unset crashes, naming the var.
8
+ # Maximum automatic redirect hops; 0 = none.
25
9
  PLURNK_SCHEMES_HTTP_REDIRECTS=5
26
- # Maximum buffered characters in one incomplete SSE line/event. Exceeding this
27
- # bound terminates the remote stream instead of allowing unbounded memory growth.
10
+ # Maximum buffered characters per incomplete SSE line/event; overflow terminates the stream.
28
11
  PLURNK_SCHEMES_HTTP_SSE_MAX_BUFFER_CHARS=1048576
29
- # Maximum characters retained from a caught fetch, extract, or transport
30
- # diagnostic in a model-facing Problem detail. Complete errors remain in daemon
31
- # diagnostics.
12
+ # Maximum diagnostic characters in model-facing errors; daemon diagnostics remain complete.
32
13
  PLURNK_SCHEMES_HTTP_ERROR_DETAIL_LIMIT=512
33
14
 
34
- # ── Optional modes (absence IS the mode — never floor-set) ──────────────────
35
- # The documented third-party materializer showcase: install the
36
- # @plurnk/plurnk-schemes-http-tavily plugin, then select it and provide its
37
- # key. Absence (unset) of either keeps the installed HTML projection as the
38
- # local floor; the plugin documents its own depth/timeout knobs.
15
+ # Optional HTML materializer; unset = installed local HTML projection.
16
+ # @plurnk/plurnk-schemes-http-tavily ships with the service; it needs TAVILY_API_KEY in the
17
+ # service environment and this selection to take part.
39
18
  # PLURNK_SCHEMES_HTTP_MATERIALIZER=tavily-extract
40
- # TAVILY_API_KEY=...
package/README.md CHANGED
@@ -10,13 +10,13 @@ authored against the DB-free
10
10
 
11
11
  | Operation | Behavior |
12
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 (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)://…)` | Cancel a live acquisition of the address, or forget its stored response |
19
- | `### KILL0 (http(s)://…) {remote}` | DELETE the remote resource and stream the response |
13
+ | ```` ```READ (http(s)://…) ```` | Fetch or reuse/revalidate a GET representation, then stream the selected response channel |
14
+ | ```` ```READ (http(s)://…) <scope> ```` | Apply the standard entry READ to an already-materialized response without refetching |
15
+ | ```` ```FIND (http(s)://…) ```` with matcher body | Materialize an exact URL when required, then use the universal entry query and matcher |
16
+ | ```` ```SEND (http(s)://…) ```` with body | POST the body and stream the response |
17
+ | ```` ```EDIT (http(s)://…) ```` with body | PUT a whole-resource replacement; line-scoped HTTP edits are invalid |
18
+ | ```` ```KILL (http(s)://…) ```` | Cancel a live acquisition of the address, or forget its stored response |
19
+ | ```` ```KILL (http(s)://…) [{"remote": true}] ```` | DELETE the remote resource and stream the response |
20
20
 
21
21
  A path-pattern FIND surveys already-materialized web entries; it does not crawl
22
22
  or discover the remote web. Exact matcher FIND shares the standard flat
@@ -48,10 +48,10 @@ projection ceiling returns `413`.
48
48
  `body`; otherwise the installed HTML reader is the local route. Recoverable
49
49
  materializer failures use that same reader as a `203` recovery floor. Hard
50
50
  provider failures do not silently change producers.
51
- - `body`, `header`, and `html` settle independently. The selected channel
52
- determines operation success, so raw server source and evidence remain usable
53
- when body production fails, and a provider body can survive origin transport
54
- failure without fabricating HTML.
51
+ - `body`, `header`, and `readable` settle independently. The selected channel
52
+ determines operation success, so the raw server source and evidence remain
53
+ usable when the projection fails, and a provider's Markdown can survive origin
54
+ transport failure without fabricating HTML.
55
55
  - GET representations carry method, acquisition-time, and single-variant cache
56
56
  metadata; HTML adds materializer-route evidence, and local derivation adds
57
57
  projection identity. Request metadata, `Vary`, `no-store`, expired freshness,
@@ -83,7 +83,7 @@ To select a page-materializer plugin for generic public HTML materialization,
83
83
  install it and set `PLURNK_SCHEMES_HTTP_MATERIALIZER=<id>` in `.env` (the
84
84
  `@plurnk/plurnk-schemes-http-tavily` showcase plugin supplies `tavily-extract`).
85
85
  Without a selection, `@plurnk/plurnk-mimetypes-text-html` supplies the local
86
- body.
86
+ `readable` projection.
87
87
 
88
88
  ## Verify
89
89
 
package/SPEC.md CHANGED
@@ -20,9 +20,9 @@ the DB-free `SchemeCtx` author contract.
20
20
 
21
21
  | Channel | Seed type | Meaning |
22
22
  | -------- | --------------------------- | ------------------------------------------------------------------------------ |
23
- | `body` | `application/octet-stream` | Source text, derived Unicode, binary marker, SSE data, or HTML-page Markdown |
24
- | `header` | `text/plain` | Origin, acquisition, materializer, projection, provider, and usage evidence |
25
- | `html` | `text/html` | Original server-source HTML when an HTML representation can be acquired |
23
+ | `body` | `application/octet-stream` | The response as served: source text, an HTML page's server source, derived Unicode for binary, SSE data |
24
+ | `header` | `text/plain` | Origin, acquisition, materializer, projection, provider, and usage evidence |
25
+ | `readable` | `text/markdown` | An HTML page's curated Markdown: the selected materializer's, or the installed local projection ({§readable-channel} in the core specification) |
26
26
 
27
27
  `package.json#plurnk.schemes` registers `http` through the default export and
28
28
  `wss` through `Ws`.
@@ -41,17 +41,17 @@ preserved exactly.
41
41
 
42
42
  | Operation | Remote action | Contract |
43
43
  | ------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------- |
44
- | Exact `### READ0 (url) <scope?>` | GET unless a fresh GET copy is usable | Prepare one complete canonical representation, then let core select and project it |
45
- | Exact `### FIND0 (url)` | GET only when acquisition is required | Use the same preparation, then universal query, matcher, weighting, and pagination |
46
- | `### FIND0 (pattern-url)` | None | Query already-materialized web entries; a path pattern does not discover the remote web |
47
- | `### SEND0 (url)` with body | POST | Stream and persist the response under the addressed URL |
48
- | `### EDIT0 (url)` with body | PUT | Replace the whole remote resource; a line marker is invalid |
49
- | `### KILL0 (url)` | None | {§http-kill}: cancel the worker's live acquisition of the URL, else delete the local stored entry |
50
- | `### KILL0 (url) {remote}` | DELETE | Delete the remote resource and stream its response; other metadata blocks are its headers |
44
+ | Exact ```` ```READ (url) <scope?> ```` | GET unless a fresh GET copy is usable | Prepare one complete canonical representation, then let core select and project it |
45
+ | Exact ```` ```FIND (url) ```` | GET only when acquisition is required | Use the same preparation, then universal query, matcher, weighting, and pagination |
46
+ | ```` ```FIND (pattern-url) ```` | None | Query already-materialized web entries; a path pattern does not discover the remote web |
47
+ | ```` ```SEND (url) ```` with body | POST | Stream and persist the response under the addressed URL |
48
+ | ```` ```EDIT (url) ```` with body | PUT | Replace the whole remote resource; a line marker is invalid |
49
+ | ```` ```KILL (url) ```` | None | {§http-kill}: cancel the workspace's live acquisitions of the URL, else delete the local stored entry |
50
+ | ```` ```KILL (url) [{"remote": true}] ```` | DELETE | Delete the remote resource and stream its response; other metadata blocks are its headers |
51
51
 
52
52
  Finite GET uses scope-blind representation preparation; POST, PUT, DELETE,
53
53
  and genuinely live GET responses retain the subscription path. Request
54
- headers are ordered scheme metadata: one `{Key: value}` block after the target
54
+ headers are ordered scheme metadata: one `[{"Key": "value"}]` block after the target
55
55
  per header. HTTP alone parses those opaque blocks; the resource target remains
56
56
  pure. A loop SEND signal is never the remote HTTP status; remote status and
57
57
  headers are persisted in `header`.
@@ -95,8 +95,8 @@ but cold and warm representations pass through the same core projection.
95
95
 
96
96
  | Response | `body` | Auxiliary materialization | Completion |
97
97
  | --------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------- |
98
- | Negotiated origin Markdown | Exact origin Markdown | Independently acquired server source in `html` when found | Static representation, then core projection |
99
- | HTML-page production | Materializer Markdown, local Markdown, or independent error | Exact server source in `html` when origin supplied it | Static representation, then core projection |
98
+ | Negotiated origin Markdown | Exact origin Markdown | None: readable text is the source itself; one request | Static representation, then core projection |
99
+ | HTML-page production | Exact server source when the origin supplied it | Materializer Markdown, local Markdown, or independent error in `readable` | Static representation, then core projection |
100
100
  | `text/event-stream` | One `data` value plus newline per `text/plain` chunk | Initial response in `header` | `102`; origin close settles subscription |
101
101
  | No response body | Present empty text | Response and package metadata in `header` | Static representation; body READ is `204` |
102
102
  | Origin HTTP `4xx`/`5xx` | Preserve available origin or independently produced text | Exact response evidence; origin-backed channels errored | Selected channel's durable outcome |
@@ -116,7 +116,7 @@ returns the selected channel's requested text projection.
116
116
  | ----------------------------- | ------------------------------------------------------------------------------------------------ |
117
117
  | Response media type | WHATWG `MIMEType` essence; absent or unparseable metadata becomes `application/octet-stream` |
118
118
  | Finite GET text | Fetch `Response.text()` UTF-8 decoding; buffering does not select a different character encoding |
119
- | Streamed mutation response | Incremental replacement-mode UTF-8 through `TextDecoder`, preserving response backpressure |
119
+ | Streamed mutation response | Incremental replacement-mode UTF-8 through `TextDecoder`; finite JSON documents publish after completion, other text preserves incremental backpressure |
120
120
  | `charset` parameter | Preserve in `header` as origin evidence; it does not replace Fetch text decoding |
121
121
  | JSON and XML textual families | Use the same HTTP byte-to-string rule; format projections consume the resulting Unicode string |
122
122
  | Direct HTML GET | Fetch UTF-8 decoding of origin server HTML |
@@ -128,6 +128,13 @@ A configured binary type bypasses it and enters the mimetype family's bounded
128
128
  readable-byte projection {§mimetype-binary-input}; raw bytes never become a
129
129
  durable channel.
130
130
 
131
+ §http-json-presentation Finite `application/json` and `+json` responses use
132
+ {§json-document-presentation} in their canonical body channel before indexing,
133
+ scope selection, or previews. Both GET and mutation responses follow this rule.
134
+ Malformed JSON remains unchanged; interrupted mutation responses preserve the
135
+ received partial text and the acquisition failure. Request bodies, authored
136
+ entries, non-JSON text, SSE, and JSONL retain their original formatting.
137
+
131
138
  ### §html-materialization Readable materialization
132
139
 
133
140
  `WebFetcher.materialize` is the shared readable-representation seam for exact
@@ -141,12 +148,12 @@ mutation responses retain incremental streaming.
141
148
  | Configured binary with reader | Apply the bounded byte projection | Derived Unicode plus source type and identity |
142
149
  | Configured binary without reader | Cancel without retaining bytes | `null`; the consumer applies its absence policy |
143
150
  | Binary input exceeds the common bound | Cancel and preserve the typed cause | `WebMaterializationError` caused by `ProjectionInputLimitError` |
144
- | Negotiated origin `text/markdown` | Accept it without the materializer | Exact Markdown in `body`; independently requested source in `html` |
145
- | Eligible HTML with a materializer selected | Use the materializer as the body producer | Materializer Markdown in `body`; origin server source in `html` |
146
- | Ineligible HTML or no materializer selected | Use the installed HTML projection | Local Markdown in `body`; origin server source in `html` |
147
- | Recoverable materializer failure with HTML | Use the installed projection as recovery | Local Markdown in `body` with terminal `203`; source in `html` |
148
- | Hard materializer failure | Preserve evidence; do not run local recovery | `body` errored; independently successful `html`/`header` survive |
149
- | Materializer success after origin loss | Preserve provider body and origin failure | `body` static; `html` errored |
151
+ | Negotiated origin `text/markdown` | Accept it without the materializer | Exact Markdown in `body`; no `readable`, no second request |
152
+ | Eligible HTML with a materializer selected | Use the materializer as the readable producer | Origin server source in `body`; materializer Markdown in `readable` |
153
+ | Ineligible HTML or no materializer selected | Use the installed HTML projection | Origin server source in `body`; local Markdown in `readable` |
154
+ | Recoverable materializer failure with HTML | Use the installed projection as recovery | Source in `body`; local Markdown in `readable` with terminal `203` |
155
+ | Hard materializer failure | Preserve evidence; do not run local recovery | `readable` errored; independently successful `body`/`header` survive |
156
+ | Materializer success after origin loss | Preserve provider text and origin failure | `readable` static; `body` errored with the origin's own failure |
150
157
  | Projection implementation throws | Stop and preserve the cause | `WebMaterializationError` with stage `projection` |
151
158
 
152
159
  A projection object is present even when its content is `""`; only `null`
@@ -184,19 +191,21 @@ a silent fallback. A selected id with no installed provider fails hard rather
184
191
  than degrading silently.
185
192
 
186
193
  Without server HTML, no local recovery input exists. A materializer success can
187
- still close `body`, but every materializer failure remains the body failure and
188
- `html` closes errored.
194
+ still close `readable`, but every materializer failure remains the readable
195
+ failure, and `body` closes errored with the origin's own failure.
189
196
 
190
197
  #### §http-channel-outcomes Channel outcomes
191
198
 
192
- For finite HTML-page production, `body`, `header`, and `html` have independent
199
+ For finite HTML-page production, `body`, `header`, and `readable` have independent
193
200
  durable outcomes and are written atomically. The selected channel alone
194
- determines the projected operation result: successful `#html` or `#header` can
201
+ determines the projected operation result: successful `#readable` or `#header` can
195
202
  be read when `body` failed, and a successful default `body` is not invalidated
196
- by unavailable `html`. Unselected failures remain `errored` channels carrying
197
- their exact `producerResult`. A recoverable local body remains a static readable
198
- channel with producer status `203`, so cold and warm READ both return its
199
- content with that same status.
203
+ by an errored `readable`. Unselected failures remain `errored` channels carrying
204
+ their exact `producerResult`. A recoverable local projection remains a static
205
+ `readable` channel with producer status `203`, so cold and warm READ both return
206
+ its content with that same status. Every READ names the page's other channels
207
+ with their tokens ({§channel-selection-visibility}), so a READ of the source
208
+ shows that `#readable` exists before the model has ever listed the page.
200
209
 
201
210
  Exact READ, exact FIND, and executor materialization preserve the same channel
202
211
  representation. A missing source variant is an explicit empty `errored`
@@ -238,7 +247,8 @@ an origin is first being read.
238
247
  | SSE cancellation after acquisition | `102` initial; terminal `499` |
239
248
  | SSE parser/transfer failure after acquisition | `102` initial; terminal `502` |
240
249
  | Multi-statement HTTP edit batch | `409` (`non-atomic-edit-batch`) |
241
- | Invalid target, channel, line edit, or URL userinfo | `400` with the corresponding stable Problem kind |
250
+ | Invalid target, line edit, or URL userinfo | `400` with the corresponding stable Problem kind |
251
+ | Missing response channel | `404 channel-not-found` under {§channel-selection-missing}; no remote mutation |
242
252
  | Non-corresponding 304 | `502` (`fetch-failed`) |
243
253
  | Acquisition failure without a successful provider body | `502` (`fetch-failed`) |
244
254
  | Projection exception | `500` (`projection-failed`) |
@@ -247,8 +257,8 @@ an origin is first being read.
247
257
  An HTTP error status is still a successfully acquired direct response: its
248
258
  content and response evidence are preserved, and origin-backed channels carry
249
259
  that exact status as durable producer evidence. HTML still enters page
250
- production, so a successful materializer `body` can remain readable while the
251
- origin `html` records the HTTP error. Automatic WebFetcher acquisition instead treats
260
+ production, so a successful materializer `readable` can remain readable while the
261
+ origin `body` records the HTTP error. Automatic WebFetcher acquisition instead treats
252
262
  a non-2xx response as unavailable. Handler failures use RFC 9457 Problem Details.
253
263
  Caught direct-acquisition diagnostics are bounded by
254
264
  `PLURNK_SCHEMES_HTTP_ERROR_DETAIL_LIMIT` in model-facing detail while complete
@@ -421,7 +431,7 @@ later GET or exact-FIND acquisition. An unmarked authored entry and an eligible
421
431
  stored GET remain visible to universal FIND as durable evidence; exact HTTP
422
432
  preparation applies the policy above. A metadata-less `KILL` deletes the stored entry ({§http-kill}).
423
433
 
424
- §http-kill **KILL follows the entry rule; the remote DELETE is its own spelling.** `### KILL0 (url)` cancels the acting worker's live acquisition of that URL when one is in flight — GET, SSE, or a mutation — by aborting the controller the scheme tracks per worker and URL, and the owner settles itself as `499` cancelled; with nothing in flight it deletes the local stored entry so the next READ must acquire again. Only `### KILL0 (url) {remote}` sends the HTTP DELETE, and its remaining metadata blocks are that request's headers. A KILL never reaches the remote by accident.
434
+ §http-kill **KILL follows the entry rule; the remote DELETE is its own spelling.** ```` ```KILL (url) ```` cancels all live acquisitions of that exact URL within the workspace — GET, SSE, or mutations — by aborting their registered controllers; each initiating operation settles itself as `499` cancelled; with nothing in flight it deletes the local stored entry so the next READ must acquire again. Only ```` ```KILL (url) [{"remote": true}] ```` sends the HTTP DELETE, and its remaining metadata blocks are that request's headers. A KILL never reaches the remote by accident.
425
435
 
426
436
  ### §sse Server-sent events
427
437
 
@@ -482,11 +492,11 @@ stateDiagram-v2
482
492
 
483
493
  | Operation or event | Contract |
484
494
  | --------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
485
- | `### READ0 (ws(s)://…)` | Claim, seed/subscribe, construct `CONNECTING`, then return `102` after native `open` plus durable activation |
486
- | Concurrent duplicate READ | `409` in `claimed`, `connecting`, `open`, or `settling`; cleanup releases the only claim |
487
- | `### EDIT0 (ws(s)://…)` | Send one whole text frame only for an open owner; line ranges and multi-statement batches are rejected |
488
- | `### SEND0 (ws(s)://…)` with body | Send only for owner `open` plus native `readyState=OPEN`; absent or non-open owner is `409`; send throw is `502` |
489
- | `### KILL0 (ws(s)://…)` | Close/cancel the claimed owner; no owner is `404`; an attempted close throw is `502` |
495
+ | ```` ```READ (ws(s)://…) ```` | Claim, seed/subscribe, construct `CONNECTING`, then return `102` after native `open` plus durable activation |
496
+ | Concurrent duplicate READ | Join the pending acquisition; once acquired, observe the shared connection with `200` and its connection state. Never create a second subscription or socket. |
497
+ | ```` ```EDIT (ws(s)://…) ```` | Send one whole text frame only for an open owner; line ranges and multi-statement batches are rejected |
498
+ | ```` ```SEND (ws(s)://…) ```` with body | Send only for owner `open` plus native `readyState=OPEN`; absent or non-open owner is `409`; send throw is `502` |
499
+ | ```` ```KILL (ws(s)://…) ```` | Close/cancel the claimed owner; no owner is `404`; an attempted close throw is `502` |
490
500
  | Inbound frame after native `open` | Join the owner's persistence chain; the next write begins only after the preceding write succeeds |
491
501
  | 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` |
492
502
  | First inbound persistence failure | Retain the successful prefix, prune queued and later frames, and settle with `500 message-persistence-failed` |
@@ -496,13 +506,13 @@ stateDiagram-v2
496
506
 
497
507
  Markerless single-statement EDIT and SEND with signal `200` converge on one
498
508
  outbound text-frame path and have the same connection and transport outcomes.
499
- Dispatcher phase order ({§op-mode-phases}) runs EDIT before READ and SEND after
500
- READ, so an EDIT requires an owner opened before the turn while SEND can follow
501
- the opening READ in the same turn.
509
+ Authored dispatch order ({§op-execution-order}) lets either write follow the
510
+ opening READ in the same turn, after acquisition establishes the live owner.
502
511
 
503
- The in-instance registry is keyed by the owning Worker, addressed protocol,
504
- and canonical network pathname, matching the Worker-owned durable entry so
505
- independent Workers never share a live handle. The claim remains registered through terminal
512
+ The in-instance registry is keyed by workspace and complete canonical network
513
+ URL, matching the commons entry. Workers share the connection and may SEND or
514
+ KILL it; acquisition attribution and settlement remain with its initiating
515
+ operation ({§runtime-resource-binding}). The claim remains registered through terminal
506
516
  cleanup, so a new READ cannot overlap an owner's subscription settlement. Every
507
517
  terminal path drains retained owner work, closes the transport when necessary,
508
518
  closes the durable subscription, then releases the claim. A persistence failure
@@ -515,5 +525,5 @@ transport-close failures under {§handler-lifecycle}.
515
525
  | ------------------ | ------------------------------------------------------------------------------------------------------- |
516
526
  | Payload projection | String event data only into `text/plain`; binary data terminates with Plurnk `415` and private-use WebSocket code `4003` |
517
527
  | Reconnection | None; READ again after terminal cleanup |
518
- | Handshake metadata | `{metadata}` is unsupported; the default global-WebSocket identity is used |
528
+ | Handshake metadata | `[metadata]` is unsupported; the default global-WebSocket identity is used |
519
529
  | Runtime | Node ≥26 |
@@ -1 +1 @@
1
- {"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAA6C,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAmF,MAAM,wBAAwB,CAAC;AAsL9V,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,aAAa;;IAC9C,MAAM,CAAC,QAAQ,EAAE,cAAc,CAgC7B;IAUF,cAKC;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;IAIK,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;IAKK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqB/E;IAIK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0B/E;CAijBJ"}
1
+ {"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAA6C,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAmF,MAAM,wBAAwB,CAAC;AAsL9V,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,aAAa;;IAC9C,MAAM,CAAC,QAAQ,EAAE,cAAc,CAuB7B;IAUF,cAKC;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;IAIK,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;IAKK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsB/E;IAGK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAS/E;CAuiBJ"}
package/dist/Http.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // acquisition, materialization, publication, and query flow live in
3
3
  // {§http-lifecycle}. The implementation depends only on SchemeCtx capabilities.
4
4
  import { createParser } from "eventsource-parser";
5
- import { MimetypeClassifier, NetworkAddress, ProjectionInputLimitError, Results } from "@plurnk/plurnk-schemes";
5
+ import { MetadataOptions, MimetypeClassifier, NetworkAddress, ProjectionInputLimitError, Results } from "@plurnk/plurnk-schemes";
6
6
  import { readFile } from "node:fs/promises";
7
7
  import ErrorDetail from "./ErrorDetail.js";
8
8
  import WebFetcher, { CACHE_VARIANT_HEADER, MATERIALIZER_ID_HEADER, PROJECTION_ID_HEADER, cacheVariantEvidence, classifyCacheVariant } from "./WebFetcher.js";
@@ -146,25 +146,16 @@ export default class Http {
146
146
  // response Content-Type or the configured readable projection type;
147
147
  // octet-stream is the honest "unknown until fetched". header is always the status
148
148
  // line + headers (text/plain).
149
- channels: { [BODY]: "application/octet-stream", [HEADER]: "text/plain", html: "text/html" },
149
+ // {§readable-channel} — body is the response as served (a page's server source); readable
150
+ // is a page's curated Markdown, materializer or local projection; header is evidence.
151
+ channels: { [BODY]: "application/octet-stream", [HEADER]: "text/plain", readable: "text/markdown" },
150
152
  defaultChannel: BODY,
151
153
  category: "data",
152
- entryOwner: "worker",
153
- inherit: "snapshot",
154
154
  writableBy: ["model", "client"],
155
155
  volatile: true, // remote content can change between fetches
156
156
  modelVisible: true,
157
157
  metadataModifier: true,
158
158
  glyph: "🌐",
159
- example: [
160
- "### READ0 (https://example.com/page)",
161
- "",
162
- "### EDIT0 (https://api.example.com/v1/pets/42) {Content-Type: application/json}",
163
- '{"name":"Mango","status":"available"}',
164
- "",
165
- "### SEND0 (https://api.example.com/v1/pets) {Content-Type: application/json}",
166
- '{"name":"Mango","status":"available"}',
167
- ].join("\n"),
168
159
  documentation,
169
160
  traits: ["web"],
170
161
  };
@@ -231,7 +222,7 @@ export default class Http {
231
222
  }
232
223
  // {§http-kill} — KILL follows the entry rule: a live acquisition of the address is
233
224
  // cancelled, otherwise the stored response is forgotten. The remote DELETE is its own
234
- // spelling, `### KILL0 (https://…) {remote}`; any other metadata blocks are its headers.
225
+ // spelling, `KILL (https://…) [{"remote": true}]`; any other metadata keys are its headers.
235
226
  async kill(statement, ctx) {
236
227
  if (statement.target === null || statement.target.kind !== "url") {
237
228
  return Http.#bad(400, "http", "bad-target", "KILL requires an http(s):// URL target.", {
@@ -240,23 +231,24 @@ export default class Http {
240
231
  retryable: false,
241
232
  });
242
233
  }
243
- const blocks = statement.metadata ?? [];
244
- const remote = blocks.some((block) => block.trim() === "remote");
245
- if (remote) {
246
- const headers = blocks.filter((block) => block.trim() !== "remote");
247
- return this.#requester.request(statement.target, headers.length === 0 ? null : headers, ctx, "DELETE", undefined);
234
+ const read = MetadataOptions.parse(statement.metadata, "scheme:http");
235
+ if ("failure" in read)
236
+ return read.failure;
237
+ if (read.options.remote === true) {
238
+ const { remote: _remote, ...headers } = read.options;
239
+ const blocks = Object.keys(headers).length === 0 ? null : [JSON.stringify(headers)];
240
+ return this.#requester.request(statement.target, blocks, ctx, "DELETE", undefined);
248
241
  }
249
242
  const address = Http.#address(statement.target);
250
243
  if (!(address instanceof NetworkAddress))
251
244
  return address;
252
- if (this.#live.cancel(LiveAcquisitions.key(ctx.workerId, address.url))) {
245
+ if (this.#live.cancel(LiveAcquisitions.key(ctx.workspaceId, address.url))) {
253
246
  // The owner settles itself as cancelled through its aborted signal.
254
247
  return { shape: "passthrough", status: 200 };
255
248
  }
256
249
  return Http.#passthrough(await ctx.entries.delete(address.pathname));
257
250
  }
258
- // SEND dispatch — a recipient SEND with a body is the POST; a disposition label never
259
- // reaches a scheme, and any other status is refused 501 ({§send-label}).
251
+ // {§turn-disposition} — SEND is messaging; lifecycle operations never reach a scheme.
260
252
  async send(statement, ctx) {
261
253
  if (statement.target === null || statement.target.kind !== "url") {
262
254
  return Http.#bad(400, "http", "bad-target", "SEND requires an http(s):// URL target.", {
@@ -265,18 +257,7 @@ export default class Http {
265
257
  retryable: false,
266
258
  });
267
259
  }
268
- // A recipient SEND with a body posts it ({§send-label}: dispositions never reach a scheme).
269
- if (statement.status === null) {
270
- const body = statement.body?.raw ?? "";
271
- return this.#requester.request(statement.target, statement.metadata, ctx, "POST", body);
272
- }
273
- const status = statement.status;
274
- // Entry-bearing schemes return 501 for status codes they don't interpret.
275
- return Http.#bad(501, "http", "send-status-unsupported", `The HTTP scheme does not interpret SEND status ${status}.`, {
276
- requestedStatus: status,
277
- stage: "dispatch",
278
- retryable: false,
279
- });
260
+ return this.#requester.request(statement.target, statement.metadata, ctx, "POST", statement.body?.raw ?? "");
280
261
  }
281
262
  // {§http-manifest}/{§http-lifecycle} Seed the declared channel shape before
282
263
  // open(); notifyChunk later welds acquired content to its actual mimetype.
@@ -429,20 +410,22 @@ export default class Http {
429
410
  }
430
411
  return address;
431
412
  }
413
+ // {§scheme-metadata-modifier} The request's [metadata] object is its header map:
414
+ // every key is a header name and every value a header string. `remote` on KILL
415
+ // is the one non-header key, consumed before the headers are read.
432
416
  static #requestHeaders(metadata) {
433
- if (metadata === null)
434
- return [];
417
+ const read = MetadataOptions.parse(metadata, "scheme:http");
418
+ if ("failure" in read)
419
+ return read.failure;
435
420
  const headers = [];
436
- for (const [index, block] of metadata.entries()) {
437
- const colon = block.indexOf(":");
438
- if (colon < 0) {
439
- return Http.#bad(400, "http", "metadata-header-shape", `HTTP metadata block ${index + 1} requires a header name and ':' separator.`, { block: index + 1, retryable: false });
440
- }
441
- const name = block.slice(0, colon).trim();
421
+ for (const [name, value] of Object.entries(read.options)) {
442
422
  if (!/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/u.test(name)) {
443
- return Http.#bad(400, "http", "metadata-header-name", `HTTP metadata block ${index + 1} has an invalid header name.`, { block: index + 1, retryable: false });
423
+ return Http.#bad(400, "http", "metadata-header-name", `HTTP metadata key '${name}' is not a valid header name.`, { retryable: false });
424
+ }
425
+ if (typeof value !== "string") {
426
+ return Http.#bad(400, "http", "metadata-header-shape", `HTTP header '${name}' requires a string value.`, { retryable: false });
444
427
  }
445
- headers.push([name, block.slice(colon + 1).trim()]);
428
+ headers.push([name, value.trim()]);
446
429
  }
447
430
  return headers;
448
431
  }
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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"}