25 lines · 645 B · Lua
RawDownload
-- Fills the plugin heap to its cap and keeps it referenced, giving back just-- enough to register the tool. The invocation then runs out of memory in the-- unprotected prologue, where only a panic handler can save the process.ballast = {}local n = 0 pcall(function()    while true do        n = n + 1        ballast[n] = string.rep("x", 4096)    endend) for i = 0, 3 do    ballast[n - i] = nilend clm.tool_register("ballast", {    description = "never gets far enough to run",    params_schema = { type = "object", properties = {} },    no_prompt = true,    invoke = function(args, ctx)        ctx:complete("ok")    end,})