Skip to main content

agent_doc_core/
lib.rs

1//! agent-doc-core — document data layer for agent-doc.
2//!
3//! See `tasks/agent-doc/plan-agent-doc-core-extraction.md` for the wave plan.
4//! Currently extracted: Wave 1 (id, crdt, component, model_tier, pending),
5//! Wave 2 (frontmatter, project_config), Wave 3 (template), Wave 4 (diff
6//! pure half per #rtx6 Option 1 — `ComputeResult`, `compute`,
7//! `compute_with_current`, `wait_for_stable_content`, `run` stay in the main
8//! crate's `diff_io.rs` because they call `snapshot::{load,save,resolve,
9//! path_for}`). Some functions in `frontmatter`, `project_config`, and
10//! `template` take `&Path` and touch the filesystem — they live here for the
11//! convenience of a single move and may be split into orchestration wrappers
12//! in a follow-up tidy.
13
14pub mod cell_doc;
15pub mod component;
16pub mod crdt;
17pub mod crdt_sync;
18pub mod diff;
19pub mod ffi;
20pub mod frontmatter;
21pub mod gate_verify;
22pub mod heuristics;
23pub mod id;
24pub mod ipc_corruption;
25pub mod log_time;
26pub mod model_tier;
27pub mod op_log;
28pub mod pending;
29pub mod project_config;
30pub mod queue_item_lifecycle;
31pub mod replay_guard;
32pub mod syntax;
33pub mod template;
34pub mod topic;
35pub mod turn_scope;
36
37pub use component::Component;
38pub use crdt::CrdtDoc;
39pub use diff::{
40    DiffClassification, DiffType, OrchestrationRequest, OrchestrationRequestMode,
41    ParsedSlashCommands, PromptBearingChange, PromptBearingChangeKind,
42};
43pub use id::{
44    BOUNDARY_ID_LEN, format_boundary_marker, new_boundary_id, new_boundary_id_with_summary,
45};
46pub use template::{ComponentInfo, PatchBlock, TemplateInfo};