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 real
4;;; local-system access: filesystem operations (the Resource plane) and PTY
5;;; stream sessions (the Session plane), each a thin command over the shared
6;;; `sigil-system` capability library. The SAME sigil-system surface backs a
7;;; remote node (Familiar) over Enclave, so Lantern and the node share one
8;;; 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 return
15;;; SYNCHRONOUSLY (no await in the handler body — required while the async-handler
16;;; delivery bug is open); pty output streams to the page through a producer
17;;; goroutine's emit path, and pty.close spawns the blocking teardown in its own
18;;; goroutine. See topics/lantern-system-impl for the as-built.
20(package
21 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: (list
29 (from-workspace name: "lantern")
30 (from-git url: "codeberg:sigil/sigil-system" version: "^0.1"))
32 dev-dependencies: (list
33 (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")))