[package]
edition = "2024"
name = "llm-toolkit"
version = "0.61.1"
authors = ["Yutaka Nishimura <ytk.nishimura@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A low-level, unopinionated Rust toolkit for the LLM last mile problem."
readme = "README.md"
keywords = [
"llm",
"ai",
"json",
"parser",
"prompt",
]
categories = [
"text-processing",
"parsing",
]
license = "MIT"
repository = "https://github.com/ynishi/llm-toolkit"
resolver = "2"
[features]
agent = [
"tokio",
"tokio-util",
"futures",
"derive",
"async-trait",
"tracing",
"tracing-log",
"tracing-subscriber",
"rand",
"log",
"schema",
]
all-apis = [
"gemini-api",
"openai-api",
"anthropic-api",
"ollama-api",
"llama-cpp-server",
]
anthropic-api = [
"agent",
"reqwest",
]
default = ["essential"]
derive = [
"llm-toolkit-macros",
"quick-xml",
]
essential = []
gemini-api = [
"agent",
"reqwest",
]
llama-cpp-server = [
"agent",
"reqwest",
]
ollama-api = [
"agent",
"ollama-rs",
]
openai-api = [
"agent",
"reqwest",
]
schema = ["schemars"]
[lib]
name = "llm_toolkit"
path = "src/lib.rs"
[[example]]
name = "agent_attribute"
path = "examples/agent_attribute.rs"
[[example]]
name = "agent_auto_json_test"
path = "examples/agent_auto_json_test.rs"
[[example]]
name = "agent_backend_switching"
path = "examples/agent_backend_switching.rs"
required-features = ["agent"]
[[example]]
name = "agent_custom_backend"
path = "examples/agent_custom_backend.rs"
required-features = ["agent"]
[[example]]
name = "agent_derive"
path = "examples/agent_derive.rs"
required-features = ["agent"]
[[example]]
name = "agent_expertise_toprompt"
path = "examples/agent_expertise_toprompt.rs"
required-features = ["agent"]
[[example]]
name = "agent_model_selection"
path = "examples/agent_model_selection.rs"
required-features = ["agent"]
[[example]]
name = "agent_retrieval_aware"
path = "examples/agent_retrieval_aware.rs"
[[example]]
name = "agent_retry_test"
path = "examples/agent_retry_test.rs"
[[example]]
name = "agent_string_output_test"
path = "examples/agent_string_output_test.rs"
[[example]]
name = "agent_with_expertise_full"
path = "examples/agent_with_expertise_full.rs"
required-features = ["agent"]
[[example]]
name = "agent_with_profile"
path = "examples/agent_with_profile.rs"
[[example]]
name = "agent_with_toprompt_schema"
path = "examples/agent_with_toprompt_schema.rs"
[[example]]
name = "check_agent_availability"
path = "examples/check_agent_availability.rs"
required-features = ["agent"]
[[example]]
name = "check_claude"
path = "examples/check_claude.rs"
required-features = ["agent"]
[[example]]
name = "codex_agent_basic"
path = "examples/codex_agent_basic.rs"
[[example]]
name = "context_aware_expertise"
path = "examples/context_aware_expertise.rs"
[[example]]
name = "conversational_agent_builder"
path = "examples/conversational_agent_builder.rs"
[[example]]
name = "define_intent_comprehensive"
path = "examples/define_intent_comprehensive.rs"
required-features = ["derive"]
[[example]]
name = "derive_prompt"
path = "examples/derive_prompt.rs"
required-features = ["derive"]
[[example]]
name = "derive_prompt_enum"
path = "examples/derive_prompt_enum.rs"
required-features = ["derive"]
[[example]]
name = "derive_prompt_for"
path = "examples/derive_prompt_for.rs"
[[example]]
name = "derive_prompt_format_with"
path = "examples/derive_prompt_format_with.rs"
required-features = ["derive"]
[[example]]
name = "derive_prompt_set"
path = "examples/derive_prompt_set.rs"
[[example]]
name = "dialogue_moderator"
path = "examples/dialogue_moderator.rs"
[[example]]
name = "dialogue_persona_team"
path = "examples/dialogue_persona_team.rs"
[[example]]
name = "dialogue_session_resumption"
path = "examples/dialogue_session_resumption.rs"
[[example]]
name = "dialogue_session_resumption_system_prompt"
path = "examples/dialogue_session_resumption_system_prompt.rs"
[[example]]
name = "examples_section_test"
path = "examples/examples_section_test.rs"
[[example]]
name = "execution_profile_demo"
path = "examples/execution_profile_demo.rs"
[[example]]
name = "expandable_basic"
path = "examples/expandable_basic.rs"
required-features = ["agent"]
[[example]]
name = "expandable_macro_integration"
path = "examples/expandable_macro_integration.rs"
[[example]]
name = "expandable_with_intent"
path = "examples/expandable_with_intent.rs"
[[example]]
name = "expertise_basic"
path = "examples/expertise_basic.rs"
[[example]]
name = "expertise_generate_schema"
path = "examples/expertise_generate_schema.rs"
[[example]]
name = "expertise_prompt_generation"
path = "examples/expertise_prompt_generation.rs"
[[example]]
name = "external_template"
path = "examples/external_template.rs"
[[example]]
name = "llama_cpp_server_basic"
path = "examples/llama_cpp_server_basic.rs"
required-features = ["llama-cpp-server"]
[[example]]
name = "multi_agent_dialogue"
path = "examples/multi_agent_dialogue.rs"
[[example]]
name = "multimodal_prompt"
path = "examples/multimodal_prompt.rs"
[[example]]
name = "ollama_basic"
path = "examples/ollama_basic.rs"
required-features = ["ollama-api"]
[[example]]
name = "orchestrator_basic"
path = "examples/orchestrator_basic.rs"
required-features = ["agent"]
[[example]]
name = "orchestrator_fast_path_e2e"
path = "examples/orchestrator_fast_path_e2e.rs"
[[example]]
name = "orchestrator_get_typed_output"
path = "examples/orchestrator_get_typed_output.rs"
required-features = ["agent"]
[[example]]
name = "orchestrator_streaming"
path = "examples/orchestrator_streaming.rs"
[[example]]
name = "orchestrator_type_marker_production"
path = "examples/orchestrator_type_marker_production.rs"
required-features = ["agent"]
[[example]]
name = "orchestrator_with_dialogue"
path = "examples/orchestrator_with_dialogue.rs"
[[example]]
name = "orchestrator_with_mock"
path = "examples/orchestrator_with_mock.rs"
required-features = ["agent"]
[[example]]
name = "orchestrator_with_predefined_strategy"
path = "examples/orchestrator_with_predefined_strategy.rs"
[[example]]
name = "persona_dialogue"
path = "examples/persona_dialogue.rs"
[[example]]
name = "persona_macro_test"
path = "examples/persona_macro_test.rs"
[[example]]
name = "persona_visual_identity"
path = "examples/persona_visual_identity.rs"
[[example]]
name = "react_loop_execution"
path = "examples/react_loop_execution.rs"
[[example]]
name = "rich_error_demo"
path = "examples/rich_error_demo.rs"
[[example]]
name = "test_define_intent"
path = "examples/test_define_intent.rs"
required-features = ["derive"]
[[example]]
name = "test_dialogue_format"
path = "examples/test_dialogue_format.rs"
[[example]]
name = "test_dialogue_logging"
path = "examples/test_dialogue_logging.rs"
[[example]]
name = "test_llm_json_generation_direct"
path = "examples/test_llm_json_generation_direct.rs"
[[example]]
name = "test_llm_json_generation_orchestrator"
path = "examples/test_llm_json_generation_orchestrator.rs"
[[example]]
name = "test_ordered_builders"
path = "examples/test_ordered_builders.rs"
[[example]]
name = "test_template_extraction"
path = "examples/test_template_extraction.rs"
[[example]]
name = "test_type_output"
path = "examples/test_type_output.rs"
[[example]]
name = "to_prompt_for_test"
path = "examples/to_prompt_for_test.rs"
[[example]]
name = "type_marker_schema_test"
path = "examples/type_marker_schema_test.rs"
[[test]]
name = "agent_string_output_test"
path = "tests/agent_string_output_test.rs"
[[test]]
name = "collection_nested_type_test"
path = "tests/collection_nested_type_test.rs"
[[test]]
name = "define_intent_multi_tag_test"
path = "tests/define_intent_multi_tag_test.rs"
[[test]]
name = "define_intent_test"
path = "tests/define_intent_test.rs"
[[test]]
name = "derive_enum_integration"
path = "tests/derive_enum_integration.rs"
[[test]]
name = "derive_enum_struct_variants"
path = "tests/derive_enum_struct_variants.rs"
[[test]]
name = "derive_enum_tuple_variants"
path = "tests/derive_enum_tuple_variants.rs"
[[test]]
name = "derive_prompt_set"
path = "tests/derive_prompt_set.rs"
[[test]]
name = "derive_prompt_set_advanced"
path = "tests/derive_prompt_set_advanced.rs"
[[test]]
name = "derive_prompt_set_edge_cases"
path = "tests/derive_prompt_set_edge_cases.rs"
[[test]]
name = "derive_struct_format_with"
path = "tests/derive_struct_format_with.rs"
[[test]]
name = "enum_nested_enum_type_test"
path = "tests/enum_nested_enum_type_test.rs"
[[test]]
name = "enum_nested_type_test"
path = "tests/enum_nested_type_test.rs"
[[test]]
name = "enum_unified_type_field_prompt_test"
path = "tests/enum_unified_type_field_prompt_test.rs"
[[test]]
name = "enum_unified_type_field_test"
path = "tests/enum_unified_type_field_test.rs"
[[test]]
name = "execution_journal_test"
path = "tests/execution_journal_test.rs"
[[test]]
name = "expertise_agent_integration_test"
path = "tests/expertise_agent_integration_test.rs"
[[test]]
name = "expertise_dto_integration_test"
path = "tests/expertise_dto_integration_test.rs"
[[test]]
name = "expertise_integration_test"
path = "tests/expertise_integration_test.rs"
[[test]]
name = "expertise_phase2_integration_test"
path = "tests/expertise_phase2_integration_test.rs"
[[test]]
name = "external_template_mode_test"
path = "tests/external_template_mode_test.rs"
[[test]]
name = "external_template_simple_test"
path = "tests/external_template_simple_test.rs"
[[test]]
name = "external_template_test"
path = "tests/external_template_test.rs"
[[test]]
name = "multimodal_test"
path = "tests/multimodal_test.rs"
[[test]]
name = "nested_vec_schema_test"
path = "tests/nested_vec_schema_test.rs"
[[test]]
name = "option_nested_type_test"
path = "tests/option_nested_type_test.rs"
[[test]]
name = "orchestrator_dialogue_test"
path = "tests/orchestrator_dialogue_test.rs"
[[test]]
name = "orchestrator_type_marker_test"
path = "tests/orchestrator_type_marker_test.rs"
[[test]]
name = "parallel_orchestrator_hil_test"
path = "tests/parallel_orchestrator_hil_test.rs"
[[test]]
name = "parallel_orchestrator_test"
path = "tests/parallel_orchestrator_test.rs"
[[test]]
name = "parallel_orchestrator_timeout_test"
path = "tests/parallel_orchestrator_timeout_test.rs"
[[test]]
name = "parallel_orchestrator_tracing_test"
path = "tests/parallel_orchestrator_tracing_test.rs"
[[test]]
name = "payload_context_test"
path = "tests/payload_context_test.rs"
[[test]]
name = "render_prompt_test"
path = "tests/render_prompt_test.rs"
[[test]]
name = "retrieval_aware_agent_test"
path = "tests/retrieval_aware_agent_test.rs"
[[test]]
name = "simple_multi_tag_test"
path = "tests/simple_multi_tag_test.rs"
[[test]]
name = "strategy_lifecycle_test"
path = "tests/strategy_lifecycle_test.rs"
[[test]]
name = "template_debug_test"
path = "tests/template_debug_test.rs"
[[test]]
name = "template_dot_access_test"
path = "tests/template_dot_access_test.rs"
[[test]]
name = "template_file_integration_test"
path = "tests/template_file_integration_test.rs"
[[test]]
name = "template_mode_test"
path = "tests/template_mode_test.rs"
[[test]]
name = "template_simple_test"
path = "tests/template_simple_test.rs"
[[test]]
name = "template_with_mode_test"
path = "tests/template_with_mode_test.rs"
[[test]]
name = "to_prompt_for_test"
path = "tests/to_prompt_for_test.rs"
[[test]]
name = "to_prompt_struct_test"
path = "tests/to_prompt_struct_test.rs"
[[test]]
name = "type_field_toprompt_test"
path = "tests/type_field_toprompt_test.rs"
[[test]]
name = "type_marker_serialize_bug_test"
path = "tests/type_marker_serialize_bug_test.rs"
[[test]]
name = "type_marker_test"
path = "tests/type_marker_test.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.fuzzy-parser]
version = "0.1"
[dependencies.llm-toolkit-macros]
version = "0.61.1"
optional = true
[dependencies.log]
version = "0.4"
features = ["std"]
optional = true
[dependencies.mime_guess]
version = "2.0"
[dependencies.minijinja]
version = "2.12.0"
features = [
"serde_json",
"unstable_machinery",
]
[dependencies.ollama-rs]
version = "0.2"
features = ["default"]
optional = true
[dependencies.quick-xml]
version = "0.38.3"
features = ["serde"]
optional = true
[dependencies.rand]
version = "0.8"
optional = true
[dependencies.regex]
version = "1.10"
[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
[dependencies.schemars]
version = "0.8"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1"
features = ["full"]
optional = true
[dependencies.tokio-util]
version = "0.7"
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.tracing-log]
version = "0.2"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.url]
version = "2.5"
features = ["serde"]
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.strum]
version = "0.26"
features = ["derive"]
[dev-dependencies.strum_macros]
version = "0.26"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]