Input Blocks

Les input blocks définissent le formulaire présenté à l'utilisateur. Chaque block a une key utilisée dans les variables {{key}} du system_prompt.

Propriétés communes

  • type — un des 16 types listés ci-dessous.
  • key — snake_case, unique par manifest.
  • label — libellé affiché.
  • description — aide contextuelle (optionnelle).
  • required — true/false.

text

Champ texte une ligne. Idéal pour un nom, un titre, une URL.

- type: text
  key: job_title
  label: "Poste visé"
  placeholder: "Ex: Senior Engineer"
  max_length: 100
  required: true

textarea

Zone de texte multiligne. Pour un CV, une description longue, du texte à analyser.

- type: textarea
  key: current_cv
  label: "CV actuel"
  rows: 10
  max_length: 5000
  required: true

select

Choix unique dans une liste d'options prédéfinies.

- type: select
  key: tone
  label: "Ton"
  required: true
  options:
    - { label: "Formel", value: "formel" }
    - { label: "Cordial", value: "cordial" }
    - { label: "Direct", value: "direct" }

multi_select

Choix multiple (checkboxes, pills). Max configurable.

- type: multi_select
  key: interests
  label: "Centres d'intérêt"
  max: 3
  options:
    - { label: "Plage", value: "beach" }
    - { label: "Culture", value: "culture" }
    - { label: "Sport", value: "sport" }

slider

Curseur numérique avec min/max. Pour les paramètres continus.

- type: slider
  key: years_experience
  label: "Années d'expérience"
  min: 0
  max: 30
  step: 1
  default: 3

number

Saisie numérique directe.

- type: number
  key: budget
  label: "Budget (€)"
  min: 10
  max: 10000

stepper

Incrémenteur +/- pour les petites plages (1-10).

- type: stepper
  key: nb_people
  label: "Nombre de personnes"
  min: 1
  max: 10
  default: 2

toggle

Switch booléen. Pour les flags on/off.

- type: toggle
  key: include_vegan
  label: "Inclure options végétariennes"
  default: false

tags

Liste de tags saisissables (+ suggestions optionnelles).

- type: tags
  key: skills
  label: "Compétences"
  suggestions: ["React", "TypeScript", "Node"]
  max_tags: 5

date

Date picker. Support "today" comme min/max dynamique.

- type: date
  key: departure
  label: "Date de départ"
  min: "today"

date_range

Période (from → to).

- type: date_range
  key: trip_period
  label: "Période du voyage"
  min: "today"

location

Lieu avec autocomplétion géographique.

- type: location
  key: destination
  label: "Destination"
  placeholder: "Ex: Tokyo"

rating

Étoiles (max configurable, ex: 5 ou 10).

- type: rating
  key: satisfaction
  label: "Note actuelle"
  max: 5
  default: 3

image

Upload d'image (JPG, PNG, WebP).

- type: image
  key: logo
  label: "Logo actuel"
  max_size_mb: 5
  accept: ["image/png", "image/jpeg"]

file

Upload fichier (types whitelistés).

- type: file
  key: report
  label: "Rapport PDF"
  max_size_mb: 10
  accept: ["application/pdf"]

color

Sélecteur de couleur avec presets optionnels.

- type: color
  key: brand_color
  label: "Couleur de marque"
  default: "#00B8D9"
  presets: ["#00B8D9", "#6E56CF", "#F59E0B"]