Repository: withastro/astro
File: packages/astro/src/types/public/integrations.ts (TypeScript)

Code before:
	internalFetchHeaders?: Record<string, string> | (() => Record<string, string>);
	/**
	 * Query parameters to append to all asset URLs (images, stylesheets, scripts, etc.).
	 * Useful for adapters that need to track deployment versions or other metadata.
	 */
	assetQueryParams?: URLSearchParams;
}

interface AdapterLegacyDynamicProperties {
	/**
	 * Determines how the adapter's entrypoint is handled during the build.
	 * - `'self'`: The adapter defines its own entrypoint and provides either serverEntrypoint or rollupOptions.input
	 * - `'explicit'`: Uses the virtual module entrypoint with dynamic exports
	 * @default 'explicit'
	 * @deprecated This will be removed in Astro 7 and `'auto'` will become the default
	 */
	entrypointResolution?: 'explicit';
	serverEntrypoint?: string | URL;
	exports?: string[];
	args?: any;
}

interface AdapterSelfProperties {
	/**
	 * Determines how the adapter's entrypoint is handled during the build.
	 * - `'self'`: The adapter defines its own entrypoint and provides either serverEntrypoint or rollupOptions.input
	 * - `'explicit'`: Uses the virtual module entrypoint with dynamic exports
	 * @default 'explicit'
	 */
	entrypointResolution: 'auto';
}

export type AstroAdapter = {
	name: string;
	previewEntrypoint?: string | URL;
	adapterFeatures?: AstroAdapterFeatures;
	/**
	 * List of features supported by an adapter.
	 *
	 * If the adapter is not able to handle certain configurations, Astro will throw an error.
	 */
	supportedAstroFeatures: AstroAdapterFeatureMap;
	/**
	 * Configuration for Astro's client-side code.
	 */
	client?: AstroAdapterClientConfig;
} & (AdapterLegacyDynamicProperties | AdapterSelfProperties);

/**
 * A pathname with its associated route, used for prerendering.
 */

Review comment (suggestion):
```suggestion
	 * - `'auto'`: The adapter defines its own entrypoint and provides either serverEntrypoint or rollupOptions.input
```

Code after:
	internalFetchHeaders?: Record<string, string> | (() => Record<string, string>);
	/**
	 * Query parameters to append to all asset URLs (images, stylesheets, scripts, etc.).
	 * Useful for adapters that need to track deployment versions or other metadata.
	 */
	assetQueryParams?: URLSearchParams;
}

interface AdapterExplicitProperties {
	/**
	 * Determines how the adapter's entrypoint is handled during the build.
	 * - `'auto'`: The adapter defines its own entrypoint and provides either serverEntrypoint or rollupOptions.input
	 * - `'explicit'`: Uses the virtual module entrypoint with dynamic exports
	 * @default 'explicit'
	 * @deprecated This will be removed in a future major version and `'auto'` will become the default
	 */
	entrypointResolution?: 'explicit';
	serverEntrypoint?: string | URL;
	/** @deprecated This will be removed in a future major version, alongside `entrypointResolution: 'explicit'` */
	exports?: string[];
	/** @deprecated This will be removed in a future major version, alongside `entrypointResolution: 'explicit'` */
	args?: any;
}

interface AdapterAutoProperties {
	/**
	 * Determines how the adapter's entrypoint is handled during the build.
	 * - `'auto'`: The adapter defines its own entrypoint and provides either serverEntrypoint or rollupOptions.input
	 * - `'explicit'`: Uses the virtual module entrypoint with dynamic exports
	 * @default 'explicit'
	 */
	entrypointResolution: 'auto';
	serverEntrypoint?: string | URL;
}

export type AstroAdapter = {
	name: string;
	previewEntrypoint?: string | URL;
	adapterFeatures?: AstroAdapterFeatures;
	/**
	 * List of features supported by an adapter.
	 *
	 * If the adapter is not able to handle certain configurations, Astro will throw an error.
	 */
	supportedAstroFeatures: AstroAdapterFeatureMap;
	/**
	 * Configuration for Astro's client-side code.
	 */
	client?: AstroAdapterClientConfig;
} & (AdapterExplicitProperties | AdapterAutoProperties);