SYMBOL INDEX (5847 symbols across 170 files) FILE: .pi/extensions/test-extensibility.ts method execute (line 33) | async execute(_toolCallId, params, onUpdate, _ctx, _signal) { FILE: bench/ffi_host_boundary/src/bin/rust_boundary_bench.rs type BenchResult (line 6) | struct BenchResult { function finish (line 13) | fn finish(label: &'static str, iterations: u64, start: u64, acc: u64) ->... function bench_inline_add (line 24) | fn bench_inline_add(iterations: u64) -> BenchResult { function bench_fn_add (line 33) | fn bench_fn_add(iterations: u64) -> BenchResult { function bench_extern_add (line 42) | fn bench_extern_add(iterations: u64) -> BenchResult { function bench_noop (line 51) | fn bench_noop(iterations: u64) -> BenchResult { function parse_iters (line 60) | fn parse_iters() -> u64 { function print_result (line 76) | fn print_result(result: &BenchResult) { function main (line 83) | fn main() { FILE: bench/ffi_host_boundary/src/lib.rs function flow_host_now_ns (line 5) | pub extern "C" fn flow_host_now_ns() -> u64 { function flow_host_noop (line 11) | pub extern "C" fn flow_host_noop(x: u64) -> u64 { function flow_host_add_u64 (line 17) | pub extern "C" fn flow_host_add_u64(a: u64, b: u64) -> u64 { function flow_host_bench_iterations (line 22) | pub extern "C" fn flow_host_bench_iterations() -> u64 { function rust_inline_add (line 31) | pub fn rust_inline_add(a: u64, b: u64) -> u64 { function rust_fn_add (line 36) | pub fn rust_fn_add(a: u64, b: u64) -> u64 { function monotonic_now_ns (line 40) | pub fn monotonic_now_ns() -> u64 { FILE: build.rs function main (line 6) | fn main() { FILE: crates/flow_commit_scan/src/lib.rs type SecretFinding (line 7) | pub type SecretFinding = (String, usize, String, String); constant SECRET_PATTERNS (line 11) | const SECRET_PATTERNS: &[(&str, &str)] = &[ function compiled_secret_patterns (line 89) | fn compiled_secret_patterns() -> &'static Vec<(&'static str, Regex)> { constant SECRET_SCAN_IGNORE_MARKERS (line 99) | const SECRET_SCAN_IGNORE_MARKERS: &[&str] = &[ function should_ignore_secret_scan_line (line 106) | fn should_ignore_secret_scan_line(content: &str) -> bool { function extract_first_quoted_value (line 113) | fn extract_first_quoted_value(s: &str) -> Option<&str> { function looks_like_identifier_reference (line 122) | fn looks_like_identifier_reference(value: &str) -> bool { function looks_like_secret_lookup (line 131) | fn looks_like_secret_lookup(value: &str) -> bool { function generic_secret_assignment_is_false_positive (line 163) | fn generic_secret_assignment_is_false_positive(content: &str, matched: &... function scan_diff_for_secrets (line 198) | pub fn scan_diff_for_secrets(repo_root: &Path) -> Vec { FILE: crates/opentui-lite/src/lib.rs type Error (line 7) | pub struct Error { method new (line 12) | fn new(message: impl Into) -> Self { method fmt (line 20) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Result (line 27) | pub type Result = std::result::Result; type Color (line 31) | pub struct Color { method rgba (line 39) | pub const fn rgba(r: f32, g: f32, b: f32, a: f32) -> Self { method rgb (line 43) | pub const fn rgb(r: f32, g: f32, b: f32) -> Self { constant ATTR_NONE (line 48) | pub const ATTR_NONE: u32 = 0; constant ATTR_BOLD (line 49) | pub const ATTR_BOLD: u32 = 1 << 0; constant ATTR_DIM (line 50) | pub const ATTR_DIM: u32 = 1 << 1; constant ATTR_ITALIC (line 51) | pub const ATTR_ITALIC: u32 = 1 << 2; constant ATTR_UNDERLINE (line 52) | pub const ATTR_UNDERLINE: u32 = 1 << 3; constant ATTR_BLINK (line 53) | pub const ATTR_BLINK: u32 = 1 << 4; constant ATTR_INVERSE (line 54) | pub const ATTR_INVERSE: u32 = 1 << 5; constant ATTR_HIDDEN (line 55) | pub const ATTR_HIDDEN: u32 = 1 << 6; constant ATTR_STRIKETHROUGH (line 56) | pub const ATTR_STRIKETHROUGH: u32 = 1 << 7; constant BORDER_SIMPLE (line 58) | pub const BORDER_SIMPLE: [u32; 11] = [ type RendererPtr (line 63) | type RendererPtr = *mut std::ffi::c_void; type BufferPtr (line 64) | type BufferPtr = *mut std::ffi::c_void; type FnCreateRenderer (line 66) | type FnCreateRenderer = unsafe extern "C" fn(u32, u32, bool) -> Renderer... type FnDestroyRenderer (line 67) | type FnDestroyRenderer = unsafe extern "C" fn(RendererPtr); type FnSetupTerminal (line 68) | type FnSetupTerminal = unsafe extern "C" fn(RendererPtr, bool); type FnSuspendRenderer (line 69) | type FnSuspendRenderer = unsafe extern "C" fn(RendererPtr); type FnRender (line 70) | type FnRender = unsafe extern "C" fn(RendererPtr, bool); type FnClearTerminal (line 71) | type FnClearTerminal = unsafe extern "C" fn(RendererPtr); type FnResizeRenderer (line 72) | type FnResizeRenderer = unsafe extern "C" fn(RendererPtr, u32, u32); type FnGetNextBuffer (line 73) | type FnGetNextBuffer = unsafe extern "C" fn(RendererPtr) -> BufferPtr; type FnGetCurrentBuffer (line 74) | type FnGetCurrentBuffer = unsafe extern "C" fn(RendererPtr) -> BufferPtr; type FnBufferClear (line 75) | type FnBufferClear = unsafe extern "C" fn(BufferPtr, *const f32); type FnBufferDrawText (line 76) | type FnBufferDrawText = type FnBufferFillRect (line 78) | type FnBufferFillRect = unsafe extern "C" fn(BufferPtr, u32, u32, u32, u... type FnBufferDrawBox (line 79) | type FnBufferDrawBox = unsafe extern "C" fn( type OpenTui (line 94) | pub struct OpenTui { method load (line 131) | pub fn load() -> Result { method path (line 155) | pub fn path(&self) -> &str { method create_renderer (line 159) | pub fn create_renderer(&self, width: u32, height: u32, testing: bool) ... type Inner (line 98) | struct Inner { type Fns (line 104) | struct Fns { method drop (line 121) | fn drop(&mut self) { type Renderer (line 171) | pub struct Renderer { method setup_terminal (line 177) | pub fn setup_terminal(&self, use_alternate_screen: bool) { method suspend (line 181) | pub fn suspend(&self) { method clear_terminal (line 185) | pub fn clear_terminal(&self) { method resize (line 189) | pub fn resize(&self, width: u32, height: u32) { method render (line 193) | pub fn render(&self, force: bool) { method next_buffer (line 197) | pub fn next_buffer(&self) -> Buffer { method current_buffer (line 205) | pub fn current_buffer(&self) -> Buffer { method drop (line 215) | fn drop(&mut self) { type Buffer (line 222) | pub struct Buffer { method clear (line 228) | pub fn clear(&self, bg: Color) { method fill_rect (line 232) | pub fn fill_rect(&self, x: u32, y: u32, width: u32, height: u32, bg: C... method draw_text (line 245) | pub fn draw_text(&self, text: &str, x: u32, y: u32, fg: Color, bg: Opt... method draw_box (line 264) | pub fn draw_box( function load_library (line 298) | fn load_library() -> Result<(*mut std::ffi::c_void, String)> { function candidate_paths (line 315) | fn candidate_paths() -> Vec { function zig_target_dir (line 348) | fn zig_target_dir() -> Option<&'static str> { function lib_filename (line 358) | fn lib_filename() -> &'static str { function try_dlopen (line 368) | fn try_dlopen(path: &Path) -> Result<*mut std::ffi::c_void> { function path_to_cstring (line 379) | fn path_to_cstring(path: &Path) -> Result { function load_symbol (line 392) | unsafe fn load_symbol(lib: *mut std::ffi::c_void, symbol: &str) -> Re... function dl_error_string (line 401) | fn dl_error_string() -> String { function dlopen (line 412) | fn dlopen(path: *const libc::c_char, mode: libc::c_int) -> *mut std::ffi... function dlsym (line 413) | fn dlsym(handle: *mut std::ffi::c_void, symbol: *const libc::c_char) -> ... function dlclose (line 414) | fn dlclose(handle: *mut std::ffi::c_void) -> libc::c_int; function dlerror (line 415) | fn dlerror() -> *const libc::c_char; FILE: crates/seq_client/src/lib.rs constant DEFAULT_SOCKET_PATH (line 10) | const DEFAULT_SOCKET_PATH: &str = "/tmp/seqd.sock"; constant MAX_RESPONSE_BYTES (line 11) | const MAX_RESPONSE_BYTES: usize = 1024 * 1024; type SeqClientError (line 14) | pub enum SeqClientError { type RpcRequest (line 26) | pub struct RpcRequest { method new (line 39) | pub fn new(op: impl Into) -> Self { method with_request_id (line 46) | pub fn with_request_id(mut self, request_id: impl Into) -> Self { method with_run_id (line 51) | pub fn with_run_id(mut self, run_id: impl Into) -> Self { method with_tool_call_id (line 56) | pub fn with_tool_call_id(mut self, tool_call_id: impl Into) ->... method with_args_json (line 61) | pub fn with_args_json(mut self, args: Value) -> Self { method with_args (line 66) | pub fn with_args(mut self, args: &T) -> Result Result { method connect (line 101) | pub fn connect(path: impl AsRef) -> Result { method connect_with_timeout (line 109) | pub fn connect_with_timeout( method socket_path (line 122) | pub fn socket_path(&self) -> &Path { method call (line 126) | pub fn call(&self, request: RpcRequest) -> Result Result Result { method app_state (line 154) | pub fn app_state(&self) -> Result { method perf (line 158) | pub fn perf(&self) -> Result { method open_app (line 162) | pub fn open_app(&self, name: &str) -> Result Result Result Result Result Result Result Result Result) -> Result Resul... function read_response_line (line 218) | fn read_response_line(stream: &mut UnixStream) -> Result, SeqCli... function test_socket_path (line 255) | fn test_socket_path(tag: &str) -> PathBuf { function call_roundtrip_ping (line 267) | fn call_roundtrip_ping() { function call_ok_surfaces_remote_error (line 304) | fn call_ok_surfaces_remote_error() { FILE: crates/seq_everruns_bridge/src/lib.rs type ToolCall (line 10) | pub struct ToolCall { type ToolResult (line 18) | pub struct ToolResult { type ToolCallRequestedData (line 27) | pub struct ToolCallRequestedData { type BridgeError (line 32) | pub enum BridgeError { function parse_tool_call_requested (line 37) | pub fn parse_tool_call_requested(data: &Value) -> Result, ... function execute_tool_call (line 42) | pub fn execute_tool_call( function execute_tool_call_with_maple (line 51) | pub fn execute_tool_call_with_maple( function build_request (line 122) | pub fn build_request( function map_tool_name_to_seq_op (line 142) | pub fn map_tool_name_to_seq_op(tool_name: &str) -> Option<&'static str> { function client_side_tool_definitions (line 170) | pub fn client_side_tool_definitions() -> Vec { function client_tool (line 289) | fn client_tool(name: &str, description: &str, parameters: Value) -> Value { function unix_time_nanos_now (line 298) | fn unix_time_nanos_now() -> u64 { function maps_supported_tool_names (line 310) | fn maps_supported_tool_names() { function builds_request_with_correlation_ids (line 319) | fn builds_request_with_correlation_ids() { function emits_expected_tool_catalog (line 335) | fn emits_expected_tool_catalog() { function parse_tool_call_requested_payload (line 347) | fn parse_tool_call_requested_payload() { function unsupported_tool_returns_error_result (line 362) | fn unsupported_tool_returns_error_result() { function bridge_error_is_displayable (line 387) | fn bridge_error_is_displayable() { FILE: crates/seq_everruns_bridge/src/maple.rs constant DEFAULT_SCOPE_NAME (line 10) | const DEFAULT_SCOPE_NAME: &str = "seq_everruns_bridge"; constant DEFAULT_SERVICE_NAME (line 11) | const DEFAULT_SERVICE_NAME: &str = "seq-everruns-bridge"; constant DEFAULT_ENV (line 12) | const DEFAULT_ENV: &str = "local"; constant DEFAULT_QUEUE_CAPACITY (line 13) | const DEFAULT_QUEUE_CAPACITY: usize = 4096; constant DEFAULT_MAX_BATCH_SIZE (line 14) | const DEFAULT_MAX_BATCH_SIZE: usize = 128; constant DEFAULT_FLUSH_INTERVAL_MS (line 15) | const DEFAULT_FLUSH_INTERVAL_MS: u64 = 50; constant DEFAULT_CONNECT_TIMEOUT_MS (line 16) | const DEFAULT_CONNECT_TIMEOUT_MS: u64 = 400; constant DEFAULT_REQUEST_TIMEOUT_MS (line 17) | const DEFAULT_REQUEST_TIMEOUT_MS: u64 = 800; type MapleIngestTarget (line 20) | pub struct MapleIngestTarget { type MapleExporterConfig (line 26) | pub struct MapleExporterConfig { method from_env (line 40) | pub fn from_env() -> Result, MapleConfigError> { method default (line 97) | fn default() -> Self { type MapleConfigError (line 114) | pub enum MapleConfigError { type MapleSpan (line 122) | pub struct MapleSpan { method for_runtime_event (line 136) | pub fn for_runtime_event( method for_tool_call (line 172) | pub fn for_tool_call( type MapleExporterStats (line 218) | pub struct MapleExporterStats { type MapleExporterStatsAtomic (line 226) | struct MapleExporterStatsAtomic { type WorkerTarget (line 233) | struct WorkerTarget { type MapleTraceExporter (line 239) | pub struct MapleTraceExporter { method from_env (line 245) | pub fn from_env() -> Result, MapleConfigError> { method new (line 252) | pub fn new(config: MapleExporterConfig) -> Self { method emit_span (line 260) | pub fn emit_span(&self, span: MapleSpan) { method stats (line 268) | pub fn stats(&self) -> MapleExporterStats { function worker_main (line 278) | fn worker_main( function flush_batch (line 327) | fn flush_batch( function build_resource_attrs (line 374) | fn build_resource_attrs(config: &MapleExporterConfig) -> Vec { function encode_span (line 387) | fn encode_span(span: &MapleSpan) -> Value { function otlp_string_attr (line 408) | fn otlp_string_attr(key: &str, value: &str) -> Value { function parse_targets_from_env (line 415) | fn parse_targets_from_env() -> Result, MapleConfi... function split_csv_env (line 476) | fn split_csv_env(key: &str) -> Vec { function dedup_targets (line 483) | fn dedup_targets(targets: Vec) -> Vec Option { function env_u64 (line 503) | fn env_u64(key: &str) -> Option { function non_empty (line 509) | fn non_empty(s: impl AsRef) -> Option { function stable_trace_id (line 518) | pub fn stable_trace_id(session_id: &str, event_id: &str) -> String { function stable_span_id (line 524) | pub fn stable_span_id(seed: &str) -> String { function fnv1a64 (line 528) | fn fnv1a64(data: &[u8]) -> u64 { function unset_maple_envs (line 547) | fn unset_maple_envs() { function stable_ids_have_expected_length (line 571) | fn stable_ids_have_expected_length() { function reads_dual_target_env_config (line 579) | fn reads_dual_target_env_config() { function csv_target_env_mismatch_returns_error (line 609) | fn csv_target_env_mismatch_returns_error() { function incomplete_local_pair_returns_error (line 627) | fn incomplete_local_pair_returns_error() { function exporter_sends_span_to_ingest_endpoint (line 646) | fn exporter_sends_span_to_ingest_endpoint() { FILE: flow.py function demo_single (line 24) | def demo_single(task: str, model: str = "gpt-4o-mini"): function demo_sequential (line 42) | def demo_sequential(task: str, model: str = "gpt-4o-mini"): function demo_concurrent (line 78) | def demo_concurrent(task: str, model: str = "gpt-4o-mini"): function demo_hierarchical (line 116) | def demo_hierarchical(task: str, model: str = "gpt-4o-mini"): function demo_rearrange (line 157) | def demo_rearrange(task: str, model: str = "gpt-4o-mini"): function demo_chat (line 206) | def demo_chat(topic: str, model: str = "gpt-4o-mini", rounds: int = 3): function demo_auto (line 247) | def demo_auto(task: str, model: str = "gpt-4o-mini"): function main (line 273) | def main(): FILE: scripts/ai-taskd-launchd.py function run (line 14) | def run(cmd: list[str]) -> subprocess.CompletedProcess: function resolve_f_bin (line 18) | def resolve_f_bin(repo_root: Path) -> str: function plist_path (line 34) | def plist_path() -> Path: function domain_target (line 38) | def domain_target() -> str: function install (line 42) | def install(repo_root: Path) -> int: function uninstall (line 76) | def uninstall() -> int: function status (line 86) | def status() -> int: function logs (line 97) | def logs(lines: int) -> int: function main (line 112) | def main() -> int: FILE: scripts/bench-ai-runtime.py function run_cmd (line 15) | def run_cmd(cmd: List[str], cwd: Path, env: Dict[str, str] | None = None... function pct (line 29) | def pct(values_us: List[float], p: float) -> float: function summarize (line 38) | def summarize(values_us: List[float]) -> Dict[str, float]: function benchmark_command (line 50) | def benchmark_command( function find_flow_bin (line 76) | def find_flow_bin(repo: Path, flow_bin: str | None) -> str: function find_ai_taskd_client_bin (line 86) | def find_ai_taskd_client_bin(repo: Path) -> str | None: function ensure_cached_binary (line 96) | def ensure_cached_binary(repo: Path, flow_bin: str) -> str: function main (line 111) | def main() -> int: FILE: scripts/bench-cli-startup.py function pct (line 13) | def pct(values_ms: List[float], p: float) -> float: function summarize (line 22) | def summarize(values_ms: List[float]) -> Dict[str, float]: function run_cmd (line 34) | def run_cmd( function benchmark_command (line 52) | def benchmark_command( function find_flow_bin (line 86) | def find_flow_bin(repo: Path, flow_bin: str | None) -> str: function main (line 95) | def main() -> int: FILE: scripts/bench-moonbit-rust-ffi.py function run (line 11) | def run(cmd, cwd: Path, env: Dict[str, str] | None = None) -> subprocess... function parse_metrics (line 18) | def parse_metrics(text: str) -> Dict[str, Dict[str, float]]: function write_moon_pkg (line 37) | def write_moon_pkg(moon_dir: Path, rust_lib_dir: Path, cc_flags: str) ->... function main (line 44) | def main() -> int: FILE: scripts/build_rl_runtime_dataset.py class DatasetRow (line 35) | class DatasetRow: function _read_jsonl (line 46) | def _read_jsonl(path: Path, *, last: int = 0) -> list[dict[str, Any]]: function _now_stamp (line 66) | def _now_stamp() -> str: function _hash_id (line 70) | def _hash_id(parts: list[str]) -> str: function _bucket (line 75) | def _bucket(row_id: str, seed: int) -> int: function _as_int (line 80) | def _as_int(value: Any, default: int = 0) -> int: function _sanitize_text (line 90) | def _sanitize_text(value: Any) -> str: function _extract_captured_text (line 98) | def _extract_captured_text(value: Any) -> str: function _reward_components (line 107) | def _reward_components(success: bool, duration_ms: int) -> tuple[float, ... function _normalize_flow (line 115) | def _normalize_flow(rows: list[dict[str, Any]]) -> list[DatasetRow]: function _normalize_seq (line 226) | def _normalize_seq(rows: list[dict[str, Any]]) -> list[DatasetRow]: function _cap_by_event (line 358) | def _cap_by_event(rows: list[DatasetRow], *, max_per_event: int, seed: i... function _write_jsonl (line 380) | def _write_jsonl(path: Path, rows: list[dict[str, Any]]) -> None: function _build_report (line 388) | def _build_report( function main (line 455) | def main() -> int: FILE: scripts/check_cli_startup_thresholds.py function main (line 9) | def main() -> int: FILE: scripts/check_release_tag_version.py function read_package_version (line 9) | def read_package_version(cargo_toml: pathlib.Path) -> str: function main (line 25) | def main(argv: list[str]) -> int: FILE: scripts/ci_blacksmith.py function rewrite_workflow (line 45) | def rewrite_workflow(path: Path, mode: str) -> bool: function detect_profile (line 114) | def detect_profile(path: Path) -> str: function status (line 127) | def status() -> int: function run_cmd (line 140) | def run_cmd(args: list[str]) -> None: function has_staged_workflow_changes (line 144) | def has_staged_workflow_changes() -> bool: function maybe_commit_and_push (line 153) | def maybe_commit_and_push(mode: str, commit: bool, push: bool) -> int: function set_mode (line 176) | def set_mode(mode: str, commit: bool, push: bool) -> int: function main (line 195) | def main() -> int: FILE: scripts/ci_host_runner.py class HostTriplet (line 32) | class HostTriplet: function run_capture (line 38) | def run_capture(args: list[str], cwd: str | None = None) -> str: function run_stream (line 50) | def run_stream(args: list[str], *, input_text: str | None = None) -> None: function load_host_triplet (line 54) | def load_host_triplet() -> HostTriplet: function gh_api (line 64) | def gh_api(path: str, *, method: str = "GET", jq: str | None = None) -> ... function gh_api_json (line 74) | def gh_api_json(path: str, *, method: str = "GET") -> dict: function ssh_script (line 79) | def ssh_script(host: HostTriplet, script: str) -> None: function ssh_capture (line 96) | def ssh_capture(host: HostTriplet, script: str) -> str: function shell_assign (line 121) | def shell_assign(name: str, value: str) -> str: function default_runner_name (line 125) | def default_runner_name(host: HostTriplet) -> str: function github_runner_state (line 130) | def github_runner_state(repo: str, runner_name: str) -> tuple[str, bool ... function host_service_state (line 138) | def host_service_state(host: HostTriplet) -> str: function cmd_status (line 155) | def cmd_status(args: argparse.Namespace) -> int: function cmd_health (line 183) | def cmd_health(args: argparse.Namespace) -> int: function cmd_wait_online (line 195) | def cmd_wait_online(args: argparse.Namespace) -> int: function cmd_install (line 219) | def cmd_install(args: argparse.Namespace) -> int: function cmd_remove (line 322) | def cmd_remove(args: argparse.Namespace) -> int: function build_parser (line 384) | def build_parser() -> argparse.ArgumentParser: function main (line 419) | def main() -> int: FILE: scripts/codex-skill-eval-launchd.py function run (line 14) | def run(cmd: list[str]) -> subprocess.CompletedProcess: function resolve_f_bin (line 18) | def resolve_f_bin(repo_root: Path) -> str: function plist_path (line 34) | def plist_path() -> Path: function domain_target (line 38) | def domain_target() -> str: function log_dir (line 42) | def log_dir() -> Path: function install (line 48) | def install( function uninstall (line 117) | def uninstall() -> int: function status (line 127) | def status() -> int: function logs (line 138) | def logs(lines: int) -> int: function main (line 152) | def main() -> int: FILE: scripts/codex_fork.py function env_path (line 14) | def env_path(name: str, default: Path) -> Path: function fail (line 51) | def fail(message: str, code: int = 1) -> int: function run (line 56) | def run( function capture (line 77) | def capture(cmd: list[str], *, cwd: Path | None = None, check: bool = Tr... function ensure_repo (line 82) | def ensure_repo(path: Path, label: str) -> None: function ensure_state_dir (line 95) | def ensure_state_dir() -> None: function read_last_worktree (line 99) | def read_last_worktree() -> Path | None: function write_last_worktree (line 108) | def write_last_worktree(path: Path) -> None: function slugify (line 113) | def slugify(text: str) -> str: function branch_to_worktree_name (line 121) | def branch_to_worktree_name(branch: str) -> str: function git_ref_exists (line 125) | def git_ref_exists(repo: Path, ref: str) -> bool: function git_branch_exists (line 134) | def git_branch_exists(repo: Path, branch: str) -> bool: function git_current_branch (line 138) | def git_current_branch(repo: Path) -> str: function git_rev (line 145) | def git_rev(repo: Path, ref: str) -> str | None: function worktree_entries (line 152) | def worktree_entries(repo: Path) -> list[dict[str, str]]: function worktree_for_branch (line 176) | def worktree_for_branch(repo: Path, branch: str) -> Path | None: function branch_from_target (line 183) | def branch_from_target(target: str) -> str: function default_worktree_path (line 189) | def default_worktree_path(branch: str) -> Path: function ensure_task_worktree (line 193) | def ensure_task_worktree(branch: str, path: Path, base: str) -> tuple[Pa... function build_prompt (line 212) | def build_prompt(query: str, branch: str, worktree: Path, base: str) -> ... function launch_codex_new (line 228) | def launch_codex_new(worktree: Path, prompt: str) -> int: function launch_codex_resume_last (line 241) | def launch_codex_resume_last(worktree: Path, prompt: str | None = None) ... function print_next_commands (line 255) | def print_next_commands(worktree: Path, branch: str, prompt: str) -> None: function cmd_status (line 277) | def cmd_status(_args: argparse.Namespace) -> int: function cmd_sync (line 322) | def cmd_sync(args: argparse.Namespace) -> int: function cmd_task (line 351) | def cmd_task(args: argparse.Namespace) -> int: function resolve_target_worktree (line 377) | def resolve_target_worktree(target: str | None) -> Path: function cmd_last (line 396) | def cmd_last(args: argparse.Namespace) -> int: function review_branch_for (line 405) | def review_branch_for(source_branch: str) -> str: function cmd_promote (line 414) | def cmd_promote(args: argparse.Namespace) -> int: function build_parser (line 432) | def build_parser() -> argparse.ArgumentParser: function main (line 516) | def main() -> int: FILE: scripts/deps_check.py function run_json (line 15) | def run_json(cmd: list[str], *, cwd: Path) -> Any: function fetch_latest (line 30) | def fetch_latest(crate: str, cache: dict[str, str]) -> str: function load_vendor_rows (line 59) | def load_vendor_rows(repo_root: Path) -> list[dict[str, Any]]: function load_direct_rows (line 65) | def load_direct_rows(repo_root: Path) -> list[dict[str, Any]]: function print_rows (line 115) | def print_rows(title: str, rows: list[dict[str, Any]], *, include_kinds:... function main (line 129) | def main() -> int: FILE: scripts/generate_help_full_json.py function main (line 10) | def main() -> int: FILE: scripts/rl_signal_summary.py function percentile (line 12) | def percentile(sorted_values: list[int], pct: float) -> int: function main (line 19) | def main() -> int: FILE: scripts/run-health-checks.mjs function resolveDefaultBaseUrl (line 92) | function resolveDefaultBaseUrl(configValue) { function resolveBaseUrl (line 99) | function resolveBaseUrl(check, fallback, required = true) { function resolveTimeoutMs (line 108) | function resolveTimeoutMs(check, fallback) { function expandEnv (line 112) | function expandEnv(value) { function runHttpCheck (line 123) | async function runHttpCheck(check, { baseUrl, timeoutMs }) { function runGiteditShareCheck (line 158) | async function runGiteditShareCheck(check, { baseUrl, timeoutMs }) { function resolveCommitSha (line 218) | function resolveCommitSha(ref) { function buildSharePayload (line 229) | function buildSharePayload({ owner, repo, commitSha }) { function encodeSharePayload (line 250) | function encodeSharePayload(payload) { function normalizeStatuses (line 257) | function normalizeStatuses(value) { function normalizeContains (line 265) | function normalizeContains(value) { function resolveUrl (line 271) | function resolveUrl(url, baseUrl) { function fetchWithTimeout (line 279) | async function fetchWithTimeout(url, options, timeoutMs) { FILE: scripts/vendor/bench_iteration.py class BenchRow (line 20) | class BenchRow: function utc_now (line 30) | def utc_now() -> str: function git_head (line 34) | def git_head(project: Path) -> str: function read_jsonl (line 45) | def read_jsonl(path: Path) -> list[dict]: function append_jsonl (line 60) | def append_jsonl(path: Path, rows: list[BenchRow]) -> None: function run_cmd (line 67) | def run_cmd(project: Path, cmd: str) -> float: function run_sample (line 76) | def run_sample(project: Path, mode: Mode, cmd: str) -> float: function summarize (line 82) | def summarize(values: list[float]) -> dict[str, float]: function main (line 92) | def main() -> None: FILE: scripts/vendor/rough_edges_audit.py class Finding (line 23) | class Finding: function load_toml (line 30) | def load_toml(path: Path) -> dict[str, Any]: function read_manifest_crate (line 35) | def read_manifest_crate(path: Path) -> str: function list_lock_crates (line 44) | def list_lock_crates(vendor_lock: dict[str, Any]) -> list[dict[str, str]]: function read_patch_paths (line 63) | def read_patch_paths(cargo_toml: dict[str, Any]) -> dict[str, str]: function latest_mtime (line 80) | def latest_mtime(paths: list[Path]) -> float: function check_warning_hygiene (line 89) | def check_warning_hygiene(project: Path) -> list[Finding]: function build_report (line 172) | def build_report(project: Path) -> tuple[dict[str, Any], list[Finding]]: function print_text (line 495) | def print_text(metrics: dict[str, Any], findings: list[Finding]) -> None: function main (line 519) | def main() -> None: FILE: scripts/vendor/typesense_code_index.py function env_first (line 28) | def env_first(*names: str, default: str) -> str: class SourceEntry (line 93) | class SourceEntry: function die (line 106) | def die(msg: str) -> NoReturn: function load_toml (line 110) | def load_toml(path: Path) -> dict: function load_vendor_sources (line 115) | def load_vendor_sources(project: Path) -> list[SourceEntry]: function load_vendor_lock (line 181) | def load_vendor_lock(project: Path) -> dict: function _as_dict (line 188) | def _as_dict(value: object) -> dict: function _as_list (line 192) | def _as_list(value: object) -> list: function _s (line 196) | def _s(v: object) -> str | None: function typesense_request (line 203) | def typesense_request( function collection_url (line 226) | def collection_url(base: str, name: str) -> str: function ensure_collection (line 230) | def ensure_collection(base_url: str, api_key: str, name: str, fields: li... function import_jsonl (line 252) | def import_jsonl(base_url: str, api_key: str, collection: str, docs: lis... function iter_text_files (line 281) | def iter_text_files(root: Path, *, exclude_vendor: bool) -> Iterable[Path]: function extract_symbols (line 293) | def extract_symbols(path: Path, lines: list[str]) -> list[str]: function chunk_lines (line 312) | def chunk_lines(lines: list[str], chunk_size: int, overlap: int) -> Iter... function lang_for (line 327) | def lang_for(path: Path) -> str: function file_to_chunks (line 332) | def file_to_chunks( function build_sources_docs (line 369) | def build_sources_docs(project: Path, sources: list[SourceEntry]) -> lis... function collect_chunk_docs (line 390) | def collect_chunk_docs( function write_sources_index (line 448) | def write_sources_index(project: Path, sources: list[SourceEntry], out_p... function _utc_now (line 474) | def _utc_now() -> str: function cmd_index (line 480) | def cmd_index(args: argparse.Namespace) -> None: function _build_filter (line 552) | def _build_filter(args: argparse.Namespace) -> str | None: function cmd_search (line 567) | def cmd_search(args: argparse.Namespace) -> None: function cmd_sources (line 646) | def cmd_sources(args: argparse.Namespace) -> None: function build_parser (line 675) | def build_parser() -> argparse.ArgumentParser: function main (line 715) | def main() -> None: FILE: src/activity_log.rs constant ACTIVITY_EVENT_VERSION (line 12) | const ACTIVITY_EVENT_VERSION: u32 = 1; constant HUMAN_LINE_MAX_CHARS (line 13) | const HUMAN_LINE_MAX_CHARS: usize = 220; constant EVENT_ID_LEN (line 14) | const EVENT_ID_LEN: usize = 7; type ActivityStatus (line 18) | pub enum ActivityStatus { method as_str (line 24) | fn as_str(self) -> &'static str { type ActivityEvent (line 34) | pub struct ActivityEvent { method done (line 64) | pub fn done(kind: impl Into, summary: impl Into) -> Se... method changed (line 68) | pub fn changed(kind: impl Into, summary: impl Into) ->... method new (line 72) | fn new(status: ActivityStatus, kind: String, summary: String) -> Self { type FileLockGuard (line 95) | struct FileLockGuard { method drop (line 101) | fn drop(&mut self) { function acquire_file_lock (line 107) | fn acquire_file_lock(file: &std::fs::File) -> Result { function acquire_file_lock (line 118) | fn acquire_file_lock(_file: &std::fs::File) -> Result<()> { function month_slug (line 122) | fn month_slug(month: u32) -> &'static str { function daily_log_root (line 140) | fn daily_log_root() -> PathBuf { function daily_log_path_at (line 150) | fn daily_log_path_at(root: &Path, now: chrono::DateTime) -> PathB... function daily_events_path_at (line 157) | fn daily_events_path_at(root: &Path, now: chrono::DateTime) -> Pa... function daily_dedupe_index_dir_at (line 166) | fn daily_dedupe_index_dir_at(root: &Path, now: chrono::DateTime) ... function append_daily_event_at (line 175) | fn append_daily_event_at( function normalize_event (line 234) | fn normalize_event(mut event: ActivityEvent) -> Option { function render_human_line (line 311) | fn render_human_line(event: &ActivityEvent, now: chrono::DateTime... function render_kind (line 328) | fn render_kind(event: &ActivityEvent) -> String { function render_tags (line 335) | fn render_tags(event: &ActivityEvent) -> String { function dedupe_key_exists (line 347) | fn dedupe_key_exists(events_path: &Path, index_dir: &Path, dedupe_key: &... function dedupe_index_contains (line 358) | fn dedupe_index_contains(index_dir: &Path, dedupe_key: &str) -> Result Result<()> { function dedupe_marker_path (line 391) | fn dedupe_marker_path(index_dir: &Path, dedupe_key: &str) -> PathBuf { function sidecar_contains_dedupe_key (line 396) | fn sidecar_contains_dedupe_key(path: &Path, dedupe_key: &str) -> Result<... function derive_scope_from_event (line 423) | fn derive_scope_from_event(event: &ActivityEvent) -> Option { function path_scope_label (line 432) | fn path_scope_label(path: &str) -> Option { function canonical_event_identity (line 466) | fn canonical_event_identity(event: &ActivityEvent) -> String { function normalize_text (line 485) | fn normalize_text(value: &str) -> String { function compact_token (line 489) | fn compact_token(value: &str, max_chars: usize) -> String { function truncate_chars (line 493) | fn truncate_chars(value: &str, max_chars: usize) -> String { function truncate_session_id (line 505) | fn truncate_session_id(value: &str) -> String { function short_hash (line 509) | fn short_hash(value: &str, len: usize) -> String { function unix_now_secs (line 515) | fn unix_now_secs() -> u64 { function current_daily_log_path (line 522) | pub fn current_daily_log_path() -> PathBuf { function current_daily_events_path (line 526) | pub fn current_daily_events_path() -> PathBuf { function append_daily_event (line 530) | pub fn append_daily_event(event: ActivityEvent) -> Result<()> { function append_daily_bullet (line 542) | pub fn append_daily_bullet(message: &str) -> Result<()> { function path_uses_expected_year_month_day_layout (line 553) | fn path_uses_expected_year_month_day_layout() { function append_daily_event_writes_human_line_and_sidecar (line 569) | fn append_daily_event_writes_human_line_and_sidecar() { function append_daily_event_dedupes_when_explicit_key_matches (line 600) | fn append_daily_event_dedupes_when_explicit_key_matches() { function append_daily_event_recovers_dedupe_index_from_sidecar (line 629) | fn append_daily_event_recovers_dedupe_index_from_sidecar() { FILE: src/agent_setup.rs function generate_agents_md (line 11) | fn generate_agents_md(project_name: &str, _primary_task: &str) -> String { function run (line 106) | pub fn run() -> Result<()> { function is_lin_running (line 203) | fn is_lin_running() -> bool { FILE: src/agents.rs constant DEFAULT_GEN_REPO_REL (line 22) | const DEFAULT_GEN_REPO_REL: &str = "org/gen/gen"; constant FLOW_AGENT_NAME (line 24) | const FLOW_AGENT_NAME: &str = "flow"; function run (line 27) | pub fn run(cmd: AgentsCommand) -> Result<()> { function find_gen (line 53) | fn find_gen() -> Option { type GenLocation (line 85) | enum GenLocation { function list_agents (line 91) | fn list_agents() -> Result<()> { function run_agents_rules (line 125) | fn run_agents_rules(profile: Option<&str>, repo: Option<&str>) -> Result... function list_agents_profiles (line 195) | fn list_agents_profiles(agents_dir: &Path) -> Result> { function select_agents_profile (line 219) | fn select_agents_profile(profiles: &[String]) -> Result> { function prompt_agents_profile (line 258) | fn prompt_agents_profile(profiles: &[String]) -> Result { type AgentEntry (line 282) | struct AgentEntry { type FzfAgentResult (line 288) | struct FzfAgentResult<'a> { function run_fuzzy_agents (line 293) | fn run_fuzzy_agents() -> Result<()> { function copy_agent_instructions (line 328) | fn copy_agent_instructions(agent_name: Option<&str>) -> Result<()> { function run_agent_fzf_simple (line 390) | fn run_agent_fzf_simple<'a>(entries: &'a [AgentEntry]) -> Result) -> Result { function get_flow_agent_instructions (line 461) | fn get_flow_agent_instructions() -> String { function default_gen_repo (line 480) | fn default_gen_repo() -> Option { function gen_repo_from_env (line 484) | fn gen_repo_from_env() -> Option { function gen_repo_hint (line 488) | fn gen_repo_hint() -> String { function run_agent_fzf (line 494) | fn run_agent_fzf<'a>(entries: &'a [AgentEntry]) -> Result Result> { function build_agent_entries (line 552) | fn build_agent_entries() -> Result> { function find_project_root (line 602) | fn find_project_root() -> Option { function apply_project_config_env (line 615) | fn apply_project_config_env(cmd: &mut Command) { function collect_agent_entries (line 624) | fn collect_agent_entries( function agent_name_from_path (line 673) | fn agent_name_from_path(root: &Path, path: &Path) -> Option { function parse_agent_frontmatter (line 683) | fn parse_agent_frontmatter(path: &Path) -> Result<(Option, Optio... function trim_yaml_scalar (line 707) | fn trim_yaml_scalar(value: &str) -> String { constant DIR_AGENTS (line 713) | const DIR_AGENTS: &[&str] = &["docker-to-flox"]; function run_agent_optional (line 715) | fn run_agent_optional(agent: &str, prompt: Option>) -> Resul... function list_gen_agents (line 738) | fn list_gen_agents(gen_loc: &GenLocation) -> Result<()> { function fetch_gen_agent_entries (line 774) | fn fetch_gen_agent_entries() -> Result> { function parse_gen_agent_list (line 815) | fn parse_gen_agent_list(stdout: &str) -> Vec { function parse_agent_list_line (line 837) | fn parse_agent_list_line(line: &str) -> Option<(String, String)> { function get_agent_config (line 858) | fn get_agent_config() -> (String, Option) { function run_agent (line 871) | fn run_agent(agent: &str, prompt: Vec) -> Result<()> { function invoke_claude (line 916) | fn invoke_claude(prompt: &str) -> Result { function invoke_opencode (line 927) | fn invoke_opencode(prompt: &str, model: Option<&str>) -> Result Result { function run_flow_agent_capture_streaming (line 960) | pub fn run_flow_agent_capture_streaming(prompt: &str) -> Result { constant FALLBACK_AGENT_MODEL (line 977) | const FALLBACK_AGENT_MODEL: &str = "openrouter/moonshotai/kimi-k2:free"; function get_agent_model (line 980) | fn get_agent_model() -> String { function invoke_gen (line 994) | fn invoke_gen(location: &GenLocation, prompt: &str) -> Result Result... function extract_text_from_gen_output (line 1170) | fn extract_text_from_gen_output(stdout: &str) -> Option { function extract_text_from_gen_line (line 1182) | fn extract_text_from_gen_line(line: &str) -> Option { function build_flow_prompt (line 1196) | fn build_flow_prompt(user_prompt: &str) -> Result { constant FLOW_SCHEMA_CONTEXT (line 1234) | const FLOW_SCHEMA_CONTEXT: &str = r#"# Flow Task Runner Context constant FLOW_CLI_CONTEXT (line 1282) | const FLOW_CLI_CONTEXT: &str = r#" FILE: src/ai.rs type Provider (line 46) | pub enum Provider { type SessionIndex (line 55) | struct SessionIndex { type WebSession (line 61) | pub struct WebSession { type WebSessionMessage (line 72) | pub struct WebSessionMessage { type SessionHistory (line 78) | pub struct SessionHistory { type SessionMessages (line 86) | struct SessionMessages { method default (line 93) | fn default() -> Self { type CommitCheckpoints (line 104) | pub struct CommitCheckpoints { type CommitCheckpoint (line 110) | pub struct CommitCheckpoint { type SavedSession (line 120) | struct SavedSession { function default_provider (line 134) | fn default_provider() -> String { type AiSession (line 140) | struct AiSession { type JsonlEntry (line 159) | struct JsonlEntry { type CodexEntry (line 170) | struct CodexEntry { type CursorEntry (line 180) | struct CursorEntry { type SessionMessage (line 186) | struct SessionMessage { type CodexRecoverRow (line 192) | pub(crate) struct CodexRecoverRow { type CodexRecoverCandidate (line 206) | struct CodexRecoverCandidate { type CodexRecoverOutput (line 219) | struct CodexRecoverOutput { type CodexResolvedReference (line 230) | struct CodexResolvedReference { type CodexOpenPlan (line 240) | struct CodexOpenPlan { type CodexResolveReferenceSnapshot (line 261) | pub struct CodexResolveReferenceSnapshot { type CodexResolveRuntimeSkillSnapshot (line 271) | pub struct CodexResolveRuntimeSkillSnapshot { type CodexResolveInspectorResponse (line 284) | pub struct CodexResolveInspectorResponse { type CodexResolveWorkflowExplanation (line 306) | pub struct CodexResolveWorkflowExplanation { type CodexResolveWorkflowPacket (line 321) | pub struct CodexResolveWorkflowPacket { type CodexResolveWorkflowTrace (line 333) | pub struct CodexResolveWorkflowTrace { type CodexResolveWorkflowValidation (line 344) | pub struct CodexResolveWorkflowValidation { type CodexResolveWorkflowCommand (line 353) | pub struct CodexResolveWorkflowCommand { type CodexResolveWorkflowArtifact (line 360) | pub struct CodexResolveWorkflowArtifact { type CodexResolveWorkflowStep (line 368) | pub struct CodexResolveWorkflowStep { type CodexSessionReferenceRequest (line 374) | struct CodexSessionReferenceRequest { type LinearUrlReference (line 381) | struct LinearUrlReference { type LinearUrlKind (line 391) | enum LinearUrlKind { constant CODEX_QUERY_CACHE_VERSION (line 396) | const CODEX_QUERY_CACHE_VERSION: u32 = 1; constant CODEX_QUERY_CACHE_ENV_DISABLE (line 397) | const CODEX_QUERY_CACHE_ENV_DISABLE: &str = "FLOW_DISABLE_CODEX_QUERY_CA... constant CODEX_SESSION_COMPLETION_DEFAULT_SCAN_LIMIT (line 398) | const CODEX_SESSION_COMPLETION_DEFAULT_SCAN_LIMIT: usize = 24; constant CODEX_SESSION_COMPLETION_DEFAULT_IDLE_SECS (line 399) | const CODEX_SESSION_COMPLETION_DEFAULT_IDLE_SECS: u64 = 90; constant FLOW_CODEX_TRACE_SERVICE_NAME (line 400) | const FLOW_CODEX_TRACE_SERVICE_NAME: &str = "flow_codex"; type CodexStateDbStamp (line 403) | struct CodexStateDbStamp { type CodexQueryCacheEntry (line 410) | struct CodexQueryCacheEntry { type CodexThreadSchema (line 417) | struct CodexThreadSchema { type CodexThreadSchemaCacheEntry (line 423) | struct CodexThreadSchemaCacheEntry { type CodexSessionCompletionSnapshot (line 429) | struct CodexSessionCompletionSnapshot { type CodexTurnPatchChange (line 439) | struct CodexTurnPatchChange { type PrFeedbackCursorHandoff (line 446) | struct PrFeedbackCursorHandoff { function run_provider (line 454) | pub fn run_provider(provider: Provider, action: Option... function run (line 659) | pub fn run(action: Option) -> Result<()> { function for_each_nonempty_jsonl_line (line 940) | fn for_each_nonempty_jsonl_line(path: &Path, mut on_line: impl FnMut(&st... function get_checkpoint_path (line 962) | fn get_checkpoint_path(project_path: &PathBuf) -> PathBuf { function load_checkpoints (line 970) | pub fn load_checkpoints(project_path: &PathBuf) -> Result Result> { function get_context_since_checkpoint_for_path (line 1132) | pub fn get_context_since_checkpoint_for_path(project_path: &PathBuf) -> ... type GitEditSessionData (line 1194) | pub struct GitEditSessionData { type GitEditExchange (line 1204) | pub struct GitEditExchange { function get_session_ids_for_hash (line 1212) | pub fn get_session_ids_for_hash(project_path: &PathBuf) -> Result<(Vec Result Result> { function get_last_entry_timestamp_for_path (line 1413) | pub fn get_last_entry_timestamp_for_path( function get_session_last_timestamp (line 1438) | fn get_session_last_timestamp( function read_context_since (line 1488) | fn read_context_since( function floor_char_boundary (line 1653) | fn floor_char_boundary(s: &str, pos: usize) -> usize { function truncate_message (line 1662) | fn truncate_message(msg: &str, max_chars: usize) -> String { function extract_intent (line 1671) | fn extract_intent(msg: &str, max_chars: usize) -> String { function read_codex_context_since (line 1695) | fn read_codex_context_since( function read_codex_last_context (line 1746) | fn read_codex_last_context(session_file: &PathBuf, count: usize) -> Resu... function read_codex_memory_exchanges (line 1774) | pub(crate) fn read_codex_memory_exchanges( function read_cursor_last_context (line 1796) | fn read_cursor_last_context(session_file: &PathBuf, count: usize) -> Res... function read_codex_exchanges (line 1824) | fn read_codex_exchanges( function read_cursor_exchanges (line 1876) | fn read_cursor_exchanges( function parse_timestamp_for_compare (line 1923) | fn parse_timestamp_for_compare(ts: &str) -> Option { function parse_timestamp_window (line 1940) | fn parse_timestamp_window<'a>( function timestamp_in_window_cached (line 1952) | fn timestamp_in_window_cached(ts: &str, window: &TimestampWindow<'_>) ->... function get_codex_last_timestamp (line 1991) | fn get_codex_last_timestamp(session_file: &PathBuf) -> Result Result Option<(String, String)> { function normalize_cursor_role (line 2063) | fn normalize_cursor_role(role: &str) -> &str { function extract_cursor_message (line 2071) | fn extract_cursor_message(entry: &CursorEntry) -> Option<(String, String... function get_recent_session_context (line 2087) | pub fn get_recent_session_context(max_exchanges: usize) -> Result Result { function get_index_path (line 2138) | fn get_index_path() -> Result { function get_notes_dir (line 2143) | fn get_notes_dir() -> Result { function load_index (line 2148) | fn load_index() -> Result { function load_index_for_path (line 2158) | fn load_index_for_path(project_path: &Path) -> Result { function get_sessions_for_web (line 2173) | pub fn get_sessions_for_web(project_path: &PathBuf) -> Result Result { function read_cursor_messages (line 2328) | fn read_cursor_messages(session_id: &str) -> Result { function extract_codex_timestamp (line 2359) | fn extract_codex_timestamp(entry: &CodexEntry) -> Option { function extract_message_text (line 2371) | fn extract_message_text(content_value: &serde_json::Value) -> Option St... function truncate_before_heading (line 2418) | fn truncate_before_heading(text: &str, heading: &str) -> String { function collapse_blank_lines (line 2432) | fn collapse_blank_lines(text: &str) -> String { function strip_known_transcript_scaffolding (line 2458) | fn strip_known_transcript_scaffolding(role: &str, text: &str) -> String { function normalize_session_message (line 2494) | fn normalize_session_message(role: &str, text: &str) -> Option { function get_cursor_file_timestamp (line 2514) | fn get_cursor_file_timestamp(path: &Path) -> Option { function push_message (line 2519) | fn push_message(messages: &mut Vec, role: &str, conte... function save_index (line 2537) | fn save_index(index: &SessionIndex) -> Result<()> { function get_claude_projects_dir (line 2548) | fn get_claude_projects_dir() -> PathBuf { function get_codex_projects_dir (line 2554) | fn get_codex_projects_dir() -> PathBuf { function get_codex_sessions_dir (line 2559) | fn get_codex_sessions_dir() -> PathBuf { function get_cursor_projects_dir (line 2564) | fn get_cursor_projects_dir() -> PathBuf { function path_to_project_name (line 2570) | fn path_to_project_name(path: &str) -> String { function path_to_cursor_project_key (line 2574) | fn path_to_cursor_project_key(path: &Path) -> String { function cursor_project_key_matches_path (line 2580) | fn cursor_project_key_matches_path(project_key: &str, path: &Path) -> bo... function decode_cursor_project_path (line 2589) | fn decode_cursor_project_path(project_key: &str) -> Option { function collect_cursor_project_session_files (line 2647) | fn collect_cursor_project_session_files(project_dir: &Path) -> Vec Result) -> Result { function read_sessions_for_target (line 2734) | fn read_sessions_for_target(provider: Provider, path: Option<&str>) -> R... function read_sessions_for_path (line 2740) | fn read_sessions_for_path(provider: Provider, path: &PathBuf) -> Result<... function read_provider_sessions_for_path (line 2774) | fn read_provider_sessions_for_path(provider: Provider, path: &PathBuf) -... function read_provider_sessions (line 2824) | fn read_provider_sessions(provider: Provider) -> Result> { function parse_session_file (line 2886) | fn parse_session_file(path: &PathBuf, session_id: &str, provider: Provid... function parse_codex_session_file (line 2957) | fn parse_codex_session_file( function parse_cursor_session_file (line 3038) | fn parse_cursor_session_file(path: &PathBuf, fallback_id: &str) -> Optio... function ai_session_from_codex_recover_row (line 3070) | fn ai_session_from_codex_recover_row(row: CodexRecoverRow) -> AiSession { function read_codex_sessions_for_path_from_files (line 3091) | fn read_codex_sessions_for_path_from_files(path: &PathBuf) -> Result Result> { function read_cursor_sessions_for_path (line 3156) | fn read_cursor_sessions_for_path(path: &PathBuf) -> Result Vec { function codex_session_id_from_path (line 3227) | fn codex_session_id_from_path(path: &Path) -> Option { function cursor_session_id_from_path (line 3232) | fn cursor_session_id_from_path(path: &Path) -> Option { function resolve_explicit_native_session (line 3238) | fn resolve_explicit_native_session(query: &str, provider: Provider) -> O... function resolve_session_selection (line 3258) | fn resolve_session_selection( function get_most_recent_session_id (line 3295) | fn get_most_recent_session_id() -> Result> { function format_session_ref (line 3300) | fn format_session_ref(session: &AiSession, include_provider: bool) -> St... function print_latest_session_id (line 3314) | fn print_latest_session_id(provider: Provider, path: Option) -> ... type FzfSessionEntry (line 3341) | struct FzfSessionEntry { type ProviderSessionListRow (line 3348) | struct ProviderSessionListRow { function list_sessions (line 3357) | fn list_sessions(provider: Provider) -> Result<()> { function run_session_fzf (line 3507) | fn run_session_fzf(entries: &[FzfSessionEntry]) -> Result Result { function new_codex_session_trace (line 3544) | fn new_codex_session_trace(workflow_kind: &str) -> CodexResolveWorkflowT... function direct_codex_trace_query (line 3554) | fn direct_codex_trace_query(action: &str, route: &str, session_id: Optio... function record_direct_codex_launch_event (line 3570) | fn record_direct_codex_launch_event( function launch_session_for_target (line 3607) | fn launch_session_for_target( function launch_claude_continue (line 3677) | fn launch_claude_continue() -> Result { function launch_claude_resume_picker (line 3686) | fn launch_claude_resume_picker() -> Result { function detect_git_root (line 3695) | fn detect_git_root(path: &Path) -> Option { function codex_trusted_paths (line 3715) | fn codex_trusted_paths() -> Vec { function codex_trusted_paths_for (line 3722) | fn codex_trusted_paths_for(seed: &Path) -> Vec { function codex_projects_override (line 3739) | fn codex_projects_override(paths: &[PathBuf]) -> Option { function apply_codex_trust_overrides (line 3760) | fn apply_codex_trust_overrides(command: &mut Command) { function apply_codex_trust_overrides_for (line 3766) | fn apply_codex_trust_overrides_for(command: &mut Command, target_path: O... function apply_codex_runtime_state_to_command (line 3775) | fn apply_codex_runtime_state_to_command(command: &mut Command, runtime_s... function apply_codex_trace_env_to_command (line 3784) | fn apply_codex_trace_env_to_command( function codex_personal_env_keys (line 3800) | fn codex_personal_env_keys() -> Vec { function codex_has_explicit_maple_env (line 3826) | fn codex_has_explicit_maple_env() -> bool { function apply_codex_personal_env_to_command (line 3835) | fn apply_codex_personal_env_to_command(command: &mut Command) { function codex_runtime_transport_enabled (line 3856) | fn codex_runtime_transport_enabled(target_path: &Path) -> bool { function launch_codex_resume_picker (line 3872) | fn launch_codex_resume_picker() -> Result { function launch_codex_continue_last_for_target (line 3886) | fn launch_codex_continue_last_for_target(target_path: Option<&Path>) -> ... function provider_name (line 3918) | fn provider_name(provider: Provider) -> &'static str { function ensure_provider_tty (line 3927) | fn ensure_provider_tty(provider: Provider, action: &str) -> Result<()> { function print_provider_session_listing (line 3939) | fn print_provider_session_listing( function provider_sessions (line 4050) | fn provider_sessions(provider: Provider, path: Option, json: boo... function continue_session (line 4076) | fn continue_session( function quick_start_session (line 4142) | pub fn quick_start_session(provider: Provider) -> Result<()> { function new_session (line 4175) | fn new_session(provider: Provider) -> Result<()> { function new_session_for_target (line 4179) | fn new_session_for_target( function find_codex_session (line 4253) | fn find_codex_session( function find_and_copy_codex_session (line 4263) | fn find_and_copy_codex_session( function find_best_codex_session_match (line 4279) | fn find_best_codex_session_match( function recover_codex_sessions (line 4332) | fn recover_codex_sessions( function canonicalize_recover_path (line 4393) | fn canonicalize_recover_path(path: Option) -> Result { function normalize_recover_query (line 4407) | fn normalize_recover_query(parts: &[String]) -> Option { function recover_query_tokens (line 4412) | fn recover_query_tokens(query: &str) -> Vec { function looks_like_git_sha (line 4423) | fn looks_like_git_sha(token: &str) -> bool { function looks_like_codex_session_token (line 4427) | fn looks_like_codex_session_token(token: &str) -> bool { function extract_codex_session_hints (line 4462) | fn extract_codex_session_hints(query: &str) -> Vec { function extract_codex_session_hint (line 4478) | fn extract_codex_session_hint(query: &str) -> Option { function extract_codex_session_reference_request (line 4482) | fn extract_codex_session_reference_request( function starts_with_codex_session_lookup_only_phrase (line 4502) | fn starts_with_codex_session_lookup_only_phrase(query: &str) -> bool { function extract_codex_session_reference_user_request (line 4516) | fn extract_codex_session_reference_user_request( function strip_codex_session_followup_prefix (line 4536) | fn strip_codex_session_followup_prefix(value: &str) -> &str { function extract_codex_session_reference_count (line 4573) | fn extract_codex_session_reference_count(query_text: &str, session_hints... function strip_codex_session_window_prefix (line 4591) | fn strip_codex_session_window_prefix(value: &str) -> &str { function codex_session_window_regex (line 4599) | fn codex_session_window_regex() -> &'static Regex { function resolve_builtin_codex_session_reference (line 4607) | fn resolve_builtin_codex_session_reference( function render_codex_session_reference (line 4630) | fn render_codex_session_reference(row: &CodexRecoverRow, count: usize, e... function codex_sqlite_home (line 4651) | fn codex_sqlite_home() -> Result { function parse_codex_versioned_db_filename (line 4662) | fn parse_codex_versioned_db_filename(file_name: &str, prefix: &str) -> O... function select_codex_state_db_path (line 4670) | fn select_codex_state_db_path(sqlite_home: &Path) -> Result { function codex_state_db_path (line 4697) | fn codex_state_db_path() -> Result { function codex_query_cache_disabled (line 4701) | fn codex_query_cache_disabled() -> bool { function codex_query_cache_root (line 4713) | fn codex_query_cache_root() -> Result { function codex_session_completion_markers_dir (line 4719) | fn codex_session_completion_markers_dir() -> Result { function codex_session_completion_scan_limit (line 4725) | fn codex_session_completion_scan_limit() -> usize { function codex_session_completion_idle_secs (line 4733) | fn codex_session_completion_idle_secs() -> u64 { function prune_codex_session_completion_markers (line 4741) | fn prune_codex_session_completion_markers(now_unix: u64) -> Result<()> { function claim_codex_session_completion_marker (line 4768) | fn claim_codex_session_completion_marker(session_id: &str, assistant_at_... function codex_query_cache_entry_count (line 4785) | fn codex_query_cache_entry_count() -> usize { function codex_query_cache_store (line 4799) | fn codex_query_cache_store() -> &'static Mutex &'static Mutex u64 { function codex_state_db_stamp (line 4816) | fn codex_state_db_stamp(path: &Path) -> Result { function read_codex_thread_schema (line 4832) | fn read_codex_thread_schema(conn: &Connection) -> Result Result { function codex_recover_select_sql (line 4874) | fn codex_recover_select_sql(schema: &CodexThreadSchema) -> String { function map_codex_recover_row (line 4901) | fn map_codex_recover_row(row: &rusqlite::Row<'_>) -> rusqlite::Result Opt... function write_codex_query_cache (line 4949) | fn write_codex_query_cache(path: &Path, entry: &CodexQueryCacheEntry) ->... function with_codex_query_cache (line 4991) | fn with_codex_query_cache( function escape_like (line 5020) | fn escape_like(value: &str) -> String { function read_recent_codex_threads (line 5027) | fn read_recent_codex_threads( function read_recent_codex_threads_local (line 5042) | pub(crate) fn read_recent_codex_threads_local( function read_recent_codex_threads_global_local (line 5103) | fn read_recent_codex_threads_global_local(limit: usize) -> Result Vec { function tokenize_recover_query (line 5297) | fn tokenize_recover_query(query: &str) -> Vec { function rank_recover_rows (line 5308) | fn rank_recover_rows(rows: &mut Vec, query: Option<&str... function recover_row_score (line 5330) | fn recover_row_score(row: &CodexRecoverRow, normalized_query: &str, toke... function build_recover_output (line 5410) | fn build_recover_output( function infer_recover_route (line 5452) | fn infer_recover_route( function shell_escape_path (line 5472) | fn shell_escape_path(path: &Path) -> String { function build_recover_summary (line 5484) | fn build_recover_summary( function truncate_recover_id (line 5529) | fn truncate_recover_id(value: &str) -> String { function truncate_recover_text (line 5533) | fn truncate_recover_text(value: &str) -> String { function format_unix_ts (line 5542) | fn format_unix_ts(ts: i64) -> String { function codex_model_label (line 5548) | fn codex_model_label(model: Option<&str>, reasoning_effort: Option<&str>... function print_recover_output (line 5562) | fn print_recover_output(output: &CodexRecoverOutput) { function open_codex_session (line 5609) | fn open_codex_session( function connect_codex_session (line 5625) | fn connect_codex_session( function resolve_codex_input (line 5726) | fn resolve_codex_input( function codex_resolve_inspector (line 5752) | pub fn codex_resolve_inspector( function build_codex_resolve_workflow_explanation (line 5791) | fn build_codex_resolve_workflow_explanation( function build_pr_feedback_workflow_explanation (line 5960) | fn build_pr_feedback_workflow_explanation( function parse_reference_fields (line 6120) | fn parse_reference_fields(output: &str) -> BTreeMap { function push_workflow_artifact (line 6142) | fn push_workflow_artifact( function load_runtime_skills_from_plan (line 6157) | fn load_runtime_skills_from_plan( constant DEFAULT_GLOBAL_CODEX_WRAPPER_BIN (line 6183) | const DEFAULT_GLOBAL_CODEX_WRAPPER_BIN: &str = "~/code/flow/scripts/code... constant DEFAULT_GLOBAL_CODEX_HOME_SESSION_PATH (line 6184) | const DEFAULT_GLOBAL_CODEX_HOME_SESSION_PATH: &str = "~/repos/openai/cod... constant DEFAULT_GLOBAL_CODEX_SKILL_SOURCE_NAME (line 6185) | const DEFAULT_GLOBAL_CODEX_SKILL_SOURCE_NAME: &str = "vercel-labs-skills"; constant DEFAULT_GLOBAL_CODEX_SKILL_SOURCE_PATH (line 6186) | const DEFAULT_GLOBAL_CODEX_SKILL_SOURCE_PATH: &str = "~/repos/vercel-lab... constant DEFAULT_GLOBAL_CODEX_PROMPT_BUDGET (line 6187) | const DEFAULT_GLOBAL_CODEX_PROMPT_BUDGET: usize = 1200; constant DEFAULT_GLOBAL_CODEX_MAX_REFERENCES (line 6188) | const DEFAULT_GLOBAL_CODEX_MAX_REFERENCES: usize = 2; constant CODEX_SKILL_EVAL_LAUNCHD_LABEL (line 6189) | const CODEX_SKILL_EVAL_LAUNCHD_LABEL: &str = "dev.nikiv.flow-codex-skill... type CodexSkillEvalScheduleStatus (line 6193) | enum CodexSkillEvalScheduleStatus { method as_str (line 6201) | fn as_str(self) -> &'static str { method ready (line 6210) | fn ready(self) -> bool { type CodexDoctorSnapshot (line 6217) | pub struct CodexDoctorSnapshot { type CodexSkillsDashboardResponse (line 6254) | pub struct CodexSkillsDashboardResponse { type CodexEvalRouteSnapshot (line 6261) | pub struct CodexEvalRouteSnapshot { type CodexEvalSkillSnapshot (line 6273) | pub struct CodexEvalSkillSnapshot { type CodexEvalOpportunity (line 6285) | pub struct CodexEvalOpportunity { type CodexEvalCommand (line 6294) | pub struct CodexEvalCommand { type CodexEvalSnapshot (line 6301) | pub struct CodexEvalSnapshot { type CodexEvalQualitySnapshot (line 6318) | pub struct CodexEvalQualitySnapshot { function codex_skill_eval_launchd_plist_path (line 6325) | fn codex_skill_eval_launchd_plist_path() -> PathBuf { function codex_skill_eval_launchd_status (line 6332) | fn codex_skill_eval_launchd_status() -> CodexSkillEvalScheduleStatus { function collect_codex_doctor_snapshot (line 6354) | fn collect_codex_doctor_snapshot(target_path: &Path) -> Result u64 { function codexd_learning_refresh_state (line 6676) | fn codexd_learning_refresh_state() -> &'static Mutex { function maybe_run_codex_learning_refresh (line 6681) | pub(crate) fn maybe_run_codex_learning_refresh() -> Result { function codex_eval_commands (line 6707) | fn codex_eval_commands(target_path: &Path) -> Vec { function codex_eval_failure_modes (line 6733) | fn codex_eval_failure_modes(doctor: &CodexDoctorSnapshot) -> Vec { function build_codex_eval_quality (line 6747) | fn build_codex_eval_quality( function build_codex_eval_summary (line 6780) | fn build_codex_eval_summary( function build_codex_eval_opportunities (line 6815) | fn build_codex_eval_opportunities( function codex_eval_snapshot (line 6933) | pub fn codex_eval_snapshot(target_path: &Path, limit: usize) -> Result Result { function ensure_toml_table (line 7137) | fn ensure_toml_table<'a>( function write_string_atomically (line 7153) | fn write_string_atomically(path: &Path, content: &str) -> Result<()> { function upsert_global_codex_config (line 7171) | fn upsert_global_codex_config(path: &Path) -> Result<(String, bool, bool... function install_codex_skill_eval_launchd (line 7255) | fn install_codex_skill_eval_launchd( function codex_enable_global (line 7294) | fn codex_enable_global( function codex_doctor (line 7400) | fn codex_doctor( type CodexQuickLaunchEvent (line 7435) | struct CodexQuickLaunchEvent { type CodexQuickLaunchHydration (line 7445) | struct CodexQuickLaunchHydration { function codex_quick_launch_log_path (line 7455) | fn codex_quick_launch_log_path() -> Result { function codex_quick_launch_hydrations_path (line 7461) | fn codex_quick_launch_hydrations_path() -> Result { function log_codex_quick_launch_event (line 7467) | fn log_codex_quick_launch_event(event: &CodexQuickLaunchEvent) -> Result... function log_codex_quick_launch_hydration (line 7484) | fn log_codex_quick_launch_hydration(hydration: &CodexQuickLaunchHydratio... function load_recent_codex_quick_launches (line 7502) | fn load_recent_codex_quick_launches(limit: usize) -> Result Result> { function parse_rfc3339_to_unix (line 7539) | fn parse_rfc3339_to_unix(value: &str) -> Option { function read_codex_first_user_message_since (line 7545) | fn read_codex_first_user_message_since( function file_modified_unix (line 7583) | fn file_modified_unix(path: &Path) -> Option { function read_codex_session_completion_snapshot (line 7593) | fn read_codex_session_completion_snapshot( function assistant_completion_summary (line 7640) | fn assistant_completion_summary(text: &str) -> Option { function select_codex_session_completion_summary (line 7674) | fn select_codex_session_completion_summary( function build_codex_session_completion_event (line 7697) | fn build_codex_session_completion_event( function read_codex_turn_patch_changes (line 7715) | fn read_codex_turn_patch_changes( function parse_apply_patch_changes (line 7772) | fn parse_apply_patch_changes(input: &str, session_cwd: &str) -> Vec String { function fish_fn_path (line 7844) | fn fish_fn_path() -> String { function is_fish_fn_path (line 7854) | fn is_fish_fn_path(path: &str) -> bool { function summarize_fish_fn_change (line 7858) | fn summarize_fish_fn_change(text: &str) -> Option { function build_fish_fn_changed_event (line 7903) | fn build_fish_fn_changed_event( function changed_file_label (line 7918) | fn changed_file_label(path: &str) -> String { function summarize_generic_changed_files (line 7930) | fn summarize_generic_changed_files(changes: &[CodexTurnPatchChange]) -> ... function build_codex_session_changed_events (line 7948) | fn build_codex_session_changed_events( function hydrate_codex_quick_launch (line 8019) | fn hydrate_codex_quick_launch( function reconcile_pending_codex_quick_launches (line 8073) | fn reconcile_pending_codex_quick_launches(limit: usize) -> Result { function reconcile_codex_session_completions (line 8140) | pub(crate) fn reconcile_codex_session_completions(limit: usize) -> Resul... function run_codex_background_maintenance (line 8187) | pub(crate) fn run_codex_background_maintenance() -> Result<(usize, usize... function maybe_run_codex_telemetry_export (line 8193) | pub(crate) fn maybe_run_codex_telemetry_export(limit: usize) -> Result, provider: Provi... function codex_daemon_command (line 8233) | fn codex_daemon_command(action: Option, provider: Pro... function codex_memory_command (line 8252) | fn codex_memory_command(action: Option, provider: Pro... function codex_telemetry_command (line 8358) | fn codex_telemetry_command( function codex_trace_command (line 8420) | fn codex_trace_command(action: Option, provider: Provi... function codex_skill_eval_command (line 8524) | fn codex_skill_eval_command( function codex_skill_source_command (line 8655) | fn codex_skill_source_command( function codex_runtime_command (line 8700) | fn codex_runtime_command(action: Option, provider: P... function normalize_codex_resolve_args (line 8736) | fn normalize_codex_resolve_args(query: Vec, json_output: bool) -... function build_codex_open_plan (line 8751) | fn build_codex_open_plan( function build_codex_commit_workflow_plan (line 8979) | fn build_codex_commit_workflow_plan( function build_codex_sync_workflow_plan (line 9048) | fn build_codex_sync_workflow_plan( function execute_codex_open_plan (line 9090) | fn execute_codex_open_plan(plan: &CodexOpenPlan) -> Result<()> { function maybe_open_cursor_for_pr_feedback_check (line 9130) | fn maybe_open_cursor_for_pr_feedback_check(plan: &CodexOpenPlan) { function env_flag_is_false (line 9156) | fn env_flag_is_false(name: &str) -> bool { function parse_pr_feedback_cursor_handoff (line 9166) | fn parse_pr_feedback_cursor_handoff(value: &str) -> Option bool { function open_cursor_review_handoff (line 9197) | fn open_cursor_review_handoff(handoff: &PrFeedbackCursorHandoff) -> Resu... function print_codex_open_plan (line 9216) | fn print_codex_open_plan(plan: &CodexOpenPlan) { function record_codex_open_plan (line 9256) | fn record_codex_open_plan(plan: &CodexOpenPlan, mode: &str) { function load_codex_config_for_path (line 9317) | fn load_codex_config_for_path(target_path: &Path) -> config::CodexConfig { function default_codex_connect_path (line 9339) | fn default_codex_connect_path() -> PathBuf { function resolve_codex_connect_target_path (line 9358) | fn resolve_codex_connect_target_path(path: Option) -> Result bool { function looks_like_commit_workflow_query (line 9381) | fn looks_like_commit_workflow_query(normalized_query: &str) -> bool { function looks_like_prom_sync_workflow_query (line 9403) | fn looks_like_prom_sync_workflow_query(normalized_query: &str) -> bool { function looks_like_session_lookup_query (line 9417) | fn looks_like_session_lookup_query(normalized_query: &str) -> bool { function looks_like_directional_session_query (line 9426) | fn looks_like_directional_session_query(query: &str) -> bool { function contains_lookup_subject (line 9432) | fn contains_lookup_subject(query: &str) -> bool { function starts_with_session_control_phrase (line 9445) | fn starts_with_session_control_phrase(query: &str) -> bool { function resolve_codex_session_lookup (line 9463) | fn resolve_codex_session_lookup( function resolve_directional_session_lookup (line 9509) | fn resolve_directional_session_lookup( function split_directional_query (line 9561) | fn split_directional_query(query: &str) -> Option<(String, String)> { function find_word_boundary (line 9571) | fn find_word_boundary(text: &str, needle: &str) -> Option { function parse_ordinal_index (line 9590) | fn parse_ordinal_index(query: &str) -> Option { function looks_like_latest_query (line 9618) | fn looks_like_latest_query(query: &str) -> bool { function strip_codex_control_words (line 9627) | fn strip_codex_control_words(query: &str) -> Vec { function build_codex_recovery_plan (line 9665) | fn build_codex_recovery_plan( function build_recovery_prompt (line 9719) | fn build_recovery_prompt( function build_codex_open_no_match_message (line 9762) | fn build_codex_open_no_match_message( function resolve_codex_references (line 9779) | fn resolve_codex_references( function resolve_builtin_repo_references (line 9835) | fn resolve_builtin_repo_references( function resolve_external_reference (line 9867) | fn resolve_external_reference( function render_reference_resolver_command (line 9935) | fn render_reference_resolver_command( function resolve_builtin_linear_reference (line 9950) | fn resolve_builtin_linear_reference( function resolve_builtin_url_reference (line 9969) | fn resolve_builtin_url_reference( function resolve_builtin_commit_workflow_reference (line 10009) | fn resolve_builtin_commit_workflow_reference(repo_root: &Path) -> Result... function resolve_builtin_sync_workflow_reference (line 10040) | fn resolve_builtin_sync_workflow_reference(repo_root: &Path) -> Result Option { function render_commit_workflow_reference (line 10075) | fn render_commit_workflow_reference( function render_sync_workflow_reference (line 10143) | fn render_sync_workflow_reference(repo_root: &Path, agents_instructions:... function render_compact_bullet_block (line 10169) | fn render_compact_bullet_block(value: &str, max_lines: usize) -> String { function read_repo_agents_instructions (line 10184) | fn read_repo_agents_instructions(repo_root: &Path) -> Option { function detect_commit_workflow_kit_gate (line 10194) | fn detect_commit_workflow_kit_gate(repo_root: &Path) -> Option { function is_prom_workspace_path (line 10204) | fn is_prom_workspace_path(path: &Path) -> bool { function detect_sync_workflow_command (line 10209) | fn detect_sync_workflow_command(repo_root: &Path) -> Option { function extract_reference_candidates (line 10216) | fn extract_reference_candidates(query_text: &str) -> Vec { function trim_reference_token (line 10238) | fn trim_reference_token(value: &str) -> &str { function looks_like_http_url (line 10247) | fn looks_like_http_url(value: &str) -> bool { function looks_like_github_pr_url (line 10252) | fn looks_like_github_pr_url(value: &str) -> bool { function looks_like_pr_feedback_query (line 10265) | fn looks_like_pr_feedback_query(query_text: &str) -> bool { function wildcard_match (line 10275) | fn wildcard_match(pattern: &str, candidate: &str) -> bool { function parse_linear_url_reference (line 10305) | fn parse_linear_url_reference(value: &str) -> Option { function humanize_linear_slug (line 10347) | fn humanize_linear_slug(value: &str) -> String { function render_linear_url_reference (line 10362) | fn render_linear_url_reference(reference: &LinearUrlReference) -> String { function build_codex_prompt (line 10383) | fn build_codex_prompt( function build_codex_prompt_with_runtime (line 10439) | fn build_codex_prompt_with_runtime( function has_session_reference (line 10454) | fn has_session_reference(references: &[CodexResolvedReference]) -> bool { function effective_max_resolved_references (line 10460) | fn effective_max_resolved_references(codex_cfg: &config::CodexConfig) ->... function effective_prompt_context_budget_chars (line 10464) | fn effective_prompt_context_budget_chars( function new_workflow_trace_id (line 10474) | fn new_workflow_trace_id() -> String { function new_workflow_span_id (line 10478) | fn new_workflow_span_id() -> String { function workflow_kind_from_route (line 10482) | fn workflow_kind_from_route(route: &str) -> String { function trace_context_from_reference (line 10489) | fn trace_context_from_reference( function derive_codex_open_plan_trace (line 10507) | fn derive_codex_open_plan_trace(plan: &CodexOpenPlan) -> Option CodexOpenPlan { function runtime_skill_names (line 10545) | fn runtime_skill_names(runtime: Option<&codex_runtime::CodexRuntimeActiv... function compact_codex_context_block (line 10562) | fn compact_codex_context_block(value: &str, max_lines: usize, max_chars:... function copy_session (line 10589) | fn copy_session(session: Option, provider: Provider) -> Result<(... function copy_session_history_to_clipboard (line 10734) | fn copy_session_history_to_clipboard(session_id: &str, provider: Provide... function copy_last_session (line 10742) | fn copy_last_session(provider: Provider, search: Option) -> Resu... function copy_session_by_search (line 10784) | fn copy_session_by_search(provider: Provider, query: &str) -> Result<()> { function append_history_message (line 10931) | fn append_history_message( function read_session_history (line 10963) | fn read_session_history(session_id: &str, provider: Provider) -> Result<... function extract_content_text (line 11047) | fn extract_content_text(content: Option<&serde_json::Value>) -> String { function strip_system_reminders (line 11070) | fn strip_system_reminders(text: &str) -> String { function is_session_boilerplate (line 11086) | fn is_session_boilerplate(text: &str) -> bool { function copy_context (line 11142) | fn copy_context( function show_session (line 11296) | fn show_session( function read_last_context (line 11356) | fn read_last_context( function copy_to_clipboard (line 11453) | fn copy_to_clipboard(text: &str) -> Result<()> { function strip_thinking_blocks (line 11512) | fn strip_thinking_blocks(s: &str) -> String { function truncate_str (line 11535) | fn truncate_str(s: &str, max: usize) -> String { function format_relative_time (line 11548) | fn format_relative_time(ts: &str) -> String { function is_auto_generated_name (line 11592) | fn is_auto_generated_name(name: &str) -> bool { function extract_error_summary (line 11598) | fn extract_error_summary(entry: &JsonlEntry) -> Option { function extract_codex_user_message (line 11633) | fn extract_codex_user_message(entry: &CodexEntry) -> Option { function extract_codex_error_summary (line 11669) | fn extract_codex_error_summary(entry: &CodexEntry) -> Option { function extract_codex_content_text (line 11698) | fn extract_codex_content_text(value: &serde_json::Value) -> Option String { constant GEMINI_API_URL (line 11752) | const GEMINI_API_URL: &str = "https://generativelanguage.googleapis.com/... constant DEFAULT_GEMINI_MODEL (line 11753) | const DEFAULT_GEMINI_MODEL: &str = "gemini-1.5-flash"; constant DEFAULT_SUMMARY_AGE_MINUTES (line 11754) | const DEFAULT_SUMMARY_AGE_MINUTES: i64 = 45; constant DEFAULT_SUMMARY_MAX_CHARS (line 11755) | const DEFAULT_SUMMARY_MAX_CHARS: usize = 12_000; constant DEFAULT_HANDOFF_MAX_CHARS (line 11756) | const DEFAULT_HANDOFF_MAX_CHARS: usize = 6_000; function get_session_summaries_path (line 11758) | fn get_session_summaries_path(project_path: &PathBuf) -> PathBuf { function load_session_summaries (line 11765) | fn load_session_summaries(project_path: &PathBuf) -> Result String { function get_summary_cache_entry (line 11795) | fn get_summary_cache_entry<'a>( function summary_age_minutes (line 11812) | fn summary_age_minutes() -> i64 { function summary_max_chars (line 11819) | fn summary_max_chars() -> usize { function handoff_max_chars (line 11826) | fn handoff_max_chars() -> usize { function gemini_model (line 11833) | fn gemini_model() -> String { function get_gemini_api_key (line 11837) | fn get_gemini_api_key() -> Result { function truncate_for_summary (line 11863) | fn truncate_for_summary(context: &str) -> String { function truncate_for_handoff (line 11872) | fn truncate_for_handoff(context: &str) -> String { function should_summarize (line 11881) | fn should_summarize(last_ts: &str) -> bool { function summarize_session_with_gemini (line 11889) | fn summarize_session_with_gemini(context: &str) -> Result { function summarize_handoff_with_gemini (line 11960) | fn summarize_handoff_with_gemini(context: &str) -> Result { function parse_summary_response (line 12028) | fn parse_summary_response(content: &str) -> Result Option { type GeminiResponse (line 12048) | struct GeminiResponse { type GeminiCandidate (line 12053) | struct GeminiCandidate { type GeminiContent (line 12058) | struct GeminiContent { type GeminiPart (line 12063) | struct GeminiPart { type SessionSummaryResponse (line 12068) | struct SessionSummaryResponse { function get_display_summary (line 12073) | fn get_display_summary( function get_latest_session_ref_for_path (line 12088) | pub fn get_latest_session_ref_for_path(project_path: &PathBuf) -> Result... function get_latest_session_history_for_path (line 12096) | pub fn get_latest_session_history_for_path( function maybe_update_summary (line 12131) | fn maybe_update_summary( function save_summary_cache (line 12165) | fn save_summary_cache(cache: &mut HashMap) -... function get_session_last_timestamp_for_session (line 12175) | fn get_session_last_timestamp_for_session(session: &CrossProjectSession)... function resume_session (line 12195) | fn resume_session(session: Option, path: Option, provide... function save_session (line 12323) | fn save_session(name: &str, id: Option) -> Result<()> { function open_notes (line 12365) | fn open_notes(session: &str) -> Result<()> { function remove_session (line 12406) | fn remove_session(session: &str) -> Result<()> { function init_ai_folder (line 12428) | fn init_ai_folder() -> Result<()> { function ensure_gitignore (line 12452) | fn ensure_gitignore() -> Result<()> { function auto_import_sessions (line 12485) | fn auto_import_sessions() -> Result<()> { function import_sessions (line 12549) | fn import_sessions() -> Result<()> { function generate_session_name (line 12619) | fn generate_session_name(session: &AiSession, index: &SessionIndex) -> S... type CrossProjectSession (line 12680) | struct CrossProjectSession { type SessionSummaries (line 12692) | struct SessionSummaries { type SessionSummary (line 12697) | struct SessionSummary { type SessionChapter (line 12706) | struct SessionChapter { type SummaryCacheEntry (line 12711) | struct SummaryCacheEntry { type ConsumedCheckpoints (line 12718) | struct ConsumedCheckpoints { type ConsumedEntry (line 12724) | struct ConsumedEntry { function run_sessions (line 12734) | pub fn run_sessions(opts: &SessionsOpts) -> Result<()> { function scan_all_project_sessions (line 12919) | fn scan_all_project_sessions(provider: Provider) -> Result String { function folder_to_path (line 13120) | fn folder_to_path(folder: &PathBuf) -> PathBuf { function get_cross_project_context (line 13128) | fn get_cross_project_context( function read_cross_project_context (line 13154) | fn read_cross_project_context( function find_codex_session_file (line 13288) | fn find_codex_session_file(session_id: &str) -> Option { function find_cursor_session_file (line 13317) | fn find_cursor_session_file(session_id: &str) -> Option { function read_codex_cross_project_context (line 13341) | fn read_codex_cross_project_context( function read_cursor_cross_project_context (line 13385) | fn read_cursor_cross_project_context( function get_consumed_checkpoints_path (line 13430) | fn get_consumed_checkpoints_path(project_path: &PathBuf) -> PathBuf { function load_consumed_checkpoints (line 13438) | fn load_consumed_checkpoints(project_path: &PathBuf) -> Result Result<()> { function get_session_last_timestamp_for_path (line 13484) | fn get_session_last_timestamp_for_path( function init_temp_git_repo (line 13538) | fn init_temp_git_repo() -> tempfile::TempDir { function decode_cursor_project_path_handles_hyphenated_components (line 13550) | fn decode_cursor_project_path_handles_hyphenated_components() { function parse_cursor_session_file_extracts_messages (line 13576) | fn parse_cursor_session_file_extracts_messages() { function normalize_session_message_strips_setup_scaffolding (line 13599) | fn normalize_session_message_strips_setup_scaffolding() { function normalize_codex_resolve_args_accepts_trailing_json_flag (line 13628) | fn normalize_codex_resolve_args_accepts_trailing_json_flag() { function select_codex_state_db_path_prefers_highest_version (line 13649) | fn select_codex_state_db_path_prefers_highest_version() { function read_codex_thread_schema_detects_optional_columns (line 13660) | fn read_codex_thread_schema_detects_optional_columns() { function read_codex_first_user_message_since_prefers_first_post_launch_turn (line 13704) | fn read_codex_first_user_message_since_prefers_first_post_launch_turn() { function read_codex_first_user_message_since_skips_contextual_scaffolding (line 13727) | fn read_codex_first_user_message_since_skips_contextual_scaffolding() { function append_history_message_skips_consecutive_duplicates (line 13749) | fn append_history_message_skips_consecutive_duplicates() { function codex_find_search_terms_keep_phrase_and_meaningful_tokens (line 13762) | fn codex_find_search_terms_keep_phrase_and_meaningful_tokens() { function rank_recover_rows_prefers_matching_session_id_prefix (line 13776) | fn rank_recover_rows_prefers_matching_session_id_prefix() { function extract_codex_session_hint_prefers_uuid_like_token (line 13806) | fn extract_codex_session_hint_prefers_uuid_like_token() { function extract_codex_session_hint_ignores_git_sha_like_token (line 13816) | fn extract_codex_session_hint_ignores_git_sha_like_token() { function extract_codex_session_reference_request_parses_count_and_followup (line 13824) | fn extract_codex_session_reference_request_parses_count_and_followup() { function extract_codex_session_reference_request_supports_two_session_hints (line 13840) | fn extract_codex_session_reference_request_supports_two_session_hints() { function extract_codex_session_reference_request_requires_followup_work (line 13861) | fn extract_codex_session_reference_request_requires_followup_work() { function extract_codex_session_reference_request_does_not_steal_resume_queries (line 13872) | fn extract_codex_session_reference_request_does_not_steal_resume_queries... function infer_recover_route_changes_directory_for_cross_repo_candidate (line 13883) | fn infer_recover_route_changes_directory_for_cross_repo_candidate() { function session_lookup_detection_stays_conservative_for_general_session_work (line 13907) | fn session_lookup_detection_stays_conservative_for_general_session_work() { function session_lookup_detection_accepts_explicit_control_prompts (line 13920) | fn session_lookup_detection_accepts_explicit_control_prompts() { function wildcard_match_handles_linear_style_patterns (line 13928) | fn wildcard_match_handles_linear_style_patterns() { function sample_codex_doctor_snapshot (line 13943) | fn sample_codex_doctor_snapshot() -> CodexDoctorSnapshot { function codex_doctor_assert_autonomous_accepts_grounded_snapshot (line 13981) | fn codex_doctor_assert_autonomous_accepts_grounded_snapshot() { function codex_doctor_assert_learning_requires_grounded_outcomes (line 13987) | fn codex_doctor_assert_learning_requires_grounded_outcomes() { function codex_eval_opportunities_flag_missing_runtime_and_daemon (line 14000) | fn codex_eval_opportunities_flag_missing_runtime_and_daemon() { function codex_eval_summary_prefers_grounded_signal_when_ready (line 14022) | fn codex_eval_summary_prefers_grounded_signal_when_ready() { function codex_eval_quality_marks_blocking_runtime_failures_erroneous (line 14051) | fn codex_eval_quality_marks_blocking_runtime_failures_erroneous() { function codex_eval_quality_stays_valid_while_warming_up (line 14076) | fn codex_eval_quality_stays_valid_while_warming_up() { function parse_linear_url_reference_extracts_project_shape (line 14086) | fn parse_linear_url_reference_extracts_project_shape() { function github_pr_url_detection_is_specific (line 14100) | fn github_pr_url_detection_is_specific() { function pr_feedback_query_detection_matches_check_and_comments (line 14110) | fn pr_feedback_query_detection_matches_check_and_comments() { function commit_workflow_query_detection_matches_high_confidence_phrases (line 14123) | fn commit_workflow_query_detection_matches_high_confidence_phrases() { function commit_workflow_query_detection_stays_conservative (line 14130) | fn commit_workflow_query_detection_stays_conservative() { function prom_sync_workflow_query_detection_matches_high_confidence_phrases (line 14140) | fn prom_sync_workflow_query_detection_matches_high_confidence_phrases() { function prom_sync_workflow_query_detection_stays_conservative (line 14147) | fn prom_sync_workflow_query_detection_stays_conservative() { function build_codex_open_plan_routes_plain_commit_into_commit_workflow (line 14157) | fn build_codex_open_plan_routes_plain_commit_into_commit_workflow() { function build_codex_open_plan_routes_prom_sync_branch_into_sync_workflow (line 14181) | fn build_codex_open_plan_routes_prom_sync_branch_into_sync_workflow() { function parse_pr_feedback_cursor_handoff_extracts_paths (line 14209) | fn parse_pr_feedback_cursor_handoff_extracts_paths() { function build_codex_prompt_keeps_plain_query_plain (line 14230) | fn build_codex_prompt_keeps_plain_query_plain() { function build_codex_prompt_avoids_duplicate_reference_header (line 14238) | fn build_codex_prompt_avoids_duplicate_reference_header() { function parse_reference_fields_extracts_pr_feedback_artifacts (line 14252) | fn parse_reference_fields_extracts_pr_feedback_artifacts() { function derive_codex_open_plan_trace_assigns_plain_routes (line 14286) | fn derive_codex_open_plan_trace_assigns_plain_routes() { function build_pr_feedback_workflow_explanation_surfaces_packet_and_command (line 14314) | fn build_pr_feedback_workflow_explanation_surfaces_packet_and_command() { function build_codex_prompt_respects_shared_context_budget (line 14405) | fn build_codex_prompt_respects_shared_context_budget() { function read_codex_session_completion_snapshot_tracks_latest_completed_turn (line 14431) | fn read_codex_session_completion_snapshot_tracks_latest_completed_turn() { function select_codex_session_completion_summary_prefers_last_user_message (line 14461) | fn select_codex_session_completion_summary_prefers_last_user_message() { function parse_apply_patch_changes_extracts_absolute_paths (line 14486) | fn parse_apply_patch_changes_extracts_absolute_paths() { function summarize_fish_fn_change_detects_shortcut_remap (line 14508) | fn summarize_fish_fn_change_detects_shortcut_remap() { function build_codex_session_changed_events_uses_fish_summary_fallback (line 14524) | fn build_codex_session_changed_events_uses_fish_summary_fallback() { function format_session_ref_respects_provider_prefix_flag (line 14562) | fn format_session_ref_respects_provider_prefix_flag() { function ai_session_from_codex_recover_row_prefers_title_for_preview (line 14584) | fn ai_session_from_codex_recover_row_prefers_title_for_preview() { function ai_session_from_codex_recover_row_falls_back_to_first_user_message (line 14606) | fn ai_session_from_codex_recover_row_falls_back_to_first_user_message() { FILE: src/ai_context.rs function find_project_root (line 32) | pub fn find_project_root() -> Option { function load_command_context (line 54) | pub fn load_command_context(command: &str) -> Option { function load_task_context (line 63) | pub fn load_task_context(task_name: &str) -> Option { function load_project_context (line 72) | pub fn load_project_context() -> Option { function load_full_command_context (line 79) | pub fn load_full_command_context(command: &str) -> String { function load_context_file (line 98) | fn load_context_file(path: &Path) -> Option { function has_ai_context (line 107) | pub fn has_ai_context() -> bool { function test_find_project_root_returns_some_in_git_repo (line 118) | fn test_find_project_root_returns_some_in_git_repo() { FILE: src/ai_everruns.rs constant DEFAULT_EVERRUNS_BASE_URL (line 23) | const DEFAULT_EVERRUNS_BASE_URL: &str = "http://127.0.0.1:9300/api"; constant DEFAULT_EVERRUNS_API_KEY_ENV (line 24) | const DEFAULT_EVERRUNS_API_KEY_ENV: &str = "EVERRUNS_API_KEY"; constant DEFAULT_SEQ_SOCKET (line 25) | const DEFAULT_SEQ_SOCKET: &str = "/tmp/seqd.sock"; function run (line 27) | pub fn run(opts: AiEverrunsOpts) -> Result<()> { function resolve_prompt (line 88) | fn resolve_prompt(opts: &AiEverrunsOpts) -> Result { function wait_for_completion (line 112) | fn wait_for_completion( function wait_for_completion_sse (line 160) | fn wait_for_completion_sse( function wait_for_completion_poll (line 330) | fn wait_for_completion_poll( function is_sse_unavailable_error (line 482) | fn is_sse_unavailable_error(err: &anyhow::Error) -> bool { function classify_error_text (line 487) | fn classify_error_text(err: &str) -> &'static str { function emit_qa_pair_signal (line 510) | fn emit_qa_pair_signal( type SignalTextMode (line 530) | enum SignalTextMode { function signal_text_mode (line 536) | fn signal_text_mode() -> SignalTextMode { function signal_text_max_chars (line 547) | fn signal_text_max_chars() -> usize { function text_signal_payload (line 555) | fn text_signal_payload(text: &str) -> Value { function extract_output_text (line 582) | fn extract_output_text(data: &Value) -> Option { function resolve_session_id (line 602) | fn resolve_session_id(api: &EverrunsApi, resolved: &ResolvedSettings) ->... type ResolvedSettings (line 642) | struct ResolvedSettings { method from_opts (line 657) | fn from_opts(opts: &AiEverrunsOpts) -> Result { function normalize_base_url (line 724) | fn normalize_base_url(raw: &str) -> Result { function resolve_seq_socket_path (line 741) | fn resolve_seq_socket_path(cli_socket: Option) -> PathBuf { function load_project_everruns_config (line 754) | fn load_project_everruns_config() -> Option { function find_flow_toml_upwards (line 761) | fn find_flow_toml_upwards(start: &Path) -> Option { function first_non_empty (line 773) | fn first_non_empty(a: Option, b: Option) -> Option Option { type EverrunsApi (line 794) | struct EverrunsApi { method new (line 802) | fn new(base_url: String, api_key: Option) -> Result { method pick_first_harness_id (line 819) | fn pick_first_harness_id(&self) -> Result { method pick_first_agent_id (line 830) | fn pick_first_agent_id(&self) -> Result { method create_session (line 841) | fn create_session(&self, body: Value) -> Result { method post_message (line 850) | fn post_message(&self, session_id: &str, prompt: &str) -> Result) -> Res... method submit_tool_results (line 883) | fn submit_tool_results( method read_sse_batch (line 894) | fn read_sse_batch( method get_json (line 991) | fn get_json(&self, path: &str, query: &[(&str, String)]) -> Result Result { method with_auth (line 1003) | fn with_auth(&self, request: RequestBuilder) -> RequestBuilder { method send_json (line 1011) | fn send_json(&self, request: RequestBuilder, method: &str, path: &str)... type SeqBridge (line 1040) | struct SeqBridge { method connect (line 1046) | fn connect(settings: &ResolvedSettings) -> Result { method execute_tool_call (line 1066) | fn execute_tool_call( method emit_runtime_event (line 1168) | fn emit_runtime_event( function unix_time_nanos_now (line 1210) | fn unix_time_nanos_now() -> u64 { function end_unix_nanos (line 1217) | fn end_unix_nanos(start_unix_nano: u64, started: Instant) -> u64 { type ListResponse (line 1222) | struct ListResponse { type ResourceStub (line 1227) | struct ResourceStub { type EverrunsEvent (line 1234) | struct EverrunsEvent { type EventContext (line 1245) | struct EventContext { type SubmitToolResultsRequest (line 1251) | struct SubmitToolResultsRequest { type SubmitToolResult (line 1256) | struct SubmitToolResult { type SseBatch (line 1264) | struct SseBatch { type SseFrame (line 1269) | enum SseFrame { function decode_sse_frame (line 1275) | fn decode_sse_frame(event_type: &str, data: &str) -> Result { FILE: src/ai_server.rs constant DEFAULT_URL (line 14) | const DEFAULT_URL: &str = "http://127.0.0.1:7331"; constant MAX_RETRIES (line 15) | const MAX_RETRIES: usize = 3; type ChatRequest (line 18) | struct ChatRequest { type ChatMessage (line 25) | struct ChatMessage { type ChatResponse (line 31) | struct ChatResponse { type Choice (line 36) | struct Choice { type ResponseMessage (line 42) | struct ResponseMessage { type ModelsResponse (line 47) | struct ModelsResponse { type ModelInfo (line 52) | struct ModelInfo { type AiServerConfig (line 56) | struct AiServerConfig { function quick_prompt (line 63) | pub fn quick_prompt( function resolve_ai_config (line 156) | fn resolve_ai_config( function fetch_default_model (line 217) | fn fetch_default_model(base_url: &str, token: Option<&str>) -> Result String { FILE: src/ai_taskd.rs constant MSGPACK_WIRE_PREFIX (line 17) | const MSGPACK_WIRE_PREFIX: u8 = 0xFF; type WireEncoding (line 20) | enum WireEncoding { type CachedDiscovery (line 26) | struct CachedDiscovery { type CachedArtifact (line 32) | struct CachedArtifact { type TaskdState (line 38) | struct TaskdState { type TaskdRequest (line 45) | enum TaskdRequest { function default_capture_output (line 64) | fn default_capture_output() -> bool { type TaskdResponse (line 69) | struct TaskdResponse { type RequestTimings (line 80) | struct RequestTimings { method to_kv_line (line 89) | fn to_kv_line(&self, selector: &str) -> String { function start (line 102) | pub fn start() -> Result<()> { function stop (line 140) | pub fn stop() -> Result<()> { function status (line 164) | pub fn status() -> Result<()> { function run_via_daemon (line 173) | pub fn run_via_daemon( function serve (line 205) | pub fn serve() -> Result<()> { function handle_request (line 286) | fn handle_request(request: &TaskdRequest, state: &mut TaskdState) -> Tas... type RunRequestOutcome (line 362) | struct RunRequestOutcome { function discovery_ttl (line 369) | fn discovery_ttl() -> Duration { function artifact_ttl (line 377) | fn artifact_ttl() -> Duration { function discovery_key (line 385) | fn discovery_key(project_root: &Path) -> PathBuf { function ensure_discovery_fresh (line 391) | fn ensure_discovery_fresh(state: &mut TaskdState, key: &Path) -> Result<... function refresh_discovery (line 401) | fn refresh_discovery(state: &mut TaskdState, key: &Path) -> Result<()> { function run_request (line 413) | fn run_request( function router_session_id (line 595) | fn router_session_id(project_root: &Path) -> String { function emit_router_decision (line 610) | fn emit_router_decision( function emit_router_override (line 655) | fn emit_router_override( function emit_router_outcome (line 683) | fn emit_router_outcome( function classify_error (line 727) | fn classify_error(message: &str) -> String { function read_optional_env (line 744) | fn read_optional_env(key: &str) -> Option { function normalize_selector_for_compare (line 753) | fn normalize_selector_for_compare(value: &str) -> String { function same_task_selector (line 761) | fn same_task_selector(a: &str, b: &str) -> bool { function run_cached_task_output_hot (line 765) | fn run_cached_task_output_hot( function run_cached_task_status_hot (line 795) | fn run_cached_task_status_hot( function run_artifact_output (line 825) | fn run_artifact_output( function run_artifact_status (line 849) | fn run_artifact_status( function ping (line 873) | fn ping() -> Result<()> { function send_request (line 882) | fn send_request(request: &TaskdRequest, encoding: WireEncoding) -> Resul... function encode_request (line 902) | fn encode_request(request: &TaskdRequest, encoding: WireEncoding) -> Res... function decode_request (line 917) | fn decode_request(payload: &[u8]) -> Result<(TaskdRequest, WireEncoding)> { function encode_response (line 932) | fn encode_response(response: &TaskdResponse, encoding: WireEncoding) -> ... function decode_response (line 947) | fn decode_response(payload: &[u8]) -> Result { function infer_encoding_from_payload (line 956) | fn infer_encoding_from_payload(payload: &[u8]) -> WireEncoding { function socket_path (line 964) | fn socket_path() -> PathBuf { function pid_path (line 972) | fn pid_path() -> PathBuf { function shell_quote (line 980) | fn shell_quote(raw: &str) -> String { function write_error_response (line 985) | fn write_error_response(stream: &mut UnixStream, message: String, encodi... function timings_log_enabled (line 1000) | fn timings_log_enabled() -> bool { function selector_compare_handles_ai_prefix (line 1017) | fn selector_compare_handles_ai_prefix() { FILE: src/ai_tasks.rs type DiscoveredAiTask (line 15) | pub struct DiscoveredAiTask { type AiTaskDiscoveryArtifacts (line 27) | pub(crate) struct AiTaskDiscoveryArtifacts { type Metadata (line 33) | struct Metadata { type CachedTaskArtifact (line 40) | pub struct CachedTaskArtifact { function discover_tasks (line 46) | pub fn discover_tasks(root: &Path) -> Result> { function discover_tasks_from_root (line 56) | pub(crate) fn discover_tasks_from_root(root: PathBuf) -> Result Result( function run_task (line 231) | pub fn run_task(task: &DiscoveredAiTask, project_root: &Path, args: &[St... function run_task_via_moon (line 257) | pub fn run_task_via_moon( function run_task_via_moon_output (line 277) | pub fn run_task_via_moon_output( function build_task_cached (line 293) | pub fn build_task_cached( function run_task_cached (line 368) | pub fn run_task_cached( function run_task_cached_output (line 395) | pub fn run_task_cached_output( function default_cache_root (line 419) | pub fn default_cache_root() -> Result { function moon_run_command (line 423) | fn moon_run_command(task: &DiscoveredAiTask, project_root: &Path, args: ... function task_reference (line 462) | pub fn task_reference(task: &DiscoveredAiTask) -> String { function resolve_moon_workspace_and_entry (line 466) | fn resolve_moon_workspace_and_entry( function task_has_workspace (line 486) | fn task_has_workspace(task: &DiscoveredAiTask, project_root: &Path) -> b... function ai_task_cache_root (line 495) | fn ai_task_cache_root() -> Result { function compute_cache_key (line 504) | fn compute_cache_key( function hash_file_signature_if_exists (line 526) | fn hash_file_signature_if_exists(hasher: &mut Sha256, path: &Path) -> Re... function moon_version_for_cache_key (line 543) | fn moon_version_for_cache_key() -> Option> { function find_built_binary (line 584) | fn find_built_binary(workspace_dir: &Path) -> Result { function moon_mod_package_name (line 633) | fn moon_mod_package_name(workspace_dir: &Path) -> Result> { function is_executable (line 655) | fn is_executable(path: &Path) -> bool { function find_moon_workspace_root (line 669) | fn find_moon_workspace_root(start: &Path) -> Option { function parse_task (line 680) | fn parse_task(task_root: &Path, path: &Path) -> Result { function parse_metadata (line 727) | fn parse_metadata(content: &str) -> Metadata { function parse_tags (line 754) | fn parse_tags(value: &str) -> Vec { function strip_quotes (line 770) | fn strip_quotes(value: &str) -> String { function parse_scoped_selector (line 783) | fn parse_scoped_selector(selector: &str) -> Option<(String, String)> { function normalize_selector (line 802) | fn normalize_selector(raw: &str) -> String { function parses_metadata_comments (line 821) | fn parses_metadata_comments() { FILE: src/ai_test.rs function run (line 8) | pub fn run(opts: AiTestNewOpts) -> Result<()> { function find_project_root (line 59) | fn find_project_root(start: &Path) -> Result { function normalize_relative_dir (line 71) | fn normalize_relative_dir(raw: &str) -> Result { function normalize_test_name (line 92) | fn normalize_test_name(raw: &str, use_spec: bool) -> Result { function sanitize_segment (line 114) | fn sanitize_segment(raw: &str) -> String { function normalize_file_component (line 133) | fn normalize_file_component(file: &str, use_spec: bool) -> String { function appends_test_suffix_for_plain_name (line 159) | fn appends_test_suffix_for_plain_name() { function preserves_existing_test_suffix (line 165) | fn preserves_existing_test_suffix() { function adds_spec_before_extension (line 171) | fn adds_spec_before_extension() { FILE: src/analytics.rs function run (line 6) | pub fn run(cmd: AnalyticsCommand) -> Result<()> { FILE: src/archive.rs function run (line 10) | pub fn run(opts: ArchiveOpts) -> Result<()> { type ArchiveFilter (line 82) | struct ArchiveFilter { method default (line 87) | fn default() -> Self { method should_skip (line 102) | fn should_skip(&self, path: &Path) -> bool { function copy_dir_all (line 110) | fn copy_dir_all(from: &Path, to: &Path, filter: &ArchiveFilter) -> Resul... function copy_symlink (line 139) | fn copy_symlink(target: &Path, dest: &Path) -> Result<()> { function sanitize_segment (line 160) | fn sanitize_segment(value: &str) -> String { FILE: src/ask.rs type AskOpts (line 15) | pub struct AskOpts { type AskSelection (line 24) | enum AskSelection { type FlowCommand (line 29) | struct FlowCommand { function run (line 36) | pub fn run(opts: AskOpts) -> Result<()> { function run_with_tasks (line 42) | fn run_with_tasks(opts: AskOpts, tasks: Vec) -> Result<(... function print_task_suggestion (line 79) | fn print_task_suggestion(task: &DiscoveredTask, args: &[String]) { function print_command_suggestion (line 97) | fn print_command_suggestion(command: &str) { function find_task (line 102) | fn find_task<'a>(name: &str, tasks: &'a [DiscoveredTask]) -> Result<&'a ... function flow_command_candidates (line 109) | fn flow_command_candidates() -> Vec { function valid_subcommand_set (line 136) | fn valid_subcommand_set(commands: &[FlowCommand]) -> HashSet { function build_prompt (line 153) | fn build_prompt(query: &str, tasks: &[DiscoveredTask], commands: &[FlowC... function parse_ask_response (line 197) | fn parse_ask_response( function parse_structured_line (line 240) | fn parse_structured_line( function normalize_command (line 260) | fn normalize_command(raw: &str, valid_subcommands: &HashSet) -> ... function is_command_like (line 287) | fn is_command_like(raw: &str, valid_subcommands: &HashSet) -> bo... function cli_subcommands (line 300) | fn cli_subcommands() -> Vec { function is_cli_subcommand (line 312) | fn is_cli_subcommand(args: &[String]) -> bool { function normalize_name (line 323) | fn normalize_name(s: &str) -> String { type DirectMatchResult (line 331) | struct DirectMatchResult { function try_direct_match (line 337) | fn try_direct_match(args: &[String], tasks: &[DiscoveredTask]) -> Option... function generate_abbreviation (line 413) | fn generate_abbreviation(name: &str) -> Option { function extract_task_name (line 429) | fn extract_task_name(response: &str, tasks: &[DiscoveredTask]) -> Result... function make_discovered (line 466) | fn make_discovered(name: &str) -> DiscoveredTask { function parse_task_response (line 490) | fn parse_task_response() { function parse_command_response (line 502) | fn parse_command_response() { FILE: src/auth.rs type DeviceStartResponse (line 12) | struct DeviceStartResponse { function default_poll_interval (line 21) | fn default_poll_interval() -> u64 { type DevicePollResponse (line 26) | struct DevicePollResponse { function run (line 31) | pub fn run(opts: AuthOpts) -> Result<()> { function login (line 35) | fn login(api_url_override: Option) -> Result<()> { function open_in_browser (line 109) | fn open_in_browser(url: &str) { FILE: src/base_tool.rs function resolve_bin (line 6) | pub fn resolve_bin() -> Option { function run_inherit_stdio (line 24) | pub fn run_inherit_stdio(bin: &Path, args: &[String]) -> Result<()> { function run_with_stdin (line 38) | pub fn run_with_stdin(bin: &Path, args: &[String], stdin: &str) -> Resul... FILE: src/bin/ai_taskd_client.rs constant MSGPACK_WIRE_PREFIX (line 9) | const MSGPACK_WIRE_PREFIX: u8 = 0xFF; type WireProtocol (line 12) | enum WireProtocol { type TaskdRequest (line 19) | enum TaskdRequest { type TaskdResponse (line 33) | struct TaskdResponse { type RequestTimings (line 43) | struct RequestTimings { function main (line 51) | fn main() { function run (line 61) | fn run() -> Result { function run_batch (line 168) | fn run_batch( function run_once (line 219) | fn run_once( function send_request (line 242) | fn send_request( function encode_request (line 264) | fn encode_request(request: &TaskdRequest, protocol: WireProtocol) -> Res... function decode_response (line 279) | fn decode_response(payload: &[u8]) -> Result { function print_response (line 288) | fn print_response(response: &TaskdResponse, include_timings: bool, selec... function default_socket_path (line 308) | fn default_socket_path() -> PathBuf { function read_optional_env (line 316) | fn read_optional_env(key: &str) -> Option { function print_help (line 325) | fn print_help() { FILE: src/branches.rs type BranchEntry (line 16) | struct BranchEntry { function run (line 23) | pub fn run(cmd: BranchesCommand) -> Result<()> { function run_list (line 35) | fn run_list(opts: BranchListOpts) -> Result<()> { function run_find (line 49) | fn run_find(opts: BranchFindOpts) -> Result<()> { function run_ai (line 82) | fn run_ai(opts: BranchAiOpts) -> Result<()> { function print_branch (line 122) | fn print_branch(entry: &BranchEntry) { function collect_branches (line 142) | fn collect_branches(include_remote: bool) -> Result> { function collect_local_branches (line 152) | fn collect_local_branches() -> Result> { function collect_remote_branches (line 185) | fn collect_remote_branches() -> Result> { function rank_branches (line 217) | fn rank_branches<'a>(query: &str, branches: &'a [BranchEntry]) -> Vec<(i... function top_candidates_for_ai (line 271) | fn top_candidates_for_ai(query: &str, branches: &[BranchEntry], limit: u... function build_ai_prompt (line 285) | fn build_ai_prompt(query: &str, candidates: &[BranchEntry]) -> String { function parse_ai_branch_response (line 313) | fn parse_ai_branch_response(response: &str, candidates: &[BranchEntry]) ... function switch_to_entry (line 334) | fn switch_to_entry(entry: &BranchEntry) -> Result<()> { function git_capture (line 364) | fn git_capture(args: &[&str]) -> Result { FILE: src/changes.rs function trace_enabled (line 15) | fn trace_enabled() -> bool { function trace (line 26) | fn trace(msg: &str) { function run (line 32) | pub fn run(cmd: ChangesCommand) -> Result<()> { function run_diff (line 49) | pub fn run_diff(cmd: DiffCommand) -> Result<()> { function repo_root (line 66) | fn repo_root() -> Result { function git_output_in (line 82) | fn git_output_in(repo_root: &Path, args: &[&str]) -> Result<(String, boo... function git_ref_exists (line 97) | fn git_ref_exists(repo_root: &Path, reference: &str) -> Result { function resolve_base_ref (line 107) | fn resolve_base_ref(repo_root: &Path) -> Result { function list_untracked (line 119) | fn list_untracked(repo_root: &Path) -> Result> { function print_current_diff (line 132) | fn print_current_diff() -> Result<()> { function diff_from_base (line 141) | fn diff_from_base(repo_root: &Path, base_ref: &str) -> Result { function read_diff_input (line 157) | fn read_diff_input(diff: Option, file: Option) -> Resul... function read_stdin (line 182) | fn read_stdin() -> Result { function apply_diff (line 190) | fn apply_diff(diff: Option, file: Option) -> Result<()> { function apply_diff_content (line 203) | fn apply_diff_content(repo_root: &Path, content: &str) -> Result<()> { type DiffBundle (line 228) | struct DiffBundle { type DiffBundlePayload (line 245) | struct DiffBundlePayload { type DiffBundlePayloadV1 (line 258) | struct DiffBundlePayloadV1 { type DiffBundlePayloadV2 (line 268) | struct DiffBundlePayloadV2 { type DiffStashRecord (line 280) | struct DiffStashRecord { function create_bundle (line 288) | fn create_bundle(env_keys: &[String]) -> Result<()> { function normalize_env_keys (line 350) | fn normalize_env_keys(raw: &[String]) -> Result> { function load_project_name (line 388) | fn load_project_name(repo_root: &Path) -> Result { function ensure_project_match (line 405) | fn ensure_project_match(repo_root: &Path, bundle: &DiffBundle) -> Result... function gather_env_vars (line 421) | fn gather_env_vars(keys: &[String]) -> Result<(Option, BTreeMap<... function read_personal_local_env (line 445) | fn read_personal_local_env(keys: &[String]) -> Result Result<()> { function bundle_hash (line 530) | fn bundle_hash(payload: &DiffBundlePayload) -> Result { function bundle_hash_v1 (line 538) | fn bundle_hash_v1(payload: &DiffBundlePayloadV1) -> Result { function bundle_hash_v2 (line 546) | fn bundle_hash_v2(payload: &DiffBundlePayloadV2) -> Result { function bundle_dir (line 554) | fn bundle_dir() -> Result { function write_bundle (line 562) | fn write_bundle(bundle: &DiffBundle) -> Result { function read_bundle (line 570) | fn read_bundle(id: &str) -> Result<(DiffBundle, Option)> { function apply_env_vars (line 638) | fn apply_env_vars(bundle: &DiffBundle) -> Result<()> { function local_env_path (line 663) | fn local_env_path(target: &str) -> Result { function stash_log_path (line 672) | fn stash_log_path() -> Result { function record_stash (line 679) | fn record_stash(repo_root: &Path, stash_ref: &str, bundle_hash: &str, me... function sanitize_env_segment (line 704) | fn sanitize_env_segment(value: &str) -> String { function write_local_env (line 724) | fn write_local_env( function stash_if_dirty (line 747) | fn stash_if_dirty(repo_root: &Path, bundle_hash: &str) -> Result &'static str { function format_relative_time (line 53) | fn format_relative_time(seconds: u64) -> String { type Commands (line 68) | pub enum Commands { type TracesOpts (line 606) | pub struct TracesOpts { type TraceCommand (line 625) | pub struct TraceCommand { type AnalyticsCommand (line 633) | pub struct AnalyticsCommand { type AnalyticsAction (line 639) | pub enum AnalyticsAction { type TraceAction (line 653) | pub enum TraceAction { type TraceSessionOpts (line 659) | pub struct TraceSessionOpts { type TraceSource (line 666) | pub enum TraceSource { type ProxyCommand (line 675) | pub struct ProxyCommand { type ProxyAction (line 681) | pub enum ProxyAction { type ProxyStartOpts (line 698) | pub struct ProxyStartOpts { type ProxyTraceOpts (line 709) | pub struct ProxyTraceOpts { type ProxyLastOpts (line 732) | pub struct ProxyLastOpts { type ProxyAddOpts (line 747) | pub struct ProxyAddOpts { type DomainsCommand (line 765) | pub struct DomainsCommand { type DomainsEngineArg (line 775) | pub enum DomainsEngineArg { type DomainsAction (line 781) | pub enum DomainsAction { type DomainsAddOpts (line 801) | pub struct DomainsAddOpts { type DomainsGetOpts (line 812) | pub struct DomainsGetOpts { type DomainsRmOpts (line 821) | pub struct DomainsRmOpts { type DaemonOpts (line 827) | pub struct DaemonOpts { type ScreenOpts (line 850) | pub struct ScreenOpts { type LogsOpts (line 865) | pub struct LogsOpts { type TraceOpts (line 892) | pub struct TraceOpts { type ServersOpts (line 899) | pub struct ServersOpts { type TasksCommand (line 910) | pub struct TasksCommand { type TasksAction (line 916) | pub enum TasksAction { type TasksListOpts (line 932) | pub struct TasksListOpts { type TasksDupesOpts (line 942) | pub struct TasksDupesOpts { type TasksInitAiOpts (line 949) | pub struct TasksInitAiOpts { type TasksBuildAiOpts (line 959) | pub struct TasksBuildAiOpts { type TasksRunAiOpts (line 972) | pub struct TasksRunAiOpts { type TasksDaemonCommand (line 991) | pub struct TasksDaemonCommand { type TasksDaemonAction (line 997) | pub enum TasksDaemonAction { type TasksOpts (line 1010) | pub struct TasksOpts { method default (line 1017) | fn default() -> Self { type AiTestNewOpts (line 1025) | pub struct AiTestNewOpts { type GlobalCommand (line 1043) | pub struct GlobalCommand { type GlobalAction (line 1058) | pub enum GlobalAction { type TaskRunOpts (line 1075) | pub struct TaskRunOpts { type LifecycleRunOpts (line 1097) | pub struct LifecycleRunOpts { type FastRunOpts (line 1107) | pub struct FastRunOpts { type TaskActivateOpts (line 1123) | pub struct TaskActivateOpts { type ProcessOpts (line 1130) | pub struct ProcessOpts { type KillOpts (line 1140) | pub struct KillOpts { type TaskLogsOpts (line 1162) | pub struct TaskLogsOpts { type DoctorOpts (line 1193) | pub struct DoctorOpts {} type HealthOpts (line 1196) | pub struct HealthOpts {} type InvariantsOpts (line 1199) | pub struct InvariantsOpts { type RerunOpts (line 1206) | pub struct RerunOpts { type ActiveOpts (line 1213) | pub struct ActiveOpts { type SessionsOpts (line 1223) | pub struct SessionsOpts { type ServerOpts (line 1245) | pub struct ServerOpts { type ServerAction (line 1257) | pub enum ServerAction { type WebOpts (line 1265) | pub struct WebOpts { type InitOpts (line 1275) | pub struct InitOpts { type ShellInitOpts (line 1282) | pub struct ShellInitOpts { type ShellCommand (line 1288) | pub struct ShellCommand { type ShellAction (line 1294) | pub enum ShellAction { type NewOpts (line 1302) | pub struct NewOpts { type HomeCommand (line 1313) | pub struct HomeCommand { type HomeAction (line 1324) | pub enum HomeAction { type ArchiveOpts (line 1330) | pub struct ArchiveOpts { type HubCommand (line 1336) | pub struct HubCommand { type HubOpts (line 1345) | pub struct HubOpts { type HubAction (line 1368) | pub enum HubAction { type SecretsCommand (line 1376) | pub struct SecretsCommand { type OtpCommand (line 1382) | pub struct OtpCommand { type OtpAction (line 1388) | pub enum OtpAction { type SecretsAction (line 1402) | pub enum SecretsAction { type SecretsListOpts (line 1410) | pub struct SecretsListOpts { type SecretsPullOpts (line 1417) | pub struct SecretsPullOpts { type DbCommand (line 1440) | pub struct DbCommand { type DbAction (line 1446) | pub enum DbAction { type JazzStorageCommand (line 1454) | pub struct JazzStorageCommand { type JazzStorageAction (line 1460) | pub enum JazzStorageAction { type JazzStorageKind (line 1482) | pub enum JazzStorageKind { type PostgresCommand (line 1492) | pub struct PostgresCommand { type PostgresAction (line 1498) | pub enum PostgresAction { type SecretsFormat (line 1520) | pub enum SecretsFormat { type SetupTarget (line 1526) | pub enum SetupTarget { type SetupOpts (line 1533) | pub struct SetupOpts { type IndexOpts (line 1543) | pub struct IndexOpts { type MatchOpts (line 1558) | pub struct MatchOpts { type AskOpts (line 1577) | pub struct AskOpts { type BranchesCommand (line 1592) | pub struct BranchesCommand { type BranchesAction (line 1598) | pub enum BranchesAction { type BranchListOpts (line 1608) | pub struct BranchListOpts { type BranchFindOpts (line 1618) | pub struct BranchFindOpts { type BranchAiOpts (line 1634) | pub struct BranchAiOpts { type CommitOpts (line 1656) | pub struct CommitOpts { type PrOpts (line 1726) | pub struct PrOpts { type GitignoreCommand (line 1754) | pub struct GitignoreCommand { type GitignoreAction (line 1760) | pub enum GitignoreAction { type GitignoreScanOpts (line 1777) | pub struct GitignoreScanOpts { type GitignorePolicyInitOpts (line 1787) | pub struct GitignorePolicyInitOpts { type RecipeCommand (line 1794) | pub struct RecipeCommand { type RecipeAction (line 1800) | pub enum RecipeAction { type RecipeListOpts (line 1812) | pub struct RecipeListOpts { type RecipeSearchOpts (line 1825) | pub struct RecipeSearchOpts { type RecipeRunOpts (line 1837) | pub struct RecipeRunOpts { type RecipeInitOpts (line 1855) | pub struct RecipeInitOpts { type RecipeScopeArg (line 1865) | pub enum RecipeScopeArg { type CommitQueueCommand (line 1871) | pub struct CommitQueueCommand { type ReviewCommand (line 1877) | pub struct ReviewCommand { type ReviewsTodoCommand (line 1883) | pub struct ReviewsTodoCommand { type GitRepairOpts (line 1889) | pub struct GitRepairOpts { type CommitQueueAction (line 1903) | pub enum CommitQueueAction { type ReviewAction (line 1994) | pub enum ReviewAction { type ReviewsTodoAction (line 2005) | pub enum ReviewsTodoAction { type JjCommand (line 2050) | pub struct JjCommand { type StatusOpts (line 2056) | pub struct StatusOpts { type JjStatusOpts (line 2063) | pub struct JjStatusOpts { type JjAction (line 2070) | pub enum JjAction { type JjRebaseOpts (line 2096) | pub struct JjRebaseOpts { type JjPushOpts (line 2103) | pub struct JjPushOpts { type JjSyncOpts (line 2113) | pub struct JjSyncOpts { type JjWorkspaceAction (line 2129) | pub enum JjWorkspaceAction { type JjBookmarkAction (line 2180) | pub enum JjBookmarkAction { type FixupOpts (line 2208) | pub struct FixupOpts { type FixOpts (line 2218) | pub struct FixOpts { type UndoCommand (line 2237) | pub struct UndoCommand { type UndoAction (line 2249) | pub enum UndoAction { type ChangesCommand (line 2261) | pub struct ChangesCommand { type DiffCommand (line 2267) | pub struct DiffCommand { type HashOpts (line 2279) | pub struct HashOpts { type ChangesAction (line 2286) | pub enum ChangesAction { type DaemonCommand (line 2306) | pub struct DaemonCommand { type DaemonAction (line 2312) | pub enum DaemonAction { type SupervisorCommand (line 2339) | pub struct SupervisorCommand { type SupervisorAction (line 2348) | pub enum SupervisorAction { type AiCommand (line 2376) | pub struct AiCommand { type AiAction (line 2382) | pub enum AiAction { type AiEverrunsOpts (line 2468) | pub struct AiEverrunsOpts { type ProviderAiAction (line 2509) | pub enum ProviderAiAction { type CodexDaemonAction (line 2784) | pub enum CodexDaemonAction { type CodexMemoryAction (line 2806) | pub enum CodexMemoryAction { type CodexTelemetryAction (line 2852) | pub enum CodexTelemetryAction { type CodexTraceAction (line 2871) | pub enum CodexTraceAction { type CodexSkillEvalAction (line 2902) | pub enum CodexSkillEvalAction { type CodexSkillSourceAction (line 2954) | pub enum CodexSkillSourceAction { type CodexRuntimeAction (line 2979) | pub enum CodexRuntimeAction { type EnvCommand (line 3002) | pub struct EnvCommand { type AuthOpts (line 3008) | pub struct AuthOpts { type ServicesCommand (line 3015) | pub struct ServicesCommand { type PushCommand (line 3021) | pub struct PushCommand { type SshCommand (line 3049) | pub struct SshCommand { type EnvAction (line 3055) | pub enum EnvAction { type ServicesAction (line 3161) | pub enum ServicesAction { type MacosCommand (line 3170) | pub struct MacosCommand { type MacosAction (line 3176) | pub enum MacosAction { type MacosListOpts (line 3195) | pub struct MacosListOpts { type MacosAuditOpts (line 3208) | pub struct MacosAuditOpts { type MacosInfoOpts (line 3215) | pub struct MacosInfoOpts { type MacosDisableOpts (line 3221) | pub struct MacosDisableOpts { type MacosEnableOpts (line 3230) | pub struct MacosEnableOpts { type MacosCleanOpts (line 3236) | pub struct MacosCleanOpts { type StripeServiceOpts (line 3246) | pub struct StripeServiceOpts { type StripeModeArg (line 3268) | pub enum StripeModeArg { type SshAction (line 3274) | pub enum SshAction { type TokenAction (line 3302) | pub enum TokenAction { type ProjectEnvAction (line 3323) | pub enum ProjectEnvAction { type TodoCommand (line 3350) | pub struct TodoCommand { type ExtCommand (line 3356) | pub struct ExtCommand { type TodoAction (line 3362) | pub enum TodoAction { type TodoStatusArg (line 3416) | pub enum TodoStatusArg { type DepsCommand (line 3425) | pub struct DepsCommand { type DepsAction (line 3434) | pub enum DepsAction { type DepsManager (line 3460) | pub enum DepsManager { type DepsEcosystem (line 3468) | pub enum DepsEcosystem { type UpdateDepsOpts (line 3475) | pub struct UpdateDepsOpts { type SkillsCommand (line 3500) | pub struct SkillsCommand { type SkillsAction (line 3506) | pub enum SkillsAction { type SkillsFetchCommand (line 3557) | pub struct SkillsFetchCommand { type SkillsFetchAction (line 3590) | pub enum SkillsFetchAction { type UrlCommand (line 3628) | pub struct UrlCommand { type UrlAction (line 3634) | pub enum UrlAction { type UrlInspectOpts (line 3642) | pub struct UrlInspectOpts { type UrlCrawlOpts (line 3660) | pub struct UrlCrawlOpts { type UrlInspectProvider (line 3708) | pub enum UrlInspectProvider { type UrlCrawlSource (line 3716) | pub enum UrlCrawlSource { type ToolsCommand (line 3723) | pub struct ToolsCommand { type ToolsAction (line 3729) | pub enum ToolsAction { type AgentsCommand (line 3766) | pub struct AgentsCommand { type AgentsAction (line 3775) | pub enum AgentsAction { type HiveCommand (line 3813) | pub struct HiveCommand { type HiveAction (line 3822) | pub enum HiveAction { type PublishOpts (line 3855) | pub struct PublishOpts { type PublishCommand (line 3883) | pub struct PublishCommand { type CloneOpts (line 3889) | pub struct CloneOpts { type PublishAction (line 3897) | pub enum PublishAction { type ReposCommand (line 3905) | pub struct ReposCommand { type CodeCommand (line 3911) | pub struct CodeCommand { type CodeAction (line 3920) | pub enum CodeAction { type CodeNewOpts (line 3932) | pub struct CodeNewOpts { type CodeMigrateOpts (line 3946) | pub struct CodeMigrateOpts { type CodeMoveSessionsOpts (line 3966) | pub struct CodeMoveSessionsOpts { type MigrateCommand (line 3985) | pub struct MigrateCommand { type MigrateAction (line 4007) | pub enum MigrateAction { type MigrateCodeOpts (line 4013) | pub struct MigrateCodeOpts { type ReposAction (line 4031) | pub enum ReposAction { type ReposCloneOpts (line 4043) | pub struct ReposCloneOpts { type RepoCapsuleOpts (line 4061) | pub struct RepoCapsuleOpts { type RepoAliasCommand (line 4074) | pub struct RepoAliasCommand { type RepoAliasAction (line 4080) | pub enum RepoAliasAction { type SyncCommand (line 4116) | pub struct SyncCommand { type SwitchCommand (line 4156) | pub struct SwitchCommand { type CheckoutCommand (line 4180) | pub struct CheckoutCommand { type UpstreamCommand (line 4195) | pub struct UpstreamCommand { type UpstreamAction (line 4201) | pub enum UpstreamAction { type NotifyCommand (line 4235) | pub struct NotifyCommand { type CommitsCommand (line 4253) | pub struct CommitsCommand { type CommitsAction (line 4261) | pub enum CommitsAction { type CommitsOpts (line 4277) | pub struct CommitsOpts { type SeqRpcCommand (line 4287) | pub struct SeqRpcCommand { type SeqRpcAction (line 4302) | pub enum SeqRpcAction { type SeqRpcIdOpts (line 4320) | pub struct SeqRpcIdOpts { type SeqRpcOpenAppOpts (line 4333) | pub struct SeqRpcOpenAppOpts { type SeqRpcScreenshotOpts (line 4341) | pub struct SeqRpcScreenshotOpts { type SeqRpcRawOpts (line 4349) | pub struct SeqRpcRawOpts { type ExplainCommitsCommand (line 4360) | pub struct ExplainCommitsCommand { type DeployCommand (line 4372) | pub struct DeployCommand { type ReleaseOpts (line 4378) | pub struct ReleaseOpts { type ReleaseCommand (line 4388) | pub struct ReleaseCommand { type ReleaseAction (line 4397) | pub enum ReleaseAction { type ReleaseSigningCommand (line 4410) | pub struct ReleaseSigningCommand { type ReleaseSigningAction (line 4416) | pub enum ReleaseSigningAction { type ReleaseSigningStoreOpts (line 4426) | pub struct ReleaseSigningStoreOpts { type ReleaseSigningSyncOpts (line 4442) | pub struct ReleaseSigningSyncOpts { type ReleaseTaskOpts (line 4452) | pub struct ReleaseTaskOpts { type RegistryReleaseOpts (line 4459) | pub struct RegistryReleaseOpts { type InstallOpts (line 4487) | pub struct InstallOpts { type InstallCommand (line 4514) | pub struct InstallCommand { type InstallAction (line 4523) | pub enum InstallAction { type InstallIndexOpts (line 4529) | pub struct InstallIndexOpts { type InstallBackend (line 4559) | pub enum InstallBackend { type FishInstallOpts (line 4568) | pub struct FishInstallOpts { type RegistryCommand (line 4584) | pub struct RegistryCommand { type RegistryAction (line 4590) | pub enum RegistryAction { type RegistryInitOpts (line 4596) | pub struct RegistryInitOpts { type DeployAction (line 4618) | pub enum DeployAction { type ParallelCommand (line 4692) | pub struct ParallelCommand { type DocsCommand (line 4705) | pub struct DocsCommand { type UpgradeOpts (line 4711) | pub struct UpgradeOpts { type GhReleaseCommand (line 4738) | pub struct GhReleaseCommand { type GhReleaseAction (line 4744) | pub enum GhReleaseAction { type GhReleaseCreateOpts (line 4774) | pub struct GhReleaseCreateOpts { type DocsAction (line 4808) | pub enum DocsAction { type DocsNewOpts (line 4837) | pub struct DocsNewOpts { type DocsDeployOpts (line 4847) | pub struct DocsDeployOpts { type DocsHubOpts (line 4860) | pub struct DocsHubOpts { function parses_codex_resume_with_path_override (line 4896) | fn parses_codex_resume_with_path_override() { function parses_codex_continue_with_path_override (line 4922) | fn parses_codex_continue_with_path_override() { function parses_codex_find_with_path_and_query (line 4940) | fn parses_codex_find_with_path_and_query() { function parses_codex_find_and_copy_with_query (line 4974) | fn parses_codex_find_and_copy_with_query() { function parses_codex_open_with_path_and_query (line 5006) | fn parses_codex_open_with_path_and_query() { function parses_codex_resolve_json (line 5037) | fn parses_codex_resolve_json() { function parses_codex_doctor_assertions (line 5073) | fn parses_codex_doctor_assertions() { function parses_codex_enable_global_full (line 5109) | fn parses_codex_enable_global_full() { function parses_repos_capsule_with_refresh_and_json (line 5142) | fn parses_repos_capsule_with_refresh_and_json() { function parses_repos_alias_set (line 5171) | fn parses_repos_alias_set() { function parses_repos_alias_import_shelf (line 5198) | fn parses_repos_alias_import_shelf() { function parses_domains_get_with_target_flag (line 5224) | fn parses_domains_get_with_target_flag() { function parses_url_crawl_with_filters (line 5248) | fn parses_url_crawl_with_filters() { FILE: src/code.rs constant DEFAULT_CODE_ROOT (line 18) | const DEFAULT_CODE_ROOT: &str = "~/code"; constant DEFAULT_TEMPLATE_ROOT (line 19) | const DEFAULT_TEMPLATE_ROOT: &str = "~/new"; constant DEFAULT_AGENT_QA_ZVEC_JSONL (line 20) | const DEFAULT_AGENT_QA_ZVEC_JSONL: &str = "~/repos/alibaba/zvec/data/age... constant FLOW_AGENT_QA_ZVEC_JSONL_ENV (line 21) | const FLOW_AGENT_QA_ZVEC_JSONL_ENV: &str = "FLOW_AGENT_QA_ZVEC_JSONL"; type ZvecMoveSummary (line 23) | struct ZvecMoveSummary { type ZvecCopySummary (line 28) | struct ZvecCopySummary { function list_templates (line 34) | fn list_templates() -> Result> { function fuzzy_select_template (line 57) | fn fuzzy_select_template() -> Result> { function new_from_template (line 89) | pub fn new_from_template(opts: NewOpts) -> Result<()> { function run (line 167) | pub fn run(cmd: CodeCommand) -> Result<()> { function migrate_sessions_between_paths (line 177) | pub(crate) fn migrate_sessions_between_paths( function run_migrate (line 197) | pub fn run_migrate(cmd: MigrateCommand) -> Result<()> { function migrate_to_path (line 266) | fn migrate_to_path( function list_code (line 343) | fn list_code(root: &str) -> Result<()> { function fuzzy_select_code (line 363) | fn fuzzy_select_code(root: &str) -> Result<()> { function normalize_root (line 392) | fn normalize_root(root: &str) -> Result { type CodeEntry (line 402) | struct CodeEntry { function discover_code_repos (line 407) | fn discover_code_repos(root: &Path) -> Result> { function should_skip_dir (line 455) | fn should_skip_dir(name: &str) -> bool { function run_fzf (line 483) | fn run_fzf(entries: &[CodeEntry]) -> Result> { function open_in_zed (line 513) | fn open_in_zed(path: &Path) -> Result<()> { function new_project (line 522) | fn new_project(opts: CodeNewOpts, root: &str) -> Result<()> { function migrate_project (line 584) | fn migrate_project(opts: CodeMigrateOpts, root: &str) -> Result<()> { function copy_sessions (line 653) | fn copy_sessions(opts: CodeMoveSessionsOpts) -> Result<()> { function move_sessions (line 702) | fn move_sessions(opts: CodeMoveSessionsOpts) -> Result<()> { function normalize_path (line 795) | fn normalize_path(path: &str) -> Result { function normalize_relative_path (line 801) | fn normalize_relative_path(path: &str) -> Result { function move_dir (line 818) | fn move_dir(from: &Path, to: &Path) -> Result<()> { function is_cross_device (line 836) | fn is_cross_device(err: &std::io::Error) -> bool { function copy_dir_all (line 848) | fn copy_dir_all(from: &Path, to: &Path) -> Result<()> { function copy_symlink (line 874) | fn copy_symlink(target: &Path, dest: &Path) -> Result<()> { function relink_bin_symlinks (line 895) | fn relink_bin_symlinks(from: &Path, to: &Path, dry_run: bool) -> Result<... function relink_symlink (line 945) | fn relink_symlink(path: &Path, target: &Path) -> Result<()> { function claude_projects_dir (line 971) | fn claude_projects_dir() -> PathBuf { function codex_projects_dir (line 978) | fn codex_projects_dir() -> PathBuf { function codex_sessions_dir (line 985) | fn codex_sessions_dir() -> PathBuf { function resolve_agent_qa_zvec_path (line 992) | fn resolve_agent_qa_zvec_path() -> Option { function update_zvec_agent_qa_paths (line 1006) | fn update_zvec_agent_qa_paths( function copy_zvec_agent_qa_paths (line 1073) | fn copy_zvec_agent_qa_paths( function rewrite_zvec_doc_paths (line 1154) | fn rewrite_zvec_doc_paths( function rewrite_path_prefix (line 1192) | fn rewrite_path_prefix(value: &str, from: &str, to: &str) -> Option, line: &str, to: &str) -... function move_project_dir (line 1229) | fn move_project_dir(base: &Path, from: &Path, to: &Path, dry_run: bool) ... function copy_project_dir (line 1265) | fn copy_project_dir(base: &Path, from: &Path, to: &Path, dry_run: bool) ... function path_to_project_name (line 1295) | fn path_to_project_name(path: &Path) -> String { type CodexCopySummary (line 1299) | struct CodexCopySummary { function copy_codex_sessions (line 1303) | fn copy_codex_sessions(from: &Path, to: &Path, dry_run: bool) -> Result<... type CodexUpdateSummary (line 1330) | struct CodexUpdateSummary { function copy_codex_session_file (line 1335) | fn copy_codex_session_file( function derive_copy_id (line 1425) | fn derive_copy_id(old_id: &str, to: &str) -> String { function derive_copy_path (line 1433) | fn derive_copy_path(path: &Path, old_id: &str, new_id: &str) -> PathBuf { function unique_copy_path (line 1451) | fn unique_copy_path(parent: &Path, base_name: &str) -> PathBuf { function insert_suffix (line 1466) | fn insert_suffix(filename: &str, suffix: &str) -> String { function update_codex_sessions (line 1474) | fn update_codex_sessions(from: &Path, to: &Path, dry_run: bool) -> Resul... function try_for_each_codex_session_file (line 1505) | fn try_for_each_codex_session_file( type CodexFileUpdate (line 1530) | struct CodexFileUpdate { function update_codex_session_file (line 1535) | fn update_codex_session_file( function file_has_session_meta_cwd (line 1618) | fn file_has_session_meta_cwd(path: &Path, from: &str) -> Result { function session_meta_cwd_matches (line 1626) | fn session_meta_cwd_matches(line: &str, from: &str) -> bool { function ensure_dir (line 1648) | fn ensure_dir(path: &Path, dry_run: bool, planned: &mut Vec) ->... function gitignore_entry_for_target (line 1665) | fn gitignore_entry_for_target(target: &Path) -> Result Result> { function ensure_gitignore_entry (line 1703) | fn ensure_gitignore_entry(repo_root: &Path, entry: &str) -> Result<()> { function rewrite_path_prefix_rewrites_exact_and_nested_paths (line 1735) | fn rewrite_path_prefix_rewrites_exact_and_nested_paths() { function rewrite_zvec_doc_paths_updates_project_and_source_paths (line 1750) | fn rewrite_zvec_doc_paths_updates_project_and_source_paths() { function zvec_move_and_copy_update_project_scope (line 1785) | fn zvec_move_and_copy_update_project_scope() -> Result<()> { FILE: src/codex_memory.rs constant MEMORY_ROOT_ENV (line 14) | const MEMORY_ROOT_ENV: &str = "FLOW_CODEX_MEMORY_ROOT"; constant REPO_SYMBOL_INDEX_KIND (line 15) | const REPO_SYMBOL_INDEX_KIND: &str = "repo_symbols"; constant REPO_SYMBOL_INDEX_VERSION (line 16) | const REPO_SYMBOL_INDEX_VERSION: u32 = 1; constant REPO_SESSION_INDEX_KIND (line 17) | const REPO_SESSION_INDEX_KIND: &str = "repo_sessions"; constant REPO_SESSION_INDEX_VERSION (line 18) | const REPO_SESSION_INDEX_VERSION: u32 = 1; constant MAX_SYMBOL_FILES (line 19) | const MAX_SYMBOL_FILES: usize = 24; constant MAX_SYMBOLS_PER_FILE (line 20) | const MAX_SYMBOLS_PER_FILE: usize = 8; constant MAX_SYMBOL_FILE_BYTES (line 21) | const MAX_SYMBOL_FILE_BYTES: usize = 256 * 1024; constant MAX_SNIPPET_LINES (line 22) | const MAX_SNIPPET_LINES: usize = 4; constant MAX_SNIPPET_CHARS (line 23) | const MAX_SNIPPET_CHARS: usize = 220; constant MAX_SESSION_THREADS (line 24) | const MAX_SESSION_THREADS: usize = 6; constant MAX_SESSION_EXCHANGES_PER_THREAD (line 25) | const MAX_SESSION_EXCHANGES_PER_THREAD: usize = 2; constant MAX_SESSION_TEXT_CHARS (line 26) | const MAX_SESSION_TEXT_CHARS: usize = 240; type CodexMemoryStats (line 30) | pub struct CodexMemoryStats { type CodexMemoryRecentEntry (line 42) | pub struct CodexMemoryRecentEntry { type CodexMemorySyncSummary (line 54) | pub struct CodexMemorySyncSummary { type CodexMemoryFactHit (line 62) | pub struct CodexMemoryFactHit { type CodexMemoryCodeHit (line 73) | pub struct CodexMemoryCodeHit { type CodexMemorySnippetHit (line 80) | pub struct CodexMemorySnippetHit { type CodexMemoryQueryResult (line 89) | pub struct CodexMemoryQueryResult { type RepoSymbolFact (line 99) | struct RepoSymbolFact { type QueryProfile (line 107) | struct QueryProfile { function root_dir (line 114) | pub fn root_dir() -> PathBuf { function db_path (line 124) | pub fn db_path() -> PathBuf { function mirror_skill_eval_event (line 128) | pub fn mirror_skill_eval_event(event: &CodexSkillEvalEvent) -> Result R... function stats (line 167) | pub fn stats() -> Result { function recent (line 199) | pub fn recent(target_path: Option<&Path>, limit: usize) -> Result Result Result { function mirror_repo_capsule (line 260) | pub fn mirror_repo_capsule(capsule: &repo_capsule::RepoCapsule) -> Resul... function query_repo_facts (line 350) | pub fn query_repo_facts( function open_connection (line 425) | fn open_connection() -> Result { function open_connection_at (line 429) | fn open_connection_at(path: &Path) -> Result { function insert_marshaled (line 485) | fn insert_marshaled( function event_key (line 527) | fn event_key(event_kind: &str, payload_json: &str) -> String { function fact_key (line 535) | fn fact_key( function upsert_fact (line 555) | fn upsert_fact( function fact_score (line 592) | fn fact_score( function tokenize_query (line 667) | fn tokenize_query(query: &str) -> Vec { function build_query_profile (line 693) | fn build_query_profile(query: &str) -> QueryProfile { function extract_explicit_paths (line 737) | fn extract_explicit_paths(query_lower: &str) -> Vec { function trim_chars (line 764) | fn trim_chars(value: &str, limit: usize) -> String { function session_label (line 772) | fn session_label(session_id: &str, title: Option<&str>) -> String { function session_summary_body (line 782) | fn session_summary_body(row: &ai::CodexRecoverRow) -> String { function sync_repo_symbol_facts (line 818) | fn sync_repo_symbol_facts(conn: &Connection, capsule: &repo_capsule::Rep... function sync_repo_session_facts (line 860) | fn sync_repo_session_facts( function collect_repo_symbol_facts (line 953) | fn collect_repo_symbol_facts( function collect_symbol_candidate_paths (line 989) | fn collect_symbol_candidate_paths( function entrypoint_path_score (line 1083) | fn entrypoint_path_score(relative_path: &str) -> f64 { function entrypoint_body_for_path (line 1126) | fn entrypoint_body_for_path(relative_path: &str) -> Option<&'static str> { function extract_symbol_facts (line 1158) | fn extract_symbol_facts(relative_path: &str, content: &str) -> Vec Vec<... function extract_ts_symbol_facts (line 1204) | fn extract_ts_symbol_facts(relative_path: &str, content: &str) -> Vec Ve... function extract_go_symbol_facts (line 1262) | fn extract_go_symbol_facts(relative_path: &str, content: &str) -> Vec... function symbol_fact (line 1305) | fn symbol_fact(relative_path: &str, kind: &str, name: &str) -> RepoSymbo... function parse_prefixed_name (line 1314) | fn parse_prefixed_name(trimmed: &str, prefixes: &[&str]) -> Option Option { function parse_go_func_name (line 1345) | fn parse_go_func_name(trimmed: &str) -> Option { function index_is_fresh (line 1360) | fn index_is_fresh( function mark_index_fresh (line 1381) | fn mark_index_fresh( function search_code_paths (line 1411) | fn search_code_paths( function search_symbols_for_code_paths (line 1471) | fn search_symbols_for_code_paths( function merge_dynamic_symbol_hits (line 1522) | fn merge_dynamic_symbol_hits( function extract_symbol_snippets (line 1546) | fn extract_symbol_snippets( function find_symbol_snippet (line 1594) | fn find_symbol_snippet(content: &str, symbol_name: &str) -> Option bool { function score_code_path (line 1672) | fn score_code_path(relative_path: &str, profile: &QueryProfile) -> f64 { function render_query_result (line 1728) | fn render_query_result( function select_render_fact_hits (line 1757) | fn select_render_fact_hits<'a>( function map_recent_entry (line 1844) | fn map_recent_entry(row: &rusqlite::Row<'_>) -> Result Vec { method inject_into_prompt (line 138) | pub fn inject_into_prompt(&self, prompt: &str) -> String { type CodexExternalSkill (line 53) | pub struct CodexExternalSkill { type CodexSkillSourceSnapshot (line 64) | pub struct CodexSkillSourceSnapshot { type CodexInstalledSkillSnapshot (line 74) | pub struct CodexInstalledSkillSnapshot { type CodexSkillCatalogEntry (line 84) | pub struct CodexSkillCatalogEntry { type CodexRuntimeStateSnapshot (line 98) | pub struct CodexRuntimeStateSnapshot { type CodexSkillsDashboardSnapshot (line 108) | pub struct CodexSkillsDashboardSnapshot { type RuntimeSkillCandidate (line 118) | struct RuntimeSkillCandidate { function runtime_root (line 151) | fn runtime_root() -> Result { function runtime_roots (line 157) | fn runtime_roots() -> Vec { function runtime_states_dir (line 164) | fn runtime_states_dir() -> Result { function runtime_skills_dir (line 170) | fn runtime_skills_dir() -> Result { function agents_skill_root (line 176) | fn agents_skill_root() -> PathBuf { function codex_global_skill_root (line 183) | fn codex_global_skill_root() -> PathBuf { function slugify (line 190) | fn slugify(value: &str) -> String { function parse_frontmatter_field (line 214) | fn parse_frontmatter_field(content: &str, field: &str) -> Option { function default_skill_sources (line 234) | fn default_skill_sources() -> Vec { function configured_skill_sources (line 246) | fn configured_skill_sources( function looks_like_skill_source_root (line 258) | fn looks_like_skill_source_root(root: &Path) -> bool { function collect_skill_dirs (line 264) | fn collect_skill_dirs(root: &Path) -> Result> { function discover_source_skills (line 285) | fn discover_source_skills( function tokenize_keywords (line 318) | fn tokenize_keywords(value: &str) -> Vec { function contains_any (line 347) | fn contains_any(haystack: &str, needles: &[&str]) -> bool { function classify_skill_category (line 351) | fn classify_skill_category(name: &str, description: &str) -> &'static str { function match_external_skill (line 475) | fn match_external_skill(query: &str, skill: &CodexExternalSkill) -> f64 { function describe_external_skill_match (line 496) | fn describe_external_skill_match(query: &str, skill: &CodexExternalSkill... function copy_dir_recursive (line 519) | fn copy_dir_recursive(source: &Path, dest: &Path) -> Result<()> { function rewrite_skill_name (line 547) | fn rewrite_skill_name(content: &str, name: &str) -> String { function allocate_plan_path (line 573) | fn allocate_plan_path(root: &Path, stem: &str) -> PathBuf { function derive_plan_title (line 589) | fn derive_plan_title(body: &str) -> String { function append_session_footer (line 606) | fn append_session_footer(body: &str, session_id: Option<&str>) -> String { function unix_now (line 618) | fn unix_now() -> u64 { function runtime_token (line 625) | fn runtime_token(target_path: &Path, query: &str) -> String { function plan_skill_name (line 638) | fn plan_skill_name(token: &str) -> String { function build_plan_skill_markdown (line 642) | fn build_plan_skill_markdown(skill_name: &str) -> String { function looks_like_plan_request (line 677) | fn looks_like_plan_request(query: &str) -> bool { function discover_external_skills (line 691) | pub fn discover_external_skills( function dashboard_snapshot (line 703) | pub fn dashboard_snapshot( function discover_installed_skills (line 755) | fn discover_installed_skills() -> Result String { function sync_external_skills (line 882) | pub fn sync_external_skills( function prepare_runtime_activation (line 920) | pub fn prepare_runtime_activation( function load_runtime_states (line 1081) | pub fn load_runtime_states() -> Result> { function clear_runtime_states (line 1107) | pub fn clear_runtime_states() -> Result { function format_runtime_states (line 1151) | pub fn format_runtime_states(states: &[CodexRuntimeState]) -> String { function load_runtime_state_from_env (line 1179) | fn load_runtime_state_from_env() -> Option { function write_plan_from_stdin (line 1188) | pub fn write_plan_from_stdin( function plan_request_detection_stays_specific (line 1281) | fn plan_request_detection_stays_specific() { function runtime_prompt_prelude_is_human_readable (line 1289) | fn runtime_prompt_prelude_is_human_readable() { function session_footer_is_added_once (line 1311) | fn session_footer_is_added_once() { function discover_external_skills_supports_nested_repo_layout (line 1319) | fn discover_external_skills_supports_nested_repo_layout() { function discover_external_skills_supports_flat_repo_layout (line 1347) | fn discover_external_skills_supports_flat_repo_layout() { function classify_skill_category_prefers_verification_for_driver_skills (line 1375) | fn classify_skill_category_prefers_verification_for_driver_skills() { function describe_external_skill_match_reports_name_phrase_hits (line 1386) | fn describe_external_skill_match_reports_name_phrase_hits() { function build_skill_catalog_merges_source_and_global_install (line 1406) | fn build_skill_catalog_merges_source_and_global_install() { FILE: src/codex_skill_eval.rs constant SKILL_EVAL_VERSION (line 13) | const SKILL_EVAL_VERSION: u32 = 1; constant SKILL_EVAL_REVERSE_SCAN_CHUNK_BYTES (line 14) | const SKILL_EVAL_REVERSE_SCAN_CHUNK_BYTES: usize = 16 * 1024; type CodexSkillEvalEvent (line 18) | pub struct CodexSkillEvalEvent { type CodexSkillScore (line 49) | pub struct CodexSkillScore { type CodexSkillOutcomeEvent (line 63) | pub struct CodexSkillOutcomeEvent { type CodexSkillScorecard (line 86) | pub struct CodexSkillScorecard { type SkillAggregate (line 95) | struct SkillAggregate { function unix_now (line 104) | fn unix_now() -> u64 { function skill_eval_root (line 111) | fn skill_eval_root() -> Result { function skill_eval_roots (line 117) | fn skill_eval_roots() -> Vec { function load_events_from_paths (line 124) | fn load_events_from_paths( function load_outcomes_from_paths (line 159) | fn load_outcomes_from_paths( function events_path (line 197) | fn events_path() -> Result { function events_log_path (line 203) | pub fn events_log_path() -> Result { function outcomes_path (line 207) | fn outcomes_path() -> Result { function outcomes_log_path (line 213) | pub fn outcomes_log_path() -> Result { function scorecards_dir (line 217) | fn scorecards_dir() -> Result { function scorecard_key (line 223) | fn scorecard_key(target_path: &Path) -> String { function scorecard_path (line 230) | fn scorecard_path(target_path: &Path) -> Result { function tokenize_words (line 234) | fn tokenize_words(value: &str) -> Vec { function affinity_for_skill (line 264) | fn affinity_for_skill(skill_name: &str, query: &str) -> f64 { function calculate_normalized_gain (line 283) | fn calculate_normalized_gain(p_with: f64, p_without: f64) -> f64 { function path_matches (line 290) | fn path_matches(event: &CodexSkillEvalEvent, target_path: &Path) -> bool { function log_event (line 298) | pub fn log_event(event: &CodexSkillEvalEvent) -> Result<()> { function log_outcome (line 318) | pub fn log_outcome(outcome: &CodexSkillOutcomeEvent) -> Result<()> { function event_count (line 333) | pub fn event_count() -> usize { function outcome_count (line 339) | pub fn outcome_count() -> usize { function load_events (line 345) | pub fn load_events(target_path: Option<&Path>, limit: usize) -> Result Result Result( function process_reverse_line_segment (line 674) | fn process_reverse_line_segment( function score_for_skill (line 695) | pub fn score_for_skill(target_path: &Path, name: &str) -> Option { function format_scorecard (line 708) | pub fn format_scorecard(scorecard: &CodexSkillScorecard) -> String { function normalized_gain_behaves_like_skillgrade_formula (line 744) | fn normalized_gain_behaves_like_skillgrade_formula() { function affinity_prefers_phrase_matches (line 750) | fn affinity_prefers_phrase_matches() { function load_events_reads_both_state_roots (line 758) | fn load_events_reads_both_state_roots() { function load_events_sanitizes_contextual_queries (line 817) | fn load_events_sanitizes_contextual_queries() { function resolve_events_contribute_outcome_samples (line 850) | fn resolve_events_contribute_outcome_samples() { function session_linked_events_contribute_baseline_outcomes (line 901) | fn session_linked_events_contribute_baseline_outcomes() { function recent_targets_filters_old_missing_and_excess_targets (line 950) | fn recent_targets_filters_old_missing_and_excess_targets() { FILE: src/codex_telemetry.rs constant CODEX_MAPLE_DEFAULT_SERVICE_NAME (line 19) | const CODEX_MAPLE_DEFAULT_SERVICE_NAME: &str = "flow-codex"; constant CODEX_MAPLE_DEFAULT_SCOPE_NAME (line 20) | const CODEX_MAPLE_DEFAULT_SCOPE_NAME: &str = "flow.codex"; constant CODEX_MAPLE_DEFAULT_ENV (line 21) | const CODEX_MAPLE_DEFAULT_ENV: &str = "local"; constant CODEX_MAPLE_DEFAULT_QUEUE_CAPACITY (line 22) | const CODEX_MAPLE_DEFAULT_QUEUE_CAPACITY: usize = 1024; constant CODEX_MAPLE_DEFAULT_MAX_BATCH_SIZE (line 23) | const CODEX_MAPLE_DEFAULT_MAX_BATCH_SIZE: usize = 64; constant CODEX_MAPLE_DEFAULT_FLUSH_INTERVAL_MS (line 24) | const CODEX_MAPLE_DEFAULT_FLUSH_INTERVAL_MS: u64 = 100; constant CODEX_MAPLE_DEFAULT_CONNECT_TIMEOUT_MS (line 25) | const CODEX_MAPLE_DEFAULT_CONNECT_TIMEOUT_MS: u64 = 400; constant CODEX_MAPLE_DEFAULT_REQUEST_TIMEOUT_MS (line 26) | const CODEX_MAPLE_DEFAULT_REQUEST_TIMEOUT_MS: u64 = 800; constant DEFAULT_MAPLE_MCP_ENDPOINT (line 27) | const DEFAULT_MAPLE_MCP_ENDPOINT: &str = "https://api.maple.dev/mcp"; type CodexTelemetryExportState (line 31) | struct CodexTelemetryExportState { type CodexTelemetryStatus (line 42) | pub struct CodexTelemetryStatus { type CodexTelemetryFlushSummary (line 59) | pub struct CodexTelemetryFlushSummary { type CodexTraceStatus (line 72) | pub struct CodexTraceStatus { type CodexTraceInspectResult (line 84) | pub struct CodexTraceInspectResult { type CodexCurrentSessionTrace (line 95) | pub struct CodexCurrentSessionTrace { type MapleReadConfig (line 109) | struct MapleReadConfig { function unix_now (line 117) | fn unix_now() -> u64 { function env_non_empty (line 124) | fn env_non_empty(key: &str) -> Option { function telemetry_env_keys (line 131) | fn telemetry_env_keys() -> Vec { function maple_target_env_keys (line 156) | fn maple_target_env_keys() -> &'static [&'static str] { function shell_has_explicit_maple_target_env (line 167) | fn shell_has_explicit_maple_target_env() -> bool { function env_non_empty_with_store (line 173) | fn env_non_empty_with_store( function telemetry_state_path (line 191) | fn telemetry_state_path() -> Result { function load_state (line 197) | fn load_state() -> Result { function save_state (line 215) | fn save_state(state: &CodexTelemetryExportState) -> Result<()> { function parse_maple_exporter_config_from_env (line 229) | fn parse_maple_exporter_config_from_env() -> Result Result> { function maple_json_rpc_request (line 376) | fn maple_json_rpc_request( function maple_tool_result_error (line 431) | fn maple_tool_result_error(result: &serde_json::Value) -> Option { function maple_call_tool (line 446) | fn maple_call_tool( function status (line 465) | pub fn status() -> Result { function trace_status (line 494) | pub fn trace_status() -> Result { function inspect_trace (line 538) | pub fn inspect_trace(trace_id: &str, flush_first: bool) -> Result Result String { function redact_id (line 609) | fn redact_id(value: Option<&str>) -> String { function repo_name (line 616) | fn repo_name(path: &str) -> String { function path_hash (line 625) | fn path_hash(path: &str) -> String { function artifact_name (line 629) | fn artifact_name(path: Option<&str>) -> String { function event_span (line 637) | fn event_span(event: &CodexSkillEvalEvent) -> MapleSpan { function outcome_span (line 726) | fn outcome_span(outcome: &CodexSkillOutcomeEvent) -> MapleSpan { function export_lines (line 823) | fn export_lines( function flush (line 876) | pub fn flush(limit: usize) -> Result { function maybe_flush (line 937) | pub fn maybe_flush(limit: usize) -> Result { function repo_name_uses_leaf_directory (line 947) | fn repo_name_uses_leaf_directory() { function redact_id_is_stable_and_short (line 953) | fn redact_id_is_stable_and_short() { FILE: src/codex_text.rs function strip_tagged_block (line 1) | fn strip_tagged_block(text: &str, open_tag: &str, close_tag: &str) -> St... function strip_system_reminders (line 15) | fn strip_system_reminders(text: &str) -> String { function strip_agents_instruction_block (line 21) | fn strip_agents_instruction_block(text: &str) -> String { function truncate_before_heading (line 42) | fn truncate_before_heading(text: &str, heading: &str) -> String { function collapse_blank_lines (line 56) | fn collapse_blank_lines(text: &str) -> String { function sanitize_codex_memory_rollout_text (line 82) | pub(crate) fn sanitize_codex_memory_rollout_text(text: &str) -> Option Option { function rollout_sanitizer_drops_agents_and_skills_but_keeps_environment (line 131) | fn rollout_sanitizer_drops_agents_and_skills_but_keeps_environment() { function query_sanitizer_keeps_only_real_user_intent (line 148) | fn query_sanitizer_keeps_only_real_user_intent() { function query_sanitizer_drops_context_only_messages (line 164) | fn query_sanitizer_drops_context_only_messages() { FILE: src/codexd.rs constant CODEXD_NAME (line 15) | const CODEXD_NAME: &str = "codexd"; type FileLockGuard (line 19) | struct FileLockGuard { method drop (line 25) | fn drop(&mut self) { type CodexdRequest (line 32) | enum CodexdRequest { type CodexdResponse (line 53) | struct CodexdResponse { function builtin_daemon_config (line 60) | pub fn builtin_daemon_config() -> Result { function socket_path (line 89) | pub fn socket_path() -> Result { function lock_path (line 93) | fn lock_path() -> Result { function acquire_process_lock (line 98) | fn acquire_process_lock(file: &std::fs::File) -> Result { function acquire_process_lock (line 113) | fn acquire_process_lock(_file: &std::fs::File) -> Result<()> { function ping (line 117) | pub fn ping() -> Result<()> { function is_running (line 131) | pub fn is_running() -> bool { function ensure_running (line 135) | pub fn ensure_running() -> Result<()> { function start (line 142) | pub fn start() -> Result<()> { function stop (line 146) | pub fn stop() -> Result<()> { function status (line 150) | pub fn status() -> Result<()> { function serve (line 154) | pub fn serve(socket_override: Option<&Path>) -> Result<()> { function background_poll_secs (line 200) | fn background_poll_secs() -> u64 { function start_background_maintenance_loop (line 208) | fn start_background_maintenance_loop() { function query_recent (line 228) | pub(crate) fn query_recent( function query_session_hint (line 253) | pub(crate) fn query_session_hint( function query_find (line 274) | pub(crate) fn query_find( function send_request (line 299) | fn send_request(request: &CodexdRequest) -> Result { function handle_client (line 323) | fn handle_client(stream: UnixStream) -> Result<()> { function handle_request (line 344) | fn handle_request(request: CodexdRequest) -> CodexdResponse { function trim_ascii_whitespace (line 414) | fn trim_ascii_whitespace(bytes: &[u8]) -> &[u8] { function builtin_daemon_config_uses_socket_health (line 432) | fn builtin_daemon_config_uses_socket_health() { function process_lock_rejects_second_holder (line 456) | fn process_lock_rejects_second_holder() { FILE: src/commit.rs constant MODEL (line 45) | const MODEL: &str = "gpt-4.1-nano"; constant MAX_DIFF_CHARS (line 46) | const MAX_DIFF_CHARS: usize = 12_000; constant HUB_HOST (line 47) | const HUB_HOST: IpAddr = IpAddr::V4(std::net::Ipv4Addr::new(127, 0, 0, 1)); constant HUB_PORT (line 48) | const HUB_PORT: u16 = 9050; constant DEFAULT_OPENROUTER_REVIEW_MODEL (line 49) | const DEFAULT_OPENROUTER_REVIEW_MODEL: &str = "arcee-ai/trinity-large-pr... constant DEFAULT_OPENCODE_MODEL (line 50) | const DEFAULT_OPENCODE_MODEL: &str = "opencode/minimax-m2.1-free"; constant DEFAULT_RISE_MODEL (line 51) | const DEFAULT_RISE_MODEL: &str = "zai:glm-4.7"; constant DEFAULT_GLM5_RISE_MODEL (line 52) | const DEFAULT_GLM5_RISE_MODEL: &str = "zai:glm-5"; constant SENSITIVE_PATTERNS (line 55) | const SENSITIVE_PATTERNS: &[&str] = &[ constant SYSTEM_PROMPT (line 83) | const SYSTEM_PROMPT: &str = "You are an expert software engineer who wri... type ReviewModelArg (line 86) | pub enum ReviewModelArg { method as_arg (line 147) | fn as_arg(&self) -> &'static str { type CommitQueueMode (line 96) | pub struct CommitQueueMode { method with_open_review (line 103) | pub fn with_open_review(mut self, open_review: bool) -> Self { type CommitGateOverrides (line 110) | pub struct CommitGateOverrides { type CommitTestingPolicy (line 117) | struct CommitTestingPolicy { type CommitSkillGatePolicy (line 129) | struct CommitSkillGatePolicy { type SkillGateReport (line 136) | struct SkillGateReport { type CodexModel (line 157) | pub enum CodexModel { method as_codex_arg (line 163) | fn as_codex_arg(&self) -> &'static str { type ClaudeModel (line 172) | pub enum ClaudeModel { method as_claude_arg (line 178) | fn as_claude_arg(&self) -> &'static str { type ReviewSelection (line 187) | pub enum ReviewSelection { method is_codex (line 197) | fn is_codex(&self) -> bool { method is_openrouter (line 201) | fn is_openrouter(&self) -> bool { method review_model_arg (line 205) | fn review_model_arg(&self) -> Option { method model_label (line 218) | fn model_label(&self) -> String { function review_tool_label (line 233) | fn review_tool_label(selection: &ReviewSelection) -> &'static str { function check_sensitive_files (line 246) | fn check_sensitive_files(repo_root: &Path) -> Vec { function warn_sensitive_files (line 297) | fn warn_sensitive_files(files: &[String]) -> Result<()> { function warn_secrets_in_diff (line 320) | fn warn_secrets_in_diff( function should_run_sync_for_secret_fixes (line 443) | fn should_run_sync_for_secret_fixes(repo_root: &Path) -> Result { function run_fix_f_commit_agent (line 467) | fn run_fix_f_commit_agent(repo_root: &Path, agent: &str, task: &str) -> ... function run_fix_f_commit_ai (line 489) | fn run_fix_f_commit_ai(repo_root: &Path, task: &str) -> Result<()> { function build_fix_f_commit_task (line 510) | fn build_fix_f_commit_task(findings: &[(String, usize, String, String)])... function print_secret_findings (line 532) | fn print_secret_findings(header: &str, findings: &[(String, usize, Strin... function has_unstaged_changes (line 539) | fn has_unstaged_changes(repo_root: &Path, file: &str) -> bool { function sanitize_hive_task (line 556) | fn sanitize_hive_task(task: &str) -> String { function resolve_hive_env (line 568) | fn resolve_hive_env() -> Vec<(String, String)> { constant LARGE_DIFF_THRESHOLD (line 592) | const LARGE_DIFF_THRESHOLD: usize = 500; function check_large_diffs (line 596) | fn check_large_diffs(repo_root: &Path) -> Vec<(String, usize)> { function warn_large_diffs (line 635) | fn warn_large_diffs(files: &[(String, usize)]) -> Result<()> { function resolve_review_selection_from_config (line 657) | pub fn resolve_review_selection_from_config() -> Option { function resolve_review_selection (line 714) | pub fn resolve_review_selection( function resolve_review_selection_v2 (line 739) | pub fn resolve_review_selection_v2( function parse_boolish (line 764) | fn parse_boolish(value: &str) -> Option { function load_ts_commit_config (line 772) | fn load_ts_commit_config() -> Option { function load_local_commit_config (line 778) | fn load_local_commit_config(repo_root: &Path) -> Option Option { function commit_quick_default_enabled (line 794) | pub fn commit_quick_default_enabled() -> bool { function commit_review_fail_open_enabled (line 823) | fn commit_review_fail_open_enabled(repo_root: &Path) -> bool { function commit_message_fail_open_enabled (line 849) | fn commit_message_fail_open_enabled(repo_root: &Path) -> bool { function parse_review_selection_spec (line 875) | fn parse_review_selection_spec(spec: &str) -> Option { function commit_review_fallback_specs (line 965) | fn commit_review_fallback_specs(repo_root: &Path) -> Vec { function review_attempts_for_selection (line 1021) | fn review_attempts_for_selection( type CommitMessageSelection (line 1050) | enum CommitMessageSelection { method key (line 1062) | fn key(&self) -> String { method label (line 1080) | fn label(&self) -> String { function parse_commit_message_selection_spec (line 1094) | fn parse_commit_message_selection_spec(spec: &str) -> Option Vec { function review_selection_to_message_selection (line 1300) | fn review_selection_to_message_selection( function commit_message_attempts (line 1321) | fn commit_message_attempts( type ReviewJson (line 1354) | struct ReviewJson { type RemoteReviewRequest (line 1367) | struct RemoteReviewRequest { type RemoteReviewResponse (line 1376) | struct RemoteReviewResponse { type RemoteCommitMessageResponse (line 1383) | struct RemoteCommitMessageResponse { type ReviewResult (line 1388) | struct ReviewResult { type QualityResult (line 1399) | pub(crate) struct QualityResult { type FeatureTouched (line 1410) | pub(crate) struct FeatureTouched { type NewFeature (line 1422) | pub(crate) struct NewFeature { type StagedSnapshot (line 1430) | struct StagedSnapshot { type UnhashCommitMetadata (line 1435) | struct UnhashCommitMetadata { type UnhashReviewPayload (line 1455) | struct UnhashReviewPayload { type ChatRequest (line 1466) | struct ChatRequest { type Message (line 1473) | struct Message { type ChatResponse (line 1479) | struct ChatResponse { type Choice (line 1484) | struct Choice { type ResponseMessage (line 1489) | struct ResponseMessage { function parse_rise_output (line 1493) | fn parse_rise_output(text: &str) -> Result { function is_rise_auth_error (line 1551) | fn is_rise_auth_error(text: &str) -> bool { function rise_provider_from_model (line 1558) | fn rise_provider_from_model(model: &str) -> Option { function rise_provider_env_key (line 1571) | fn rise_provider_env_key(provider: &str) -> Option<&'static str> { function is_local_env_backend (line 1582) | fn is_local_env_backend() -> bool { function rise_auth_error_message (line 1604) | fn rise_auth_error_message(model: &str) -> String { function rise_url (line 1643) | fn rise_url() -> String { function rise_health_url (line 1650) | fn rise_health_url(rise_url: &str) -> Option { function wait_for_rise_ready (line 1656) | fn wait_for_rise_ready(client: &Client, rise_url: &str) { function try_start_rise_daemon (line 1668) | fn try_start_rise_daemon() -> Result<()> { function try_restart_rise_daemon (line 1678) | fn try_restart_rise_daemon() -> Result<()> { function send_rise_request_text (line 1689) | fn send_rise_request_text( function send_rise_request (line 1750) | fn send_rise_request( function dry_run_context (line 1789) | pub fn dry_run_context() -> Result<()> { function run (line 1865) | pub fn run( function save_commit_checkpoint_for_repo (line 1888) | fn save_commit_checkpoint_for_repo(repo_root: &Path) { function git_commit_timestamp_iso (line 1912) | fn git_commit_timestamp_iso(repo_root: &Path, rev: &str) -> Option, until_ts: Option)... function collect_sync_sessions_for_commit_with_window (line 1938) | fn collect_sync_sessions_for_commit_with_window( function collect_sync_sessions_for_pending_commit_with_window (line 1983) | fn collect_sync_sessions_for_pending_commit_with_window( function run_sync (line 2030) | pub fn run_sync( function run_fast (line 2254) | pub fn run_fast( function run_quick_then_async_review (line 2423) | pub fn run_quick_then_async_review( function ensure_commit_queued_for_async_review (line 2476) | fn ensure_commit_queued_for_async_review(repo_root: &Path, commit_sha: &... function spawn_async_queue_review (line 2486) | fn spawn_async_queue_review(repo_root: &Path, commit_sha: &str) -> Resul... function run_with_check (line 2505) | pub fn run_with_check( function run_with_check_with_gitedit (line 2566) | pub fn run_with_check_with_gitedit( function commit_with_check_async_enabled (line 2627) | fn commit_with_check_async_enabled() -> bool { function commit_with_check_use_repo_root (line 2658) | fn commit_with_check_use_repo_root() -> bool { function resolve_commit_with_check_root (line 2678) | fn resolve_commit_with_check_root() -> Result { constant DEFAULT_COMMIT_WITH_CHECK_TIMEOUT_SECS (line 2700) | const DEFAULT_COMMIT_WITH_CHECK_TIMEOUT_SECS: u64 = 300; constant MAX_COMMIT_WITH_CHECK_TIMEOUT_SECS (line 2701) | const MAX_COMMIT_WITH_CHECK_TIMEOUT_SECS: u64 = 3600; constant DEFAULT_COMMIT_WITH_CHECK_REVIEW_RETRIES (line 2702) | const DEFAULT_COMMIT_WITH_CHECK_REVIEW_RETRIES: u32 = 2; constant MAX_COMMIT_WITH_CHECK_REVIEW_RETRIES (line 2703) | const MAX_COMMIT_WITH_CHECK_REVIEW_RETRIES: u32 = 5; constant DEFAULT_COMMIT_WITH_CHECK_RETRY_BACKOFF_SECS (line 2704) | const DEFAULT_COMMIT_WITH_CHECK_RETRY_BACKOFF_SECS: u64 = 3; function commit_with_check_timeout_from_env (line 2706) | fn commit_with_check_timeout_from_env() -> Option { function commit_with_check_timeout_secs (line 2722) | fn commit_with_check_timeout_secs() -> u64 { function commit_with_check_review_retries (line 2754) | fn commit_with_check_review_retries() -> u32 { function commit_with_check_retry_backoff_secs (line 2793) | fn commit_with_check_retry_backoff_secs(attempt: u32) -> u64 { function commit_with_check_review_url (line 2805) | fn commit_with_check_review_url() -> Option { function commit_with_check_review_token (line 2850) | fn commit_with_check_review_token() -> Option { function resolve_commit_queue_mode (line 2893) | pub fn resolve_commit_queue_mode(cli_queue: bool, cli_no_queue: bool) ->... function commit_queue_enabled_from_config (line 2916) | fn commit_queue_enabled_from_config() -> bool { function commit_queue_on_issues_enabled (line 2953) | fn commit_queue_on_issues_enabled(repo_root: &Path) -> bool { function prompt_yes_no (line 2989) | fn prompt_yes_no(message: &str) -> Result { function prompt_yes_no_default_yes (line 2998) | fn prompt_yes_no_default_yes(message: &str) -> Result { function resolve_commit_testing_policy (line 3013) | fn resolve_commit_testing_policy(repo_root: &Path) -> CommitTestingPolicy { function resolve_commit_skill_gate_policy (line 3067) | fn resolve_commit_skill_gate_policy(repo_root: &Path) -> CommitSkillGate... function run_required_skill_gate (line 3099) | fn run_required_skill_gate( function build_required_skills_prompt_context (line 3183) | fn build_required_skills_prompt_context( function combine_review_instructions (line 3206) | fn combine_review_instructions( type InvariantFinding (line 3231) | struct InvariantFinding { type InvariantGateReport (line 3239) | struct InvariantGateReport { method to_prompt_context (line 3245) | fn to_prompt_context(&self, inv: &config::InvariantsConfig) -> String { function resolve_invariants_config (line 3299) | fn resolve_invariants_config(repo_root: &Path) -> Option bool { function looks_like_source_file_for_test_gate (line 3482) | fn looks_like_source_file_for_test_gate(path: &str) -> bool { function is_test_file_path (line 3495) | fn is_test_file_path(path: &str) -> bool { function normalize_rel_path (line 3509) | fn normalize_rel_path(path: &Path) -> String { function normalize_dir_path (line 3513) | fn normalize_dir_path(path: &str) -> String { function path_is_within_dir (line 3521) | fn path_is_within_dir(path: &str, dir: &str) -> bool { function find_ai_scratch_tests (line 3530) | fn find_ai_scratch_tests(repo_root: &Path, scratch_dir: &str) -> Vec Vec { function collect_candidate_rust_test_paths (line 3607) | fn collect_candidate_rust_test_paths(rel_path: &Path) -> Vec { function find_related_tests (line 3626) | fn find_related_tests( function find_non_bun_test_tasks (line 3672) | fn find_non_bun_test_tasks(repo_root: &Path, strict_bun_repo: bool) -> V... function apply_testing_gate_failure (line 3714) | fn apply_testing_gate_failure(mode: &str, message: &str) -> Result<()> { function run_pre_commit_test_gate (line 3723) | fn run_pre_commit_test_gate( function is_doc_gate_failure (line 3862) | fn is_doc_gate_failure(message: &str) -> bool { function is_test_gate_failure (line 3867) | fn is_test_gate_failure(message: &str) -> bool { function run_review_attempt (line 3872) | fn run_review_attempt( function run_with_check_sync (line 3938) | pub fn run_with_check_sync( function codex_write_msg (line 4721) | fn codex_write_msg(writer: &mut dyn Write, msg: &serde_json::Value) -> R... type CodexAppServerEvent (line 4729) | enum CodexAppServerEvent { type CodexReadOutcome (line 4735) | enum CodexReadOutcome { function codex_read_next_message (line 4740) | fn codex_read_next_message( function codex_read_response (line 4776) | fn codex_read_response( function codex_read_response_with_notifications (line 4800) | fn codex_read_response_with_notifications( function openrouter_review_should_use_codex (line 4833) | fn openrouter_review_should_use_codex() -> bool { function beads_rust_history_dir (line 4842) | fn beads_rust_history_dir(repo_root: &Path) -> PathBuf { function beads_rust_beads_dir (line 4849) | fn beads_rust_beads_dir(repo_root: &Path) -> PathBuf { function flow_commit_reports_dir (line 4853) | fn flow_commit_reports_dir() -> Option { function write_commit_review_markdown_report (line 4863) | fn write_commit_review_markdown_report( function write_beads_commit_review_record (line 4970) | fn write_beads_commit_review_record( function run_codex_review (line 5043) | fn run_codex_review( function run_codex_review_once (line 5083) | fn run_codex_review_once( function configured_codex_bin_for_workdir (line 5414) | pub(crate) fn configured_codex_bin_for_workdir(workdir: &Path) -> String { function normalize_codex_bin_value (line 5463) | fn normalize_codex_bin_value(raw: &str) -> String { function normalize_review_url (line 5481) | fn normalize_review_url(url: &str) -> String { function run_remote_claude_review (line 5490) | fn run_remote_claude_review( function run_claude_review (line 5583) | fn run_claude_review( function run_opencode_review (line 5834) | fn run_opencode_review( function changed_files_from_diff (line 5950) | fn changed_files_from_diff(diff: &str) -> Vec { function issue_mentions_changed_file (line 5964) | fn issue_mentions_changed_file(issue: &str, files: &[String]) -> bool { function run_kimi_review (line 5981) | fn run_kimi_review( function run_openrouter_review (line 6177) | fn run_openrouter_review( constant OPENROUTER_CHAT_URL (line 6324) | const OPENROUTER_CHAT_URL: &str = "https://openrouter.ai/api/v1/chat/com... function openrouter_http_client (line 6326) | fn openrouter_http_client(timeout: Duration) -> Result { function openrouter_should_retry_error (line 6337) | fn openrouter_should_retry_error(err: &reqwest::Error) -> bool { function openrouter_retry_after (line 6350) | fn openrouter_retry_after(resp: &reqwest::blocking::Response) -> Option<... function openrouter_chat_completion_with_retry (line 6357) | fn openrouter_chat_completion_with_retry( function run_rise_review (line 6490) | fn run_rise_review( function ensure_git_repo (line 6586) | fn ensure_git_repo() -> Result<()> { function git_root_or_cwd (line 6601) | fn git_root_or_cwd() -> std::path::PathBuf { function warn_if_commit_invoked_from_subdir (line 6608) | fn warn_if_commit_invoked_from_subdir(repo_root: &Path) { function ensure_commit_setup (line 6630) | fn ensure_commit_setup(repo_root: &Path) -> Result<()> { function ensure_no_internal_staged (line 6638) | fn ensure_no_internal_staged(repo_root: &Path) -> Result<()> { function internal_staged_paths (line 6655) | fn internal_staged_paths(repo_root: &Path) -> Vec { function ensure_no_unwanted_staged (line 6680) | fn ensure_no_unwanted_staged(repo_root: &Path) -> Result<()> { function unwanted_staged_paths (line 6745) | fn unwanted_staged_paths(repo_root: &Path) -> Vec<(String, String)> { function unwanted_reason (line 6795) | fn unwanted_reason(path: &str) -> Option<&'static str> { function log_commit_event_for_repo (line 6817) | fn log_commit_event_for_repo( function record_undo_action (line 6853) | fn record_undo_action(repo_root: &Path, pushed: bool, message: Option<&s... constant COMMIT_QUEUE_DIR (line 6896) | const COMMIT_QUEUE_DIR: &str = ".ai/internal/commit-queue"; type CommitQueueEntry (line 6899) | struct CommitQueueEntry { constant RISE_REVIEW_DIR (line 6937) | const RISE_REVIEW_DIR: &str = ".ai/internal/rise-review"; constant EMPTY_TREE_HASH (line 6938) | const EMPTY_TREE_HASH: &str = "4b825dc642cb6eb9a060e54bf8d69288fbee4904"; type RiseReviewFileEntry (line 6941) | struct RiseReviewFileEntry { type RiseReviewSession (line 6949) | struct RiseReviewSession { function short_sha (line 6973) | fn short_sha(sha: &str) -> &str { function commit_queue_dir (line 6977) | fn commit_queue_dir(repo_root: &Path) -> PathBuf { function commit_queue_entry_path (line 6981) | fn commit_queue_entry_path(repo_root: &Path, sha: &str) -> PathBuf { function write_commit_queue_entry (line 6985) | fn write_commit_queue_entry(repo_root: &Path, entry: &CommitQueueEntry) ... function format_review_body (line 6994) | fn format_review_body(review: &ReviewResult) -> Option { function resolve_commit_parent (line 7009) | fn resolve_commit_parent(repo_root: &Path, commit_sha: &str) -> String { function resolve_commit_message (line 7023) | fn resolve_commit_message(repo_root: &Path, entry: &CommitQueueEntry) ->... function resolve_review_files (line 7033) | fn resolve_review_files(repo_root: &Path, commit_sha: &str) -> Vec PathBuf { function delete_rise_review_session (line 7121) | fn delete_rise_review_session(repo_root: &Path, commit_sha: &str) { function git_is_ancestor (line 7128) | fn git_is_ancestor(repo_root: &Path, ancestor: &str, descendant: &str) -... function load_commit_queue_entries (line 7137) | fn load_commit_queue_entries(repo_root: &Path) -> Result Result Result { function queue_existing_commit_for_approval (line 7188) | fn queue_existing_commit_for_approval( function remove_commit_queue_entry_by_entry (line 7248) | fn remove_commit_queue_entry_by_entry(repo_root: &Path, entry: &CommitQu... function queue_commit_for_review (line 7262) | fn queue_commit_for_review( function open_review_in_rise (line 7322) | fn open_review_in_rise(repo_root: &Path, commit_sha: &str) { function open_latest_queue_review (line 7399) | pub fn open_latest_queue_review() -> Result<()> { function latest_review_report_for_commit (line 7416) | fn latest_review_report_for_commit(repo_root: &Path, commit_sha: &str) -... function queued_review_counts_excluding (line 7450) | fn queued_review_counts_excluding( function print_other_queued_review_count (line 7475) | fn print_other_queued_review_count(repo_root: &Path, commit_sha: &str) { function copy_text_to_clipboard (line 7493) | fn copy_text_to_clipboard(text: &str) -> Result { function build_review_prompt_payload (line 7545) | fn build_review_prompt_payload( function copy_review_prompt (line 7638) | pub fn copy_review_prompt(hash: Option<&str>) -> Result<()> { function print_queue_instructions (line 7674) | fn print_queue_instructions(repo_root: &Path, commit_sha: &str) { function queue_review_status_label (line 7687) | fn queue_review_status_label(entry: &CommitQueueEntry) -> &'static str { function print_pending_queue_review_hint (line 7705) | fn print_pending_queue_review_hint(repo_root: &Path) { function approve_all_queued_commits (line 7760) | fn approve_all_queued_commits( function commit_queue_entry_matches (line 7969) | fn commit_queue_entry_matches(entry: &CommitQueueEntry, hash: &str) -> b... function refresh_queue_entry_commit (line 7981) | fn refresh_queue_entry_commit(repo_root: &Path, entry: &mut CommitQueueE... function current_upstream_ref (line 8022) | fn current_upstream_ref(repo_root: &Path) -> Option { function is_ephemeral_upstream_ref (line 8032) | fn is_ephemeral_upstream_ref(upstream: &str) -> bool { function find_best_pr_upstream_candidate (line 8039) | fn find_best_pr_upstream_candidate(repo_root: &Path, head_sha: &str) -> ... function ensure_safe_upstream_for_commit_queue_push (line 8070) | fn ensure_safe_upstream_for_commit_queue_push( function commit_queue_has_entries (line 8115) | pub fn commit_queue_has_entries(repo_root: &Path) -> bool { function commit_queue_has_entries_on_branch (line 8129) | pub fn commit_queue_has_entries_on_branch(repo_root: &Path, branch: &str... function commit_queue_has_entries_reachable_from_head (line 8139) | pub fn commit_queue_has_entries_reachable_from_head(repo_root: &Path) ->... function refresh_commit_queue (line 8157) | pub fn refresh_commit_queue(repo_root: &Path) -> Result { function queued_commit_patch (line 8168) | fn queued_commit_patch(repo_root: &Path, commit_sha: &str) -> Result(repo_root: &Path, commit_sha: &st... function run_codex_review_for_queued_commit (line 8201) | fn run_codex_review_for_queued_commit( function append_unique_ids (line 8216) | fn append_unique_ids(dest: &mut Vec, ids: Vec) { function review_queue_entry_with_codex (line 8225) | fn review_queue_entry_with_codex( function maybe_sync_queue_review_to_mirrors (line 8302) | fn maybe_sync_queue_review_to_mirrors( function queue_flag_for_command (line 8364) | fn queue_flag_for_command(queue: CommitQueueMode) -> String { function review_flag_for_command (line 8374) | fn review_flag_for_command(queue: CommitQueueMode) -> String { function review_bookmark_prefix (line 8382) | fn review_bookmark_prefix(repo_root: &Path) -> Option { function sanitize_review_branch (line 8418) | fn sanitize_review_branch(branch: &str) -> String { function create_review_bookmark (line 8434) | fn create_review_bookmark(repo_root: &Path, commit_sha: &str, branch: &s... function delete_review_bookmark (line 8477) | fn delete_review_bookmark(repo_root: &Path, bookmark: &str) { function jj_bookmark_exists (line 8483) | fn jj_bookmark_exists(repo_root: &Path, name: &str) -> bool { function jj_run_in (line 8497) | fn jj_run_in(repo_root: &Path, args: &[&str]) -> Result<()> { function jj_capture_in (line 8516) | fn jj_capture_in(repo_root: &Path, args: &[&str]) -> Result { function jj_bin (line 8535) | fn jj_bin() -> String { function ensure_gh_available (line 8543) | fn ensure_gh_available() -> Result<()> { function gh_capture_in (line 8556) | fn gh_capture_in(repo_root: &Path, args: &[&str]) -> Result { function github_repo_from_remote_url (line 8572) | fn github_repo_from_remote_url(url: &str) -> Option { function resolve_github_repo (line 8591) | fn resolve_github_repo(repo_root: &Path) -> Result { function sanitize_ref_component (line 8621) | fn sanitize_ref_component(input: &str) -> String { function default_pr_head (line 8636) | fn default_pr_head(entry: &CommitQueueEntry) -> String { function ensure_pr_head_pushed (line 8661) | fn ensure_pr_head_pushed(repo_root: &Path, head: &str, commit_sha: &str)... function pr_push_remote_candidates (line 8780) | fn pr_push_remote_candidates(repo_root: &Path) -> Vec { function pr_head_selector_for_remote (line 8798) | fn pr_head_selector_for_remote(repo_root: &Path, remote: &str, head: &st... function extract_pr_url (line 8814) | fn extract_pr_url(text: &str) -> Option { function pr_number_from_url (line 8819) | fn pr_number_from_url(url: &str) -> Option { function split_head_selector (line 8824) | fn split_head_selector(head: &str) -> (Option<&str>, &str) { function gh_find_open_pr_by_head (line 8836) | fn gh_find_open_pr_by_head( function gh_create_pr (line 8900) | fn gh_create_pr( function open_in_browser (line 8970) | fn open_in_browser(url: &str) -> Result<()> { function commit_message_title_body (line 8990) | fn commit_message_title_body(message: &str) -> (String, String) { function normalize_markdown_linebreaks (line 8997) | fn normalize_markdown_linebreaks(text: &str) -> String { function run_commit_queue (line 9007) | pub fn run_commit_queue(cmd: CommitQueueCommand) -> Result<()> { function run_pr (line 9582) | pub fn run_pr(opts: PrOpts) -> Result<()> { function run_pr_open (line 9660) | fn run_pr_open(repo_root: &Path, opts: &PrOpts) -> Result<()> { function normalize_pr_args (line 9712) | fn normalize_pr_args(args: &[String]) -> Vec { type PrFeedbackCommand (line 9724) | struct PrFeedbackCommand { type PrFeedbackItem (line 9732) | struct PrFeedbackItem { type PrFeedbackSnapshot (line 9746) | struct PrFeedbackSnapshot { function new_pr_feedback_trace_id (line 9760) | fn new_pr_feedback_trace_id() -> String { type GhApiUser (line 9765) | struct GhApiUser { type GhPrFeedbackSummary (line 9770) | struct GhPrFeedbackSummary { type GhPrTitleSummary (line 9776) | struct GhPrTitleSummary { type GhPrReviewComment (line 9781) | struct GhPrReviewComment { type GhIssueComment (line 9799) | struct GhIssueComment { type GhReview (line 9809) | struct GhReview { type GhGraphqlReviewThreadsResponse (line 9821) | struct GhGraphqlReviewThreadsResponse { type GhGraphqlReviewThreadsData (line 9826) | struct GhGraphqlReviewThreadsData { type GhGraphqlReviewThreadsRepository (line 9831) | struct GhGraphqlReviewThreadsRepository { type GhGraphqlReviewThreadsPullRequest (line 9837) | struct GhGraphqlReviewThreadsPullRequest { type GhGraphqlReviewThreadsConnection (line 9843) | struct GhGraphqlReviewThreadsConnection { type GhGraphqlReviewThreadNode (line 9850) | struct GhGraphqlReviewThreadNode { type GhGraphqlReviewThreadComments (line 9856) | struct GhGraphqlReviewThreadComments { type GhGraphqlReviewThreadCommentNode (line 9861) | struct GhGraphqlReviewThreadCommentNode { type GhGraphqlPageInfo (line 9866) | struct GhGraphqlPageInfo { type LoadedPrFeedback (line 9874) | struct LoadedPrFeedback { type PrFeedbackArtifacts (line 9886) | struct PrFeedbackArtifacts { function parse_pr_feedback_args (line 9894) | fn parse_pr_feedback_args(args: &[String]) -> Result Option<(String, u64)> { function resolve_current_pr_for_feedback (line 9953) | fn resolve_current_pr_for_feedback(repo_root: &Path, repo: &str) -> Resu... function gh_api_json_in (line 9973) | fn gh_api_json_in(repo_root: &Path, endpoint: &str)... function gh_review_thread_ids_by_comment_url (line 9979) | fn gh_review_thread_ids_by_comment_url( function pr_feedback_external_ref (line 10061) | fn pr_feedback_external_ref(repo: &str, pr_number: u64, source: &str, so... function compact_single_line (line 10075) | fn compact_single_line(text: &str, max_chars: usize) -> String { function pr_feedback_todo_title (line 10096) | fn pr_feedback_todo_title(pr_number: u64, item: &PrFeedbackItem) -> Stri... function feedback_location_label (line 10105) | fn feedback_location_label(item: &PrFeedbackItem) -> Option { function feedback_review_state_label (line 10113) | fn feedback_review_state_label(item: &PrFeedbackItem) -> Option { function compact_diff_hunk (line 10121) | fn compact_diff_hunk(diff_hunk: &str, max_lines: usize, max_chars: usize... function compact_pr_feedback_context_block (line 10146) | fn compact_pr_feedback_context_block(value: &str, max_lines: usize, max_... function command_on_path (line 10170) | fn command_on_path(command: &str) -> bool { function cursor_review_open_command (line 10177) | fn cursor_review_open_command(selector: &str, compact: bool, open_cursor... function open_cursor_review_bundle (line 10193) | fn open_cursor_review_bundle( function pr_feedback_snapshot_json_path (line 10221) | fn pr_feedback_snapshot_json_path(repo_root: &Path, pr_number: u64) -> R... function pr_feedback_plan_root (line 10227) | fn pr_feedback_plan_root() -> PathBuf { function pr_feedback_repo_slug (line 10237) | fn pr_feedback_repo_slug(repo: &str) -> String { function pr_feedback_review_plan_path_at (line 10256) | fn pr_feedback_review_plan_path_at(root: &Path, repo: &str, pr_number: u... function pr_feedback_kit_system_path_at (line 10264) | fn pr_feedback_kit_system_path_at(root: &Path, repo: &str, pr_number: u6... function pr_feedback_review_rules_path_at (line 10272) | fn pr_feedback_review_rules_path_at(root: &Path, repo: &str, pr_number: ... function canonical_review_rules_doc_path (line 10280) | fn canonical_review_rules_doc_path() -> PathBuf { function format_review_state_counts (line 10288) | fn format_review_state_counts(reviews: &[GhReview]) -> String { function review_state_counts_map (line 10301) | fn review_state_counts_map(reviews: &[GhReview]) -> HashMap String { function truncate_pr_feedback_seed_text (line 10730) | fn truncate_pr_feedback_seed_text(value: &str, max_chars: usize) -> Stri... function pr_feedback_seed_kind (line 10741) | fn pr_feedback_seed_kind(item: &PrFeedbackItem) -> PrFeedbackSeedKind { function pr_feedback_file_label (line 10758) | fn pr_feedback_file_label(item: &PrFeedbackItem) -> String { function pr_feedback_area_label (line 10771) | fn pr_feedback_area_label(item: &PrFeedbackItem) -> &'static str { function seeded_pr_feedback_plan_sections (line 10778) | fn seeded_pr_feedback_plan_sections( function write_pr_feedback_review_plan_at (line 10841) | fn write_pr_feedback_review_plan_at( function load_pr_feedback_data (line 11056) | fn load_pr_feedback_data(repo_root: &Path, selector: Option<&str>) -> Re... function build_pr_feedback_snapshot (line 11178) | fn build_pr_feedback_snapshot(data: &LoadedPrFeedback) -> PrFeedbackSnap... function write_pr_feedback_artifacts (line 11194) | fn write_pr_feedback_artifacts( function render_pr_feedback_reference (line 11237) | fn render_pr_feedback_reference( function resolve_pr_feedback_reference (line 11331) | pub fn resolve_pr_feedback_reference(repo_root: &Path, selector: &str) -... function run_pr_feedback (line 11340) | fn run_pr_feedback(repo_root: &Path, cmd: PrFeedbackCommand) -> Result<(... type GhPrView (line 11447) | struct GhPrView { function gh_pr_view (line 11452) | fn gh_pr_view(repo_root: &Path, repo: &str, number: u64) -> Result String { function open_in_zed_preview (line 11501) | fn open_in_zed_preview(path: &Path) -> Result<()> { function parse_pr_edit_markdown (line 11515) | fn parse_pr_edit_markdown(text: &str) -> Result<(String, String)> { function render_pr_edit_markdown (line 11570) | fn render_pr_edit_markdown(title: &str, body: &str) -> String { function render_pr_edit_markdown_with_frontmatter (line 11580) | fn render_pr_edit_markdown_with_frontmatter( function strip_existing_frontmatter (line 11598) | fn strip_existing_frontmatter(text: &str) -> &str { function ensure_pr_edit_frontmatter (line 11623) | fn ensure_pr_edit_frontmatter(path: &Path, repo: &str, number: u64) -> R... function gh_pr_edit (line 11639) | fn gh_pr_edit(repo_root: &Path, repo: &str, number: u64, title: &str, bo... function resolve_pr_for_open (line 11673) | fn resolve_pr_for_open(repo_root: &Path, opts: &PrOpts) -> Result<(Strin... function run_pr_open_edit (line 11765) | fn run_pr_open_edit(repo_root: &Path, opts: &PrOpts) -> Result<()> { function format_queue_created_at (line 11867) | fn format_queue_created_at(ts: &str) -> String { function get_openai_key (line 11910) | fn get_openai_key() -> Result { type CommitMessageProvider (line 11915) | enum CommitMessageProvider { type CommitMessageOverride (line 11921) | enum CommitMessageOverride { function parse_commit_message_override (line 11925) | fn parse_commit_message_override( function resolve_commit_message_override (line 11932) | fn resolve_commit_message_override(repo_root: &Path) -> Option Vec { function commit_message_from_provider (line 11996) | fn commit_message_from_provider( function commit_message_from_selection (line 12013) | fn commit_message_from_selection( function truncate_commit_subject (line 12052) | fn truncate_commit_subject(subject: &str) -> String { function build_deterministic_commit_message (line 12063) | fn build_deterministic_commit_message(diff: &str) -> String { function generate_commit_message_with_fallbacks (line 12096) | fn generate_commit_message_with_fallbacks( function sanitize_commit_message (line 12160) | fn sanitize_commit_message(message: &str) -> String { function generate_commit_message_kimi (line 12173) | fn generate_commit_message_kimi( function git_run (line 12250) | fn git_run(args: &[&str]) -> Result<()> { function git_run_in (line 12271) | fn git_run_in(workdir: &std::path::Path, args: &[&str]) -> Result<()> { function git_try (line 12294) | fn git_try(args: &[&str]) -> Result<()> { type PushResult (line 12309) | enum PushResult { function branch_is_detached (line 12315) | fn branch_is_detached(branch: &str) -> bool { function git_push_args (line 12320) | fn git_push_args<'a>(remote: &'a str, branch: &'a str) -> Vec<&'a str> { function git_pull_rebase_args (line 12328) | fn git_pull_rebase_args<'a>(remote: &'a str, branch: &'a str) -> Vec<&'a... function git_push_run (line 12336) | fn git_push_run(remote: &str, branch: &str) -> Result<()> { function git_push_run_in (line 12341) | fn git_push_run_in(workdir: &std::path::Path, remote: &str, branch: &str... function git_pull_rebase_try (line 12346) | fn git_pull_rebase_try(remote: &str, branch: &str) -> Result<()> { function git_pull_rebase_try_in (line 12351) | fn git_pull_rebase_try_in(workdir: &std::path::Path, remote: &str, branc... function git_push_try (line 12357) | fn git_push_try(remote: &str, branch: &str) -> PushResult { function git_push_try_in (line 12380) | fn git_push_try_in(workdir: &std::path::Path, remote: &str, branch: &str... function git_try_in (line 12407) | fn git_try_in(workdir: &std::path::Path, args: &[&str]) -> Result<()> { type GitCaptureCacheState (line 12423) | struct GitCaptureCacheState { type GitCaptureCacheScope (line 12432) | struct GitCaptureCacheScope; method begin (line 12435) | fn begin() -> Self { method drop (line 12448) | fn drop(&mut self) { function git_capture_cacheable (line 12459) | fn git_capture_cacheable(args: &[&str]) -> bool { function git_capture_cache_key (line 12465) | fn git_capture_cache_key(workdir: Option<&std::path::Path>, args: &[&str... function git_capture_cached_lookup (line 12476) | fn git_capture_cached_lookup(key: &str) -> Option { function git_capture_cached_store (line 12486) | fn git_capture_cached_store(key: String, value: String) { function git_capture (line 12495) | fn git_capture(args: &[&str]) -> Result { function git_capture_in (line 12518) | fn git_capture_in(workdir: &std::path::Path, args: &[&str]) -> Result usize { function truncate_diff (line 12551) | fn truncate_diff(diff: &str) -> (String, bool) { function truncate_context (line 12565) | fn truncate_context(context: &str, max_chars: usize) -> String { function generate_commit_message_opencode (line 12580) | fn generate_commit_message_opencode( function generate_commit_message_opencode_run (line 12596) | fn generate_commit_message_opencode_run( function generate_commit_message_claude (line 12680) | fn generate_commit_message_claude(diff: &str, status: &str, truncated: b... function generate_commit_message_rise (line 12721) | fn generate_commit_message_rise( function generate_commit_message_openrouter (line 12780) | fn generate_commit_message_openrouter( function generate_commit_message (line 12837) | fn generate_commit_message( function generate_commit_message_remote (line 12936) | fn generate_commit_message_remote( function trim_quotes (line 12990) | fn trim_quotes(s: &str) -> String { function capture_staged_snapshot_in (line 13002) | fn capture_staged_snapshot_in(workdir: &std::path::Path) -> Result Option { function normalize_future_tasks (line 13070) | fn normalize_future_tasks(tasks: &[String]) -> Vec { function openrouter_model_id (line 13086) | fn openrouter_model_id(model: &str) -> &str { function openrouter_model_label (line 13101) | fn openrouter_model_label(model: &str) -> String { function openrouter_api_key (line 13105) | fn openrouter_api_key() -> Result { function parse_review_json (line 13125) | fn parse_review_json(output: &str) -> Option { function record_review_outputs_to_beads_rust (line 13144) | fn record_review_outputs_to_beads_rust( function create_review_run_bead (line 13249) | fn create_review_run_bead( function create_review_issue_bead (line 13329) | fn create_review_issue_bead( function create_review_future_task_bead (line 13387) | fn create_review_future_task_bead( function br_create_ephemeral (line 13433) | fn br_create_ephemeral( function infer_review_bead_priority (line 13483) | fn infer_review_bead_priority(issue: &str) -> u8 { function br_create_failed_due_to_duplicate_external_ref (line 13519) | fn br_create_failed_due_to_duplicate_external_ref(output: &std::process:... function safe_label_value (line 13529) | fn safe_label_value(value: &str) -> String { function flow_review_project_key (line 13545) | fn flow_review_project_key(repo_root: &Path) -> String { function normalize_git_remote_to_owner_repo (line 13558) | fn normalize_git_remote_to_owner_repo(url: &str) -> Option { function flow_review_run_id (line 13578) | fn flow_review_run_id(repo_root: &Path, diff: &str, model_label: &str, r... function flow_review_item_id (line 13592) | fn flow_review_item_id(review_run_id: &str, kind: &str, text: &str) -> S... function review_task_title (line 13603) | fn review_task_title(task: &str) -> String { function review_task_description_with_commit (line 13619) | fn review_task_description_with_commit( function env_flag (line 13650) | fn env_flag(name: &str) -> bool { function send_to_cloud (line 13663) | fn send_to_cloud(project_path: &std::path::Path, issues: &[String], summ... type ReviewEvent (line 13696) | enum ReviewEvent { function should_show_review_context (line 13703) | fn should_show_review_context() -> bool { function gitedit_globally_enabled (line 13711) | fn gitedit_globally_enabled() -> bool { function gitedit_mirror_enabled (line 13724) | fn gitedit_mirror_enabled() -> bool { function gitedit_mirror_enabled_for_commit (line 13737) | fn gitedit_mirror_enabled_for_commit(repo_root: &std::path::Path) -> bool { function gitedit_mirror_enabled_for_commit_with_check (line 13749) | fn gitedit_mirror_enabled_for_commit_with_check(repo_root: &std::path::P... function gitedit_api_url (line 13764) | fn gitedit_api_url(repo_root: &std::path::Path) -> String { function gitedit_token (line 13777) | fn gitedit_token(repo_root: &std::path::Path) -> Option { function gitedit_repo_override (line 13804) | fn gitedit_repo_override(repo_root: &std::path::Path) -> Option<(String,... type GitEditReviewData (line 13832) | pub struct GitEditReviewData { function sync_to_gitedit (line 13841) | fn sync_to_gitedit( function gitedit_sessions_hash (line 13983) | fn gitedit_sessions_hash( function get_gitedit_project (line 14002) | fn get_gitedit_project(repo_root: &std::path::Path) -> Option<(String, S... function parse_github_remote (line 14014) | fn parse_github_remote(url: &str) -> Option<(String, String)> { function myflow_mirror_enabled (line 14044) | fn myflow_mirror_enabled(repo_root: &std::path::Path) -> bool { function myflow_api_url (line 14055) | fn myflow_api_url(repo_root: &std::path::Path) -> String { function myflow_token (line 14068) | fn myflow_token(repo_root: &std::path::Path) -> Option { function post_myflow_sync_events (line 14109) | fn post_myflow_sync_events( function sync_to_myflow (line 14148) | fn sync_to_myflow( function entire_enabled (line 14477) | fn entire_enabled() -> bool { function unhash_capture_enabled (line 14491) | fn unhash_capture_enabled() -> bool { function capture_unhash_bundle (line 14507) | fn capture_unhash_bundle( constant UNHASH_TRACE_DEFAULT_BYTES (line 14549) | const UNHASH_TRACE_DEFAULT_BYTES: u64 = 64 * 1024; function default_assistant_trace_roots (line 14551) | fn default_assistant_trace_roots() -> Vec { function assistant_traces_root (line 14571) | fn assistant_traces_root() -> Option { function unhash_trace_max_bytes (line 14584) | fn unhash_trace_max_bytes() -> u64 { function read_tail_bytes (line 14595) | fn read_tail_bytes(path: &Path, max_bytes: u64) -> Result> { function write_agent_trace_file (line 14607) | fn write_agent_trace_file(bundle_path: &Path, rel_path: &str, data: &[u8... function write_agent_traces (line 14616) | fn write_agent_traces(bundle_path: &Path, repo_root: &Path) { function write_agent_learning (line 14722) | fn write_agent_learning( function classify_learning_tags (line 14800) | fn classify_learning_tags(texts: &[String]) -> Vec { function render_learning_decision_md (line 14832) | fn render_learning_decision_md(learn: &serde_json::Value) -> String { function render_learning_regression_md (line 14848) | fn render_learning_regression_md(learn: &serde_json::Value) -> String { function render_learning_patch_summary_md (line 14863) | fn render_learning_patch_summary_md(learn: &serde_json::Value) -> String { function append_learning_store (line 14885) | fn append_learning_store( function learning_store_root (line 14924) | fn learning_store_root(repo_root: &Path) -> Result { function append_jazz_learning (line 14955) | fn append_jazz_learning(line: &str) -> Result<()> { function jazz_assistant_traces_root (line 14969) | fn jazz_assistant_traces_root() -> Option { function try_capture_unhash_bundle (line 14982) | fn try_capture_unhash_bundle( function stage_changes_for_commit (line 15150) | fn stage_changes_for_commit(workdir: &Path, stage_paths: &[String]) -> R... function split_paragraphs (line 15186) | fn split_paragraphs(message: &str) -> Vec { function stage_paths_cli_flags (line 15208) | fn stage_paths_cli_flags(stage_paths: &[String]) -> String { function delegate_to_hub (line 15216) | fn delegate_to_hub( function delegate_to_hub_with_check (line 15280) | fn delegate_to_hub_with_check( function generate_early_gitedit_url (line 15399) | fn generate_early_gitedit_url(repo_root: &std::path::Path) -> Option Result { function run_fixer (line 15470) | fn run_fixer(repo_root: &Path, fixer: &str) -> Result { function run_action_script (line 15496) | fn run_action_script(repo_root: &Path, cmd: &str) -> Result { function fix_mdx_comments (line 15513) | fn fix_mdx_comments(repo_root: &Path) -> Result { function fix_html_comments_to_jsx (line 15550) | fn fix_html_comments_to_jsx(content: &str) -> String { function fix_trailing_whitespace (line 15609) | fn fix_trailing_whitespace(repo_root: &Path) -> Result { function fix_end_of_file (line 15669) | fn fix_end_of_file(repo_root: &Path) -> Result { function fix_lowercase_filenames (line 15715) | fn fix_lowercase_filenames(repo_root: &Path) -> Result { function is_binary (line 15766) | fn is_binary(path: &Path) -> bool { function get_review_instructions (line 15805) | pub fn get_review_instructions(repo_root: &Path) -> Option { function ai_scratch_tests_are_excluded_from_related_tests (line 15848) | fn ai_scratch_tests_are_excluded_from_related_tests() { function path_within_dir_handles_relative_prefixes (line 15863) | fn path_within_dir_handles_relative_prefixes() { function commit_message_selection_parsing_supports_fallback_specs (line 15870) | fn commit_message_selection_parsing_supports_fallback_specs() { function deterministic_commit_message_includes_changed_files (line 15903) | fn deterministic_commit_message_includes_changed_files() { function glm5_alias_maps_to_rise_selection (line 15915) | fn glm5_alias_maps_to_rise_selection() { function normalize_markdown_linebreaks_decodes_literal_newlines (line 15930) | fn normalize_markdown_linebreaks_decodes_literal_newlines() { function normalize_markdown_linebreaks_preserves_existing_multiline_text (line 15938) | fn normalize_markdown_linebreaks_preserves_existing_multiline_text() { function normalize_codex_bin_value_expands_tilde_paths (line 15945) | fn normalize_codex_bin_value_expands_tilde_paths() { function configured_codex_bin_for_workdir_uses_expanded_global_path (line 15956) | fn configured_codex_bin_for_workdir_uses_expanded_global_path() { function invariants_dep_check_flags_unapproved_dependencies (line 15986) | fn invariants_dep_check_flags_unapproved_dependencies() { function invariant_prompt_context_includes_rules_and_findings (line 16003) | fn invariant_prompt_context_includes_rules_and_findings() { function parse_pr_feedback_args_accepts_full_flag (line 16031) | fn parse_pr_feedback_args_accepts_full_flag() { function parse_pr_feedback_args_defaults_to_full_output (line 16047) | fn parse_pr_feedback_args_defaults_to_full_output() { function parse_pr_feedback_args_accepts_compact_flag (line 16058) | fn parse_pr_feedback_args_accepts_compact_flag() { function parse_pr_feedback_args_accepts_cursor_flag (line 16073) | fn parse_pr_feedback_args_accepts_cursor_flag() { function write_pr_feedback_review_plan_includes_snapshot_and_kit_input (line 16087) | fn write_pr_feedback_review_plan_includes_snapshot_and_kit_input() { function write_pr_feedback_review_rules_mentions_artifacts (line 16154) | fn write_pr_feedback_review_rules_mentions_artifacts() { function write_pr_feedback_kit_system_prompt_mentions_artifacts (line 16214) | fn write_pr_feedback_kit_system_prompt_mentions_artifacts() { FILE: src/commits.rs constant TOP_COMMITS_PATH (line 16) | const TOP_COMMITS_PATH: &str = ".ai/internal/commits/top.txt"; type CommitEntry (line 20) | struct CommitEntry { function run (line 41) | pub fn run(cmd: CommitsCommand) -> Result<()> { function run_list (line 50) | fn run_list(opts: &CommitsOpts) -> Result<()> { function run_top (line 83) | fn run_top() -> Result<()> { function mark_top_commit (line 116) | fn mark_top_commit(hash: &str) -> Result<()> { function unmark_top_commit (line 133) | fn unmark_top_commit(hash: &str) -> Result<()> { function list_commits (line 148) | fn list_commits( function list_commits_by_hashes (line 218) | fn list_commits_by_hashes(entries: &[TopEntry]) -> Result bool { type CommitAction (line 264) | enum CommitAction { type CommitSelection (line 269) | struct CommitSelection<'a> { function run_commits_fzf (line 275) | fn run_commits_fzf(commits: &[CommitEntry]) -> Result Result<()> { function truncate_str (line 389) | fn truncate_str(s: &str, max_len: usize) -> String { type TopEntry (line 404) | struct TopEntry { function toggle_top_commit (line 409) | fn toggle_top_commit(commit: &CommitEntry) -> Result<()> { function load_commit_by_ref (line 427) | fn load_commit_by_ref(commit_ref: &str) -> Result> { function resolve_full_hash (line 474) | fn resolve_full_hash(commit_ref: &str) -> Result { function load_top_entries (line 485) | fn load_top_entries() -> Result> { function write_top_entries (line 506) | fn write_top_entries(entries: &[TopEntry]) -> Result<()> { function top_hashes (line 529) | fn top_hashes(entries: &[TopEntry]) -> HashSet { function top_file_path (line 533) | fn top_file_path() -> Result { function repo_root (line 538) | fn repo_root() -> Result { FILE: src/config.rs constant CONFIG_CACHE_VERSION (line 15) | const CONFIG_CACHE_VERSION: u32 = 1; constant CONFIG_CACHE_ENV_DISABLE (line 16) | const CONFIG_CACHE_ENV_DISABLE: &str = "FLOW_DISABLE_CONFIG_CACHE"; type Config (line 20) | pub struct Config { type ExplainCommitsConfig (line 153) | pub struct ExplainCommitsConfig { type EverrunsConfig (line 173) | pub struct EverrunsConfig { type MacosConfig (line 211) | pub struct MacosConfig { type SshConfig (line 224) | pub struct SshConfig { type CommitConfig (line 238) | pub struct CommitConfig { type QualityConfig (line 351) | pub struct QualityConfig { type TestingConfig (line 377) | pub struct TestingConfig { type SkillGateConfig (line 406) | pub struct SkillGateConfig { type InvariantsConfig (line 423) | pub struct InvariantsConfig { type InvariantsDepsConfig (line 451) | pub struct InvariantsDepsConfig { type InvariantsFilesConfig (line 462) | pub struct InvariantsFilesConfig { type JjConfig (line 470) | pub struct JjConfig { type GitConfig (line 510) | pub struct GitConfig { type TsConfig (line 527) | pub struct TsConfig { type TsFlowConfig (line 534) | pub struct TsFlowConfig { type TsEnvConfig (line 563) | pub struct TsEnvConfig { type TsAgentsConfig (line 579) | pub struct TsAgentsConfig { type TsTaskFailureAgentsConfig (line 590) | pub struct TsTaskFailureAgentsConfig { type TsCommitConfig (line 610) | pub struct TsCommitConfig { type TsReviewConfig (line 694) | pub struct TsReviewConfig { method default (line 704) | fn default() -> Self { type FlowSettings (line 754) | pub struct FlowSettings { type LifecycleConfig (line 768) | pub struct LifecycleConfig { type LifecycleDomainsConfig (line 782) | pub struct LifecycleDomainsConfig { type LifecycleDomainAliasConfig (line 814) | pub struct LifecycleDomainAliasConfig { type SkillsConfig (line 825) | pub struct SkillsConfig { type AnalyticsConfig (line 847) | pub struct AnalyticsConfig { type SkillsCodexConfig (line 861) | pub struct SkillsCodexConfig { type CodexConfig (line 890) | pub struct CodexConfig { method merge (line 950) | pub(crate) fn merge(&mut self, other: CodexConfig) { type CodexSkillSourceConfig (line 993) | pub struct CodexSkillSourceConfig { type CodexReferenceResolverConfig (line 1005) | pub struct CodexReferenceResolverConfig { type SkillsSeqConfig (line 1020) | pub struct SkillsSeqConfig { type ReleaseConfig (line 1082) | pub struct ReleaseConfig { type RegistryReleaseConfig (line 1113) | pub struct RegistryReleaseConfig { type SetupConfig (line 1135) | pub struct SetupConfig { type SetupServerConfig (line 1142) | pub struct SetupServerConfig { type TaskResolutionConfig (line 1152) | pub struct TaskResolutionConfig { method merge (line 1310) | fn merge(&mut self, other: TaskResolutionConfig) { type OptionsConfig (line 1176) | pub struct OptionsConfig { method merge (line 1257) | fn merge(&mut self, other: OptionsConfig) { type ServerConfig (line 1331) | pub struct ServerConfig { method to_daemon_config (line 1349) | pub fn to_daemon_config(&self) -> DaemonConfig { method deserialize (line 1377) | fn deserialize(deserializer: D) -> std::result::Result function default_autostart (line 1443) | fn default_autostart() -> bool { type TaskConfig (line 1449) | pub struct TaskConfig { type DependencySpec (line 1491) | pub enum DependencySpec { method extend_commands (line 1831) | pub fn extend_commands(&self, buffer: &mut Vec) { function deserialize_shortcuts (line 1500) | fn deserialize_shortcuts<'de, D>(deserializer: D) -> std::result::Result... type StorageConfig (line 1522) | pub struct StorageConfig { function default_hub_url (line 1536) | fn default_hub_url() -> String { function default_storage_env_var (line 1540) | fn default_storage_env_var() -> String { type StorageEnvConfig (line 1546) | pub struct StorageEnvConfig { type StorageVariable (line 1555) | pub struct StorageVariable { type FloxConfig (line 1563) | pub struct FloxConfig { type FloxInstallSpec (line 1569) | pub struct FloxInstallSpec { type CommandFileConfig (line 1583) | pub struct CommandFileConfig { type RemoteServerConfig (line 1591) | pub struct RemoteServerConfig { type ServerHubConfig (line 1604) | pub struct ServerHubConfig { function default_server_hub_port (line 1615) | fn default_server_hub_port() -> u16 { type WatcherConfig (line 1621) | pub struct WatcherConfig { type WatcherDriver (line 1642) | pub enum WatcherDriver { method default (line 1648) | fn default() -> Self { type PoltergeistConfig (line 1654) | pub struct PoltergeistConfig { method default (line 1664) | fn default() -> Self { type PoltergeistMode (line 1675) | pub enum PoltergeistMode { method as_subcommand (line 1696) | pub fn as_subcommand(&self) -> &'static str { method default (line 1682) | fn default() -> Self { function default_debounce_ms (line 1687) | fn default_debounce_ms() -> u64 { function default_poltergeist_binary (line 1691) | fn default_poltergeist_binary() -> String { type StreamConfig (line 1707) | pub struct StreamConfig { type DaemonRestartPolicy (line 1718) | pub enum DaemonRestartPolicy { type DaemonConfig (line 1744) | pub struct DaemonConfig { method effective_health_url (line 1801) | pub fn effective_health_url(&self) -> Option { method effective_health_socket (line 1810) | pub fn effective_health_socket(&self) -> Option { method effective_host (line 1815) | pub fn effective_host(&self) -> &str { method health_target_label (line 1820) | pub fn health_target_label(&self) -> Option { function deserialize_aliases (line 1840) | fn deserialize_aliases<'de, D>(deserializer: D) -> Result PathBuf { function global_config_dir (line 1888) | pub fn global_config_dir() -> PathBuf { function legacy_global_state_dir_for (line 1895) | fn legacy_global_state_dir_for(config_dir: &Path) -> PathBuf { function select_global_state_dir (line 1899) | fn select_global_state_dir(config_dir: &Path) -> PathBuf { function ensure_global_config_dir (line 1911) | pub fn ensure_global_config_dir() -> Result { function global_state_dir (line 1921) | pub fn global_state_dir() -> PathBuf { function global_state_dir_candidates (line 1927) | pub fn global_state_dir_candidates() -> Vec { function ensure_global_state_dir (line 1941) | pub fn ensure_global_state_dir() -> Result { function ensure_dir (line 1950) | fn ensure_dir(path: &Path) -> Result<()> { function is_dir_path (line 1984) | fn is_dir_path(path: &Path) -> bool { function backup_path (line 1998) | fn backup_path(path: &Path) -> PathBuf { function load_global_secrets (line 2008) | pub fn load_global_secrets() { function ts_config_path (line 2020) | pub fn ts_config_path() -> PathBuf { function load_ts_config (line 2026) | pub fn load_ts_config() -> Option { function preferred_env_backend (line 2073) | pub fn preferred_env_backend() -> Option { function global_env_keys (line 2085) | pub fn global_env_keys() -> Vec { function expand_path (line 2109) | pub fn expand_path(raw: &str) -> PathBuf { type ConfigCacheEntry (line 2119) | struct ConfigCacheEntry { type ConfigPathStamp (line 2126) | struct ConfigPathStamp { method capture (line 2397) | fn capture(path: &Path) -> Option { method matches_current (line 2409) | fn matches_current(&self) -> bool { type ConfigLoadArtifacts (line 2135) | struct ConfigLoadArtifacts { function load (line 2140) | pub fn load>(path: P) -> Result { type Secrets (line 2177) | struct Secrets { type CloudflareSecrets (line 2191) | struct CloudflareSecrets { type ApiKeySecret (line 2198) | struct ApiKeySecret { function load_secrets (line 2203) | fn load_secrets(path: &Path) -> Result { function merge_secrets (line 2211) | fn merge_secrets(cfg: &mut Config, secrets: Secrets) { function load_uncached (line 2249) | fn load_uncached(path: &Path) -> Result { function load_sibling_secrets (line 2259) | fn load_sibling_secrets(cfg: &mut Config, path: &Path) { function load_with_includes (line 2271) | fn load_with_includes( function config_cache_disabled (line 2331) | fn config_cache_disabled() -> bool { function config_cache_path (line 2343) | fn config_cache_path(path: &Path) -> PathBuf { function read_config_cache (line 2350) | fn read_config_cache(path: &Path) -> Option { function write_config_cache (line 2359) | fn write_config_cache(path: &Path, cache: &ConfigCacheEntry) -> Result<(... function config_stamps_for_paths (line 2382) | fn config_stamps_for_paths(paths: &[PathBuf]) -> Vec { function config_stamps_match (line 2392) | fn config_stamps_match(stamps: &[ConfigPathStamp]) -> bool { function resolve_include_path (line 2420) | pub(crate) fn resolve_include_path(base: &Path, include: &str) -> PathBuf { function merge_config (line 2431) | fn merge_config(base: &mut Config, other: Config) { function merge_release_config (line 2512) | fn merge_release_config(base: &mut Config, other: Option) { function first_non_empty_remote (line 2562) | fn first_non_empty_remote(value: Option<&str>) -> Option { function preferred_git_remote_from_cfg (line 2571) | fn preferred_git_remote_from_cfg(cfg: &Config) -> Option { function preferred_git_remote_for_repo (line 2594) | pub fn preferred_git_remote_for_repo(repo_root: &Path) -> String { function load_or_default (line 2619) | pub fn load_or_default>(path: P) -> Config { function fixture_path (line 2638) | fn fixture_path(relative: &str) -> PathBuf { function load_parses_global_fixture (line 2643) | fn load_parses_global_fixture() { function server_port_is_preserved_when_present (line 2711) | fn server_port_is_preserved_when_present() { function expand_path_supports_tilde_and_env (line 2735) | fn expand_path_supports_tilde_and_env() { function lifecycle_domains_aliases_parse (line 2744) | fn lifecycle_domains_aliases_parse() { function global_state_dir_prefers_config_dir_for_fresh_homes (line 2774) | fn global_state_dir_prefers_config_dir_for_fresh_homes() { function global_state_dir_preserves_legacy_state_root_when_present (line 2781) | fn global_state_dir_preserves_legacy_state_root_when_present() { function global_state_dir_falls_back_when_config_path_is_blocked (line 2790) | fn global_state_dir_falls_back_when_config_path_is_blocked() { function parses_poltergeist_watcher (line 2802) | fn parses_poltergeist_watcher() { function load_or_default_returns_empty_when_missing (line 2832) | fn load_or_default_returns_empty_when_missing() { function load_parses_project_tasks (line 2842) | fn load_parses_project_tasks() { function load_parses_dependency_table (line 2868) | fn load_parses_dependency_table() { function parses_flox_dependencies_and_config (line 2913) | fn parses_flox_dependencies_and_config() { function task_activation_flag_defaults_and_parses (line 2940) | fn task_activation_flag_defaults_and_parses() { function load_parses_aliases (line 2959) | fn load_parses_aliases() { function load_parses_alias_array_table (line 2971) | fn load_parses_alias_array_table() { function options_defaults_are_false (line 2990) | fn options_defaults_are_false() { function options_trace_flag_parses (line 3001) | fn options_trace_flag_parses() { function options_commit_with_check_timeout_parses (line 3011) | fn options_commit_with_check_timeout_parses() { function options_commit_with_check_review_retries_parses (line 3021) | fn options_commit_with_check_review_retries_parses() { function options_commit_with_check_async_parses (line 3031) | fn options_commit_with_check_async_parses() { function options_commit_with_check_use_repo_root_parses (line 3041) | fn options_commit_with_check_use_repo_root_parses() { function options_commit_with_check_gitedit_mirror_parses (line 3051) | fn options_commit_with_check_gitedit_mirror_parses() { function options_codex_bin_parses (line 3061) | fn options_codex_bin_parses() { function task_resolution_config_parses (line 3071) | fn task_resolution_config_parses() { function commit_testing_config_parses (line 3101) | fn commit_testing_config_parses() { function commit_quick_default_parses (line 3127) | fn commit_quick_default_parses() { function commit_skill_gate_config_parses (line 3138) | fn commit_skill_gate_config_parses() { function skills_codex_config_parses (line 3160) | fn skills_codex_config_parses() { function codex_reference_resolver_config_parses (line 3185) | fn codex_reference_resolver_config_parses() { function codex_skill_source_config_parses (line 3225) | fn codex_skill_source_config_parses() { function git_remote_config_parses (line 3244) | fn git_remote_config_parses() { function preferred_git_remote_prefers_git_then_jj (line 3255) | fn preferred_git_remote_prefers_git_then_jj() { function analytics_config_parses (line 3277) | fn analytics_config_parses() { FILE: src/daemon.rs function run (line 25) | pub fn run(cmd: DaemonCommand) -> Result<()> { function start_daemon (line 55) | pub fn start_daemon(name: &str) -> Result<()> { function start_daemon_with_path (line 59) | pub fn start_daemon_with_path(name: &str, config_path: Option<&Path>) ->... function start_daemon_inner (line 64) | fn start_daemon_inner(daemon: &DaemonConfig) -> Result<()> { function stop_daemon (line 121) | pub fn stop_daemon(name: &str) -> Result<()> { function stop_daemon_with_path (line 125) | pub fn stop_daemon_with_path(name: &str, config_path: Option<&Path>) -> ... function show_status (line 156) | pub fn show_status() -> Result<()> { function show_status_for (line 161) | pub fn show_status_for(name: &str) -> Result<()> { function show_status_with_path (line 165) | pub fn show_status_with_path(config_path: Option<&Path>) -> Result<()> { function show_status_for_with_path (line 211) | pub fn show_status_for_with_path(name: &str, config_path: Option<&Path>)... function list_daemons (line 244) | pub fn list_daemons() -> Result<()> { function list_daemons_with_path (line 248) | pub fn list_daemons_with_path(config_path: Option<&Path>) -> Result<()> { type DaemonStatus (line 272) | pub struct DaemonStatus { function get_daemon_status (line 279) | pub fn get_daemon_status(daemon: &DaemonConfig) -> DaemonStatus { function restart_policy_for (line 304) | pub fn restart_policy_for(daemon: &DaemonConfig) -> DaemonRestartPolicy { function daemon_log_dir (line 317) | pub fn daemon_log_dir(name: &str) -> Result { function daemon_log_paths (line 324) | pub fn daemon_log_paths(name: &str) -> Result<(PathBuf, PathBuf)> { function sanitize_daemon_name (line 329) | fn sanitize_daemon_name(name: &str) -> String { type SpawnedDaemon (line 345) | struct SpawnedDaemon { function spawn_daemon_process (line 350) | fn spawn_daemon_process(daemon: &DaemonConfig, binary: &Path) -> Result<... function wait_for_daemon_ready (line 410) | fn wait_for_daemon_ready(daemon: &DaemonConfig, stdout_log: &Path) -> Re... function find_daemon_config_with_path (line 459) | fn find_daemon_config_with_path(name: &str, config_path: Option<&Path>) ... function load_merged_config_with_path (line 470) | pub fn load_merged_config_with_path(config_path: Option<&Path>) -> Resul... function resolve_flow_toml_path (line 505) | fn resolve_flow_toml_path() -> Option { function find_binary (line 519) | fn find_binary(name: &str) -> Result { function check_health (line 550) | fn check_health(url: &str) -> bool { function check_health_socket (line 567) | fn check_health_socket(path: &Path) -> bool { function daemon_health_status (line 582) | fn daemon_health_status(daemon: &DaemonConfig) -> Option { function daemon_pid_path (line 596) | fn daemon_pid_path(name: &str) -> PathBuf { function load_daemon_pid (line 604) | fn load_daemon_pid(name: &str) -> Result> { function persist_daemon_pid (line 615) | fn persist_daemon_pid(name: &str, pid: u32) -> Result<()> { function remove_daemon_pid (line 626) | fn remove_daemon_pid(name: &str) -> Result<()> { function process_alive (line 638) | fn process_alive(pid: u32) -> Result { function terminate_process (line 659) | fn terminate_process(pid: u32) -> Result<()> { function extract_port_from_url (line 703) | pub fn extract_port_from_url(url: &str) -> Option { function kill_process_on_port (line 715) | pub fn kill_process_on_port(port: u16) -> Result<()> { function kill_process_on_port (line 737) | pub fn kill_process_on_port(port: u16) -> Result<()> { FILE: src/daemon_snapshot.rs type FlowDaemonEntry (line 9) | pub struct FlowDaemonEntry { type FlowDaemonSnapshot (line 21) | pub struct FlowDaemonSnapshot { type FlowDaemonAction (line 31) | pub enum FlowDaemonAction { function load_daemon_snapshot (line 37) | pub fn load_daemon_snapshot(config_path: Option<&Path>) -> Result PathBuf { function open_db (line 15) | pub fn open_db() -> Result { FILE: src/deploy.rs constant DEPLOY_HELPER_BIN (line 31) | const DEPLOY_HELPER_BIN: &str = "infra"; constant DEPLOY_HELPER_REPO_DEFAULT (line 32) | const DEPLOY_HELPER_REPO_DEFAULT: &str = "~/infra"; constant DEPLOY_HELPER_ENV_BIN (line 33) | const DEPLOY_HELPER_ENV_BIN: &str = "FLOW_DEPLOY_HELPER_BIN"; constant DEPLOY_HELPER_ENV_REPO (line 34) | const DEPLOY_HELPER_ENV_REPO: &str = "FLOW_DEPLOY_HELPER_REPO"; constant DEPLOY_LOG_STATE_FILE (line 35) | const DEPLOY_LOG_STATE_FILE: &str = ".flow/deploy-log.json"; type InfraConfig (line 38) | struct InfraConfig { type DeployConfig (line 46) | pub struct DeployConfig { type HostConnection (line 52) | pub struct HostConnection { method parse (line 72) | pub fn parse(s: &str) -> Result { method ssh_target (line 91) | pub fn ssh_target(&self) -> String { type DeployLogState (line 59) | struct DeployLogState { type DeployProjectContext (line 64) | struct DeployProjectContext { type HostConfig (line 98) | pub struct HostConfig { type CloudflareConfig (line 132) | pub struct CloudflareConfig { type ProdConfig (line 174) | pub struct ProdConfig { type WebConfig (line 183) | pub struct WebConfig { type EnvApplyMode (line 209) | enum EnvApplyMode { function env_apply_mode_from_str (line 215) | fn env_apply_mode_from_str(value: Option<&str>) -> EnvApplyMode { function is_tls_connect_error (line 224) | fn is_tls_connect_error(err: &anyhow::Error) -> bool { type RailwayConfig (line 233) | pub struct RailwayConfig { function deploy_config_path (line 247) | fn deploy_config_path() -> PathBuf { function load_deploy_config (line 255) | pub fn load_deploy_config() -> Result { function save_deploy_config (line 266) | pub fn save_deploy_config(config: &DeployConfig) -> Result<()> { function deploy_log_state_path (line 276) | fn deploy_log_state_path(project_root: &Path) -> PathBuf { function load_deploy_log_state (line 280) | fn load_deploy_log_state(project_root: &Path) -> DeployLogState { function save_deploy_log_state (line 290) | fn save_deploy_log_state(project_root: &Path, state: &DeployLogState) ->... function record_deploy_marker (line 300) | fn record_deploy_marker(project_root: &Path) -> Result<()> { function run (line 311) | pub fn run(cmd: DeployCommand) -> Result<()> { function run_with_project_context (line 325) | fn run_with_project_context(action: Option, ctx: DeployPro... function run_prod (line 422) | pub fn run_prod(cmd: DeployCommand) -> Result<()> { function run_prod_with_project_context (line 436) | fn run_prod_with_project_context( function configure_deploy (line 560) | fn configure_deploy() -> Result<()> { function load_deploy_project_context (line 598) | fn load_deploy_project_context() -> Result { function ensure_deploy_helper (line 616) | pub fn ensure_deploy_helper() -> Result> { function deploy_helper_repo (line 669) | fn deploy_helper_repo() -> PathBuf { function infra_linux_connection_string (line 676) | fn infra_linux_connection_string() -> Option { function default_linux_connection_string (line 698) | pub fn default_linux_connection_string() -> Option { function prompt_line (line 702) | fn prompt_line(message: &str, default: Option<&str>) -> Result { function prompt_yes_no (line 718) | fn prompt_yes_no(message: &str, default_yes: bool) -> Result { function prompt_secret (line 731) | fn prompt_secret(message: &str) -> Result { function available_tasks (line 736) | fn available_tasks(cfg: &crate::config::Config) -> String { function auto_deploy (line 743) | fn auto_deploy(project_root: &Path, config: Option<&Config>) -> Result<(... function deploy_web (line 777) | fn deploy_web(project_root: &Path, config: Option<&Config>) -> Result<()> { function resolve_deploy_root (line 842) | fn resolve_deploy_root( function find_flow_toml_from (line 863) | fn find_flow_toml_from(start: &Path) -> Option { function deploy_host (line 877) | fn deploy_host( function deploy_cloudflare (line 1054) | fn deploy_cloudflare( function apply_cloudflare_env (line 1187) | pub fn apply_cloudflare_env(project_root: &Path, config: Option<&Config>... function set_cloudflare_secrets (line 1194) | pub fn set_cloudflare_secrets( function apply_cloudflare_env_from_config (line 1222) | fn apply_cloudflare_env_from_config(project_root: &Path, cf_cfg: &Cloudf... function collect_cloudflare_env_keys (line 1249) | fn collect_cloudflare_env_keys(cf_cfg: &CloudflareConfig) -> Vec { function apply_cloudflare_env_map (line 1260) | fn apply_cloudflare_env_map( function ensure_wrangler_config (line 1279) | fn ensure_wrangler_config(worker_path: &Path) -> Result<()> { function wrangler_command (line 1295) | fn wrangler_command(worker_path: &Path) -> Command { function is_cloud_source (line 1313) | fn is_cloud_source(source: Option<&str>) -> bool { function is_flow_source (line 1320) | fn is_flow_source(source: Option<&str>) -> bool { function maybe_bootstrap_secrets (line 1327) | fn maybe_bootstrap_secrets( function list_cloudflare_secret_keys (line 1389) | fn list_cloudflare_secret_keys( function set_wrangler_env_map (line 1415) | fn set_wrangler_env_map( function set_wrangler_var_value (line 1433) | fn set_wrangler_var_value( function set_wrangler_secret_value (line 1456) | fn set_wrangler_secret_value( function setup_cloudflare (line 1483) | fn setup_cloudflare(project_root: &Path, config: Option<&Config>) -> Res... function deploy_railway (line 1599) | fn deploy_railway(project_root: &Path, config: Option<&Config>) -> Resul... function show_status (line 1650) | fn show_status(_project_root: &Path, config: Option<&Config>) -> Result<... function show_logs (line 1678) | fn show_logs( function show_cloudflare_logs (line 1720) | fn show_cloudflare_logs( function restart_service (line 1758) | fn restart_service(_project_root: &Path, config: Option<&Config>) -> Res... function stop_service (line 1773) | fn stop_service(_project_root: &Path, config: Option<&Config>) -> Result... function open_shell (line 1788) | fn open_shell() -> Result<()> { function set_host (line 1807) | fn set_host(connection: &str) -> Result<()> { function show_host (line 1819) | fn show_host() -> Result<()> { function ssh_run (line 1835) | fn ssh_run(conn: &HostConnection, cmd: &str) -> Result<()> { function ssh_capture (line 1858) | fn ssh_capture(conn: &HostConnection, cmd: &str) -> Result { function rsync_upload (line 1875) | fn rsync_upload(local: &Path, conn: &HostConnection, remote_dest: &str) ... function scp_file (line 1909) | fn scp_file(local: &Path, conn: &HostConnection, remote: &str) -> Result... function install_env_fetch_script (line 1929) | fn install_env_fetch_script( function service_exists (line 2011) | fn service_exists(conn: &HostConnection, name: &str) -> Result { function create_systemd_service (line 2023) | fn create_systemd_service( function normalize_exec_start (line 2078) | fn normalize_exec_start(workdir: &str, exec_start: &str) -> String { function setup_nginx (line 2108) | fn setup_nginx(conn: &HostConnection, domain: &str, port: u16, ssl: bool... function set_wrangler_secrets (line 2153) | fn set_wrangler_secrets( function append_env_arg (line 2175) | fn append_env_arg(cmd: &str, env_name: Option<&str>) -> String { function update_flow_toml_cloudflare (line 2187) | fn update_flow_toml_cloudflare( function find_section_end (line 2268) | fn find_section_end(lines: &[String], start: usize) -> usize { function is_cloudflare_key_line (line 2278) | fn is_cloudflare_key_line(line: &str) -> bool { function relative_path (line 2289) | fn relative_path(project_root: &Path, path: &Path) -> String { function ensure_web_config (line 2296) | fn ensure_web_config(flow_path: &Path, project_root: &Path, cfg: &Config... function ensure_web_domain_or_route (line 2321) | fn ensure_web_domain_or_route(flow_path: &Path, web_cfg: &WebConfig) -> ... function ensure_web_env_source (line 2343) | fn ensure_web_env_source(flow_path: &Path, web_cfg: &WebConfig) -> Resul... function detect_web_path (line 2376) | fn detect_web_path(project_root: &Path) -> Result> { function ensure_web_path (line 2404) | fn ensure_web_path(flow_path: &Path, web_path: &str) -> Result { function ensure_web_key (line 2408) | fn ensure_web_key(flow_path: &Path, key: &str, value: &str) -> Result bool { function ensure_web_routes (line 2461) | fn ensure_web_routes(project_root: &Path, web_cfg: &WebConfig) -> Result... function ensure_web_dns (line 2482) | fn ensure_web_dns(web_cfg: &WebConfig) -> Result<()> { function resolve_web_route (line 2537) | fn resolve_web_route(web_cfg: &WebConfig) -> Option { function resolve_web_domain (line 2547) | fn resolve_web_domain(web_cfg: &WebConfig) -> Option { function resolve_prod_route (line 2573) | fn resolve_prod_route(prod_cfg: &ProdConfig) -> Option { function ensure_prod_cloudflare_routes (line 2594) | fn ensure_prod_cloudflare_routes(project_root: &Path, config: &Config) -... function find_wrangler_route_file (line 2633) | fn find_wrangler_route_file(web_root: &Path) -> Option { function apply_web_env (line 2645) | fn apply_web_env(project_root: &Path, web_cfg: &WebConfig) -> Result<()> { function collect_web_env_keys (line 2698) | fn collect_web_env_keys(web_cfg: &WebConfig) -> Vec { function is_local_source (line 2709) | fn is_local_source(source: Option<&str>) -> bool { function ensure_cloudflare_api_token (line 2716) | fn ensure_cloudflare_api_token() -> Result<()> { function wants_local_env_backend (line 2779) | fn wants_local_env_backend() -> bool { function with_local_env_backend (line 2792) | fn with_local_env_backend(action: impl FnOnce() -> Result) -> Resu... function cloudflare_api_client (line 2807) | fn cloudflare_api_client() -> Result { function find_cloudflare_zone (line 2814) | fn find_cloudflare_zone( function cloudflare_zone_candidates (line 2839) | fn cloudflare_zone_candidates(domain: &str) -> Vec { function upsert_cloudflare_dns_record (line 2855) | fn upsert_cloudflare_dns_record( type CloudflareDnsRecord (line 2913) | struct CloudflareDnsRecord { function fetch_cloudflare_dns_record (line 2919) | fn fetch_cloudflare_dns_record( function cloudflare_api_check (line 2954) | fn cloudflare_api_check(payload: &Value, action: &str) -> Result<()> { function fetch_personal_env_value (line 2967) | fn fetch_personal_env_value(key: &str) -> Result> { function is_not_logged_in_err (line 2980) | fn is_not_logged_in_err(err: &anyhow::Error) -> bool { function is_cloud_unavailable (line 2986) | fn is_cloud_unavailable(err: &anyhow::Error) -> bool { function ensure_wrangler_routes_jsonc (line 2992) | fn ensure_wrangler_routes_jsonc(path: &Path, route: &str) -> Result { function ensure_wrangler_bool_jsonc (line 3044) | fn ensure_wrangler_bool_jsonc(path: &Path, key: &str, value: bool) -> Re... function relative_dir (line 3089) | fn relative_dir(project_root: &Path, path: &Path) -> Option { function set_railway_env (line 3099) | fn set_railway_env(env_file: &Path) -> Result<()> { function check_health (line 3119) | fn check_health( FILE: src/deploy_setup.rs type CloudflareSetupDefaults (line 24) | pub struct CloudflareSetupDefaults { type CloudflareSetupResult (line 31) | pub struct CloudflareSetupResult { function run_cloudflare_setup (line 39) | pub fn run_cloudflare_setup( type SetupStep (line 71) | enum SetupStep { type EnvFileChoice (line 80) | struct EnvFileChoice { type EnvTargetChoice (line 85) | struct EnvTargetChoice { type EnvKeyItem (line 91) | struct EnvKeyItem { type DeploySetupApp (line 99) | struct DeploySetupApp { method new (line 116) | fn new( method worker_path (line 157) | fn worker_path(&self) -> &Path { method refresh_env_targets (line 161) | fn refresh_env_targets(&mut self, preferred: Option<&str>) { method select_env_file_for_worker (line 202) | fn select_env_file_for_worker(&mut self) { method refresh_keys (line 209) | fn refresh_keys(&mut self) { method env_file_path (line 224) | fn env_file_path(&self) -> Option { method env_file_path_ref (line 230) | fn env_file_path_ref(&self) -> Option<&Path> { method selected_env_target (line 236) | fn selected_env_target(&self) -> Option { method finalize (line 242) | fn finalize(&mut self) { function run_app (line 264) | fn run_app( function handle_key (line 283) | fn handle_key(app: &mut DeploySetupApp, key: KeyEvent) -> Result { function draw_ui (line 398) | fn draw_ui(f: &mut ratatui::Frame<'_>, app: &DeploySetupApp) { function build_env_preview_lines (line 621) | fn build_env_preview_lines(project_root: &Path, env_file: Option<&Path>)... function build_key_detail_lines (line 681) | fn build_key_detail_lines( function select_prev (line 718) | fn select_prev(selected: &mut usize, len: usize) { function select_next (line 729) | fn select_next(selected: &mut usize, len: usize) { function step_back (line 740) | fn step_back(app: &mut DeploySetupApp) -> bool { function relative_display (line 774) | fn relative_display(root: &Path, path: &Path) -> String { function pick_default_worker (line 783) | fn pick_default_worker(paths: &[PathBuf], preferred: Option<&PathBuf>) -... function build_env_file_choices (line 792) | fn build_env_file_choices(project_root: &Path, env_files: &[PathBuf]) ->... function pick_default_env_file_for_worker (line 809) | fn pick_default_env_file_for_worker( function pick_env_file_for_worker (line 831) | fn pick_env_file_for_worker(choices: &[EnvFileChoice], worker_path: &Pat... function pick_default_env_target (line 854) | fn pick_default_env_target(targets: &[EnvTargetChoice], preferred: Optio... function build_key_items (line 867) | fn build_key_items(path: &Path) -> Result> { function suspect_reason (line 890) | fn suspect_reason(value: &str) -> Option<&'static str> { function discover_wrangler_configs (line 916) | pub(crate) fn discover_wrangler_configs(root: &Path) -> Result Result> { function extract_wrangler_envs (line 1020) | fn extract_wrangler_envs(worker_path: &Path) -> Vec { FILE: src/deps.rs function run (line 17) | pub fn run(cmd: DepsCommand) -> Result<()> { function run_update_with_context (line 57) | fn run_update_with_context(opts: UpdateDepsOpts) -> Result<()> { function build_command (line 84) | fn build_command( function detect_manager (line 111) | fn detect_manager(project_root: &Path) -> DepsManager { function detect_manager_from_package_json (line 132) | fn detect_manager_from_package_json(project_root: &Path) -> Option bool { function project_root (line 159) | fn project_root() -> Result { function find_flow_toml (line 167) | fn find_flow_toml(start: &PathBuf) -> Option { type UpdateDetectContext (line 181) | struct UpdateDetectContext { type UpdateTarget (line 187) | struct UpdateTarget { type UpdateTargetDetail (line 194) | enum UpdateTargetDetail { type PlannedCommand (line 204) | struct PlannedCommand { type UpdatePlan (line 211) | struct UpdatePlan { type EcosystemUpdater (line 216) | trait EcosystemUpdater { method ecosystem (line 217) | fn ecosystem(&self) -> DepsEcosystem; method detect_target (line 218) | fn detect_target( method build_commands (line 223) | fn build_commands( method ecosystem (line 235) | fn ecosystem(&self) -> DepsEcosystem { method detect_target (line 239) | fn detect_target( method build_commands (line 260) | fn build_commands( method ecosystem (line 303) | fn ecosystem(&self) -> DepsEcosystem { method detect_target (line 307) | fn detect_target( method build_commands (line 323) | fn build_commands( method ecosystem (line 340) | fn ecosystem(&self) -> DepsEcosystem { method detect_target (line 344) | fn detect_target( method build_commands (line 360) | fn build_commands( type JavaScriptUpdater (line 230) | struct JavaScriptUpdater; type RustUpdater (line 231) | struct RustUpdater; type GoUpdater (line 232) | struct GoUpdater; function build_update_plans (line 387) | fn build_update_plans(ctx: &UpdateDetectContext, opts: &UpdateDepsOpts) ... function run_update_plans (line 411) | fn run_update_plans(plans: &[UpdatePlan]) -> Result<()> { function print_update_summary (line 432) | fn print_update_summary(plans: &[UpdatePlan]) { function confirm_update_plan (line 453) | fn confirm_update_plan(opts: &UpdateDepsOpts, plans: &[UpdatePlan]) -> R... function confirm_default_yes (line 478) | fn confirm_default_yes(prompt: &str) -> Result { function ecosystem_label (line 501) | fn ecosystem_label(ecosystem: DepsEcosystem) -> &'static str { function manager_program (line 509) | fn manager_program(manager: DepsManager) -> &'static str { function display_command (line 518) | fn display_command(cmd: &PlannedCommand) -> String { function update_search_root (line 525) | fn update_search_root(cwd: &Path) -> PathBuf { function filesystem_root (line 532) | fn filesystem_root(path: &Path) -> PathBuf { function nearest_ancestor_with_file (line 543) | fn nearest_ancestor_with_file(start: &Path, boundary: &Path, file: &str)... function find_js_workspace_root (line 559) | fn find_js_workspace_root(start: &Path, boundary: &Path) -> Option bool { function package_json_has_workspaces (line 582) | fn package_json_has_workspaces(root: &Path) -> bool { function find_rust_update_root (line 596) | fn find_rust_update_root(start: &Path, boundary: &Path) -> Option bool { type DepPickAction (line 633) | enum DepPickAction { type DepPickEntry (line 641) | struct DepPickEntry { type RepoManifest (line 647) | struct RepoManifest { type RepoManifestEntry (line 653) | struct RepoManifestEntry { function pick_dependency (line 659) | fn pick_dependency(project_root: &Path) -> Result<()> { function run_deps_fzf (line 713) | fn run_deps_fzf<'a>(entries: &'a [DepPickEntry]) -> Result Result Result> { type PackageJsonInfo (line 949) | struct PackageJsonInfo { function parse_package_json (line 954) | fn parse_package_json(path: &Path) -> Result { type CargoTomlInfo (line 985) | struct CargoTomlInfo { function parse_cargo_toml (line 990) | fn parse_cargo_toml(path: &Path) -> Result { type CargoLockIndex (line 1019) | struct CargoLockIndex { function load_cargo_lock (line 1024) | fn load_cargo_lock(project_root: &Path) -> Result { function resolve_js_repo (line 1070) | fn resolve_js_repo(project_root: &Path, base_dir: &Path, dep: &str) -> O... function resolve_cargo_repo (line 1097) | fn resolve_cargo_repo(index: &CargoLockIndex, dep: &str) -> Option PathBuf { function join_node_modules (line 1138) | fn join_node_modules(base: &Path, dep: &str) -> PathBuf { function extract_repo_url (line 1147) | fn extract_repo_url(value: &serde_json::Value) -> Option { function normalize_github_url (line 1158) | fn normalize_github_url(raw: &str) -> Option { function display_repo (line 1174) | fn display_repo(url: &str) -> String { function local_repo_is_present (line 1181) | fn local_repo_is_present(root_path: &Path, url: &str) -> bool { function open_in_zed (line 1190) | fn open_in_zed(path: &Path) -> Result<()> { function path_relative (line 1204) | fn path_relative(root: &Path, path: &Path) -> String { function is_project_root (line 1211) | fn is_project_root(root: &Path, candidate: &Path) -> bool { function link_repo_dependency (line 1219) | fn link_repo_dependency( function looks_like_repo_ref (line 1292) | fn looks_like_repo_ref(input: &str) -> bool { function resolve_repo_by_name (line 1300) | fn resolve_repo_by_name(root: &Path, name: &str) -> Result Result<()> { function gh_available (line 1462) | fn gh_available() -> bool { function gh_authenticated (line 1466) | fn gh_authenticated() -> Result { function gh_username (line 1471) | fn gh_username() -> Result { function gh_repo_exists (line 1479) | fn gh_repo_exists(full_name: &str) -> Result { function git_remote_get (line 1487) | fn git_remote_get(repo_dir: &Path, name: &str) -> Result> { function set_origin_remote (line 1503) | fn set_origin_remote(repo_dir: &Path, url: &str) -> Result<()> { function configure_upstream (line 1520) | fn configure_upstream(repo_dir: &Path, upstream_url: &str) -> Result<()> { function detect_manager_prefers_package_manager_field (line 1539) | fn detect_manager_prefers_package_manager_field() { function rust_update_root_prefers_workspace_ancestor (line 1553) | fn rust_update_root_prefers_workspace_ancestor() { function build_update_plans_detects_js_workspace_root (line 1574) | fn build_update_plans_detects_js_workspace_root() { FILE: src/discover.rs type DiscoveredTask (line 15) | pub struct DiscoveredTask { method path_label (line 33) | pub fn path_label(&self) -> Option { method matches_scope (line 42) | pub fn matches_scope(&self, scope: &str) -> bool { type DiscoveryResult (line 53) | pub struct DiscoveryResult { type DiscoveryArtifacts (line 63) | pub(crate) struct DiscoveryArtifacts { type DiscoveryConfigFile (line 69) | struct DiscoveryConfigFile { type LoadedDiscoveryConfig (line 91) | struct LoadedDiscoveryConfig { function discover_tasks (line 101) | pub fn discover_tasks(root: &Path) -> Result { function discover_tasks_from_root (line 111) | pub(crate) fn discover_tasks_from_root(root: PathBuf) -> Result Resul... function normalize_scope_token (line 259) | fn normalize_scope_token(raw: &str) -> String { function infer_scope_metadata (line 272) | fn infer_scope_metadata(relative_dir: &str, project_name: Option<&str>) ... function push_watched_path (line 302) | fn push_watched_path(paths: &mut Vec, path: &Path) { function load_discovery_config (line 308) | fn load_discovery_config( function parse_discovery_config (line 350) | fn parse_discovery_config(path: &Path, contents: &str) -> Result Result<()> { function list_docs (line 45) | fn list_docs(docs_dir: &Path) -> Result<()> { function show_status (line 91) | fn show_status(project_root: &Path, docs_dir: &Path) -> Result<()> { function sync_docs (line 146) | fn sync_docs(project_root: &Path, docs_dir: &Path, commits: usize, dry: ... function edit_doc (line 199) | fn edit_doc(docs_dir: &Path, name: &str) -> Result<()> { function format_duration (line 217) | fn format_duration(duration: std::time::Duration) -> String { function create_docs_scaffold (line 230) | fn create_docs_scaffold(project_root: &Path, opts: DocsNewOpts) -> Resul... function create_docs_scaffold_at (line 247) | pub fn create_docs_scaffold_at(project_root: &Path, force: bool) -> Resu... function run_docs_hub (line 286) | fn run_docs_hub(opts: DocsHubOpts) -> Result<()> { function ensure_docs_hub (line 305) | fn ensure_docs_hub(hub_root: &Path, template_root: &Path) -> Result<()> { function ensure_docs_hub_daemon (line 327) | pub fn ensure_docs_hub_daemon(opts: &DocsHubOpts) -> Result<()> { function ensure_docs_hub_daemon_with_focus (line 332) | fn ensure_docs_hub_daemon_with_focus(opts: &DocsHubOpts, focus_root: Opt... function stop_docs_hub_daemon (line 422) | pub fn stop_docs_hub_daemon() -> Result<()> { function ensure_docs_hub_deps (line 431) | fn ensure_docs_hub_deps(hub_root: &Path) -> Result<()> { function run_docs_hub_dev (line 445) | fn run_docs_hub_dev(hub_root: &Path, host: &str, port: u16, no_open: boo... function start_docs_hub_daemon (line 498) | fn start_docs_hub_daemon(hub_root: &Path, host: &str, port: u16) -> Resu... function open_in_browser (line 542) | fn open_in_browser(url: &str) { type DirGuard (line 546) | struct DirGuard { method new (line 551) | fn new(path: &Path) -> Result { method drop (line 560) | fn drop(&mut self) { function run_command (line 565) | fn run_command(cmd: &str, args: &[&str], cwd: &Path) -> Result<()> { function attach_pages_domain (line 577) | fn attach_pages_domain(hub_root: &Path, project: &str, domain: &str) -> ... function prompt_line (line 609) | fn prompt_line(message: &str, default: Option<&str>) -> Result { function prompt_yes_no (line 625) | fn prompt_yes_no(message: &str, default_yes: bool) -> Result { function wait_for_port (line 647) | fn wait_for_port(host: &str, port: u16, timeout: std::time::Duration) { function docs_hub_healthy (line 657) | fn docs_hub_healthy(host: &str, port: u16) -> bool { function docs_hub_pid_path (line 661) | fn docs_hub_pid_path() -> PathBuf { function load_docs_hub_pid (line 665) | fn load_docs_hub_pid() -> Result> { function persist_docs_hub_pid (line 676) | fn persist_docs_hub_pid(pid: u32) -> Result<()> { function remove_docs_hub_pid (line 687) | fn remove_docs_hub_pid() -> Result<()> { function process_alive (line 695) | fn process_alive(pid: u32) -> Result { function terminate_process (line 716) | fn terminate_process(pid: u32) -> Result<()> { function open_project_docs (line 736) | fn open_project_docs(project_root: &Path) -> Result<()> { function deploy_docs_hub (line 777) | fn deploy_docs_hub(project_root: &Path, opts: DocsDeployOpts) -> Result<... type ProjectDocs (line 855) | struct ProjectDocs { function collect_projects (line 866) | fn collect_projects( function collect_projects_from_root (line 879) | fn collect_projects_from_root( function slug_for_path (line 950) | fn slug_for_path(path: &Path, root: &Path, prefix: Option<&str>) -> Stri... function project_name_from_flow_toml (line 967) | fn project_name_from_flow_toml(project_root: &Path) -> Option { function slugify_project_name (line 976) | fn slugify_project_name(name: &str, fallback: &str) -> String { function slugify_token (line 985) | fn slugify_token(input: &str) -> String { function resolve_project_slugs (line 1004) | fn resolve_project_slugs(projects: &mut [ProjectDocs]) { function project_slug_candidates (line 1032) | fn project_slug_candidates( function focus_project_root_from_env (line 1068) | fn focus_project_root_from_env() -> Option { function resolve_project_root_from_cwd (line 1091) | fn resolve_project_root_from_cwd() -> Option { function find_flow_toml (line 1100) | fn find_flow_toml(start: &Path) -> Option { function project_docs_for_root (line 1113) | fn project_docs_for_root( function should_skip_dir (line 1155) | fn should_skip_dir(name: &str) -> bool { function sync_docs_hub_content (line 1183) | fn sync_docs_hub_content(hub_root: &Path, projects: &[ProjectDocs]) -> R... function sync_docs_hub_content_focus (line 1241) | fn sync_docs_hub_content_focus(hub_root: &Path, project: &ProjectDocs) -... function render_root_index (line 1291) | fn render_root_index(projects: &[ProjectDocs]) -> String { function read_docs_hub_focus_marker (line 1316) | fn read_docs_hub_focus_marker(hub_root: &Path) -> Option { function write_docs_hub_focus_marker (line 1326) | fn write_docs_hub_focus_marker(hub_root: &Path, slug: &str) -> Result<()> { function clear_docs_hub_focus_marker (line 1332) | fn clear_docs_hub_focus_marker(hub_root: &Path) -> Result<()> { function project_readme_content (line 1340) | fn project_readme_content(project_root: &Path, title: &str) -> Result Option { function ensure_index_file (line 1364) | fn ensure_index_file(dir: &Path, title: &str) -> Result<()> { function copy_dir_filtered (line 1376) | fn copy_dir_filtered(from: &Path, to: &Path, allow_assets: bool) -> Resu... function should_copy_doc_file (line 1399) | fn should_copy_doc_file(path: &Path, allow_assets: bool) -> bool { function merge_docs_scaffold (line 1406) | fn merge_docs_scaffold(from: &Path, to: &Path) -> Result<()> { function copy_dir_filtered_missing (line 1410) | fn copy_dir_filtered_missing(from: &Path, to: &Path, allow_assets: bool)... function copy_docs_dir_with_frontmatter (line 1436) | fn copy_docs_dir_with_frontmatter(from: &Path, to: &Path, overwrite: boo... function derive_title (line 1484) | fn derive_title(content: &str, path: &Path) -> String { function extract_title_from_frontmatter (line 1494) | fn extract_title_from_frontmatter(content: &str) -> Option { function first_heading (line 1510) | fn first_heading(content: &str) -> Option { function title_from_filename (line 1526) | fn title_from_filename(path: &Path) -> String { function strip_leading_heading (line 1535) | fn strip_leading_heading(content: &str, title: &str) -> String { function normalize_title (line 1558) | fn normalize_title(value: &str) -> String { function ensure_frontmatter_title (line 1562) | fn ensure_frontmatter_title(content: &str, title: &str) -> String { function split_frontmatter (line 1606) | fn split_frontmatter(content: &str) -> Option<(String, String)> { function strip_frontmatter (line 1636) | fn strip_frontmatter(content: &str) -> String { function sanitize_title (line 1647) | fn sanitize_title(title: &str, path: &Path) -> String { function quote_yaml_string (line 1688) | fn quote_yaml_string(value: &str) -> String { function is_mdx_declaration_line (line 1705) | fn is_mdx_declaration_line(trimmed: &str) -> bool { function sanitize_markdown_content (line 1721) | fn sanitize_markdown_content(content: &str) -> String { function rewrite_markdown_images (line 1788) | fn rewrite_markdown_images(line: &str) -> String { function extract_markdown_dest (line 1834) | fn extract_markdown_dest(inner: &str) -> &str { function is_remote_image_dest (line 1851) | fn is_remote_image_dest(dest: &str) -> bool { function normalize_code_fence_line (line 1859) | fn normalize_code_fence_line(line: &str) -> String { function split_lang_token (line 1893) | fn split_lang_token(rest_trim: &str) -> (&str, &str) { function normalize_code_lang (line 1904) | fn normalize_code_lang(lang: &str) -> Option<&'static str> { function contains_html_tag (line 1963) | fn contains_html_tag(line: &str) -> bool { function escape_html_line (line 1981) | fn escape_html_line(line: &str) -> String { function ensure_docs_hub_config (line 1985) | fn ensure_docs_hub_config(hub_root: &Path) -> Result<()> { function ensure_docs_hub_layout (line 1997) | fn ensure_docs_hub_layout(hub_root: &Path) -> Result<()> { constant DOCS_HUB_PAGE_TEMPLATE (line 2011) | const DOCS_HUB_PAGE_TEMPLATE: &str = r#"import { source } from "@/lib/so... function rewrite_source_config (line 2101) | fn rewrite_source_config(path: &Path, is_ts: bool) -> Result<()> { function docs_hub_needs_reset (line 2141) | fn docs_hub_needs_reset(hub_root: &Path) -> Result { function remove_docs_hub_cache (line 2151) | fn remove_docs_hub_cache(hub_root: &Path) -> Result<()> { function kill_docs_hub_by_port (line 2165) | fn kill_docs_hub_by_port(port: u16) -> Result<()> { function copy_template_dir (line 2184) | fn copy_template_dir(from: &Path, to: &Path) -> Result<()> { function sync_docs_hub_template_file (line 2204) | fn sync_docs_hub_template_file( function ensure_docs_hub_flow_toml (line 2226) | fn ensure_docs_hub_flow_toml(hub_root: &Path, template_root: &Path) -> R... function should_skip_template_dir (line 2259) | fn should_skip_template_dir(name: &str) -> bool { FILE: src/doctor.rs function ensure_lin_available_interactive (line 17) | pub fn ensure_lin_available_interactive() -> Result { function run (line 36) | pub fn run(_opts: DoctorOpts) -> Result<()> { function ensure_flox_available (line 57) | fn ensure_flox_available(zerobrew_available: bool) -> Result<()> { function ensure_jj_available (line 85) | fn ensure_jj_available(zerobrew_available: bool) -> Result<()> { function ensure_direnv_on_path (line 103) | fn ensure_direnv_on_path(zerobrew_available: bool) -> Result<()> { function find_bundled_lin (line 123) | fn find_bundled_lin() -> Option { function prompt_install_lin (line 135) | fn prompt_install_lin(bundled: &Path) -> Result { function ensure_zerobrew_available_interactive (line 151) | fn ensure_zerobrew_available_interactive() -> Result { function maybe_install_with_zerobrew (line 187) | fn maybe_install_with_zerobrew( function prompt_yes (line 214) | fn prompt_yes(prompt: &str, default_yes: bool) -> bool { function install_lin (line 246) | fn install_lin(bundled: &Path) -> Result { function default_install_dir (line 277) | fn default_install_dir() -> PathBuf { function detect_shell (line 284) | fn detect_shell() -> Result> { function ensure_shell_hook (line 294) | fn ensure_shell_hook(shell: ShellKind) -> Result<()> { type ShellKind (line 342) | enum ShellKind { method from_path (line 349) | fn from_path>(path: P) -> Option { method display (line 362) | fn display(&self) -> &'static str { method config_path (line 370) | fn config_path(&self) -> PathBuf { method config_path_with_base (line 375) | fn config_path_with_base(&self, home: &Path) -> PathBuf { method hook_indicator (line 383) | fn hook_indicator(&self) -> &'static str { method hook_snippet (line 391) | fn hook_snippet(&self) -> &'static str { function home_dir (line 412) | fn home_dir() -> PathBuf { function shell_detection_from_path (line 423) | fn shell_detection_from_path() { function config_paths_follow_home_env (line 434) | fn config_paths_follow_home_env() { FILE: src/domains.rs constant PROXY_CONTAINER_NAME (line 16) | const PROXY_CONTAINER_NAME: &str = "flow-local-domains-proxy"; constant NATIVE_PROXY_HEADER (line 17) | const NATIVE_PROXY_HEADER: &str = "x-flow-domainsd: 1"; constant MACOS_DOMAINSD_LABEL (line 18) | const MACOS_DOMAINSD_LABEL: &str = "dev.flow.domainsd"; constant COMPOSE_FILE (line 20) | const COMPOSE_FILE: &str = r#"services: constant NGINX_MAIN_CONF (line 32) | const NGINX_MAIN_CONF: &str = r#"map $http_upgrade $connection_upgrade { type DomainsPaths (line 47) | struct DomainsPaths { method resolve (line 59) | fn resolve() -> Result { function run (line 75) | pub fn run(cmd: DomainsCommand) -> Result<()> { type DomainsEngine (line 90) | enum DomainsEngine { function resolve_engine (line 95) | fn resolve_engine(cli_engine: Option) -> DomainsEngine { function run_up (line 108) | fn run_up(paths: &DomainsPaths, engine: DomainsEngine) -> Result<()> { function run_down (line 129) | fn run_down(paths: &DomainsPaths, engine: DomainsEngine) -> Result<()> { function run_list (line 140) | fn run_list(paths: &DomainsPaths) -> Result<()> { function run_get (line 157) | fn run_get(paths: &DomainsPaths, opts: DomainsGetOpts) -> Result<()> { function run_add (line 175) | fn run_add(paths: &DomainsPaths, opts: DomainsAddOpts, engine: DomainsEn... function run_rm (line 204) | fn run_rm(paths: &DomainsPaths, opts: DomainsRmOpts, engine: DomainsEngi... function run_doctor (line 218) | fn run_doctor(paths: &DomainsPaths, engine: DomainsEngine) -> Result<()> { function normalize_host (line 268) | fn normalize_host(raw: &str) -> Result { function normalize_target (line 291) | fn normalize_target(raw: &str) -> Result { function ensure_layout (line 319) | fn ensure_layout(paths: &DomainsPaths) -> Result<()> { function load_routes (line 333) | fn load_routes(paths: &DomainsPaths) -> Result> { function save_routes (line 343) | fn save_routes(paths: &DomainsPaths, routes: &BTreeMap) ... function write_route_files (line 349) | fn write_route_files(paths: &DomainsPaths, routes: &BTreeMap String { function render_route (line 383) | fn render_route(host: &str, target: &str) -> String { function docker_upstream (line 405) | fn docker_upstream(target: &str) -> (String, String) { function ensure_docker_available (line 418) | fn ensure_docker_available() -> Result<()> { function docker_available (line 426) | fn docker_available() -> bool { function run_compose (line 430) | fn run_compose(paths: &DomainsPaths, args: &[&str]) -> Result<()> { function ensure_success (line 441) | fn ensure_success(output: Output, context_msg: &str) -> Result<()> { function maybe_reload_running_proxy (line 454) | fn maybe_reload_running_proxy(paths: &DomainsPaths, engine: DomainsEngin... function maybe_reload_running_proxy_docker (line 468) | fn maybe_reload_running_proxy_docker() -> Result<()> { function proxy_is_running (line 484) | fn proxy_is_running() -> Result { function docker_container_owning_port_80 (line 507) | fn docker_container_owning_port_80() -> Result> { function assert_no_port_80_conflict (line 530) | fn assert_no_port_80_conflict() -> Result<()> { function port_80_listener_summary (line 555) | fn port_80_listener_summary() -> Result> { function run_up_native (line 576) | fn run_up_native(paths: &DomainsPaths) -> Result<()> { function run_down_native (line 600) | fn run_down_native(paths: &DomainsPaths) -> Result<()> { function run_doctor_native (line 647) | fn run_doctor_native(paths: &DomainsPaths) -> Result<()> { function native_source_path (line 694) | fn native_source_path() -> PathBuf { function domainsd_tools_dir (line 701) | fn domainsd_tools_dir() -> PathBuf { function macos_launchd_install_script_path (line 707) | fn macos_launchd_install_script_path() -> PathBuf { function macos_launchd_uninstall_script_path (line 711) | fn macos_launchd_uninstall_script_path() -> PathBuf { function macos_launchd_plist_path (line 715) | fn macos_launchd_plist_path() -> PathBuf { function log_contains_permission_denied (line 719) | fn log_contains_permission_denied(path: &Path) -> Result { function ensure_native_binary (line 728) | fn ensure_native_binary(paths: &DomainsPaths) -> Result<()> { function assert_no_port_80_conflict_native (line 778) | fn assert_no_port_80_conflict_native(paths: &DomainsPaths) -> Result<()> { function start_native_proxy (line 798) | fn start_native_proxy(paths: &DomainsPaths) -> Result<()> { function native_tuning_args (line 851) | fn native_tuning_args() -> Result> { function read_native_pid (line 900) | fn read_native_pid(paths: &DomainsPaths) -> Result> { function pid_alive (line 913) | fn pid_alive(pid: u32) -> bool { function native_proxy_running (line 921) | fn native_proxy_running(paths: &DomainsPaths) -> Result { function native_healthcheck (line 931) | fn native_healthcheck() -> Result { function render_route_uses_localhost_host_header_for_loopback_targets (line 955) | fn render_route_uses_localhost_host_header_for_loopback_targets() { function normalize_host_requires_localhost_suffix (line 962) | fn normalize_host_requires_localhost_suffix() { function normalize_target_requires_port (line 968) | fn normalize_target_requires_port() { FILE: src/env.rs constant DEFAULT_API_URL (line 37) | const DEFAULT_API_URL: &str = "https://myflow.sh"; constant LOCAL_ENV_DIR (line 38) | const LOCAL_ENV_DIR: &str = "env-local"; constant LOCAL_KEYCHAIN_REF_PREFIX (line 39) | const LOCAL_KEYCHAIN_REF_PREFIX: &str = "flow-keychain-ref://v1/"; constant ENV_SEALER_SECRET_PREFIX (line 40) | const ENV_SEALER_SECRET_PREFIX: &str = "sealerSecret_z"; constant SEALED_ENV_ALGORITHM (line 41) | const SEALED_ENV_ALGORITHM: &str = "xsalsa20poly1305+flow-sealer-v1"; type AuthConfig (line 45) | struct AuthConfig { type EnvReadUnlock (line 55) | struct EnvReadUnlock { type EnvVar (line 61) | pub struct EnvVar { type EnvResponse (line 69) | struct EnvResponse { type SetEnvResponse (line 78) | struct SetEnvResponse { type PersonalEnvResponse (line 86) | struct PersonalEnvResponse { type EnvSealerIdentity (line 91) | struct EnvSealerIdentity { type ProjectSealersResponse (line 97) | struct ProjectSealersResponse { type ProjectSealerMember (line 102) | struct ProjectSealerMember { type ProjectSealerEntry (line 109) | struct ProjectSealerEntry { type SealedEnvResponse (line 114) | struct SealedEnvResponse { type SealedEnvItem (line 120) | struct SealedEnvItem { type SealedEnvContent (line 132) | struct SealedEnvContent { type SealedEnvRecipientGrant (line 140) | struct SealedEnvRecipientGrant { type SealedEnvWriteRequest (line 148) | struct SealedEnvWriteRequest { type SealedEnvWriteItem (line 155) | struct SealedEnvWriteItem { type SealedEnvWriteContent (line 165) | struct SealedEnvWriteContent { type SealedEnvWriteRecipient (line 173) | struct SealedEnvWriteRecipient { type ProjectCloudEnvEntries (line 182) | struct ProjectCloudEnvEntries { function get_auth_config_path (line 188) | fn get_auth_config_path() -> PathBuf { function load_auth_config_raw (line 196) | fn load_auth_config_raw() -> Result { function load_auth_config (line 207) | fn load_auth_config() -> Result { function load_ai_auth_config (line 224) | fn load_ai_auth_config() -> Result { function save_auth_config (line 241) | fn save_auth_config(config: &AuthConfig) -> Result<()> { function keychain_service (line 251) | fn keychain_service(api_url: &str) -> String { function keychain_service_ai (line 255) | fn keychain_service_ai(api_url: &str) -> String { function local_env_keychain_service (line 259) | fn local_env_keychain_service(target: &EnvTarget, environment: &str) -> ... function set_keychain_token (line 272) | fn set_keychain_token(api_url: &str, token: &str) -> Result<()> { function set_keychain_ai_token (line 293) | fn set_keychain_ai_token(api_url: &str, token: &str) -> Result<()> { function get_keychain_token (line 314) | fn get_keychain_token(api_url: &str) -> Result> { function get_keychain_ai_token (line 341) | fn get_keychain_ai_token(api_url: &str) -> Result> { function set_local_keychain_env_var (line 368) | fn set_local_keychain_env_var( function get_local_keychain_env_var (line 398) | fn get_local_keychain_env_var( function delete_local_keychain_env_var (line 432) | fn delete_local_keychain_env_var(target: &EnvTarget, environment: &str, ... function store_auth_token (line 458) | fn store_auth_token(auth: &mut AuthConfig, token: String) -> Result<()> { function store_ai_auth_token (line 477) | fn store_ai_auth_token(auth: &mut AuthConfig, token: String) -> Result<(... function get_env_unlock_path (line 496) | fn get_env_unlock_path() -> PathBuf { function load_env_unlock (line 503) | fn load_env_unlock() -> Option { function unlock_expires_at (line 509) | fn unlock_expires_at(entry: &EnvReadUnlock) -> Option> { function save_env_unlock (line 513) | fn save_env_unlock(expires_at: DateTime) -> Result<()> { function next_local_midnight_utc (line 526) | fn next_local_midnight_utc() -> Result> { function prompt_touch_id (line 543) | fn prompt_touch_id() -> Result<()> { function unlock_env_read (line 589) | fn unlock_env_read() -> Result<()> { function require_env_read_unlock (line 620) | fn require_env_read_unlock() -> Result<()> { type EnvScope (line 637) | enum EnvScope { type EnvTargetConfig (line 643) | struct EnvTargetConfig { type EnvTarget (line 650) | enum EnvTarget { function parse_env_space_kind (line 655) | fn parse_env_space_kind(value: Option<&str>) -> EnvScope { function load_env_target_config (line 662) | fn load_env_target_config() -> Result { function resolve_env_target (line 705) | fn resolve_env_target() -> Result { function resolve_personal_target (line 717) | fn resolve_personal_target() -> Result { function env_target_label (line 724) | fn env_target_label(target: &EnvTarget) -> String { function normalize_env_backend_name (line 731) | fn normalize_env_backend_name(value: &str) -> Option<&'static str> { function project_env_backend_from_config (line 739) | fn project_env_backend_from_config(cfg: &config::Config) -> Option<&'sta... function project_env_backend_from_current_dir (line 765) | fn project_env_backend_from_current_dir() -> Option<&'static str> { function local_env_enabled (line 772) | fn local_env_enabled() -> bool { function local_env_root (line 804) | fn local_env_root() -> Result { function ensure_private_dir (line 811) | fn ensure_private_dir(path: &Path) -> Result<()> { function write_private_file (line 818) | fn write_private_file(path: &Path, content: &str) -> Result<()> { function env_sealer_state_dir (line 843) | fn env_sealer_state_dir() -> Result { function env_sealer_identity_path (line 849) | fn env_sealer_identity_path() -> Result { function load_env_sealer_identity (line 853) | fn load_env_sealer_identity() -> Result> { function load_or_create_env_sealer_identity (line 877) | fn load_or_create_env_sealer_identity() -> Result { function create_env_sealer_identity (line 889) | fn create_env_sealer_identity() -> Result { function default_env_sealer_label (line 903) | fn default_env_sealer_label() -> Option { function seal_project_env_value (line 922) | fn seal_project_env_value( function decrypt_project_env_value (line 980) | fn decrypt_project_env_value( function sanitize_env_segment (line 1041) | fn sanitize_env_segment(value: &str) -> String { function local_env_path (line 1061) | fn local_env_path(target: &EnvTarget, environment: &str) -> Result bool { function local_personal_keychain_write_enabled (line 1078) | fn local_personal_keychain_write_enabled(target: &EnvTarget) -> bool { function local_keychain_ref (line 1092) | fn local_keychain_ref(key: &str) -> String { function is_local_keychain_ref (line 1096) | fn is_local_keychain_ref(value: &str) -> bool { function read_local_env_vars_raw (line 1100) | fn read_local_env_vars_raw( function migrate_local_env_vars_to_keychain_if_needed (line 1112) | fn migrate_local_env_vars_to_keychain_if_needed( function resolve_local_env_vars (line 1139) | fn resolve_local_env_vars( function read_local_env_vars (line 1170) | fn read_local_env_vars(target: &EnvTarget, environment: &str) -> Result<... function has_cloud_auth_token (line 1177) | pub fn has_cloud_auth_token() -> bool { function fetch_local_personal_env_vars (line 1182) | pub fn fetch_local_personal_env_vars(keys: &[String]) -> Result bool { function env_target_name_for_tokens (line 1280) | fn env_target_name_for_tokens(target: &EnvTarget) -> Result { function resolve_env_file_path (line 1291) | fn resolve_env_file_path() -> Result { function get_api_url (line 1313) | fn get_api_url(auth: &AuthConfig) -> String { function get_ai_api_url (line 1319) | fn get_ai_api_url(auth: &AuthConfig) -> String { function load_ai_auth_token (line 1325) | pub fn load_ai_auth_token() -> Result> { function load_ai_api_url (line 1330) | pub fn load_ai_api_url() -> Result { function load_env_api_url (line 1337) | pub fn load_env_api_url() -> Result { function save_ai_auth_token (line 1342) | pub fn save_ai_auth_token(token: String, api_url: Option) -> Res... function find_flow_toml (line 1352) | fn find_flow_toml(start: &PathBuf) -> Option { function is_cloud_source (line 1365) | fn is_cloud_source(source: Option<&str>) -> bool { function project_plaintext_cloud_mirror_required_for_config (line 1372) | fn project_plaintext_cloud_mirror_required_for_config(cfg: &config::Conf... function project_plaintext_cloud_mirror_required (line 1386) | fn project_plaintext_cloud_mirror_required() -> bool { function select_requested_env_keys (line 1410) | fn select_requested_env_keys( function ensure_cloud_env_sealer_registered (line 1424) | fn ensure_cloud_env_sealer_registered( function fetch_project_member_sealer_ids (line 1462) | fn fetch_project_member_sealer_ids( function fetch_sealed_project_env_payload (line 1509) | fn fetch_sealed_project_env_payload( function fetch_legacy_project_cloud_entries (line 1548) | fn fetch_legacy_project_cloud_entries( function write_legacy_project_cloud_entries (line 1590) | fn write_legacy_project_cloud_entries( function delete_legacy_project_cloud_entries (line 1633) | fn delete_legacy_project_cloud_entries( function fetch_project_cloud_env_entries (line 1676) | fn fetch_project_cloud_env_entries( function write_project_cloud_env_entries (line 1749) | fn write_project_cloud_env_entries( function delete_project_cloud_env_entries (line 1830) | fn delete_project_cloud_env_entries( function format_default_hint (line 1875) | fn format_default_hint(value: &str) -> String { function get_personal_env_var (line 1879) | pub fn get_personal_env_var(key: &str) -> Result> { function fuzzy_select_env (line 1925) | fn fuzzy_select_env() -> Result<()> { function run (line 2011) | pub fn run(action: Option) -> Result<()> { function run_token_action (line 2078) | fn run_token_action(action: TokenAction) -> Result<()> { type EnvTemplate (line 2088) | struct EnvTemplate { function env_templates (line 2096) | fn env_templates() -> Vec { function new_env_template (line 2112) | fn new_env_template() -> Result<()> { function select_env_template (line 2149) | fn select_env_template(templates: &[EnvTemplate]) -> Result Result<()> { function run_project_env_action (line 2227) | fn run_project_env_action(action: ProjectEnvAction) -> Result<()> { function set_personal_env_var_from_pair (line 2240) | fn set_personal_env_var_from_pair(pair: &str) -> Result<()> { function set_project_env_var_from_pair (line 2247) | fn set_project_env_var_from_pair(pair: &str, environment: &str) -> Resul... function delete_personal_env_vars (line 2254) | pub(crate) fn delete_personal_env_vars(keys: &[String]) -> Result<()> { function delete_project_env_vars (line 2312) | fn delete_project_env_vars(keys: &[String], environment: &str) -> Result... function login (line 2388) | fn login() -> Result<()> { function pull (line 2441) | fn pull(environment: &str) -> Result<()> { function push (line 2484) | fn push(environment: &str) -> Result<()> { function push_vars (line 2501) | fn push_vars(environment: &str, vars: HashMap) -> Result... function guide (line 2579) | fn guide(environment: &str) -> Result<()> { function bootstrap_cloudflare_secrets (line 2653) | fn bootstrap_cloudflare_secrets(project_root: &Path, cfg: &config::Confi... function prompt_line (line 2909) | fn prompt_line(label: &str) -> Result> { function prompt_line_default (line 2923) | fn prompt_line_default(key: &str, default_value: Option<&str>) -> Result... function prompt_value (line 2937) | fn prompt_value(key: &str, default_value: Option<&str>, secret: bool) ->... function prompt_confirm (line 2965) | fn prompt_confirm(label: &str) -> Result { function generate_env_api_token (line 2994) | fn generate_env_api_token() -> String { function prompt_secret (line 2998) | fn prompt_secret(label: &str) -> Result> { function setup (line 3008) | fn setup(env_file: Option, environment: Option) -> Resu... function show_keys (line 3081) | fn show_keys() -> Result<()> { function list (line 3206) | fn list(environment: &str) -> Result<()> { function set_personal_env_var (line 3327) | pub(crate) fn set_personal_env_var(key: &str, value: &str) -> Result<()> { function set_project_env_var (line 3421) | pub fn set_project_env_var( function set_project_env_var_internal (line 3430) | fn set_project_env_var_internal( function status (line 3590) | fn status() -> Result<()> { function parse_env_file (line 3655) | pub(crate) fn parse_env_file(content: &str) -> HashMap { function fetch_env_vars (line 3688) | fn fetch_env_vars( function fetch_project_env_vars (line 3831) | pub fn fetch_project_env_vars( function fetch_personal_env_vars (line 3839) | pub fn fetch_personal_env_vars(keys: &[String]) -> Result, permissions: &str) -> Result<()> { function token_list (line 4027) | fn token_list() -> Result<()> { function token_revoke (line 4086) | fn token_revoke(name: &str) -> Result<()> { function project_env_backend_detects_local_host_source (line 4149) | fn project_env_backend_detects_local_host_source() { function project_env_backend_detects_cloud_source (line 4162) | fn project_env_backend_detects_cloud_source() { function project_env_backend_requires_unambiguous_sources (line 4175) | fn project_env_backend_requires_unambiguous_sources() { function plaintext_cloud_mirror_requires_cloud_host_with_service_token (line 4191) | fn plaintext_cloud_mirror_requires_cloud_host_with_service_token() { function plaintext_cloud_mirror_ignores_non_cloud_or_missing_token (line 4205) | fn plaintext_cloud_mirror_ignores_non_cloud_or_missing_token() { function local_keychain_refs_use_reserved_prefix (line 4229) | fn local_keychain_refs_use_reserved_prefix() { function sealed_project_env_roundtrip_decrypts_for_registered_recipient (line 4236) | fn sealed_project_env_roundtrip_decrypts_for_registered_recipient() { function ensure_private_dir_enforces_owner_only_permissions (line 4270) | fn ensure_private_dir_enforces_owner_only_permissions() { function write_private_file_enforces_owner_only_permissions (line 4282) | fn write_private_file_enforces_owner_only_permissions() { FILE: src/env_setup.rs type EnvSetupDefaults (line 23) | pub struct EnvSetupDefaults { type EnvSetupResult (line 29) | pub struct EnvSetupResult { function run_env_setup (line 36) | pub fn run_env_setup( type SetupStep (line 67) | enum SetupStep { type EnvFileChoice (line 75) | struct EnvFileChoice { type EnvTargetChoice (line 80) | struct EnvTargetChoice { type EnvKeyItem (line 86) | struct EnvKeyItem { type EnvSetupApp (line 94) | struct EnvSetupApp { method new (line 109) | fn new(project_root: &Path, env_files: Vec, defaults: EnvSetu... method infer_env_target (line 138) | fn infer_env_target(&self) -> Option { method refresh_env_targets (line 143) | fn refresh_env_targets(&mut self, preferred: Option<&str>) { method refresh_keys (line 185) | fn refresh_keys(&mut self) { method env_file_path (line 196) | fn env_file_path(&self) -> Option { method env_file_path_ref (line 202) | fn env_file_path_ref(&self) -> Option<&Path> { method selected_env_target (line 208) | fn selected_env_target(&self) -> Option { method finalize (line 214) | fn finalize(&mut self) { function run_app (line 235) | fn run_app( function handle_key (line 254) | fn handle_key(app: &mut EnvSetupApp, key: KeyEvent) -> Result { function draw_ui (line 359) | fn draw_ui(f: &mut ratatui::Frame<'_>, app: &EnvSetupApp) { function build_env_preview_lines (line 546) | fn build_env_preview_lines(project_root: &Path, env_file: Option<&Path>)... function build_key_detail_lines (line 606) | fn build_key_detail_lines( function select_prev (line 643) | fn select_prev(selected: &mut usize, len: usize) { function select_next (line 654) | fn select_next(selected: &mut usize, len: usize) { function step_back (line 665) | fn step_back(app: &mut EnvSetupApp) -> bool { function relative_display (line 691) | fn relative_display(root: &Path, path: &Path) -> String { function build_env_file_choices (line 700) | fn build_env_file_choices(project_root: &Path, env_files: &[PathBuf]) ->... function pick_default_env_file (line 717) | fn pick_default_env_file( function pick_default_env_target (line 753) | fn pick_default_env_target(targets: &[EnvTargetChoice], preferred: Optio... function build_key_items (line 766) | fn build_key_items(path: &Path) -> Result> { function suspect_reason (line 789) | fn suspect_reason(value: &str) -> Option<&'static str> { function infer_env_target_from_file (line 815) | fn infer_env_target_from_file(path: &Path) -> Option { function discover_env_files (line 829) | fn discover_env_files(root: &Path) -> Result> { FILE: src/explain_commits.rs constant DEFAULT_OUTPUT_DIR (line 20) | const DEFAULT_OUTPUT_DIR: &str = "docs/commits"; constant DEFAULT_BATCH_SIZE (line 21) | const DEFAULT_BATCH_SIZE: usize = 10; constant MAX_DIFF_CHARS (line 22) | const MAX_DIFF_CHARS: usize = 8000; constant AI_TASK_SCRIPT (line 23) | const AI_TASK_SCRIPT: &str = "~/code/org/gen/new/ai/scripts/ai-task.sh"; constant DEFAULT_PROVIDER (line 24) | const DEFAULT_PROVIDER: &str = "nvidia"; constant DEFAULT_MODEL (line 25) | const DEFAULT_MODEL: &str = "moonshotai/kimi-k2.5"; type CommitIndex (line 30) | struct CommitIndex { type CommitEntry (line 36) | struct CommitEntry { type ExplainedCommit (line 45) | pub struct ExplainedCommit { method default (line 59) | fn default() -> Self { function index_path (line 67) | fn index_path(output_dir: &Path) -> PathBuf { function load_index (line 71) | fn load_index(output_dir: &Path) -> CommitIndex { function save_index (line 83) | fn save_index(output_dir: &Path, index: &CommitIndex) -> Result<()> { function compute_digest (line 90) | fn compute_digest(sha: &str, message: &str, diff: &str) -> String { function git_capture_in (line 102) | fn git_capture_in(repo_root: &Path, args: &[&str]) -> Result { type CommitInfo (line 117) | struct CommitInfo { function get_commit_info (line 128) | fn get_commit_info(repo_root: &Path, sha: &str) -> Result { function get_commits_in_range (line 189) | fn get_commits_in_range(repo_root: &Path, from: &str, to: &str) -> Resul... function get_last_n_commits (line 199) | fn get_last_n_commits(repo_root: &Path, n: usize) -> Result> { function call_ai_explain (line 211) | fn call_ai_explain(info: &CommitInfo, provider: &str, model: &str) -> Re... function slugify (line 256) | fn slugify(s: &str) -> String { function write_commit_markdown (line 275) | fn write_commit_markdown( function split_ai_response (line 340) | fn split_ai_response(text: &str) -> (String, String) { function resolve_output_dir_name (line 352) | fn resolve_output_dir_name(repo_root: &Path, output_dir_override: Option... function resolve_output_dir (line 362) | fn resolve_output_dir(repo_root: &Path, output_dir_override: Option<&Pat... function resolve_explain_target (line 372) | fn resolve_explain_target(_repo_root: &Path) -> (String, String) { function short_sha_from_sha (line 377) | fn short_sha_from_sha(sha: &str) -> String { function short_sha_from_filename (line 381) | fn short_sha_from_filename(file: &str) -> String { function extract_markdown_section (line 392) | fn extract_markdown_section(content: &str, heading: &str) -> String { function parse_markdown_metadata (line 412) | fn parse_markdown_metadata(content: &str) -> (String, String, String, St... function read_explained_commit (line 440) | fn read_explained_commit( function load_explain_config (line 510) | fn load_explain_config(repo_root: &Path) -> Option Result... function explain_last_n_commits (line 677) | pub fn explain_last_n_commits( function maybe_run_after_sync (line 761) | pub fn maybe_run_after_sync(repo_root: &Path, head_before: &str) -> Resu... function run_cli (line 772) | pub fn run_cli(cmd: ExplainCommitsCommand) -> Result<()> { FILE: src/ext.rs function run (line 13) | pub fn run(cmd: ExtCommand) -> Result<()> { function normalize_path (line 53) | fn normalize_path(path: &str) -> Result { function project_root_from_cwd (line 59) | fn project_root_from_cwd() -> PathBuf { function copy_dir_all (line 73) | fn copy_dir_all(from: &Path, to: &Path) -> Result<()> { function copy_symlink (line 99) | fn copy_symlink(target: &Path, dest: &Path) -> Result<()> { function prepare_source_workspace (line 120) | fn prepare_source_workspace(source: &Path, project_root: &Path) -> Resul... function workspace_name_for_project (line 180) | fn workspace_name_for_project(project_root: &Path) -> Result { function workspace_base (line 209) | fn workspace_base(repo_root: &Path) -> Result { function jj_root (line 221) | fn jj_root(source: &Path) -> Result { function jj_workspace_list (line 226) | fn jj_workspace_list(repo_root: &Path) -> Result Result<()> { function jj_capture_in (line 266) | fn jj_capture_in(repo_root: &Path, args: &[&str]) -> Result { function git_capture_in (line 278) | fn git_capture_in(repo_root: &Path, args: &[&str]) -> Result { function prompt_yes_no (line 290) | fn prompt_yes_no(message: &str, default_yes: bool) -> Result { FILE: src/features.rs type FeatureEntry (line 12) | pub struct FeatureEntry { type StaleFeature (line 29) | pub struct StaleFeature { function features_dir (line 35) | fn features_dir(project_root: &Path) -> PathBuf { function list_features (line 40) | pub fn list_features(project_root: &Path) -> Result> { function load_feature (line 60) | pub fn load_feature(path: &Path) -> Result { function load_all_features (line 67) | pub fn load_all_features(project_root: &Path) -> Result V... function save_feature (line 115) | pub fn save_feature(project_root: &Path, entry: &FeatureEntry) -> Result... function update_feature_verified (line 127) | pub fn update_feature_verified(project_root: &Path, name: &str, commit_s... function update_feature_tests (line 139) | pub fn update_feature_tests(project_root: &Path, name: &str, test_files:... function apply_quality_results (line 160) | pub(crate) fn apply_quality_results( function features_context_for_review (line 201) | pub fn features_context_for_review(project_root: &Path, changed_files: &... function chrono_now (line 232) | fn chrono_now() -> String { function parse_feature_file (line 242) | fn parse_feature_file(raw: &str, path: &Path) -> Result { function parse_yaml_frontmatter (line 300) | fn parse_yaml_frontmatter(fm: &str) -> HashMap { function parse_yaml_list (line 349) | fn parse_yaml_list(raw: &str) -> Vec { function render_feature_file (line 359) | fn render_feature_file(entry: &FeatureEntry) -> String { FILE: src/fish_install.rs function run (line 12) | pub fn run(opts: FishInstallOpts) -> Result<()> { function default_bin_dir (line 119) | fn default_bin_dir() -> PathBuf { function is_traced_fish (line 126) | fn is_traced_fish(path: &PathBuf) -> Result { function confirm_overwrite (line 145) | fn confirm_overwrite(path: &PathBuf) -> Result { function confirm (line 157) | fn confirm(msg: &str) -> Result { function path_in_env (line 169) | fn path_in_env(bin_dir: &PathBuf) -> bool { FILE: src/fish_trace.rs type FishTraceRecord (line 10) | pub struct FishTraceRecord { method timestamp_ms (line 25) | pub fn timestamp_ms(&self) -> u64 { method formatted_time (line 29) | pub fn formatted_time(&self) -> String { method success (line 35) | pub fn success(&self) -> bool { function io_trace_dir (line 41) | pub fn io_trace_dir() -> PathBuf { function load_last_record (line 57) | pub fn load_last_record() -> Result> { function load_last_stdout (line 67) | pub fn load_last_stdout() -> Result> { function load_last_stderr (line 79) | pub fn load_last_stderr() -> Result> { function parse_meta_file (line 90) | fn parse_meta_file(path: &Path) -> Result> { function print_last_fish_cmd (line 153) | pub fn print_last_fish_cmd() -> Result<()> { function print_last_fish_cmd_full (line 186) | pub fn print_last_fish_cmd_full() -> Result<()> { function is_traced_fish_installed (line 249) | pub fn is_traced_fish_installed() -> bool { function traced_fish_bin_path (line 255) | pub fn traced_fish_bin_path() -> PathBuf { function fish_source_path (line 267) | pub fn fish_source_path() -> Option { FILE: src/fix.rs function run (line 11) | pub fn run(opts: FixOpts) -> Result<()> { function resolve_fix_message (line 45) | fn resolve_fix_message(parts: &[String]) -> Result { function detect_fix_input_file (line 70) | fn detect_fix_input_file(parts: &[String]) -> Option { function try_run_commit_repair (line 86) | fn try_run_commit_repair(repo_root: &std::path::Path, message: &str) -> ... function confirm_with_tui (line 124) | fn confirm_with_tui(title: &str, lines: &[String], prompt: &str) -> Resu... function matches_recommit_request (line 138) | fn matches_recommit_request(message: &str) -> bool { function confirm_default_yes (line 153) | fn confirm_default_yes(prompt: &str) -> Result { function run_fix_agent (line 176) | fn run_fix_agent(repo_root: &std::path::Path, agent: &str, message: &str... function git_top_level (line 203) | fn git_top_level() -> Result { function ensure_clean_or_stash (line 218) | fn ensure_clean_or_stash( function ensure_has_parent_commit (line 241) | fn ensure_has_parent_commit(repo_root: &std::path::Path) -> Result<()> { function git_output (line 253) | fn git_output(repo_root: &std::path::Path, args: &[&str]) -> Result Result<()> { FILE: src/fixup.rs type FixupResult (line 17) | pub struct FixupResult { type FixupAction (line 23) | pub struct FixupAction { function run (line 30) | pub fn run(opts: FixupOpts) -> Result<()> { function fix_toml_content (line 91) | pub fn fix_toml_content(content: &str) -> FixupResult { function apply_fixes_to_content (line 138) | pub fn apply_fixes_to_content(content: &str, fixes: &[FixupAction]) -> S... function check_invalid_escapes (line 143) | fn check_invalid_escapes(line: &str, line_num: usize) -> Option String { function truncate_for_display (line 190) | fn truncate_for_display(s: &str, max_len: usize) -> String { function fixes_escaped_dollar (line 208) | fn fixes_escaped_dollar() { function preserves_valid_escapes (line 222) | fn preserves_valid_escapes() { function no_fixes_needed (line 236) | fn no_fixes_needed() { FILE: src/flox.rs constant MANIFEST_VERSION (line 13) | const MANIFEST_VERSION: u8 = 1; constant ENV_VERSION (line 14) | const ENV_VERSION: u8 = 1; type FloxEnv (line 18) | pub struct FloxEnv { type ManifestFile (line 25) | struct ManifestFile { type EnvJson (line 31) | struct EnvJson { function ensure_env (line 38) | pub fn ensure_env(project_root: &Path, packages: &[(String, FloxInstallS... function ensure_env_at (line 42) | pub fn ensure_env_at(root: &Path, packages: &[(String, FloxInstallSpec)]... function run_in_env (line 88) | pub fn run_in_env(env: &FloxEnv, workdir: &Path, command: &str) -> Resul... function write_env_json (line 117) | fn write_env_json(project_root: &Path, manifest_path: &Path, lockfile_pa... function run_on_host (line 153) | fn run_on_host(workdir: &Path, command: &str) -> Result<()> { function render_manifest (line 170) | fn render_manifest(packages: &[(String, FloxInstallSpec)]) -> Result Result { function manifest_renders_with_full_descriptor (line 197) | fn manifest_renders_with_full_descriptor() { FILE: src/gh_release.rs function run (line 18) | pub fn run(cmd: GhReleaseCommand) -> Result<()> { function create_release (line 53) | fn create_release(opts: GhReleaseCreateOpts) -> Result<()> { function list_releases (line 194) | fn list_releases(limit: usize) -> Result<()> { function delete_release (line 220) | fn delete_release(tag: &str, yes: bool) -> Result<()> { function download_release (line 274) | fn download_release(tag: Option<&str>, output: &str) -> Result<()> { function detect_version (line 305) | fn detect_version() -> Result { FILE: src/git_guard.rs function is_jj_colocated (line 9) | fn is_jj_colocated(repo_root: &Path) -> bool { function git_capture_in (line 13) | fn git_capture_in(repo_root: &Path, args: &[&str]) -> Option { function has_working_tree_changes (line 25) | fn has_working_tree_changes(repo_root: &Path) -> bool { function short_sha (line 32) | fn short_sha(sha: &str) -> &str { function attach_detached_head_to_keep_branch (line 36) | fn attach_detached_head_to_keep_branch(repo_root: &Path) -> Result { function jj_auto_checkout (line 76) | fn jj_auto_checkout(repo_root: &Path) -> Result { function resolve_land_target_branch (line 107) | fn resolve_land_target_branch(repo_root: &Path, requested: &str) -> Resu... function ensure_clean_working_tree_for_land (line 120) | fn ensure_clean_working_tree_for_land(repo_root: &Path) -> Result<()> { function land_head_to_branch (line 128) | fn land_head_to_branch(repo_root: &Path, requested_target: &str) -> Resu... type GitState (line 184) | struct GitState { function ensure_clean_for_commit (line 194) | pub fn ensure_clean_for_commit(repo_root: &Path) -> Result<()> { function ensure_clean_for_push (line 198) | pub fn ensure_clean_for_push(repo_root: &Path) -> Result<()> { function ensure_clean_state (line 202) | fn ensure_clean_state(repo_root: &Path, action: &str) -> Result<()> { function run_git_repair (line 246) | pub fn run_git_repair(opts: GitRepairOpts) -> Result<()> { function detect_git_state (line 322) | fn detect_git_state(repo_root: &Path) -> Result { function git_dir (line 343) | fn git_dir(repo_root: &Path) -> Result { function is_detached_head (line 361) | fn is_detached_head(repo_root: &Path) -> Result { function git_unmerged_files (line 370) | fn git_unmerged_files(repo_root: &Path) -> Vec { function git_run_in (line 385) | fn git_run_in(repo_root: &Path, args: &[&str]) -> Result<()> { function git_ref_exists (line 397) | fn git_ref_exists(repo_root: &Path, name: &str) -> bool { function print_state (line 408) | fn print_state(state: &GitState, branch: &str, land_main: bool) { function find_repo_root (line 423) | fn find_repo_root(start: &Path) -> Result { FILE: src/gitignore_policy.rs constant POLICY_OVERRIDE_ENV (line 14) | const POLICY_OVERRIDE_ENV: &str = "FLOW_ALLOW_GITIGNORE_POLICY"; constant POLICY_FILE_NAME (line 15) | const POLICY_FILE_NAME: &str = "gitignore-policy.toml"; constant DEFAULT_REPOS_ROOT (line 16) | const DEFAULT_REPOS_ROOT: &str = "~/repos"; constant DEFAULT_BLOCKED_PATTERNS (line 17) | const DEFAULT_BLOCKED_PATTERNS: &[&str] = &[".ai/todos/*.bike", ".beads/... constant DEFAULT_ALLOWED_OWNERS (line 18) | const DEFAULT_ALLOWED_OWNERS: &[&str] = &["nikivdev"]; type GitignorePolicy (line 21) | pub struct GitignorePolicy { type GitignorePolicyFile (line 28) | struct GitignorePolicyFile { type Violation (line 35) | struct Violation { method default (line 43) | fn default() -> Self { function run (line 58) | pub fn run(cmd: GitignoreCommand) -> Result<()> { function enforce_staged_policy (line 76) | pub fn enforce_staged_policy(repo_root: &Path) -> Result<()> { function load_policy (line 109) | pub fn load_policy() -> GitignorePolicy { function policy_path (line 173) | pub fn policy_path() -> PathBuf { function is_external_repo (line 177) | pub fn is_external_repo(repo_root: &Path, policy: &GitignorePolicy) -> b... function run_scan (line 188) | fn run_scan(opts: GitignoreScanOpts, apply_fix: bool) -> Result<()> { function init_policy_file (line 263) | fn init_policy_file(opts: GitignorePolicyInitOpts) -> Result<()> { function setup_global_gitignore (line 283) | fn setup_global_gitignore(print_only: bool) -> Result<()> { function resolve_global_excludes_path (line 344) | fn resolve_global_excludes_path() -> Result { function ensure_global_excludes_config (line 352) | fn ensure_global_excludes_config(path: &Path) -> Result<()> { function git_capture_global_config (line 372) | fn git_capture_global_config(key: &str) -> Result> { function staged_gitignore_violations (line 390) | fn staged_gitignore_violations( function staged_gitignore_files (line 451) | fn staged_gitignore_files(repo_root: &Path) -> Result> { function inspect_repo_gitignores (line 470) | fn inspect_repo_gitignores(repo_root: &Path, policy: &GitignorePolicy) -... function fix_repo_gitignores (line 497) | fn fix_repo_gitignores(repo_root: &Path, policy: &GitignorePolicy) -> Re... function list_gitignore_files (line 537) | fn list_gitignore_files(repo_root: &Path) -> Vec { function discover_repo_roots (line 544) | fn discover_repo_roots(root: &Path) -> Vec { function collect_gitignore_files (line 550) | fn collect_gitignore_files(dir: &Path, depth: usize, max_depth: usize, o... function collect_repo_roots (line 585) | fn collect_repo_roots(dir: &Path, depth: usize, max_depth: usize, out: &... function scan_roots (line 620) | fn scan_roots(opts: &GitignoreScanOpts, policy: &GitignorePolicy) -> Vec... function blocked_lookup (line 632) | fn blocked_lookup(policy: &GitignorePolicy) -> Vec<(String, String)> { function clean_patterns (line 640) | fn clean_patterns(patterns: I) -> Vec function normalize_entry (line 650) | fn normalize_entry(line: &str) -> Option { function parse_hunk_new_line (line 670) | fn parse_hunk_new_line(hunk: &str) -> Option { function repo_origin_owner (line 680) | fn repo_origin_owner(repo_root: &Path) -> Option { function parse_github_owner (line 695) | fn parse_github_owner(url: &str) -> Option { function policy_override_enabled (line 711) | fn policy_override_enabled() -> bool { function expand_home (line 721) | fn expand_home(input: &str) -> PathBuf { function home_dir_or_default (line 732) | fn home_dir_or_default() -> PathBuf { function default_policy_template (line 736) | fn default_policy_template() -> String { function normalize_entry_ignores_comments_and_slashes (line 752) | fn normalize_entry_ignores_comments_and_slashes() { function parse_github_owner_from_remote_url (line 762) | fn parse_github_owner_from_remote_url() { FILE: src/hash.rs constant LINK_PREFIX (line 10) | const LINK_PREFIX: &str = "unstash./"; function run (line 12) | pub fn run(opts: HashOpts) -> Result<()> { function copy_to_clipboard (line 57) | fn copy_to_clipboard(text: &str) -> Result<()> { FILE: src/health.rs function run (line 18) | pub fn run(_opts: HealthOpts) -> Result<()> { function ensure_run_layout (line 37) | fn ensure_run_layout() -> Result<()> { function ensure_fish_shell (line 79) | fn ensure_fish_shell() -> Result<()> { function ensure_fish_flow_init (line 89) | fn ensure_fish_flow_init() -> Result<()> { function ensure_gitignore (line 103) | fn ensure_gitignore() -> Result<()> { function ensure_ai_server (line 119) | fn ensure_ai_server() -> Result<()> { function ensure_unhash (line 194) | fn ensure_unhash() -> Result<()> { function ensure_rise_health (line 230) | fn ensure_rise_health() -> Result<()> { function ensure_linsa_base_health (line 287) | fn ensure_linsa_base_health() -> Result<()> { function ensure_zerg_ai_health (line 306) | fn ensure_zerg_ai_health() -> Result<()> { function is_valid_unhash_key (line 343) | fn is_valid_unhash_key(raw: &str) -> bool { function decode_hex (line 357) | fn decode_hex(input: &str) -> Option> { function hex_value (line 373) | fn hex_value(byte: u8) -> Option { function base_ai_url (line 382) | fn base_ai_url(url: &str) -> String { function find_flow_toml_upwards (line 390) | fn find_flow_toml_upwards(start: &PathBuf) -> Option { function fish_config_path (line 401) | fn fish_config_path() -> Result { FILE: src/help_search.rs constant EMBEDDED_HELP_JSON (line 11) | const EMBEDDED_HELP_JSON: &str = include_str!("help_full.json"); constant HELP_FULL_REGENERATE_ENV (line 12) | const HELP_FULL_REGENERATE_ENV: &str = "FLOW_REGENERATE_HELP_FULL"; type Entry (line 16) | struct Entry { type CommandInfo (line 25) | struct CommandInfo { function collect_commands (line 31) | fn collect_commands(cmd: &Command, prefix: &str, entries: &mut Vec<(Stri... function run (line 51) | pub fn run() -> Result<()> { function collect_entries (line 109) | fn collect_entries(cmd: &Command, prefix: &str, entries: &mut Vec) { function print_full_json (line 161) | pub fn print_full_json() -> Result<()> { function should_regenerate_help_full (line 176) | fn should_regenerate_help_full() -> bool { function write_generated_full_json (line 188) | fn write_generated_full_json(writer: &mut impl Write) -> Result<()> { function embedded_help_json_matches_current_cli (line 233) | fn embedded_help_json_matches_current_cli() -> Result<()> { FILE: src/history.rs constant HISTORY_REVERSE_SCAN_CHUNK_BYTES (line 15) | const HISTORY_REVERSE_SCAN_CHUNK_BYTES: usize = 16 * 1024; type InvocationRecord (line 18) | pub struct InvocationRecord { method new (line 37) | pub fn new( function record (line 64) | pub fn record(invocation: InvocationRecord) -> Result<()> { function print_last_record (line 86) | pub fn print_last_record() -> Result<()> { function print_last_record_full (line 125) | pub fn print_last_record_full() -> Result<()> { function load_last_record (line 158) | fn load_last_record(path: &Path) -> Result> { function load_last_record_for_project (line 163) | pub fn load_last_record_for_project(project_root: &Path) -> Result PathBuf { function load_unique_task_records (line 182) | pub fn load_unique_task_records() -> Result> { function find_last_record_matching (line 204) | fn find_last_record_matching(path: &Path, mut predicate: F) -> Result... function visit_lines_reverse (line 225) | fn visit_lines_reverse(path: &Path, mut on_line: F) -> Result( function now_ms (line 296) | fn now_ms() -> u128 { function sample_record (line 311) | fn sample_record(project_root: &str, task_name: &str, user_input: &str) ... function load_last_record_reads_from_end_without_full_file_parse (line 330) | fn load_last_record_reads_from_end_without_full_file_parse() { function find_last_record_matching_finds_latest_matching_project (line 351) | fn find_last_record_matching_finds_latest_matching_project() { FILE: src/hive.rs type AgentConfig (line 31) | pub struct AgentConfig { type HiveConfig (line 72) | pub struct HiveConfig { type HiveAgentSpec (line 80) | pub struct HiveAgentSpec { type HiveDefaults (line 90) | pub struct HiveDefaults { type Agent (line 99) | pub struct Agent { type AgentSource (line 107) | pub enum AgentSource { method fmt (line 121) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function load_hive_config (line 133) | pub fn load_hive_config() -> Option { function load_config_for_agents (line 140) | fn load_config_for_agents() -> crate::config::Config { function find_agent_spec (line 153) | fn find_agent_spec(name: &str) -> Option<(PathBuf, AgentSource)> { function load_agent_spec (line 180) | pub fn load_agent_spec(path: &Path) -> Result { function discover_agents (line 185) | pub fn discover_agents(project_agents: &[AgentConfig]) -> Vec { function run_agent (line 305) | pub fn run_agent(agent: &str, prompt: &str) -> Result<()> { function run_agent_interactive (line 333) | pub fn run_agent_interactive(agent: &str) -> Result<()> { function create_agent (line 359) | pub fn create_agent(name: &str, global: bool) -> Result { function edit_agent (line 394) | pub fn edit_agent(name: &str) -> Result<()> { function list_agents (line 415) | pub fn list_agents(project_agents: &[AgentConfig]) { function get_agent (line 441) | pub fn get_agent(name: &str, project_agents: &[AgentConfig]) -> Option Result<()> { function test_agent_source_display (line 565) | fn test_agent_source_display() { FILE: src/home.rs constant DEFAULT_REPOS_ROOT (line 14) | const DEFAULT_REPOS_ROOT: &str = "~/repos"; type RepoInput (line 17) | struct RepoInput { type RepoScheme (line 25) | enum RepoScheme { type HomeConfigFile (line 31) | struct HomeConfigFile { type HomeConfigSection (line 45) | struct HomeConfigSection { function run (line 56) | pub fn run(opts: HomeCommand) -> Result<()> { function setup (line 139) | pub fn setup() -> Result<()> { function check_git (line 200) | fn check_git() -> bool { type GitCheck (line 210) | struct GitCheck { function check_git_access (line 215) | fn check_git_access(url: &str) -> GitCheck { function archive_existing_configs (line 233) | fn archive_existing_configs(config_dir: &Path) -> Result> { function normalize_dest_rel (line 279) | fn normalize_dest_rel(dest: &Path) -> Result { function is_symlink_to (line 293) | fn is_symlink_to(link: &Path, expected: &Path) -> bool { function load_link_mappings (line 324) | fn load_link_mappings(config_dir: &Path) -> Result Vec<(PathBuf, PathBuf)> { function apply_config (line 377) | fn apply_config(config_dir: &Path) -> Result<()> { function ensure_link_targets (line 420) | fn ensure_link_targets(config_dir: &Path) -> Result<()> { function create_symlink (line 460) | fn create_symlink(source: &Path, dest: &Path) -> Result<()> { function ensure_kar_repo (line 478) | fn ensure_kar_repo(flow_bin: &Path, prefer_ssh: bool, repo_url: &str) ->... function validate_setup (line 505) | fn validate_setup(config_dir: &Path) -> Result<()> { function ensure_repo (line 562) | fn ensure_repo( function update_repo (line 597) | fn update_repo(dest: &Path) -> Result<()> { function clone_repo (line 614) | fn clone_repo(repo_url: &str, dest: &Path) -> Result<()> { function ensure_origin_url (line 631) | fn ensure_origin_url(dest: &Path, expected: &str) -> Result<()> { function default_branch (line 660) | fn default_branch(dest: &Path) -> Result { function git_ref_exists (line 679) | fn git_ref_exists(dest: &Path, reference: &str) -> Result { function git_capture (line 691) | fn git_capture(dest: &Path, args: &[&str]) -> Result { function run_command (line 704) | fn run_command(cmd: &str, args: &[&str], cwd: Option<&Path>) -> Result<(... function read_internal_repo (line 722) | fn read_internal_repo(config_dir: &Path) -> Result> { function resolve_kar_repo (line 747) | fn resolve_kar_repo(config_dir: &Path) -> Result> { function read_kar_repo (line 757) | fn read_kar_repo(config_dir: &Path) -> Result> { function derive_internal_repo (line 782) | fn derive_internal_repo(repo: &RepoInput) -> Option { function parse_repo_input (line 790) | fn parse_repo_input(input: &str) -> Result { function parse_owner_repo (line 823) | fn parse_owner_repo(raw: &str, scheme: RepoScheme) -> Result { function coerce_repo_scheme (line 845) | fn coerce_repo_scheme(repo: RepoInput, prefer_ssh: bool) -> RepoInput { function coerce_repo_url (line 868) | fn coerce_repo_url(raw: &str, prefer_ssh: bool) -> String { function urls_match (line 875) | fn urls_match(a: &str, b: &str) -> bool { function normalize_repo_url (line 879) | fn normalize_repo_url(raw: &str) -> String { function scheme_for_url (line 899) | fn scheme_for_url(raw: &str) -> Option { FILE: src/http_client.rs function timeout_key (line 10) | fn timeout_key(timeout: Duration) -> u64 { function blocking_with_timeout (line 15) | pub fn blocking_with_timeout(timeout: Duration) -> Result { FILE: src/hub.rs function run (line 12) | pub fn run(cmd: HubCommand) -> Result<()> { function ensure_daemon (line 43) | fn ensure_daemon(opts: &HubOpts) -> Result<()> { function stop_daemon (line 72) | fn stop_daemon(opts: &HubOpts) -> Result<()> { function hub_healthy (line 90) | pub fn hub_healthy(host: IpAddr, port: u16) -> bool { function format_addr (line 108) | fn format_addr(host: IpAddr, port: u16) -> String { function format_health_url (line 115) | fn format_health_url(host: IpAddr, port: u16) -> String { FILE: src/indexer.rs function run (line 13) | pub fn run(opts: IndexOpts) -> Result<()> { function resolve_project_root (line 33) | fn resolve_project_root(path: Option) -> Result { function ensure_codanna_initialized (line 45) | fn ensure_codanna_initialized(binary: &Path, project_root: &Path) -> Res... function run_codanna_index (line 71) | fn run_codanna_index(binary: &Path, project_root: &Path) -> Result<()> { function capture_index_stats (line 91) | fn capture_index_stats(binary: &Path, project_root: &Path) -> Result PathBuf { FILE: src/info.rs function run (line 11) | pub fn run() -> Result<()> { type GitInfo (line 36) | struct GitInfo { type GitRepoPaths (line 42) | struct GitRepoPaths { function print_git_info (line 47) | fn print_git_info(git: &GitInfo) { function git_info (line 71) | fn git_info(cwd: &Path) -> Option { function find_git_root (line 79) | fn find_git_root(start: &Path) -> Option { function resolve_git_paths (line 96) | fn resolve_git_paths(repo_root: &Path) -> Option { function resolve_git_dir_file (line 110) | fn resolve_git_dir_file(dot_git_file: &Path) -> Option { function resolve_common_git_dir (line 122) | fn resolve_common_git_dir(git_dir: &Path) -> PathBuf { function read_git_branch (line 140) | fn read_git_branch(head_path: &Path) -> Option { function parse_git_remotes (line 151) | fn parse_git_remotes(config_path: &Path) -> Vec<(String, String)> { function parse_remote_section (line 187) | fn parse_remote_section(section: &str) -> Option { function print_flow_info (line 198) | fn print_flow_info(flow_toml: &Path) { type InfoConfig (line 239) | struct InfoConfig { type InfoFlowSection (line 249) | struct InfoFlowSection { type InfoUpstreamSection (line 257) | struct InfoUpstreamSection { type InfoTaskSection (line 265) | struct InfoTaskSection {} function parse_git_remotes_reads_unique_remote_urls (line 279) | fn parse_git_remotes_reads_unique_remote_urls() { function read_git_branch_reads_symbolic_head (line 303) | fn read_git_branch_reads_symbolic_head() { function resolve_git_dir_file_supports_relative_gitdir (line 311) | fn resolve_git_dir_file_supports_relative_gitdir() { function resolve_common_git_dir_uses_commondir_when_present (line 325) | fn resolve_common_git_dir_uses_commondir_when_present() { function find_git_root_walks_up_to_repo_root (line 338) | fn find_git_root_walks_up_to_repo_root() { FILE: src/init.rs constant TEMPLATE (line 10) | const TEMPLATE: &str = r#"version = 1 function write_template (line 54) | pub(crate) fn write_template(path: &Path) -> Result<()> { function run (line 66) | pub fn run(opts: InitOpts) -> Result<()> { function resolve_path (line 77) | fn resolve_path(path: Option) -> PathBuf { function template_includes_codex_skill_baseline (line 94) | fn template_includes_codex_skill_baseline() { FILE: src/install.rs function run (line 16) | pub fn run(mut opts: InstallOpts) -> Result<()> { function install_with_auto (line 35) | fn install_with_auto(opts: &InstallOpts) -> Result<()> { function is_existing_destination_error (line 87) | fn is_existing_destination_error(err: &anyhow::Error) -> bool { function run_index (line 91) | pub fn run_index(opts: InstallIndexOpts) -> Result<()> { function registry_configured (line 126) | fn registry_configured(_opts: &InstallOpts) -> bool { function install_with_flox (line 131) | fn install_with_flox(opts: &InstallOpts) -> Result<()> { function install_with_parm (line 192) | fn install_with_parm(opts: &InstallOpts) -> Result<()> { function resolve_owner_repo (line 269) | fn resolve_owner_repo(raw: &str) -> Result { function should_try_parm (line 291) | fn should_try_parm(opts: &InstallOpts) -> bool { function known_owner_repo (line 303) | fn known_owner_repo(name: &str) -> Option<&'static str> { function normalize_registry_install_opts (line 312) | fn normalize_registry_install_opts(mut opts: InstallOpts) -> InstallOpts { function registry_alias (line 331) | fn registry_alias(raw: &str) -> (&str, Option<&str>) { function resolve_install_owner (line 341) | fn resolve_install_owner() -> Option { function resolve_github_token (line 355) | fn resolve_github_token() -> Result> { function ensure_flox_tools_env (line 382) | fn ensure_flox_tools_env(root: &Path, packages: &[(String, FloxInstallSp... function resolve_flox_bin (line 428) | fn resolve_flox_bin() -> Result { function flox_run (line 441) | fn flox_run(flox_bin: &Path, args: &[String]) -> Result<()> { function flox_env_ok (line 452) | fn flox_env_ok(flox_bin: &Path, root: &Path) -> Result<()> { function resolve_flox_pkg_name (line 470) | fn resolve_flox_pkg_name(name: &str) -> &str { function prompt_flox_package (line 477) | fn prompt_flox_package() -> Result { type FloxSearchEntry (line 568) | struct FloxSearchEntry { type FloxDisplayEntry (line 576) | struct FloxDisplayEntry { type TypesenseConfig (line 584) | struct TypesenseConfig { type TypesenseSearchResponse (line 591) | struct TypesenseSearchResponse { type TypesenseHit (line 596) | struct TypesenseHit { type TypesenseDoc (line 601) | struct TypesenseDoc { function typesense_config (line 608) | fn typesense_config() -> Option { function typesense_config_with_overrides (line 620) | fn typesense_config_with_overrides(opts: &InstallIndexOpts) -> Option Result Result<()> { function typesense_import (line 719) | fn typesense_import(config: &TypesenseConfig, entries: Vec, path: Option) -> R... function flox_search_with_aliases (line 779) | fn flox_search_with_aliases(flox_bin: &Path, query: &str) -> Result Option<&'static [&'static str]> { function flox_entry_rank (line 833) | fn flox_entry_rank(entry: &FloxDisplayEntry, query: &str) -> (u8, String) { function flox_search (line 851) | fn flox_search(flox_bin: &Path, query: &str) -> Result) -> Result { function tool_root (line 886) | fn tool_root() -> Result { function write_flox_shim (line 891) | fn write_flox_shim(dest: &Path, env_root: &Path, bin: &str) -> Result<()> { function shim_matches (line 908) | fn shim_matches(dest: &Path, env_root: &Path, bin: &str) -> Result { function prompt_overwrite (line 919) | fn prompt_overwrite(path: &Path) -> Result { function default_bin_dir (line 931) | fn default_bin_dir() -> PathBuf { function path_in_env (line 944) | fn path_in_env(bin_dir: &Path) -> bool { FILE: src/invariants.rs type Finding (line 15) | pub struct Finding { type Report (line 24) | pub struct Report { function check (line 32) | pub fn check(root: &Path, staged_only: bool) -> Result { function check_forbidden_patterns (line 101) | fn check_forbidden_patterns(inv: &InvariantsConfig, diff: &str, findings... function check_deps (line 145) | fn check_deps( function check_unapproved_deps (line 176) | fn check_unapproved_deps( function check_file_sizes (line 203) | fn check_file_sizes( function find_package_jsons (line 225) | fn find_package_jsons(root: &Path) -> Vec { function print_report (line 241) | fn print_report(inv: &InvariantsConfig, findings: &[Finding]) { function changed_files_from_diff (line 292) | fn changed_files_from_diff(diff: &str) -> Vec { function git_capture (line 306) | fn git_capture(workdir: &Path, args: &[&str]) -> Result { function forbidden_scan_ignores_flow_toml_lines (line 321) | fn forbidden_scan_ignores_flow_toml_lines() { function dep_scan_marks_unapproved_as_warning (line 343) | fn dep_scan_marks_unapproved_as_warning() { FILE: src/jazz_state.rs constant CATALOG_ID_FILE (line 15) | const CATALOG_ID_FILE: &str = "catalog.id"; constant DEFAULT_DB_DIR (line 16) | const DEFAULT_DB_DIR: &str = ".config/flow/jazz2"; constant DEFAULT_REPO_ROOT (line 17) | const DEFAULT_REPO_ROOT: &str = "~/repos/garden-co/jazz2"; constant OUTPUT_LIMIT (line 18) | const OUTPUT_LIMIT: usize = 80_000; function record_task_run (line 22) | pub fn record_task_run(record: &InvocationRecord) -> Result<()> { function with_db (line 40) | fn with_db(op: F) -> Result<()> function env_flag (line 53) | fn env_flag(name: &str) -> bool { function open_db (line 65) | fn open_db() -> Result { function open_db_with_retry (line 84) | fn open_db_with_retry() -> Result { function is_lock_error (line 98) | fn is_lock_error(err: &anyhow::Error) -> bool { function state_dir (line 105) | pub fn state_dir() -> PathBuf { function load_catalog_id (line 119) | fn load_catalog_id(base: &Path) -> Result> { function save_catalog_id (line 135) | fn save_catalog_id(base: &Path, id: ObjectId) -> Result<()> { function ensure_schema (line 140) | fn ensure_schema(db: &Database) -> Result<()> { function insert_task_run (line 166) | fn insert_task_run(db: &Database, record: &InvocationRecord) -> Result<(... function sql_escape (line 205) | fn sql_escape(value: &str) -> String { function truncate_output (line 211) | fn truncate_output(value: &str, limit: usize) -> String { FILE: src/jazz_state_stub.rs constant DEFAULT_DB_DIR (line 7) | const DEFAULT_DB_DIR: &str = ".config/flow/jazz2"; constant DEFAULT_REPO_ROOT (line 8) | const DEFAULT_REPO_ROOT: &str = "~/repos/garden-co/jazz2"; function record_task_run (line 10) | pub fn record_task_run(record: &InvocationRecord) -> Result<()> { function state_dir (line 25) | pub fn state_dir() -> std::path::PathBuf { FILE: src/jj.rs type JjContext (line 14) | struct JjContext { function run (line 19) | pub fn run(cmd: JjCommand) -> Result<()> { function run_workflow_status (line 35) | pub fn run_workflow_status(raw: bool) -> Result<()> { function run_init (line 39) | fn run_init(path: Option) -> Result<()> { function current_context (line 77) | fn current_context() -> Result { function repo_root_for_workspace (line 86) | fn repo_root_for_workspace(workspace_root: &Path) -> Result { function repo_root_from_git_root (line 91) | fn repo_root_from_git_root(git_root: &str) -> Result<&str> { function run_status (line 105) | fn run_status(opts: JjStatusOpts) -> Result<()> { function run_fetch (line 116) | fn run_fetch() -> Result<()> { function run_rebase (line 122) | fn run_rebase(opts: JjRebaseOpts) -> Result<()> { function run_push (line 131) | fn run_push(opts: JjPushOpts) -> Result<()> { function run_sync (line 146) | fn run_sync(opts: JjSyncOpts) -> Result<()> { function run_workspace (line 191) | fn run_workspace(action: JjWorkspaceAction) -> Result<()> { function run_workspace_add (line 312) | fn run_workspace_add( function workspace_add_args (line 340) | fn workspace_add_args(destination: &str, name: &str, rev: Option<&str>) ... function run_bookmark (line 358) | fn run_bookmark(action: JjBookmarkAction) -> Result<()> { type WorkflowStatusSnapshot (line 392) | struct WorkflowStatusSnapshot { type LeafBranchStatus (line 409) | struct LeafBranchStatus { type WorkspaceStatus (line 418) | struct WorkspaceStatus { function collect_status_snapshot (line 424) | fn collect_status_snapshot(ctx: &JjContext) -> Result Result { function configured_home_branch (line 612) | fn configured_home_branch(repo_root: &Path) -> Option { function git_current_branch (line 619) | fn git_current_branch(repo_root: &Path) -> Option { function infer_home_branch (line 632) | fn infer_home_branch( function derive_intake_branch (line 659) | fn derive_intake_branch(home_branch: &str) -> String { function infer_current_ref (line 667) | fn infer_current_ref( function classify_branch_role (line 714) | fn classify_branch_role(name: &str, home_branch: &str, intake_branch: &s... function is_home_branch_candidate (line 728) | fn is_home_branch_candidate(name: &str, default_branch: &str) -> bool { function is_intake_branch (line 736) | fn is_intake_branch(name: &str) -> bool { function is_leaf_branch (line 740) | fn is_leaf_branch(name: &str) -> bool { function leaf_branch_kind (line 744) | fn leaf_branch_kind(name: &str) -> &'static str { function workspace_name_for_branch (line 752) | fn workspace_name_for_branch(name: &str) -> Option { function local_bookmarks_at_rev (line 757) | fn local_bookmarks_at_rev(workspace_root: &Path, rev: &str) -> Vec Result> { function parse_bookmark_tokens (line 782) | fn parse_bookmark_tokens(output: &str) -> Vec { function parse_bookmark_list_names (line 791) | fn parse_bookmark_list_names(output: &str) -> Vec { function jj_workspace_names (line 809) | fn jj_workspace_names(workspace_root: &Path) -> Result> { function parse_workspace_names (line 817) | fn parse_workspace_names(output: &str) -> Vec { function inferred_workspace_path (line 826) | fn inferred_workspace_path(repo_root: &Path, name: &str) -> PathBuf { function count_unique_commits (line 834) | fn count_unique_commits(workspace_root: &Path, branch: &str, base: &str)... function resolve_rebase_target (line 859) | fn resolve_rebase_target(repo_root: &Path, dest: &str, remote: &str) -> ... function jj_bookmark_exists (line 867) | fn jj_bookmark_exists(repo_root: &Path, name: &str) -> bool { function default_branch (line 873) | fn default_branch(repo_root: &Path) -> String { function default_remote (line 892) | fn default_remote(repo_root: &Path) -> String { function auto_track_enabled (line 896) | fn auto_track_enabled(repo_root: &Path) -> bool { function load_jj_config (line 902) | fn load_jj_config(repo_root: &Path) -> Option { function review_workspace_name (line 922) | fn review_workspace_name(branch: &str) -> String { function existing_workspace_path (line 942) | fn existing_workspace_path( type ReviewWorkspaceBase (line 953) | struct ReviewWorkspaceBase { function resolve_review_workspace_base (line 958) | fn resolve_review_workspace_base( function git_ref_commit (line 997) | fn git_ref_commit(repo_root: &Path, reference: &str) -> Option { function short_commit (line 1010) | fn short_commit(commit: &str) -> &str { function default_remote_uses_git_remote_when_set (line 1026) | fn default_remote_uses_git_remote_when_set() { function workspace_add_args_use_modern_jj_shape (line 1040) | fn workspace_add_args_use_modern_jj_shape() { function workspace_add_args_include_revision_when_set (line 1049) | fn workspace_add_args_include_revision_when_set() { function review_workspace_name_sanitizes_review_branch (line 1066) | fn review_workspace_name_sanitizes_review_branch() { function resolve_review_workspace_base_prefers_explicit_base (line 1078) | fn resolve_review_workspace_base_prefers_explicit_base() { function resolve_review_workspace_base_uses_local_branch_commit (line 1090) | fn resolve_review_workspace_base_uses_local_branch_commit() { function parse_workspace_names_skips_blank_lines (line 1105) | fn parse_workspace_names_skips_blank_lines() { function parse_bookmark_list_names_supports_structured_template_output (line 1112) | fn parse_bookmark_list_names_supports_structured_template_output() { function repo_root_from_git_root_handles_colocated_git_dir (line 1119) | fn repo_root_from_git_root_handles_colocated_git_dir() { function infer_current_ref_prefers_workspace_named_leaf_branch (line 1125) | fn infer_current_ref_prefers_workspace_named_leaf_branch() { function init_git_repo (line 1139) | fn init_git_repo(repo_root: &Path) { function git (line 1151) | fn git(repo_root: &Path, args: &[&str]) { function git_capture (line 1160) | fn git_capture(repo_root: &Path, args: &[&str]) -> String { function is_jj_repo (line 1171) | fn is_jj_repo(path: &Path) -> bool { function jj_run_in (line 1182) | fn jj_run_in(repo_root: &Path, args: &[&str]) -> Result<()> { function jj_capture_in (line 1205) | fn jj_capture_in(repo_root: &Path, args: &[&str]) -> Result { function jj_run_owned_in (line 1217) | fn jj_run_owned_in(repo_root: &Path, args: &[String]) -> Result<()> { function git_ref_exists (line 1222) | fn git_ref_exists(repo_root: &Path, name: &str) -> bool { function ensure_git_not_busy (line 1233) | fn ensure_git_not_busy(repo_root: &Path) -> Result<()> { function git_unmerged_files (line 1248) | fn git_unmerged_files(repo_root: &Path) -> Vec { function git_dir (line 1263) | fn git_dir(repo_root: &Path) -> Result { function workspace_default_path (line 1281) | fn workspace_default_path(repo_root: &Path, name: &str) -> Result(line: &str) -> Result { function parse_json_bytes_in_place (line 28) | pub fn parse_json_bytes_in_place(bytes: &mut [u8]) ... FILE: src/latest.rs function run (line 9) | pub fn run() -> Result<()> { function flow_repo_root (line 17) | fn flow_repo_root() -> Result { function update_flow_repo (line 27) | fn update_flow_repo(root: &PathBuf) -> Result<()> { function rebuild_flow (line 48) | fn rebuild_flow(root: &PathBuf) -> Result<()> { function reload_fish_shell (line 57) | fn reload_fish_shell() -> Result<()> { FILE: src/lib.rs function init_tracing (line 128) | pub fn init_tracing() { FILE: src/lifecycle.rs function run_up (line 18) | pub fn run_up(opts: LifecycleRunOpts) -> Result<()> { function run_down (line 52) | pub fn run_down(opts: LifecycleRunOpts) -> Result<()> { function run_required_task (line 88) | fn run_required_task(config_path: &Path, task_name: &str, args: Vec) -> R... function ensure_domains_up (line 124) | fn ensure_domains_up(cfg: &LifecycleDomainsConfig) -> Result<()> { function lifecycle_preferred_url (line 156) | fn lifecycle_preferred_url(cfg: &LifecycleDomainsConfig) -> Option Result { function lifecycle_domain_host (line 194) | fn lifecycle_domain_host(cfg: &LifecycleDomainsConfig) -> Result<&str> { function lifecycle_domain_target (line 202) | fn lifecycle_domain_target(cfg: &LifecycleDomainsConfig) -> Result<&str> { function add_lifecycle_route (line 210) | fn add_lifecycle_route(engine: Option, host: &str, tar... function remove_lifecycle_route (line 221) | fn remove_lifecycle_route(engine: Option, host: &str) ... function parse_domains_engine (line 230) | fn parse_domains_engine(raw: Option<&str>) -> Result Result { function resolve_flow_path (line 256) | fn resolve_flow_path(config_arg: &Path, cwd: &Path) -> Result { function find_flow_toml_upwards (line 278) | fn find_flow_toml_upwards(start: &Path) -> Option { function is_task_not_found (line 292) | fn is_task_not_found(err: &anyhow::Error) -> bool { function runtime_preferred_url (line 297) | pub(crate) fn runtime_preferred_url() -> Option { function preferred_url_slot (line 304) | fn preferred_url_slot() -> &'static Mutex> { type ScopedPreferredUrl (line 308) | struct ScopedPreferredUrl { method set (line 313) | fn set(value: Option) -> Self { method drop (line 324) | fn drop(&mut self) { type ProjectConfig (line 332) | struct ProjectConfig { FILE: src/lmstudio.rs constant DEFAULT_PORT (line 7) | const DEFAULT_PORT: u16 = 1234; constant DEFAULT_MODEL (line 8) | const DEFAULT_MODEL: &str = "qwen3-8b"; type ChatRequest (line 11) | struct ChatRequest { type ChatMessage (line 18) | struct ChatMessage { type ChatResponse (line 24) | struct ChatResponse { type Choice (line 29) | struct Choice { type ResponseMessage (line 34) | struct ResponseMessage { function quick_prompt (line 39) | pub fn quick_prompt(prompt: &str, model: Option<&str>, port: Option... function is_available (line 90) | pub fn is_available(port: Option) -> bool { FILE: src/log_server.rs type AppState (line 32) | struct AppState { function run (line 38) | pub fn run(opts: ServerOpts) -> Result<()> { function ensure_server (line 50) | fn ensure_server(host: &str, port: u16) -> Result<()> { function run_foreground (line 97) | fn run_foreground(host: &str, port: u16) -> Result<()> { function stop_server (line 183) | fn stop_server() -> Result<()> { function server_pid_path (line 194) | fn server_pid_path() -> PathBuf { function load_server_pid (line 201) | fn load_server_pid() -> Result> { function persist_server_pid (line 211) | fn persist_server_pid(pid: u32) -> Result<()> { function remove_server_pid (line 220) | fn remove_server_pid() -> Result<()> { function server_healthy (line 228) | fn server_healthy(host: &str, port: u16) -> bool { function process_alive (line 239) | fn process_alive(pid: u32) -> bool { function terminate_process (line 248) | fn terminate_process(pid: u32) -> Result<()> { function health (line 260) | async fn health() -> impl IntoResponse { type CodexSkillsQuery (line 265) | struct CodexSkillsQuery { type CodexEvalQuery (line 271) | struct CodexEvalQuery { type CodexSkillsSyncRequest (line 278) | struct CodexSkillsSyncRequest { type CodexSkillsReloadRequest (line 288) | struct CodexSkillsReloadRequest { type CodexResolveRequest (line 294) | struct CodexResolveRequest { function resolve_codex_skills_target (line 301) | fn resolve_codex_skills_target(path: Option<&str>) -> PathBuf { function codex_skills (line 314) | async fn codex_skills(Query(query): Query) -> impl Int... function codex_eval (line 337) | async fn codex_eval(Query(query): Query) -> impl IntoRes... function codex_resolve (line 358) | async fn codex_resolve(AxumJson(payload): AxumJson)... function codex_skills_sync (line 379) | async fn codex_skills_sync(AxumJson(payload): AxumJson impl IntoResponse { function daemon_start (line 451) | async fn daemon_start(AxumPath(name): AxumPath) -> impl IntoResp... function daemon_stop (line 455) | async fn daemon_stop(AxumPath(name): AxumPath) -> impl IntoRespo... function daemon_restart (line 459) | async fn daemon_restart(AxumPath(name): AxumPath) -> impl IntoRe... function daemon_action_response (line 463) | async fn daemon_action_response( function pr_edit_status (line 487) | async fn pr_edit_status(State(state): State) -> impl IntoRespo... function pr_edit_rescan (line 502) | async fn pr_edit_rescan(State(state): State) -> impl IntoRespo... type IngestRequest (line 526) | enum IngestRequest { function logs_ingest (line 531) | async fn logs_ingest(Json(payload): Json) -> impl IntoRes... function logs_query (line 572) | async fn logs_query(Query(query): Query) -> impl IntoResponse { function projects_list_all (line 605) | async fn projects_list_all() -> impl IntoResponse { function project_sessions (line 623) | async fn project_sessions(AxumPath(name): AxumPath) -> impl Into... function workflow_overview (line 650) | async fn workflow_overview() -> impl IntoResponse { type SessionDetailQuery (line 668) | struct SessionDetailQuery { type CommitExplanationsQuery (line 673) | struct CommitExplanationsQuery { function session_detail (line 678) | async fn session_detail( function project_commit_explanations (line 723) | async fn project_commit_explanations( function project_commit_explanation_detail (line 753) | async fn project_commit_explanation_detail( function logs_errors_stream (line 787) | async fn logs_errors_stream() -> Sse String { type StoredLogEntry (line 29) | pub struct StoredLogEntry { type LogQuery (line 37) | pub struct LogQuery { function default_limit (line 50) | fn default_limit() -> usize { method default (line 55) | fn default() -> Self { function init_schema (line 69) | pub fn init_schema(conn: &Connection) -> Result<()> { function insert_log (line 93) | pub fn insert_log(conn: &Connection, entry: &LogEntry) -> Result { function insert_logs (line 115) | pub fn insert_logs(conn: &mut Connection, entries: &[LogEntry]) -> Resul... function query_logs (line 145) | pub fn query_logs(conn: &Connection, query: &LogQuery) -> Result Res... function open_log_db (line 217) | pub fn open_log_db() -> Result { function sanitize_entry (line 223) | fn sanitize_entry(entry: &LogEntry) -> LogEntry { function test_insert_and_query (line 243) | fn test_insert_and_query() { function test_error_query (line 274) | fn test_error_query() { FILE: src/logs.rs function run (line 15) | pub fn run(opts: LogsOpts) -> Result<()> { function list_servers (line 56) | fn list_servers(client: &Client, base: &str) -> Result Result &'static str { method requires_sudo (line 41) | fn requires_sudo(&self) -> bool { method domain (line 45) | fn domain(&self) -> String { type ServiceCategory (line 56) | pub enum ServiceCategory { method as_str (line 69) | fn as_str(&self) -> &'static str { type LaunchdService (line 86) | pub struct LaunchdService { type AuditRecommendation (line 107) | pub struct AuditRecommendation { type RecommendedAction (line 115) | pub enum RecommendedAction { function run (line 121) | pub fn run(cmd: MacosCommand) -> Result<()> { function run_list (line 134) | fn run_list(opts: MacosListOpts) -> Result<()> { function run_status (line 184) | fn run_status() -> Result<()> { function run_audit (line 210) | fn run_audit(opts: MacosAuditOpts) -> Result<()> { function run_info (line 262) | fn run_info(opts: MacosInfoOpts) -> Result<()> { function run_disable (line 292) | fn run_disable(opts: MacosDisableOpts) -> Result<()> { function run_enable (line 325) | fn run_enable(opts: MacosEnableOpts) -> Result<()> { function run_clean (line 339) | fn run_clean(opts: MacosCleanOpts) -> Result<()> { function discover_services (line 398) | fn discover_services() -> Result> { function discover_in_dir (line 427) | fn discover_in_dir( function parse_plist (line 448) | fn parse_plist(path: &Path, service_type: ServiceType) -> Option ServiceCategory { function is_known_bloatware (line 584) | fn is_known_bloatware(label: &str) -> bool { function audit_services (line 613) | fn audit_services( function is_pattern_match (line 668) | fn is_pattern_match(label: &str, patterns: &[String]) -> bool { function disable_service (line 683) | fn disable_service(svc: &LaunchdService) -> Result<()> { function enable_service (line 732) | fn enable_service(svc: &LaunchdService) -> Result<()> { function get_uid (line 779) | fn get_uid() -> u32 { function load_macos_config (line 784) | fn load_macos_config() -> Option { function test_categorize_apple (line 799) | fn test_categorize_apple() { function test_categorize_bloatware (line 807) | fn test_categorize_bloatware() { function test_is_known_bloatware (line 819) | fn test_is_known_bloatware() { function test_pattern_match (line 827) | fn test_pattern_match() { FILE: src/main.rs type StartupPolicy (line 23) | struct StartupPolicy { constant NONE (line 29) | const NONE: Self = Self { constant SECRETS_ONLY (line 33) | const SECRETS_ONLY: Self = Self { constant FULL (line 37) | const FULL: Self = Self { function main (line 43) | fn main() -> Result<()> { function apply_startup_policy (line 642) | fn apply_startup_policy(policy: StartupPolicy) { function apply_startup_env_overrides (line 652) | fn apply_startup_env_overrides(mut policy: StartupPolicy) -> StartupPoli... function env_truthy_override (line 662) | fn env_truthy_override(key: &str) -> Option { function startup_policy_for (line 672) | fn startup_policy_for(command: Option<&Commands>) -> StartupPolicy { function rerun (line 823) | fn rerun(opts: RerunOpts) -> Result<()> { function is_task_not_found (line 852) | fn is_task_not_found(err: &anyhow::Error) -> bool { function shell_command (line 857) | fn shell_command(cmd: ShellCommand) { function shell_reset (line 868) | fn shell_reset() { function shell_fix_terminal (line 881) | fn shell_fix_terminal() { function shell_init (line 897) | fn shell_init(shell: &str) { function proxy_command (line 981) | fn proxy_command(cmd: ProxyCommand) -> Result<()> { function startup_policy_skips_common_local_read_only_commands (line 1090) | fn startup_policy_skips_common_local_read_only_commands() { function startup_policy_keeps_execution_paths_loading_secrets (line 1148) | fn startup_policy_keeps_execution_paths_loading_secrets() { function startup_policy_syncs_skills_for_ai_heavy_paths (line 1174) | fn startup_policy_syncs_skills_for_ai_heavy_paths() { function startup_policy_keeps_repos_capsule_on_fast_path (line 1195) | fn startup_policy_keeps_repos_capsule_on_fast_path() { function startup_policy_keeps_repos_alias_on_fast_path (line 1209) | fn startup_policy_keeps_repos_alias_on_fast_path() { FILE: src/notify.rs type Proposal (line 13) | struct Proposal { type Alert (line 25) | struct Alert { function get_proposals_path (line 35) | fn get_proposals_path() -> Result { function run (line 46) | pub fn run(cmd: NotifyCommand) -> Result<()> { function get_alerts_path (line 106) | fn get_alerts_path() -> Result { type AlertKind (line 118) | pub enum AlertKind { method as_str (line 126) | fn as_str(&self) -> &'static str { function send_alert (line 138) | pub fn send_alert(text: &str, kind: AlertKind) -> Result<()> { function send_error (line 193) | pub fn send_error(text: &str) -> Result<()> { function send_warning (line 198) | pub fn send_warning(text: &str) -> Result<()> { FILE: src/opentui_prompt.rs function confirm (line 8) | pub fn confirm(title: &str, lines: &[String], default_yes: bool) -> Opti... type RawModeGuard (line 108) | struct RawModeGuard; method new (line 111) | fn new() -> std::io::Result { method drop (line 118) | fn drop(&mut self) { function truncate_width (line 123) | fn truncate_width(input: &str, max: usize) -> String { FILE: src/otp.rs type ConnectConfig (line 16) | struct ConnectConfig { type Vault (line 22) | struct Vault { type ItemSummary (line 28) | struct ItemSummary { type Field (line 34) | struct Field { type FullItem (line 42) | struct FullItem { function run (line 49) | pub fn run(cmd: OtpCommand) -> Result<()> { function load_connect_config (line 60) | fn load_connect_config() -> Result { function fetch_totp (line 78) | fn fetch_totp( function resolve_vault_id (line 96) | fn resolve_vault_id(client: &Client, config: &ConnectConfig, vault_ref: ... function resolve_item_id (line 118) | fn resolve_item_id( function fetch_item (line 149) | fn fetch_item( function extract_totp_uri (line 173) | fn extract_totp_uri(item: &FullItem, field_label: Option<&str>) -> Resul... function compute_totp (line 209) | fn compute_totp(uri: &str) -> Result { function compute_totp_from_secret (line 238) | fn compute_totp_from_secret( function decode_base32 (line 275) | fn decode_base32(secret: &str) -> Result> { function hmac_sha1 (line 282) | fn hmac_sha1(key: &[u8], msg: &[u8]) -> Vec { function hmac_sha256 (line 288) | fn hmac_sha256(key: &[u8], msg: &[u8]) -> Vec { function hmac_sha512 (line 294) | fn hmac_sha512(key: &[u8], msg: &[u8]) -> Vec { FILE: src/palette.rs function run (line 17) | pub fn run(opts: TasksOpts) -> Result<()> { function run_global (line 23) | pub fn run_global() -> Result<()> { type FzfResult (line 28) | struct FzfResult<'a> { function run_fzf (line 33) | fn run_fzf<'a>(entries: &'a [PaletteEntry]) -> Result) -> Result<()> { function present (line 94) | fn present(entries: Vec) -> Result<()> { function prompt_for_args (line 121) | fn prompt_for_args(task_display: &str) -> Result> { type PaletteEntry (line 147) | struct PaletteEntry { method new (line 153) | fn new(display: &str, exec: Vec) -> Self { method from_task (line 160) | fn from_task(task: &TaskConfig, config_arg: &str) -> Self { method from_discovered (line 176) | fn from_discovered(discovered: &DiscoveredTask) -> Self { method from_ai_task (line 208) | fn from_ai_task(task: &ai_tasks::DiscoveredAiTask) -> Self { function build_entries (line 220) | fn build_entries(project_opts: Option) -> Result Vec { function load_if_exists (line 268) | fn load_if_exists(path: PathBuf) -> Result String { FILE: src/parallel.rs constant RESET (line 16) | const RESET: &str = "\x1b[0m"; constant BOLD (line 17) | const BOLD: &str = "\x1b[1m"; constant DIM (line 18) | const DIM: &str = "\x1b[2m"; constant RED (line 19) | const RED: &str = "\x1b[31m"; constant GREEN (line 20) | const GREEN: &str = "\x1b[32m"; constant BLUE (line 21) | const BLUE: &str = "\x1b[34m"; constant MAGENTA (line 22) | const MAGENTA: &str = "\x1b[35m"; constant CYAN (line 23) | const CYAN: &str = "\x1b[36m"; constant CLEAR_LINE (line 24) | const CLEAR_LINE: &str = "\x1b[2K"; constant HIDE_CURSOR (line 25) | const HIDE_CURSOR: &str = "\x1b[?25l"; constant SHOW_CURSOR (line 26) | const SHOW_CURSOR: &str = "\x1b[?25h"; constant SPINNER_FRAMES (line 29) | const SPINNER_FRAMES: &[&str] = &["â ‹", "â ™", "â ¹", "â ¸", "â ¼", "â ´", "â ¦", "â §"... constant SPINNER_COLORS (line 30) | const SPINNER_COLORS: &[&str] = &[CYAN, BLUE, MAGENTA, BLUE]; type TaskStatus (line 33) | pub enum TaskStatus { type Task (line 42) | pub struct Task { method new (line 53) | pub fn new(label: impl Into, command: impl Into) -> Se... type ParallelRunner (line 66) | pub struct ParallelRunner { method new (line 77) | pub fn new(tasks: Vec, max_jobs: usize, fail_fast: bool) -> Self { method get_spinner (line 89) | fn get_spinner(&self) -> String { method terminal_width (line 96) | fn terminal_width() -> usize { method truncate_line (line 100) | fn truncate_line(text: &str, max_width: usize) -> String { method strip_ansi (line 110) | fn strip_ansi(text: &str) -> String { method format_task_line (line 133) | fn format_task_line(&self, task: &Task, label_width: usize) -> String { method render_display (line 189) | async fn render_display(&self) { method run_task (line 209) | async fn run_task(&self, task_idx: usize, semaphore: Arc) { method run (line 325) | pub async fn run(self: Arc) -> i32 { function run_parallel (line 423) | pub async fn run_parallel( function run (line 448) | pub fn run(cmd: crate::cli::ParallelCommand) -> Result<()> { function test_parallel_success (line 496) | async fn test_parallel_success() { function test_parallel_failure (line 507) | async fn test_parallel_failure() { FILE: src/path_hygiene.rs function scan_dir (line 6) | fn scan_dir(root: &Path, hits: &mut Vec) { function scan_file (line 21) | fn scan_file(path: &Path, hits: &mut Vec) { function repo_avoids_committed_absolute_user_home_paths (line 38) | fn repo_avoids_committed_absolute_user_home_paths() { FILE: src/pr_edit.rs constant STATUS_FILENAME (line 16) | const STATUS_FILENAME: &str = "status.json"; constant INDEX_FILENAME (line 17) | const INDEX_FILENAME: &str = ".index.json"; type PrMeta (line 20) | pub struct PrMeta { type SyncState (line 27) | pub enum SyncState { type FileStatus (line 36) | pub struct FileStatus { type StatusSnapshot (line 48) | pub struct StatusSnapshot { type IndexFile (line 54) | struct IndexFile { type PrEditService (line 60) | pub struct PrEditService { method start (line 75) | pub async fn start() -> Result> { method status_snapshot (line 127) | pub async fn status_snapshot(&self) -> StatusSnapshot { method rescan (line 137) | pub async fn rescan(&self) -> Result<()> { method run_loop (line 179) | async fn run_loop(self: Arc, mut rx: mpsc::Receiver) ->... method sync_file (line 235) | async fn sync_file(&self, path: &Path) -> Result<()> { method lookup_index (line 366) | async fn lookup_index(&self, path: &Path) -> Option { method set_error (line 372) | async fn set_error(&self, path: &Path, meta: Option, err: Stri... method get_gh_token (line 391) | async fn get_gh_token(&self) -> Result { method write_status_json (line 412) | async fn write_status_json(&self) -> Result<()> { method pr_edit_dir_path (line 424) | pub fn pr_edit_dir_path(&self) -> &Path { method reload_index_from_disk (line 428) | async fn reload_index_from_disk(&self) -> Result<()> { type FileStatusInternal (line 69) | struct FileStatusInternal { function pr_edit_dir (line 438) | fn pr_edit_dir() -> Result { function list_md_files (line 443) | fn list_md_files(dir: &Path) -> Result> { function is_md_file (line 459) | fn is_md_file(path: &Path) -> bool { function should_ignore_event_path (line 479) | fn should_ignore_event_path(dir: &Path, path: &Path) -> bool { function spawn_watcher_thread (line 501) | fn spawn_watcher_thread(dir: PathBuf, tx: mpsc::Sender) -> Resu... function parse_frontmatter (line 541) | fn parse_frontmatter(text: &str) -> Option { function parse_title_body (line 575) | fn parse_title_body(text: &str) -> Result<(String, String)> { function write_index (line 621) | fn write_index(dir: &Path, idx: &IndexFile) -> Result<()> { function index_upsert_file (line 630) | pub fn index_upsert_file(path: &Path, repo: &str, pr: u64) -> Result<()> { function compute_digest_hex (line 644) | fn compute_digest_hex(title: &str, body: &str) -> String { function now_ms (line 652) | fn now_ms() -> i64 { function load_index (line 659) | fn load_index(dir: &Path) -> Result { FILE: src/processes.rs function show_project_processes (line 18) | pub fn show_project_processes(opts: ProcessOpts) -> Result<()> { function show_processes_for_project (line 28) | fn show_processes_for_project(config_path: &Path, project_name: Option<&... function show_all_processes (line 58) | fn show_all_processes() -> Result<()> { function format_runtime (line 86) | fn format_runtime(started_at: u128) -> String { function kill_processes (line 104) | pub fn kill_processes(opts: KillOpts) -> Result<()> { function kill_by_pid (line 119) | fn kill_by_pid(pid: u32, force: bool, timeout: u64) -> Result<()> { function kill_by_task (line 135) | fn kill_by_task(config_path: &Path, task: &str, force: bool, timeout: u6... function kill_all_for_project (line 152) | fn kill_all_for_project(config_path: &Path, force: bool, timeout: u64) -... function terminate_process_group (line 169) | fn terminate_process_group(pgid: u32, force: bool, timeout: u64) -> Resu... function log_dir (line 220) | fn log_dir() -> PathBuf { function sanitize_component (line 227) | fn sanitize_component(raw: &str) -> String { function short_hash (line 239) | fn short_hash(input: &str) -> String { function project_slug (line 245) | fn project_slug(project_root: &Path, project_name: Option<&str>) -> Stri... function get_log_path (line 262) | fn get_log_path(project_root: &Path, project_name: Option<&str>, task_na... function show_task_logs (line 279) | pub fn show_task_logs(opts: TaskLogsOpts) -> Result<()> { function show_all_logs (line 395) | fn show_all_logs(lines: usize) -> Result<()> { function list_available_logs (line 442) | fn list_available_logs(_all: bool) -> Result<()> { function format_relative_time (line 493) | fn format_relative_time(seconds: u64) -> String { function get_project_log_files (line 506) | fn get_project_log_files(project_root: &Path, project_name: Option<&str>... function tail_lines (line 529) | fn tail_lines(path: &Path, n: usize) -> Result<()> { function tail_follow (line 542) | fn tail_follow(path: &Path, initial_lines: usize, quiet: bool) -> Result... function show_hub_task_logs (line 572) | fn show_hub_task_logs(task_id: &str, follow: bool) -> Result<()> { FILE: src/project_snapshot.rs constant SNAPSHOT_CACHE_VERSION (line 12) | const SNAPSHOT_CACHE_VERSION: u32 = 1; constant SNAPSHOT_CACHE_ENV_DISABLE (line 13) | const SNAPSHOT_CACHE_ENV_DISABLE: &str = "FLOW_DISABLE_DISCOVERY_CACHE"; type ProjectSnapshot (line 16) | pub struct ProjectSnapshot { method from_root_tasks_only (line 23) | pub fn from_root_tasks_only(root: &Path) -> Result { method from_task_config (line 28) | pub fn from_task_config(config: &Path, climb_to_default_flow_toml: boo... method from_task_config_tasks_only (line 33) | pub fn from_task_config_tasks_only( method from_current_dir (line 41) | pub fn from_current_dir(climb_to_flow_toml: bool) -> Result { method has_any_tasks (line 46) | pub fn has_any_tasks(&self) -> bool { method from_canonical_root (line 50) | pub(crate) fn from_canonical_root(root: PathBuf) -> Result { method from_canonical_root_tasks_only (line 59) | pub(crate) fn from_canonical_root_tasks_only(root: PathBuf) -> Result<... type AiTaskSnapshot (line 70) | pub struct AiTaskSnapshot { method from_root (line 76) | pub fn from_root(root: &Path) -> Result { method from_canonical_root (line 81) | pub(crate) fn from_canonical_root(root: PathBuf) -> Result { type SnapshotCacheEntry (line 88) | struct SnapshotCacheEntry { type CachedDiscoverySection (line 95) | struct CachedDiscoverySection { type CachedAiTasksSection (line 101) | struct CachedAiTasksSection { type PathStamp (line 107) | struct PathStamp { method capture (line 265) | fn capture(path: &Path) -> Option { method matches_current (line 281) | fn matches_current(&self) -> bool { function load_or_build_project_sections (line 115) | fn load_or_build_project_sections( function load_or_build_ai_tasks (line 172) | fn load_or_build_ai_tasks(root: &Path) -> Result bool { function snapshot_cache_path (line 209) | fn snapshot_cache_path(root: &Path) -> PathBuf { function read_cache_entry (line 216) | fn read_cache_entry(path: &Path) -> Option { function write_cache_entry (line 225) | fn write_cache_entry(path: &Path, cache: &SnapshotCacheEntry) -> Result<... function stamps_for_paths (line 250) | fn stamps_for_paths(paths: &[PathBuf]) -> Vec { function stamps_match (line 260) | fn stamps_match(stamps: &[PathStamp]) -> bool { function canonicalize_root (line 292) | pub fn canonicalize_root(root: &Path) -> Result { function resolve_project_root_from_current_dir (line 301) | pub fn resolve_project_root_from_current_dir(climb_to_flow_toml: bool) -... function resolve_project_root_from_config (line 306) | pub fn resolve_project_root_from_config( function is_default_flow_config (line 323) | pub fn is_default_flow_config(path: &Path) -> bool { function find_flow_toml_upwards (line 327) | pub fn find_flow_toml_upwards(start: &Path) -> Option { function resolve_project_root_from_start (line 340) | fn resolve_project_root_from_start(start: PathBuf, climb_to_flow_toml: b... type CurrentDirGuard (line 359) | struct CurrentDirGuard(std::path::PathBuf); method drop (line 362) | fn drop(&mut self) { function find_flow_toml_upwards_finds_nearest_ancestor (line 368) | fn find_flow_toml_upwards_finds_nearest_ancestor() { function resolve_project_root_from_absolute_config_uses_parent (line 380) | fn resolve_project_root_from_absolute_config_uses_parent() { function resolve_project_root_from_relative_config_uses_relative_parent (line 397) | fn resolve_project_root_from_relative_config_uses_relative_parent() { function path_stamp_detects_file_changes (line 418) | fn path_stamp_detects_file_changes() { FILE: src/projects.rs type ProjectEntry (line 13) | pub struct ProjectEntry { function register_project (line 21) | pub fn register_project(name: &str, config_path: &Path) -> Result<()> { function resolve_project (line 55) | pub fn resolve_project(name: &str) -> Result> { function list_projects (line 77) | pub fn list_projects() -> Result> { function show_projects (line 98) | pub fn show_projects() -> Result<()> { function format_age (line 115) | fn format_age(timestamp_ms: u128) -> String { function open_db (line 130) | fn open_db() -> Result { function create_schema (line 134) | fn create_schema(conn: &Connection) -> Result<()> { function active_project_path (line 153) | fn active_project_path() -> PathBuf { function set_active_project (line 161) | pub fn set_active_project(name: &str) -> Result<()> { function get_active_project (line 171) | pub fn get_active_project() -> Option { function clear_active_project (line 180) | pub fn clear_active_project() -> Result<()> { function handle_active (line 189) | pub fn handle_active(opts: ActiveOpts) -> Result<()> { FILE: src/proxy/mod.rs type ProxyConfig (line 29) | pub struct ProxyConfig { function default_listen (line 55) | fn default_listen() -> String { function default_trace_size (line 59) | fn default_trace_size() -> String { function default_true (line 63) | fn default_true() -> bool { function default_summary_interval (line 67) | fn default_summary_interval() -> String { function default_slow_threshold (line 71) | fn default_slow_threshold() -> u32 { type ProxyTargetConfig (line 77) | pub struct ProxyTargetConfig { function default_capture_max (line 109) | fn default_capture_max() -> String { function parse_size (line 114) | pub fn parse_size(s: &str) -> usize { function parse_duration (line 130) | pub fn parse_duration(s: &str) -> Duration { function start (line 144) | pub async fn start(config: ProxyConfig, targets: Vec)... function trace_last (line 233) | pub fn trace_last(count: usize) -> Result<()> { function truncate_path (line 281) | fn truncate_path(path: &str, max_len: usize) -> String { function test_parse_size (line 294) | fn test_parse_size() { function test_parse_duration (line 302) | fn test_parse_duration() { FILE: src/proxy/server.rs type Backend (line 24) | pub struct Backend { type ProxyRouter (line 31) | pub struct ProxyRouter { method new (line 43) | pub fn new(backends: Vec) -> Self { method add_host_route (line 52) | pub fn add_host_route(&mut self, host: String, backend_idx: usize) { method add_path_route (line 56) | pub fn add_path_route(&mut self, prefix: String, backend_idx: usize) { method route (line 60) | pub fn route(&self, host: Option<&str>, path: &str) -> Option<&Backend> { method backend_names (line 81) | pub fn backend_names(&self) -> Vec { type ProxyServer (line 87) | pub struct ProxyServer { method new (line 96) | pub fn new( method next_trace_id (line 116) | pub fn next_trace_id(&self) -> u128 { function proxy_handler (line 122) | async fn proxy_handler( function health_handler (line 264) | async fn health_handler(State(server): State>) -> Respo... function create_router (line 291) | pub fn create_router(server: Arc) -> Router { function run_server (line 299) | pub async fn run_server(addr: SocketAddr, server: Arc) -> R... FILE: src/proxy/summary.rs type ErrorSummary (line 18) | pub struct ErrorSummary { type SlowRequestSummary (line 34) | pub struct SlowRequestSummary { type TargetHealth (line 49) | pub struct TargetHealth { type SessionStats (line 63) | pub struct SessionStats { type TraceSummary (line 78) | pub struct TraceSummary { type SummaryState (line 89) | pub struct SummaryState { method new (line 98) | pub fn new(targets: Vec, slow_threshold_ms: u32) -> Self { method store_error_body (line 114) | pub fn store_error_body(&self, req_id: u64, body: String) { method get_error_body (line 129) | pub fn get_error_body(&self, req_id: u64) -> Option { method target_name (line 137) | pub fn target_name(&self, idx: u8) -> &str { function compute_summary (line 146) | pub fn compute_summary(buffer: &TraceBuffer, state: &SummaryState) -> Tr... function write_summary (line 342) | pub fn write_summary(summary: &TraceSummary, path: &PathBuf) -> std::io:... function default_summary_path (line 348) | pub fn default_summary_path() -> PathBuf { function format_timestamp (line 357) | fn format_timestamp(ts: u64) -> String { function format_relative_time (line 365) | fn format_relative_time(ts_ns: u64, start: Instant) -> String { function suggest_fix (line 387) | fn suggest_fix(record: &TraceRecord, error_body: Option<&str>) -> Option... type SummaryWriter (line 422) | pub struct SummaryWriter { method new (line 430) | pub fn new( method run (line 445) | pub fn run(&self) { method spawn (line 456) | pub fn spawn(self) -> std::thread::JoinHandle<()> { FILE: src/proxy/trace.rs constant TRACE_MAGIC (line 18) | const TRACE_MAGIC: &[u8; 8] = b"PROXYTRC"; constant TRACE_VERSION (line 19) | const TRACE_VERSION: u32 = 1; constant TRACE_PATH_BYTES (line 22) | const TRACE_PATH_BYTES: usize = 64; constant TRACE_RECORD_SIZE (line 23) | const TRACE_RECORD_SIZE: usize = 128; constant TRACE_HEADER_SIZE (line 24) | const TRACE_HEADER_SIZE: usize = 64; constant TRACE_DEFAULT_SIZE (line 25) | const TRACE_DEFAULT_SIZE: usize = 16 * 1024 * 1024; constant IDX_TS_NS (line 28) | const IDX_TS_NS: usize = 0; constant IDX_REQ_ID (line 29) | const IDX_REQ_ID: usize = 1; constant IDX_LATENCY_STATUS (line 30) | const IDX_LATENCY_STATUS: usize = 2; constant IDX_BYTES (line 31) | const IDX_BYTES: usize = 3; constant IDX_TARGET_PATH_LEN (line 32) | const IDX_TARGET_PATH_LEN: usize = 4; constant IDX_TRACE_ID_LOW (line 33) | const IDX_TRACE_ID_LOW: usize = 5; constant IDX_PATH_HASH (line 34) | const IDX_PATH_HASH: usize = 6; constant IDX_UPSTREAM_LATENCY (line 35) | const IDX_UPSTREAM_LATENCY: usize = 7; type Method (line 41) | pub enum Method { method from (line 55) | fn from(s: &str) -> Self { type TraceHeader (line 82) | struct TraceHeader { type TraceRecord (line 97) | pub struct TraceRecord { method new (line 103) | pub fn new() -> Self { method set_timestamp (line 111) | pub fn set_timestamp(&mut self, ts_ns: u64) { method set_req_id (line 116) | pub fn set_req_id(&mut self, req_id: u64) { method set_latency_status (line 121) | pub fn set_latency_status(&mut self, latency_us: u32, status: u16, met... method set_bytes (line 127) | pub fn set_bytes(&mut self, bytes_in: u32, bytes_out: u32) { method set_target_and_trace_id (line 132) | pub fn set_target_and_trace_id(&mut self, target_idx: u8, path_len: u8... method set_path_hash (line 142) | pub fn set_path_hash(&mut self, hash: u64) { method set_upstream_latency (line 147) | pub fn set_upstream_latency(&mut self, upstream_latency_us: u32) { method set_path (line 152) | pub fn set_path(&mut self, path: &str) { method timestamp (line 160) | pub fn timestamp(&self) -> u64 { method req_id (line 165) | pub fn req_id(&self) -> u64 { method latency_us (line 170) | pub fn latency_us(&self) -> u32 { method status (line 175) | pub fn status(&self) -> u16 { method method (line 180) | pub fn method(&self) -> Method { method flags (line 196) | pub fn flags(&self) -> u8 { method bytes_in (line 201) | pub fn bytes_in(&self) -> u32 { method bytes_out (line 206) | pub fn bytes_out(&self) -> u32 { method target_idx (line 211) | pub fn target_idx(&self) -> u8 { method path_len (line 216) | pub fn path_len(&self) -> u8 { method trace_id (line 221) | pub fn trace_id(&self) -> u128 { method path_hash (line 228) | pub fn path_hash(&self) -> u64 { method upstream_latency_us (line 233) | pub fn upstream_latency_us(&self) -> u32 { method path (line 238) | pub fn path(&self) -> &str { method is_error (line 245) | pub fn is_error(&self) -> bool { method is_slow (line 251) | pub fn is_slow(&self, threshold_ms: u32) -> bool { method default (line 257) | fn default() -> Self { type TraceBuffer (line 263) | pub struct TraceBuffer { method init (line 278) | pub fn init(dir: &PathBuf, size: usize) -> Option { method record (line 360) | pub fn record(&self, record: &TraceRecord) { method next_req_id (line 369) | pub fn next_req_id(&self) -> u64 { method write_index (line 375) | pub fn write_index(&self) -> u64 { method capacity (line 381) | pub fn capacity(&self) -> u64 { method read (line 387) | pub fn read(&self, idx: u64) -> TraceRecord { method recent (line 394) | pub fn recent(&self, count: usize) -> Vec { method filter (line 408) | pub fn filter(&self, count: usize, predicate: F) -> Vec method start_time (line 431) | pub fn start_time(&self) -> Instant { method drop (line 437) | fn drop(&mut self) { function init_global (line 448) | pub fn init_global(dir: PathBuf, size: usize) -> bool { function global (line 455) | pub fn global() -> Option<&'static TraceBuffer> { function record (line 461) | pub fn record(record: &TraceRecord) { function next_req_id (line 469) | pub fn next_req_id() -> u64 { function now_ns (line 474) | pub fn now_ns() -> u64 { function hash_path (line 488) | pub fn hash_path(path: &str) -> u64 { function set_file_len (line 498) | fn set_file_len(file: &std::fs::File, size: usize) -> std::io::Result<()> { function default_trace_dir (line 509) | pub fn default_trace_dir() -> PathBuf { function default_trace_size (line 517) | pub fn default_trace_size() -> usize { function test_record_roundtrip (line 526) | fn test_record_roundtrip() { FILE: src/publish.rs function parse_github_repo (line 19) | fn parse_github_repo(url: &str) -> Result<(String, String, String)> { function run (line 56) | pub fn run(cmd: PublishCommand) -> Result<()> { function run_fuzzy_select (line 65) | fn run_fuzzy_select() -> Result<()> { function run_github (line 111) | pub fn run_github(opts: PublishOpts) -> Result<()> { constant MAX_GITEDIT_FILE_BYTES (line 374) | const MAX_GITEDIT_FILE_BYTES: u64 = 512 * 1024; constant MAX_GITEDIT_TOTAL_BYTES (line 375) | const MAX_GITEDIT_TOTAL_BYTES: u64 = 8 * 1024 * 1024; constant MAX_GITEDIT_FILES (line 376) | const MAX_GITEDIT_FILES: usize = 4000; type RepoSnapshot (line 380) | struct RepoSnapshot { type RepoMeta (line 389) | struct RepoMeta { type RepoTreeEntry (line 397) | struct RepoTreeEntry { type RepoFileEntry (line 407) | struct RepoFileEntry { type RepoReadme (line 417) | struct RepoReadme { type GiteditSyncPayload (line 424) | struct GiteditSyncPayload { function run_gitedit (line 440) | fn run_gitedit(opts: PublishOpts) -> Result<()> { function resolve_repo_name (line 539) | fn resolve_repo_name(opts: &PublishOpts, fallback: &str) -> Result (Option, Option String { function gitedit_token (line 641) | fn gitedit_token(repo_root: &Path) -> Option { function find_flow_toml (line 659) | fn find_flow_toml(start: &Path) -> Option { function git_root (line 672) | fn git_root() -> Result { function ensure_git_repo (line 684) | fn ensure_git_repo(repo_root: &Path) -> Result<()> { function git_capture_in (line 718) | fn git_capture_in(repo_root: &Path, args: &[&str]) -> Result { function build_repo_snapshot (line 730) | fn build_repo_snapshot( function read_blob_content (line 842) | fn read_blob_content( function is_readme_path (line 867) | fn is_readme_path(path: &str) -> bool { function sanitize_slug (line 874) | fn sanitize_slug(value: &str) -> String { function prompt_public_choice (line 897) | fn prompt_public_choice() -> Result { function prompt_push_choice (line 918) | fn prompt_push_choice() -> Result { function read_yes_no_key (line 936) | fn read_yes_no_key(default_yes: bool) -> Result { function push_to_origin (line 974) | fn push_to_origin() -> Result<()> { FILE: src/push.rs function run (line 9) | pub fn run(cmd: PushCommand) -> Result<()> { function resolve_push_owner (line 60) | fn resolve_push_owner(cli: Option<&str>) -> Result { function resolve_fork_owner (line 74) | pub(crate) fn resolve_fork_owner(config_owner: Option<&str>) -> Result String { function build_github_https_url (line 163) | fn build_github_https_url(owner: &str, repo: &str) -> String { function choose_github_remote_url (line 169) | fn choose_github_remote_url(owner: &str, repo: &str, cmd: &PushCommand) ... function parse_github_owner_repo (line 204) | pub(crate) fn parse_github_owner_repo(url: &str) -> Option<(String, Stri... function ensure_remote_points_to_target (line 225) | pub(crate) fn ensure_remote_points_to_target( function ensure_github_repo_exists (line 265) | pub(crate) fn ensure_github_repo_exists(owner: &str, repo: &str) -> Resu... function normalize_git_url (line 294) | pub(crate) fn normalize_git_url(url: &str) -> String { function git_root (line 306) | fn git_root() -> Result { function current_branch (line 318) | fn current_branch(repo_root: &Path) -> Result { function git_capture_in (line 334) | pub(crate) fn git_capture_in(repo_root: &Path, args: &[&str]) -> Result<... function git_run_in (line 346) | pub(crate) fn git_run_in(repo_root: &Path, args: &[&str]) -> Result<()> { FILE: src/recipe.rs constant ENV_GLOBAL_RECIPE_DIR (line 16) | const ENV_GLOBAL_RECIPE_DIR: &str = "FLOW_RECIPES_GLOBAL_DIR"; type Scope (line 19) | enum Scope { method as_str (line 25) | fn as_str(self) -> &'static str { type Recipe (line 34) | struct Recipe { type RecipeRunner (line 45) | enum RecipeRunner { type Frontmatter (line 51) | struct Frontmatter { function run (line 57) | pub fn run(cmd: RecipeCommand) -> Result<()> { function list_recipes (line 73) | fn list_recipes(opts: RecipeListOpts) -> Result<()> { function search_recipes (line 101) | fn search_recipes(opts: RecipeSearchOpts) -> Result<()> { function run_recipe (line 119) | fn run_recipe(opts: RecipeRunOpts) -> Result<()> { function init_recipes (line 184) | fn init_recipes(opts: RecipeInitOpts) -> Result<()> { function load_recipes (line 234) | fn load_recipes(scope: RecipeScopeArg, global_dir_override: Option<&str>... function collect_recipe_files (line 278) | fn collect_recipe_files(root: &Path) -> Result> { function collect_recipe_files_recursive (line 285) | fn collect_recipe_files_recursive(dir: &Path, out: &mut Vec) ->... function parse_recipe (line 311) | fn parse_recipe(scope: Scope, root: &Path, path: &Path) -> Result Resu... function parse_moonbit_recipe (line 367) | fn parse_moonbit_recipe(scope: Scope, root: &Path, path: &Path) -> Resul... function parse_moonbit_metadata (line 401) | fn parse_moonbit_metadata(content: &str) -> Frontmatter { function parse_frontmatter (line 428) | fn parse_frontmatter(content: &str) -> (Frontmatter, &str) { function parse_tags (line 460) | fn parse_tags(value: &str) -> Vec { function strip_quotes (line 476) | fn strip_quotes(value: &str) -> String { function extract_first_heading (line 489) | fn extract_first_heading(body: &str) -> Option { function extract_description (line 502) | fn extract_description(body: &str) -> Option { function extract_first_shell_block (line 518) | fn extract_first_shell_block(body: &str) -> Option<(String, String)> { function is_shell_lang (line 564) | fn is_shell_lang(lang: &str) -> bool { function normalize_shell_lang (line 568) | fn normalize_shell_lang(lang: &str) -> String { function resolve_shell_bin (line 577) | fn resolve_shell_bin(shell: &str) -> String { function filter_recipes (line 594) | fn filter_recipes(recipes: Vec, query: Option<&str>) -> Vec(recipes: &'a [Recipe], selector: &str) -> Result<&'... function ambiguous_selector_error (line 657) | fn ambiguous_selector_error(selector: &str, matches: &[&Recipe]) -> Resu... function resolve_cwd (line 665) | fn resolve_cwd(cwd: Option<&str>) -> Result { function detect_project_root (line 672) | fn detect_project_root() -> Result { function resolve_global_dir (line 687) | fn resolve_global_dir(project_root: &Path, override_dir: Option<&str>) -... function resolve_global_dir_with_env (line 692) | fn resolve_global_dir_with_env( function expand_tilde (line 708) | fn expand_tilde(path: &str) -> PathBuf { function ensure_dir (line 712) | fn ensure_dir(dir: &Path, created: &mut Vec) -> Result<()> { function write_starter_recipe (line 721) | fn write_starter_recipe(path: &Path, content: &str, created: &mut Vec Result<()> { function init (line 55) | pub fn init(opts: RegistryInitOpts) -> Result<()> { function publish (line 108) | pub fn publish(config_path: &Path, cfg: &Config, opts: RegistryReleaseOp... function install (line 215) | pub fn install(opts: InstallOpts) -> Result<()> { function resolve_registry_url (line 278) | fn resolve_registry_url( function load_global_registry_config (line 290) | fn load_global_registry_config() -> Option { function resolve_package_name (line 299) | fn resolve_package_name( function resolve_bins (line 321) | fn resolve_bins( function resolve_default_bin (line 335) | fn resolve_default_bin( function resolve_latest_flag (line 349) | fn resolve_latest_flag( function resolve_registry_version (line 363) | fn resolve_registry_version( function calver_version (line 384) | fn calver_version(cfg: &Config, registry_url: &str, package: &str) -> St... function fetch_registry_versions (line 420) | fn fetch_registry_versions(registry_url: &str, package: &str) -> Result<... function fetch_manifest (line 438) | fn fetch_manifest( function resolve_install_bin (line 461) | fn resolve_install_bin( function resolve_download_url (line 485) | fn resolve_download_url(base: &str, path: &str) -> String { function resolve_registry_token (line 496) | fn resolve_registry_token(token_env: &str) -> Result { function generate_registry_token (line 512) | fn generate_registry_token() -> String { function resolve_worker_path (line 518) | fn resolve_worker_path(explicit: Option<&PathBuf>, project_root: &Path) ... function has_wrangler_config (line 538) | fn has_wrangler_config(path: &Path) -> bool { function set_worker_secret (line 544) | fn set_worker_secret(worker_path: &Path, token: &str) -> Result<()> { function find_flow_toml (line 578) | fn find_flow_toml(start: &Path) -> Option { function build_binaries (line 591) | fn build_binaries(project_root: &Path, bins: &[String]) -> Result<()> { function detect_target_triple (line 607) | fn detect_target_triple() -> Result { function sha256_file (line 629) | fn sha256_file(path: &Path) -> Result { function sha256_bytes (line 634) | fn sha256_bytes(bytes: &[u8]) -> String { function default_bin_dir (line 641) | fn default_bin_dir() -> PathBuf { function persist_with_permissions (line 653) | fn persist_with_permissions(temp: NamedTempFile, dest: &Path) -> Result<... function path_in_env (line 667) | fn path_in_env(bin_dir: &Path) -> bool { function resolves_relative_download_url (line 677) | fn resolves_relative_download_url() { function resolves_default_bin_from_manifest (line 683) | fn resolves_default_bin_from_manifest() { FILE: src/release.rs function available_tasks (line 11) | fn available_tasks(cfg: &crate::config::Config) -> String { function resolve_release_task (line 17) | fn resolve_release_task(cfg: &crate::config::Config) -> Result { function run (line 47) | pub fn run(cmd: ReleaseCommand) -> Result<()> { function run_task (line 70) | pub fn run_task(opts: ReleaseOpts) -> Result<()> { function run_default (line 84) | fn run_default(config_path: &Path, cfg: &Config) -> Result<()> { FILE: src/release_signing.rs constant SIGNING_KEYS (line 17) | const SIGNING_KEYS: [&str; 3] = [ function run (line 23) | pub fn run(cmd: ReleaseSigningCommand) -> Result<()> { function status (line 31) | fn status() -> Result<()> { function list_codesign_identities (line 103) | fn list_codesign_identities() -> Result> { function store (line 127) | fn store(opts: ReleaseSigningStoreOpts) -> Result<()> { function sync (line 171) | fn sync(opts: ReleaseSigningSyncOpts) -> Result<()> { function ensure_gh_available (line 217) | fn ensure_gh_available() -> Result<()> { function gh_secret_set (line 230) | fn gh_secret_set(repo: Option<&str>, name: &str, value: &str) -> Result<... FILE: src/repo_capsule.rs constant DEFAULT_STORE_DIR (line 12) | const DEFAULT_STORE_DIR: &str = "~/repos/garden-co/jazz2/.jazz2/flow-rep... constant STORE_DIR_ENV (line 13) | const STORE_DIR_ENV: &str = "FLOW_REPO_CAPSULE_STORE"; constant CAPSULE_VERSION (line 14) | const CAPSULE_VERSION: u32 = 1; constant REGISTRY_FILE (line 15) | const REGISTRY_FILE: &str = "repo-aliases.json"; constant DEFAULT_SHELF_CONFIG (line 16) | const DEFAULT_SHELF_CONFIG: &str = "~/.agents/shelf/config.json"; type RepoCapsule (line 19) | pub struct RepoCapsule { type PathStamp (line 36) | struct PathStamp { type RepoCapsuleReference (line 45) | pub struct RepoCapsuleReference { type RepoAliasEntry (line 52) | pub struct RepoAliasEntry { type RepoAliasRegistry (line 60) | struct RepoAliasRegistry { type RepoAliasImportSummary (line 66) | struct RepoAliasImportSummary { type ShelfConfigFile (line 73) | struct ShelfConfigFile { type ShelfRepoEntry (line 79) | struct ShelfRepoEntry { function run_capsule (line 83) | pub fn run_capsule(opts: RepoCapsuleOpts) -> Result<()> { function run_alias (line 99) | pub fn run_alias(cmd: RepoAliasCommand) -> Result<()> { function load_or_refresh_capsule_for_path (line 143) | pub fn load_or_refresh_capsule_for_path(path: &Path) -> Result Result { function list_aliases (line 153) | pub fn list_aliases() -> Result> { function set_alias (line 159) | pub fn set_alias(alias: &str, path: &str, source: &str) -> Result Result<()> { function import_shelf_aliases (line 194) | fn import_shelf_aliases(config_path: Option<&str>) -> Result Re... function refresh_capsule_for_root (line 278) | fn refresh_capsule_for_root(store_dir: &Path, root: &Path) -> Result) -> Result { function resolve_reference_root (line 292) | fn resolve_reference_root(path: &Path) -> Result { function resolve_candidate_root (line 299) | fn resolve_candidate_root(target_path: &Path, candidate: &str) -> Option... function resolve_reference_candidate_root (line 321) | fn resolve_reference_candidate_root( function alias_reference_allowed (line 344) | fn alias_reference_allowed(query_text: &str, alias: &str) -> bool { function normalize_alias (line 362) | fn normalize_alias(value: &str) -> String { function detect_reference_root (line 366) | fn detect_reference_root(path: &Path) -> Option { function looks_like_local_path (line 386) | fn looks_like_local_path(candidate: &str) -> bool { function find_git_root (line 394) | fn find_git_root(start: &Path) -> Option { function build_capsule (line 411) | fn build_capsule(root: &Path) -> Result { function build_summary (line 450) | fn build_summary( function detect_manifests (line 489) | fn detect_manifests(root: &Path) -> Vec { function detect_languages (line 515) | fn detect_languages(root: &Path, manifests: &[String]) -> Vec { function detect_commands (line 544) | fn detect_commands(root: &Path, manifests: &[String]) -> Vec { function read_flow_task_names (line 582) | fn read_flow_task_names(path: &Path) -> Vec { function read_package_scripts (line 602) | fn read_package_scripts(path: &Path) -> Vec { function detect_important_paths (line 628) | fn detect_important_paths(root: &Path) -> Vec { function detect_docs_hints (line 654) | fn detect_docs_hints(root: &Path) -> Vec { function read_text_hint (line 678) | fn read_text_hint(path: &Path, label: &str) -> Option { function read_docs_index_hint (line 715) | fn read_docs_index_hint(docs_dir: &Path) -> Option { function collect_watched_stamps (line 743) | fn collect_watched_stamps(root: &Path) -> Vec { function watched_paths (line 750) | fn watched_paths(root: &Path) -> Vec { function stamp_path (line 777) | fn stamp_path(path: &Path) -> PathStamp { function capsule_is_fresh (line 797) | fn capsule_is_fresh(capsule: &RepoCapsule) -> bool { function render_reference_output (line 804) | fn render_reference_output(capsule: &RepoCapsule, matched: &str) -> Stri... function render_capsule_report (line 844) | fn render_capsule_report(capsule: &RepoCapsule) -> String { function infer_repo_id (line 876) | fn infer_repo_id(root: &Path, origin_url: Option<&str>) -> String { function parse_repo_id_from_remote (line 897) | fn parse_repo_id_from_remote(remote: &str) -> Option { function read_origin_url (line 911) | fn read_origin_url(root: &Path) -> Option { function resolve_git_dir (line 918) | fn resolve_git_dir(root: &Path) -> Option { function resolve_common_git_dir (line 934) | fn resolve_common_git_dir(git_dir: &Path) -> PathBuf { function parse_git_remote_url (line 952) | fn parse_git_remote_url(config_path: &Path, remote_name: &str) -> Option... function parse_remote_section (line 975) | fn parse_remote_section(section: &str) -> Option { function dedupe_preserving_order (line 986) | fn dedupe_preserving_order(values: Vec) -> Vec { function trim_chars (line 997) | fn trim_chars(value: &str, limit: usize) -> String { function storage_dir (line 1005) | fn storage_dir() -> PathBuf { function registry_path (line 1012) | fn registry_path(store_dir: &Path) -> PathBuf { function load_alias_registry (line 1016) | fn load_alias_registry(store_dir: &Path) -> Result { function save_alias_registry (line 1030) | fn save_alias_registry(store_dir: &Path, registry: &RepoAliasRegistry) -... function now_unix (line 1038) | fn now_unix() -> u64 { function save_capsule (line 1045) | fn save_capsule(store_dir: &Path, capsule: &RepoCapsule) -> Result<()> { function load_capsule (line 1053) | fn load_capsule(store_dir: &Path, root: &Path) -> Result PathBuf { function build_capsule_captures_repo_shape (line 1080) | fn build_capsule_captures_repo_shape() { function load_or_refresh_capsule_reuses_fresh_store (line 1124) | fn load_or_refresh_capsule_reuses_fresh_store() { function resolve_reference_candidates_finds_repo_paths (line 1139) | fn resolve_reference_candidates_finds_repo_paths() { function resolve_reference_candidates_finds_registered_aliases (line 1163) | fn resolve_reference_candidates_finds_registered_aliases() { function import_shelf_aliases_loads_sibling_repos_dir (line 1201) | fn import_shelf_aliases_loads_sibling_repos_dir() { function resolve_reference_candidates_with_store (line 1225) | fn resolve_reference_candidates_with_store( FILE: src/repos.rs constant DEFAULT_REPOS_ROOT (line 17) | const DEFAULT_REPOS_ROOT: &str = "~/repos"; constant REPOS_ROOT_OVERRIDE_ENV (line 18) | const REPOS_ROOT_OVERRIDE_ENV: &str = "FLOW_REPOS_ALLOW_ROOT_OVERRIDE"; function run (line 21) | pub fn run(cmd: ReposCommand) -> Result<()> { function clone_git_like (line 36) | pub fn clone_git_like(opts: CloneOpts) -> Result<()> { function open_in_zed (line 72) | fn open_in_zed(path: &std::path::Path) -> Result<()> { function fuzzy_select_repo (line 82) | fn fuzzy_select_repo() -> Result<()> { type RepoEntry (line 113) | struct RepoEntry { function discover_repos (line 119) | fn discover_repos(root: &Path) -> Result> { function run_fzf (line 178) | fn run_fzf(entries: &[RepoEntry]) -> Result> { type RepoRef (line 210) | pub(crate) struct RepoRef { type RepoInfo (line 216) | struct RepoInfo { type RepoParent (line 223) | struct RepoParent { type RepoTarget (line 231) | enum RepoTarget { type GenericRepoRef (line 237) | struct GenericRepoRef { function clone_repo (line 242) | pub(crate) fn clone_repo(opts: ReposCloneOpts) -> Result { function preflight_clone_target (line 364) | fn preflight_clone_target(target_dir: &Path) -> Result { type CloneTargetState (line 376) | enum CloneTargetState { function clone_target_state (line 383) | fn clone_target_state(path: &Path) -> Result { function init_jj_repo (line 405) | fn init_jj_repo(repo_dir: &Path) -> Result<()> { function jj_default_remote (line 445) | fn jj_default_remote(repo_dir: &Path) -> String { function jj_auto_track (line 454) | fn jj_auto_track(repo_dir: &Path) -> bool { function jj_default_branch (line 460) | fn jj_default_branch(repo_dir: &Path) -> String { function git_ref_exists (line 479) | fn git_ref_exists(repo_dir: &Path, reference: &str) -> bool { function load_jj_config (line 490) | fn load_jj_config(repo_dir: &Path) -> Option { function parse_repo_target (line 512) | fn parse_repo_target(input: &str) -> Result { function resolve_git_like_clone_url (line 521) | fn resolve_git_like_clone_url(input: &str) -> Result { function looks_like_github_shorthand (line 541) | fn looks_like_github_shorthand(input: &str) -> bool { function is_github_input (line 570) | fn is_github_input(input: &str) -> bool { function parse_generic_repo (line 578) | fn parse_generic_repo(input: &str) -> Result { function parse_github_repo (line 623) | pub(crate) fn parse_github_repo(input: &str) -> Result { function normalize_root (line 663) | pub(crate) fn normalize_root(raw: &str) -> Result { function repos_root_override_enabled (line 684) | fn repos_root_override_enabled() -> bool { function run_git_clone (line 694) | fn run_git_clone(url: &str, target_dir: &Path, shallow: bool) -> Result<... function resolve_upstream_url (line 716) | fn resolve_upstream_url(repo_ref: &RepoRef, prefer_ssh: bool) -> Result<... function configure_upstream (line 761) | fn configure_upstream(repo_dir: &Path, upstream_url: &str, depth: Option... function spawn_background_history_fetch (line 777) | fn spawn_background_history_fetch(repo_dir: &Path, has_upstream: bool) -... function preflight_clone_target_detects_git_checkout (line 804) | fn preflight_clone_target_detects_git_checkout() { function preflight_clone_target_allows_empty_dir (line 814) | fn preflight_clone_target_allows_empty_dir() { function preflight_clone_target_rejects_non_repo_dir (line 823) | fn preflight_clone_target_rejects_non_repo_dir() { FILE: src/reviews_todo.rs function run (line 11) | pub fn run(cmd: ReviewsTodoCommand) -> Result<()> { function list_review_todos (line 35) | fn list_review_todos() -> Result<()> { function show_review_todo (line 81) | fn show_review_todo(id: &str) -> Result<()> { function done_review_todo (line 121) | fn done_review_todo(id: &str) -> Result<()> { function fix_review_todos (line 165) | fn fix_review_todos(id: Option<&str>, all: bool) -> Result<()> { function fix_single_todo (line 206) | fn fix_single_todo(root: &Path, item: &todo::TodoItem) -> Result<()> { FILE: src/rl_signals.rs constant DEFAULT_SIGNAL_PATH (line 16) | const DEFAULT_SIGNAL_PATH: &str = "out/logs/flow_rl_signals.jsonl"; constant DEFAULT_QUEUE_CAPACITY (line 17) | const DEFAULT_QUEUE_CAPACITY: usize = 8192; type SignalSink (line 19) | struct SignalSink { method from_env (line 94) | fn from_env() -> Self { function emit (line 32) | pub fn emit(mut payload: Value) { function stats (line 77) | pub fn stats() -> Value { function env_enabled (line 161) | fn env_enabled() -> bool { function signal_path (line 169) | fn signal_path() -> PathBuf { function seq_mirror_enabled_from_env (line 177) | fn seq_mirror_enabled_from_env() -> bool { function seq_mirror_path (line 185) | fn seq_mirror_path() -> PathBuf { function default_seq_mirror_path (line 194) | fn default_seq_mirror_path() -> PathBuf { function expand_tilde_path (line 198) | fn expand_tilde_path(value: &str) -> PathBuf { function writer_loop (line 212) | fn writer_loop(path: PathBuf, rx: Receiver, flush_every: usize) { function flush_every (line 239) | fn flush_every() -> usize { function now_unix_ms (line 247) | fn now_unix_ms() -> u64 { function payload_to_seq_router_row (line 254) | fn payload_to_seq_router_row(payload: &Value) -> Option { function attrs_to_object (line 295) | pub fn attrs_to_object(attrs: Vec<(String, String)>) -> Map PathBuf { function open_running_db (line 47) | fn open_running_db(path: &Path) -> Result { function read_processes (line 84) | fn read_processes(conn: &Connection, config_path: Option<&Path>) -> Resu... function row_to_running_process (line 124) | fn row_to_running_process(row: &rusqlite::Row<'_>) -> rusqlite::Result Result<()> { function collect_alive_processes (line 161) | fn collect_alive_processes( function load_running_processes_at (line 181) | fn load_running_processes_at(path: &Path) -> Result { function register_process_at (line 194) | fn register_process_at(path: &Path, entry: RunningProcess) -> Result<()> { function unregister_process_at (line 231) | fn unregister_process_at(path: &Path, pid: u32) -> Result<()> { function get_project_processes_at (line 238) | fn get_project_processes_at(path: &Path, config_path: &Path) -> Result Result { function register_process (line 249) | pub fn register_process(entry: RunningProcess) -> Result<()> { function unregister_process (line 254) | pub fn unregister_process(pid: u32) -> Result<()> { function get_project_processes (line 259) | pub fn get_project_processes(config_path: &Path) -> Result bool { function get_pgid (line 293) | pub fn get_pgid(pid: u32) -> Option { function get_pgid (line 299) | pub fn get_pgid(pid: u32) -> Option { function now_ms (line 304) | pub fn now_ms() -> u128 { function sample_process (line 316) | fn sample_process(pid: u32, root: &Path) -> RunningProcess { function register_load_and_unregister_round_trip (line 331) | fn register_load_and_unregister_round_trip() { function stale_processes_are_removed_on_read (line 354) | fn stale_processes_are_removed_on_read() { FILE: src/screen.rs type ScreenBroadcaster (line 16) | pub struct ScreenBroadcaster { method with_mock_stream (line 42) | pub fn with_mock_stream(buffer: usize, fps: u8) -> Self { method new (line 48) | pub fn new(buffer: usize) -> Self { method subscribe (line 56) | pub fn subscribe(&self) -> broadcast::Receiver { method latest (line 60) | pub async fn latest(&self) -> Option { method spawn_mock_stream (line 64) | fn spawn_mock_stream(&self, fps: u8) { method publish (line 88) | async fn publish(&self, frame: ScreenFrame) { type ScreenFrame (line 22) | pub struct ScreenFrame { method fmt (line 30) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function preview (line 99) | pub async fn preview(opts: ScreenOpts) -> Result<()> { function current_epoch_ms (line 115) | fn current_epoch_ms() -> u128 { function build_ascii_frame (line 122) | fn build_ascii_frame(frame: u64) -> String { FILE: src/sealer_crypto.rs constant SECRET_PREFIX (line 10) | const SECRET_PREFIX: &str = "sealerSecret_z"; constant ID_PREFIX (line 11) | const ID_PREFIX: &str = "sealer_z"; function new_x25519_private_key (line 13) | pub fn new_x25519_private_key() -> Vec { function get_sealer_id (line 21) | pub fn get_sealer_id(secret: &str) -> Result { function seal (line 41) | pub fn seal( function unseal (line 60) | pub fn unseal( function decode_secret (line 79) | fn decode_secret(value: &str) -> Result<[u8; 32]> { function decode_id (line 92) | fn decode_id(value: &str) -> Result<[u8; 32]> { function derive_nonce (line 105) | fn derive_nonce(nonce_material: &[u8]) -> [u8; 24] { FILE: src/secret_redact.rs constant REDACTED (line 7) | const REDACTED: &str = "[REDACTED]"; function redact_text (line 9) | pub fn redact_text(input: &str) -> String { function redact_json_value (line 79) | pub fn redact_json_value(value: &mut Value) { function should_keep_assignment_value (line 104) | fn should_keep_assignment_value(value: &str) -> bool { function looks_like_secretish_token (line 122) | fn looks_like_secretish_token(token: &str) -> bool { function is_sensitive_key (line 153) | fn is_sensitive_key(raw_key: &str) -> bool { function shannon_entropy (line 178) | fn shannon_entropy(input: &str) -> f64 { function url_credentials_regex (line 198) | fn url_credentials_regex() -> &'static Regex { function bearer_regex (line 206) | fn bearer_regex() -> &'static Regex { function quoted_assignment_regex (line 214) | fn quoted_assignment_regex() -> &'static Regex { function unquoted_assignment_regex (line 224) | fn unquoted_assignment_regex() -> &'static Regex { function known_token_regex (line 234) | fn known_token_regex() -> &'static Regex { function generic_token_regex (line 244) | fn generic_token_regex() -> &'static Regex { function test_token (line 257) | fn test_token() -> String { function redacts_bearer_and_assignments (line 262) | fn redacts_bearer_and_assignments() { function redacts_url_credentials (line 272) | fn redacts_url_credentials() { function redacts_json_values_recursively (line 279) | fn redacts_json_values_recursively() { FILE: src/secrets.rs function run (line 15) | pub fn run(cmd: SecretsCommand) -> Result<()> { function list (line 22) | fn list(opts: SecretsListOpts) -> Result<()> { function pull (line 67) | fn pull(opts: SecretsPullOpts) -> Result<()> { function fetch_remote_secrets (line 104) | fn fetch_remote_secrets( function order_variables (line 156) | fn order_variables( function render_secrets (line 175) | fn render_secrets(vars: &[(String, String)], format: SecretsFormat) -> S... function shell_quote (line 190) | fn shell_quote(value: &str) -> String { function dotenv_quote (line 204) | fn dotenv_quote(value: &str) -> String { function write_output (line 215) | fn write_output(path: &Path, contents: &str) -> Result<()> { function load_config (line 227) | fn load_config(path: PathBuf) -> Result<(PathBuf, Config)> { function resolve_path (line 238) | fn resolve_path(path: PathBuf) -> Result { function fixture_path (line 252) | fn fixture_path(relative: &str) -> PathBuf { type EnvVarGuard (line 256) | struct EnvVarGuard { method set (line 262) | fn set(key: &str, value: &str) -> Self { method drop (line 275) | fn drop(&mut self) { function project_config_fixture_is_loadable_and_fetches_mocked_secrets (line 289) | fn project_config_fixture_is_loadable_and_fetches_mocked_secrets() { FILE: src/seq_client.rs type RpcRequest (line 10) | pub struct RpcRequest { method new (line 23) | pub fn new(op: impl Into) -> Self { type RpcResponse (line 35) | pub struct RpcResponse { type SeqClient (line 55) | pub struct SeqClient { method connect_with_timeout (line 62) | pub fn connect_with_timeout(socket_path: impl AsRef, timeout: Du... method call (line 78) | pub fn call(&mut self, req: &RpcRequest) -> Result { method connect_with_timeout (line 114) | pub fn connect_with_timeout( method call (line 121) | pub fn call(&mut self, _req: &RpcRequest) -> Result { type SeqClient (line 110) | pub struct SeqClient; method connect_with_timeout (line 62) | pub fn connect_with_timeout(socket_path: impl AsRef, timeout: Du... method call (line 78) | pub fn call(&mut self, req: &RpcRequest) -> Result { method connect_with_timeout (line 114) | pub fn connect_with_timeout( method call (line 121) | pub fn call(&mut self, _req: &RpcRequest) -> Result { function rpc_roundtrip_line_delimited (line 136) | fn rpc_roundtrip_line_delimited() -> Result<()> { FILE: src/seq_rpc.rs function run (line 13) | pub fn run(cmd: SeqRpcCommand) -> Result<()> { function resolve_socket_path (line 38) | fn resolve_socket_path(cli_socket: Option) -> PathBuf { function build_request (line 55) | fn build_request(action: SeqRpcAction) -> Result { function build_open_app (line 67) | fn build_open_app(op: &str, opts: SeqRpcOpenAppOpts) -> RpcRequest { function build_screenshot (line 73) | fn build_screenshot(opts: SeqRpcScreenshotOpts) -> RpcRequest { function build_raw (line 79) | fn build_raw(opts: SeqRpcRawOpts) -> Result { function with_ids (line 89) | fn with_ids(mut req: RpcRequest, ids: SeqRpcIdOpts) -> RpcRequest { FILE: src/server.rs constant LOG_BUFFER_CAPACITY (line 45) | const LOG_BUFFER_CAPACITY: usize = 2048; type ServerStore (line 47) | type ServerStore = Arc>>>; type ProcessSnapshot (line 51) | struct ProcessSnapshot { type AppState (line 64) | struct AppState { type DynSseStream (line 69) | type DynSseStream = dyn Stream Result<()> { function health (line 173) | async fn health() -> impl IntoResponse { type CodexSkillsQuery (line 181) | struct CodexSkillsQuery { type CodexEvalQuery (line 188) | struct CodexEvalQuery { type CodexSkillsSyncRequest (line 196) | struct CodexSkillsSyncRequest { type CodexSkillsReloadRequest (line 206) | struct CodexSkillsReloadRequest { type CodexResolveRequest (line 212) | struct CodexResolveRequest { function default_codex_skills_limit (line 219) | fn default_codex_skills_limit() -> usize { function default_codex_eval_limit (line 223) | fn default_codex_eval_limit() -> usize { function resolve_codex_skills_target (line 227) | fn resolve_codex_skills_target(path: Option<&str>) -> PathBuf { function codex_skills (line 240) | async fn codex_skills(Query(query): Query) -> impl Int... function codex_eval (line 263) | async fn codex_eval(Query(query): Query) -> impl IntoRes... function codex_resolve (line 284) | async fn codex_resolve(AxumJson(payload): AxumJson)... function codex_skills_sync (line 305) | async fn codex_skills_sync(AxumJson(payload): AxumJson impl IntoResponse { function daemon_start (line 377) | async fn daemon_start(AxumPath(name): AxumPath) -> impl IntoResp... function daemon_stop (line 381) | async fn daemon_stop(AxumPath(name): AxumPath) -> impl IntoRespo... function daemon_restart (line 385) | async fn daemon_restart(AxumPath(name): AxumPath) -> impl IntoRe... function daemon_action_response (line 389) | async fn daemon_action_response( function screen_latest (line 413) | async fn screen_latest(State(state): State) -> impl IntoRespon... function screen_stream (line 420) | async fn screen_stream( function servers_list (line 446) | async fn servers_list(State(state): State) -> impl IntoResponse { type LogsQuery (line 459) | struct LogsQuery { function default_logs_limit (line 464) | fn default_logs_limit() -> usize { function server_logs (line 468) | async fn server_logs( function all_logs (line 491) | async fn all_logs( function server_logs_stream (line 514) | async fn server_logs_stream( function processes_list (line 575) | async fn processes_list(State(state): State) -> impl IntoRespo... function process_start (line 672) | async fn process_start( function process_stop (line 715) | async fn process_stop( function process_restart (line 758) | async fn process_restart( function process_logs_stream (line 803) | async fn process_logs_stream( function find_process_log_path (line 896) | async fn find_process_log_path(name: &str) -> Option { function reload_config (line 920) | async fn reload_config(path: &Path, servers: &ServerStore) -> Result<()> { function sync_servers (line 939) | async fn sync_servers(store: &ServerStore, configs: Vec) { function spawn_config_watcher (line 1000) | fn spawn_config_watcher(path: &Path, tx: mpsc::Sender<()>) -> notify::Re... function same_file (line 1041) | fn same_file(a: &Path, b: &Path) -> bool { function shutdown_signal (line 1056) | async fn shutdown_signal() { type IngestRequest (line 1069) | enum IngestRequest { function logs_ingest (line 1075) | async fn logs_ingest(Json(payload): Json) -> impl IntoRes... function logs_query (line 1117) | async fn logs_query(Query(query): Query) -> impl IntoResponse { FILE: src/servers.rs type LogStream (line 20) | pub enum LogStream { type LogLine (line 27) | pub struct LogLine { type ProcessState (line 39) | enum ProcessState { type ServerControl (line 48) | enum ServerControl { type ServerSnapshot (line 54) | pub struct ServerSnapshot { type ManagedServer (line 68) | pub struct ManagedServer { method new (line 78) | pub fn new(cfg: ServerConfig, log_buffer_capacity: usize) -> Arc { method config (line 90) | pub fn config(&self) -> &ServerConfig { method subscribe (line 94) | pub fn subscribe(&self) -> broadcast::Receiver { method snapshot (line 98) | pub async fn snapshot(&self) -> ServerSnapshot { method recent_logs (line 121) | pub async fn recent_logs(&self, limit: usize) -> Vec { method start (line 132) | pub async fn start(self: &Arc) -> Result<()> { method stop (line 227) | pub async fn stop(&self) -> Result<()> { method spawn_log_task (line 235) | fn spawn_log_task(server: Arc, reader: R, stream: LogStream) method push_log (line 253) | async fn push_log(&self, line: LogLine) { function current_epoch_ms (line 265) | fn current_epoch_ms() -> u128 { FILE: src/servers_tui.rs constant LOG_LIMIT (line 26) | const LOG_LIMIT: usize = 512; function run (line 28) | pub fn run(opts: ServersOpts) -> Result<()> { type App (line 51) | struct App { method new (line 64) | fn new(client: reqwest::blocking::Client, base_url: String) -> Result<... method selected_server_name (line 81) | fn selected_server_name(&self) -> Option<&str> { method refresh_servers (line 85) | fn refresh_servers(&mut self) -> Result<()> { method refresh_logs (line 112) | fn refresh_logs(&mut self) -> Result<()> { method maybe_refresh (line 148) | fn maybe_refresh(&mut self) -> Result<()> { method select_next (line 159) | fn select_next(&mut self) -> Result<()> { method select_prev (line 168) | fn select_prev(&mut self) -> Result<()> { method scroll_down (line 177) | fn scroll_down(&mut self) { method scroll_up (line 181) | fn scroll_up(&mut self) { method toggle_focus (line 185) | fn toggle_focus(&mut self) -> Result<()> { method show_all_logs (line 194) | fn show_all_logs(&mut self) -> Result<()> { method log_scope_label (line 204) | fn log_scope_label(&self) -> String { function run_app (line 216) | fn run_app( function handle_key (line 243) | fn handle_key(app: &mut App, key: KeyEvent) -> Result { function draw_ui (line 275) | fn draw_ui(f: &mut ratatui::Frame<'_>, app: &App) { function format_ts (line 374) | fn format_ts(ms: u128) -> String { FILE: src/services.rs function run (line 12) | pub fn run(cmd: ServicesCommand) -> Result<()> { function list_services (line 19) | fn list_services() -> Result<()> { function maybe_run_stripe_setup (line 25) | pub fn maybe_run_stripe_setup( function run_stripe (line 79) | fn run_stripe(opts: StripeServiceOpts) -> Result<()> { function apply_cloudflare_env (line 203) | fn apply_cloudflare_env(project_root: &Path, flow_cfg: &config::Config) ... function should_apply_env (line 215) | fn should_apply_env(opts: &StripeServiceOpts) -> bool { function is_cloud_source (line 225) | fn is_cloud_source(source: Option<&str>) -> bool { function fetch_project_env_vars_allow_missing (line 232) | fn fetch_project_env_vars_allow_missing( function default_stripe_mode_for_env (line 252) | fn default_stripe_mode_for_env(env_name: &str) -> StripeModeArg { function prompt_stripe_mode (line 260) | fn prompt_stripe_mode(default: StripeModeArg) -> Result { function collect_stripe_keys (line 277) | fn collect_stripe_keys(flow_cfg: &config::Config) -> Vec { function is_stripe_key (line 301) | fn is_stripe_key(key: &str) -> bool { type StripeKeySpec (line 305) | struct StripeKeySpec { method instructions (line 317) | fn instructions(&self, mode: StripeModeArg) -> &'static [&'static str] { method expected_prefix (line 324) | fn expected_prefix(&self, mode: StripeModeArg) -> Option<&'static str> { function stripe_key_spec (line 332) | fn stripe_key_spec(key: &str) -> StripeKeySpec { function resolve_project_root (line 430) | fn resolve_project_root(path: Option<&PathBuf>) -> Result<(PathBuf, Path... function find_flow_toml (line 451) | fn find_flow_toml(start: &PathBuf) -> Option { type DirGuard (line 464) | struct DirGuard { method new (line 469) | fn new(path: &Path) -> Result { method drop (line 478) | fn drop(&mut self) { function prompt_line (line 483) | fn prompt_line(message: &str, default: Option<&str>) -> Result { function prompt_secret (line 499) | fn prompt_secret(message: &str) -> Result { function prompt_yes_no (line 506) | fn prompt_yes_no(message: &str, default_yes: bool) -> Result { function read_yes_no_key (line 522) | fn read_yes_no_key(default_yes: bool) -> Result { FILE: src/setup.rs function run (line 21) | pub fn run(opts: SetupOpts) -> Result<()> { function maybe_run_existing_setup_task (line 151) | fn maybe_run_existing_setup_task(config_path: &Path) -> Result { function refresh_skills_after_setup_task (line 173) | fn refresh_skills_after_setup_task(project_root: &Path, config_path: &Pa... type SetupCheckpoint (line 199) | struct SetupCheckpoint { function current_git_commit (line 207) | fn current_git_commit(project_root: &Path) -> Option { function write_setup_checkpoint (line 228) | fn write_setup_checkpoint(project_root: &Path, config_path: &Path) -> Re... function ensure_bike_gitignore (line 247) | fn ensure_bike_gitignore(project_root: &Path) -> Result<()> { function ensure_project_dependencies (line 252) | fn ensure_project_dependencies(cfg: &config::Config) -> Result<()> { function brew_available (line 320) | fn brew_available() -> bool { function brew_package_for_command (line 330) | fn brew_package_for_command(command: &str) -> Option { function ensure_pnpm_only_built_deps (line 344) | fn ensure_pnpm_only_built_deps(project_root: &Path) -> Result<()> { function repo_contains_package (line 426) | fn repo_contains_package(project_root: &Path, needle: &str) -> bool { function resolve_project_root (line 447) | fn resolve_project_root(config_path: &PathBuf) -> Result<(PathBuf, PathB... function setup_deploy (line 458) | fn setup_deploy(project_root: &Path, config_path: &Path) -> Result<()> { function setup_release (line 663) | fn setup_release(project_root: &Path, config_path: &Path) -> Result<()> { function create_flow_toml_interactive (line 738) | fn create_flow_toml_interactive(project_root: &Path, config_path: &Path)... function create_flow_toml_auto (line 812) | fn create_flow_toml_auto(project_root: &Path, config_path: &Path) -> Res... function maybe_upgrade_existing_flow_toml (line 823) | fn maybe_upgrade_existing_flow_toml(project_root: &Path, config_path: &P... function repair_existing_host_config (line 841) | fn repair_existing_host_config( type DeployDefaults (line 957) | struct DeployDefaults { type HostSetupConfig (line 970) | struct HostSetupConfig { type ServerSetupTemplate (line 981) | struct ServerSetupTemplate { function deploy_defaults (line 986) | fn deploy_defaults(project_root: &Path) -> DeployDefaults { function load_server_setup_template (line 1015) | fn load_server_setup_template() -> Option { function merge_host_config (line 1068) | fn merge_host_config(base: deploy::HostConfig, overlay: deploy::HostConf... function apply_host_overrides (line 1090) | fn apply_host_overrides(defaults: &mut DeployDefaults, host: &deploy::Ho... function apply_server_template (line 1133) | fn apply_server_template( function looks_like_inline_script (line 1186) | fn looks_like_inline_script(value: &str) -> bool { function render_host_section (line 1190) | fn render_host_section(cfg: &HostSetupConfig) -> String { function has_host_section (line 1217) | fn has_host_section(content: &str) -> bool { function append_section (line 1221) | fn append_section(content: &str, section: &str) -> String { function replace_host_section (line 1234) | fn replace_host_section(content: &str, section: &str) -> String { function find_section_end (line 1269) | fn find_section_end(lines: &[String], start: usize) -> usize { function ensure_setup_script (line 1279) | fn ensure_setup_script( function ensure_env_file (line 1310) | fn ensure_env_file( function add_gitignore_entry (line 1366) | pub(crate) fn add_gitignore_entry(project_root: &Path, entry: &str) -> R... function maybe_configure_deploy_host (line 1392) | fn maybe_configure_deploy_host(auto_mode: bool) -> Result<()> { function guess_project_name (line 1445) | fn guess_project_name(project_root: &Path) -> String { function cargo_package_name (line 1459) | fn cargo_package_name(project_root: &Path) -> Option { function package_json_name (line 1471) | fn package_json_name(project_root: &Path) -> Option { function strip_scope (line 1479) | fn strip_scope(name: &str) -> &str { function default_run_command (line 1483) | fn default_run_command(project_root: &Path, project_name: &str) -> Optio... function default_setup_script (line 1490) | fn default_setup_script(project_root: &Path) -> String { function rust_deploy_setup_script (line 1500) | fn rust_deploy_setup_script() -> String { function node_deploy_setup_script (line 1516) | fn node_deploy_setup_script() -> String { function generic_deploy_setup_script (line 1537) | fn generic_deploy_setup_script() -> String { function find_env_example (line 1546) | fn find_env_example(project_root: &Path, project_name: &str) -> Option Option String { function write_flow_toml (line 1574) | fn write_flow_toml(path: &Path, content: &str) -> Result<()> { function generate_flow_toml_with_agent (line 1579) | fn generate_flow_toml_with_agent(project_root: &Path, hint: Option<&str>... function generate_flow_toml_with_agent_streaming (line 1680) | fn generate_flow_toml_with_agent_streaming( function extract_flow_toml (line 1784) | fn extract_flow_toml(raw: &str) -> Option { function extract_fenced_block (line 1797) | fn extract_fenced_block(raw: &str, tag: &str) -> Option { type HostWrapper (line 1811) | struct HostWrapper { function generate_host_config_with_agent (line 1815) | fn generate_host_config_with_agent(project_root: &Path, hint: Option<&st... function extract_host_config (line 1877) | fn extract_host_config(raw: &str) -> Option { function host_has_values (line 1903) | fn host_has_values(host: &deploy::HostConfig) -> bool { function host_config_mismatch_reason (line 1914) | fn host_config_mismatch_reason( function command_mismatch_reason (line 1961) | fn command_mismatch_reason(project_root: &Path, command: &str) -> Option... function setup_script_mismatch_reason (line 1980) | fn setup_script_mismatch_reason(project_root: &Path, setup: &str) -> Opt... function host_config_name_mismatch (line 2012) | fn host_config_name_mismatch(project_root: &Path, host_cfg: &deploy::Hos... function expected_project_names (line 2043) | fn expected_project_names(project_root: &Path) -> HashSet { function cargo_bin_names (line 2064) | fn cargo_bin_names(project_root: &Path) -> Vec { function host_name_tokens (line 2086) | fn host_name_tokens(host: &deploy::HostConfig) -> Vec { function extract_run_binary (line 2122) | fn extract_run_binary(run: &str) -> Option { function extract_env_name (line 2132) | fn extract_env_name(env_file: &str) -> Option { function normalize_host_token (line 2146) | fn normalize_host_token(token: &str) -> Option { function is_host_stop_token (line 2159) | fn is_host_stop_token(token: &str) -> bool { type SuggestedCommands (line 2186) | struct SuggestedCommands { type DepSpec (line 2192) | enum DepSpec { function suggested_commands (line 2197) | fn suggested_commands(project_root: &Path) -> SuggestedCommands { function suggest_node_commands (line 2248) | fn suggest_node_commands(project_path: &Path, subdir: Option<&str>) -> S... function suggest_latex_commands (line 2316) | fn suggest_latex_commands(project_path: &Path, subdir: Option<&str>) -> ... function detect_main_tex_file (line 2368) | fn detect_main_tex_file(project_path: &Path, tex_files: &[String]) -> St... function detect_package_manager_from_json (line 2410) | fn detect_package_manager_from_json(project_path: &Path) -> Option bool { function default_flow_template (line 2494) | fn default_flow_template(project_root: &Path) -> String { function project_hints (line 2501) | fn project_hints(project_root: &Path) -> Vec { function project_guidance (line 2544) | fn project_guidance(project_root: &Path) -> Option { type SubdirProjects (line 2594) | struct SubdirProjects { function find_subdir_projects (line 2600) | fn find_subdir_projects(project_root: &Path) -> SubdirProjects { function has_tex_files (line 2649) | fn has_tex_files(path: &Path) -> bool { function detect_server_project (line 2659) | fn detect_server_project(project_root: &Path) -> Option { function detect_rust_server (line 2669) | fn detect_rust_server(project_root: &Path) -> Option { function detect_node_server (line 2705) | fn detect_node_server(project_root: &Path) -> Option { function ai_flow_toml_mismatch_reason (line 2729) | fn ai_flow_toml_mismatch_reason(project_root: &Path, toml_content: &str)... function command_uses_node_tool (line 2774) | fn command_uses_node_tool(command: &str) -> bool { function command_uses_cargo_tool (line 2780) | fn command_uses_cargo_tool(command: &str) -> bool { function command_uses_latex_tool (line 2784) | fn command_uses_latex_tool(command: &str) -> bool { function command_mentions_tool (line 2792) | fn command_mentions_tool(command: &str, tool: &str) -> bool { function render_flow_toml (line 2800) | fn render_flow_toml(setup_cmd: &str, dev_cmd: &str, deps: Vec) ... function contains_toml_section (line 2876) | fn contains_toml_section(content: &str, section_header: &str) -> bool { function append_toml_section_if_missing (line 2880) | fn append_toml_section_if_missing(out: &mut String, section_header: &str... function ensure_codex_flow_baseline (line 2894) | fn ensure_codex_flow_baseline(content: &str, enable_bun_testing_gate: bo... function template_uses_bun (line 2948) | fn template_uses_bun(setup_cmd: &str, dev_cmd: &str, deps: &[DepSpec]) -... function detect_bun_context (line 2963) | fn detect_bun_context(project_root: &Path, content: &str) -> bool { function command_needs_interactive (line 2977) | fn command_needs_interactive(command: &str) -> bool { function dep_name (line 2985) | fn dep_name(dep: &DepSpec) -> &'static str { function toml_escape (line 2992) | fn toml_escape(value: &str) -> String { function ensure_trailing_newline (line 2996) | fn ensure_trailing_newline(mut content: String) -> String { function prompt_yes_no (line 3003) | fn prompt_yes_no(message: &str, default_yes: bool) -> Result { function prompt_optional (line 3019) | fn prompt_optional(message: &str) -> Result { function prompt_line (line 3027) | fn prompt_line(message: &str, default: Option<&str>) -> Result { function read_yes_no_key (line 3043) | fn read_yes_no_key(default_yes: bool) -> Result { function prompt_line_optional (line 3081) | fn prompt_line_optional(message: &str, default: Option<&str>) -> Result<... function prompt_u16_optional (line 3086) | fn prompt_u16_optional(message: &str, default: Option) -> Result Option { function format_alias_lines (line 3104) | fn format_alias_lines(aliases: &std::collections::HashMap String { function formats_alias_lines_in_order (line 3127) | fn formats_alias_lines_in_order() { function escapes_single_quotes_in_commands (line 3143) | fn escapes_single_quotes_in_commands() { function render_flow_toml_includes_codex_skill_baseline (line 3149) | fn render_flow_toml_includes_codex_skill_baseline() { function render_flow_toml_enables_bun_testing_gate_for_bun_templates (line 3159) | fn render_flow_toml_enables_bun_testing_gate_for_bun_templates() { function upgrade_existing_flow_toml_adds_codex_baseline (line 3171) | fn upgrade_existing_flow_toml_adds_codex_baseline() { function upgrade_existing_flow_toml_adds_bun_testing_gate_in_bun_context (line 3198) | fn upgrade_existing_flow_toml_adds_bun_testing_gate_in_bun_context() { function run_prefers_existing_setup_task_without_flow_bootstrap (line 3223) | fn run_prefers_existing_setup_task_without_flow_bootstrap() { FILE: src/skills.rs constant DEFAULT_ENV_SKILL (line 19) | const DEFAULT_ENV_SKILL: &str = include_str!("../.ai/skills/env/skill.md"); constant DEFAULT_QUALITY_BUN_FEATURE_DELIVERY_SKILL (line 20) | const DEFAULT_QUALITY_BUN_FEATURE_DELIVERY_SKILL: &str = constant DEFAULT_PR_MARKDOWN_BODY_FILE_SKILL (line 22) | const DEFAULT_PR_MARKDOWN_BODY_FILE_SKILL: &str = type SkillsEnforceSummary (line 26) | pub struct SkillsEnforceSummary { method is_noop (line 33) | pub fn is_noop(&self) -> bool { type SkillSyncOptions (line 41) | struct SkillSyncOptions { method default (line 47) | fn default() -> Self { function run (line 56) | pub fn run(cmd: SkillsCommand) -> Result<()> { function get_skills_dir (line 77) | fn get_skills_dir() -> Result { function get_skills_dir_at (line 82) | fn get_skills_dir_at(project_root: &Path) -> PathBuf { function read_skill_content_at (line 86) | pub fn read_skill_content_at(project_root: &Path, name: &str) -> Result<... function read_skill_frontmatter_field_at (line 96) | pub fn read_skill_frontmatter_field_at( function read_skill_version_at (line 107) | pub fn read_skill_version_at(project_root: &Path, name: &str) -> Result<... function skill_file_lower (line 121) | fn skill_file_lower(skill_dir: &Path) -> PathBuf { function skill_file_upper (line 125) | fn skill_file_upper(skill_dir: &Path) -> PathBuf { function has_exact_skill_filename (line 129) | fn has_exact_skill_filename(skill_dir: &Path, filename: &str) -> Result<... function find_skill_file (line 142) | fn find_skill_file(skill_dir: &Path) -> Option { function normalize_single_skill_file (line 154) | fn normalize_single_skill_file(skill_dir: &Path) -> Result { function normalize_skill_files (line 188) | fn normalize_skill_files(skills_dir: &Path) -> Result { function ensure_symlinks (line 204) | fn ensure_symlinks() -> Result<()> { function ensure_symlinks_at (line 209) | fn ensure_symlinks_at(project_root: &Path) -> Result<()> { function merge_skill_entries_into_existing_dir (line 229) | fn merge_skill_entries_into_existing_dir(source_dir: &Path, existing_dir... function create_symlink_if_needed (line 266) | fn create_symlink_if_needed( function list_skills (line 310) | fn list_skills() -> Result<()> { function parse_skill_description (line 360) | fn parse_skill_description(path: &Path) -> Option { function resolve_skill_sync_options (line 379) | fn resolve_skill_sync_options(skills_cfg: Option<&config::SkillsConfig>)... function should_force_reload_after_sync (line 392) | fn should_force_reload_after_sync(skills_cfg: Option<&config::SkillsConf... function task_name_to_display_name (line 399) | fn task_name_to_display_name(task_name: &str) -> String { function truncate_chars (line 419) | fn truncate_chars(value: &str, max_chars: usize) -> String { function yaml_quote (line 434) | fn yaml_quote(value: &str) -> String { function render_task_skill_openai_yaml (line 444) | fn render_task_skill_openai_yaml( function write_task_skill_metadata (line 466) | fn write_task_skill_metadata( function new_skill (line 493) | fn new_skill(name: &str, description: Option<&str>) -> Result<()> { function show_skill (line 542) | fn show_skill(name: &str) -> Result<()> { function edit_skill (line 557) | fn edit_skill(name: &str) -> Result<()> { function remove_skill (line 583) | fn remove_skill(name: &str) -> Result<()> { function publish_skill (line 599) | fn publish_skill(name: &str) -> Result<()> { function parse_frontmatter_field (line 653) | fn parse_frontmatter_field(content: &str, field: &str) -> Option { function myflow_token (line 674) | fn myflow_token(repo_root: &Path) -> Option { constant SKILLS_API_URL (line 715) | const SKILLS_API_URL: &str = "https://myflow.sh/api/skills"; function codex_skills_dir (line 717) | fn codex_skills_dir() -> Option { function read_local_skill_content (line 725) | fn read_local_skill_content(name: &str) -> Option { function load_seq_config (line 742) | fn load_seq_config(project_root: &Path) -> Result PathBuf { function resolve_path_arg (line 758) | fn resolve_path_arg(raw: &str, base: &Path) -> PathBuf { function resolve_seq_script_path (line 767) | fn resolve_seq_script_path( function fetch_skills (line 792) | fn fetch_skills(fetch: &SkillsFetchCommand) -> Result<()> { function install_skill (line 956) | fn install_skill(name: &str) -> Result<()> { function install_skill_inner (line 971) | fn install_skill_inner( type SkillResponse (line 1054) | struct SkillResponse { function list_remote_skills (line 1063) | fn list_remote_skills(search: Option<&str>) -> Result<()> { type SkillListItem (line 1097) | struct SkillListItem { function codex_write_msg (line 1103) | fn codex_write_msg(writer: &mut dyn Write, msg: &serde_json::Value) -> R... function codex_read_response (line 1111) | fn codex_read_response( function reload_codex_skills_for_cwd (line 1143) | pub(crate) fn reload_codex_skills_for_cwd(cwd: &Path) -> Result { function maybe_reload_codex_skills (line 1221) | pub(crate) fn maybe_reload_codex_skills( function reload_skills (line 1246) | fn reload_skills() -> Result<()> { function render_task_skill (line 1253) | fn render_task_skill(task: &config::TaskConfig) -> String { function sync_tasks_to_skills (line 1275) | fn sync_tasks_to_skills( function sync_skills (line 1315) | fn sync_skills() -> Result<()> { function enforce_skills_from_config (line 1350) | pub(crate) fn enforce_skills_from_config( function ensure_default_skills_at (line 1380) | pub fn ensure_default_skills_at(project_root: &Path) -> Result<()> { function auto_sync_skills (line 1434) | pub fn auto_sync_skills() { function ensure_project_skills_at (line 1476) | pub fn ensure_project_skills_at( function sample_task (line 1489) | fn sample_task(name: &str, description: Option<&str>) -> config::TaskCon... function task_openai_yaml_defaults_to_no_implicit_invocation (line 1506) | fn task_openai_yaml_defaults_to_no_implicit_invocation() { function task_openai_yaml_can_enable_implicit_invocation (line 1517) | fn task_openai_yaml_can_enable_implicit_invocation() { function task_skill_frontmatter_quotes_yaml_sensitive_values (line 1524) | fn task_skill_frontmatter_quotes_yaml_sensitive_values() { function ensure_default_skills_writes_quality_bun_skill (line 1535) | fn ensure_default_skills_writes_quality_bun_skill() { function ensure_default_skills_merges_into_existing_codex_skills_directory (line 1565) | fn ensure_default_skills_merges_into_existing_codex_skills_directory() { function sync_tasks_writes_uppercase_skill_file (line 1607) | fn sync_tasks_writes_uppercase_skill_file() { function sync_tasks_migrates_legacy_lowercase_skill_file (line 1630) | fn sync_tasks_migrates_legacy_lowercase_skill_file() { FILE: src/ssh.rs type SshMode (line 11) | pub enum SshMode { function prefer_ssh (line 17) | pub fn prefer_ssh() -> bool { function ssh_mode (line 25) | pub fn ssh_mode() -> SshMode { function has_identities (line 45) | pub fn has_identities() -> bool { function ensure_ssh_env (line 52) | pub fn ensure_ssh_env() { function ensure_git_ssh_command (line 87) | pub fn ensure_git_ssh_command() -> Result { function ensure_git_ssh_command_for_sock (line 114) | pub fn ensure_git_ssh_command_for_sock(sock: &Path, force: bool) -> Resu... function ensure_git_ssh_command_wrapper (line 133) | pub fn ensure_git_ssh_command_wrapper(wrapper: &Path, force: bool) -> Re... function ensure_git_https_insteadof (line 158) | pub fn ensure_git_https_insteadof() -> Result { function clear_git_https_insteadof (line 175) | pub fn clear_git_https_insteadof() -> Result { function ensure_flow_agent (line 192) | pub fn ensure_flow_agent() -> Result { function flow_agent_status (line 237) | pub fn flow_agent_status() -> Option { function preferred_agent_sock (line 257) | fn preferred_agent_sock() -> Option { function ssh_mode_from_config (line 268) | fn ssh_mode_from_config() -> Option { function parse_mode (line 279) | fn parse_mode(raw: &str) -> Option { type FlowAgentState (line 289) | struct FlowAgentState { function flow_agent_sock (line 294) | fn flow_agent_sock() -> PathBuf { function flow_agent_sock_path (line 298) | pub fn flow_agent_sock_path() -> PathBuf { function flow_agent_state_path (line 302) | fn flow_agent_state_path() -> PathBuf { function load_flow_agent_state (line 306) | fn load_flow_agent_state() -> Option { function pid_alive (line 312) | fn pid_alive(pid: u32) -> bool { function parse_agent_output (line 320) | fn parse_agent_output(stdout: &str, key: &str) -> Option { function probe_agent (line 331) | fn probe_agent(sock: &Path) -> bool { function agent_has_identities (line 350) | fn agent_has_identities(sock: &Path) -> bool { function find_1password_sock (line 366) | fn find_1password_sock() -> Option { function env_truthy (line 382) | fn env_truthy(key: &str) -> bool { function git_config_get (line 390) | fn git_config_get(key: &str) -> Result> { function git_config_writable (line 407) | fn git_config_writable() -> bool { function git_config_get_all (line 434) | fn git_config_get_all(key: &str) -> Result> { function git_config_set (line 452) | fn git_config_set(key: &str, value: &str) -> Result<()> { function git_config_add (line 465) | fn git_config_add(key: &str, value: &str) -> Result<()> { function git_config_unset_all (line 478) | fn git_config_unset_all(key: &str, value: &str) -> Result<()> { function add_url_rewrite (line 491) | fn add_url_rewrite(key: &str, desired: &[&str]) -> Result { function remove_url_rewrite (line 506) | fn remove_url_rewrite(key: &str, desired: &[&str]) -> Result { function shell_escape (line 520) | fn shell_escape(path: &Path) -> String { type EnvVarGuard (line 539) | struct EnvVarGuard { method set (line 545) | fn set(key: &'static str, value: &str) -> Self { method drop (line 555) | fn drop(&mut self) { function env_truthy_matches_expected_values (line 569) | fn env_truthy_matches_expected_values() { function prefer_ssh_respects_force_flags (line 584) | fn prefer_ssh_respects_force_flags() { function ssh_mode_parses_env_override (line 598) | fn ssh_mode_parses_env_override() { function shell_escape_handles_single_quotes (line 610) | fn shell_escape_handles_single_quotes() { function parse_agent_output_reads_values (line 617) | fn parse_agent_output_reads_values() { FILE: src/ssh_keys.rs constant DEFAULT_TTL_HOURS (line 17) | const DEFAULT_TTL_HOURS: u64 = 24; constant KEY_PRIVATE (line 18) | const KEY_PRIVATE: &str = "SSH_PRIVATE_KEY_B64"; constant KEY_PRIVATE_SEALED (line 19) | const KEY_PRIVATE_SEALED: &str = "SSH_PRIVATE_KEY_SEALED_B64"; constant KEY_PRIVATE_SEALED_NONCE (line 20) | const KEY_PRIVATE_SEALED_NONCE: &str = "SSH_PRIVATE_KEY_SEALED_NONCE_B64"; constant KEY_PRIVATE_SEALER_ID (line 21) | const KEY_PRIVATE_SEALER_ID: &str = "SSH_PRIVATE_KEY_SEALER_ID"; constant KEY_PUBLIC (line 22) | const KEY_PUBLIC: &str = "SSH_PUBLIC_KEY"; constant KEY_FINGERPRINT (line 23) | const KEY_FINGERPRINT: &str = "SSH_FINGERPRINT"; constant DEFAULT_KEY_NAME (line 25) | pub(crate) const DEFAULT_KEY_NAME: &str = "default"; constant DEFAULT_SSH_MODE (line 26) | const DEFAULT_SSH_MODE: &str = "force"; type SealerIdentity (line 29) | struct SealerIdentity { type SealedKeyPayload (line 34) | struct SealedKeyPayload { type SshKeyUnlock (line 40) | struct SshKeyUnlock { function run (line 44) | pub fn run(action: Option) -> Result<()> { function ensure_default_identity (line 53) | pub(crate) fn ensure_default_identity(ttl_hours: u64) -> Result<()> { function setup (line 62) | fn setup(name: &str, unlock_after: bool) -> Result<()> { function unlock (line 136) | fn unlock(name: &str, ttl_hours: u64) -> Result<()> { function status (line 204) | fn status(name: &str) -> Result<()> { function ensure_global_ssh_config (line 267) | fn ensure_global_ssh_config(key_name: &str) -> Result<()> { function upsert_ssh_block (line 294) | fn upsert_ssh_block(input: &str, mode: &str, key_name: &str) -> String { function configured_key_name (line 365) | fn configured_key_name() -> String { function key_env_keys (line 382) | fn key_env_keys(name: &str) -> (String, String, String) { function key_env_sealed_keys (line 399) | fn key_env_sealed_keys(name: &str) -> (String, String, String) { function normalize_name (line 416) | fn normalize_name(name: &str) -> String { function sanitize_env_suffix (line 425) | fn sanitize_env_suffix(name: &str) -> String { function ensure_ssh_state_dir (line 437) | fn ensure_ssh_state_dir() -> Result { function ensure_flow_ssh_wrapper (line 451) | fn ensure_flow_ssh_wrapper(key_name: &str) -> Result { function sealer_identity_path (line 485) | fn sealer_identity_path() -> Result { function ssh_unlock_path (line 489) | fn ssh_unlock_path() -> Result { function load_ssh_unlock (line 493) | fn load_ssh_unlock() -> Option { function save_ssh_unlock (line 499) | fn save_ssh_unlock(expires_at: DateTime) -> Result<()> { function unlock_expires_at (line 509) | fn unlock_expires_at(entry: &SshKeyUnlock) -> Option> { function next_local_midnight_utc (line 513) | fn next_local_midnight_utc() -> Result> { function prompt_touch_id (line 530) | fn prompt_touch_id() -> Result<()> { function unlock_ssh_key (line 576) | fn unlock_ssh_key() -> Result<()> { function require_ssh_key_unlock (line 607) | fn require_ssh_key_unlock() -> Result<()> { function load_sealer_identity (line 623) | fn load_sealer_identity() -> Result> { function load_or_create_sealer_identity (line 647) | fn load_or_create_sealer_identity() -> Result { function create_sealer_identity (line 659) | fn create_sealer_identity() -> Result { function seal_private_key (line 669) | fn seal_private_key(private_key: &[u8], identity: &SealerIdentity) -> Re... function unseal_private_key (line 687) | fn unseal_private_key( function add_key_to_agent (line 712) | fn add_key_to_agent(private_key: &[u8], sock: &Path, ttl_hours: u64) -> ... function write_private_key (line 743) | fn write_private_key(path: &PathBuf, content: &[u8]) -> Result<()> { function write_executable_file (line 771) | fn write_executable_file(path: &PathBuf, content: &[u8]) -> Result<()> { function escape_double_quotes (line 799) | fn escape_double_quotes(value: &str) -> String { function shell_escape_arg (line 803) | fn shell_escape_arg(value: &str) -> String { function compute_fingerprint (line 814) | fn compute_fingerprint(public_key_path: &PathBuf) -> Option { function normalize_name_defaults_to_default (line 831) | fn normalize_name_defaults_to_default() { function sanitize_env_suffix_normalizes (line 838) | fn sanitize_env_suffix_normalizes() { function key_env_keys_uses_expected_prefixes (line 845) | fn key_env_keys_uses_expected_prefixes() { function key_env_sealed_keys_uses_expected_prefixes (line 858) | fn key_env_sealed_keys_uses_expected_prefixes() { function seal_private_key_roundtrip (line 871) | fn seal_private_key_roundtrip() { function write_private_key_sets_permissions (line 880) | fn write_private_key_sets_permissions() { function upsert_ssh_block_adds_when_missing (line 897) | fn upsert_ssh_block_adds_when_missing() { function upsert_ssh_block_updates_existing_values (line 905) | fn upsert_ssh_block_updates_existing_values() { FILE: src/start.rs constant AI_FOLDER_CREATED (line 26) | pub const AI_FOLDER_CREATED: &str = "ai_folder_created"; constant GITIGNORE_UPDATED (line 27) | pub const GITIGNORE_UPDATED: &str = "gitignore_updated"; constant DB_SCHEMA_CREATED (line 28) | pub const DB_SCHEMA_CREATED: &str = "db_schema_created"; function run (line 32) | pub fn run() -> Result<()> { function run_at (line 38) | pub fn run_at(project_root: &Path) -> Result<()> { function is_bootstrapped (line 84) | pub fn is_bootstrapped(project_root: &Path) -> bool { function has_checkpoint (line 91) | pub fn has_checkpoint(project_root: &Path, name: &str) -> bool { function set_checkpoint (line 96) | pub fn set_checkpoint(project_root: &Path, name: &str) -> Result<()> { function clear_checkpoint (line 107) | pub fn clear_checkpoint(project_root: &Path, name: &str) -> Result<()> { function checkpoint_path (line 116) | fn checkpoint_path(project_root: &Path, name: &str) -> PathBuf { function create_ai_folder (line 125) | fn create_ai_folder(project_root: &Path) -> Result<()> { function materialize_tool_folders (line 157) | fn materialize_tool_folders(project_root: &Path) -> Result<()> { function create_db_schema (line 232) | fn create_db_schema(project_root: &Path) -> Result<()> { constant SCHEMA_TEMPLATE (line 257) | const SCHEMA_TEMPLATE: &str = r#"// .ai/internal/db/schema.ts constant DB_INDEX_TEMPLATE (line 314) | const DB_INDEX_TEMPLATE: &str = r#"// .ai/internal/db/index.ts constant DB_PACKAGE_TEMPLATE (line 333) | const DB_PACKAGE_TEMPLATE: &str = r#"{ constant FLOW_GITIGNORE_SECTION (line 351) | const FLOW_GITIGNORE_SECTION: &str = "\ function update_gitignore (line 362) | pub(crate) fn update_gitignore(project_root: &Path) -> Result<()> { function test_checkpoint_lifecycle (line 432) | fn test_checkpoint_lifecycle() { function test_create_ai_folder (line 446) | fn test_create_ai_folder() { function test_update_gitignore_new_file (line 465) | fn test_update_gitignore_new_file() { function test_update_gitignore_existing (line 481) | fn test_update_gitignore_existing() { function test_update_gitignore_already_present (line 500) | fn test_update_gitignore_already_present() { function test_update_gitignore_adds_web_when_flow_section_exists (line 520) | fn test_update_gitignore_adds_web_when_flow_section_exists() { FILE: src/storage.rs constant DEFAULT_JAZZ_API_KEY_MIRROR (line 16) | const DEFAULT_JAZZ_API_KEY_MIRROR: &str = "jazz-gitedit-prod"; constant DEFAULT_JAZZ_SERVER_MIRROR (line 17) | const DEFAULT_JAZZ_SERVER_MIRROR: &str = "https://cloud.jazz.tools"; constant DEFAULT_JAZZ_API_KEY_ENV (line 18) | const DEFAULT_JAZZ_API_KEY_ENV: &str = "cloud@myflow.sh"; constant DEFAULT_JAZZ_SERVER_ENV (line 19) | const DEFAULT_JAZZ_SERVER_ENV: &str = "https://cloud.jazz.tools"; constant DEFAULT_JAZZ_API_KEY_APP (line 20) | const DEFAULT_JAZZ_API_KEY_APP: &str = "cloud@myflow.sh"; constant DEFAULT_JAZZ_SERVER_APP (line 21) | const DEFAULT_JAZZ_SERVER_APP: &str = "https://cloud.jazz.tools"; constant DEFAULT_POSTGRES_PROJECT (line 22) | const DEFAULT_POSTGRES_PROJECT: &str = "~/org/la/la/server"; constant DEFAULT_JAZZ_TOOLS_NPX_SPEC (line 23) | const DEFAULT_JAZZ_TOOLS_NPX_SPEC: &str = "jazz-tools@0.20.14"; constant JAZZ_TOOLS_NPX_SPEC_ENV (line 24) | const JAZZ_TOOLS_NPX_SPEC_ENV: &str = "FLOW_JAZZ_TOOLS_PACKAGE_SPEC"; type JazzAppCredentials (line 27) | pub(crate) struct JazzAppCredentials { function run (line 33) | pub fn run(cmd: DbCommand) -> Result<()> { function run_jazz (line 40) | fn run_jazz(action: JazzStorageAction) -> Result<()> { function run_postgres (line 52) | fn run_postgres(action: PostgresAction) -> Result<()> { function postgres_generate (line 63) | fn postgres_generate(project: Option) -> Result<()> { function postgres_migrate (line 69) | fn postgres_migrate( function resolve_postgres_project (line 86) | fn resolve_postgres_project(project: Option) -> Result { function resolve_database_url (line 102) | fn resolve_database_url(database_url: Option<&str>, project_dir: &Path) ... function read_env_value (line 133) | fn read_env_value(path: &Path, key: &str) -> Result> { function strip_quotes (line 159) | fn strip_quotes(value: &str) -> &str { function run_bun_script (line 172) | fn run_bun_script(project_dir: &Path, script: &str, database_url: Option... function jazz_new (line 194) | fn jazz_new( function create_jazz_app_credentials (line 322) | pub(crate) fn create_jazz_app_credentials(name: &str) -> Result String { function resolve_jazz_tools_package_spec (line 381) | fn resolve_jazz_tools_package_spec(raw: Option<&str>) -> String { function run_command_with_output (line 388) | fn run_command_with_output(mut cmd: Command) -> Result { function normalize_server_url (line 438) | fn normalize_server_url(value: &str) -> String { function extract_api_key (line 460) | fn extract_api_key(value: &str) -> Option { function find_in_path (line 467) | fn find_in_path(binary: &str) -> Option { function generate_secret (line 478) | fn generate_secret(prefix: &str) -> String { function sanitize_name (line 487) | pub(crate) fn sanitize_name(name: &str) -> String { function find_flow_toml (line 508) | fn find_flow_toml(start: &PathBuf) -> Option { function get_project_name (line 521) | pub(crate) fn get_project_name() -> Result { function sanitize_name_keeps_alnum_and_normalizes_separators (line 548) | fn sanitize_name_keeps_alnum_and_normalizes_separators() { function resolve_jazz_tools_package_spec_defaults_to_pinned_version (line 554) | fn resolve_jazz_tools_package_spec_defaults_to_pinned_version() { function resolve_jazz_tools_package_spec_allows_explicit_override (line 566) | fn resolve_jazz_tools_package_spec_allows_explicit_override() { FILE: src/supervisor.rs type IpcRequest (line 16) | pub struct IpcRequest { type SupervisorIpcAction (line 22) | pub enum SupervisorIpcAction { type IpcResponse (line 45) | pub struct IpcResponse { type DaemonStatusView (line 52) | pub struct DaemonStatusView { type ManagedDaemon (line 63) | struct ManagedDaemon { type SupervisorState (line 76) | struct SupervisorState { type SharedState (line 80) | type SharedState = Arc>; function run (line 82) | pub fn run(cmd: SupervisorCommand) -> Result<()> { function ensure_running (line 99) | pub fn ensure_running(boot: bool, announce: bool) -> Result<()> { function ensure_daemon_running (line 105) | pub fn ensure_daemon_running(name: &str, config_path: Option<&Path>, ann... function stop_daemon_managed (line 131) | pub fn stop_daemon_managed(name: &str, config_path: Option<&Path>, annou... function is_running (line 157) | pub fn is_running() -> bool { function try_handle_daemon_action (line 163) | pub fn try_handle_daemon_action(action: &DaemonAction, config_path: Opti... function resolve_socket_path (line 222) | pub fn resolve_socket_path(override_path: Option<&Path>) -> Result Result { function supervisor_log_path (line 235) | fn supervisor_log_path() -> Result { function supervisor_running (line 240) | fn supervisor_running(socket_path: &Path) -> bool { function ensure_supervisor_running (line 253) | fn ensure_supervisor_running(socket_path: &Path, announce: bool, boot: b... function show_status (line 335) | fn show_status(socket_path: &Path) -> Result<()> { function stop_supervisor (line 344) | fn stop_supervisor(socket_path: &Path) -> Result<()> { function run_server (line 362) | fn run_server(socket_path: &Path, boot: bool) -> Result<()> { function ensure_supervisor_via_launchd (line 414) | fn ensure_supervisor_via_launchd( function launch_agent_label (line 467) | fn launch_agent_label() -> &'static str { function launch_agent_plist_path (line 472) | fn launch_agent_plist_path() -> Result { function launch_agent_installed (line 479) | fn launch_agent_installed() -> bool { function launch_agent_domain (line 486) | fn launch_agent_domain() -> String { function launch_agent_target (line 492) | fn launch_agent_target() -> String { function launch_agent_program_args (line 497) | fn launch_agent_program_args(socket_path: &Path, boot: bool) -> Result Result<()> { function launch_agent_kickstart (line 597) | fn launch_agent_kickstart() -> Result<()> { function uninstall_launch_agent (line 613) | fn uninstall_launch_agent(_socket_path: &Path) -> Result<()> { function install_launch_agent (line 631) | fn install_launch_agent(_socket_path: &Path, _boot: bool) -> Result<()> { function uninstall_launch_agent (line 636) | fn uninstall_launch_agent(_socket_path: &Path) -> Result<()> { function xml_escape (line 641) | fn xml_escape(input: &str) -> String { function handle_client (line 656) | fn handle_client(stream: std::os::unix::net::UnixStream, state: &SharedS... function handle_request (line 676) | fn handle_request(request: IpcRequest, state: &SharedState) -> Result) -> Result) -> Result) -> Option { function resolve_active_project_config_path (line 764) | fn resolve_active_project_config_path() -> Option { function bootstrap_daemons (line 770) | fn bootstrap_daemons( function start_daemon_set (line 803) | fn start_daemon_set( function should_start_daemon (line 832) | fn should_start_daemon(daemon_cfg: &config::DaemonConfig, boot: bool) ->... function should_restart (line 842) | fn should_restart(entry: &ManagedDaemon) -> bool { function reconcile_removed (line 850) | fn reconcile_removed(state: &SharedState, active_config_path: &Option Result<()> { function active_path_matches (line 1098) | fn active_path_matches(active: &Option, candidate: &Path) -> bo... function normalize_path (line 1105) | fn normalize_path(path: &Path) -> PathBuf { function resolve_daemon_config (line 1109) | fn resolve_daemon_config(name: &str, config_path: Option<&Path>) -> Resu... function register_managed_daemon (line 1117) | fn register_managed_daemon( function disable_managed_daemon (line 1140) | fn disable_managed_daemon( function daemon_key (line 1169) | fn daemon_key(name: &str, config_path: Option<&Path>) -> String { function print_status_views (line 1176) | fn print_status_views(daemons: &[DaemonStatusView], filter: Option<&str>) { function print_list_views (line 1228) | fn print_list_views(daemons: &[DaemonStatusView]) { function trim_ascii_whitespace (line 1244) | fn trim_ascii_whitespace(bytes: &[u8]) -> &[u8] { function send_request (line 1256) | pub fn send_request(socket_path: &Path, request: &IpcRequest) -> Result<... function persist_supervisor_pid (line 1280) | fn persist_supervisor_pid(pid: u32) -> Result<()> { function load_supervisor_pid (line 1290) | fn load_supervisor_pid(path: &Path) -> Result> { function remove_supervisor_pid (line 1299) | fn remove_supervisor_pid(path: &Path) -> Result<()> { function terminate_process (line 1306) | fn terminate_process(pid: u32) -> Result<()> { FILE: src/sync.rs type SyncEvent (line 34) | struct SyncEvent { type SyncSnapshot (line 41) | struct SyncSnapshot { type SyncRemoteUpdate (line 66) | struct SyncRemoteUpdate { type SyncRecorder (line 75) | struct SyncRecorder { method new (line 113) | fn new(cmd: &SyncCommand) -> Result { method disabled (line 169) | fn disabled() -> Self { method record (line 189) | fn record(&mut self, stage: &str, message: impl Into) { method set_stashed (line 200) | fn set_stashed(&mut self, stashed: bool) { method add_remote_update (line 204) | fn add_remote_update(&mut self, update: SyncRemoteUpdate) { method finish (line 219) | fn finish(&mut self, error: Option<&anyhow::Error>) { constant SYNC_CLAUDE_MODEL (line 94) | const SYNC_CLAUDE_MODEL: &str = "opus"; function sync_should_push (line 96) | fn sync_should_push(cmd: &SyncCommand) -> bool { function sync_claude_command (line 100) | fn sync_claude_command(prompt: &str) -> Command { function check_review_todo_push_gate (line 272) | fn check_review_todo_push_gate( function run (line 330) | pub fn run(cmd: SyncCommand) -> Result<()> { function run_switch (line 908) | pub fn run_switch(cmd: SwitchCommand) -> Result<()> { type SwitchPrTarget (line 1112) | struct SwitchPrTarget { type SwitchTargetResolution (line 1118) | struct SwitchTargetResolution { type SwitchPrView (line 1124) | struct SwitchPrView { function resolve_switch_target (line 1129) | fn resolve_switch_target(repo_root: &Path, target: &str) -> Result Result<()> { function switch_preserve_reason (line 1279) | fn switch_preserve_reason( function switch_branch_has_commits_not_in_target (line 1325) | fn switch_branch_has_commits_not_in_target( function create_switch_safety_snapshot (line 1357) | fn create_switch_safety_snapshot(repo_root: &Path, current_branch: &str)... function ensure_branch_attached (line 1393) | fn ensure_branch_attached(repo_root: &Path, target_branch: &str) -> Resu... type SwitchTrackingResolution (line 1415) | struct SwitchTrackingResolution { function resolve_tracking_remote_and_fetch (line 1420) | fn resolve_tracking_remote_and_fetch( function sync_local_upstream_branch (line 1479) | fn sync_local_upstream_branch(repo_root: &Path, branch: &str) -> Result<... function remote_exists (line 1499) | fn remote_exists(repo_root: &Path, remote: &str) -> bool { function sanitize_checkout_label (line 1503) | fn sanitize_checkout_label(input: &str) -> String { function parse_github_pr_url (line 1523) | fn parse_github_pr_url(target: &str) -> Option<(String, String)> { function build_gh_pr_checkout_args (line 1547) | fn build_gh_pr_checkout_args(target: &str, preferred_remote: Option<&str... function ensure_gh_available (line 1563) | fn ensure_gh_available() -> Result<()> { function run_gh_in (line 1576) | fn run_gh_in(repo_root: &Path, args: &[String]) -> Result<()> { function gh_capture_in (line 1591) | fn gh_capture_in(repo_root: &Path, args: &[&str]) -> Result { function remote_branch_exists (line 1607) | fn remote_branch_exists(repo_root: &Path, remote: &str, branch: &str) ->... function git_ref_exists_in (line 1612) | fn git_ref_exists_in(repo_root: &Path, reference: &str) -> bool { type TrackedRemoteRef (line 1617) | struct TrackedRemoteRef { function track_remote_ref (line 1623) | fn track_remote_ref( function remote_branch_tip (line 1645) | fn remote_branch_tip(repo_root: &Path, remote: &str, branch: &str) -> Op... function short_commit_id (line 1653) | fn short_commit_id(sha: &str) -> &str { function normalize_sync_commit_line (line 1662) | fn normalize_sync_commit_line(hash: &str, description: &str) -> String { function build_synced_commit_list (line 1672) | fn build_synced_commit_list(recorder: &SyncRecorder) -> Vec { function jj_resolve_commit_id (line 1706) | fn jj_resolve_commit_id(repo_root: &Path, revset: &str) -> Option { function jj_collect_sync_destination_commits (line 1725) | fn jj_collect_sync_destination_commits( function record_jj_synced_destination_commits (line 1757) | fn record_jj_synced_destination_commits( function copy_sync_output_to_clipboard (line 1788) | fn copy_sync_output_to_clipboard(text: &str) -> Result { function print_fetched_remote_commits (line 1837) | fn print_fetched_remote_commits( function run_jj_sync (line 1923) | fn run_jj_sync( function sync_upstream_internal (line 2472) | fn sync_upstream_internal( function sync_origin_default_internal (line 2525) | fn sync_origin_default_internal( function merge_remote_branch_into_current (line 2553) | fn merge_remote_branch_into_current( function origin_default_branch_for_feature_sync (line 2635) | fn origin_default_branch_for_feature_sync( function resolve_remote_default_branch_in (line 2653) | fn resolve_remote_default_branch_in(repo_root: &Path, remote: &str) -> O... function is_jj_corruption_error (line 2677) | fn is_jj_corruption_error(err: &anyhow::Error) -> bool { function is_git_index_lock_error (line 2687) | fn is_git_index_lock_error(message: &str) -> bool { function parse_branch_merge_ref (line 2694) | fn parse_branch_merge_ref(value: &str) -> Option { function parse_tracking_ref (line 2702) | fn parse_tracking_ref(value: &str) -> Option<(String, String)> { function resolve_tracking_remote_branch_in (line 2716) | fn resolve_tracking_remote_branch_in( function list_upstream_remote_branches (line 2752) | fn list_upstream_remote_branches(repo_root: &Path) -> Vec { function resolve_upstream_branch_in (line 2779) | fn resolve_upstream_branch_in(repo_root: &Path, current_branch: Option<&... function resolve_sync_branch_for_queue_guard (line 2833) | fn resolve_sync_branch_for_queue_guard(repo_root: &Path) -> Option Option { function resolve_branch_containing_head (line 2872) | fn resolve_branch_containing_head(repo_root: &Path) -> Option { function should_use_jj (line 2885) | fn should_use_jj(repo_root: &Path) -> bool { function has_jj_workspace (line 2889) | fn has_jj_workspace(repo_root: &Path) -> bool { function jj_cli_available (line 2893) | fn jj_cli_available() -> bool { function jj_workspace_healthy (line 2902) | fn jj_workspace_healthy(repo_root: &Path) -> bool { function jj_default_branch (line 2924) | fn jj_default_branch(repo_root: &Path) -> String { function git_ref_exists (line 2957) | fn git_ref_exists(reference: &str) -> bool { function jj_run_in (line 2961) | fn jj_run_in(repo_root: &Path, args: &[&str]) -> Result<()> { function jj_preferred_binary (line 2984) | fn jj_preferred_binary() -> std::path::PathBuf { function jj_run_preferred_in (line 3002) | fn jj_run_preferred_in(repo_root: &Path, args: &[&str]) -> Result<()> { function jj_bookmark_exists (line 3028) | fn jj_bookmark_exists(repo_root: &Path, name: &str) -> bool { function jj_bookmark_create_or_set (line 3035) | fn jj_bookmark_create_or_set(repo_root: &Path, name: &str, rev: &str) ->... function jj_capture_in (line 3054) | fn jj_capture_in(repo_root: &Path, args: &[&str]) -> Result { function jj_revset_string_literal (line 3066) | fn jj_revset_string_literal(value: &str) -> String { function jj_local_bookmark_revset (line 3070) | fn jj_local_bookmark_revset(name: &str) -> String { function jj_branch_sync_source_rev (line 3077) | fn jj_branch_sync_source_rev(repo_root: &Path, branch: &str) -> String { function jj_has_divergence (line 3085) | fn jj_has_divergence(repo_root: &Path, source_revset: &str, dest: &str) ... function branch_tip_matches_remote (line 3094) | fn branch_tip_matches_remote(repo_root: &Path, branch: &str, remote: &st... function jj_stash_commits (line 3108) | fn jj_stash_commits(repo_root: &Path, current: &str, dest: &str) -> Resu... function is_rebase_in_progress (line 3122) | fn is_rebase_in_progress() -> bool { function is_merge_in_progress (line 3130) | fn is_merge_in_progress() -> bool { function read_yes_no (line 3137) | fn read_yes_no() -> Result { function prompt_for_rebase_action (line 3160) | fn prompt_for_rebase_action() -> Result { function try_resolve_rebase_conflicts (line 3179) | fn try_resolve_rebase_conflicts() -> Result { function try_resolve_single_conflict (line 3245) | fn try_resolve_single_conflict(file: &str) -> Result { function prompt_for_push_fix (line 3319) | fn prompt_for_push_fix() -> Result { function prompt_for_auto_fix (line 3327) | fn prompt_for_auto_fix() -> Result { function try_resolve_conflicts (line 3348) | fn try_resolve_conflicts() -> Result { function restore_stash (line 3452) | fn restore_stash(repo_root: &Path, stashed: bool) { function stash_pop_untracked_conflict (line 3493) | fn stash_pop_untracked_conflict(output: &str) -> bool { function drop_stash_if_untracked_restored (line 3498) | fn drop_stash_if_untracked_restored(repo_root: &Path) -> Result { function resolve_fork_push_target (line 3534) | fn resolve_fork_push_target(repo_root: &Path) -> Option<(String, String,... function normalize_git_url (line 3579) | fn normalize_git_url(url: &str) -> String { type GitCaptureCacheState (line 3594) | struct GitCaptureCacheState { type GitCaptureCacheScope (line 3603) | struct GitCaptureCacheScope; method begin (line 3606) | fn begin() -> Self { method drop (line 3619) | fn drop(&mut self) { function git_capture_cacheable (line 3630) | fn git_capture_cacheable(args: &[&str]) -> bool { function git_capture_cache_key (line 3636) | fn git_capture_cache_key(repo_root: Option<&Path>, args: &[&str]) -> Opt... function git_capture_cached_lookup (line 3647) | fn git_capture_cached_lookup(key: &str) -> Option { function git_capture_cached_store (line 3657) | fn git_capture_cached_store(key: String, value: String) { function git_capture (line 3667) | fn git_capture(args: &[&str]) -> Result { function git_capture_in (line 3692) | fn git_capture_in(repo_root: &Path, args: &[&str]) -> Result { function git_run (line 3718) | fn git_run(args: &[&str]) -> Result<()> { function git_run_in (line 3735) | fn git_run_in(repo_root: &Path, args: &[&str]) -> Result<()> { function push_with_autofix (line 3753) | fn push_with_autofix(branch: &str, remote: &str, auto_fix: bool, max_att... function push_with_autofix_force (line 3830) | fn push_with_autofix_force( function try_claude_fix (line 3897) | fn try_claude_fix(error_output: &str) -> Result { function try_opencode_fix (line 3919) | fn try_opencode_fix(error_output: &str) -> Result { function build_fix_prompt (line 3946) | fn build_fix_prompt(error_output: &str) -> String { function try_create_origin_repo (line 3959) | fn try_create_origin_repo() -> Result { function sync_log_dirs (line 4008) | fn sync_log_dirs() -> Vec { function write_sync_snapshot (line 4018) | fn write_sync_snapshot(snapshot: &SyncSnapshot) -> Result<()> { function parse_branch_merge_ref_strips_heads_prefix (line 4050) | fn parse_branch_merge_ref_strips_heads_prefix() { function parse_tracking_ref_parses_remote_and_branch (line 4059) | fn parse_tracking_ref_parses_remote_and_branch() { function parse_tracking_ref_rejects_invalid_values (line 4071) | fn parse_tracking_ref_rejects_invalid_values() { function jj_local_bookmark_revset_uses_exact_mutable_selector (line 4079) | fn jj_local_bookmark_revset_uses_exact_mutable_selector() { function normalize_sync_commit_line_fills_missing_description (line 4091) | fn normalize_sync_commit_line_fills_missing_description() { function build_synced_commit_list_dedupes_hash_width_variants (line 4103) | fn build_synced_commit_list_dedupes_hash_width_variants() { function sync_claude_command_uses_latest_opus_alias (line 4143) | fn sync_claude_command_uses_latest_opus_alias() { FILE: src/task_failure_agents.rs type TaskFailureSettings (line 13) | struct TaskFailureSettings { method default (line 22) | fn default() -> Self { type HiveConfig (line 34) | struct HiveConfig { type HiveAgentSpec (line 39) | struct HiveAgentSpec { function load_settings (line 44) | fn load_settings() -> TaskFailureSettings { function load_hive_config (line 72) | fn load_hive_config() -> Option { function truncate_output (line 78) | fn truncate_output(output: &str, max_lines: usize, max_chars: usize) -> ... function matches_agent (line 91) | fn matches_agent(haystack: &str, spec: &HiveAgentSpec) -> bool { function run_hive_agent (line 101) | fn run_hive_agent(agent: &str, prompt: &str) -> Result<()> { function maybe_run_task_failure_agents (line 120) | pub fn maybe_run_task_failure_agents( FILE: src/task_match.rs type MatchOpts (line 17) | pub struct MatchOpts { type MatchResult (line 30) | pub struct MatchResult { constant BUILTIN_COMMANDS (line 37) | const BUILTIN_COMMANDS: &[(&str, &[&str])] = &[("commit", &["commit", "c... function cli_subcommands (line 39) | fn cli_subcommands() -> Vec { function run_builtin (line 52) | fn run_builtin(name: &str, execute: bool) -> Result<()> { function find_builtin (line 67) | fn find_builtin(query: &str) -> Option<&'static str> { function is_cli_subcommand (line 78) | fn is_cli_subcommand(args: &[String]) -> bool { function should_passthrough_cli (line 88) | fn should_passthrough_cli(args: &[String]) -> bool { function passthrough_to_cli (line 103) | fn passthrough_to_cli(args: &[String]) -> Result<()> { function run (line 120) | pub fn run(opts: MatchOpts) -> Result<()> { function run_global (line 127) | pub fn run_global(opts: MatchOpts) -> Result<()> { function run_with_tasks (line 156) | fn run_with_tasks( function normalize_name (line 267) | fn normalize_name(s: &str) -> String { type DirectMatchResult (line 275) | struct DirectMatchResult { function try_direct_match (line 282) | fn try_direct_match(args: &[String], tasks: &[DiscoveredTask]) -> Option... function generate_abbreviation (line 363) | fn generate_abbreviation(name: &str) -> Option { function build_matching_prompt (line 379) | fn build_matching_prompt(query: &str, tasks: &[DiscoveredTask]) -> String { function extract_task_name (line 410) | fn extract_task_name(response: &str, tasks: &[DiscoveredTask]) -> Result... function make_discovered (line 458) | fn make_discovered(name: &str, desc: Option<&str>) -> DiscoveredTask { function extracts_exact_task_name (line 482) | fn extracts_exact_task_name() { function extracts_task_name_from_response (line 494) | fn extracts_task_name_from_response() { FILE: src/tasks.rs type LogIngester (line 48) | struct LogIngester { method new (line 53) | fn new(project: &str, service: &str) -> Self { method send (line 112) | fn send(&self, line: &str) { function sigwinch_handler (line 125) | unsafe extern "C" fn sigwinch_handler(_sig: libc::c_int) { type RawModeGuard (line 131) | struct RawModeGuard; method drop (line 134) | fn drop(&mut self) { type CleanupState (line 145) | struct CleanupState { function run_cleanup (line 155) | fn run_cleanup() { function setup_cancel_handler (line 182) | fn setup_cancel_handler(on_cancel: Option<&str>, workdir: &Path) { function clear_cancel_handler (line 213) | fn clear_cancel_handler() { function set_cleanup_process (line 230) | fn set_cleanup_process(pid: u32, pgid: u32) { function terminate_tracked_process (line 246) | fn terminate_tracked_process(state: &CleanupState) { type TaskContext (line 280) | pub struct TaskContext { function needs_interactive_mode (line 293) | fn needs_interactive_mode(command: &str) -> bool { function run_tasks_command (line 370) | pub fn run_tasks_command(cmd: TasksCommand) -> Result<()> { function run_fast (line 382) | pub fn run_fast(opts: FastRunOpts) -> Result<()> { function run_ai_task_daemon_command (line 399) | fn run_ai_task_daemon_command(cmd: TasksDaemonCommand) -> Result<()> { function build_ai_task (line 408) | fn build_ai_task(opts: TasksBuildAiOpts) -> Result<()> { function run_ai_task (line 428) | fn run_ai_task(opts: TasksRunAiOpts) -> Result<()> { type AiTaskExecutionPolicy (line 444) | struct AiTaskExecutionPolicy { method from_env (line 450) | fn from_env() -> Self { function env_flag_is_true (line 462) | fn env_flag_is_true(name: &str) -> bool { function should_prefer_fast_client (line 472) | fn should_prefer_fast_client(root: &Path, selector: &str) -> bool { function selector_matches_patterns (line 498) | fn selector_matches_patterns(selector: &str, patterns_csv: &str) -> bool { function fast_client_binary_path (line 534) | fn fast_client_binary_path(root: &Path) -> Option { function run_via_fast_client (line 562) | fn run_via_fast_client( function execute_ai_task_by_selector (line 625) | fn execute_ai_task_by_selector( function execute_ai_task (line 664) | fn execute_ai_task( function run_via_daemon_with_lazy_start (line 683) | fn run_via_daemon_with_lazy_start( function fuzzy_search_task_history (line 706) | fn fuzzy_search_task_history() -> Result<()> { function list_tasks (line 799) | fn list_tasks(opts: TasksListOpts) -> Result<()> { function list_task_duplicates (line 821) | fn list_task_duplicates(opts: TasksDupesOpts) -> Result<()> { function init_ai_tasks (line 826) | fn init_ai_tasks(opts: TasksInitAiOpts) -> Result<()> { function list (line 850) | pub fn list(opts: TasksOpts) -> Result<()> { function run_global (line 870) | pub fn run_global(opts: GlobalCommand) -> Result<()> { function run_with_discovery (line 927) | pub fn run_with_discovery(task_name: &str, args: Vec) -> Result<... function select_discovered_task (line 969) | fn select_discovered_task<'a>( function parse_scoped_selector (line 1078) | fn parse_scoped_selector(selector: &str) -> Option<(String, String)> { function task_matches_selector (line 1097) | fn task_matches_selector(task: &discover::DiscoveredTask, needle: &str) ... function task_reference (line 1106) | fn task_reference(task: &discover::DiscoveredTask) -> String { function ambiguous_task_error (line 1114) | fn ambiguous_task_error(task_name: &str, matches: &[&discover::Discovere... function resolve_ambiguous_task_match (line 1134) | fn resolve_ambiguous_task_match<'a>( function run (line 1197) | pub fn run(opts: TaskRunOpts) -> Result<()> { function activate (line 1374) | pub fn activate(opts: TaskActivateOpts) -> Result<()> { function load_project_config (line 1436) | pub(crate) fn load_project_config(path: PathBuf) -> Result<(PathBuf, Con... function resolve_path (line 1465) | fn resolve_path(path: PathBuf) -> Result { function log_and_capture (line 1473) | fn log_and_capture(buf: &mut String, msg: &str) { function log_dir (line 1481) | fn log_dir() -> PathBuf { function sanitize_component (line 1488) | fn sanitize_component(raw: &str) -> String { function short_hash (line 1500) | fn short_hash(input: &str) -> String { function task_log_path (line 1506) | fn task_log_path(ctx: &TaskContext) -> Option { function task_output_path (line 1533) | fn task_output_path(raw: &str, workdir: &Path) -> PathBuf { function execute_task (line 1542) | fn execute_task( function format_task_lines (line 1749) | fn format_task_lines(tasks: &[TaskConfig]) -> Vec { function format_discovered_task_lines (line 1771) | fn format_discovered_task_lines( function print_duplicate_tasks (line 1828) | fn print_duplicate_tasks(tasks: &[discover::DiscoveredTask]) -> Result<(... constant AI_TASK_STARTER (line 1874) | const AI_TASK_STARTER: &str = r#"// title: Starter AI Task function find_task (line 1888) | pub(crate) fn find_task<'a>(cfg: &'a Config, needle: &str) -> Option<&'a... function generate_abbreviation (line 1913) | fn generate_abbreviation(name: &str) -> Option { type TaskLookupIndex (line 1931) | struct TaskLookupIndex { method build (line 1941) | fn build(tasks: &[TaskConfig]) -> Self { method looks_like (line 1978) | fn looks_like(&self, tasks: &[TaskConfig]) -> bool { function task_lookup_cache (line 1988) | fn task_lookup_cache() -> &'static Mutex> { function lookup_index_for (line 1994) | fn lookup_index_for(cfg: &Config) -> TaskLookupIndex { function command_references_args (line 2014) | fn command_references_args(command: &str) -> bool { function has_tty_access (line 2036) | fn has_tty_access() -> bool { function fishx_enabled (line 2050) | fn fishx_enabled() -> bool { function maybe_warn_non_fishx (line 2060) | fn maybe_warn_non_fishx() { function failure_bundle_path (line 2084) | fn failure_bundle_path() -> Option { function resolve_task_failure_hook (line 2100) | fn resolve_task_failure_hook() -> Option { function truncate_output_for_hook (line 2118) | fn truncate_output_for_hook(output: &str, max_lines: usize, max_chars: u... function maybe_run_task_failure_hook (line 2131) | fn maybe_run_task_failure_hook( function sanitize_rise_work_hook_no_open (line 2183) | fn sanitize_rise_work_hook_no_open(hook: &str) -> String { function truncate_for_bundle (line 2231) | fn truncate_for_bundle(output: &str, max_chars: usize) -> String { function write_failure_bundle (line 2239) | fn write_failure_bundle( function run_host_command (line 2285) | fn run_host_command( function run_flox_with_reset (line 2322) | fn run_flox_with_reset( function flox_health_check (line 2365) | fn flox_health_check(project_root: &Path, flox_pkgs: &[(String, FloxInst... function run_flox_command (line 2389) | fn run_flox_command( function run_command_with_tee (line 2447) | fn run_command_with_tee( function inject_global_env (line 2458) | fn inject_global_env(cmd: &mut Command) { function inject_global_env_pty (line 2507) | fn inject_global_env_pty(cmd: &mut CommandBuilder) { function run_command_with_pty (line 2556) | fn run_command_with_pty( function run_command_with_pipes (line 2861) | fn run_command_with_pipes( function lifecycle_preferred_url (line 3034) | fn lifecycle_preferred_url() -> Option { function is_service_ready_line (line 3038) | fn is_service_ready_line(line: &str) -> bool { function maybe_emit_lifecycle_preferred_url_hint (line 3050) | fn maybe_emit_lifecycle_preferred_url_hint( function for_each_complete_line (line 3068) | fn for_each_complete_line(line_buf: &mut String, mut on_line: impl FnMut... function tee_stream (line 3082) | fn tee_stream( function reset_flox_env (line 3147) | fn reset_flox_env(project_root: &Path) -> Result<()> { function flox_disabled_marker (line 3156) | fn flox_disabled_marker(project_root: &Path) -> PathBuf { function mark_flox_disabled (line 3160) | fn mark_flox_disabled(project_root: &Path, reason: &str) -> Result<()> { type ResolvedDependencies (line 3171) | struct ResolvedDependencies { function resolve_task_dependencies (line 3178) | fn resolve_task_dependencies(task: &TaskConfig, cfg: &Config) -> Result<... function ensure_command_dependencies_available (line 3231) | fn ensure_command_dependencies_available(commands: &[String]) -> Result<... function dependency_error (line 3243) | fn dependency_error(command: &str) -> String { function dependency_help (line 3255) | fn dependency_help(command: &str) -> Option<&'static str> { function collect_flox_packages (line 3264) | fn collect_flox_packages( function delegate_task_to_hub (line 3282) | fn delegate_task_to_hub( function ensure_hub_running (line 3342) | fn ensure_hub_running(host: IpAddr, port: u16) -> Result<()> { function format_addr (line 3357) | fn format_addr(host: IpAddr, port: u16) -> String { function format_task_submit_url (line 3364) | fn format_task_submit_url(host: IpAddr, port: u16) -> String { function formats_task_lines_with_descriptions (line 3379) | fn formats_task_lines_with_descriptions() { function discovered_task (line 3420) | fn discovered_task(scope: &str, relative_dir: &str, name: &str) -> disco... function parse_scoped_selector_supports_colon_and_slash (line 3444) | fn parse_scoped_selector_supports_colon_and_slash() { function resolve_ambiguous_task_match_uses_route_then_preferred_scope (line 3457) | fn resolve_ambiguous_task_match_uses_route_then_preferred_scope() { function select_discovered_task_allows_exact_names_with_scope_delimiters (line 3484) | fn select_discovered_task_allows_exact_names_with_scope_delimiters() { function format_discovered_task_lines_prefixes_scope (line 3501) | fn format_discovered_task_lines_prefixes_scope() { function run_rejects_empty_commands (line 3509) | fn run_rejects_empty_commands() { function collects_dependency_commands (line 3544) | fn collects_dependency_commands() { function collects_flox_dependencies_from_dependency_table (line 3576) | fn collects_flox_dependencies_from_dependency_table() { function collects_flox_dependencies_from_flox_config (line 3611) | fn collects_flox_dependencies_from_flox_config() { function errors_on_missing_dependencies (line 3648) | fn errors_on_missing_dependencies() { function errors_when_dependency_not_declared_in_table (line 3672) | fn errors_when_dependency_not_declared_in_table() { function find_task_matches_shortcuts_and_abbreviations (line 3698) | fn find_task_matches_shortcuts_and_abbreviations() { function ambiguous_abbreviations_do_not_match (line 3743) | fn ambiguous_abbreviations_do_not_match() { function detects_command_arg_references (line 3781) | fn detects_command_arg_references() { FILE: src/terminal.rs constant LOG_DIR_SUFFIX (line 15) | const LOG_DIR_SUFFIX: &str = ".flow/tmux-logs"; constant META_DIR_SUFFIX (line 16) | const META_DIR_SUFFIX: &str = ".flow/tty-meta"; constant SCRIPT_PATH_SUFFIX (line 17) | const SCRIPT_PATH_SUFFIX: &str = ".config/flow/tmux-enable-tracing.sh"; constant FISH_CONF_SUFFIX (line 18) | const FISH_CONF_SUFFIX: &str = ".config/fish/conf.d/flow-trace.fish"; function maybe_enable_terminal_tracing (line 20) | pub fn maybe_enable_terminal_tracing(options: &OptionsConfig) { function enforce_tmux_logging (line 34) | fn enforce_tmux_logging() -> Result<()> { function install_fish_hooks (line 56) | fn install_fish_hooks() -> Result<()> { function install_hooks (line 72) | fn install_hooks(script_path: &Path) -> Result<()> { function prime_existing_panes (line 83) | fn prime_existing_panes(script_path: &Path) -> Result<()> { function write_enable_script (line 110) | fn write_enable_script(script_path: &Path, log_dir: &Path) -> Result<()> { function write_fish_conf (line 148) | fn write_fish_conf(conf_path: &Path, meta_dir: &Path) -> Result<()> { function run_tmux (line 212) | fn run_tmux(args: &[&str], context: &str) -> Result<()> { function sh_quote (line 227) | fn sh_quote(path: &Path) -> String { function home_dir (line 233) | fn home_dir() -> PathBuf { FILE: src/todo.rs type TodoItem (line 15) | pub(crate) struct TodoItem { function run (line 29) | pub fn run(cmd: TodoCommand) -> Result<()> { function open_bike (line 57) | fn open_bike() -> Result<()> { function looks_like_bike (line 96) | fn looks_like_bike(content: &str) -> bool { function render_bike_template (line 105) | fn render_bike_template(project_name: &str) -> String { function add (line 115) | fn add( function list (line 146) | fn list(show_all: bool) -> Result<()> { function edit (line 173) | fn edit( function set_status (line 208) | fn set_status(id: &str, status: TodoStatusArg) -> Result<()> { function remove (line 222) | fn remove(id: &str) -> Result<()> { function status_to_string (line 231) | fn status_to_string(status: TodoStatusArg) -> &'static str { function load_items (line 240) | fn load_items() -> Result<(PathBuf, Vec)> { function load_items_at_root (line 259) | pub(crate) fn load_items_at_root(root: &Path) -> Result<(PathBuf, Vec Result<()> { function todo_title_compact (line 286) | fn todo_title_compact(title: &str) -> String { function external_ref_for_review_issue (line 306) | fn external_ref_for_review_issue(commit_sha: &str, issue: &str) -> String { function parse_priority_from_issue (line 317) | pub(crate) fn parse_priority_from_issue(issue: &str) -> String { function load_review_todos (line 348) | pub(crate) fn load_review_todos(repo_root: &Path) -> Result Result bool { function find_item_index (line 540) | pub(crate) fn find_item_index(items: &[TodoItem], id: &str) -> Result, no_session: bool) -> Resul... function project_root (line 576) | pub(crate) fn project_root() -> PathBuf { function find_flow_toml (line 584) | fn find_flow_toml(start: &PathBuf) -> Option { FILE: src/tools.rs function run (line 14) | pub fn run(cmd: ToolsCommand) -> Result<()> { function get_tools_dir (line 33) | fn get_tools_dir() -> Result { function find_localcode (line 39) | fn find_localcode() -> Option { function list_tools (line 53) | fn list_tools() -> Result<()> { function parse_tool_description (line 103) | fn parse_tool_description(path: &PathBuf) -> Option { function run_tool (line 124) | fn run_tool(name: &str, args: Vec) -> Result<()> { function new_tool (line 151) | fn new_tool(name: &str, description: Option<&str>, use_ai: bool) -> Resu... function edit_tool (line 228) | fn edit_tool(name: &str) -> Result<()> { function remove_tool (line 251) | fn remove_tool(name: &str) -> Result<()> { FILE: src/trace.rs constant META_DIR_SUFFIX (line 16) | const META_DIR_SUFFIX: &str = ".flow/tty-meta"; constant TTY_LOG_DIR_SUFFIX (line 17) | const TTY_LOG_DIR_SUFFIX: &str = ".flow/tmux-logs"; function run (line 19) | pub fn run(opts: TraceOpts) -> Result<()> { function stream_operations (line 26) | fn stream_operations() -> Result<()> { function bootstrap_existing (line 72) | fn bootstrap_existing(meta_dir: &Path, positions: &mut HashMap) -... function print_last_command (line 109) | fn print_last_command() -> Result<()> { function extract_command_output (line 154) | fn extract_command_output(id: &str, tty_dir: &Path) -> Result { type MetaEvent (line 186) | struct MetaEvent { type MetaKind (line 196) | enum MetaKind { function parse_meta_line (line 201) | fn parse_meta_line(line: &str) -> Option { function format_event (line 236) | fn format_event(evt: MetaEvent, path: &Path) -> String { function latest_event (line 256) | fn latest_event(meta_dir: &Path) -> Result<(Option, HashMap Option { function meta_dir (line 297) | fn meta_dir() -> PathBuf { function tty_dir (line 301) | fn tty_dir() -> PathBuf { function home_dir (line 305) | fn home_dir() -> PathBuf { FILE: src/traces.rs constant DEFAULT_LIMIT (line 15) | const DEFAULT_LIMIT: usize = 40; constant DETAIL_LIMIT (line 16) | const DETAIL_LIMIT: usize = 120; constant FOLLOW_POLL_MS (line 17) | const FOLLOW_POLL_MS: u64 = 400; function run (line 19) | pub fn run(opts: TracesOpts) -> Result<()> { function run_session (line 41) | pub fn run_session(opts: TraceSessionOpts) -> Result<()> { function follow_traces (line 73) | fn follow_traces( function fetch_all (line 100) | fn fetch_all( function fetch_task_runs (line 150) | fn fetch_task_runs( function fetch_agent_events (line 228) | fn fetch_agent_events( type TraceItem (line 285) | struct TraceItem { function format_item (line 295) | fn format_item(item: &TraceItem) -> String { function format_timestamp (line 316) | fn format_timestamp(timestamp_ms: u64) -> String { function project_label (line 322) | fn project_label(project: &str) -> String { function truncate (line 326) | fn truncate(value: &str, limit: usize) -> String { function open_db_at (line 337) | fn open_db_at(path: &Path) -> Result { function open_ai_db (line 352) | fn open_ai_db(flow_path: &Path) -> Option { function load_catalog_id (line 364) | fn load_catalog_id(base: &Path) -> Result { FILE: src/traces_stub.rs function run (line 6) | pub fn run(opts: TracesOpts) -> Result<()> { function run_session (line 45) | pub fn run_session(_opts: TraceSessionOpts) -> Result<()> { function trace_source_from_str (line 60) | pub fn trace_source_from_str(_value: &str) -> TraceSource { FILE: src/undo.rs function run (line 15) | pub fn run(cmd: UndoCommand) -> Result<()> { function find_repo_root (line 56) | fn find_repo_root(start: &Path) -> Result { type ActionType (line 74) | pub enum ActionType { method fmt (line 84) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type UndoRecord (line 95) | pub struct UndoRecord { function undo_log_path (line 115) | fn undo_log_path(repo_root: &Path) -> PathBuf { function record_action (line 123) | pub fn record_action( function get_last_action (line 173) | pub fn get_last_action(repo_root: &Path) -> Result> { function remove_last_action (line 196) | fn remove_last_action(repo_root: &Path) -> Result<()> { type UndoOpts (line 227) | pub struct UndoOpts { type UndoResult (line 236) | pub struct UndoResult { function undo_last (line 244) | pub fn undo_last(repo_root: &Path, opts: &UndoOpts) -> Result { function undo_commit (line 329) | fn undo_commit(repo_root: &Path, record: &UndoRecord) -> Result<()> { function undo_push (line 342) | fn undo_push(repo_root: &Path, record: &UndoRecord) -> Result<()> { function undo_commit_push (line 374) | fn undo_commit_push(repo_root: &Path, record: &UndoRecord, force: bool) ... function show_last (line 394) | pub fn show_last(repo_root: &Path) -> Result<()> { function list_actions (line 427) | pub fn list_actions(repo_root: &Path, limit: usize) -> Result<()> { function short_sha (line 497) | fn short_sha(sha: &str) -> &str { function git_capture (line 501) | fn git_capture(repo_root: &Path, args: &[&str]) -> Result { function git_run (line 516) | fn git_run(repo_root: &Path, args: &[&str]) -> Result<()> { function test_action_type_display (line 535) | fn test_action_type_display() { function test_short_sha (line 542) | fn test_short_sha() { FILE: src/upgrade.rs constant UPGRADE_CHECK_INTERVAL_HOURS (line 22) | const UPGRADE_CHECK_INTERVAL_HOURS: u64 = 24; function env_truthy (line 24) | fn env_truthy(key: &str) -> bool { function upgrade_repo (line 35) | fn upgrade_repo() -> Result<(String, String)> { type GitHubRelease (line 62) | struct GitHubRelease { type GitHubAsset (line 69) | struct GitHubAsset { type VersionCache (line 76) | struct VersionCache { method cache_path (line 83) | fn cache_path() -> PathBuf { method load (line 90) | fn load() -> Option { method save (line 105) | fn save(&self) -> Result<()> { method now_timestamp (line 118) | fn now_timestamp() -> u64 { method should_check (line 125) | fn should_check(&self) -> bool { function current_version (line 133) | pub fn current_version() -> &'static str { function detect_release_target (line 138) | fn detect_release_target() -> Result<&'static str> { function detect_legacy_platform (line 161) | fn detect_legacy_platform() -> Result<(&'static str, &'static str)> { function fetch_latest_release (line 182) | fn fetch_latest_release(client: &Client) -> Result { function fetch_release_by_tag (line 217) | fn fetch_release_by_tag(client: &Client, tag: &str) -> Result &str { function is_newer_version (line 266) | fn is_newer_version(current: &str, latest: &str) -> bool { function download_with_progress (line 292) | fn download_with_progress(client: &Client, url: &str, dest: &Path) -> Re... function github_token (line 317) | fn github_token() -> Option { function parse_github_owner_repo (line 329) | fn parse_github_owner_repo(url: &str) -> Option<(String, String)> { function normalize_tag (line 353) | fn normalize_tag(input: &str) -> String { function parse_sha256_from_checksums (line 362) | fn parse_sha256_from_checksums(checksums: &str, filename: &str) -> Optio... function sha256_file (line 374) | fn sha256_file(path: &Path) -> Result { function extract_binary (line 382) | fn extract_binary(tarball: &Path, binary_name: &str) -> Result { function validate_binary (line 432) | fn validate_binary(path: &Path) -> Result { function replace_executable (line 446) | fn replace_executable(new_exe: &Path, current_exe: &Path) -> Result<()> { function current_exe_path (line 475) | fn current_exe_path() -> Result { function check_write_permission (line 480) | fn check_write_permission(path: &Path) -> Result<()> { function run (line 514) | pub fn run(opts: UpgradeOpts) -> Result<()> { function ensure_sibling_symlink (line 699) | fn ensure_sibling_symlink(installed_path: &Path) -> Result<()> { function check_for_upgrade_prompt (line 748) | pub fn check_for_upgrade_prompt() -> Option { function maybe_print_upgrade_prompt (line 798) | pub fn maybe_print_upgrade_prompt() { function test_is_newer_version (line 820) | fn test_is_newer_version() { function test_parse_version (line 831) | fn test_parse_version() { FILE: src/upstream.rs function run (line 15) | pub fn run(cmd: UpstreamCommand) -> Result<()> { function setup_upstream_with_depth (line 35) | pub fn setup_upstream_with_depth( function show_status (line 44) | fn show_status() -> Result<()> { function open_upstream (line 95) | fn open_upstream() -> Result<()> { function setup_upstream (line 141) | fn setup_upstream(upstream_url: Option<&str>, upstream_branch: Option<&s... function setup_upstream_internal (line 145) | fn setup_upstream_internal( function pull_upstream (line 261) | fn pull_upstream(target_branch: Option<&str>) -> Result<()> { function resolve_upstream_branch (line 361) | fn resolve_upstream_branch() -> Result { function check_upstream (line 381) | fn check_upstream() -> Result<()> { function sync_upstream (line 434) | fn sync_upstream(push: bool, create_repo: bool) -> Result<()> { function merge_branch (line 568) | fn merge_branch(source: &str, target: &str) -> Result<()> { function git_capture (line 586) | fn git_capture(args: &[&str]) -> Result { function git_run (line 601) | fn git_run(args: &[&str]) -> Result<()> { function try_create_origin_repo (line 619) | fn try_create_origin_repo() -> Result { FILE: src/url_inspect.rs constant DEFAULT_EXCERPT_CHARS (line 17) | const DEFAULT_EXCERPT_CHARS: usize = 420; constant DEFAULT_DIRECT_ACCEPT (line 18) | const DEFAULT_DIRECT_ACCEPT: &str = "text/markdown, text/html;q=0.9, tex... constant CLOUDFLARE_API_BASE (line 19) | const CLOUDFLARE_API_BASE: &str = "https://api.cloudflare.com/client/v4"; type UrlInspectSettings (line 22) | struct UrlInspectSettings { type UrlInspectResult (line 30) | pub struct UrlInspectResult { type UrlCrawlResult (line 52) | pub struct UrlCrawlResult { type UrlCrawlRecord (line 72) | pub struct UrlCrawlRecord { type CloudflareEnvelope (line 86) | struct CloudflareEnvelope { type CloudflareError (line 95) | struct CloudflareError { type ScrapeResult (line 103) | struct ScrapeResult { function run (line 121) | pub fn run(cmd: UrlCommand) -> Result<()> { function inspect_compact (line 128) | pub fn inspect_compact(url: &str, cwd: &Path) -> Result { function inspect (line 142) | fn inspect(opts: UrlInspectOpts) -> Result<()> { function crawl (line 150) | fn crawl(opts: UrlCrawlOpts) -> Result<()> { function crawl_url (line 166) | fn crawl_url( function print_crawl_result (line 194) | fn print_crawl_result(result: &UrlCrawlResult, json_output: bool, full: ... function inspect_url (line 246) | fn inspect_url( function print_result (line 355) | fn print_result(result: &UrlInspectResult, json_output: bool, full: bool... function render_compact_result (line 392) | fn render_compact_result(result: &UrlInspectResult) -> String { function crawl_via_cloudflare (line 416) | fn crawl_via_cloudflare( function cloudflare_crawl_create_payload (line 509) | fn cloudflare_crawl_create_payload( function cloudflare_crawl_source (line 551) | fn cloudflare_crawl_source(source: UrlCrawlSource) -> &'static str { function fetch_cloudflare_crawl_result (line 559) | fn fetch_cloudflare_crawl_result( function parse_cloudflare_crawl_result (line 601) | fn parse_cloudflare_crawl_result( function parse_cloudflare_crawl_record (line 644) | fn parse_cloudflare_crawl_record( function cloudflare_error_detail (line 676) | fn cloudflare_error_detail(errors: &[CloudflareError]) -> String { function inspect_via_cloudflare_markdown (line 693) | fn inspect_via_cloudflare_markdown( function inspect_via_scraper (line 760) | fn inspect_via_scraper( function inspect_via_direct_fetch (line 819) | fn inspect_via_direct_fetch( function timeout_from_secs (line 892) | fn timeout_from_secs(seconds: f64) -> Result { function cloudflare_credentials (line 899) | fn cloudflare_credentials() -> Result> { function load_secret_env_var (line 914) | fn load_secret_env_var(key: &str) -> Result> { function wants_local_env_backend (line 950) | fn wants_local_env_backend() -> bool { function with_local_env_backend (line 963) | fn with_local_env_backend(action: impl FnOnce() -> Result) -> Resu... function string_field (line 978) | fn string_field(object: &serde_json::Map, key: &str) -> O... function u64_field (line 986) | fn u64_field(object: &serde_json::Map, key: &str) -> Opti... function f64_field (line 994) | fn f64_field(object: &serde_json::Map, key: &str) -> Opti... function bool_field (line 1002) | fn bool_field(object: &serde_json::Map, key: &str) -> Opt... function load_url_inspect_settings (line 1014) | fn load_url_inspect_settings(cwd: &Path) -> UrlInspectSettings { function merge_seq_settings (line 1031) | fn merge_seq_settings(settings: &mut UrlInspectSettings, seq_cfg: Option... type TextMetadata (line 1051) | struct TextMetadata { function markdown_metadata (line 1057) | fn markdown_metadata(markdown: &str) -> TextMetadata { function looks_like_markdown_boilerplate (line 1129) | fn looks_like_markdown_boilerplate(line: &str) -> bool { function looks_like_markdown_metadata_line (line 1156) | fn looks_like_markdown_metadata_line(line: &str) -> bool { function is_date_only_line (line 1174) | fn is_date_only_line(line: &str) -> bool { function is_single_markdown_link_line (line 1219) | fn is_single_markdown_link_line(line: &str) -> bool { function html_metadata (line 1236) | fn html_metadata(html: &str, final_url: &str) -> TextMetadata { function capture_meta_description (line 1275) | fn capture_meta_description(html: &str) -> Option { function capture_first (line 1288) | fn capture_first(pattern: &str, haystack: &str) -> Option { function replace_all (line 1296) | fn replace_all(pattern: &str, haystack: &str, replacement: &str) -> Stri... function normalize_whitespace (line 1302) | fn normalize_whitespace(input: &str) -> String { function truncate_excerpt (line 1310) | fn truncate_excerpt(input: &str) -> String { function extract_markdown_frontmatter (line 1319) | fn extract_markdown_frontmatter(markdown: &str) -> (Option, Stri... function capture_frontmatter_value (line 1350) | fn capture_frontmatter_value(frontmatter: &str, key: &str) -> Option) -> Option<... function markdown_metadata_prefers_first_heading_and_excerpt (line 1381) | fn markdown_metadata_prefers_first_heading_and_excerpt() { function markdown_metadata_reads_frontmatter_title_and_description (line 1400) | fn markdown_metadata_reads_frontmatter_title_and_description() { function direct_fetch_extracts_html_metadata (line 1425) | fn direct_fetch_extracts_html_metadata() { function html_metadata_detects_linear_app_shell (line 1467) | fn html_metadata_detects_linear_app_shell() { function cloudflare_markdown_normalizes_result (line 1492) | fn cloudflare_markdown_normalizes_result() { function markdown_metadata_skips_changelog_boilerplate (line 1524) | fn markdown_metadata_skips_changelog_boilerplate() { function parse_cloudflare_crawl_result_extracts_records (line 1554) | fn parse_cloudflare_crawl_result_extracts_records() { FILE: src/usage.rs constant DEFAULT_ANALYTICS_ENDPOINT (line 18) | const DEFAULT_ANALYTICS_ENDPOINT: &str = "https://api.myflow.sh/api/tele... constant QUEUE_FILE_NAME (line 19) | const QUEUE_FILE_NAME: &str = "usage-queue.jsonl"; constant STATE_FILE_NAME (line 20) | const STATE_FILE_NAME: &str = "analytics.toml"; constant MAX_QUEUE_BYTES (line 21) | const MAX_QUEUE_BYTES: usize = 10 * 1024 * 1024; constant MAX_BATCH_SIZE (line 22) | const MAX_BATCH_SIZE: usize = 100; constant ANON_ROTATION_DAYS (line 23) | const ANON_ROTATION_DAYS: u64 = 30; type HmacSha256 (line 27) | type HmacSha256 = Hmac; type AnalyticsConsent (line 31) | pub enum AnalyticsConsent { type AnalyticsState (line 38) | pub struct AnalyticsState { method new_unknown (line 47) | fn new_unknown() -> Self { type AnalyticsRuntimeConfig (line 59) | pub struct AnalyticsRuntimeConfig { type CommandCapture (line 66) | pub struct CommandCapture { type AnalyticsStatus (line 78) | pub struct AnalyticsStatus { type AnalyticsConfigProbe (line 88) | struct AnalyticsConfigProbe { function command_capture (line 95) | pub fn command_capture(raw_args: &[String]) -> CommandCapture { function is_analytics_command (line 108) | pub fn is_analytics_command(raw_args: &[String]) -> bool { function maybe_prompt_for_opt_in (line 115) | pub fn maybe_prompt_for_opt_in(is_analytics_command: bool, succeeded: bo... function record_command_result (line 166) | pub fn record_command_result(capture: &CommandCapture, duration: Duratio... function status (line 212) | pub fn status() -> Result { function set_consent (line 227) | pub fn set_consent(consent: AnalyticsConsent) -> Result<()> { function export_queue (line 237) | pub fn export_queue() -> Result { function purge_queue (line 245) | pub fn purge_queue() -> Result<()> { function command_path (line 253) | fn command_path(raw_args: &[String]) -> String { function extract_flags (line 395) | fn extract_flags(raw_args: &[String]) -> Vec { function rotating_anon_user_id (line 425) | fn rotating_anon_user_id(state: &AnalyticsState, at_ms: u64) -> Option Option { function rotation_bucket (line 453) | fn rotation_bucket(at_ms: u64) -> u64 { function should_capture (line 465) | fn should_capture(state: &AnalyticsState, runtime: &AnalyticsRuntimeConf... function runtime_config (line 478) | fn runtime_config() -> AnalyticsRuntimeConfig { function load_project_analytics_config (line 509) | fn load_project_analytics_config() -> Option { function load_minimal_analytics_config (line 530) | fn load_minimal_analytics_config( function load_or_init_state (line 559) | fn load_or_init_state() -> Result { function save_state (line 584) | fn save_state(state: &AnalyticsState) -> Result<()> { function state_path (line 594) | fn state_path() -> PathBuf { function queue_path (line 598) | fn queue_path() -> PathBuf { function append_event_to_queue (line 602) | fn append_event_to_queue(event: &Value) -> Result<()> { function enforce_queue_limit (line 620) | fn enforce_queue_limit(path: &PathBuf) -> Result<()> { function spawn_flush_worker (line 644) | fn spawn_flush_worker(endpoint: String) { function flush_queue (line 658) | fn flush_queue(endpoint: &str) -> Result<()> { function read_queue_lines (line 706) | fn read_queue_lines() -> Result> { function count_queue_lines (line 724) | fn count_queue_lines() -> Result { function env_flag (line 742) | fn env_flag(name: &str) -> bool { function now_ms (line 754) | fn now_ms() -> u64 { function extracts_flags_without_values (line 770) | fn extracts_flags_without_values() { function unknown_commands_map_to_task_shortcut (line 788) | fn unknown_commands_map_to_task_shortcut() { function rotating_anon_id_is_deterministic_within_bucket (line 799) | fn rotating_anon_id_is_deterministic_within_bucket() { function rotating_anon_id_changes_after_rotation_window (line 813) | fn rotating_anon_id_changes_after_rotation_window() { function minimal_analytics_probe_follows_includes (line 828) | fn minimal_analytics_probe_follows_includes() { FILE: src/vcs.rs function ensure_jj_installed (line 6) | pub fn ensure_jj_installed() -> Result<()> { function ensure_jj_repo (line 19) | pub fn ensure_jj_repo() -> Result { function ensure_jj_repo_in (line 24) | pub fn ensure_jj_repo_in(path: &Path) -> Result { function jj_root_if_exists (line 52) | pub fn jj_root_if_exists(path: &Path) -> Option { function try_jj_root (line 69) | fn try_jj_root(path: &Path) -> Result { FILE: src/watchers.rs type WatchManager (line 15) | pub struct WatchManager { method start (line 20) | pub fn start(configs: &[WatcherConfig]) -> Result> { method drop (line 44) | fn drop(&mut self) { type WatcherHandle (line 49) | pub struct WatcherHandle { method spawn (line 55) | fn spawn(cfg: WatcherConfig) -> Result { method spawn_shell (line 62) | fn spawn_shell(cfg: WatcherConfig) -> Result { method spawn_poltergeist (line 76) | fn spawn_poltergeist(cfg: WatcherConfig) -> Result { method drop (line 92) | fn drop(&mut self) { function run_shell_watcher (line 102) | fn run_shell_watcher(cfg: WatcherConfig, shutdown: Receiver<()>) -> Resu... function matches_filter (line 164) | fn matches_filter(events: &[DebouncedEvent], filter: Option<&str>) -> bo... function run_poltergeist_watcher (line 178) | fn run_poltergeist_watcher(cfg: WatcherConfig, shutdown: Receiver<()>) -... function run_command (line 264) | fn run_command(cfg: &WatcherConfig, workdir: &Path) { FILE: src/web.rs type WebState (line 22) | struct WebState { type ProjectsResponse (line 29) | struct ProjectsResponse { type AiTreeResponse (line 34) | struct AiTreeResponse { type SessionsResponse (line 39) | struct SessionsResponse { type ProjectCard (line 44) | struct ProjectCard { type OpenApiSpec (line 55) | struct OpenApiSpec { type AiEntry (line 62) | struct AiEntry { function run (line 67) | pub fn run(opts: WebOpts) -> Result<()> { function index (line 112) | async fn index(State(state): State) -> Result, (S... function fallback (line 126) | async fn fallback( function projects (line 155) | async fn projects(State(state): State) -> Result) -> Result) -> Result) -> Result ProjectCard { function read_first_line (line 220) | fn read_first_line(path: PathBuf) -> Option { function find_openapi_spec (line 232) | fn find_openapi_spec(project_root: &Path) -> Option<(PathBuf, String)> { function list_ai_top_entries (line 257) | fn list_ai_top_entries(ai_root: &Path) -> Vec { function list_ai_tree_entries (line 281) | fn list_ai_tree_entries(ai_root: &Path) -> Vec { function content_type_for_path (line 327) | fn content_type_for_path(path: &Path) -> &'static str { function build_web_ui (line 352) | fn build_web_ui(project_root: &Path) -> Result<()> { function needs_install (line 380) | fn needs_install( function is_newer (line 401) | fn is_newer(path: &Path, stamp: &Path) -> Result { function file_modified (line 407) | fn file_modified(path: &Path) -> Result { function write_install_stamp (line 412) | fn write_install_stamp(path: &Path) -> Result<()> { function run_command (line 420) | fn run_command(command: &str, args: &[&str], cwd: &Path) -> Result<()> { function open_in_browser (line 434) | fn open_in_browser(url: &str) -> Result<()> { function open_in_browser (line 440) | fn open_in_browser(url: &str) -> Result<()> { function open_in_browser (line 446) | fn open_in_browser(url: &str) -> Result<()> { function ensure_web_ui (line 451) | pub fn ensure_web_ui(project_root: &Path) -> Result<()> { function resolve_web_root (line 464) | fn resolve_web_root(project_root: &Path) -> (Option, Option &'static str { FILE: src/workflow.rs type WorkflowOverview (line 16) | pub struct WorkflowOverview { type WorkflowRepoSnapshot (line 24) | pub struct WorkflowRepoSnapshot { type WorkflowProjectRef (line 46) | pub struct WorkflowProjectRef { type WorkflowWorkspaceSnapshot (line 60) | pub struct WorkflowWorkspaceSnapshot { type WorkflowBranchSnapshot (line 72) | pub struct WorkflowBranchSnapshot { type WorkflowPullRequestSummary (line 96) | pub struct WorkflowPullRequestSummary { type RepoVcs (line 109) | enum RepoVcs { method as_str (line 115) | fn as_str(self) -> &'static str { type ProjectBinding (line 124) | struct ProjectBinding { type RepoSeed (line 137) | struct RepoSeed { type WorkspaceState (line 145) | struct WorkspaceState { type CommitMeta (line 155) | struct CommitMeta { type JjBookmarkRow (line 163) | struct JjBookmarkRow { type GitWorktreeState (line 176) | struct GitWorktreeState { type GitBranchRow (line 184) | struct GitBranchRow { type CachedWorkflowOverview (line 196) | struct CachedWorkflowOverview { constant WORKFLOW_OVERVIEW_TTL (line 202) | const WORKFLOW_OVERVIEW_TTL: Duration = Duration::from_secs(30); function load_workflow_overview (line 204) | pub fn load_workflow_overview() -> Result { function workflow_cache (line 284) | fn workflow_cache() -> &'static Mutex> { function detect_project_binding (line 288) | fn detect_project_binding(project: &ProjectEntry) -> Result Result { function inspect_git_repo (line 567) | fn inspect_git_repo(seed: &RepoSeed) -> Result { function repo_error_snapshot (line 683) | fn repo_error_snapshot(seed: &RepoSeed, error: String) -> WorkflowRepoSn... function preferred_repo_root (line 722) | fn preferred_repo_root(seed: &RepoSeed) -> PathBuf { function root_preference_score (line 739) | fn root_preference_score(path: &Path) -> u8 { function resolve_jj_repo_store (line 750) | fn resolve_jj_repo_store(workspace_root: &Path) -> Result { function jj_workspace_states (line 769) | fn jj_workspace_states(repo_root: &Path) -> Result> { function jj_bookmark_rows (line 807) | fn jj_bookmark_rows(repo_root: &Path) -> Result> { function jj_commit_meta_by_bookmark (line 844) | fn jj_commit_meta_by_bookmark(repo_root: &Path) -> Result Option { function infer_default_branch_jj (line 898) | fn infer_default_branch_jj<'a>( function git_worktree_states (line 924) | fn git_worktree_states(repo_root: &Path) -> Result> { function git_branch_rows (line 965) | fn git_branch_rows(repo_root: &Path) -> Result> { function git_repo_slug (line 1005) | fn git_repo_slug(repo_root: &Path) -> Option { function git_default_branch (line 1012) | fn git_default_branch(repo_root: &Path) -> Option { function fetch_open_prs (line 1034) | fn fetch_open_prs( function sort_branches (line 1078) | fn sort_branches(branches: &mut [WorkflowBranchSnapshot]) { function branch_rank (line 1087) | fn branch_rank(branch: &WorkflowBranchSnapshot) -> u8 { function is_hidden_branch (line 1103) | fn is_hidden_branch(name: &str) -> bool { function display_repo_name (line 1107) | fn display_repo_name(repo_slug: Option<&str>, repo_root: &Path) -> String { function relative_display_path (line 1120) | fn relative_display_path(root: &Path, path: &Path) -> String { function parse_git_track (line 1128) | fn parse_git_track(value: &str) -> (Option, Option) { function extract_number_after (line 1138) | fn extract_number_after(text: &str, needle: &str) -> Option { function parse_dirty_conflict_state (line 1147) | fn parse_dirty_conflict_state(value: Option<&str>) -> (bool, bool) { function git_status_line_has_conflict (line 1157) | fn git_status_line_has_conflict(line: &str) -> bool { function parse_github_repo_slug (line 1168) | fn parse_github_repo_slug(url: &str) -> Option { function normalize_repo_slug (line 1178) | fn normalize_repo_slug(rest: &str) -> Option { function capture_trimmed (line 1185) | fn capture_trimmed(command: &str, args: &[&str]) -> Result { function capture_trimmed_in (line 1191) | fn capture_trimmed_in(cwd: &Path, command: &str, args: &[&str]) -> Resul... function capture_trimmed_inner (line 1197) | fn capture_trimmed_inner(cmd: &mut Command) -> Result { function resolve_path (line 1209) | fn resolve_path(base: &Path, value: &str) -> PathBuf { function canonical_or_same (line 1218) | fn canonical_or_same(path: PathBuf) -> PathBuf { function parse_bool (line 1222) | fn parse_bool(value: &str) -> bool { function parse_u32 (line 1226) | fn parse_u32(value: &str) -> Option { function split_csv (line 1230) | fn split_csv(value: &str) -> Vec { function first_non_empty_csv (line 1239) | fn first_non_empty_csv(value: &str) -> Option { function non_empty (line 1243) | fn non_empty(value: &str) -> Option { function truncate_sha (line 1252) | fn truncate_sha(value: &str) -> String { function now_iso (line 1256) | fn now_iso() -> String { function ms_to_iso (line 1261) | fn ms_to_iso(ms: u128) -> Option { FILE: tests/deps.ts function assertOk (line 12) | function assertOk(result: ReturnType, context: string) { function main (line 22) | function main() { FILE: tests/test_log_server.ts constant SERVER_URL (line 7) | const SERVER_URL = "http://127.0.0.1:9060"; type LogEntry (line 9) | interface LogEntry { type StoredLogEntry (line 19) | interface StoredLogEntry { function checkHealth (line 30) | async function checkHealth(): Promise { function ingestLog (line 42) | async function ingestLog(entry: LogEntry): Promise<{ inserted: number; i... function queryLogs (line 67) | async function queryLogs(project?: string): Promise { function main (line 92) | async function main() { FILE: tools/domainsd-cpp/domainsd.cpp function try_acquire_client_slot (line 68) | bool try_acquire_client_slot() { function release_client_slot (line 78) | void release_client_slot() { function trim (line 82) | std::string trim(const std::string& s) { function to_lower (line 94) | std::string to_lower(std::string s) { function strip_port_from_host (line 101) | std::string strip_port_from_host(const std::string& host) { function parse_host_port (line 109) | bool parse_host_port(const std::string& target, std::string& host, int& ... function send_all (line 123) | bool send_all(int fd, const char* data, size_t len) { function send_all (line 138) | bool send_all(int fd, const std::string& data) { function send_simple_response (line 142) | void send_simple_response(int fd, int status, const std::string& reason,... type Request (line 153) | struct Request { function iequals_ascii (line 166) | bool iequals_ascii(std::string_view a, std::string_view b) { function should_skip_forward_header (line 180) | bool should_skip_forward_header(std::string_view key) { function request_wants_keepalive (line 187) | bool request_wants_keepalive(const Request& req) { function recv_append (line 206) | bool recv_append(int fd, std::string& buf, std::string& error) { function ensure_bytes_available (line 226) | bool ensure_bytes_available(int fd, std::string& buf, size_t need, std::... function decode_chunked_body (line 235) | bool decode_chunked_body(int fd, std::string initial, std::string& out_b... function read_request (line 298) | bool read_request(int client_fd, std::string& pending, Request& req, std... class RouteTable (line 434) | class RouteTable { method RouteTable (line 436) | explicit RouteTable(std::string routes_path) : routes_path_(std::move(... method lookup (line 438) | std::optional lookup(const std::string& host) { method size (line 448) | size_t size() { method reload_if_needed (line 455) | void reload_if_needed() { function set_common_socket_opts (line 516) | void set_common_socket_opts(int fd) { function set_socket_timeouts_ms (line 522) | void set_socket_timeouts_ms(int fd, int timeout_ms) { function set_nonblocking (line 530) | bool set_nonblocking(int fd, bool nonblocking) { function connect_with_timeout (line 543) | bool connect_with_timeout(int fd, const sockaddr* addr, socklen_t addrle... function connect_upstream (line 585) | int connect_upstream(const std::string& host, int port) { function socket_is_idle_usable (line 617) | bool socket_is_idle_usable(int fd) { type PooledConn (line 636) | struct PooledConn { class UpstreamPool (line 642) | class UpstreamPool { method acquire (line 655) | int acquire(const std::string& key, const std::string& host, int port) { method release (line 678) | void release(const std::string& key, int fd) { method discard (line 707) | void discard(int fd) { method is_conn_fresh (line 714) | bool is_conn_fresh(const std::chrono::steady_clock::time_point& now, c... method reap_locked (line 724) | void reap_locked(const std::chrono::steady_clock::time_point& now) { function is_upgrade_request (line 755) | bool is_upgrade_request(const Request& req) { function build_upstream_request (line 767) | std::string build_upstream_request(const Request& req, const std::string... function shutdown_quiet (line 799) | void shutdown_quiet(int fd, int how) { function pump_fd (line 805) | void pump_fd(int src, int dst, std::atomic& done) { function tunnel_bidirectional (line 827) | void tunnel_bidirectional(int a_fd, int b_fd) { type ResponseMeta (line 834) | struct ResponseMeta { function parse_response_headers (line 842) | bool parse_response_headers(const std::string& raw_headers, const std::s... function recv_append_upstream (line 895) | bool recv_append_upstream(int fd, std::string& buf) { function relay_body_with_length (line 913) | bool relay_body_with_length(int upstream_fd, int client_fd, std::string ... function relay_chunked_body (line 951) | bool relay_chunked_body(int upstream_fd, int client_fd, std::string buf) { type RelayOutcome (line 1008) | struct RelayOutcome { function RelayOutcome (line 1013) | RelayOutcome relay_response_and_decide_reuse(int upstream_fd, int client... function handle_client (line 1095) | void handle_client(int client_fd, RouteTable& routes) { function parse_listen (line 1262) | bool parse_listen(const std::string& listen, std::string& host, int& por... function parse_u64_arg (line 1266) | bool parse_u64_arg(const std::string& raw, uint64_t& out) { function assign_positive_int (line 1279) | bool assign_positive_int(const std::string& value, int& target) { function assign_positive_size (line 1288) | bool assign_positive_size(const std::string& value, size_t& target) { function cleanup_pidfile (line 1298) | void cleanup_pidfile() { function on_signal (line 1305) | void on_signal(int) { function start_listener (line 1313) | int start_listener(const std::string& host, int port) { function start_listener_from_launchd_socket (line 1346) | int start_listener_from_launchd_socket(const std::string& socket_name) { function print_usage (line 1374) | void print_usage(const char* argv0) { function main (line 1391) | int main(int argc, char** argv) {