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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//! Library facade for the `oy` command-line application.
//!
//! `oy` is primarily a binary crate: install and run the [`oy` CLI][repo] to inspect,
//! edit, audit, and ask questions about local repositories. The library surface is kept
//! intentionally small for the binary, integration tests, and lightweight embedders that
//! want to invoke the same command handlers.
//!
//! Most implementation modules are private so their internals can evolve without creating
//! an API compatibility promise. If you need to automate `oy`, prefer spawning the `oy`
//! binary and using its documented CLI unless one of the functions below exactly fits your
//! use case.
//!
//! Useful project documentation:
//!
//! - [README](https://github.com/wagov-dtt/oy-cli#readme) for installation and user guide.
//! - [Architecture](https://github.com/wagov-dtt/oy-cli/blob/main/docs/architecture.md)
//! for runtime flow, module responsibilities, and trust boundaries.
//! - [Tool safety](https://github.com/wagov-dtt/oy-cli/blob/main/docs/tool-safety.md)
//! for capability and approval-mode details.
//!
//! [repo]: https://github.com/wagov-dtt/oy-cli
pub use ;
pub use ;
pub use ;
pub
pub
/// Runs the `oy` command dispatcher with command-line arguments excluding the program name.
///
/// This is the same application entry point used by the binary after `src/main.rs` strips
/// the executable name. It returns the process exit code that the binary should use.
///
/// Prefer invoking the `oy` binary for automation unless embedding the CLI in-process is
/// specifically needed.
pub async
/// Returns the interactive chat help text shown by `/help`.
///
/// This helper is public so snapshot tests and lightweight integrations can verify or
/// display the same help content as the interactive shell.
/// Formats a tool result using the same compact preview renderer as the CLI.
///
/// `name` is the tool name, and `value` is the JSON result payload returned by that tool.
/// The output is intended for humans and may change with CLI presentation improvements;
/// do not treat it as a stable machine-readable format.
/// Writes a formatted diagnostic line to standard error using the current UI output mode.
///
/// Use [`format_args!`] to avoid allocating an intermediate `String`:
///
/// ```no_run
/// oy::err_line(format_args!("provider failed: {}", "timeout"));
/// ```