crates/llm-worker-macros/src/lib.rs:257:            pub fn #definition_name(&self) -> ::llm_worker::tool::ToolDefinition {
crates/provider/src/codex_oauth/error.rs:49:    pub fn to_client_error(self) -> ClientError {
crates/session-store/src/system_item.rs:114:pub fn render_pod_event(event: &PodEvent) -> String {
crates/memory/src/tool/read.rs:182:pub fn read_tool(layout: WorkspaceLayout) -> ToolDefinition {
crates/provider/src/codex_oauth/mod.rs:62:    pub fn from_default_home() -> Result<Self, ClientError> {
crates/llm-worker/src/interceptor.rs:97:pub struct ToolCallInfo {
crates/llm-worker/src/interceptor.rs:107:pub struct ToolResultInfo {
crates/memory/src/tool/write.rs:188:pub fn write_tool(layout: WorkspaceLayout) -> ToolDefinition {
crates/session-store/src/lib.rs:69:pub type SessionId = uuid::Uuid;
crates/session-store/src/lib.rs:75:pub fn new_session_id() -> SessionId {
crates/memory/src/tool/query.rs:473:pub fn memory_query_tool(layout: WorkspaceLayout, config: QueryConfig) -> ToolDefinition {
crates/memory/src/tool/query.rs:488:pub fn knowledge_query_tool(layout: WorkspaceLayout, config: QueryConfig) -> ToolDefinition {
crates/session-store/src/pod_metadata.rs:18:pub struct PodActiveSegmentRef {
crates/session-store/src/pod_metadata.rs:26:    pub fn pending_segment(session_id: SessionId) -> Self {
crates/session-store/src/pod_metadata.rs:34:    pub fn active_segment(session_id: SessionId, segment_id: SegmentId) -> Self {
crates/session-store/src/pod_metadata.rs:46:pub struct PodSpawnedScopeRule {
crates/session-store/src/pod_metadata.rs:55:pub struct PodSpawnedChild {
crates/session-store/src/pod_metadata.rs:64:pub struct PodMetadata {
crates/session-store/src/pod_metadata.rs:74:    pub fn new(pod_name: impl Into<String>, active: Option<PodActiveSegmentRef>) -> Self {
crates/session-store/src/pod_metadata.rs:88:pub trait PodMetadataStore: Send + Sync {
crates/memory/src/tool/mod.rs:33:pub enum MemoryToolKind {
crates/session-store/src/segment_log.rs:174:pub struct PodScopeSnapshot {
crates/llm-worker/src/worker.rs:57:pub enum ToolRegistryError {
crates/llm-worker/src/worker.rs:483:    pub fn on_tool_result(&mut self, callback: impl Fn(&ToolResult) + Send + Sync + 'static) {
crates/llm-worker/src/worker.rs:528:    pub fn tool_server_handle(&self) -> ToolServerHandle {
crates/llm-worker/src/worker.rs:1646:    pub fn set_tool_output_limits(&mut self, limits: Option<ToolOutputLimits>) {
crates/memory/src/tool/edit.rs:268:pub fn edit_tool(layout: WorkspaceLayout) -> ToolDefinition {
crates/llm-worker/src/llm_client/transport.rs:98:    pub fn with_http_client(mut self, client: reqwest::Client) -> Self {
crates/memory/src/tool/delete.rs:98:pub fn delete_tool(layout: WorkspaceLayout) -> ToolDefinition {
crates/llm-worker/src/lib.rs:56:pub use callback::{TextBlockScope, ThinkingBlockScope, ToolUseBlockScope};
crates/llm-worker/src/lib.rs:57:pub use handler::ToolUseBlockStart;
crates/llm-worker/src/lib.rs:60:pub use tool::{ToolCall, ToolOutputLimits, ToolResult};
crates/memory/src/scope.rs:19:pub fn deny_write_rules(layout: &WorkspaceLayout) -> Vec<ScopeRule> {
crates/llm-worker/src/llm_client/error.rs:7:pub enum ClientError {
crates/llm-worker/src/llm_client/error.rs:107:pub fn is_retryable(error: &ClientError) -> bool {
crates/llm-worker/src/tool.rs:16:pub enum ToolError {
crates/llm-worker/src/tool.rs:48:pub struct ToolOutputLimits {
crates/llm-worker/src/tool.rs:99:pub struct ToolOutput {
crates/llm-worker/src/tool.rs:135:pub struct ToolMeta {
crates/llm-worker/src/tool.rs:190:pub type ToolDefinition = Arc<dyn Fn() -> (ToolMeta, Arc<dyn Tool>) + Send + Sync>;
crates/llm-worker/src/tool.rs:245:pub trait Tool: Send + Sync {
crates/llm-worker/src/tool.rs:265:pub struct ToolCall {
crates/llm-worker/src/tool.rs:279:pub struct ToolResult {
crates/llm-worker/src/tool.rs:294:    pub fn from_output(tool_use_id: impl Into<String>, output: ToolOutput) -> Self {
crates/memory/src/error.rs:10:pub enum MemoryError {
crates/pod-registry/src/error.rs:11:pub enum ScopeLockError {
crates/llm-worker/src/llm_client/capability.rs:41:pub enum ToolCallingSupport {
crates/llm-worker/src/tool_server.rs:13:pub enum ToolServerError {
crates/llm-worker/src/tool_server.rs:27:pub struct ToolServer {
crates/llm-worker/src/tool_server.rs:39:    pub fn handle(&self) -> ToolServerHandle {
crates/llm-worker/src/tool_server.rs:49:pub struct ToolServerHandle {
crates/llm-worker/src/tool_server.rs:108:    pub fn get_tool(&self, name: &str) -> Option<(ToolMeta, Arc<dyn Tool>)> {
crates/llm-worker/src/tool_server.rs:137:    pub fn unregister(&self, name: &str) -> Result<(), ToolServerError> {
crates/llm-worker/src/tool_server.rs:150:    pub fn replace(&self, factory: WorkerToolDefinition) -> Result<(), ToolServerError> {
crates/pod-registry/src/lifecycle.rs:18:pub struct ScopeAllocationGuard {
crates/pod-registry/src/lifecycle.rs:129:pub fn update_segment(pod_name: &str, new_segment_id: SegmentId) -> Result<(), ScopeLockError> {
crates/pod-registry/src/lifecycle.rs:164:pub fn lookup_segment(segment_id: SegmentId) -> Result<Option<SegmentLockInfo>, ScopeLockError> {
crates/llm-worker/src/callback.rs:191:pub struct ToolUseBlockScope {
crates/llm-worker/src/callback.rs:212:    pub fn on_stop(&mut self, f: impl FnMut(&ToolCall) + Send + Sync + 'static) {
crates/memory/src/lib.rs:21:pub use error::{LintError, LintWarning, MemoryError};
crates/pod-registry/src/lib.rs:28:pub use error::ScopeLockError;
crates/llm-worker/examples/record_test_fixtures/recorder.rs:23:pub struct SessionMetadata {
crates/pod-registry/src/mutate.rs:161:pub fn release_pod(guard: &mut LockFileGuard, pod_name: &str) -> Result<(), ScopeLockError> {
crates/llm-worker/src/timeline/tool_call_collector.rs:30:pub struct ToolCallCollector {
crates/llm-worker/src/timeline/tool_call_collector.rs:44:    pub fn take_collected(&self) -> Vec<ToolCall> {
crates/llm-worker/src/timeline/tool_call_collector.rs:50:    pub fn collected(&self) -> Vec<ToolCall> {
crates/pod-registry/src/conflict.rs:50:pub fn is_within_effective_write(lock: &LockFile, parent: &str, rule: &ScopeRule) -> bool {
crates/memory/src/extract/tool.rs:92:pub fn write_extracted_tool(ctx: Arc<ExtractWorkerContext>) -> ToolDefinition {
crates/llm-worker/src/timeline/mod.rs:23:pub use tool_call_collector::ToolCallCollector;
crates/workflow/src/skill.rs:74:    pub fn into_workflow_record(self, source: WorkflowSource) -> WorkflowRecord {
crates/llm-worker/src/handler.rs:158:pub struct ToolUseBlockKind;
crates/llm-worker/src/handler.rs:165:pub enum ToolUseBlockEvent {
crates/llm-worker/src/handler.rs:173:pub struct ToolUseBlockStart {
crates/llm-worker/src/handler.rs:180:pub struct ToolUseBlockStop {
crates/tui/src/input.rs:63:pub struct WorkflowInvokeAtom {
crates/workflow/src/schema.rs:12:pub struct WorkflowFrontmatter {
crates/workflow/src/schema.rs:45:pub fn split_frontmatter(content: &str) -> Result<(&str, &str), WorkflowLintError> {
crates/client/src/lib.rs:14:pub use pod_client::PodClient;
crates/workflow/src/workflow.rs:29:pub enum WorkflowSource {
crates/workflow/src/workflow.rs:50:pub struct WorkflowRecord {
crates/workflow/src/workflow.rs:93:pub struct WorkflowRegistry {
crates/workflow/src/workflow.rs:110:    pub fn get(&self, slug: &Slug) -> Option<&WorkflowRecord> {
crates/workflow/src/workflow.rs:114:    pub fn iter(&self) -> impl Iterator<Item = &WorkflowRecord> {
crates/workflow/src/workflow.rs:143:    pub fn merge_skill(&mut self, record: WorkflowRecord) -> Option<ShadowedSkill> {
crates/workflow/src/workflow.rs:165:pub enum WorkflowLoadError {
crates/workflow/src/workflow.rs:191:pub fn load_workflows(layout: &WorkspaceLayout) -> Result<WorkflowRegistry, WorkflowLoadError> {
crates/client/src/pod_client.rs:9:pub struct PodClient {
crates/workflow/src/scope.rs:10:pub fn deny_write_rules(layout: &WorkspaceLayout) -> Vec<ScopeRule> {
crates/tui/src/block.rs:98:pub struct ToolCallBlock {
crates/tui/src/block.rs:113:pub enum ToolCallState {
crates/workflow/src/error.rs:10:pub enum WorkflowLintError {
crates/memory/src/workspace.rs:90:    pub fn resolve(cfg: &manifest::MemoryConfig, default_root: &Path) -> Self {
crates/workflow/src/lib.rs:10:pub use error::WorkflowLintError;
crates/workflow/src/lib.rs:12:pub use linter::{WorkflowLintReport, WorkflowLinter};
crates/workflow/src/lib.rs:13:pub use schema::{WorkflowFrontmatter, split_frontmatter};
crates/workflow/src/linter.rs:15:pub struct WorkflowLintReport {
crates/workflow/src/linter.rs:24:    pub fn push_error(&mut self, err: WorkflowLintError) {
crates/workflow/src/linter.rs:30:pub struct WorkflowLinter {
crates/workflow/src/linter.rs:47:    pub fn lint(&self, content: &str) -> WorkflowLintReport {
crates/tui/src/tool.rs:22:pub struct ToolRenderOutput {
crates/tui/src/app.rs:193:    pub fn set_pod_status(&mut self, status: PodStatus) {
crates/tools/src/task.rs:464:pub fn task_tools(store: TaskStore) -> Vec<ToolDefinition> {
crates/tools/src/bash.rs:330:pub fn bash_tool(fs: ScopedFs, output_dir: PathBuf) -> ToolDefinition {
crates/llm-worker/src/llm_client/scheme/openai_chat/events.rs:68:    pub fn parse_event(&self, data: &str) -> Result<Option<Vec<Event>>, ClientError> {
crates/manifest/src/scope.rs:22:pub struct Scope {
crates/manifest/src/scope.rs:37:pub enum ScopeError {
crates/manifest/src/scope.rs:58:    pub fn from_config(config: &ScopeConfig) -> Result<Self, ScopeError> {
crates/manifest/src/scope.rs:151:    pub fn allow_rules(&self) -> Vec<ScopeRule> {
crates/manifest/src/scope.rs:168:    pub fn deny_rules(&self) -> Vec<ScopeRule> {
crates/manifest/src/scope.rs:320:    pub fn new(scope: Scope) -> Self {
crates/manifest/src/scope.rs:331:    pub fn load(&self) -> Guard<Arc<Scope>> {
crates/manifest/src/scope.rs:338:    pub fn snapshot(&self) -> Arc<Scope> {
crates/manifest/src/scope.rs:347:    pub fn update<F>(&self, f: F) -> Result<(), ScopeError>
crates/tools/src/lib.rs:35:pub use error::ToolsError;
crates/tools/src/lib.rs:39:pub use scoped_fs::ScopedFs;
crates/tools/src/tracker.rs:116:    pub fn verify(&self, path: &Path, current_bytes: &[u8]) -> Result<(), ToolsError> {
crates/llm-worker/src/llm_client/types.rs:573:    pub fn tool(mut self, tool: ToolDefinition) -> Self {
crates/llm-worker/src/llm_client/types.rs:638:pub struct ToolDefinition {
crates/tools/src/read.rs:117:pub fn read_tool(fs: ScopedFs, tracker: Tracker) -> ToolDefinition {
crates/tools/src/glob.rs:196:pub fn glob_tool(fs: ScopedFs) -> ToolDefinition {
crates/tools/src/grep.rs:106:pub fn grep_tool(fs: ScopedFs) -> ToolDefinition {
crates/llm-worker/src/llm_client/client.rs:39:pub type ResponseStream = Pin<Box<dyn Stream<Item = Result<Event, ClientError>> + Send>>;
crates/tools/src/write.rs:78:pub fn write_tool(fs: ScopedFs, tracker: Tracker) -> ToolDefinition {
crates/manifest/src/lib.rs:19:pub use protocol::{Permission, ScopeRule};
crates/manifest/src/lib.rs:20:pub use scope::{Scope, ScopeError, SharedScope};
crates/manifest/src/lib.rs:35:pub struct PodManifest {
crates/manifest/src/lib.rs:90:pub struct MemoryConfig {
crates/manifest/src/lib.rs:153:pub struct PodMeta {
crates/manifest/src/lib.rs:223:pub struct ToolOutputLimits {
crates/manifest/src/lib.rs:295:pub struct ScopeConfig {
crates/manifest/src/lib.rs:307:pub struct SessionConfig {
crates/manifest/src/lib.rs:320:pub struct ToolPermissionConfig {
crates/manifest/src/lib.rs:328:pub struct ToolPermissionRule {
crates/manifest/src/lib.rs:341:pub enum ToolPermissionAction {
crates/tools/src/edit.rs:137:pub fn edit_tool(fs: ScopedFs, tracker: Tracker) -> ToolDefinition {
crates/tools/src/error.rs:12:pub enum ToolsError {
crates/tools/src/scoped_fs.rs:34:pub struct ScopedFs {
crates/tools/src/scoped_fs.rs:67:    pub fn new(scope: Scope, pwd: PathBuf) -> Self {
crates/tools/src/scoped_fs.rs:83:    pub fn scope(&self) -> Arc<Scope> {
crates/tools/src/scoped_fs.rs:108:    pub fn read_bytes(&self, path: &Path) -> Result<Vec<u8>, ToolsError> {
crates/tools/src/scoped_fs.rs:160:    pub fn write(&self, path: &Path, content: &[u8]) -> Result<WriteOutcome, ToolsError> {
crates/manifest/src/config.rs:28:pub struct PodManifestConfig {
crates/manifest/src/config.rs:58:pub struct PodMetaConfig {
crates/manifest/src/config.rs:95:pub struct ToolOutputLimitsPartial {
crates/manifest/src/config.rs:109:pub struct SessionConfigPartial {
crates/manifest/src/config.rs:282:    pub fn merge(self, upper: PodManifestConfig) -> Self {
crates/pod/src/controller.rs:34:pub struct PodHandle {
crates/pod/src/controller.rs:130:pub struct PodController;
crates/protocol/src/lib.rs:77:pub enum PodEvent {
crates/protocol/src/lib.rs:492:pub struct MemoryWorkerEvent {
crates/protocol/src/lib.rs:575:pub enum PodStatus {
crates/protocol/src/lib.rs:649:pub struct ScopeRule {
crates/manifest/src/cascade.rs:63:pub fn load_layer(path: &Path) -> Result<PodManifestConfig, LayerLoadError> {
crates/pod/src/ipc/event.rs:46:pub fn fire_and_forget(socket: Option<PathBuf>, event: PodEvent) {
crates/pod/src/ipc/event.rs:60:pub fn render_event(event: &PodEvent) -> String {
crates/pod/src/lib.rs:20:pub use controller::{PodController, PodHandle, ShutdownReceiver};
crates/pod/src/lib.rs:21:pub use factory::{FactoryError, PodFactory};
crates/pod/src/lib.rs:28:pub use pod::{Pod, PodError, PodRunResult, apply_worker_manifest};
crates/pod/src/lib.rs:29:pub use prompt::catalog::{CatalogError, PodPrompt, PromptCatalog};
crates/pod/src/lib.rs:32:pub use protocol::{ErrorCode, Event, Method, PodStatus, TurnResult};
crates/pod/src/lib.rs:36:pub use shared_state::PodSharedState;
crates/pod/src/ipc/notify_buffer.rs:68:    pub fn push_pod_event(&self, event: PodEvent) {
crates/pod/src/shared_state.rs:10:pub struct WorkflowCandidate {
crates/pod/src/shared_state.rs:29:pub struct PodSharedState {
crates/pod/src/shared_state.rs:67:    pub fn set_fs_view(&self, view: PodFsView) {
crates/pod/src/shared_state.rs:73:    pub fn fs_view(&self) -> Option<&PodFsView> {
crates/pod/src/shared_state.rs:77:    pub fn set_workflows(&self, workflows: Vec<WorkflowCandidate>) {
crates/pod/src/shared_state.rs:81:    pub fn list_workflow_completions(&self, prefix: &str) -> Vec<WorkflowCandidate> {
crates/pod/src/shared_state.rs:111:    pub fn set_status(&self, status: PodStatus) {
crates/pod/src/shared_state.rs:117:    pub fn get_status(&self) -> PodStatus {
crates/pod/src/pod.rs:86:    pub fn new(session_id: SessionId, segment_id: SegmentId, entries_written: usize) -> Arc<Self> {
crates/pod/src/pod.rs:100:    pub fn session_id(&self) -> SessionId {
crates/pod/src/pod.rs:222:pub struct Pod<C: LlmClient, St: Store> {
crates/pod/src/pod.rs:690:    pub fn session_id(&self) -> SessionId {
crates/pod/src/pod.rs:695:    pub fn manifest(&self) -> &PodManifest {
crates/pod/src/pod.rs:713:    pub fn scope_snapshot(&self) -> Arc<Scope> {
crates/pod/src/pod.rs:791:    pub fn scope_change_sink(&self) -> Arc<dyn Fn(PodScopeSnapshot) + Send + Sync> {
crates/pod/src/pod.rs:1056:    pub fn push_pod_event_notify(&self, event: protocol::PodEvent) {
crates/pod/src/pod.rs:4061:pub enum PodRunResult {
crates/pod/src/pod.rs:4332:pub enum PodError {
crates/pod/src/discovery.rs:33:pub struct PodDiscovery<St> {
crates/pod/src/discovery.rs:368:pub enum PodStateStatus {
crates/pod/src/discovery.rs:441:pub struct PodDetail {
crates/pod/src/discovery.rs:482:pub enum PodDiscoveryError {
crates/pod/src/discovery.rs:678:pub fn list_visible_pods_tool<St>(discovery: PodDiscovery<St>) -> ToolDefinition
crates/pod/src/discovery.rs:699:pub fn inspect_pod_tool<St>(discovery: PodDiscovery<St>) -> ToolDefinition
crates/pod/src/discovery.rs:716:pub fn attach_or_restore_pod_tool<St>(discovery: PodDiscovery<St>) -> ToolDefinition
crates/pod/src/factory.rs:76:pub struct PodFactory {
crates/pod/src/factory.rs:189:    pub fn with_overlay_config(mut self, config: PodManifestConfig) -> Result<Self, FactoryError> {
crates/pod/src/factory.rs:241:    pub fn resolve(self) -> Result<(PodManifest, PromptLoader), FactoryError> {
crates/pod/src/hook.rs:75:pub struct ToolCallSummary {
crates/pod/src/hook.rs:90:pub struct ToolResultSummary {
crates/pod/src/fs_view.rs:40:pub struct PodFsView {
crates/pod/src/fs_view.rs:77:    pub fn new(fs: ScopedFs) -> Self {
crates/pod/src/fs_view.rs:81:    pub fn fs(&self) -> &ScopedFs {
crates/pod/src/workflow/mod.rs:17:pub enum WorkflowResolveError {
crates/pod/src/prompt/catalog.rs:61:pub enum PodPrompt {
crates/pod/src/prompt/catalog.rs:303:    pub fn render(&self, prompt: PodPrompt, ctx: Value) -> Result<String, CatalogError> {
crates/pod/src/spawn/comm_tools.rs:94:pub fn send_to_pod_tool(registry: Arc<SpawnedPodRegistry>) -> ToolDefinition {
crates/pod/src/spawn/comm_tools.rs:169:pub fn read_pod_output_tool(registry: Arc<SpawnedPodRegistry>) -> ToolDefinition {
crates/pod/src/spawn/comm_tools.rs:229:pub fn stop_pod_tool(registry: Arc<SpawnedPodRegistry>) -> ToolDefinition {
crates/pod/src/spawn/comm_tools.rs:299:pub fn list_pods_tool(registry: Arc<SpawnedPodRegistry>) -> ToolDefinition {
