Expand description
apcore-toolkit — Shared scanner, schema extraction, and output toolkit.
Rust implementation — tri-language parity with Python and TypeScript.
The crate version is exported as VERSION to match the __version__
/ VERSION symbols in the Python and TypeScript SDKs.
§Language-writer parity
Python ships PythonWriter, TypeScript ships TypeScriptWriter, and the
Rust SDK ships RustWriter for generating language-native handler stubs.
The generated files are starting-point stubs; Rust consumers may also work
directly with the strongly-typed ScannedModule / registry APIs.
§Crate-root re-exports
The HTTP verb helpers and SCANNER_VERB_MAP are exported directly at
the crate root. As of v0.5.0 they are no longer re-exported through the
scanner module path — import from the crate root or http_verb_map:
use apcore_toolkit::{generate_suggested_alias, has_path_params, resolve_http_verb, SCANNER_VERB_MAP};
assert_eq!(resolve_http_verb("POST", false), "create");
assert!(has_path_params("/tasks/{id}"));
assert_eq!(SCANNER_VERB_MAP.get("POST").copied(), Some("create"));
assert_eq!(
generate_suggested_alias("/tasks/user_data", "POST"),
"tasks.user_data.create"
);Re-exports§
pub use ai_enhancer::AIEnhancer;pub use ai_enhancer::AIEnhancerError;pub use ai_enhancer::Enhancer;pub use binding_loader::BindingLoadError;pub use binding_loader::BindingLoader;pub use display::DisplayResolver;pub use display::DisplayResolverError;pub use formatting::format_csv;pub use formatting::format_jsonl;pub use formatting::format_module;pub use formatting::format_modules;pub use formatting::format_schema;pub use formatting::to_markdown;pub use formatting::FormatError;pub use formatting::FormatOutput;pub use formatting::GroupBy;pub use formatting::MarkdownError;pub use formatting::MarkdownOptions;pub use formatting::ModuleStyle;pub use formatting::SchemaStyle;pub use http_verb_map::extract_path_param_names;pub use http_verb_map::generate_suggested_alias;pub use http_verb_map::has_path_params;pub use http_verb_map::resolve_http_verb;pub use http_verb_map::substitute_path_params;pub use http_verb_map::SCANNER_VERB_MAP;pub use openapi::deep_resolve_refs;pub use openapi::extract_input_schema;pub use openapi::extract_output_schema;pub use openapi::resolve_ref;pub use openapi::resolve_schema;pub use output::errors::WriteError;pub use output::registry_writer::HandlerFactory;pub use output::registry_writer::HandlerFn;pub use output::registry_writer::RegistryWriter;pub use output::rust_writer::RustWriter;pub use output::types::Verifier;pub use output::types::VerifyResult;pub use output::types::WriteResult;pub use output::verifiers::run_verifier_chain;pub use output::verifiers::JSONVerifier;pub use output::verifiers::MagicBytesVerifier;pub use output::verifiers::RegistryVerifier;pub use output::verifiers::SyntaxVerifier;pub use output::verifiers::YAMLVerifier;pub use output::yaml_writer::YAMLWriter;pub use output::get_writer;pub use output::InvalidFormatError;pub use output::OutputFormat;pub use resolve_target::resolve_target;pub use resolve_target::ResolveTargetError;pub use resolve_target::ResolvedTarget;pub use scanner::deduplicate_ids;pub use scanner::filter_modules;pub use scanner::infer_annotations_from_method;pub use scanner::BaseScanner;pub use schema_utils::enrich_schema_descriptions;pub use serializers::annotations_to_dict;pub use serializers::module_to_dict;pub use serializers::modules_to_dicts;pub use types::clone_module;pub use types::create_scanned_module;pub use types::ScannedModule;pub use output::http_proxy_writer::HTTPProxyRegistryWriter;pub use output::http_proxy_writer::HTTPProxyRegistryWriterError;
Modules§
- ai_
enhancer - binding_
loader - display
- formatting
- http_
verb_ map - openapi
- output
- resolve_
target - scanner
- schema_
utils - serializers
- types
Constants§
- VERSION
- Crate version, read from
Cargo.tomlat compile time.