- isCreate
- ? set!({ thinkingEffort: v })
- : mark("adapterConfig", thinkingEffortKey, v || undefined)
- }
- open={thinkingEffortOpen}
- onOpenChange={setThinkingEffortOpen}
- />
- {adapterType === "codex_local" &&
- codexSearchEnabled &&
- currentThinkingEffort === "minimal" && (
-
- Codex may reject `minimal` thinking when search is enabled.
-
- )}
-
-
- isCreate
- ? set!({ bootstrapPrompt: v })
- : mark("adapterConfig", "bootstrapPromptTemplate", v || undefined)
- }
- placeholder="Optional initial setup prompt for the first run"
- contentClassName="min-h-[120px]"
- imageUploadHandler={async (file) => {
- const namespace = isCreate
- ? "agents/drafts/bootstrap-prompt"
- : `agents/${props.agent.id}/bootstrap-prompt`;
- const asset = await uploadMarkdownImage.mutateAsync({ file, namespace });
- return asset.contentPath;
- }}
- />
-
- {adapterType === "claude_local" && (
-
- )}
-
-
-
- isCreate
- ? set!({ extraArgs: v })
- : mark("adapterConfig", "extraArgs", v ? parseCommaArgs(v) : undefined)
- }
- immediate
- className={inputClass}
- placeholder="e.g. --verbose, --foo=bar"
- />
-
-
-
- )
- : ((eff("adapterConfig", "env", config.env ?? {}) as Record)
- )
- }
- secrets={availableSecrets}
- onCreateSecret={async (name, value) => {
- const created = await createSecret.mutateAsync({ name, value });
- return created;
- }}
- onChange={(env) =>
- isCreate
- ? set!({ envBindings: env ?? {}, envVars: "" })
- : mark("adapterConfig", "env", env)
- }
- />
-
-
- {/* Edit-only: timeout + grace period */}
- {!isCreate && (
- <>
-
- mark("adapterConfig", "timeoutSec", v)}
- immediate
- className={inputClass}
- />
-
-
- mark("adapterConfig", "graceSec", v)}
- immediate
- className={inputClass}
- />
-
- >
- )}
-