fix(plugins): harden inspector runtime capture

This commit is contained in:
Vincent Koc
2026-04-28 02:04:04 -07:00
parent 0f24a8d8e1
commit 5f3b8b4100
13 changed files with 73 additions and 37 deletions

View File

@@ -59,6 +59,27 @@ describe("codex plugin", () => {
expect(onConversationBindingResolved).toHaveBeenCalledWith(expect.any(Function));
});
it("registers with capture APIs that do not expose conversation binding hooks yet", () => {
const api = createTestPluginApi({
id: "codex",
name: "Codex",
source: "test",
config: {},
pluginConfig: {},
runtime: {} as never,
registerAgentHarness: vi.fn(),
registerCommand: vi.fn(),
registerMediaUnderstandingProvider: vi.fn(),
registerProvider: vi.fn(),
on: vi.fn(),
}) as ReturnType<typeof createTestPluginApi> & {
onConversationBindingResolved?: ReturnType<typeof vi.fn>;
};
delete api.onConversationBindingResolved;
expect(() => plugin.register(api)).not.toThrow();
});
it("only claims the codex provider by default", () => {
const harness = createCodexAppServerAgentHarness();

View File

@@ -34,6 +34,6 @@ export default definePluginEntry({
pluginConfig: resolveCurrentPluginConfig(),
}),
);
api.onConversationBindingResolved(handleCodexConversationBindingResolved);
api.onConversationBindingResolved?.(handleCodexConversationBindingResolved);
},
});