/** * Map an authoring project (the default export of `lobu.config.ts`, built by * `defineConfig` from `@lobu/cli/config`) to the apply `DesiredState`. * * `DesiredState` is an apply-internal IR and stays CLI-private; this is the one * place that translates the public authoring objects into it. The mapping is * pure (modulo `installedAt` timestamps, matching the TOML loader) so it can be * unit-tested without importing `lobu.config.ts`. */ import { type AgentSettings } from "@lobu/core"; import type { Project } from "../../../config/index.js"; import type { DesiredState } from "./desired-state.js"; /** Skill entries resolved from `defineAgent({ skills })` (inline + file). */ type LocalSkills = NonNullable["skills"]; /** Agent-dir prompt markdown (read by the loader from SOUL/IDENTITY/USER.md). */ export interface AgentMarkdown { soulMd?: string; identityMd?: string; userMd?: string; } /** * Merge an agent's file-resolved artifacts (prompt markdown from its dir + * skills declared via `defineAgent({ skills })`) into the already-mapped agent * settings. Pure (no file IO — the loader reads the files and passes the * results in) so it can be unit-tested directly. * * Skills are instruction text only — they contribute no nix, network, or MCP * config. Packages come from the agent (`nixConfig`, already in `settings`) or * connector `agentTooling`, never from skills. */ export declare function mergeAgentDirArtifacts(settings: Partial, markdown: AgentMarkdown, localSkills: LocalSkills): void; /** * Translate an authoring project into the apply `DesiredState`. When `only` is * set, connector definitions/connections/auth-profiles are skipped (and their * secrets not collected), matching the TOML loader's `--only` automation so * `lobu apply --only agents` doesn't demand connector secrets. */ export declare function mapProjectToDesiredState(project: Project, env?: NodeJS.ProcessEnv, only?: "agents" | "memory"): DesiredState; export {}; //# sourceMappingURL=map-config.d.ts.map