Skip to content

Standard Library ​

Haira includes a rich standard library. Only imported packages are included in compiled binaries (tree-shaking).

Core Modules ​

ModuleImportDescription
IOimport "io"Console I/O (println, print)
HTTPimport "http"HTTP client and server
JSONimport "json"JSON encode/decode
Stringimport "string"String manipulation
Mathimport "math"Math functions
Timeimport "time"Time and date
Envimport "env"Environment variables
FSimport "fs"File system operations
Regeximport "regex"Regular expressions
Convimport "conv"Type conversions
Arrayimport "array"Array/list utilities
Mapsimport "maps"Map utilities

Extended Modules ​

These are separate packages, tree-shaken at compile time:

ModuleImportDescription
Postgresimport "postgres"PostgreSQL client
Excelimport "excel"Excel file operations
Vectorimport "vector"Vector embeddings
Slackimport "slack"Slack integration
GitHubimport "github"GitHub API
GitLabimport "gitlab"GitLab API
Algoliaimport "algolia"Algolia search client
Meilisearchimport "meilisearch"Meilisearch search client
SQLite(auto-included)Session storage for workflows
D1(auto-included for Workers)Cloudflare D1 store backend
Langfuseimport "langfuse"LLM observability
Agentsimport "agents"Pre-built agent templates
Authimport "auth"API key resolution
WebSearchimport "websearch"Web search integration
Healthcheckimport "healthcheck"HTTP health check endpoints

Core Modules (continued) ​

ModuleImportDescription
OSimport "os"OS primitives and command execution
Uploadimport "upload"File upload handling
Observeimport "observe"Observability and cost monitoring
MCPimport "mcp"MCP server/client

Built-in Functions ​

Available without import:

FunctionDescription
env(name)Read environment variable
len(x)Length of string, list, or map
append(list, item)Append to list
print(args...)Print without newline
println(args...)Print with newline

Automatic Inclusions ​

  • SQLite is automatically included when workflows or a server are detected
  • Langfuse requires explicit import "langfuse" and registration via observe.use(langfuse.exporter(...))
  • Transitive dependencies are resolved automatically (e.g., vector pulls in postgres)

Released under the Apache-2.0 License.