[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.futures]
optional = true
version = "0.3"
[dependencies.llm-toolkit-macros]
optional = true
version = "0.58.0"
[dependencies.log]
features = ["std"]
version = "0.4"
[dependencies.mime_guess]
version = "2.0"
[dependencies.minijinja]
features = ["serde_json", "unstable_machinery"]
version = "2.12.0"
[dependencies.quick-xml]
features = ["serde"]
version = "0.38.3"
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1.10"
[dependencies.schemars]
version = "0.8"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
features = ["full"]
optional = true
version = "1"
[dependencies.tokio-util]
optional = true
version = "0.7"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-log]
version = "0.2"
[dependencies.tracing-subscriber]
features = ["env-filter"]
optional = true
version = "0.3"
[dependencies.url]
features = ["serde"]
version = "2.5"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.strum]
features = ["derive"]
version = "0.26"
[dev-dependencies.strum_macros]
version = "0.26"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tracing-subscriber]
features = ["env-filter", "json"]
version = "0.3"
[[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 = "multi_agent_dialogue"
path = "examples/multi_agent_dialogue.rs"
[[example]]
name = "multimodal_prompt"
path = "examples/multimodal_prompt.rs"
[[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"
[features]
agent = ["tokio", "tokio-util", "futures", "derive", "tracing-subscriber"]
default = []
derive = ["llm-toolkit-macros"]
[lib]
name = "llm_toolkit"
path = "src/lib.rs"
[package]
authors = ["Yutaka Nishimura <ytk.nishimura@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["text-processing", "parsing"]
description = "A low-level, unopinionated Rust toolkit for the LLM last mile problem."
edition = "2024"
keywords = ["llm", "ai", "json", "parser", "prompt"]
license = "MIT"
name = "llm-toolkit"
readme = "README.md"
repository = "https://github.com/ynishi/llm-toolkit"
resolver = "2"
version = "0.58.0"
[[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_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"