From a08d854d52cf5492a7763bccc1ce475dcc057cba Mon Sep 17 00:00:00 2001 From: t Date: Thu, 20 Aug 2026 12:49:36 -0600 Subject: Replace lyaml with api7-lua-tinyyaml and prepare the 0.1.0 release lyaml binds the system libyaml, which luarocks does not vendor, so installing the rock failed wherever that library was absent, taking the whole extension down on a stock macOS machine. api7-lua-tinyyaml is pure Lua and matches lyaml on every quoting, escaping and block-scalar form profiles use. What the subset costs: anchors and aliases are not resolved, and plain multi-line scalars raise. The raise surfaces through the existing parse warning, but an unresolved alias came back as the literal "*alias" string and would have become a profile name, so frontmatter.parse now detects those keys, drops them, and warns. Point source.url at code.tjp.lol with a v0.1.0 tag, replacing a GitHub URL that never existed. Add a LICENSE file and mise release tasks, and fix the README dependency-install command, which called a luarocks.cmd function that does not exist. --- panto-subagents-0.1.0-1.rockspec | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'panto-subagents-0.1.0-1.rockspec') diff --git a/panto-subagents-0.1.0-1.rockspec b/panto-subagents-0.1.0-1.rockspec index 5ae55ff..3a6293a 100644 --- a/panto-subagents-0.1.0-1.rockspec +++ b/panto-subagents-0.1.0-1.rockspec @@ -8,10 +8,19 @@ -- checkout gets from `paths = ["/path/to/panto-subagents"]`, so both load paths -- resolve identical requires. -- --- Dependencies. `lyaml` parses profile frontmatter and is a C binding over the --- system libyaml, which luarocks does not vendor: a machine without it needs --- `brew install libyaml` (or `apt install libyaml-dev`) first, and may need --- `YAML_DIR=...` passed to luarocks. `toml2lua` (module name `toml`) reads the +-- Dependencies. `api7-lua-tinyyaml` (module name `tinyyaml`) parses profile +-- frontmatter. It is pure Lua, so it installs anywhere without a system +-- library: the obvious alternative, `lyaml`, is a C binding over libyaml that +-- luarocks does not vendor, which would put `brew install libyaml` (or +-- `apt install libyaml-dev`, plus sometimes `YAML_DIR=...`) between a user and +-- a working extension. The cost is that tinyyaml parses a subset: it matches +-- lyaml on every quoting, escaping and block-scalar form profiles use, but it +-- does not resolve anchors/aliases (subagents/frontmatter.lua detects and +-- warns rather than accepting the raw `*alias` token) and it raises on plain +-- multi-line scalars, which surfaces as a parse warning. The api7 fork is +-- preferred over peposso's original: it fixes `'it''s here'` truncating to +-- `it`, and it ships a .src.rock instead of resolving a `git://` URL. +-- `toml2lua` (module name `toml`) reads the -- layered `config.toml` at activation and the TOML workflows afterwards, so it -- is required, not optional; it is pure Lua and needs nothing from the system. `luv` backs the recursive discovery walk and the -- wake pipes child jobs are polled on, and ships with panto as a pinned @@ -31,7 +40,8 @@ package = "panto-subagents" version = "0.1.0-1" source = { - url = "git+https://github.com/travisp/panto-subagents", + url = "git+https://code.tjp.lol/public/panto-subagents.git", + tag = "v0.1.0", } description = { @@ -44,14 +54,14 @@ description = { one-shot structured workers, and TOML dependency graphs exposed as /workflow: commands. ]], - homepage = "https://github.com/travisp/panto-subagents", + homepage = "https://code.tjp.lol/public/panto-subagents", license = "MIT", labels = { "ai", "llm", "agent", "panto", "pantograph", "extension" }, } dependencies = { "lua >= 5.4, < 5.5", - "lyaml >= 6.2, < 7.0", + "api7-lua-tinyyaml >= 0.4.4, < 0.5", "toml2lua >= 3.0, < 4.0", "luv >= 1.48", } -- cgit v1.3