9e8d23bcd9
Introduces epm/, a new component written entirely in native El.
epm manages vessels (El's deployable package format): publish to Engram,
install with full dependency resolution, list registry contents, and
inspect vessel metadata.
- epm/manifest.el — package manifest
- epm/src/manifest.el — vessel/package manifest parser (line-by-line,
same approach as elb.el)
- epm/src/registry.el — Engram-backed vessel registry (POST /api/nodes,
GET /api/search); vessels stored as Entity nodes
with label "vessel:<name>:<version>"
- epm/src/install.el — topological dependency resolver with cycle
detection; installs to .epm/vessels/<name>/
- epm/src/epm.el — main entry point: publish / install / list / info
18 lines
499 B
EmacsLisp
18 lines
499 B
EmacsLisp
// epm — El Package Manager
|
|
//
|
|
// Manages vessels: publish, install, resolve dependencies.
|
|
// Vessels are stored in Engram as nodes. epm reads the local manifest.el,
|
|
// talks to Engram over HTTP, and writes installed vessels to .epm/vessels/.
|
|
|
|
package "epm" {
|
|
version "0.1.0"
|
|
description "El Package Manager — vessel registry, publish, install, resolve"
|
|
authors ["Will Anderson <will@neurontechnologies.ai>"]
|
|
edition "2026"
|
|
}
|
|
|
|
build {
|
|
entry "src/epm.el"
|
|
output "dist/"
|
|
}
|