Skip to main content

Module api

Module api 

Source
Expand description

Api - External interface for RYO operations.

This module provides the main entry point for RYO operations. It orchestrates Intent → Mutation → Execution flow.

§Architecture

┌─────────────────────────────────────────────────────────────────┐
│  Api (Application Facade)                                        │
│  ├── discover(...)  → DiscoverResponse                          │
│  ├── suggest(...)   → SuggestResponse                           │
│  ├── run(...)       → RunResponse                               │
│  ├── graph_cascade(...) → CascadeResponse                       │
│  └── status()       → StatusResponse                            │
└─────────────────────────────────────────────────────────────────┘
                    │
                    ▼
┌─────────────────────────────────────────────────────────────────┐
│  Internal Services (non-public)                                  │
│  ├── DiscoverService                                             │
│  ├── SuggestionEngine                                            │
│  ├── GraphApi                                                    │
│  └── SpecService                                                 │
└─────────────────────────────────────────────────────────────────┘

§Example

use ryo_app::{Api, DiscoverRequest};

// Create API from project path
let api = Api::from_path("/path/to/project")?;

// Discover symbols
let response = api.discover(DiscoverRequest {
    pattern: "Config*".to_string(),
    kind: None,
    sort: None,
    limit: Some(10),
})?;

for sym in response.results {
    println!("{}: {}", sym.name, sym.path.display());
}

Structs§

Api
Main API for RYO operations.
BorrowAnalysisRequest
Request for borrow analysis.
BorrowAnalysisResponse
Response from borrow analysis.
BorrowStatus
Borrow status for a variable.
CascadeRequest
Request for cascade analysis.
CascadeResponse
Response from cascade analysis.
ChainAnalysisRequest
Request for chain analysis.
ChainAnalysisResponse
Response from chain analysis.
ChainNodeInfo
A node in the chain with depth information.
CrateOverview
A crate with its module tree.
DesignChoiceInfo
A design choice option.
DiscoverRequest
Request for symbol discovery.
DiscoverResponse
Response from symbol discovery (tarpc-compatible, Bincode-safe).
DiscoveredSymbol
A discovered symbol (tarpc-compatible, Bincode-safe).
ExecuteOptions
Options for execution.
ExecutionResult
Execution result from API.
ExecutionStatus
Complete execution status combining code and detail.
FlowAnalysisRequest
Request for flow analysis.
FlowAnalysisResponse
Response from flow analysis.
GraphSummaryRequest
Request for code graph summary.
GraphSummaryResponse
Response from code graph summary.
LiteralMatchResult
A single literal match result.
LiteralSearchRequest
Request for literal search.
LiteralSearchResponse
Response from literal search.
LockAcquisition
Lock acquisition info.
LockAnalysisRequest
Request for lock analysis.
LockAnalysisResponse
Response from lock analysis.
LockStats
Lock statistics.
LockSuggestionInfo
Lock suggestion.
OverviewRequest
Request for codebase overview.
OverviewResponse
Response from codebase overview.
OverviewStats
Symbol kind statistics.
OverviewSymbol
A symbol with a count metric (ref_count or impl_count).
ParamInfo
Information about a pattern parameter.
PatternInfo
Information about a parameterized pattern.
PingResponse
Response from ping (health check with version).
QueryResponse
クエリレスポンス
RunRequest
Request for code transformation execution.
RunResponse
Response from code transformation execution.
RyoqlRequest
Request for RyoQL query execution.
SpecGroupData
Group information.
SpecInfoData
Spec information.
SpecLintData
Lint result data.
SpecLintIssueData
Lint issue data.
SpecRelationData
Spec relation.
SpecRequest
Request for spec hierarchy query.
SpecShowData
Full spec hierarchy data.
SpecStatsData
Statistics.
StatusDetail
Detailed information about the execution status.
StatusResponse
Response from status query.
SuggestApplyRequest
Request to apply suggestions by ID.
SuggestApplyResponse
Response from applying suggestions.
SuggestChoicesRequest
Request to get design choices for a suggestion.
SuggestChoicesResponse
Response with design choices for a suggestion.
SuggestCompareRequest
Request to compare design choices.
SuggestCompareResponse
Comparison result for choices.
SuggestGenerateRequest
Request to generate code from parameterized patterns.
SuggestGenerateResponse
Response from code generation.
SuggestRequest
Request for code improvement suggestions.
SuggestResponse
Response from suggestion engine.
SuggestVerifyRequest
Request to verify a suggestion before applying.
SuggestVerifyResponse
Response from verification.
Suggestion
A code improvement suggestion.
SuggestionSummary
Summary of suggestions.
TypeAnalysisRequest
Request for type analysis.
TypeAnalysisResponse
Response from type analysis.
TypeFieldInfo
Field information for definition mode.
TypeImpactInfo
Type impact information.
TypeParamInfo
Parameter information for definition mode.
TypeUsageInfo
Type usage information.
TypeVariantInfo
Enum variant information for definition mode.
VarInfo
Variable information.

Enums§

ApiError
Error type for API operations.
ApiErrorKind
Structured error type for API responses.
ChainMode
Traversal mode for chain analysis.
FlowAnalysisMode
Analysis mode for data flow.
HookResult
Result of a post-execution hook.
SortOrder
Sort order for discovery results.
SpecQueryKind
Spec query kinds.
SpecResponse
Response from spec query.
StatusCode
Status code for execution results, inspired by HTTP status codes.
TypeAnalysisMode
Analysis mode for type relationships.
VerifyLevel
Verification level.
ViewMode
出力モード

Traits§

PostExecutionHook
Trait for post-execution hooks.

Type Aliases§

ApiResult
Result type for API operations.