IA, HTTP y herramientas
## g.http.* — HTTP
Sección titulada «## g.http.* — HTTP»| Método | Firma | Descripción |
|---|---|---|
g.http.makeHttpRequest | (options) → Promise<HttpResponse> | Realiza una solicitud HTTP |
HttpRequestOptions:
{ url: string // required method?: string // "GET" (default), "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS" body?: string headers?: Record<string, string> timeout?: number // milliseconds}HttpResponse:
{ status: number statusText: string body: string headers: Record<string, string>}## g.llm.* — LLM
Sección titulada «## g.llm.* — LLM»Requiere que haya configurado un proveedor LLM.
| Método | Firma | Descripción |
|---|---|---|
g.llm.promptLocalLlm | (model, prompt, options?) → Promise<string> | Envía un prompt al LLM configurado |
g.llm.abortLocalLlm | () | Cancela una solicitud LLM en curso |
g.llm.getLocalLlmModels | () → Promise<OllamaModelInfo[]> | Lista los modelos disponibles |
OllamaOptions:
{ timeout?: number // milliseconds image?: string // base64-encoded image for vision models}## g.secrets.* — Credenciales de acceso
Sección titulada «## g.secrets.* — Credenciales de acceso»Vea Credenciales de acceso para más detalles.
| Método | Firma | Descripción |
|---|---|---|
g.secrets.getSecret | (secretName) → Promise<string> | Obtiene el valor descifrado de una credencial |
OcrOptions (para g.page.ocr):
{ x?: number y?: number width?: number height?: number lang?: string // default: "eng" browserTabId?: string}## g.* de nivel superior — utilidades
Sección titulada «## g.* de nivel superior — utilidades»| Método | Firma | Descripción |
|---|---|---|
g.log | (message) → void | Escribe en el panel Console |
g.wait | (milliseconds?) → Promise | Espera una duración |
g.generateApiDocs | (outputDirectory?) → string | Genera scripting-api.d.ts |
g.generateApiDocs() es un helper avanzado solo de TypeScript (advanced TypeScript-only helper). Para el paquete completo de soporte de scripting, use Tools > Developer > Generate Scripting Support Files… para generar definiciones TypeScript, guías Lua y Janet, instrucciones LLM para el espacio de trabajo y archivos de andamiaje para escribir en TypeScript.
## g.tool.* — contexto de herramienta
Sección titulada «## g.tool.* — contexto de herramienta»Disponible cuando un script se invoca como herramienta MCP personalizada.
| Propiedad | Tipo | Descripción |
|---|---|---|
g.tool.args | any | null | Parámetros pasados por el agente de IA; null si no se invocó como herramienta |
## Globales de biblioteca estándar
Sección titulada «## Globales de biblioteca estándar»Estos son globales de nivel superior disponibles en los motores JavaScript y Lua, no bajo g.*.
URL / URLSearchParams
Sección titulada «URL / URLSearchParams»API WHATWG URL respaldada por System.Uri. En JS use new URL(...); en Lua use URL(...), que devuelve una tabla.
Propiedades 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"
// Relative URL resolutionconst api = new URL("/api/data", "https://example.com");g.log(api.href); // "https://example.com/api/data"btoa() / atob()
Sección titulada «btoa() / atob()»Codifica y decodifica Base64 en UTF-8.
const encoded = btoa("Hello, World!"); // "SGVsbG8sIFdvcmxkIQ=="const decoded = atob(encoded); // "Hello, World!"crypto.randomUUID()
Sección titulada «crypto.randomUUID()»Genera una cadena UUID v4.
const id = crypto.randomUUID(); // "3b241101-e2bb-4d7a-8613-e9a3fdc1e2b3"## g.tts.* — texto a voz
Sección titulada «## g.tts.* — texto a voz»Windows Speech Synthesis. Siempre disponible; no está limitado al espacio de trabajo.
| Método | Firma | Async | Descripción |
|---|---|---|---|
speak | (text, options?) → Promise | Sí | Pronuncia texto en voz alta |
getVoices | () → string[] | No | Lista nombres de voces disponibles |
stop | () | No | Detiene la voz actual |
SpeakOptions:
{ voice?: string // e.g., "Microsoft David" rate?: number // -10 to 10, default 0}## g.stt.* — voz a texto
Sección titulada «## g.stt.* — voz a texto»El motor local Whisper STT permite que los scripts escuchen comandos de voz del usuario o transcriban archivos de audio. Todo el procesamiento ocurre localmente en su CPU.
| Método | Firma | Async | Descripción |
|---|---|---|---|
listen | (ms) → Promise<string> | Sí | Graba audio desde el micrófono seleccionado durante una duración en milisegundos y devuelve el texto transcrito |
transcribeFile | (path) → Promise<string> | Sí | Lee un archivo .wav existente del disco y devuelve su texto transcrito |
Ejemplo
Sección titulada «Ejemplo»async function main() { g.log("Listening for 5 seconds..."); try { const text = await g.stt.listen(5000); g.log("You said: " + text);
if (text.toLowerCase().includes("hello")) { g.log("Hello to you too!"); } } catch (e) { g.log("STT Error: " + e.message); }}