NenjoNenjo Docs
Harness

Crates

What each crate in the nenjo Rust workspace owns.

Crates

The nenjo repo is a Rust workspace. The crates are split by responsibility so the embeddable SDK, platform transport contracts, local tools, and worker process can evolve without becoming one large runtime package.

Workspace Crates

CratePurpose
nenjoCore SDK: provider builder, manifest types, agent runners, prompt context, memory hooks, routine execution, and public API re-exports
nenjo-tool-apiShared tool traits, specs, categories, calls, results, and SDK-level security inputs
nenjo-knowledgeKnowledge pack primitives and reusable knowledge tools
nenjo-modelsModel provider trait and implementations for OpenAI, Anthropic, Gemini, OpenRouter, Ollama, OpenAI-compatible APIs, and reliability wrappers
nenjo-xmlXML serialization and MiniJinja template rendering helpers used in prompt context
nenjo-eventsTyped command, response, stream, capability, subject, and encrypted payload contracts shared by worker and platform
nenjo-eventbusTransport-agnostic event bus abstraction plus NATS JetStream transport
nenjo-secure-envelopeEncryption-aware envelope layer over the event bus
nenjo-crypto-authWorker enrollment, wrapped key state, and secure-envelope key provider primitives
nenjo-platformPlatform-backed manifest contracts, REST client pieces, MCP tool contracts, local backend helpers, and scope policy helpers
nenjo-sessionsShared session records, content stores, coordinator traits, and recoverable session state
nenjo-harnessPlatform command handlers, active execution/session registries, event bridging, and trace/session hooks around a provider
nenjo-workerThe worker implementation used by nenjo run
nenjo-nenpmPackage install planning, lockfile handling, and package materialization
nenjo-packagesRegistry, package, module, dependency graph, and resolver primitives
nenjo-updaterBinary bundle update checks and installation logic
nenjo-cliCLI package in bin/ that builds the nenjo binary
nenpm-cliCLI package in bin/nenpm that builds the package manager
nenjoup-cliCLI package in bin/nenjoup that builds the updater

Boundaries

LayerCrates
Core SDKnenjo, nenjo-tool-api, nenjo-models, nenjo-xml, nenjo-knowledge
Platform contractsnenjo-events, nenjo-sessions
Platform transportnenjo-eventbus, nenjo-secure-envelope, nenjo-crypto-auth
Manifest bridgenenjo-platform
Harnessnenjo-harness
Worker and CLInenjo-worker, nenjo-cli, nenpm-cli, nenjoup-cli, nenjo-updater

How the Pieces Fit

nenjo-cli
  -> nenjo-worker
      -> nenjo-eventbus + nenjo-secure-envelope
      -> nenjo-platform + nenjo-events + nenjo-sessions
      -> nenjo-harness
      -> nenjo
          -> nenjo-tool-api
          -> nenjo-knowledge
          -> nenjo-models
          -> nenjo-xml

The core SDK owns execution semantics. The harness owns platform command handling around an assembled provider. The worker owns process lifecycle, config, bootstrap, event loop, concrete local tools, package installs, and platform connectivity.

On this page