IA, HTTP e ferramentas
## g.http.* — HTTP
Seção intitulada “## g.http.* — HTTP”| Método | Assinatura | Descrição |
|---|---|---|
g.http.makeHttpRequest | (options) → Promise<HttpResponse> | Faz uma solicitação HTTP |
HttpRequestOptions:
{ url: string // obrigatório method?: string // "GET" (padrão), "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS" body?: string headers?: Record<string, string> timeout?: number // milissegundos}HttpResponse:
{ status: number statusText: string body: string headers: Record<string, string>}## g.llm.* — LLM
Seção intitulada “## g.llm.* — LLM”Exige um provedor LLM configurado.
| Método | Assinatura | Descrição |
|---|---|---|
g.llm.promptLocalLlm | (model, prompt, options?) → Promise<string> | Envia um prompt ao LLM configurado |
g.llm.abortLocalLlm | () | Cancela uma solicitação LLM em andamento |
g.llm.getLocalLlmModels | () → Promise<OllamaModelInfo[]> | Lista modelos disponíveis |
OllamaOptions:
{ timeout?: number // milissegundos image?: string // imagem em base64 para modelos de visão}## g.secrets.* — Credenciais
Seção intitulada “## g.secrets.* — Credenciais”Veja Credenciais para detalhes completos.
| Método | Assinatura | Descrição |
|---|---|---|
g.secrets.getSecret | (secretName) → Promise<string> | Obtém o valor descriptografado de uma credencial |
OcrOptions (para g.page.ocr):
{ x?: number y?: number width?: number height?: number lang?: string // padrão: "eng" browserTabId?: string}## g.* de nível superior — utilitários
Seção intitulada “## g.* de nível superior — utilitários”| Método | Assinatura | Descrição |
|---|---|---|
g.log | (message) → void | Escreve no painel Console |
g.wait | (milliseconds?) → Promise | Aguarda por uma duração |
g.generateApiDocs | (outputDirectory?) → string | Gera scripting-api.d.ts |
g.generateApiDocs() é um auxiliar avançado exclusivo para TypeScript (advanced TypeScript-only helper). Para o pacote completo de suporte a scripts, use Tools > Developer > Generate Scripting Support Files… para gerar definições TypeScript, guias Lua e Janet, instruções de LLM para o espaço de trabalho e arquivos de base para autoria TypeScript.
## g.tool.* — contexto de ferramenta
Seção intitulada “## g.tool.* — contexto de ferramenta”Disponível quando um script é invocado como ferramenta MCP personalizada.
| Propriedade | Tipo | Descrição |
|---|---|---|
g.tool.args | any | null | Parâmetros passados pelo agente de IA (null se não foi invocado como ferramenta) |
## Globais da biblioteca padrão
Seção intitulada “## Globais da biblioteca padrão”Estes globais de nível superior ficam disponíveis nos mecanismos JavaScript e Lua; não ficam sob g.*.
URL / URLSearchParams
Seção intitulada “URL / URLSearchParams”API WHATWG URL baseada em System.Uri. Em JS use new URL(...); em Lua use URL(...), que retorna uma tabela.
Propriedades de 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"
// Resolução de URL relativaconst api = new URL("/api/data", "https://example.com");g.log(api.href); // "https://example.com/api/data"btoa() / atob()
Seção intitulada “btoa() / atob()”Codifica e decodifica Base64 em UTF-8.
const encoded = btoa("Hello, World!"); // "SGVsbG8sIFdvcmxkIQ=="const decoded = atob(encoded); // "Hello, World!"crypto.randomUUID()
Seção intitulada “crypto.randomUUID()”Gera uma string UUID v4.
const id = crypto.randomUUID(); // "3b241101-e2bb-4d7a-8613-e9a3fdc1e2b3"## g.tts.* — texto para fala
Seção intitulada “## g.tts.* — texto para fala”Windows Speech Synthesis. Sempre disponível, sem depender de espaço de trabalho.
| Método | Assinatura | Async | Descrição |
|---|---|---|---|
speak | (text, options?) → Promise | Sim | Fala texto em voz alta |
getVoices | () → string[] | Não | Lista nomes de vozes disponíveis |
stop | () | Não | Para a fala atual |
SpeakOptions:
{ voice?: string // ex.: "Microsoft David" rate?: number // -10 a 10, padrão 0}## g.stt.* — fala para texto
Seção intitulada “## g.stt.* — fala para texto”O mecanismo Whisper STT local permite que scripts escutem comandos de voz do usuário ou transcrevam arquivos de áudio. Todo o processamento acontece localmente na CPU.
| Método | Assinatura | Async | Descrição |
|---|---|---|---|
listen | (ms) → Promise<string> | Sim | Grava áudio do microfone selecionado por uma duração em milissegundos e retorna o texto transcrito |
transcribeFile | (path) → Promise<string> | Sim | Lê um arquivo .wav existente do disco e retorna o texto transcrito |
Exemplo
Seção intitulada “Exemplo”async function main() { g.log("Ouvindo por 5 segundos..."); try { const text = await g.stt.listen(5000); g.log("Você disse: " + text);
if (text.toLowerCase().includes("olá")) { g.log("Olá para você também!"); } } catch (e) { g.log("Erro STT: " + e.message); }}