@arborship/arbor-pak
v2.0.1
Published
Levi Arborfile and LeviPak parser, validator, and builder APIs
Readme
@arborship/arbor-pak
Parser, validator, and builder APIs for Levi's Arborfile and LeviPak formats — the Dockerfile-like template DSL that describes how a Levi VM template or package is defined and built. It owns the canonical AST, directive invariants, dependency graphs, compilation, lockfiles, provenance, snapshots, and cache-key logic for Arborfile v1, plus package parsing, includes, recipes, and build execution/transport for LeviPak.
Layer
Product-semantic kernel (Arborfile/LeviPak format: parsing, validation,
dependency graphs, and cache-key logic are deterministic and independent of
live VM state). Build execution and transport (guest-agent WebSocket client,
SSH) are operational concerns kept behind explicit interfaces, closer to an
operational port. Per docs/architecture/PLATFORM_BOUNDARIES.md (ADR-0011),
this package does not select or construct VM drivers — it only owns the file
format and its execution contract.
Install
npm install @arborship/arbor-pakUsage
Parse and validate a Arborfile:
import { parseLevifile, validateLevifilePlan } from '@arborship/arbor-pak'
const result = parseLevifile(source) // { success, plan, errors }
if (result.success && result.plan) {
const validation = validateLevifilePlan(result.plan, 'Arborfile')
}Parse a Arborfile v1 document (typed spec/AST, from the ./levifile export):
import { parseLevifile } from '@arborship/arbor-pak/arborfile'
const result = parseLevifile(source)Part of Levi
This package is part of Levi, an
isolated personal agent control plane. See the repository's
docs/architecture/
directory for design docs, including
PLATFORM_BOUNDARIES.md
and the Arborfile v1 reference docs.
License
Apache-2.0. See the LICENSE file in this package; the full license set is
described in the repository's docs/architecture/LICENSING_AND_TOPOLOGY.md.
