1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! Core primitives shared across the rest of the crate.
//!
//! This module exists to hold small, stable building blocks that many other
//! subsystems need: rows, output/result types, command metadata, shell token
//! handling, fuzzy matching, and a few protocol DTOs.
//!
//! Read this module when you need a shared type that should mean the same thing
//! everywhere else in the crate.
//!
//! Rough map:
//!
//! - [`crate::core::command_def`] describes commands as semantic metadata for help and
//! catalogs
//! - [`crate::core::command_policy`] answers whether a command should be visible or allowed
//! - [`crate::core::output`] and [`crate::core::output_model`] define the crate's canonical output
//! shapes
//! - [`crate::core::plugin`] defines the stable wire DTOs shared with external plugins
//! - [`crate::core::row`] is the common row representation used by commands, DSL, and UI
//! - [`crate::core::shell_words`] and [`crate::core::fuzzy`] provide small reusable
//! parsing/matching
//! primitives
//!
//! `core` should not become a junk drawer. A type belongs here only if it is
//! genuinely shared, stable in meaning, and lower-level than the feature
//! modules that depend on it.
//!
//! Contract:
//!
//! - types here should stay broadly reusable and free of host-specific logic
//! - `core` can be depended on widely, but it should avoid depending on
//! higher-level modules like `app`, `repl`, or `ui`
/// Declarative command metadata used for help and policy resolution.
/// Visibility and access-policy evaluation for commands.
/// Shared Unicode-aware fuzzy matching helpers.
/// Output-mode and presentation enums shared across the crate.
/// Structured row/group/document output types.
/// Plugin protocol DTOs shared across plugin boundaries.
/// Shared row representation used by the DSL and services.
/// Runtime-mode and verbosity primitives.
/// Shell-like tokenization helpers.