summaryrefslogtreecommitdiff
path: root/panto-warming-0.1.0-1.rockspec
diff options
context:
space:
mode:
authort <t@tjp.lol>2026-09-25 14:58:55 -0600
committert <t@tjp.lol>2026-09-25 15:11:20 -0600
commit8da8849e71a8dac7ed81d45d7674e6a3f38cbb7c (patch)
tree7c65f92bcf55eafca5b5c7ced18b66e1f5813518 /panto-warming-0.1.0-1.rockspec
Add panto-warming session cache warming extension
Send a minimal transient prompt on idle intervals to keep the provider-side prompt cache warm, then discard prompt and response so the context window and transcript stay untouched. Disabled by default; enable via warming table with layered interval, duration, and prompt settings.
Diffstat (limited to 'panto-warming-0.1.0-1.rockspec')
-rw-r--r--panto-warming-0.1.0-1.rockspec55
1 files changed, 55 insertions, 0 deletions
diff --git a/panto-warming-0.1.0-1.rockspec b/panto-warming-0.1.0-1.rockspec
new file mode 100644
index 0000000..ab41931
--- /dev/null
+++ b/panto-warming-0.1.0-1.rockspec
@@ -0,0 +1,55 @@
+-- LuaRocks rockspec for `panto-warming`: the session-warming extension for
+-- Pantograph -- pure Lua, no compiled artifact of its own.
+--
+-- Module naming. Pantograph requires the first whitespace-delimited token of
+-- an `[extensions] rocks = [...]` entry, so `require("panto-warming")` must
+-- resolve to this rock's entry point; that is what the first `modules` line
+-- maps. The remaining modules keep the same `warming.<name>` paths a local
+-- checkout gets from `paths = ["/path/to/panto-warming"]`, so both load
+-- paths resolve identical requires.
+--
+-- Dependencies. `toml2lua` (module name `toml`) reads the layered
+-- `config.toml` at activation. It is pure Lua and needs nothing from the
+-- system: the obvious alternative for full-spec TOML would bind a C library
+-- and put a system package between a user and a working extension. `luv`
+-- owns the warming timer and ships with panto as a pinned battery, so it is
+-- normally already present in the tree this rock installs into.
+
+rockspec_format = "3.0"
+package = "panto-warming"
+version = "0.1.0-1"
+
+source = {
+ url = "git+https://code.tjp.lol/public/panto-warming.git",
+ tag = "v0.1.0",
+}
+
+description = {
+ summary = "Session warming for Pantograph: keep the provider prompt cache warm while you pause.",
+ detailed = [[
+ Periodically sends a minimal transient prompt on top of the session's
+ current context so provider-side prompt caches stay warm between turns,
+ then discards the prompt and the response -- nothing enters the context
+ window or the session transcript. Configured through a [warming]
+ section in config.toml, mirroring opencode's warming feature.
+ ]],
+ homepage = "https://code.tjp.lol/public/panto-warming",
+ license = "MIT",
+ labels = { "ai", "llm", "agent", "panto", "pantograph", "extension" },
+}
+
+dependencies = {
+ "lua >= 5.4, < 5.5",
+ "toml2lua >= 3.0, < 4.0",
+ "luv >= 1.48",
+}
+
+build = {
+ type = "builtin",
+ modules = {
+ ["panto-warming"] = "init.lua",
+ ["warming.config"] = "warming/config.lua",
+ ["warming.policy"] = "warming/policy.lua",
+ ["warming.warm"] = "warming/warm.lua",
+ },
+}