<?php

declare(strict_types=1);

namespace App\Support\Ai;

use App\Models\PlatformUser;
use App\Models\ManagedEnvironment;
use App\Models\User;
use App\Models\Workspace;

final readonly class AiExecutionRequest
{
    /**
     * @param  list<string>  $dataClassifications
     */
    public function __construct(
        public ?Workspace $workspace,
        public ?ManagedEnvironment $tenant,
        public User|PlatformUser|null $actor,
        public string $useCaseKey,
        public string $requestedProviderClass,
        public array $dataClassifications,
        public string $sourceFamily,
        public ?string $callerSurface = null,
        public ?string $contextFingerprint = null,
    ) {}
}