pub enum ModuleId {
Show 35 variants
ToolsSearch,
ToolsApplyPatch,
ToolsPersistentShell,
ToolsBackground,
ToolsWeb,
ToolsQuestion,
Todos,
PlanMode,
Subagents,
PermissionsApprovals,
PermissionsRules,
PermissionsSandbox,
PermissionsProtectedPaths,
Trust,
McpClient,
McpServer,
Hooks,
Plugins,
Memory,
Checkpoint,
SessionTree,
SessionShare,
Reduction,
DeferredTools,
Cache,
ModelCatalog,
ModelOauth,
Lsp,
Formatters,
Tui,
Server,
Notify,
StructuredOutput,
Telemetry,
Integrations,
}Expand description
The 35 §2 capability modules, numbered exactly as the design’s module table (§2, rows 1-35).
Variants§
ToolsSearch
tools.search— glob/content-search/dir-listing tools.
ToolsApplyPatch
tools.apply_patch— the apply_patch envelope tool.
ToolsPersistentShell
tools.persistent_shell— persistent/interactive shell.
ToolsBackground
tools.background— background exec + monitor/event feed.
ToolsWeb
tools.web— web fetch + web search.
ToolsQuestion
tools.question— structured user-question tool.
Todos
todos— plan/task-checklist tool (update_plan).
PlanMode
plan_mode— plan enter/exit restriction mode.
Subagents
subagents— spawn/named/background sub-agents.
PermissionsApprovals
permissions.approvals— approval modes, interactive ask, caching.
PermissionsRules
permissions.rules— allow/ask/deny rule language.
PermissionsSandbox
permissions.sandbox— OS-level fs/network sandbox.
PermissionsProtectedPaths
permissions.protected_paths— never-auto-approved paths.
Trust
trust— project/workspace trust gate.
McpClient
mcp.client— MCP stdio/remote/OAuth/resources/prompts.
McpServer
mcp.server— harness-as-MCP-server.
Hooks
hooks— config-registered lifecycle hooks.
Plugins
plugins— in-process extension API.
Memory
memory— auto memory (agent-maintained, cross-session).
Checkpoint
checkpoint— file checkpointing / shadow-git.
SessionTree
session.tree— in-place tree, rewind, branch summaries.
session.share— public session-sharing links.
Reduction
reduction— genuinely-optional lossless reduction policies.
DeferredTools
deferred_tools— deferred tool advertising + tool_search.
Cache
cache— cache-aware architecture (plans, warnings, TTL).
ModelCatalog
model.catalog— aliases, fallback chains, small/utility model.
ModelOauth
model.oauth— subscription OAuth login.
Lsp
lsp— LSP diagnostics in the edit path + query tool.
Formatters
formatters— format-on-write.
Tui
tui— full-screen TUI.
Server
server— full programmatic RPC/HTTP server.
Notify
notify— external notify program / desktop / email.
StructuredOutput
structured_output— structured final output.
Telemetry
telemetry— OTel/analytics exporters.
Integrations
integrations— cloud, IDE/ACP, CI bots, web UI, worktrees.
Implementations§
Source§impl ModuleId
impl ModuleId
Sourcepub fn config_key(&self) -> &'static str
pub fn config_key(&self) -> &'static str
The §3.1 config key this module reads (the same strings
crate::configfile::MODULE_NAMES/crate::configfile::NESTED_MODULE_NAMES
use), for diagnostics. The two schema-collapsed modules (see the
module doc comment) report their HOST table’s name, since they have
no independent table of their own.
Sourcepub fn is_active(&self, hc: &HarnessConfig) -> bool
pub fn is_active(&self, hc: &HarnessConfig) -> bool
Whether this module is active in a resolved HarnessConfig — the
same module_enabled/module_setting_bool logic the P2 resolver
already computes (§3.5 step 7’s “module-activation set”), reused
verbatim rather than re-derived, so ModuleActivation can never
diverge from crate::configfile::Resolved::modules.
Trait Implementations§
impl Copy for ModuleId
impl Eq for ModuleId
Source§impl Ord for ModuleId
impl Ord for ModuleId
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for ModuleId
impl PartialOrd for ModuleId
impl StructuralPartialEq for ModuleId
Auto Trait Implementations§
impl Freeze for ModuleId
impl RefUnwindSafe for ModuleId
impl Send for ModuleId
impl Sync for ModuleId
impl Unpin for ModuleId
impl UnsafeUnpin for ModuleId
impl UnwindSafe for ModuleId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.