DF0077: In-Page Channel Function Not Registered
Message
In-page channel function "" is not registered on this endpoint.
Cause
The two endpoints disagree about their channel contract. The calling endpoint names a function that the receiving endpoint did not register in its functions option. This usually means the page script and panel use different protocol declarations or incompatible devframe versions.
Example
import { connectPanelChannel, createPageScriptChannel } from 'devframe/in-page-channel'
interface PanelProtocol {
functions: {
pageScript: {
inspect: () => void
}
}
}
const pageScript = createPageScriptChannel({
name: 'devframes:example',
functions: {},
})
pageScript.addPanelPort(port1)
const panel = connectPanelChannel<PanelProtocol>({
name: 'devframes:example',
functions: {},
})
await panel.call('inspect') // ✗ The page script did not register `inspect`.Fix
Import one shared protocol declaration into both endpoints, then register every function from the receiving side of that protocol in its functions option.
Source
packages/devframe/src/in-page-channel/internal.ts:createLocalFunctionRegistry().resolve()throws this when no local function definition matches the call name.
DF0076: WebSocket Upgrade Unsupported On This Runtime
attach / handleUpgrade drive a raw node:http upgrade into crossws Node adapter, which refuses to run on Bun/Deno.
DF0078: Agent Surface Without @devframes/agentic
This devframe exposes agent tools, but the MCP endpoint stays off: the optional peer "@devframes/agentic" is not installed.