fix: hide instructions file and show advanced fields in import adapter config

- Added hideInstructionsFile prop to AdapterConfigFieldsProps
- All adapter config-fields now conditionally hide the instructions file
  field when hideInstructionsFile is set (used during import since the
  AGENTS.md is automatically set as promptTemplate)
- Import adapter config panel now renders ClaudeLocalAdvancedFields
  (Chrome, skip permissions, max turns) when claude_local is selected

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Dotta 2026-03-16 11:09:36 -05:00
parent 1548b73b77
commit 0763e2eb20
6 changed files with 75 additions and 48 deletions

View file

@ -25,9 +25,11 @@ export function ClaudeLocalConfigFields({
eff,
mark,
models,
hideInstructionsFile,
}: AdapterConfigFieldsProps) {
return (
<>
{!hideInstructionsFile && (
<Field label="Agent instructions file" hint={instructionsFileHint}>
<div className="flex items-center gap-2">
<DraftInput
@ -52,6 +54,7 @@ export function ClaudeLocalConfigFields({
<ChoosePathButton />
</div>
</Field>
)}
<LocalWorkspaceRuntimeFields
isCreate={isCreate}
values={values}

View file

@ -23,12 +23,14 @@ export function CodexLocalConfigFields({
eff,
mark,
models,
hideInstructionsFile,
}: AdapterConfigFieldsProps) {
const bypassEnabled =
config.dangerouslyBypassApprovalsAndSandbox === true || config.dangerouslyBypassSandbox === true;
return (
<>
{!hideInstructionsFile && (
<Field label="Agent instructions file" hint={instructionsFileHint}>
<div className="flex items-center gap-2">
<DraftInput
@ -53,6 +55,7 @@ export function CodexLocalConfigFields({
<ChoosePathButton />
</div>
</Field>
)}
<ToggleField
label="Bypass sandbox"
hint={help.dangerouslyBypassSandbox}

View file

@ -17,7 +17,9 @@ export function CursorLocalConfigFields({
config,
eff,
mark,
hideInstructionsFile,
}: AdapterConfigFieldsProps) {
if (hideInstructionsFile) return null;
return (
<Field label="Agent instructions file" hint={instructionsFileHint}>
<div className="flex items-center gap-2">

View file

@ -17,7 +17,9 @@ export function OpenCodeLocalConfigFields({
config,
eff,
mark,
hideInstructionsFile,
}: AdapterConfigFieldsProps) {
if (hideInstructionsFile) return null;
return (
<Field label="Agent instructions file" hint={instructionsFileHint}>
<div className="flex items-center gap-2">

View file

@ -20,6 +20,8 @@ export interface AdapterConfigFieldsProps {
mark: (group: "adapterConfig", field: string, value: unknown) => void;
/** Available models for dropdowns */
models: { id: string; label: string }[];
/** When true, hides the instructions file path field (e.g. during import where it's set automatically) */
hideInstructionsFile?: boolean;
}
export interface UIAdapterModule {

View file

@ -27,6 +27,7 @@ import {
import { Field, adapterLabels } from "../components/agent-config-primitives";
import { defaultCreateValues } from "../components/agent-config-defaults";
import { getUIAdapter } from "../adapters";
import { ClaudeLocalAdvancedFields } from "../adapters/claude-local/config-fields";
import type { CreateConfigValues } from "@paperclipai/adapter-utils";
import {
type FileTreeNode,
@ -542,7 +543,21 @@ function AdapterPickerList({
eff={() => "" as any}
mark={() => {}}
models={[]}
hideInstructionsFile
/>
{selectedType === "claude_local" && (
<ClaudeLocalAdvancedFields
mode="create"
isCreate
adapterType={selectedType}
values={vals}
set={(patch) => onChangeConfig(agent.slug, patch)}
config={{}}
eff={() => "" as any}
mark={() => {}}
models={[]}
/>
)}
</div>
)}
</div>