1#![forbid(unsafe_code)]
21#![allow(dead_code, clippy::unused_async)]
26#![cfg_attr(
27 test,
28 allow(
29 unused_variables,
30 clippy::assertions_on_constants,
31 clippy::match_same_arms,
32 clippy::uninlined_format_args,
33 clippy::missing_const_for_fn,
34 clippy::collapsible_if
35 )
36)]
37#![allow(
39 clippy::must_use_candidate,
40 clippy::doc_markdown,
41 clippy::missing_errors_doc,
42 clippy::missing_panics_doc,
43 clippy::module_name_repetitions,
44 clippy::similar_names,
45 clippy::wildcard_imports
46)]
47
48extern crate self as pi;
51
52#[cfg(all(feature = "jemalloc", any(target_os = "linux", target_os = "macos")))]
57#[global_allocator]
58static GLOBAL_ALLOCATOR: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc;
59
60#[doc(hidden)]
61pub mod acp;
62#[doc(hidden)]
63pub mod agent;
64#[doc(hidden)]
65pub mod agent_cx;
66#[doc(hidden)]
67pub mod app;
68#[doc(hidden)]
69pub mod auth;
70#[doc(hidden)]
71pub mod autocomplete;
72#[doc(hidden)]
73pub mod buffer_shim;
74#[doc(hidden)]
75pub mod cli;
76#[doc(hidden)]
77pub mod compaction;
78#[doc(hidden)]
79pub mod compaction_worker;
80#[doc(hidden)]
81pub mod config;
82#[doc(hidden)]
83pub mod conformance;
84#[doc(hidden)]
85pub mod conformance_shapes;
86#[doc(hidden)]
87pub mod connectors;
88#[doc(hidden)]
89pub mod crypto_shim;
90#[doc(hidden)]
91pub mod doctor;
92#[doc(hidden)]
93pub mod error;
94#[doc(hidden)]
95pub mod error_hints;
96#[doc(hidden)]
97pub mod extension_conformance_matrix;
98#[doc(hidden)]
99pub mod extension_dispatcher;
100#[doc(hidden)]
101pub mod extension_events;
102#[doc(hidden)]
103pub mod extension_inclusion;
104#[doc(hidden)]
105pub mod extension_index;
106#[doc(hidden)]
107pub mod extension_license;
108#[doc(hidden)]
109pub mod extension_popularity;
110#[doc(hidden)]
111pub mod extension_preflight;
112#[doc(hidden)]
113pub mod extension_replay;
114#[doc(hidden)]
115pub mod extension_scoring;
116#[doc(hidden)]
117pub mod extension_tools;
118#[doc(hidden)]
119pub mod extension_validation;
120#[doc(hidden)]
121pub mod extensions;
122#[doc(hidden)]
123pub mod extensions_js;
124#[doc(hidden)]
125pub mod flake_classifier;
126#[doc(hidden)]
127pub mod hostcall_amac;
128#[doc(hidden)]
129pub mod hostcall_io_uring_lane;
130#[doc(hidden)]
131pub mod hostcall_queue;
132#[doc(hidden)]
133pub mod hostcall_rewrite;
134#[doc(hidden)]
135pub mod hostcall_s3_fifo;
136#[doc(hidden)]
137pub mod hostcall_superinstructions;
138#[doc(hidden)]
139pub mod hostcall_trace_jit;
140#[doc(hidden)]
141pub mod http;
142#[doc(hidden)]
143pub mod http_shim;
144#[cfg(feature = "tui")]
145#[doc(hidden)]
146pub mod interactive;
147#[doc(hidden)]
148pub mod keybindings;
149#[doc(hidden)]
150pub mod migrations;
151#[doc(hidden)]
152pub mod model;
153#[doc(hidden)]
154pub mod model_routing;
155#[doc(hidden)]
156pub mod model_selector;
157#[doc(hidden)]
158pub mod models;
159#[doc(hidden)]
160pub mod package_manager;
161#[doc(hidden)]
162pub mod perf_build;
163#[doc(hidden)]
164pub mod permissions;
165#[cfg(feature = "wasm-host")]
166#[doc(hidden)]
167pub mod pi_wasm;
168#[doc(hidden)]
169pub mod platform;
170#[doc(hidden)]
171pub mod provider;
172#[doc(hidden)]
173pub mod provider_metadata;
174#[doc(hidden)]
175pub mod providers;
176#[doc(hidden)]
177pub mod resource_governor;
178#[doc(hidden)]
179pub mod resources;
180#[doc(hidden)]
181pub mod rpc;
182#[doc(hidden)]
183pub mod scheduler;
184pub mod sdk;
185#[doc(hidden)]
186pub mod semantic_workspace_graph;
187#[doc(hidden)]
188pub mod session;
189#[doc(hidden)]
190pub mod session_index;
191#[doc(hidden)]
192pub mod session_metrics;
193#[cfg(feature = "tui")]
194#[doc(hidden)]
195pub mod session_picker;
196#[cfg(feature = "sqlite-sessions")]
197#[doc(hidden)]
198pub mod session_sqlite;
199#[doc(hidden)]
200pub mod session_store_v2;
201#[doc(hidden)]
202pub mod sse;
203#[doc(hidden)]
204pub mod swarm_activity_ledger;
205#[doc(hidden)]
206pub mod swarm_flight_recorder;
207#[doc(hidden)]
208pub mod swarm_progress_slo;
209#[doc(hidden)]
210pub mod swarm_replay;
211#[doc(hidden)]
212pub mod terminal_images;
213#[doc(hidden)]
214pub mod theme;
215#[doc(hidden)]
216pub mod tools;
217#[doc(hidden)]
218pub mod tui;
219#[doc(hidden)]
220pub mod validation_broker;
221#[doc(hidden)]
222pub mod vcr;
223#[doc(hidden)]
224pub mod version_check;
225
226pub use error::{Error, Result as PiResult};
227#[doc(hidden)]
228pub use extension_dispatcher::ExtensionDispatcher;
229
230#[cfg(feature = "fuzzing")]
235#[doc(hidden)]
236pub mod fuzz_exports {
237 pub use crate::config::Config;
245 pub use crate::model::{
246 AssistantMessage, ContentBlock, Message, StreamEvent, TextContent, ThinkingContent,
247 ToolCall, ToolResultMessage, Usage, UserContent, UserMessage,
248 };
249 pub use crate::session::{Session, SessionEntry, SessionHeader, SessionMessage};
250 pub use crate::sse::{SseEvent, SseParser};
251 pub use crate::tools::{fuzz_normalize_dot_segments, fuzz_resolve_path};
252
253 pub use crate::providers::anthropic::fuzz::Processor as AnthropicProcessor;
255 pub use crate::providers::azure::fuzz::Processor as AzureProcessor;
256 pub use crate::providers::cohere::fuzz::Processor as CohereProcessor;
257 pub use crate::providers::gemini::fuzz::Processor as GeminiProcessor;
258 pub use crate::providers::openai::fuzz::Processor as OpenAIProcessor;
259 pub use crate::providers::openai_responses::fuzz::Processor as OpenAIResponsesProcessor;
260 pub use crate::providers::vertex::fuzz::Processor as VertexProcessor;
261}