zot/examples/extensions/clock/extension.json
patriceckhart 1c7488285b fix(extensions): route through manager from runSlash default branch
extension commands appeared in the autocomplete popup but invoking
them produced "unknown command: /summon". The submit-handler path
already tried the extension manager before erroring, but the popup-
enter path (suggest.Selection -> runSlash) bypassed that check and
fell straight into runSlash's switch, where the default case bailed
with the generic error.

Fix: runSlash's default branch now also consults
cfg.Extensions.HasCommand and dispatches via invokeExtensionCommand
when matched. Both UI paths (typed-and-enter, popup-enter) now route
identically. Built-in cases above default still always win on
conflict.

Also adds examples/extensions/clock — a node extension demonstrating
the wire protocol from a non-Go runtime. Pure stdlib (readline +
process), no npm install. Registers /now (display) and /uptime
(prompt). Documented in its README; the protocol works the same
from any language.
2026-04-19 14:20:22 +02:00

9 lines
204 B
JSON

{
"name": "clock",
"version": "1.0.0",
"exec": "node",
"args": ["index.js"],
"language": "typescript",
"description": "registers /now and /uptime — a tiny time toolkit",
"enabled": true
}