IAddon for the VS Code vessel. Construction is pure; initialize! starts a hive-vessel.executor.sse bridge on loopback (token-gated, every browser Origin refused), writes the discovery file the extension reads, builds the hive-vessel target and hands it to an injected :vessel/register-target-fn.
IAddon for the VS Code vessel. Construction is pure; initialize! starts a hive-vessel.executor.sse bridge on loopback (token-gated, every browser Origin refused), writes the discovery file the extension reads, builds the hive-vessel target and hands it to an injected :vessel/register-target-fn.
Interpreter: a :json native payload -> effects -> IVsCodeHost calls -> reply. Never throws; the reply is what the extension acknowledges to hive.
Interpreter: a :json native payload -> effects -> IVsCodeHost calls -> reply. Never throws; the reply is what the extension acknowledges to hive.
hive-vessel :json native payload -> VS Code effects as data. Pure.
Effects: [:show-message level message] [:upsert-panel panel-id title lines] [:close-panel panel-id] [:open-file file line column] [:send-to-terminal terminal text] [:emit-event event data] [:invalid op reason] [:unsupported op]
hive-vessel :json native payload -> VS Code effects as data. Pure. Effects: [:show-message level message] [:upsert-panel panel-id title lines] [:close-panel panel-id] [:open-file file line column] [:send-to-terminal terminal text] [:emit-event event data] [:invalid op reason] [:unsupported op]
Node boundary: read the discovery file, subscribe to the bridge's SSE stream, apply each :json native on the host, and POST the reply. Reconnects with capped backoff, re-reading discovery each attempt.
Node boundary: read the discovery file, subscribe to the bridge's SSE stream, apply each :json native on the host, and POST the reply. Reconnects with capped backoff, re-reading discovery each attempt.
VS Code entry point: activate wires the host and client into the editor.
VS Code entry point: activate wires the host and client into the editor.
IVsCodeHost over the VS Code extension API, which is injected (never required here) so the rest of the extension loads outside VS Code.
IVsCodeHost over the VS Code extension API, which is injected (never required here) so the rest of the extension loads outside VS Code.
Port: what the VS Code vessel needs from its editor, plus a recording fake.
Port: what the VS Code vessel needs from its editor, plus a recording fake.
hive-vessel face-tagged lines -> a self-contained webview HTML document. Pure; every piece of payload text is HTML-escaped.
hive-vessel face-tagged lines -> a self-contained webview HTML document. Pure; every piece of payload text is HTML-escaped.
Malli value objects: hive-vessel :json payloads as VS Code receives them, and the effects they become.
Malli value objects: hive-vessel :json payloads as VS Code receives them, and the effects they become.
Incremental Server-Sent Events parser. Pure. (feed buffer chunk) -> {:events [{:id :event :data}] :retry n-or-nil :buffer rest}
Incremental Server-Sent Events parser. Pure.
(feed buffer chunk) -> {:events [{:id :event :data}] :retry n-or-nil :buffer rest}cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |