AtlatestRepositorylantern
lantern / tree / lantern-systempackage.sgl
1
;;; lantern-system - the fs + pty capability plugin for Lantern.2
;;;3
;;; A Lantern plugin (bridge-command set) that gives a hosted web app real4
;;; local-system access: filesystem operations (the Resource plane) and PTY5
;;; stream sessions (the Session plane), each a thin command over the shared6
;;; `sigil-system` capability library. The SAME sigil-system surface backs a7
;;; remote node (Familiar) over Enclave, so Lantern and the node share one8
;;; grant-checked implementation; this package is only the in-process bridge glue.9
;;;10
;;; A container app opts in with:11
;;;12
;;; (lantern-app ... plugins: (list (make-lantern-system-plugin)))13
;;;14
;;; Every command is one sigil-system call. fs commands and pty.open return15
;;; SYNCHRONOUSLY (no await in the handler body — required while the async-handler16
;;; delivery bug is open); pty output streams to the page through a producer17
;;; goroutine's emit path, and pty.close spawns the blocking teardown in its own18
;;; goroutine. See topics/lantern-system-impl for the as-built.20
(package21
name: "lantern-system"22
sigil: "^0.17.14"23
description: "Lantern plugin: grant-checked filesystem + PTY session commands over the JS bridge, wrapping sigil-system"24
url: "https://codeberg.org/sigil/lantern"25
license: "BSD-3-Clause"26
authors: (list "David Wilson <[email protected]>")28
dependencies: (list29
(from-workspace name: "lantern")30
(from-git url: "codeberg:sigil/sigil-system" version: "^0.1"))32
dev-dependencies: (list33
(from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: "^0.17")34
(from-git url: "codeberg:sigil/sigil" package: "sigil-test-runner" version: "^0.17")))