nemo-switchyard 0.0.1.dev1__tar.gz → 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/Cargo.toml +1 -1
  2. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/PKG-INFO +36 -17
  3. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/README.md +32 -13
  4. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/pyproject.toml +4 -4
  5. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/__init__.py +1 -1
  6. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/Cargo.lock +0 -0
  7. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/LICENSE +0 -0
  8. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/NOTICE +0 -0
  9. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/Cargo.toml +0 -0
  10. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/backends/anthropic.rs +0 -0
  11. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/backends/common.rs +0 -0
  12. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/backends/context_overflow.rs +0 -0
  13. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/backends/mod.rs +0 -0
  14. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/backends/multi.rs +0 -0
  15. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/backends/openai.rs +0 -0
  16. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/backends/selection.rs +0 -0
  17. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/backends/stats.rs +0 -0
  18. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/dimension_collector/config.rs +0 -0
  19. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/dimension_collector/mod.rs +0 -0
  20. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/dimension_collector/response/checks.rs +0 -0
  21. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/dimension_collector/response/mod.rs +0 -0
  22. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/dimension_collector/scorers.rs +0 -0
  23. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/dimension_collector/tool_signals.rs +0 -0
  24. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/intake/client.rs +0 -0
  25. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/intake/config.rs +0 -0
  26. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/intake/context.rs +0 -0
  27. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/intake/payload.rs +0 -0
  28. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/intake.rs +0 -0
  29. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/lib.rs +0 -0
  30. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/request_processors/dimension_collector.rs +0 -0
  31. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/request_processors/intake.rs +0 -0
  32. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/request_processors/mod.rs +0 -0
  33. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/request_processors/random_routing.rs +0 -0
  34. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/request_processors/stats.rs +0 -0
  35. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/response_processors/intake.rs +0 -0
  36. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/response_processors/mod.rs +0 -0
  37. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/response_processors/response_signals.rs +0 -0
  38. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/response_processors/stats.rs +0 -0
  39. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/stats/accumulator.rs +0 -0
  40. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/stats/cache_eligibility.rs +0 -0
  41. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/stats/context.rs +0 -0
  42. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/stats/cost.rs +0 -0
  43. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/stats/mod.rs +0 -0
  44. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/stats/usage.rs +0 -0
  45. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/src/telemetry.rs +0 -0
  46. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/adversarial_multi_llm_backend.rs +0 -0
  47. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/adversarial_native_backends.rs +0 -0
  48. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/adversarial_random_routing.rs +0 -0
  49. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/intake_http_sink.rs +0 -0
  50. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/intake_payload.rs +0 -0
  51. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/intake_request_processor.rs +0 -0
  52. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/intake_response_processor.rs +0 -0
  53. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/nvdataflow_live.rs +0 -0
  54. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/stats_accumulator.rs +0 -0
  55. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/stats_processors.rs +0 -0
  56. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/stats_usage_shapes.rs +0 -0
  57. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/support/config.rs +0 -0
  58. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/support/intake.rs +0 -0
  59. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components/tests/support/mod.rs +0 -0
  60. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/Cargo.toml +0 -0
  61. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/DESIGN.md +0 -0
  62. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/backend.rs +0 -0
  63. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/config/loading.rs +0 -0
  64. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/config/parsing.rs +0 -0
  65. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/config/resolving.rs +0 -0
  66. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/config.rs +0 -0
  67. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/lib.rs +0 -0
  68. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profile.rs +0 -0
  69. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/cascade/prompts/classifier.md +0 -0
  70. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/cascade.rs +0 -0
  71. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/latency_service/health.rs +0 -0
  72. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/latency_service/mod.rs +0 -0
  73. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/latency_service/polling.rs +0 -0
  74. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/latency_service/selection.rs +0 -0
  75. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/latency_service/tests.rs +0 -0
  76. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/llm_routing/prompts/coding_agent.md +0 -0
  77. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/llm_routing/prompts/general.md +0 -0
  78. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/llm_routing/prompts/openclaw.md +0 -0
  79. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/llm_routing.rs +0 -0
  80. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/macros.rs +0 -0
  81. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/mod.rs +0 -0
  82. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/noop.rs +0 -0
  83. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/passthrough.rs +0 -0
  84. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/profile_types.rs +0 -0
  85. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/profiles/random_routing.rs +0 -0
  86. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/src/stats.rs +0 -0
  87. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/tests/cascade_profile.rs +0 -0
  88. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/tests/config.rs +0 -0
  89. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/tests/latency_service_profile.rs +0 -0
  90. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/tests/llm_routing_profile.rs +0 -0
  91. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/tests/passthrough_profile.rs +0 -0
  92. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2/tests/random_routing_profile.rs +0 -0
  93. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2-macros/Cargo.toml +0 -0
  94. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-components-v2-macros/src/lib.rs +0 -0
  95. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/Cargo.toml +0 -0
  96. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/src/backend.rs +0 -0
  97. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/src/context.rs +0 -0
  98. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/src/error.rs +0 -0
  99. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/src/ids.rs +0 -0
  100. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/src/lib.rs +0 -0
  101. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/src/roles.rs +0 -0
  102. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/src/session.rs +0 -0
  103. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/src/types.rs +0 -0
  104. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-core/tests/adversarial_types.rs +0 -0
  105. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/Cargo.toml +0 -0
  106. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/component_bindings/backends.rs +0 -0
  107. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/component_bindings/config.rs +0 -0
  108. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/component_bindings/dimension_collector.rs +0 -0
  109. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/component_bindings/intake.rs +0 -0
  110. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/component_bindings/request_processors.rs +0 -0
  111. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/component_bindings/response_processors.rs +0 -0
  112. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/component_bindings/stats.rs +0 -0
  113. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/component_bindings.rs +0 -0
  114. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/core_bindings/context.rs +0 -0
  115. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/core_bindings/request.rs +0 -0
  116. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/core_bindings/response.rs +0 -0
  117. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/core_bindings/roles.rs +0 -0
  118. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/core_bindings/session.rs +0 -0
  119. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/core_bindings.rs +0 -0
  120. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/errors.rs +0 -0
  121. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/lib.rs +0 -0
  122. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/profile_bindings/mod.rs +0 -0
  123. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/profile_bindings/typed.rs +0 -0
  124. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/py_serde.rs +0 -0
  125. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/server_bindings.rs +0 -0
  126. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-py/src/translation.rs +0 -0
  127. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-server/Cargo.toml +0 -0
  128. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-server/src/cli.rs +0 -0
  129. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-server/src/lib.rs +0 -0
  130. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-server/src/main.rs +0 -0
  131. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-server/src/registry.rs +0 -0
  132. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-server/src/response.rs +0 -0
  133. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-server/src/sse.rs +0 -0
  134. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-server/tests/profile_migration.rs +0 -0
  135. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-server/tests/server.rs +0 -0
  136. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/Cargo.toml +0 -0
  137. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/anthropic/buffered.rs +0 -0
  138. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/anthropic/mod.rs +0 -0
  139. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/anthropic/stream.rs +0 -0
  140. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/common.rs +0 -0
  141. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/mod.rs +0 -0
  142. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/openai_chat/buffered.rs +0 -0
  143. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/openai_chat/mod.rs +0 -0
  144. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/openai_chat/stream.rs +0 -0
  145. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/responses/buffered.rs +0 -0
  146. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/responses/mod.rs +0 -0
  147. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/responses/stream.rs +0 -0
  148. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/codecs/stream.rs +0 -0
  149. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/diagnostic.rs +0 -0
  150. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/engine.rs +0 -0
  151. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/error.rs +0 -0
  152. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/format.rs +0 -0
  153. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/ir.rs +0 -0
  154. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/lib.rs +0 -0
  155. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/policy.rs +0 -0
  156. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/stream.rs +0 -0
  157. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/src/util.rs +0 -0
  158. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/tests/extension_points.rs +0 -0
  159. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/tests/lossless_roundtrip.rs +0 -0
  160. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/tests/request_translation.rs +0 -0
  161. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/tests/response_translation.rs +0 -0
  162. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/crates/switchyard-translation/tests/stream_translation.rs +0 -0
  163. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/__init__.py +0 -0
  164. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/command_utils.py +0 -0
  165. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/config/__init__.py +0 -0
  166. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/config/user_config.py +0 -0
  167. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/configure_command.py +0 -0
  168. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/intake_cli_config.py +0 -0
  169. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launch_command.py +0 -0
  170. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/__init__.py +0 -0
  171. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/claude_alias.py +0 -0
  172. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/claude_code_launcher.py +0 -0
  173. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/codex_cli_launcher.py +0 -0
  174. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/codex_model_catalog.py +0 -0
  175. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/launch_intake_config.py +0 -0
  176. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/launcher_runtime.py +0 -0
  177. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/live_stats_footer.py +0 -0
  178. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/openclaw_launcher.py +0 -0
  179. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/proxy_health_monitor.py +0 -0
  180. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/launchers/session_summary.py +0 -0
  181. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/model_catalog/__init__.py +0 -0
  182. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/model_catalog/model_discovery.py +0 -0
  183. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/models.py +0 -0
  184. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/output.py +0 -0
  185. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/route_bundle.py +0 -0
  186. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/routing/__init__.py +0 -0
  187. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/routing/route_builder.py +0 -0
  188. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/status.py +0 -0
  189. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/switchyard_cli.py +0 -0
  190. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/tui/__init__.py +0 -0
  191. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/tui/choice_selector.py +0 -0
  192. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/tui/launch_config_wizard.py +0 -0
  193. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/tui/model_selector.py +0 -0
  194. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/tui/terminal_capabilities.py +0 -0
  195. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/cli/tui/tui_session.py +0 -0
  196. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/__init__.py +0 -0
  197. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/__init__.py +0 -0
  198. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/anthropic_cache_breakpoint_backend.py +0 -0
  199. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/anthropic_native_llm_backend.py +0 -0
  200. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/backend_format_resolver.py +0 -0
  201. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/deterministic_routing_llm_backend.py +0 -0
  202. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/health_poller.py +0 -0
  203. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/latency_service_llm_backend.py +0 -0
  204. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/llm_target.py +0 -0
  205. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/multi_llm_backend.py +0 -0
  206. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/openai_llm_backend.py +0 -0
  207. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/openai_native_backend.py +0 -0
  208. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/backends/stats_llm_backend.py +0 -0
  209. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_request/__init__.py +0 -0
  210. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_request/anthropic.py +0 -0
  211. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_request/base.py +0 -0
  212. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_request/openai_chat.py +0 -0
  213. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_request/openai_responses.py +0 -0
  214. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_response/__init__.py +0 -0
  215. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_response/anthropic.py +0 -0
  216. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_response/base.py +0 -0
  217. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_response/openai_chat.py +0 -0
  218. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_response/openai_responses.py +0 -0
  219. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/chat_response/streaming_response_accumulator.py +0 -0
  220. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/config/__init__.py +0 -0
  221. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/config/intake_sink_config.py +0 -0
  222. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/config/latency_service_backend_config.py +0 -0
  223. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/conversation_turn.py +0 -0
  224. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/cost_estimator.py +0 -0
  225. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/__init__.py +0 -0
  226. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/anthropic_messages_endpoint.py +0 -0
  227. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/base.py +0 -0
  228. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/dispatch.py +0 -0
  229. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/error_envelope.py +0 -0
  230. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/models_endpoint.py +0 -0
  231. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/openai_chat_endpoint.py +0 -0
  232. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/outcome_metrics.py +0 -0
  233. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/prometheus_emitter.py +0 -0
  234. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/responses_endpoint.py +0 -0
  235. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/sse_helpers.py +0 -0
  236. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/stats_endpoint.py +0 -0
  237. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/upstream_error.py +0 -0
  238. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/endpoints/upstream_error_log.py +0 -0
  239. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/live_stats_collector.py +0 -0
  240. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/llm_client.py +0 -0
  241. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/model_listing.py +0 -0
  242. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/plugin/__init__.py +0 -0
  243. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/plugin/plugin_client.py +0 -0
  244. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/plugin/plugin_protocol.py +0 -0
  245. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/__init__.py +0 -0
  246. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/_structured_output.py +0 -0
  247. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/cascade/__init__.py +0 -0
  248. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/cascade/classifier.py +0 -0
  249. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/cascade/decision_log.py +0 -0
  250. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/cascade/dimensions.py +0 -0
  251. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/cascade/picker.py +0 -0
  252. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/cascade/prompts/tier_classifier.md +0 -0
  253. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/cascade/scorer.py +0 -0
  254. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/cascade_request_processor.py +0 -0
  255. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/empty_tool_content_normalizer.py +0 -0
  256. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/fixed_tier_request_processor.py +0 -0
  257. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/format_translate.py +0 -0
  258. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/intake_client.py +0 -0
  259. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/intake_payload_builder.py +0 -0
  260. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/intake_request_processor.py +0 -0
  261. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/intake_response_processor.py +0 -0
  262. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/llm_classifier/__init__.py +0 -0
  263. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/llm_classifier/presets.py +0 -0
  264. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/llm_classifier/request_processor.py +0 -0
  265. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/llm_classifier/signals.py +0 -0
  266. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/llm_classifier/tier_selector_request_processor.py +0 -0
  267. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/model_rewrite_request_processor.py +0 -0
  268. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/plan_execute/__init__.py +0 -0
  269. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/plan_execute/plan.py +0 -0
  270. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/plan_execute/request_processor.py +0 -0
  271. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/plugin_routing_request_processor.py +0 -0
  272. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/random_routing_request_processor.py +0 -0
  273. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/reasoning_effort_normalizer.py +0 -0
  274. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/reasoning_hint.py +0 -0
  275. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/rl_logging_request_processor.py +0 -0
  276. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/rl_logging_response_processor.py +0 -0
  277. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/routellm_request_processor.py +0 -0
  278. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/stats_request_processor.py +0 -0
  279. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/stats_response_processor_accumulator.py +0 -0
  280. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/stats_response_processor_live_collector.py +0 -0
  281. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/processors/turn_based_router_request_processor.py +0 -0
  282. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/__init__.py +0 -0
  283. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/cascade.py +0 -0
  284. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/cascade_config.py +0 -0
  285. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/chain.py +0 -0
  286. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/deterministic_routing_config.py +0 -0
  287. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/deterministic_routing_presets.py +0 -0
  288. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/deterministic_routing_profile_config.py +0 -0
  289. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/header_routing.py +0 -0
  290. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/latency_service.py +0 -0
  291. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/loader.py +0 -0
  292. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/noop.py +0 -0
  293. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/oss_router.py +0 -0
  294. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/passthrough.py +0 -0
  295. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/plan_execute.py +0 -0
  296. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/plan_execute_config.py +0 -0
  297. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/plan_execute_presets.py +0 -0
  298. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/protocols.py +0 -0
  299. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/random_routing.py +0 -0
  300. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/random_routing_presets.py +0 -0
  301. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/routellm.py +0 -0
  302. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/switchyard_adapter.py +0 -0
  303. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/table.py +0 -0
  304. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/profiles/translate_profile_config.py +0 -0
  305. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/prometheus_exposition.py +0 -0
  306. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/proxy_context.py +0 -0
  307. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/request_metadata.py +0 -0
  308. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/roles.py +0 -0
  309. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/route_table.py +0 -0
  310. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/route_table_builders.py +0 -0
  311. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/session_affinity.py +0 -0
  312. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/session_cache.py +0 -0
  313. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/session_key.py +0 -0
  314. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/stats_accumulator.py +0 -0
  315. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/switchyard.py +0 -0
  316. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/lib/tracing.py +0 -0
  317. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/server/__init__.py +0 -0
  318. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/server/server_util.py +0 -0
  319. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/server/shell_tui.py +0 -0
  320. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/server/switchyard_app.py +0 -0
  321. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/server/verify.py +0 -0
  322. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard/telemetry.py +0 -0
  323. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard_rust/__init__.py +0 -0
  324. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard_rust/components.py +0 -0
  325. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard_rust/components.pyi +0 -0
  326. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard_rust/core.py +0 -0
  327. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard_rust/profiles.py +0 -0
  328. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard_rust/profiles.pyi +0 -0
  329. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard_rust/py.typed +0 -0
  330. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard_rust/server.py +0 -0
  331. {nemo_switchyard-0.0.1.dev1 → nemo_switchyard-0.1.0}/switchyard_rust/translation.py +0 -0
@@ -9,5 +9,5 @@ members = ["crates/switchyard-components", "crates/switchyard-components-v2", "c
9
9
  authors = ["NVIDIA Corporation"]
10
10
  edition = "2021"
11
11
  license = "Apache-2.0"
12
- repository = "https://github.com/NVIDIA-dev/switchyard"
12
+ repository = "https://github.com/NVIDIA-NeMo/Switchyard"
13
13
  rust-version = "1.94"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nemo-switchyard
3
- Version: 0.0.1.dev1
3
+ Version: 0.1.0
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Operating System :: OS Independent
@@ -37,9 +37,9 @@ Maintainer: NVIDIA Corporation
37
37
  License-Expression: Apache-2.0
38
38
  Requires-Python: >=3.12
39
39
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
40
- Project-URL: Homepage, https://github.com/NVIDIA-dev/switchyard
41
- Project-URL: Issues, https://github.com/NVIDIA-dev/switchyard/issues
42
- Project-URL: Repository, https://github.com/NVIDIA-dev/switchyard
40
+ Project-URL: Homepage, https://github.com/NVIDIA-NeMo/Switchyard
41
+ Project-URL: Issues, https://github.com/NVIDIA-NeMo/Switchyard/issues
42
+ Project-URL: Repository, https://github.com/NVIDIA-NeMo/Switchyard
43
43
 
44
44
  <p align="center">
45
45
  <img src="assets/logo.png" alt="Switchyard" width="800">
@@ -47,11 +47,24 @@ Project-URL: Repository, https://github.com/NVIDIA-dev/switchyard
47
47
 
48
48
  # Switchyard
49
49
 
50
- Typed, composable LLM routing and format translation for Python. Route traffic between multiple LLM providers, translate between OpenAI and Anthropic APIs, collect usage statistics, and build profile-backed routing flows with strong typing and minimal boilerplate.
51
-
52
- **Why Switchyard?** Point coding agents like **Claude Code** and **Codex** at compatible open-source models. Switchyard transparently translates between OpenAI Chat, Anthropic Messages, and OpenAI Responses formats, so each agent keeps speaking its native API while requests are served by vLLM, NVIDIA NIM, Ollama, or any OpenAI-compatible endpoint. The same proxy can also **route across multiple models** for A/B benchmarking splits, signal-driven cascade escalation, or a custom router you wire in.
53
-
54
- **Launcher routing is explicit**: launchers default to built-in LLM-classifier routing, which you can tune with `--weak-model`, `--classifier-model`, `--profile`, and `--classifier-min-confidence`; use `--model X` for single-model passthrough. The deprecated `--routing-profiles FILE` path remains for launcher-owned legacy bundles.
50
+ Switchyard is a Python proxy for LLM traffic. It routes requests across
51
+ providers, translates between the OpenAI and Anthropic APIs, collects usage
52
+ statistics, and lets you build typed, profile-backed routing flows with little
53
+ boilerplate.
54
+
55
+ **Why Switchyard?** Point a coding agent such as Claude Code or Codex at an
56
+ open-source model. Switchyard translates between the OpenAI Chat, Anthropic
57
+ Messages, and OpenAI Responses formats, so the agent keeps speaking its native
58
+ API while the request is served by vLLM, NVIDIA NIM, Ollama, or any
59
+ OpenAI-compatible endpoint. The same proxy can spread traffic across several
60
+ models for A/B benchmarking, signal-driven cascade escalation, or a router you
61
+ write yourself.
62
+
63
+ **Launcher routing is explicit.** By default, launchers use the built-in
64
+ LLM-classifier router, which you tune with `--weak-model`, `--classifier-model`,
65
+ `--profile`, and `--classifier-min-confidence`. Use `--model X` for
66
+ single-model passthrough. The `--routing-profiles FILE` path is deprecated and
67
+ remains only for launcher-owned legacy bundles.
55
68
 
56
69
  ## Features
57
70
 
@@ -210,17 +223,23 @@ asyncio.run(main())
210
223
 
211
224
  ## Architecture
212
225
 
213
- Switchyard sits between client applications and one or more LLM backends:
226
+ Switchyard sits between your client applications and one or more LLM backends:
227
+
228
+ ```mermaid
229
+ flowchart LR
230
+ clients["Clients"]
231
+ switchyard["Switchyard<br/>routing · translation · fallback"]
232
+ backends["Model backends"]
214
233
 
215
- ```text
216
- clients --> Switchyard --> model backends
217
- +--------> routing, translation, and fallback
234
+ clients -->|"OpenAI / Anthropic API"| switchyard
235
+ switchyard -->|"provider-native format"| backends
218
236
  ```
219
237
 
220
- Clients keep their supported OpenAI or Anthropic API format while Switchyard
221
- selects a configured model endpoint and translates the response back to the
222
- expected shape. See [Architecture](docs/architecture.md) for system context and
223
- the end-to-end request flow.
238
+ Clients keep their native OpenAI or Anthropic API format. Switchyard picks a
239
+ configured backend, forwards the request in that backend's own format, and
240
+ translates the response back into the shape the client expects. See
241
+ [Architecture](docs/architecture.md) for the system context and the full
242
+ request flow.
224
243
 
225
244
  ## Installation Options
226
245
 
@@ -4,11 +4,24 @@
4
4
 
5
5
  # Switchyard
6
6
 
7
- Typed, composable LLM routing and format translation for Python. Route traffic between multiple LLM providers, translate between OpenAI and Anthropic APIs, collect usage statistics, and build profile-backed routing flows with strong typing and minimal boilerplate.
8
-
9
- **Why Switchyard?** Point coding agents like **Claude Code** and **Codex** at compatible open-source models. Switchyard transparently translates between OpenAI Chat, Anthropic Messages, and OpenAI Responses formats, so each agent keeps speaking its native API while requests are served by vLLM, NVIDIA NIM, Ollama, or any OpenAI-compatible endpoint. The same proxy can also **route across multiple models** for A/B benchmarking splits, signal-driven cascade escalation, or a custom router you wire in.
10
-
11
- **Launcher routing is explicit**: launchers default to built-in LLM-classifier routing, which you can tune with `--weak-model`, `--classifier-model`, `--profile`, and `--classifier-min-confidence`; use `--model X` for single-model passthrough. The deprecated `--routing-profiles FILE` path remains for launcher-owned legacy bundles.
7
+ Switchyard is a Python proxy for LLM traffic. It routes requests across
8
+ providers, translates between the OpenAI and Anthropic APIs, collects usage
9
+ statistics, and lets you build typed, profile-backed routing flows with little
10
+ boilerplate.
11
+
12
+ **Why Switchyard?** Point a coding agent such as Claude Code or Codex at an
13
+ open-source model. Switchyard translates between the OpenAI Chat, Anthropic
14
+ Messages, and OpenAI Responses formats, so the agent keeps speaking its native
15
+ API while the request is served by vLLM, NVIDIA NIM, Ollama, or any
16
+ OpenAI-compatible endpoint. The same proxy can spread traffic across several
17
+ models for A/B benchmarking, signal-driven cascade escalation, or a router you
18
+ write yourself.
19
+
20
+ **Launcher routing is explicit.** By default, launchers use the built-in
21
+ LLM-classifier router, which you tune with `--weak-model`, `--classifier-model`,
22
+ `--profile`, and `--classifier-min-confidence`. Use `--model X` for
23
+ single-model passthrough. The `--routing-profiles FILE` path is deprecated and
24
+ remains only for launcher-owned legacy bundles.
12
25
 
13
26
  ## Features
14
27
 
@@ -167,17 +180,23 @@ asyncio.run(main())
167
180
 
168
181
  ## Architecture
169
182
 
170
- Switchyard sits between client applications and one or more LLM backends:
183
+ Switchyard sits between your client applications and one or more LLM backends:
184
+
185
+ ```mermaid
186
+ flowchart LR
187
+ clients["Clients"]
188
+ switchyard["Switchyard<br/>routing · translation · fallback"]
189
+ backends["Model backends"]
171
190
 
172
- ```text
173
- clients --> Switchyard --> model backends
174
- +--------> routing, translation, and fallback
191
+ clients -->|"OpenAI / Anthropic API"| switchyard
192
+ switchyard -->|"provider-native format"| backends
175
193
  ```
176
194
 
177
- Clients keep their supported OpenAI or Anthropic API format while Switchyard
178
- selects a configured model endpoint and translates the response back to the
179
- expected shape. See [Architecture](docs/architecture.md) for system context and
180
- the end-to-end request flow.
195
+ Clients keep their native OpenAI or Anthropic API format. Switchyard picks a
196
+ configured backend, forwards the request in that backend's own format, and
197
+ translates the response back into the shape the client expects. See
198
+ [Architecture](docs/architecture.md) for the system context and the full
199
+ request flow.
181
200
 
182
201
  ## Installation Options
183
202
 
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "nemo-switchyard"
7
- version = "0.0.1.dev1"
7
+ version = "0.1.0"
8
8
  description = "Typed, composable LLM routing with request/response translation and multi-backend orchestration"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -129,9 +129,9 @@ managed = true
129
129
  switchyard = "switchyard.cli.switchyard_cli:main"
130
130
 
131
131
  [project.urls]
132
- Homepage = "https://github.com/NVIDIA-dev/switchyard"
133
- Repository = "https://github.com/NVIDIA-dev/switchyard"
134
- Issues = "https://github.com/NVIDIA-dev/switchyard/issues"
132
+ Homepage = "https://github.com/NVIDIA-NeMo/Switchyard"
133
+ Repository = "https://github.com/NVIDIA-NeMo/Switchyard"
134
+ Issues = "https://github.com/NVIDIA-NeMo/Switchyard/issues"
135
135
 
136
136
  [tool.setuptools.packages.find]
137
137
  where = ["."]
@@ -240,4 +240,4 @@ __all__ = [
240
240
  "AnyResponseStream",
241
241
  ]
242
242
 
243
- __version__ = "0.0.1.dev1"
243
+ __version__ = "0.1.0"