import { resolveLivePluginConfigObject } from "openclaw/plugin-sdk/config-runtime" ;
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry" ;
import { createCodexAppServerAgentHarness } from "./harness.js" ;
import { buildCodexMediaUnderstandingProvider } from "./media-understanding-provider.js" ;
import { buildCodexProvider } from "./provider.js" ;
import { createCodexCommand } from "./src/commands.js" ;
import {
handleCodexConversationBindingResolved,
handleCodexConversationInboundClaim,
} from "./src/conversation-binding.js" ;
export default definePluginEntry({
id: "codex" ,
name: "Codex" ,
description: "Codex app-server harness and Codex-managed GPT model catalog." ,
register(api) {
const resolveCurrentPluginConfig = () =>
resolveLivePluginConfigObject(
api.runtime.config?.loadConfig,
"codex" ,
api.pluginConfig as Record<string, unknown>,
) ?? api.pluginConfig;
api.registerAgentHarness(createCodexAppServerAgentHarness({ pluginConfig: api.pluginConfig }));
api.registerProvider(buildCodexProvider({ pluginConfig: api.pluginConfig }));
api.registerMediaUnderstandingProvider(
buildCodexMediaUnderstandingProvider({ pluginConfig: api.pluginConfig }),
);
api.registerCommand(createCodexCommand({ pluginConfig: api.pluginConfig }));
api.on("inbound_claim" , (event, ctx) =>
handleCodexConversationInboundClaim(event, ctx, {
pluginConfig: resolveCurrentPluginConfig(),
}),
);
api.onConversationBindingResolved(handleCodexConversationBindingResolved);
},
});
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-06)
¤
*© Formatika GbR, Deutschland