Elements reference

Element editor: alle velden en filebeheer

Deze pagina beschrijft de volledige element-editor: basisvelden, dependencies, code/files, import/export en validatieregels.

1. Editorvelden

Element editor
  • De editor combineert metadata, bestandsbeheer en codebewerking binnen één Element.
  • Gebruik meerdere bestanden zodra logica of helpers te groot worden voor één script.
  • Houd requirements expliciet zodat publish reproduceerbaar blijft.
Zie deze editor als mini-projectbeheer voor tenantcode, niet als één enkel tekstveld.

Belangrijk

  • Element ID is alleen bij create bewerkbaar.
  • Entrypoint default is run.
  • Python version default is 3.12.
  • Requirements worden tijdens publish gebouwd.
VeldTypeRequiredBeschrijving
idstringYesUnieke element-ID, bv. el_orders_api.
namestringYesLeesbare naam.
kinddata/stream_data/agent_node/agent_actionYesElementtype voor snapshot-data, live stream-data of agent flows.
entrypointstringNoFunctienaam die runtime aanroept.
descriptionstringNoFunctionele toelichting.
requirementsmultiline textNoPython dependencies per regel.
pythonVersionstringNoRuntime python versie.

2. File manager en opslagregels

ActieBeschrijving
NewNieuw pad toevoegen met lege inhoud.
FileEen of meerdere bestanden uploaden.
ZIPComplete zip importeren (mapstructuur behouden).
ExportDraftbestanden als zip exporteren.
DownloadGeselecteerd bestand downloaden.
RemoveBestand verwijderen (niet voor main.py).

Bestandsvalidatie

  • main.py en requirements.txt zijn gereserveerd.
  • Paden met .. of onveilige prefixen worden geweigerd.
  • Tekstbestanden kunnen inline bewerkt worden; binaire files niet.
  • Grote files worden extern opgeslagen en kunnen read-only in editor verschijnen.

3. AI-assistent

Element aanmaken of bijwerken

  • De AI-assistent maakt of wijzigt een draft op basis van je prompt.
  • De hoofdactie past het voorstel toe en kiest daarna Save Draft; publish en test execute gebeuren niet automatisch.
  • Controleer de draft, runtime vars/secrets en requirements voordat je handmatig publiceert of test.

Waar de assistent rekening mee houdt

  • Gebruik return voor normale Element-output.
  • Gebruik voor data-Elements vooral return of yield om rows op te leveren.
  • Gebruik voor stream_data-Elements stream helpers zoals appendRows(), replaceRows() en clearRows(); een finale return mag daarnaast ook.
  • Gebruik getVar(), setVar() en getSecret() voor runtime configuratie in plaats van hardcoded waarden.

4. Codecontract

Ondersteunde signatures

  • run(params)
  • run(context, params)

Bij twee argumenten bevat context runtime-, element- en versie-informatie.

Runtime helpers

  • getVar(name, default)
  • setVar(name, value)
  • getSecret(name, default)

Kind en dashboardgebruik

  • data: voor normale snapshot-output; na publish direct te kiezen als datasource in dashboards.
  • stream_data: voor command-stream output; na publish direct te kiezen als live datasource in dashboards.
  • Gebruik nog steeds een expliciete datasource als je extra scheduling of connectorinstellingen nodig hebt.
def run(params):
    country = params.get("country", "NL")
    limit = int(params.get("limit", 3))
    return [{"country": country, "rank": index + 1} for index in range(limit)]

5. Best practices