interface AgentSecretBindingSyncService { syncEnvBindingsForTarget?: ( companyId: string, target: { targetType: "agent"; targetId: string; pathPrefix?: string }, envValue: unknown, ) => Promise; } function asRecord(value: unknown): Record | null { if (typeof value !== "object" || value === null || Array.isArray(value)) return null; return value as Record; } export async function syncAgentAdapterEnvBindings(input: { secretsSvc: AgentSecretBindingSyncService; companyId: string; agentId: string; adapterConfig: unknown; }) { const envValue = asRecord(asRecord(input.adapterConfig)?.env); await input.secretsSvc.syncEnvBindingsForTarget?.( input.companyId, { targetType: "agent", targetId: input.agentId }, envValue, ); }