File size: 2,713 Bytes
37d8158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# aduc_framework/__init__.py
#
# Copyright (C) August 4, 2025  Carlos Rodrigues dos Santos
#
# Versão 3.0.0 (Framework Entry Point)
#
# Este arquivo serve como o ponto de entrada principal para o Aduc Framework.
# Ele define a interface pública que os clientes (UIs, APIs, etc.) usarão
# para criar e interagir com o sistema de orquestração.
#
# A principal responsabilidade deste arquivo é expor uma função de fábrica
# ('create_aduc_instance') que encapsula a lógica de inicialização do
# orquestrador e seus componentes, garantindo que o framework seja fácil
# de consumir.

import logging

# Importa as classes e tipos que formarão a interface pública do framework
from .orchestrator import AducOrchestrator
from .types import (
    GenerationState,
    PreProductionParams,
    ProductionParams,
    GenerationParameters,
    MediaRef,
    Ato,
    KeyframeData,
    VideoData
)

# Configura um logger para o framework para que os clientes possam ver as mensagens de inicialização.
logger = logging.getLogger(__name__)

def create_aduc_instance(workspace_dir: str) -> AducOrchestrator:
    """
    Ponto de entrada de fábrica para criar uma instância totalmente funcional do Aduc Framework.

    Esta função abstrai a complexidade da inicialização do AducOrchestrator e de todos
    os seus engenheiros e managers dependentes. Clientes do framework devem usar esta
    função para garantir uma inicialização correta e consistente.

    Args:
        workspace_dir (str): O caminho para o diretório onde todos os artefatos
                             (imagens, vídeos, latentes, logs) serão salvos.

    Returns:
        AducOrchestrator: Uma instância pronta para uso do orquestrador principal.
    """
    logger.info(f"Fábrica ADUC: Criando uma nova instância com workspace em '{workspace_dir}'...")
    
    # Futuramente, lógicas mais complexas de inicialização, como a verificação de
    # dependências ou configuração de hardware, podem ser adicionadas aqui.
    
    instance = AducOrchestrator(workspace_dir=workspace_dir)
    
    logger.info("Fábrica ADUC: Instância do framework criada e pronta para uso.")
    
    return instance

# Mensagem de log para confirmar que o pacote do framework foi importado com sucesso.
logger.info("Módulo 'aduc_framework' carregado. Use a função 'create_aduc_instance()' para começar.")

# Opcional: Definir __all__ para controlar o que é importado com 'from aduc_framework import *'
__all__ = [
    "create_aduc_instance",
    "AducOrchestrator",
    "GenerationState",
    "PreProductionParams",
    "ProductionParams",
    "GenerationParameters",
    "MediaRef",
    "Ato",
    "KeyframeData",
    "VideoData"
]