Referência da Biblioteca Operacional

<!-- verified-against: seed-llvm; examples: docs-examples-test -->

Esta página cataloga os pacotes seed comuns preparados pelo compilador operacional LLVM de seed/compiler/llvm/libs. Ele não trata todos os diretórios da árvore de compatibilidade Grove de nível superior como um pacote atual.

Importar e construir modelo

Os pacotes principais do repositório usam importações simples:

use "io"
use "parse"
use "vec"

Os caminhos incrementais build e run do inicializador resolvem esses nomes, criam artefatos nativos profile/target-compatible e .sdi e reutilizam gerações instaladas exatas. O subcomando check mais restrito atualmente invoca a verificação direta da fonte e não prepara primeiro um pacote vazio ausente. Uma construção --static explícita seleciona dependências seed estáticas correspondentes; a vinculação hospedada comum usa os artefatos dinâmicos compatíveis com o perfil por padrão.

A disponibilidade permanece limitada pelo manifesto de cada pacote e pela matriz de capacidade de destino canônica. Um pacote presente na árvore de origem não adiciona serviços de tempo de execução a um destino que não os possui.

Catálogo de pacotes

Pacote Superfície pública principal Função
box box_new, view, into_inner Indireção de propriedade única falível para valores recursivos ou grandes
byte_buffer byte_buffer_new, reserve, push, extend, resize, into_bytes Construção de bytes inicializados com reconhecimento de capacidade com crescimento falível verificado
fibonacci fibonacci_i64 Fibonacci iterativo verificado sem alocação retornando None para entrada negativa ou estouro
file write_text, write_stdout, write_stderr, variantes de formato Wrappers de compatibilidade de saída hospedados baseados em descritor
format bool_text, option_bool_text Pequenos ajudantes em formato de texto estático
io input_stream, output_buffer, read/write/all e operações de formato Digitado parcialmente e hospedado em buffer I/O com io_error
math sqrt_*, abs_*, min_*, max_* Operações f32/f64 em linha portáteis
net open_ipv4_stream, socket Wrapper de soquete de fluxo IPv4 de propriedade hospedado mínimo
parse parse_i*, parse_u*, parse_*_or Análise de número inteiro verificada com parse_error digitado e padrões explícitos
process current_id, argument_count, argument, environment, process_fork, process_exec_args, process_exec_args_with_environment, process_change_directory, process_wait Visualizações process/environment livres de alocação e primitivas de subprocesso hospedadas limitadas
serialize encode_bool, decode_bool Superfície de serialização segura representativa mínima
mobile ligações de plataforma, ciclo de vida, entrada, exibição, área de transferência Android API 21/29/37 ARM64 AVD e iOS 26.5 Execução do simulador ARM64
path_file file_descriptor, open, read, write, metadata Descritores de arquivo de caminho de propriedade para sequencial verificado I/O, renomeação atômica e bloqueio consultivo
slice slice_split_at_mut, reverter, girar, auxiliares de janela Algoritmos genéricos livres de alocação em fatias de tipo nativo
sort funções de classificação escalar e sort_by_key Classificação de fatias mutáveis no local, incluindo envio de chave estática para valores somente de movimentação
system wrappers de endereço, tabelas de páginas, MMIO, atômicos, alocação de bump, pinned/DMA valores Abstrações de sistemas independentes auditados sobre construção insegura explícita
task canais, junções, resultados digitados, eventos, cancelamento, grupos de espera, semáforos, barreiras, bloqueios Comunicação e sincronização estruturadas apoiadas por agendador
text utf8_next, utf8_count, utf8_validate, split_ascii, SplitToken.slice Livre de alocação UTF-8 escalar validation/counting e cursores de token delimitados por ASCII cujos tokens saem da visualização de origem
time monotonic_ms, wall_time_seconds, wall_time_ms Valores de tempo decorrido hospedado e relógio de parede Unix
vec vec, APIs de fila, conjunto, mapa e mutação falível Coleções genéricas de propriedade com limpeza exata e visualizações verificadas

A tabela acima cobre os pacotes preparados a partir de seed/compiler/llvm/libs/. hkdf (hkdf_extract, hkdf_expand; RFC 5869 HKDF-SHA256) e tls13 (puro-seed TLS 1.3 ChaCha20-Poly1305 AEAD e o cronograma principal RFC 8446 §7) são Grove pacotes de dependência de caminho, não pacotes preparados pelo compilador.

Pacotes de aplicativos de nível superior Grove árvore inclui uuid 0,2. Ele fornece livre de alocação UUID validação de texto, validação estrita RFC 9562 UUIDv7, determinística uuid_v7_from_partse falível uuid_v7 geração apoiada por milissegundos de relógio hospedado mais 74 bits do sistema operacional auditado entropy pacote. Os UUIDs permanecem identificadores em vez de credenciais.

Convenções de propriedade e erro

Os pacotes operacionais seguem o modelo de propriedade do idioma:

I/O

O novo código deve preferir io aos wrappers de compatibilidade file mais restritos. A distinção importante é a entrada parcial:

byte_buffer e io compartilham o contrato de prefixo inicializado. Chamadores seguros nunca observam capacidade não inicializada sobressalente.

Grove execução de comando

O Grove command O pacote fornece execução infantil limitada baseada em argv para aplicativos hospedados. command_run_configured_with_stdin_file tem o mesmo diretório de trabalho, ambiente, tempo limite e contrato de limite de captura que command_run_configurede, adicionalmente, conecta um arquivo de entrada regular existente à entrada padrão do filho. O arquivo é aberto sem seguir um link simbólico final e todos parent/child os descritores mantêm a limpeza exata. Isso é útil para protocolos stdio limitados, como servidores de linguagem, sem invocar um shell ou reter uma segunda cópia na memória da solicitação emoldurada.

Coleções e fatias

vec<t> é a sequência genérica canônica que pode ser cultivada. Ele fornece capacidade falível e operações push, verificadas update/pop, visualizações somente leitura e mutáveis e limpeza exata para elementos somente movimentação. Os tipos de fila, conjunto e mapa usam o mesmo modelo de propriedade.

Nativo []t e mut []t permanecem os tipos de sequência emprestados padrão. O slice pacote adiciona algoritmos; indexação verificada, fatiamento, fill, copy_frome split_at_mut são operações principais, em vez de um invólucro herdado de fatias de gordura brutas.

Tarefas

task é um pacote comum, não um conjunto de linguagens integradas. Ele fornece:

Endpoints e tickets mantêm seus linear/exact-cleanup contratos. Direto spawn permanece lexicalmente estruturado e postfix ? não pode cruzar o limite do corpo gerado enquanto esse corpo ABI retorna void.

Pacote de sistemas

system alvos declarados perfis independentes. Endereços brutos, ponteiros MMIO, armazenamento atômico, buffers fixados, buffers DMA e armazenamento de apoio do alocador são criados por meio de unsafe construtores. Os métodos seguros dependem do alinhamento, vida útil, espaço de endereço, sincronização e obrigações de propriedade desses construtores.

A presença deste pacote não implica que todos os destinos hospedados ou independentes forneçam todos os serviços do sistema. Consulte System Primitives e a matriz de destino Gate 14.

Grove inventário de pacotes

O nível superior grove/libs/ corpus concluído Classificação G01–G22: a linha de base do inventário de 12/07/2026 cobriu 218 pacotes manifestados, cada um coberto exatamente uma vez pelo Grove arnês de portão; a árvore agora contém 334 diretórios de pacotes, todos com manifestos. Pacotes portados expõem interfaces atuais excluídas da origem; pacotes arquivados expõem apenas seus documentos documentados validation/unavailability limite. Veja Grove Árvore de compatibilidade e Roteiro da Biblioteca.

Pacotes de clientes de rede operacional

Pacote Função Limite atual
url Absoluto limitado sem alocação URL analisador Intervalos de componentes emprestados, IPv6 entre colchetes, portas verificadas; não IDNA/relative resolução
tls Possuído OpenSSL 3 server/client contextos e conexões TLS 1,2 mínimo; certificado de cliente e hostname/IP verificação mais tempo limite de handshake digitado; macOS Execução ARM64 e Linux AArch64 construção cruzada
http-client Puro-seed HTTP/1.1 cliente (não OpenSSL): GET sobre TCP bruto ou o tls13 transporte Limites digitados (connect/io tempos limite, head/header/body maiúsculos), Autorização opcional, Content-Length/chunked/close-delimited enquadramento, propriedade limitada Location/Retry-After, bloqueando read() cursor e uma ponte de fonte de áudio para a fonte de retorno de chamada do codec compartilhado; DNS através do puro-seed dns pacote com IPv4-literal e localhost caminhos rápidos; sem cookies, redirecionamentos, descompactação ou pooling
http-client-tls Fino puro-seed embalagem preservando o TLS-contexto API (system/open/enabled, get_host_authority_authorized) acabou http-client + tls13 A mesma pilha TLS 1.3 verificada do e2e verificado pelo servidor; verificação do nome do host do CertificateVerify prova de posse da chave; a distribuição do armazenamento raiz do sistema continua sendo uma lacuna documentada
http-fetch Redirecionamento limitado absoluto HTTP/HTTPS URL composição sobre o puro seed clientes Resolução IPv4 do sistema, autoridade explícita, referência relativa e manipulação de segmento de ponto, remoção de fragmentos, limite de redirecionamento, rejeição de downgrade de HTTPS, autorização somente HTTPS confinada a redirecionamentos de mesma origem e retry/backoff exponencial limitado pelo chamador para falhas GET transitórias; sem cancelamento de resolvedor, cache ou ganchos de política
audio-network-source Adaptador de propriedade exata de um corpo HTTP/HTTPS para a origem de retorno de chamada do codec compartilhado HTTP getter de conveniência mais transferência genérica de corpo; retry/cache/live-stream a política permanece acima dela; link de aplicativos http_client_source.c para a ponte de retorno de chamada

Os limites completos e as evidências da meta estão registrados no G12 e G14 linhas de base.

Pacotes de atualização remota de UI adaptável operacional

Pacote Função Limite atual
ui-plugin-update Seleção de catálogo autenticado e atualização de artefato de plug-in transacional Nova tentativa transitória de três tentativas, autorização HTTPS de mesma origem, signed/fresh/monotonic catálogos, ligação exata da versão do pacote, trust/permission comprovação, histórico de geração e precisão opcional URL reserva de cache
ui-plugin-remote-cache Cache opaco limitado para cargas úteis de plug-ins remotos Raiz existente selecionada pelo chamador, SHA-256 exata-URL chaves, arquivos de partes privadas, bloqueios de sistema operacional por entrada, sincronização, substituição atômica, erros digitados e teto de 64 MiB; todos os hits permanecem não confiáveis ​​e exigem revalidação do chamador
ui-plugin-trust-distribution Entrega HTTPS verificada de envelopes de política de confiança assinados A verificação fixada pela raiz permanece visível para o aplicativo; o fallback em cache é apenas transitório e apenas envelopes já verificados são armazenados

O cache não implementa condicional HTTP validadores, expiração, despejo, cota compartilhada, criptografia ou manutenção em segundo plano. Nativo macOS ARM64, Linux x86-64 e Windows x86-64/Wine debug/release a evidência é congelada pelo atualização e distribuição de confiança linhas de base.

Ridge pacotes v0.3

A pilha de banco de dados local Ridge v0.3 completa é dividida em pacotes Grove comuns:

Pacote Função
ridge B+Tree armazenamento, WAL, MVCC, restrições, backup/recovery, integridade e vácuo
ridge_sql Multicoluna limitada SQL, transações, índices, planejador, derramamento, JSON, análise e observabilidade
ridge_pgwire Servidor pgwire Loopback TLS/password e protocolo estendido de texto limitado
ridge_timeseries Chaves de tempo compostas persistentes, range/bucket/rate/retention/downsampling operações
ridge_fulltext Normalizado persistente terms/positions, boolean/prefix/phrase pesquisa, subconjunto BM25, destaques
ridge_vector Vetores f32 corrigidos, top-k exato, HNSW persistente limitado, filtros, recall/memory limites
ridge_ops Arquivo de limite de commit PITR, exercícios de restauração, migrações, manutenção, health/metrics/logs/quotas

Esses são contratos de banco de dados local limitados, não paridade PostgreSQL ou serviços de cluster. Consulte Ridge Database e o documento de capacidade Ridge para obter as formas e exclusões exatas suportadas.

Fontes da verdade