IA, HTTP e strumenti
g.http.* — HTTP
Sezione intitolata “g.http.* — HTTP”| Metodo | Firma | Descrizione |
|---|---|---|
g.http.makeHttpRequest | (options) → Promise<HttpResponse> | Esegue una richiesta HTTP |
HttpRequestOptions:
{ url: string // obbligatorio method?: string // "GET" (predefinito), "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS" body?: string headers?: Record<string, string> timeout?: number // millisecondi}HttpResponse:
{ status: number statusText: string body: string headers: Record<string, string>}g.llm.* — LLM
Sezione intitolata “g.llm.* — LLM”Richiede un servizio LLM configurato.
| Metodo | Firma | Descrizione |
|---|---|---|
g.llm.promptLocalLlm | (model, prompt, options?) → Promise<string> | Invia un prompt all’LLM configurato |
g.llm.abortLocalLlm | () | Annulla una richiesta LLM in corso |
g.llm.getLocalLlmModels | () → Promise<OllamaModelInfo[]> | Elenca i modelli disponibili |
OllamaOptions:
{ timeout?: number // millisecondi image?: string // immagine codificata base64 per modelli vision}g.secrets.* — Credenziali di accesso
Sezione intitolata “g.secrets.* — Credenziali di accesso”Vedi Credenziali di accesso per i dettagli completi.
| Metodo | Firma | Descrizione |
|---|---|---|
g.secrets.getSecret | (secretName) → Promise<string> | Ottiene il valore decrittato di una credenziale di accesso |
OcrOptions (per g.page.ocr):
{ x?: number y?: number width?: number height?: number lang?: string // predefinito: "eng" browserTabId?: string}g.* di primo livello — Utilità
Sezione intitolata “g.* di primo livello — Utilità”| Metodo | Firma | Descrizione |
|---|---|---|
g.log | (message) → void | Scrive nel pannello Console |
g.wait | (milliseconds?) → Promise | Attende per una durata |
g.generateApiDocs | (outputDirectory?) → string | Genera scripting-api.d.ts |
g.generateApiDocs() è una funzione di supporto avanzata solo TypeScript (advanced TypeScript-only helper). Per il pacchetto completo di supporto allo scripting, usa Strumenti > Sviluppatore > Genera file di supporto allo scripting… (Tools > Developer > Generate Scripting Support Files...) per generare definizioni TypeScript, guide Lua e Janet, istruzioni LLM dello spazio di lavoro e file di base per scrivere in TypeScript.
g.tool.* — Contesto strumento
Sezione intitolata “g.tool.* — Contesto strumento”Disponibile quando uno script viene invocato come strumento MCP personalizzato.
| Proprietà | Tipo | Descrizione |
|---|---|---|
g.tool.args | any | null | Parametri passati dall’agente IA (null se non invocato come strumento) |
Globali della libreria standard
Sezione intitolata “Globali della libreria standard”Questi globali di primo livello sono disponibili nei motori JavaScript e Lua, non sotto g.*.
URL / URLSearchParams
Sezione intitolata “URL / URLSearchParams”API URL WHATWG basata su System.Uri. In JS usa new URL(...), in Lua usa URL(...) (restituisce una tabella).
Proprietà URL: href, origin, protocol, hostname, host, port, pathname, search, hash, username, password, searchParams
const url = new URL("https://example.com/path?q=hello&page=2");const q = url.searchParams.get("q"); // "hello"g.log(url.hostname); // "example.com"g.log(url.pathname); // "/path"
// Risoluzione URL relativaconst api = new URL("/api/data", "https://example.com");g.log(api.href); // "https://example.com/api/data"btoa() / atob()
Sezione intitolata “btoa() / atob()”Codifica e decodifica Base64 (UTF-8).
const encoded = btoa("Ciao, mondo!"); // "Q2lhbywgbW9uZG8h"const decoded = atob(encoded); // "Ciao, mondo!"crypto.randomUUID()
Sezione intitolata “crypto.randomUUID()”Genera una stringa UUID v4.
const id = crypto.randomUUID(); // "3b241101-e2bb-4d7a-8613-e9a3fdc1e2b3"g.tts.* — Sintesi vocale
Sezione intitolata “g.tts.* — Sintesi vocale”Windows Speech Synthesis. Sempre disponibile (non legata allo spazio di lavoro).
| Metodo | Firma | Async | Descrizione |
|---|---|---|---|
speak | (text, options?) → Promise | Sì | Pronuncia il testo ad alta voce |
getVoices | () → string[] | No | Elenca i nomi delle voci disponibili |
stop | () | No | Ferma la voce corrente |
SpeakOptions:
{ voice?: string // es. "Microsoft David" rate?: number // da -10 a 10, predefinito 0}g.stt.* — Riconoscimento vocale
Sezione intitolata “g.stt.* — Riconoscimento vocale”Il motore STT Whisper locale permette agli script di ascoltare comandi vocali dell’utente o trascrivere file audio. Tutta l’elaborazione avviene localmente sulla CPU.
| Metodo | Firma | Async | Descrizione |
|---|---|---|---|
listen | (ms) → Promise<string> | Sì | Registra audio dal microfono selezionato per una durata (in millisecondi) e restituisce il testo trascritto. |
transcribeFile | (path) → Promise<string> | Sì | Legge un file .wav esistente dal disco e restituisce il testo trascritto. |
Esempio
Sezione intitolata “Esempio”async function main() { g.log("Ascolto per 5 secondi..."); try { const text = await g.stt.listen(5000); g.log("Hai detto: " + text);
if (text.toLowerCase().includes("ciao")) { g.log("Ciao anche a te!"); } } catch (e) { g.log("Errore STT: " + e.message); }}