mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-19 09:01:39 -06:00
73a9eed95b
* feat(audit): carry canonical admitted execution context * fix(agents): preserve admitted context across retries * fix(worker): fence legacy launch dialect * test(gateway): track approval temp dirs * fix(plugin-sdk): preserve harness attempt compatibility * fix: close delegated run authority at owner boundaries * fix: internalize delegated authority validators * refactor: split delegated authority proof surfaces * refactor: centralize command admission identity * test: claim runtime tool authority * fix(gateway): keep lifecycle cleanup within static budgets * fix(agents): revalidate harness policy authority * fix(agents): fence awaited approval capability results * test(copilot): supply required harness capability fixtures * fix(agent): preserve scoped embedded run admission * fix(agent): preserve keyless and worker authority * test(agent): bind incomplete-turn authority * docs: preserve execution authority invariants * chore(plugin-sdk): regenerate API baseline * fix(gateway): notify pending claim closure * fix(gateway): revalidate delegated tool authority * fix(plugin-sdk): keep source guard internal * fix: close delegated authority races * fix: revalidate delegated side effects * fix: close harness authority projection gaps * fix: align authority integration types * fix: isolate settled harness finalization * fix: fence recovery identity finalization * fix: preserve committed session worktrees * fix: preserve worker placement agent identity * fix: fence active harness tool work * fix(plugins): restore embedded run admission owner * chore(plugin-sdk): compose integrated surface budgets * fix(copilot): keep finalization attempt type internal * fix(plugins): complete admission owner type imports * test(harness): use settled finalization attempt shape * fix(security): retain exact side-run and approval authority * fix(security): preserve protected authority through terminal sweep * fix(agents): follow moved recovery store owner * fix(ci): align integrated authority owners with gates * fix(plugins): distinguish embedded agent adapter export * chore(plugin-sdk): regenerate API baseline after rolling integration * refactor(gateway): keep session authority within owner budgets * fix(gateway): keep session helpers private * docs(plugin-sdk): name the V2 parameter subpath * chore(integration): reconcile worker and SDK surfaces * docs(plugin-sdk): require the V2 host API floor * chore(plugin-sdk): regenerate after proxy-auth integration
24 lines
1013 B
TypeScript
24 lines
1013 B
TypeScript
import type { EmbeddedRunAttemptParamsV2 as EmbeddedRunAttemptParams } from "openclaw/plugin-sdk/agent-harness-runtime";
|
|
import { invalidInlineImageText, sanitizeInlineImageDataUrl } from "./image-payload-sanitizer.js";
|
|
import type { CodexUserInput } from "./protocol.js";
|
|
|
|
/** Builds ordered Codex user input for both new turns and same-turn steering. */
|
|
export function buildCodexUserInput(
|
|
text: string | undefined,
|
|
images?: EmbeddedRunAttemptParams["images"],
|
|
): CodexUserInput[] {
|
|
const imageInputs = (images ?? []).map((image): CodexUserInput => {
|
|
const imageUrl = sanitizeInlineImageDataUrl(`data:${image.mimeType};base64,${image.data}`);
|
|
return imageUrl
|
|
? { type: "image", url: imageUrl }
|
|
: {
|
|
type: "text",
|
|
text: invalidInlineImageText("codex user input"),
|
|
text_elements: [],
|
|
};
|
|
});
|
|
const textInput: CodexUserInput[] =
|
|
text === undefined ? [] : [{ type: "text", text, text_elements: [] }];
|
|
return [...textInput, ...imageInputs];
|
|
}
|