object Form70: TForm70
  Left = 0
  Top = 0
  Caption = 'Form70'
  ClientHeight = 713
  ClientWidth = 1131
  Position = ScreenCenter
  FormFactor.Width = 320
  FormFactor.Height = 480
  FormFactor.Devices = [Desktop]
  OnCreate = FormCreate
  DesignerMasterStyle = 0
  object Memo1: TMemo
    Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
    DataDetectorTypes = []
    Position.X = 56.000000000000000000
    Position.Y = 72.000000000000000000
    Size.Width = 505.000000000000000000
    Size.Height = 457.000000000000000000
    Size.PlatformDefault = False
    TabOrder = 12
    Viewport.Width = 501.000000000000000000
    Viewport.Height = 453.000000000000000000
  end
  object MemoPrompt: TMemo
    Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
    DataDetectorTypes = []
    Lines.Strings = (
      'pregunta sobre delphi')
    TextSettings.WordWrap = True
    Position.X = 56.000000000000000000
    Position.Y = 568.000000000000000000
    Size.Width = 1033.000000000000000000
    Size.Height = 81.000000000000000000
    Size.PlatformDefault = False
    TabOrder = 26
    Viewport.Width = 1029.000000000000000000
    Viewport.Height = 77.000000000000000000
  end
  object Memo2: TMemo
    Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
    DataDetectorTypes = []
    Align = Scale
    Position.X = 569.000000000000000000
    Position.Y = 72.000000000000000000
    Size.Width = 513.000000000000000000
    Size.Height = 457.000000000000000000
    Size.PlatformDefault = False
    TabOrder = 11
    Viewport.Width = 509.000000000000000000
    Viewport.Height = 453.000000000000000000
  end
  object Label1: TLabel
    Position.X = 64.000000000000000000
    Position.Y = 47.000000000000000000
    Size.Width = 481.000000000000000000
    Size.Height = 17.000000000000000000
    Size.PlatformDefault = False
    Text = 'Programa Generado'
    TabOrder = 43
  end
  object Label2: TLabel
    Position.X = 64.000000000000000000
    Position.Y = 551.000000000000000000
    Size.Width = 1033.000000000000000000
    Size.Height = 17.000000000000000000
    Size.PlatformDefault = False
    Text = 
      'Prompt del programa que se desea desarrollar, ya est'#225' configurad' +
      'o para que genere un progrma de consola'
    TabOrder = 41
  end
  object Label3: TLabel
    Position.X = 569.000000000000000000
    Position.Y = 47.000000000000000000
    Size.Width = 481.000000000000000000
    Size.Height = 17.000000000000000000
    Size.PlatformDefault = False
    Text = 'Resultado de la Funci'#243'n Print de cada Nodo'
    TabOrder = 42
  end
  object Button2: TButton
    Position.X = 64.000000000000000000
    Position.Y = 672.000000000000000000
    TabOrder = 63
    Text = 'Button2'
    TextSettings.Trimming = None
    OnClick = Button2Click
  end
  object Label4: TLabel
    Position.X = 64.000000000000000000
    Position.Y = 8.000000000000000000
    Size.Width = 1018.000000000000000000
    Size.Height = 17.000000000000000000
    Size.PlatformDefault = False
    Text = 'Label4'
    TabOrder = 76
  end
  object AiPrompts1: TAiPrompts
    Items = <
      item
        Nombre = 'AiPrompt'
        Strings.Strings = (
          ''
          'genera un programa de consola en Delphi pascal '#250'ltima versi'#243'n'
          'Los programas de consola si tienen la extensi'#243'n .dpr y '
          'tienen la siguiente estructura'
          ''
          'program Nombre_del_Proyecto;'
          ''
          '{$APPTYPE CONSOLE}'
          ''
          'uses'
          '  System.SysUtils, Otras_Unidades_que_se_requieran;'
          ''
          'begin'
          '  try'
          ''
          '    { TODO -oUser -cConsole Main : Insert code here }'
          ''
          ''
          '   Write('#39'digite enter para terminar'#39');'
          '   Readln;'
          '  except'
          '    on E: Exception do'
          '      Writeln(E.ClassName, '#39': '#39', E.Message);'
          '  end;'
          'end.'
          ''
          ''
          
            'Al generar el c'#243'digo debes tener en cuenta que el Nombre_del_Pro' +
            'yecto debe'
          
            'ser '#250'nico y no puede existir una variable o clase con el mismo n' +
            'ombre.'
          ''
          ''
          'Genera un json de la siguiente forma'
          '{'
          '  "languaje":"lenguaje_de_programacion",'
          '  "filename":"nombre_del_archivo_sin_ruta",'
          '  "codigo":"codigo_generado",'
          '}'
          ''
          'El c'#243'digo se refiere a:'
          '<#prompt>')
      end
      item
        Nombre = 'Eval'
        Strings.Strings = (
          'El siguiente texto corresponde al resultado de la compilaci'#243'n de'
          'una aplicaci'#243'n en Delphi con la linea de comando DCC64,'
          'Revisa el texto en busca de mensajes de error los cuales pueden'
          
            'estar representados por las palabars Fatal o Error, aqu'#237' te dejo' +
            ' dos ejemplos:'
          '  Ejemplo1: Fatal: F2613 Unit '#39#39'Classes'#39#39' not found.'
          
            '  Ejemplo2: Error: E2009 Incompatible types: '#39'method pointer and' +
            ' regular procedure'#39' '
          ''
          ''
          
            'Si el texto no muestra ning'#250'n error retorna la palabra <CONFIRMA' +
            'DO>,'
          
            'pero si el resultado_compilacion muestra alg'#250'n error retorna la ' +
            'palabra <ERROR> y al frente el mensaje de error.  Ejemplo: <ERRO' +
            'R>:Fatal: F2613 Unit '#39#39'Classes'#39#39' not found. '
          ''
          ''
          'El mensaje que retorna el compilador es el siguiente:'
          '<#resultado>')
      end>
    Left = 504
    Top = 192
  end
  object AIAgentsManager: TAIAgents
    StartNode = NodoInicio
    EndNode = NodoFinal
    OnPrint = AIChain1Print
    TimeoutMs = 900000
    Left = 72
    Top = 136
  end
  object NodoInicio: TAIAgentsNode
    Description = 'Inicio'
    Next = AIAgentsLink1
    Graph = AIAgentsManager
    OnExecute = NodoInicioExecute
    Left = 264
    Top = 96
  end
  object TareaB: TAIAgentsNode
    Description = 'TareaB'
    Next = AIAgentsLink3
    Graph = AIAgentsManager
    OnExecute = TareaBExecute
    Left = 344
    Top = 240
  end
  object TareaA: TAIAgentsNode
    Description = 'TareaA'
    Next = AIAgentsLink2
    Graph = AIAgentsManager
    OnExecute = TareaAExecute
    Left = 160
    Top = 248
  end
  object NodoFinal: TAIAgentsNode
    Description = 'Final'
    Graph = AIAgentsManager
    OnExecute = NodoFinalExecute
    JoinMode = jmAll
    Left = 248
    Top = 440
  end
  object AIAgentsLink1: TAIAgentsLink
    NextA = TareaA
    NextB = TareaB
    Graph = AIAgentsManager
    OnExecute = AIAgentsLink1Execute
    ConditionalKey = 'next_route'
    ManualTargetsKey = 'next_targets'
    Left = 264
    Top = 152
  end
  object AIAgentsLink2: TAIAgentsLink
    NextA = NodoFinal
    Graph = AIAgentsManager
    OnExecute = AIAgentsLink2Execute
    ConditionalKey = 'next_route'
    ManualTargetsKey = 'next_targets'
    Left = 160
    Top = 304
  end
  object AIAgentsLink3: TAIAgentsLink
    NextA = NodoFinal
    Graph = AIAgentsManager
    OnExecute = AIAgentsLink3Execute
    ConditionalKey = 'next_route'
    ManualTargetsKey = 'next_targets'
    Left = 344
    Top = 304
  end
  object AIAgentsNode1: TAIAgentsNode
    Left = 440
    Top = 440
  end
  object AiOpenChat1: TAiOpenChat
    ApiKey = '@OPENAI_API_KEY'
    Model = 'gpt-5'
    Logprobs = False
    Max_tokens = 3000
    N = 1
    Response_format = tiaChatRfText
    Seed = 0
    Asynchronous = False
    Temperature = 1.000000000000000000
    Top_p = 1.000000000000000000
    K = 0
    Tool_choice = 'auto'
    Tool_Active = False
    User = 'user'
    SystemPrompt.Strings = (
      'Eres un asistente muy '#250'til y servicial')
    Prompt_tokens = 0
    Completion_tokens = 0
    Total_tokens = 0
    Thinking_tokens = 0
    Url = 'https://api.openai.com/v1/'
    ResponseTimeOut = 61000
    Stream_Usage = False
    NativeInputFiles = []
    NativeOutputFiles = []
    ChatMediaSupports = [Tcm_WebSearch]
    EnabledFeatures = [Tcm_WebSearch]
    ThinkingLevel = tlDefault
    MediaResolution = mrDefault
    Truncation = 'disabled'
    Left = 424
    Top = 120
  end
end
