diff options
| author | t <t@tjp.lol> | 2026-08-18 14:45:03 -0600 |
|---|---|---|
| committer | t <t@tjp.lol> | 2026-08-18 14:45:08 -0600 |
| commit | 2acd6b0e38e4af1fd13bad1cef8af7407b20684c (patch) | |
| tree | e95c6a20a8b96bab627ef3974b7c355faba4d66a /_selfcheck.lua | |
initial commit
Diffstat (limited to '_selfcheck.lua')
| -rw-r--r-- | _selfcheck.lua | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/_selfcheck.lua b/_selfcheck.lua new file mode 100644 index 0000000..b4d0396 --- /dev/null +++ b/_selfcheck.lua @@ -0,0 +1,44 @@ +local events = {} +local reports = {} + +assert(loadfile("panto-herdr-scm-1.rockspec")) + +package.preload.panto = function() + return { + ext = { + on = function(name, handler) events[name] = handler end, + }, + } +end + +package.preload.luv = function() + return { + spawn = function(command, options, _) + reports[#reports + 1] = { command = command, args = options.args } + return { close = function() end } + end, + } +end + +local getenv = os.getenv +os.getenv = function(name) + if name == "HERDR_PANE_ID" then return "w1:p1" end + return getenv(name) +end + +local entry = require("panto-herdr") +entry.activate() +events.session_start() +events.user_message() +events.user_message() +events.tool_details({ tool_name = "read" }) +events.assistant_text() +events.assistant_text_complete() + +assert(#reports == 5) +assert(reports[1].command == "herdr") +assert(table.concat(reports[1].args, " ") == "pane report-agent w1:p1 --source panto:extension --agent panto --state idle --seq 1") +assert(table.concat(reports[3].args, " ") == "pane report-agent w1:p1 --source panto:extension --agent panto --state working --seq 3 --custom-status tool:read") +assert(table.concat(reports[5].args, " ") == "pane report-agent w1:p1 --source panto:extension --agent panto --state idle --seq 5") + +print("panto-herdr self-check: ok") |
