crux_providers/README.md,sha256=gedwZbGj8WebEvVMyydFXpCt8ojOgeeaKhXfeiDQ_ek,44661
crux_providers/__init__.py,sha256=Lu-17gdF5yKmZ8EgyU6HPW8C1PetELAJRY390l3MOfI,12206
crux_providers/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
crux_providers/.codacy/cli.sh,sha256=8vIKKhPQx5FrOkQPUh9YJyQhL_2SjN5z8xWRNN4X5Rc,3815
crux_providers/.codacy/codacy.yaml,sha256=SuvI7yWAGjmJCWtpivOGJbBHnY0RP8Mope-KvAU7rOY,192
crux_providers/anthropic/README.md,sha256=wjjxg40mL2hqE5UbNBf5OfRrZzTnijQt_dHPcuggLpY,1309
crux_providers/anthropic/__init__.py,sha256=IS300lLHyaiuR3dk8swMWqgodlk7lz3A0b16QRJTCXg,86
crux_providers/anthropic/chat_helpers.py,sha256=tpm7ixfooU_ChyIml5u_OhsMWqqWRmnP7cXzJIZVR9I,10169
crux_providers/anthropic/client.py,sha256=38lp8g8ed6CpM_ADI9xP79xhcjlewiog0F5aM_wSv4M,7473
crux_providers/anthropic/get_anthropic_models.py,sha256=rH-IGo9dYPlfhDe3kte7w7ZYKRrgyjWXci6Z2ymEzyM,9887
crux_providers/anthropic/helpers.py,sha256=42B1PjiwtCVTzl1ROLfznkJIwH75DDuup0xbKWNlgEg,11907
crux_providers/anthropic/stream_helpers.py,sha256=Zwm5evD8-EicEjbGogQQdy2gKlNdDnOlN9fVPuMMmtk,2603
crux_providers/assets/crux_banner.jpg,sha256=ZJCCopILA2MzVkUlKUi1Z0PbD919b4p0hyWexM7Qx1M,1904257
crux_providers/base/__init__.py,sha256=q6qrGLqhUprFVD3OUBDKTOir2fKnB0lLlSj7U2XITdA,2000
crux_providers/base/cancellation.py,sha256=y2pyre9FEujMLAg8LvkXCGUlYqODXzPYZzdMR1FyHWE,790
crux_providers/base/constants.py,sha256=FRYAHc95O1fgtwDaU_XMORjmZP8eaj10ds8lbFgXC2I,1075
crux_providers/base/errors.py,sha256=KLDme3BcnHku6gs-cRW9vzEA4USGpb0-EKqoqN5kikk,477
crux_providers/base/factory.py,sha256=e25HUTcdEHioEYfxnylUMUGcbtZJbJ9sDzDCtAlI01s,7734
crux_providers/base/get_models_base.py,sha256=04NMrskphRUnlero2jb0gknKJyLHZAnEW3SKgjCdc4Q,12112
crux_providers/base/interfaces.py,sha256=jblaeEJIDfm34ITntp1s2bsGlAXHrbHGB5ccCfQLIds,785
crux_providers/base/logging.py,sha256=JQA_MFT3gnmn1Ww_AxbWo-mpLUawFq-cY4_xzk5PPf0,11163
crux_providers/base/models.py,sha256=2U-earLwEv6Ay36XI1IxtO6g-UWdD0Mkj_8wau07cwc,857
crux_providers/base/stubs.py,sha256=uZNp_w6FB0EUMSe98ENh-DvSYtIXuMZiLcWW69_b7jU,1156
crux_providers/base/timeouts.py,sha256=lDJbheL2ArO0bgVKOAbjdEH2ySNMq5WftpxancuqpOY,8592
crux_providers/base/tracing.py,sha256=PWcXrKGk6qJsvTvuVTlvLVElI1_XpxWn6NYAZVg9hmw,1994
crux_providers/base/agent/__init__.py,sha256=NRjGuRA_bvE7bBmj1u7ilZJEzrDc-IYXVsUGGGVizbw,170
crux_providers/base/agent/runtime.py,sha256=6dyjiQgonZPTNPH-9BNJqegQZyjsoLWALRyEFexbJGM,10326
crux_providers/base/cancellation_parts/cancellation_token.py,sha256=zRLmU7eHrRCoG6CItKILiib2b2VNEyQAhfDNdmrWeco,2659
crux_providers/base/cancellation_parts/cancelled_error.py,sha256=xzVFesUOBPZDFDesDuslxvS3ovY6xqkyNOeEXcfzhpM,568
crux_providers/base/cancellation_parts/state.py,sha256=Ww7ScHCGitc28UFRArLBl64_tWrVpHrxCUzsHxCFTxw,525
crux_providers/base/capabilities/__init__.py,sha256=vbGHtVcyfqHhYcMTFsaO5lGuwPxn20HeT7dxMpJo41Q,972
crux_providers/base/capabilities/core.py,sha256=9aaYI61GjXictFr3U7mbJv03vWDmo3Rx7X41MU6ytzg,5230
crux_providers/base/capabilities/observed.py,sha256=gXp1pELyFZ24n8bR2RhrXjXanLYM5RpF9SOoPD4voKo,2861
crux_providers/base/capabilities/void_profile.py,sha256=6Ks0wmBPYsLS0W0pEDJ8YfvO2RL9LsiH2tl8uGm2Cyk,10796
crux_providers/base/context/__init__.py,sha256=dT1wY4iRD7wXi90g_ZXFgRjfouy0dRIMFwkojvzaAE0,235
crux_providers/base/context/manager.py,sha256=H6ccPo4zPin5cvMtBLMHSCHlDGp1N6NePXcAgCcOnRU,9161
crux_providers/base/dto/__init__.py,sha256=6az24R8aASAP4kqTCLtVkNCBb_ULumosOzL9YXMpyWc,296
crux_providers/base/dto/adapter_params.py,sha256=mTxqLDoIQeFtynCp0R1CB0Ggi5MlxToJXnuCxK3eP00,2485
crux_providers/base/dto/chat.py,sha256=UltWbmpPX9bS28hUaIwLBGChRisn8JoTejGIPDXmFLE,5507
crux_providers/base/dto/function_call.py,sha256=iOGV3OXOi7vxl2Cim2GhNZbIF73Y73sGTgQekyvYryM,932
crux_providers/base/dto/structured_output.py,sha256=3Tvt-6eq1LYUKn9-rNx2fiInmgrkhedMaIadWm_bFcs,958
crux_providers/base/dto/tool_result.py,sha256=2bjbi-ZKUy5DAlcXM7LW5MZ_ZZmAHsryLAW6bFY6wAA,1058
crux_providers/base/errors_parts/__init__.py,sha256=djEgJj1vEvG8KBlDkaAZ01od9CfAxIaAuZ_0fYpEJWY,385
crux_providers/base/errors_parts/classification.py,sha256=--FjHFjrxSOqnB_3STEHyapRLM2fkuhTOi-cyzzHE3o,3786
crux_providers/base/errors_parts/error_code.py,sha256=fY7620dAlt1Rw4-sdtpjQeH_i6erW3LRQZ3AYpDy7fU,804
crux_providers/base/errors_parts/provider_error.py,sha256=ebLYcGCVcUnHTusK8rdne67yWjk9FPJ2MkePKgl4_R0,1288
crux_providers/base/http/__init__.py,sha256=_5efK50ELKWXWIUqCW60mYxI5GEzWCuPRGTTob0lFDw,186
crux_providers/base/http/client.py,sha256=o3uBJDcMqXs5CLug71W1ATh7le6eTCunUm0dg7XnyNE,3872
crux_providers/base/interfaces_parts/__init__.py,sha256=AV15G6w_JMfBwwfp8AJnXUshiWae-8-Zpi7VFnd_GfU,1200
crux_providers/base/interfaces_parts/agent_runtime.py,sha256=WPpzSxxGFksOO9NTVFSzk8rrcQsdy21oVM0QUkN8tEQ,3860
crux_providers/base/interfaces_parts/context_manager.py,sha256=WaTXytcHkTfcUpVolz0_fUv78x2TpJ564VDkh3JrAzA,2954
crux_providers/base/interfaces_parts/has_data.py,sha256=lS4A4gsXCtoJoEEEXbNKDnweb70EBsiD7tc-P8UFKNU,710
crux_providers/base/interfaces_parts/has_default_model.py,sha256=0qWM1V6MBNGdjZbM2Qvi4t7LQy13MQmPJg3BRr8cAfE,507
crux_providers/base/interfaces_parts/has_id.py,sha256=X0SDibpLT-q1NPWm0mRjvin4DcpEukOpxlC1fUIXd-g,776
crux_providers/base/interfaces_parts/has_name_and_limits.py,sha256=FHiz0ojegaeUU_j0m9TnjoMmL_SOTyQfglzubIxWUnU,1837
crux_providers/base/interfaces_parts/llm_provider.py,sha256=Bb2x12UJdYwKn4c0-ScJrKfGSwqKWOZC1XMmN09rbI4,1022
crux_providers/base/interfaces_parts/model_listing_provider.py,sha256=xUpbfMHhh3A2kz3ZsKl6OsCkUfG2SEkKXqMCDXc0OoI,729
crux_providers/base/interfaces_parts/response_meta.py,sha256=uAKbicSxkESdECOVqZN9MdVD36j181RvpXJ3sOFKL7k,1624
crux_providers/base/interfaces_parts/response_misc.py,sha256=XdTXr36sSX5MOttZEqR_PLak2EdAWE3sbPz54tMiFhU,1216
crux_providers/base/interfaces_parts/supports_json_output.py,sha256=mLtV1GXQd8vzjJAZF-8xEN5P4oGmAjrzpKtIez40xf0,506
crux_providers/base/interfaces_parts/supports_responses_api.py,sha256=qgkyqmKWLUKt3yY7xnJY7g3-HPqp814KW6vlyWLTpxA,487
crux_providers/base/interfaces_parts/supports_streaming.py,sha256=mRimp5WhNhTgrqZgkcNtX_j5CaSOcN6BF7twiDB7AzE,994
crux_providers/base/interfaces_parts/supports_tool_use.py,sha256=kV58Zrm7QfU1Q1g0HjmoWZsuoA-JP10OadS0jsoL3DY,2533
crux_providers/base/log_support/__init__.py,sha256=vMMff3BmmCvABS5Xqwd-h3ih-lijUHMggCtgkbI46U4,214
crux_providers/base/log_support/json_formatter.py,sha256=0YcDrzyuonkOrRxVYMxIamseCce_kxjZ0dWOBnLo7gA,2825
crux_providers/base/log_support/logging_context.py,sha256=YOb-bVH3J-WmXREhoG1x4UiwsqQJVtgkqQgJpVY_9ns,1041
crux_providers/base/metrics/__init__.py,sha256=jAo4RzNGOOInvA3XG_Q97SouerGoxsF210qkh6vVn00,783
crux_providers/base/metrics/counters.py,sha256=WY_fvgXmPHiE_ilGhRvmNaYxUPe_nqmCd0aIDFUW990,480
crux_providers/base/metrics/exporter.py,sha256=sJYFb0y4ThzvhGbS4a8dJqXIG_3Fhrolk-S5g3G-b4E,3065
crux_providers/base/metrics/counters_parts/__init__.py,sha256=lMnkt0hdlHp3IkSE_zynMV89R6oQl-XADeLMrGkoslg,374
crux_providers/base/metrics/counters_parts/latency_stats_snapshot.py,sha256=t35RZLQTOA2Q-l70rvJk5w5DNrvzKbQmvCaahd5-Bw8,930
crux_providers/base/metrics/counters_parts/provider_counters_snapshot.py,sha256=Lt0ENcU2mM0LCbeAmLhZYNN5Bh3Pf_g7120TBGvF4eE,1110
crux_providers/base/metrics/counters_parts/provider_invocation_counters.py,sha256=r7-F1MdKgSNXmZcR7o-Uvx26Yc2GTOre5sv4ID4Nc8Q,6575
crux_providers/base/middleware/chain.py,sha256=HKY4MZhoChMxbm7UmMrIry0Qs2e9YVOIpX3YqWZCfOw,1632
crux_providers/base/middleware/middleware_base.py,sha256=hQGxwo0Vw23_fih_c_IurKMwY6lg2MLfpPbjwkUMWzM,2468
crux_providers/base/middleware/registry.py,sha256=BYkn92kD5e12fKOkCl4U_bpqCr0Pa8cAsP_MIHUHUnk,769
crux_providers/base/models_parts/__init__.py,sha256=2qj8i2_YcPKfwahTkeZGcZ0yE-yEbhZMODF6SEW0a1Q,723
crux_providers/base/models_parts/chat_request.py,sha256=JNqYXHfmz7JRRsBG4Bj3T5pocHZK5anOPp9um9-LBv4,2335
crux_providers/base/models_parts/chat_response.py,sha256=UrNgLg5gdU7yckZmILNVb9NU5XtlAzRWRhpnbE-oMCk,1509
crux_providers/base/models_parts/content_part.py,sha256=56rW-8z2O2wwom6UFStADiPcH2lytQpVukKij_Xaby4,2022
crux_providers/base/models_parts/message.py,sha256=iFGL9Yfi2eGU2pJ6v78KDyAO2sdRzF_E4sMVIMi4z_4,2269
crux_providers/base/models_parts/model_info.py,sha256=X29JVjoZ_WnbAeZ1U1U2Lc7QIApesmyUruWi6w_HeSE,1365
crux_providers/base/models_parts/model_registry_snapshot.py,sha256=8lUJ7_MRNSBxgG8Kmc4a8gtvf5sUWPuJDSfRpVnj4Hg,1560
crux_providers/base/models_parts/provider_metadata.py,sha256=fN2DpRGPmLzJlBC4Cc6uBcbGcF4un4ytXV3VETvecH4,1861
crux_providers/base/openai_style_parts/__init__.py,sha256=gQGc8qGO0zLHavA7-1UlYGCVIzkWLYXwtx3E2h2VJUc,518
crux_providers/base/openai_style_parts/base.py,sha256=yufAsdGKDHXHFqq5nrkDLAmPjXSnUlnIA-vhfcPjqAM,16743
crux_providers/base/openai_style_parts/client_protocol.py,sha256=8KvKpQ8Gk4MJT8jf3KOkE9LYRzrNj2j1-LG-lmfR754,1302
crux_providers/base/openai_style_parts/nonstream_helpers.py,sha256=Rb5aTLj2VAFKPWETrngpE87U1iZrX6xluV7RSHuuzFg,7018
crux_providers/base/openai_style_parts/provider_init.py,sha256=f5R4rQ7CZ-i_5RSeAip22vz4svvbW7H-puP0WnBS_X8,1154
crux_providers/base/openai_style_parts/structured.py,sha256=roUW1fBXzyAv0g0JO8fVRSSEnbUOVbDAgablsLEo-ag,3854
crux_providers/base/openai_style_parts/style.py,sha256=xQg9qFNEqvXl-ONn0mTqNGAjA2rjFIAtJqGCMT4jvIA,669
crux_providers/base/openai_style_parts/style_helpers.py,sha256=8EtLld-kSCrZfFzNy19DkJaIfXJQC1sbRDMH1gJ0P9c,7491
crux_providers/base/plugins/__init__.py,sha256=B60kSzb2I9nnM0PE1aH9y67JdwKQZpqJKlppZheawig,308
crux_providers/base/plugins/base.py,sha256=ZzSQfFRINGaf_lSQbAg51y_XHrsJAosTiSy6oJcSv9w,2337
crux_providers/base/plugins/mcp.py,sha256=J8kc6WRcp7EVa8-OYswjGkWpKe0PW7K-NWsP0QKtSEs,3002
crux_providers/base/plugins/registry.py,sha256=koDUSeDdiJ8EA0zInj9LFxAzYkcdIff6DvKIj07VAec,5459
crux_providers/base/repositories/__init__.py,sha256=XENDiiFNBCymscFWGKMdM4MUJHrLl4IUnOVcwdboSL8,436
crux_providers/base/repositories/keys.py,sha256=ZsIR4ZKUgPWhWSmTsw5vgRJec_wI8Y2bIuk_rSIeug0,5706
crux_providers/base/repositories/model_registry/__init__.py,sha256=7cd5mdZ7ad7Hao5IdvGnESVqQrN176zbucqw7APGtBI,260
crux_providers/base/repositories/model_registry/constants.py,sha256=CG2obuzvJY-JdhnoJ4jB6UHKEqUFvDCF3Fu8k_WxNbo,406
crux_providers/base/repositories/model_registry/db_store.py,sha256=VQDA8gNXvKbAfyQ41wVKDP-zzXUNhJbcJSYXS161NAk,2684
crux_providers/base/repositories/model_registry/json_io.py,sha256=vzM0q_hLC0guOkiLuB-GbPNRRHhux0JHJD-IRX7wdHM,379
crux_providers/base/repositories/model_registry/parsing.py,sha256=twqcLPJrk_q5tm-3s21_JwviWrdLIrAda1NvcyBFkt0,7864
crux_providers/base/repositories/model_registry/refreshers.py,sha256=2tl9UuP4FgxVLFrzE9kQlSH1AMoHNV-is3rXxvDAKI8,4849
crux_providers/base/repositories/model_registry/repository.py,sha256=tpKOmky0Tjf4bKVhR0TompHWDNpdkGri7njSWuLOBlQ,436
crux_providers/base/repositories/model_registry/repository_parts/model_registry_error.py,sha256=4UGGycrCDMoDes6V_SsznTJ1f3wL76pkjWlmgUD9J7c,642
crux_providers/base/repositories/model_registry/repository_parts/model_registry_repository.py,sha256=pIzIIdvs-rOJNddWxfaMQ35XiiGL1qD6aMqbxQ5YnhY,10257
crux_providers/base/resilience/cache.py,sha256=lbtSS7UIgXE78pPdE84PLY8Q9-OUVU2wkC4EYOnt5dA,916
crux_providers/base/resilience/error_handling.py,sha256=4qbud_imyIF7bagD3F2b7opW0NPjnDI-ihlObAyD4yw,595
crux_providers/base/resilience/fallback.py,sha256=KQfkgRmQKova9u_AfFZ1KNaa2u07g9-EKo3p5SNCSYw,3168
crux_providers/base/resilience/retry.py,sha256=o0tVEH5gasnChXuTZcDGxzEcDLw75VRLapBqBQoOcGM,3606
crux_providers/base/streaming/__init__.py,sha256=FaEmtcxuR8s7ERDDrVgeL8dRhtTnqI7ZiDTNXZwnetg,794
crux_providers/base/streaming/stream_controller.py,sha256=WYxVwgJYWRmqw7VUBJcYN_GAqzLz78HQJ1ldBp50UL4,3334
crux_providers/base/streaming/streaming.py,sha256=RPGd4sx75myWVdsJtRUj33NYggGP0PcvYW7wKDjL29M,2610
crux_providers/base/streaming/streaming_adapter.py,sha256=OXSuX-yVOCBLUnhBRqngTCERmTigEzWznBxx641fNIw,6205
crux_providers/base/streaming/streaming_adapter_helpers.py,sha256=AeijxZq_KUwTntwC7njvqwt51kow4xlYpDX4kvRhTuA,12019
crux_providers/base/streaming/streaming_finalize.py,sha256=yKgmB-HteujA1upcur0pzY3L_i79_jmNpbLhv6malmQ,3391
crux_providers/base/streaming/streaming_metrics.py,sha256=HOhcWgoVfiLLHAS89m3n61SHeisNNrZ4cVd3xvrMT9s,3025
crux_providers/base/streaming/streaming_support.py,sha256=wvc_zfqLAAVDnBRqz84RPm9jV3cF6V2i6-01J9EU4cc,797
crux_providers/base/stubs_parts/anthropic/__init__.py,sha256=Vxa2uk_wcrF7xIjoTJvb8mgQeJPKkvfuU4dXGs4Ekcg,807
crux_providers/base/stubs_parts/anthropic/anthropic_content_part.py,sha256=HP5_3InoZ4q5CFaKzaGjazmvsIuvsSM7DEhfZ31ey8k,316
crux_providers/base/stubs_parts/anthropic/anthropic_response.py,sha256=2mYA7BI7JrHgjWXhEOoUED5dtydTJxfkmYOS-PYVFvc,403
crux_providers/base/stubs_parts/anthropic/anthropic_stream_chunk.py,sha256=Gbj2jsACpb5ea4we9tXQNjifYM5ZhwCNYe1qkTqpQc4,700
crux_providers/base/stubs_parts/anthropic/anthropic_stream_context.py,sha256=KzfMa61AKSM0XIGBo7XK5TKgV_QHO-Zh-8wYQ8NypyA,2048
crux_providers/base/stubs_parts/anthropic/anthropic_stream_text_delta.py,sha256=i15wIB7NeK-nPq7Ygx9AxLiaiM0-bqR040uVixn6bG4,341
crux_providers/base/stubs_parts/anthropic/anthropic_usage.py,sha256=TkEc99wJRiCTqrNOt1CA7o-aHhyJhCbxvPD0bbw6J5s,685
crux_providers/base/stubs_parts/openai/__init__.py,sha256=Wc87uZAMwN2Dw-K1tDIYpLKC6eTt87QAvPJFxB9hWVY,960
crux_providers/base/stubs_parts/openai/openai_chat_response.py,sha256=X3i_k6oPVAGX-ZBc5tZ60-OiH2jn8TnUBrf6R1xay2s,339
crux_providers/base/stubs_parts/openai/openai_choice.py,sha256=gkBAkf_nch9OpXFt4MzCsuFvw4cc0Ea33BaxOjSHQCs,356
crux_providers/base/stubs_parts/openai/openai_choice_delta.py,sha256=2zCtL1IAlVWEXjtEthCg2n4vm3TU5s9IgMfWLs7m1bI,820
crux_providers/base/stubs_parts/openai/openai_message.py,sha256=LveXqwZzODLcjjbsnlMmZNLhvJd3emyhBb6gzpyRYxQ,246
crux_providers/base/stubs_parts/openai/openai_nonstream_choice.py,sha256=2oj-dbWhuDQ8vetqXnyanMdpyooDR95GYhBxiyCnOcY,283
crux_providers/base/stubs_parts/openai/openai_stream_chunk.py,sha256=nfWjxFOnlzuh1ETqG-YWzdGHRwvPhqaE26cAD8NEtWg,402
crux_providers/base/stubs_parts/openai/openai_tool_call.py,sha256=gDRqz105PqgAorU-6Mxykw16fyVF12xuOR8B5jXZQ1o,373
crux_providers/base/stubs_parts/openai/openai_tool_function.py,sha256=DY8HypbVV_YMuGfcHnR5orvf4bk0ms6x54e5JHukY7g,667
crux_providers/base/stubs_parts/openai/openai_usage.py,sha256=9XZs381hzqXt5dyAAFD1EqH6ZmH-mZCUjwJV8DlQMnw,781
crux_providers/base/tokens/__init__.py,sha256=9nTryeiNBGesjXuLZUtRaCFO9qVlYcvO3SNm-ubXj7Y,265
crux_providers/base/tokens/extraction.py,sha256=ETDmtTvl5XKojN-h36Qzm0h2j9BryeK53aEv0EV1hjI,8271
crux_providers/base/tools/router.py,sha256=vf65UdPt88CBJWUIoyteDw9PbgBkwVMf4p6sFmUcKfw,2170
crux_providers/base/trace_support/__init__.py,sha256=-PU53xlbqCZxCfx7BDcKvYG2cCDEO6pVWGQmS-_Z2uc,201
crux_providers/base/trace_support/tracing_noop_span.py,sha256=XUhMwbipp1z4JFInYwNadA4N5pnhFzlrj620_KU_4T4,550
crux_providers/base/trace_support/tracing_noop_tracer.py,sha256=4j4_zSw7dQzisOTxviQl4TLfIVqBBZ6wVQvtugcq5C0,299
crux_providers/base/utils/messages.py,sha256=NcVr97K1dnRhTseRgOHEZW347EKs7UA54lgoq0j2rL0,3220
crux_providers/base/utils/simple.py,sha256=e1jujTY57kUps1iTcHqu8l8k3fIdDl8CQ_1XfrECgCM,2735
crux_providers/catalog/providers/anthropic.yaml,sha256=iKpepJsathC_9o7eE52nuSKg1PR6OmMpCICHdoA4RhA,4299
crux_providers/catalog/providers/deepseek.yaml,sha256=4BFnZJl1rcMO9aGpQPOiZIFdgWQECbeqMUKQl0k03tw,1137
crux_providers/catalog/providers/gemini.yaml,sha256=mhjarUiqJ9hqLd5oU1tdYcKlJYGighBDNmg1WGTDXJ4,4614
crux_providers/catalog/providers/groq.yaml,sha256=glxq9IksQu2z0kirkKMROyCESE1rvciAfb4lr3tp_II,1899
crux_providers/catalog/providers/mistral.yaml,sha256=kiMQzEnQQjpNtyah4fIAzcEq0NTurRj3sFSyuYkBZgs,3761
crux_providers/catalog/providers/ollama.yaml,sha256=dpa59b5NZCj-A_7a-d_i81f3Jcq2I2qpbAwMLenOv24,4039
crux_providers/catalog/providers/openai.yaml,sha256=cwlN-p_eWaQwYa2Jc-S8-n8zw96qp2LrzQI7TqiynbU,5257
crux_providers/catalog/providers/openrouter.yaml,sha256=yMulmQls7X2APSrlg30FJib5C5YvDYq2rh7hg6dPVOE,7842
crux_providers/catalog/providers/xai.yaml,sha256=KTGpcFVVz10pi4MU7mHq9fVvA9L2g9tz4jivEyI1-7c,2406
crux_providers/config/__init__.py,sha256=4MUvbkpYuH_egkCf8SsjO1VVE3SpggklqKfMeENAiRQ,6623
crux_providers/config/defaults.py,sha256=ZTLzS144p1fC5p3zosA4KEPZcb-fxwDlYFJHhVetaWM,4511
crux_providers/config/env.py,sha256=1LY_rYrLj7Pefs_gCAzvCz83tcYOYG_e0xtJShVP7B8,5341
crux_providers/config/provider_governance.json,sha256=8lInqUFdi1oNz6bi4BeOqMf5WvCpqR76x8pMEji2QkM,723
crux_providers/deepseek/README.md,sha256=KVcuuPr7NSFdvo1XanBaPFToJbX0ybGRlg8wo8n3r_U,1015
crux_providers/deepseek/__init__.py,sha256=6bVrj3Ju7UMS4JjFJ53AC-KHqLNzJNkHNMQmEbKLuO4,84
crux_providers/deepseek/client.py,sha256=CeUj0sij4Fisxn6ijtETEOEo0HdBavEUpJtl7lFAd-g,2784
crux_providers/deepseek/get_deepseek_models.py,sha256=z4pPdNllbV_uFa-RSZjWf9FtCAVq0ThN40zMI-JURvo,4184
crux_providers/di/__init__.py,sha256=Kk3hd-j-Pmase0cX-IbioR5NxuKEbgKyt7gr1CS7aWU,335
crux_providers/di/container.py,sha256=s4CkLj179vfGvXt5OaEYtAKdmeB-8tO04OxtBgpftLw,3283
crux_providers/gemini/README.md,sha256=C_X2w0bEI53WpLYu2Zt2pnRAbBj8jjsRMQ_WTijA5RE,976
crux_providers/gemini/__init__.py,sha256=pbatf_zYoIgWpa78QBNdJ_KHXaqPa-uew80-V0Rc5P0,80
crux_providers/gemini/client.py,sha256=N03IoXd4khvPVFdmfrXAIU-3ZfWZj6zQZiCNyHjl8LU,18038
crux_providers/gemini/get_gemini_models.py,sha256=jwX2Xcn4iBUAl0PfXFMVIp3_fRZfoAtzO0m1BE-2UPg,4303
crux_providers/key_vault/.gitignore,sha256=JAo-DTfS6GthQGP1NH6wLU-ZymwlTea4KHH_jZVTKn0,14
crux_providers/ollama/README.md,sha256=ke63z00SctmJLEnbLq8aFVURArpGGeExuzwnD-8iGrM,1239
crux_providers/ollama/__init__.py,sha256=9zRxkpfgly28pIot6p1auTJtlfdmUUoz7ZMrLC6coiA,80
crux_providers/ollama/client.py,sha256=l189r3YwvlOPJxyWezlf09hOSmJrD1u_byJS7rqwCzs,6084
crux_providers/ollama/get_ollama_models.py,sha256=IqWFyC87spZyT8BxgETgLfph4OQCamXEsqpBo78x3QY,11594
crux_providers/ollama/helpers.py,sha256=A4AajqXZAYFaNipIwhSWw3WcIrKRvszaoE7ANTaDrmY,14746
crux_providers/openai/README.md,sha256=PMCkin3ZfwUzCHEbmke749HEUP3kjPcz1PdLfLqW8BU,973
crux_providers/openai/__init__.py,sha256=jUkQFxCKb472w04ePmtdNNQ-dTo2TVuhH36wk3PoqCE,235
crux_providers/openai/client.py,sha256=4Ww0FyyScToFmYGUqnbaIE729Qm9qPI4drPT-Ep1Y7w,7091
crux_providers/openai/get_openai_models.py,sha256=O8MDhL8GNuKkAwJMJ4pq4BBRRHIGFvkPn3jVBepG9J0,9988
crux_providers/openrouter/README.md,sha256=gS0F_ZP5L7RROm9JuTmm1yPk0A_vAhSquTLooUhcDek,1208
crux_providers/openrouter/__init__.py,sha256=SGMFtEmsc7fNBqiV7bSbKYmUKLKd1Oknhm_KTcB7Y64,88
crux_providers/openrouter/chat_helpers.py,sha256=q7UN5ipDQRaRo-U5HByWKA7n8Fl0Kt8E1KtzMN-5S5k,4304
crux_providers/openrouter/client.py,sha256=MfiwanFyJxcKM8yx3hDZzfjOBI9a-0274h6JhjDku0o,19866
crux_providers/openrouter/get_openrouter_models.py,sha256=w-whO2g6IPZYKTJ_MuxggdLCpchjUfJGrgdnWkyE72E,5650
crux_providers/openrouter/helpers.py,sha256=IPbtg-gDJF4zQlpnwkMy7YzM-B6hFYw8ZUDzuZpjwEs,3884
crux_providers/openrouter/stream_helpers.py,sha256=WSOkNxrt-lgqciWoYaIKIPD3DKyaZXExN_j5vI-m844,5255
crux_providers/persistence/interfaces/__init__.py,sha256=k1wJt36D9COaX4jhCvWITaS75HWu3fRwjAMDnMepWUc,420
crux_providers/persistence/interfaces/repos.py,sha256=pTYwdljEnL2eFdigB4k6u3B_QBMpPWIjVVMPQPkmDus,11477
crux_providers/persistence/sqlite/__init__.py,sha256=76Znj2lQETQzuespAl4f7vKwOKZOzEMt55huQ_yznY8,446
crux_providers/persistence/sqlite/backfill_timestamps.py,sha256=7MLRGeGNToUYfoGeKV_qINC95Fmy8GmhvZtGDKlD7bM,15654
crux_providers/persistence/sqlite/chatlog_repo.py,sha256=yMW7pORmpNJVoXy3NbGLdbqfSHS_-Y74KoDu51GCwtc,2644
crux_providers/persistence/sqlite/db_schema.py,sha256=IxUAwPQwdq9vhMUxNUbpO2d-F1ZWhpJyGXJIKgeF6tc,3915
crux_providers/persistence/sqlite/engine.py,sha256=il7b9XzOwxCR8CDnI0U-JrRWgA8VGjMVKmAMugRUFq8,5881
crux_providers/persistence/sqlite/helpers.py,sha256=BeNSw3H9QhCpEU4Cb_3iwFpPkpJnHB1qLGPcnyuoS3c,2766
crux_providers/persistence/sqlite/keystore_repo.py,sha256=N9q2zcRnqWp1MHLYfIHLEmMNNdv0521JtCDLdwGBp-k,3094
crux_providers/persistence/sqlite/metrics_repo.py,sha256=uxysfWsWQ9aNSPfsCtc0k0guwdIUaM_XhKppb_oBTas,5793
crux_providers/persistence/sqlite/migrator.py,sha256=FSOEP3UwWA9UQgd7BINy9_M36_9IVBL71sRm8JftqFE,5577
crux_providers/persistence/sqlite/model_registry_store.py,sha256=qCDgTYhXNOqgj2yYrcv_yUvDheClzaBGaG49zWIGUZE,13649
crux_providers/persistence/sqlite/observed_capabilities_store.py,sha256=ya07zqTPJimYxNki77bseQdORREZ0YqNbvjMKtStIUU,3134
crux_providers/persistence/sqlite/prefs_repo.py,sha256=FA-WtZg_SbJxIB-Vldq2991_EexRI9aM492zeZGXaMw,2496
crux_providers/persistence/sqlite/repos.py,sha256=qdYOhnaN_MerlZh8bMcGgO3EG9e_4LBtFrNiCzevGbk,721
crux_providers/persistence/sqlite/seed.py,sha256=mrfgcOW2SYI2WoMFAT20bGbParrr7j3ctP6TgxoWvr8,3724
crux_providers/persistence/sqlite/sqlite_config.py,sha256=van0oPSbsqwJrnSA-7PEFf7FA170wbXPEoGFiQR-36g,4875
crux_providers/persistence/sqlite/unit_of_work.py,sha256=nF0OJftpVW5R4H2zP5nHEAAVVn-BUPeDCkPYkImpges,1937
crux_providers/service/__init__.py,sha256=xcgFTBCx9oz4JN5LdvkcFEK4gwMFDznwLmB-bED00a4,285
crux_providers/service/app.py,sha256=5HH7eH9AND15CA5Hibdm_htP7Tt_7eANtCuQTT4r2pU,9287
crux_providers/service/benchmark.py,sha256=h9Qu0wCja7chEuwQqbIIxOGIrBCVGmKxKjk8yRjmzRs,12321
crux_providers/service/chat_request_build.py,sha256=JLlAIS-qhprftILOGSrfCQZQyO09vqgpg5pmuXZI5js,5276
crux_providers/service/chat_stream.py,sha256=dDW9ziO_WDrUAnvhfTDoemsO_rSOay7C8tAn0jRVYCo,6294
crux_providers/service/db.py,sha256=Piumzu_PQQekj5uJqsSOth4yXqKENYAgESfimmAMNz8,14256
crux_providers/service/db_schema.py,sha256=XJiHDndKCYQpaC5YqsY2gJ_82B4RlBbZKshxE5VRUkM,3709
crux_providers/service/dev_server.py,sha256=lExnnJKGuOW_z8X3iWw3mSY601u-vU26vGW8CZp_QxY,1539
crux_providers/service/helpers.py,sha256=9rLODITriPz4JqVCnzdD2lwALE9bi0g0EcMUdJ5h_B4,13907
crux_providers/service/model_catalog_loader.py,sha256=2RSsqxo2CZoDtPp6ZFZtyGEh112efVJf3GJqr0Ss-Y0,10153
crux_providers/service/model_registry_store.py,sha256=e-cjQ9E8K-ND97SFis83C5tickMmHcn9YeqJHUyuhGo,5534
crux_providers/service/app_parts/app_core.py,sha256=3DIoWiDoBaBqKPhANSHIJmpk5RDUa7bLra0WUkkXJvg,6336
crux_providers/service/cli/__init__.py,sha256=uK21ke4J1b7WorfABl3UVLUeaDirBcM0q4BJyFdmAEg,1755
crux_providers/service/cli/__main__.py,sha256=dhKUOM8b_2b_6x4LEDO2iCOzxNRg2nJXf10fSXxjgOI,315
crux_providers/service/cli/cli_actions.py,sha256=ubLlxV0uLzRFlCYvu84sJl6tsyshXFjD_IF09UyAfu4,13630
crux_providers/service/cli/cli_parser.py,sha256=-A8OpNJ5T5uA4l53J1-r40jYX_ha9Aq3sYSFhZL_OXU,4393
crux_providers/service/cli/cli_shell.py,sha256=fy_CjGRakV2kR3de2d3vxIW1Her1_UQDiEjRw1kY80U,22628
crux_providers/service/cli/cli_utils.py,sha256=pJZzPyjLwnHts0WyjhL1QksMtFcn3QhdoiUKCz07PPk,4848
crux_providers/service/cli/settings.py,sha256=FcwQVcnJyElzSYo1pK6Z76omNDoWo5yNUsYJr7xfZHw,8724
crux_providers/tests/__init__.py,sha256=ojh-SzAoF_shnafV0_o0YRI3JlVT9AwCOKUatOCyss8,20
crux_providers/tests/conftest.py,sha256=3T3qZA9rYn7xecq-Xw5MKWt48K_bWelEER0lMwuuvZU,1426
crux_providers/tests/test_adapter_params.py,sha256=LnD6eDmYiVsQWLulk8cisQgR7DPgTf8AAU2MPmVpXR0,1555
crux_providers/tests/test_app_chat_stream.py,sha256=ygugzc6LvRr412LcLVp_3INTcw68S03vWN1mbOccSTM,3421
crux_providers/tests/test_app_models_and_providers.py,sha256=fEtdltPfckZUaR2HTbg2VExn4Whuc13QFgASFac1Z6c,7896
crux_providers/tests/test_architecture_boundaries.py,sha256=u7CERauWKIqQ3Orqb_eQZoWiKvePPERzJxUXHyYozQY,4731
crux_providers/tests/test_benchmark.py,sha256=EbFtLhFTrwGPdEr95wQ_XvWT7ynVrgNLiTNMkl0kWHs,1229
crux_providers/tests/test_call_with_retry_deprecation.py,sha256=tZpT2gt4bwNknP9J60LRHQX8mgBFDqVxFE1pItZIU40,382
crux_providers/tests/test_cancellation_unit.py,sha256=TkHCz3JZfOMSLXY3OzXfuweVPIDNl6cYM4wM3zEHyao,1362
crux_providers/tests/test_cli_missing_key.py,sha256=Mg4lhH-iInAtkRzq6qgMY59cVSPHOS06OCGiqwM--vA,1495
crux_providers/tests/test_cli_smoke.py,sha256=znfmrubkqMtcC9lOkj1jJTFcKG4pDsjgKqra1ewS3yY,1712
crux_providers/tests/test_cli_unit.py,sha256=SIMtLHP0VVUkFe4tBVmABg23aCQYf9HY-ITBeRCL4ag,802
crux_providers/tests/test_db_helper.py,sha256=l-hhzyTWSL4ZxLYaXVohSaNUgYI4x7qiuUE-s9110Zs,6297
crux_providers/tests/test_di_wiring.py,sha256=q1z5jwjk_aECVNZPSKTK19_kg24syzG8SmlngEVbE7Y,7528
crux_providers/tests/test_dto_validation.py,sha256=ZggVqDvp7UJv4kRGnU3KBy0ku2PoevJBfF09zHWJZJI,2010
crux_providers/tests/test_env_config.py,sha256=NxHL82LQL9BN0n9c1OBTVCsmihTSxaurszWL30tQEek,1878
crux_providers/tests/test_env_config_edge_cases.py,sha256=sOqqBj4XQyQOTp3y9_yj7PLhbpyKWn5le20hrjH0OPM,4967
crux_providers/tests/test_error_classification_unit.py,sha256=csodR6EofckeXOx4LTQIUOG_4XmwCXUXf07C8GuOeq4,1389
crux_providers/tests/test_factory_unit.py,sha256=g6Kq8-bjBeZ64mkasllNCD1jk7J4qIFK-UWLd4SwUWA,612
crux_providers/tests/test_http_client_pool.py,sha256=IUjtCwT0MLN8Jq6jxhrTv2qzGGp0on8OsTBMC27P0D8,1305
crux_providers/tests/test_imports_zero_coverage.py,sha256=K7SDOLtp1M0TyRjZ_So0ykY2lW_Ytq0T5uT-8qZGLOo,2457
crux_providers/tests/test_input_size_guard.py,sha256=GejJYkUHkPLCOFhKwPa9Zb39o6Kwhn851bWebv1IHXo,2934
crux_providers/tests/test_keys_repository.py,sha256=G-dfOt-CGBA8V89e6_kuMz8WZQq81MbKDsGYjPikgmE,1991
crux_providers/tests/test_logging_normalized.py,sha256=t99kdhG0rIAXDfDTsTrvOhyOiXNZpXGyZvENkY-2Yas,2650
crux_providers/tests/test_logging_unit.py,sha256=QqmElARb_HtfBQBiAhV6VlxwmyQnbGVMGvGk635V0CE,1779
crux_providers/tests/test_messages_utils.py,sha256=G-2Oz3VCyZ5o_maD0LT8GrOogyQoXvDbiptqKqGDgak,1805
crux_providers/tests/test_metrics_counters_unit.py,sha256=4tlx1pUd39v_RPwkI3mI0LtcyPrirJWSapij3fnBx0c,2181
crux_providers/tests/test_metrics_emission.py,sha256=P5_rmo0_qzhlWotmbgt3yt_QG-a3AHHob5zSQFTsmNw,3430
crux_providers/tests/test_openai_structured_translator.py,sha256=5LbKUBryJ-ADwwjfD4_erQid6MxQFNdMoM4COpRt6hs,2442
crux_providers/tests/test_openai_style_base.py,sha256=0dcOZOqLZxLiREmCPNllxP1MF3147v_gFeq6VDPQbA8,3150
crux_providers/tests/test_openai_style_helpers.py,sha256=LUtCWgk6MRPivN7_1s_7ssm3Zg83MTkzMYBZaE0rFcY,4558
crux_providers/tests/test_openai_style_reexport.py,sha256=fR0fEPJ8PrV5hufUwOKAeVkTtJ4vEnB31EEk5N3jydo,753
crux_providers/tests/test_policies_filesize.py,sha256=Z66x4DiqiHbBC_OnY-rGCuBzH-gCOlKsoIGhGCF2ftk,2084
crux_providers/tests/test_policies_provider_file_placement.py,sha256=e8V1DBdtORonXQST6trnk7vf543EIKyY_ibmlaT2Lqo,3232
crux_providers/tests/test_providers_smoke.py,sha256=j8cDcBU0A5PMDQDRneL3SNcbrHRj3ovgXpzEpfdQDVM,880
crux_providers/tests/test_retry_policy_unit.py,sha256=4k7DBV83qEbviP5TkHzYt1utc2f0o-aUaw7KrwtU9HA,1900
crux_providers/tests/test_service_smoke.py,sha256=BPCVBPuBAjc9B4TuNAeq8aFLDPDBjEQe4iXjbC1KTKc,886
crux_providers/tests/test_simple_helper.py,sha256=hzO0HWbp_ZVt2fYxQVkPLfmMBA47O02-gFEOiXY3DcE,3050
crux_providers/tests/test_sqlite_datetime_roundtrip.py,sha256=Pf9ODvvr7mYk5zzBRLqzU7GyGHYobWdUjFRUub7o1kY,336
crux_providers/tests/test_sqlite_naive_datetime_rejected.py,sha256=6cLOW18Wqu6TukEpvdmJVEC3rVBbTGcki_u7VhDaDqs,342
crux_providers/tests/test_sqlite_repos.py,sha256=9s7Ot5sFR-dUnCXSFsVtbkdcAwpbGKE0e_UyrDPD63I,477
crux_providers/tests/test_sqlite_schema.py,sha256=zx0Rd8z0ZkwhDtsUbDLeIOKxFLJFvzG2EQVaS94T3yI,2529
crux_providers/tests/test_streaming_contract.py,sha256=dubmdu56u9sByBnJXiaaYlcjA0YPdIHCwgk9f0E0V_Q,5008
crux_providers/tests/test_streaming_metrics_unit.py,sha256=M-jGDiHqCIQZ2JcA47Fs_3uUo2gVswzB42bNbLN8D_g,1825
crux_providers/tests/test_streaming_support.py,sha256=XO2SXGOmY8IN1ZFP2FHqkHaRi4xo_hR0HnBUm-yA57c,3585
crux_providers/tests/test_structured_output_dto.py,sha256=axOF0TLDuxPAFMkKKS2-G-lII1C3UChe6FyOm56uzTY,1589
crux_providers/tests/test_tool_router.py,sha256=BOmxU8zNFl88P4dB9fxDIaJx9YjR7wZ13U5xp78eh4M,1183
crux_providers/tests/utils.py,sha256=NRResNe6wlk5Sox92cBN6Xut9dYUI1HWg2PaTykZLMA,1240
crux_providers/tests/base/test_capabilities_helpers.py,sha256=li4MlnwAgT812ZYlDryhDpD_8DU9vIVVrJzKXfauUUU,4287
crux_providers/tests/base/test_middleware_chain.py,sha256=AknS5qzXTwqS-mPPlxD_Sai3vDmly08ctXqTqTC7OSI,3342
crux_providers/tests/base/test_model_registry_observed_merge.py,sha256=aFnH76t7s9pMvTqHxzOFaDJFaOLAN760WP6SPSA4G1E,2842
crux_providers/tests/base/test_tool_router.py,sha256=L_kO6u2TLtddQmWUKyLLG3ayjIuwHgXP7U63zm8bwnI,2787
crux_providers/tests/persistence/test_context_length_parsing.py,sha256=pICXJgWQwnw_D5SD7yx3HT2O2wZqFA9Vf5akh63FFtY,4679
crux_providers/tests/persistence/test_metrics_summary.py,sha256=Z5KVXX-RTGhU26rhlWBkXQisomD5aTXIWpRYYLqzmmA,1884
crux_providers/tests/persistence/test_model_catalog_loader_integration.py,sha256=w3sIgLj-NC-l2QepN169nGzUkwhfE-iZ_ZMjVPSOtOc,5491
crux_providers/tests/persistence/test_model_registry_store.py,sha256=eX2DdhmzflhbJ_MqXPbDjTc1Cd_smJOdUTIYXAsVO8M,1823
crux_providers/tests/persistence/test_seed_import.py,sha256=52d7uptAUkHgXRY57UDJ7GhY2RcWLnQzSvu_VXFHA1M,3404
crux_providers/tests/persistence/test_sqlite_engine.py,sha256=qGokMljgIVQGHjDtJMb4tzRzk4LjKqhhGRTHZ06laVw,3640
crux_providers/tests/persistence/test_sqlite_repos.py,sha256=eV1UGLB6xODt68pnTZ5gg6jpEcM8pYk441HZu1to8u0,4935
crux_providers/tests/persistence/sqlite/conftest.py,sha256=pG1TKc--fduCIANc7zUfyOO0cxkpdHHdLZj62mpCuV8,1081
crux_providers/tests/persistence/sqlite/test_chatlog_repo.py,sha256=0sqMOCZDXFlzXAWBUYoMcOt-xcskHWB31lggtr0JZ9g,1409
crux_providers/tests/persistence/sqlite/test_datetime_naive_rejected.py,sha256=LlM_Bh5Ix2hSbq9nFsEKSvfHzYwTCqPCSi6aaG56Skk,729
crux_providers/tests/persistence/sqlite/test_datetime_roundtrip.py,sha256=-Ri_CXp9Ug8yF6sxF_Mwme1cdBWIHMAE5PsgWY_pjBc,1507
crux_providers/tests/persistence/sqlite/test_keys_repo.py,sha256=J-OIGJ9gDZN4gxB9tmWxJVFvZqPMfjJHobp9ihjwB8U,941
crux_providers/tests/persistence/sqlite/test_metrics_repo.py,sha256=pdlCbvTQ74b1z0RCyxGFPChxv6YJiZ60kFivtZwc_d0,3240
crux_providers/tests/persistence/sqlite/test_migrator.py,sha256=a89RaNe-Z25UWbjiv-jucoXRYcV_o7jkRr5mWG9itIY,1898
crux_providers/tests/persistence/sqlite/test_prefs_repo.py,sha256=GC1PjKj1PP8Lh6hF0I6ttKJ6gQOGxqL2cVZxwuxXjqg,656
crux_providers/tests/persistence/sqlite/test_unit_of_work.py,sha256=_hGM94Z-iCbxYDNTAAl4J1tWYOC6XEnGcNgcw3Vg4Jw,880
crux_providers/tests/providers/test_backfill_timestamps.py,sha256=MoobCS4DWEbIDsJav9dcI8jH7MKRKJIfdEhTvNhwnQ4,5733
crux_providers/tests/providers/test_backfill_timestamps_json.py,sha256=SFTAxzrt6mw0fmP_cV_fezRkmcQSdC8F15I00ZedPoQ,7264
crux_providers/tests/providers/test_backfill_timestamps_schema.py,sha256=rlM8z0XKvWwWFEOvrtCjtL1B9K4KWFlEFt11KPOOiNc,2724
crux_providers/tests/providers/test_capability_inference.py,sha256=nhWsB0AgKo3X6udfgk4rBzYxrckvMp0HSrPqoufOkx0,6083
crux_providers/tests/providers/test_chatlog_repo_edge_cases.py,sha256=YGJ5YbNzCmJx6oMzYzsEfqtKKr6R_EfMai9GmHQKctk,5163
crux_providers/tests/providers/test_datetime_parse_helper.py,sha256=ghvsSi6GlnY9KQEOuUEA7H-STvDA4YAUtDXyxizJtSE,2113
crux_providers/tests/providers/test_metrics_datetime_normalization.py,sha256=R9jnjhQDrr4hYcqIMqFVm_xzk8UBgMFO1SjqSgVF-wU,1858
crux_providers/tests/providers/test_metrics_repo_edge_cases.py,sha256=I_JA_bxEQ51e788fGQGLCMTv24fGcJIqrdsGwuAVCuU,4027
crux_providers/tests/providers/test_migrator_edge_cases.py,sha256=uMvof7UO4bWOlMEBCbzQ01KUE-qLDAhAOGDVJYHHJLA,5161
crux_providers/tests/providers/test_ollama_parsing.py,sha256=osFJgdPpVXXt0xJh1n2dW3lzPfCa_GOLHgwoFFvH_8U,1772
crux_providers/tests/service/cli/test_cli_utils_suppress_console.py,sha256=YkluuKtjnMRGByZPJiK61jw0Yc49ThsKOZd53hFZTBQ,4609
crux_providers/tests/streaming/conftest.py,sha256=vV8jNQC2BFsv34PHbgMz-2D9ZbWyN9cpPMByK4aGRE0,1078
crux_providers/tests/streaming/helpers.py,sha256=wVrj_0bWyGbqcqWix_uydNFjYW1BPZmabnpYSc4_DGE,1981
crux_providers/tests/streaming/test_adapter_delta_terminal.py,sha256=jvzDE4SUVDcivcb-kktxJt66x46U623uTI5OFN5pzRI,2804
crux_providers/tests/streaming/test_deepseek_xai_structured_streaming.py,sha256=DrUWlAf-MyrJfthe4SmfaIrUPbS9rjD6WLUlSRz77f4,3109
crux_providers/tests/streaming/test_openrouter_structured_streaming.py,sha256=5B95pHmrxSeE5lxsfiaQv7b8crHJjikSurgbfuyTh-4,2542
crux_providers/tests/streaming/test_stream_adapter_metrics_real.py,sha256=GorpB8dDitW_tknxtP7KBkDlg35dLkbuwPGA9PNHXMg,6122
crux_providers/tests/streaming/test_stream_cancellation_metrics.py,sha256=BbTpgJ-tO9G6hnbeWoBLeRNAjxKseC69MRUVVvyZVx0,6095
crux_providers/tests/streaming/test_stream_contract_basic.py,sha256=LvxXoZkrqxg3gfMlS0HqRElNYpSih7mWl-OgyVlIJ-U,3710
crux_providers/tests/streaming/test_stream_contract_cancellation.py,sha256=3fv1v7yUP1vu2SZUQMTJRL6HVuaZax8w-3fuwEIcZLo,2179
crux_providers/tests/streaming/test_stream_contract_capability_and_metrics.py,sha256=yLlPAgmPko-oHKjo98r1h2I3-G1tLm9-hyhOQ1avBuU,4659
crux_providers/tests/streaming/test_stream_contract_logging.py,sha256=u-o2N-n5xI_72LFMHrTyBz7EwHOWxLy_ZCPppBSauoA,9986
crux_providers/tests/streaming/test_stream_contract_logging_internal.py,sha256=DazFm7vMG0CcvFcvOtw8-kxWxfrwbTCHUEQTn-fTML8,2931
crux_providers/tests/streaming/test_stream_contract_logging_levels.py,sha256=t75hianjLnybfcCwkYlwnYVoTVy6t7bJqxADdcnhBB8,3415
crux_providers/tests/streaming/test_stream_contract_structured.py,sha256=kpz9MGKm3VYHrTiQO1Qo6rHkxLIt19fuQiOcTDCH4Sk,3473
crux_providers/tests/streaming/test_stream_controller_isolated.py,sha256=-ZNSoHQjppCuD-uM2wOVA5hhp--YPwvV3chkin21Beo,7242
crux_providers/tests/streaming/test_stream_internal_error.py,sha256=hlhDaPcifvb74reoTQI_qPvWv2HFNmYoqWVxZA7HgbU,2614
crux_providers/tests/streaming/test_stream_metrics_integrity.py,sha256=CkfGnM-hMc9H1SsubOb2BWgE4OSgfVeCZtXd7JeS6Os,4339
crux_providers/tests/streaming/test_stream_starter_shapes_meta.py,sha256=Gv2ueMe4c4FiyWKwHg1vQ9ueKoRovWSLy5qrGPuXCR4,6496
crux_providers/tests/unit/test_input_size_guard.py,sha256=3pyT5L-1TwwXLIGcJBc22fZ4yQAQ0Snk8eG1Hf3a2mY,3255
crux_providers/tests/unit/test_messages_helper_guard.py,sha256=qnYNDq9YokjFQOfYgh7a64vdLtD-J2uvsx-lmcJlXFU,1616
crux_providers/tests/unit/test_providers_helpers.py,sha256=pJH-a5uyvytByGCCf-y_AnzT0ZxGhc7AAIiScUMs8R8,1341
crux_providers/utils/__init__.py,sha256=wSz42sTZSG8z4YtUYp9DsoB4c2NykgltxS-Rfy6rRLg,59
crux_providers/utils/input_size_guard.py,sha256=oFLeh3dhgC40jf3AbNL5D3siqs1j_6dpPAzuWZaiXKk,11279
crux_providers/utils/refresh_all_models.py,sha256=LyG3VkL9Uz6S2lqU2SyFxiqxi91u1jBxg7qg787flbU,6854
crux_providers/xai/README.md,sha256=8lhmmiTNvfqoUS-9jmtQ23fI3odyPyV9OyVw_2cHcIk,923
crux_providers/xai/__init__.py,sha256=E7doA1oULr3xfUeo5EAi-Ig0et8pzktebnvl3yNJrgI,74
crux_providers/xai/client.py,sha256=E1jQANMOBwcFEwEXv6UyrxSeVckcUHaej3sdEzTCVh0,1512
crux_providers/xai/get_xai_models.py,sha256=aEmqTJgM1wkfUVgnJkF-6T1elnPjwhTBnCHsvpaxFeM,3674
crux_providers-0.1.0.dist-info/METADATA,sha256=XIMVmHbWZLDHb_yLs0jwm9xlhrNySvOdEWRe712nt6s,46517
crux_providers-0.1.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
crux_providers-0.1.0.dist-info/licenses/LICENSE.txt,sha256=sCgycarZZsVoiYkHg3ki6M5_xeBLLSCkHU5E6KevfxU,1069
crux_providers-0.1.0.dist-info/RECORD,,
