# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.95"
name = "axon-lang"
version = "2.32.0"
authors = [
    "AXON Project",
    "Bemarking AI S.A.S.",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "AXON — the formal cognitive language: a deterministic, proof-carrying AI runtime. Native Rust lexer/parser/type-checker/IR generator (re-exported from axon-frontend) plus the runtime: typed channels (π-calculus mobility, capability extrusion), algebraic effects via Free Monad CPS handlers, lease kernel + reconcile loop, the Epistemic Security Kernel, Trust Types, Proof-Carrying Code (independently verifiable proof objects), and the closed-catalog extension mechanism. Crate publishes as `axon-lang`; library import is `use axon::*` so existing call sites keep working unchanged."
readme = "README.md"
keywords = [
    "axon",
    "compiler",
    "runtime",
    "ai",
    "language",
]
categories = [
    "compilers",
    "development-tools::ffi",
    "asynchronous",
]
license = "AGPL-3.0-or-later"
repository = "https://github.com/Bemarking/axon-lang"

[lib]
name = "axon"
path = "src/lib.rs"

[[bin]]
name = "axon"
path = "src/main.rs"

[[test]]
name = "fase15_lambda_apply_parity"
path = "tests/fase15_lambda_apply_parity.rs"

[[test]]
name = "fase17_let_binding_parity"
path = "tests/fase17_let_binding_parity.rs"

[[test]]
name = "fase24_backends_cross"
path = "tests/fase24_backends_cross.rs"

[[test]]
name = "fase30_keepalive"
path = "tests/fase30_keepalive.rs"

[[test]]
name = "fase30_negotiation"
path = "tests/fase30_negotiation.rs"

[[test]]
name = "fase30_sse_fuzz"
path = "tests/fase30_sse_fuzz.rs"

[[test]]
name = "fase30_sse_runtime"
path = "tests/fase30_sse_runtime.rs"

[[test]]
name = "fase31_diagnostic_header"
path = "tests/fase31_diagnostic_header.rs"

[[test]]
name = "fase31_flag_surface"
path = "tests/fase31_flag_surface.rs"

[[test]]
name = "fase31_strict_mode"
path = "tests/fase31_strict_mode.rs"

[[test]]
name = "fase32_auth_scope"
path = "tests/fase32_auth_scope.rs"

[[test]]
name = "fase32_body_schema"
path = "tests/fase32_body_schema.rs"

[[test]]
name = "fase32_dynamic_transport"
path = "tests/fase32_dynamic_transport.rs"

[[test]]
name = "fase32_fuzz"
path = "tests/fase32_fuzz.rs"

[[test]]
name = "fase32_idempotency"
path = "tests/fase32_idempotency.rs"

[[test]]
name = "fase32_l_kivi_disjunct_a_end_to_end"
path = "tests/fase32_l_kivi_disjunct_a_end_to_end.rs"

[[test]]
name = "fase32_output_schema"
path = "tests/fase32_output_schema.rs"

[[test]]
name = "fase32_replay_binding"
path = "tests/fase32_replay_binding.rs"

[[test]]
name = "fase32_routes_drift"
path = "tests/fase32_routes_drift.rs"

[[test]]
name = "fase32_vertical_patterns"
path = "tests/fase32_vertical_patterns.rs"

[[test]]
name = "fase33_b_stub_steps_executed_anchor"
path = "tests/fase33_b_stub_steps_executed_anchor.rs"

[[test]]
name = "fase33_c_live_event_forwarding"
path = "tests/fase33_c_live_event_forwarding.rs"

[[test]]
name = "fase33_d_native_backend_streaming"
path = "tests/fase33_d_native_backend_streaming.rs"

[[test]]
name = "fase33_e_stream_effect_layer"
path = "tests/fase33_e_stream_effect_layer.rs"

[[test]]
name = "fase33_f_cancel_safety"
path = "tests/fase33_f_cancel_safety.rs"

[[test]]
name = "fase33_flow_execution_event_drift"
path = "tests/fase33_flow_execution_event_drift.rs"

[[test]]
name = "fase33_fuzz"
path = "tests/fase33_fuzz.rs"

[[test]]
name = "fase33_sse_full_body_diagnostic"
path = "tests/fase33_sse_full_body_diagnostic.rs"

[[test]]
name = "fase33x_b_async_bridge"
path = "tests/fase33x_b_async_bridge.rs"

[[test]]
name = "fase33x_b_real_backend_e2e"
path = "tests/fase33x_b_real_backend_e2e.rs"

[[test]]
name = "fase33x_d_enforcer_activation"
path = "tests/fase33x_d_enforcer_activation.rs"

[[test]]
name = "fase33x_e_cancel_inside_body"
path = "tests/fase33x_e_cancel_inside_body.rs"

[[test]]
name = "fase33x_f_per_step_replay"
path = "tests/fase33x_f_per_step_replay.rs"

[[test]]
name = "fase33x_fuzz"
path = "tests/fase33x_fuzz.rs"

[[test]]
name = "fase33x_g_warning_catalog"
path = "tests/fase33x_g_warning_catalog.rs"

[[test]]
name = "fase33x_h_tokenizer_fallback"
path = "tests/fase33x_h_tokenizer_fallback.rs"

[[test]]
name = "fase33x_i_mono_file_retirement"
path = "tests/fase33x_i_mono_file_retirement.rs"

[[test]]
name = "fase33x_j_real_provider"
path = "tests/fase33x_j_real_provider.rs"

[[test]]
name = "fase33x_real_streaming_diagnostic"
path = "tests/fase33x_real_streaming_diagnostic.rs"

[[test]]
name = "fase33y_b_dispatcher_skeleton"
path = "tests/fase33y_b_dispatcher_skeleton.rs"

[[test]]
name = "fase33y_c_pure_shape_fuzz"
path = "tests/fase33y_c_pure_shape_fuzz.rs"

[[test]]
name = "fase33y_c_pure_shape_handlers"
path = "tests/fase33y_c_pure_shape_handlers.rs"

[[test]]
name = "fase33y_d_orchestration_fuzz"
path = "tests/fase33y_d_orchestration_fuzz.rs"

[[test]]
name = "fase33y_d_orchestration_handlers"
path = "tests/fase33y_d_orchestration_handlers.rs"

[[test]]
name = "fase33y_dispatcher_diagnostic"
path = "tests/fase33y_dispatcher_diagnostic.rs"

[[test]]
name = "fase33y_e_par_stream_fuzz"
path = "tests/fase33y_e_par_stream_fuzz.rs"

[[test]]
name = "fase33y_e_par_stream_handlers"
path = "tests/fase33y_e_par_stream_handlers.rs"

[[test]]
name = "fase33y_f_cognitive_fuzz"
path = "tests/fase33y_f_cognitive_fuzz.rs"

[[test]]
name = "fase33y_f_cognitive_primitives"
path = "tests/fase33y_f_cognitive_primitives.rs"

[[test]]
name = "fase33y_fuzz"
path = "tests/fase33y_fuzz.rs"

[[test]]
name = "fase33y_g_algebraic_fuzz"
path = "tests/fase33y_g_algebraic_fuzz.rs"

[[test]]
name = "fase33y_g_algebraic_handlers"
path = "tests/fase33y_g_algebraic_handlers.rs"

[[test]]
name = "fase33y_h_wire_fuzz"
path = "tests/fase33y_h_wire_fuzz.rs"

[[test]]
name = "fase33y_h_wire_integrations"
path = "tests/fase33y_h_wire_integrations.rs"

[[test]]
name = "fase33y_i_pix_handlers"
path = "tests/fase33y_i_pix_handlers.rs"

[[test]]
name = "fase33y_j_lambda_tools"
path = "tests/fase33y_j_lambda_tools.rs"

[[test]]
name = "fase33y_k_tools_first_class"
path = "tests/fase33y_k_tools_first_class.rs"

[[test]]
name = "fase33y_l_parity_gate"
path = "tests/fase33y_l_parity_gate.rs"

[[test]]
name = "fase33z_c_default_on_and_tool_call"
path = "tests/fase33z_c_default_on_and_tool_call.rs"

[[test]]
name = "fase33z_d_parity_corpus"
path = "tests/fase33z_d_parity_corpus.rs"

[[test]]
name = "fase33z_dispatcher_production_diagnostic"
path = "tests/fase33z_dispatcher_production_diagnostic.rs"

[[test]]
name = "fase33z_e_parity_gate"
path = "tests/fase33z_e_parity_gate.rs"

[[test]]
name = "fase33z_k_1_algebraic_override"
path = "tests/fase33z_k_1_algebraic_override.rs"

[[test]]
name = "fase33z_k_a_diagnostic_anchor"
path = "tests/fase33z_k_a_diagnostic_anchor.rs"

[[test]]
name = "fase33z_k_d_axon_dialect_adapter"
path = "tests/fase33z_k_d_axon_dialect_adapter.rs"

[[test]]
name = "fase33z_k_e_openai_dialect_adapter"
path = "tests/fase33z_k_e_openai_dialect_adapter.rs"

[[test]]
name = "fase33z_k_f_anthropic_dialect_adapter"
path = "tests/fase33z_k_f_anthropic_dialect_adapter.rs"

[[test]]
name = "fase33z_k_g_3_tool_call_interleaving"
path = "tests/fase33z_k_g_3_tool_call_interleaving.rs"

[[test]]
name = "fase33z_k_g_e2e_anthropic_wire"
path = "tests/fase33z_k_g_e2e_anthropic_wire.rs"

[[test]]
name = "fase33z_k_g_e2e_axon_byte_compat"
path = "tests/fase33z_k_g_e2e_axon_byte_compat.rs"

[[test]]
name = "fase33z_k_g_e2e_kimi_glm_dispatch"
path = "tests/fase33z_k_g_e2e_kimi_glm_dispatch.rs"

[[test]]
name = "fase33z_k_g_e2e_openai_wire"
path = "tests/fase33z_k_g_e2e_openai_wire.rs"

[[test]]
name = "fase33z_k_h_metadata_population"
path = "tests/fase33z_k_h_metadata_population.rs"

[[test]]
name = "fase33z_k_i_dialect_catalog_drift_gate"
path = "tests/fase33z_k_i_dialect_catalog_drift_gate.rs"

[[test]]
name = "fase33z_k_j_dialect_fuzz"
path = "tests/fase33z_k_j_dialect_fuzz.rs"

[[test]]
name = "fase33z_production_fuzz"
path = "tests/fase33z_production_fuzz.rs"

[[test]]
name = "fase34_a_unified_stream_handler_diagnostic"
path = "tests/fase34_a_unified_stream_handler_diagnostic.rs"

[[test]]
name = "fase34_c_registry_drift"
path = "tests/fase34_c_registry_drift.rs"

[[test]]
name = "fase34_canonical_stream_tools"
path = "tests/fase34_canonical_stream_tools.rs"

[[test]]
name = "fase34_d_dispatcher_arm"
path = "tests/fase34_d_dispatcher_arm.rs"

[[test]]
name = "fase34_e_http_streaming"
path = "tests/fase34_e_http_streaming.rs"

[[test]]
name = "fase34_f_mcp_streaming"
path = "tests/fase34_f_mcp_streaming.rs"

[[test]]
name = "fase34_fuzz"
path = "tests/fase34_fuzz.rs"

[[test]]
name = "fase34_g_convergence"
path = "tests/fase34_g_convergence.rs"

[[test]]
name = "fase34_i_audit_tool_stream"
path = "tests/fase34_i_audit_tool_stream.rs"

[[test]]
name = "fase35_a_axonstore_gap_diagnostic"
path = "tests/fase35_a_axonstore_gap_diagnostic.rs"

[[test]]
name = "fase35_fuzz"
path = "tests/fase35_fuzz.rs"

[[test]]
name = "fase35_l_postgres_integration"
path = "tests/fase35_l_postgres_integration.rs"

[[test]]
name = "fase35q_interpolation_contract"
path = "tests/fase35q_interpolation_contract.rs"

[[test]]
name = "fase36_a_axonendpoint_backend_gap_diagnostic"
path = "tests/fase36_a_axonendpoint_backend_gap_diagnostic.rs"

[[test]]
name = "fase36_d_backend_catalog_drift"
path = "tests/fase36_d_backend_catalog_drift.rs"

[[test]]
name = "fase36_e_route_backend_deploy"
path = "tests/fase36_e_route_backend_deploy.rs"

[[test]]
name = "fase36_f_dynamic_handler_resolution"
path = "tests/fase36_f_dynamic_handler_resolution.rs"

[[test]]
name = "fase36_g_server_default_backend"
path = "tests/fase36_g_server_default_backend.rs"

[[test]]
name = "fase36_h_honest_failure"
path = "tests/fase36_h_honest_failure.rs"

[[test]]
name = "fase36_i_tool_registry_wired"
path = "tests/fase36_i_tool_registry_wired.rs"

[[test]]
name = "fase36_j_resolution_observability"
path = "tests/fase36_j_resolution_observability.rs"

[[test]]
name = "fase36_k_deploy_signalling"
path = "tests/fase36_k_deploy_signalling.rs"

[[test]]
name = "fase36_l_d9_corpus"
path = "tests/fase36_l_d9_corpus.rs"

[[test]]
name = "fase36_l_e2e"
path = "tests/fase36_l_e2e.rs"

[[test]]
name = "fase36_l_resolver_fuzz"
path = "tests/fase36_l_resolver_fuzz.rs"

[[test]]
name = "fase36x_a_mixed_flow_streaming_diagnostic"
path = "tests/fase36x_a_mixed_flow_streaming_diagnostic.rs"

[[test]]
name = "fase36x_b_in_memory_store"
path = "tests/fase36x_b_in_memory_store.rs"

[[test]]
name = "fase36x_d_mixed_flow_streaming"
path = "tests/fase36x_d_mixed_flow_streaming.rs"

[[test]]
name = "fase36x_e_data_flow_integrity"
path = "tests/fase36x_e_data_flow_integrity.rs"

[[test]]
name = "fase36x_f_terminator_fuzz"
path = "tests/fase36x_f_terminator_fuzz.rs"

[[test]]
name = "fase37_a_request_binding_diagnostic"
path = "tests/fase37_a_request_binding_diagnostic.rs"

[[test]]
name = "fase37_b_request_binding"
path = "tests/fase37_b_request_binding.rs"

[[test]]
name = "fase37_d_filter_injection"
path = "tests/fase37_d_filter_injection.rs"

[[test]]
name = "fase37_e_honest_streaming_error"
path = "tests/fase37_e_honest_streaming_error.rs"

[[test]]
name = "fase37_f_agent_flow_e2e"
path = "tests/fase37_f_agent_flow_e2e.rs"

[[test]]
name = "fase37_g_request_binding_fuzz"
path = "tests/fase37_g_request_binding_fuzz.rs"

[[test]]
name = "fase37x_a_pooler_coherent_diagnostic"
path = "tests/fase37x_a_pooler_coherent_diagnostic.rs"

[[test]]
name = "fase37x_i_pgbouncer_integration"
path = "tests/fase37x_i_pgbouncer_integration.rs"

[[test]]
name = "fase37x_i_property_fuzz"
path = "tests/fase37x_i_property_fuzz.rs"

[[test]]
name = "fase37xj_11_12_introspect_propagation"
path = "tests/fase37xj_11_12_introspect_propagation.rs"

[[test]]
name = "fase37xj_connection_pinning"
path = "tests/fase37xj_connection_pinning.rs"

[[test]]
name = "fase37y_path_query_binding_sources"
path = "tests/fase37y_path_query_binding_sources.rs"

[[test]]
name = "fase38_h_introspect_integration"
path = "tests/fase38_h_introspect_integration.rs"

[[test]]
name = "fase38_j_schemas_dir_plumbing"
path = "tests/fase38_j_schemas_dir_plumbing.rs"

[[test]]
name = "fase38x_a_pooler_prepared_statement_regression"
path = "tests/fase38x_a_pooler_prepared_statement_regression.rs"

[[test]]
name = "fase38xc_identity_recognition"
path = "tests/fase38xc_identity_recognition.rs"

[[test]]
name = "fase38xd_identity_compile_time_proof"
path = "tests/fase38xd_identity_compile_time_proof.rs"

[[test]]
name = "fase38xf_cardinality_complete"
path = "tests/fase38xf_cardinality_complete.rs"

[[test]]
name = "fase39b_wire_envelope_integration"
path = "tests/fase39b_wire_envelope_integration.rs"

[[test]]
name = "fase39c_epistemic_ownership_integration"
path = "tests/fase39c_epistemic_ownership_integration.rs"

[[test]]
name = "fase39f_cli_binary_parity"
path = "tests/fase39f_cli_binary_parity.rs"

[[test]]
name = "fase41_d_session_ws_e2e"
path = "tests/fase41_d_session_ws_e2e.rs"

[[test]]
name = "fase41_e_sse_fragment_e2e"
path = "tests/fase41_e_sse_fragment_e2e.rs"

[[test]]
name = "fase41_fuzz"
path = "tests/fase41_fuzz.rs"

[[test]]
name = "fase51_quant_fuzz"
path = "tests/fase51_quant_fuzz.rs"

[[test]]
name = "fase54_b_use_tool_arg_runtime_binding"
path = "tests/fase54_b_use_tool_arg_runtime_binding.rs"

[[test]]
name = "fase55_b_epistemic_wire_surfacing"
path = "tests/fase55_b_epistemic_wire_surfacing.rs"

[[test]]
name = "fase55_c_epistemic_parity_gate"
path = "tests/fase55_c_epistemic_parity_gate.rs"

[[test]]
name = "fase55_e_headline_certainty"
path = "tests/fase55_e_headline_certainty.rs"

[[test]]
name = "fase58_f2_streaming_tool_dispatch"
path = "tests/fase58_f2_streaming_tool_dispatch.rs"

[[test]]
name = "fase58_f_server_tool_registration"
path = "tests/fase58_f_server_tool_registration.rs"

[[test]]
name = "fase58_i_pcc_tool_call"
path = "tests/fase58_i_pcc_tool_call.rs"

[[test]]
name = "fase65_e3_provenance_blame_parity"
path = "tests/fase65_e3_provenance_blame_parity.rs"

[[test]]
name = "fase65_f2_corpus_backed_persist"
path = "tests/fase65_f2_corpus_backed_persist.rs"

[[test]]
name = "fase65_f_nonstreaming_persist_pg_integration"
path = "tests/fase65_f_nonstreaming_persist_pg_integration.rs"

[[test]]
name = "fase65_f_nonstreaming_store_error_honesty"
path = "tests/fase65_f_nonstreaming_store_error_honesty.rs"

[[test]]
name = "fase65_navigate_pg_integration"
path = "tests/fase65_navigate_pg_integration.rs"

[[test]]
name = "fase66_1_loop_persist_pg_integration"
path = "tests/fase66_1_loop_persist_pg_integration.rs"

[[test]]
name = "fase66_navigate_where_pg_integration"
path = "tests/fase66_navigate_where_pg_integration.rs"

[[test]]
name = "fase67_a2_where_time_parity"
path = "tests/fase67_a2_where_time_parity.rs"

[[test]]
name = "fase67_b_bounds_parity"
path = "tests/fase67_b_bounds_parity.rs"

[[test]]
name = "fase67_g_retrieve_loop_persist_pg_integration"
path = "tests/fase67_g_retrieve_loop_persist_pg_integration.rs"

[[test]]
name = "fase68_f_context_ceiling_parity"
path = "tests/fase68_f_context_ceiling_parity.rs"

[[test]]
name = "fase69_a_witness_metric_parity"
path = "tests/fase69_a_witness_metric_parity.rs"

[[test]]
name = "fase_11a_refinement_and_stream"
path = "tests/fase_11a_refinement_and_stream.rs"

[[test]]
name = "fase_11b_buffers_and_ingest"
path = "tests/fase_11b_buffers_and_ingest.rs"

[[test]]
name = "fase_11c_replay_and_legal_basis"
path = "tests/fase_11c_replay_and_legal_basis.rs"

[[test]]
name = "fase_11d_stateful_pem"
path = "tests/fase_11d_stateful_pem.rs"

[[test]]
name = "fase_11e_ots_pipelines"
path = "tests/fase_11e_ots_pipelines.rs"

[[test]]
name = "fase_11f_cross_phase_integration"
path = "tests/fase_11f_cross_phase_integration.rs"

[[test]]
name = "fase_11f_security_adversarial"
path = "tests/fase_11f_security_adversarial.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"

[dependencies.async-trait]
version = "0.1"

[dependencies.aws-config]
version = "1"
features = ["behavior-version-latest"]

[dependencies.aws-sdk-secretsmanager]
version = "1"

[dependencies.axon-csys]
version = "=0.2.0"

[dependencies.axon-frontend]
version = "=1.25.0"

[dependencies.axum]
version = "0.8"
features = ["ws"]

[dependencies.base64]
version = "0.22"

[dependencies.bytes]
version = "1"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.chrono-tz]
version = "0.10"

[dependencies.clap]
version = "4.5"
features = [
    "derive",
    "env",
]

[dependencies.ed25519-dalek]
version = "2"
features = ["rand_core"]

[dependencies.futures]
version = "0.3"

[dependencies.hmac]
version = "0.12"

[dependencies.http-body-util]
version = "0.1"

[dependencies.jsonwebtoken]
version = "9"

[dependencies.rand]
version = "0.9"

[dependencies.regex]
version = "1"

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "blocking",
    "rustls-tls",
    "stream",
]
default-features = false

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.sqlx]
version = "0.8"
features = [
    "runtime-tokio",
    "tls-rustls",
    "postgres",
    "json",
    "chrono",
    "migrate",
    "uuid",
    "bigdecimal",
]

[dependencies.subtle]
version = "2"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.tower]
version = "0.5"

[dependencies.tower-http]
version = "0.6"
features = ["cors"]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-appender]
version = "0.2"

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "json",
    "fmt",
    "env-filter",
]

[dependencies.urlencoding]
version = "2"

[dependencies.uuid]
version = "1"
features = ["v4"]

[dependencies.zip]
version = "2"
features = ["deflate"]
default-features = false

[dev-dependencies.tokio-tungstenite]
version = "0.24"
