gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 815Rust 56Shell 37Markdown 291229 Definitions

⎇ d611f8577d0ebb0f265143be9007a5b94a7dd1fc crates/takana-core/src/lib.rs Rust · 55 lines · 1.5 KB History Who touched what raw

[[user]] en la receta: la otra mitad del SDD 30 — un demonio que no corre como root necesita cuenta d611f8577 · Sergio ·

1//! Tipos núcleo de takana, compartidos por el lab, la CLI y el daemon.
2//!
3//! Ver `docs/01-architecture.md` y siguientes. Esto es el esqueleto de Fase 0: los tipos y
4//! contratos están definidos; la lógica pesada (sandbox, fanotify, bus) vive en los otros
5//! crates y se irá rellenando por fase.
6
7pub mod apply;
8pub mod caps;
9pub mod compat;
10pub mod differs;
11pub mod env;
12pub mod hash;
13pub mod installed;
14pub mod kernel;
15pub mod lab;
16pub mod proto;
17pub mod query;
18pub mod recipe;
19pub mod repo;
20pub mod service;
21pub mod sign;
22pub mod store;
23pub mod swm;
24pub mod user;
25
26pub use caps::{AgentCapsConfig, CapRule};
27pub use differs::{why_differs, Causa, Divergencia, Informe};
28pub use hash::ArtifactHash;
29pub use installed::{InstalledDb, InstalledPackage};
30pub use compat::Veredicto as CompatVeredicto;
31pub use recipe::{
32    CheckOutcome, Compiler, Deps, Evidence, EvidenceCheck, EvidenceKind, LinkMode, Phases, Recipe,
33    Slots, Source, SourceKind,
34};
35pub use repo::{PackageEntry, RepoIndex};
36pub use sign::{KeyPair, SigStatus, TrustStore};
37pub use store::Store;
38pub use swm::{Base, BaseCompat, BaseRef, Mutation, PinDiff, Signature, Swm, SwmBuild};
39
40/// Error común del ecosistema takana.
41#[derive(Debug, thiserror::Error)]
42pub enum Error {
43    #[error("io: {0}")]
44    Io(#[from] std::io::Error),
45    #[error("serialización: {0}")]
46    Serde(String),
47    #[error("receta inválida: {0}")]
48    Recipe(String),
49    #[error("store: {0}")]
50    Store(String),
51    #[error(transparent)]
52    Other(#[from] anyhow::Error),
53}
54
55pub type Result<T> = std::result::Result<T, Error>;