Descrizione
Esegue codice TypeScript in sandbox isolated-vm in-process (lo stesso motore battle-tested di action_run_js: isolamento a livello V8, nessun accesso a filesystem/rete/moduli, cap di memoria e timeout applicati dall'isola). Il TypeScript viene transpilato a JavaScript con strip dei soli tipi (nessun type-check a runtime → latenza di compilazione < 50ms anche su script da 50KB), quindi annotazioni di tipo, interface, type alias, enum e cast "as" sono supportati e servono solo a scrivere codice più sicuro e leggibile — a runtime spariscono. Sandboxing rigoroso: NO filesystem, NO rete (fetch/http assenti), NO require/import di moduli — solo la standard library JS (Math, JSON, Array, Object, Date, String, RegExp, Number, Map, Set, Promise). Memory cap configurabile (default 128MB, max 512MB), timeout wall-clock (default 5s, max 30s), esecuzione async che NON blocca l'event-loop del container. Variabili globali disponibili nello script: `input` (output JSON del nodo precedente), `vars` (workflow variables persistenti), `ctx` (metadata: tenantId, runId, nodeId). Output: il valore restituito con `return <value>` diventa l'output del nodo (deve essere JSON-serializable — no funzioni, no riferimenti circolari). Use case: chi preferisce TypeScript a JavaScript per trasformazioni dati custom con tipi espliciti, business logic tipizzata (provvigioni a scaglioni, validazioni multi-campo), reshape di input prima di una chiamata API, algoritmi proprietari del cliente scritti in TS. Per task CPU-intensive o con librerie scientifiche usa action_run_python; per chiamate HTTP usa action_http_request.
