traigent 0.13.0.dev1__tar.gz → 0.14.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 (635) hide show
  1. {traigent-0.13.0.dev1 → traigent-0.14.0}/CHANGELOG.md +25 -1
  2. {traigent-0.13.0.dev1/traigent.egg-info → traigent-0.14.0}/PKG-INFO +32 -21
  3. {traigent-0.13.0.dev1 → traigent-0.14.0}/README.md +30 -19
  4. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/decorator-reference.md +1 -1
  5. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/telemetry.md +3 -3
  6. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/API_PATTERNS.md +109 -0
  7. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/GETTING_STARTED.md +3 -5
  8. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/execution-modes.md +20 -13
  9. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/agent_optimization.md +1 -1
  10. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/choosing_optimization_model.md +13 -14
  11. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/interactive_optimization.md +2 -2
  12. traigent-0.14.0/docs/user-guide/optuna_integration.md +83 -0
  13. {traigent-0.13.0.dev1 → traigent-0.14.0}/pyproject.toml +9 -3
  14. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-security.txt +4 -4
  15. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/__init__.py +2 -0
  16. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/_version.py +15 -6
  17. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/adapters/execution_adapter.py +1 -1
  18. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/config_mapper.py +1 -1
  19. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/__init__.py +2 -9
  20. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/intelligence.py +6 -7
  21. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/meta_learning.py +0 -13
  22. traigent-0.14.0/traigent/analytics/next_steps.py +184 -0
  23. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/__init__.py +2 -0
  24. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/config_builder.py +2 -8
  25. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/constraint_builders.py +98 -4
  26. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/decorators.py +122 -67
  27. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/functions.py +27 -68
  28. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/parameter_ranges.py +27 -14
  29. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/parameter_validator.py +3 -12
  30. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/types.py +47 -11
  31. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/auth_commands.py +18 -0
  32. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/detect_tvars_command.py +25 -2
  33. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/generate_config_command.py +4 -1
  34. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/hooks_commands.py +1 -3
  35. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/local_commands.py +12 -2
  36. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/main.py +270 -11
  37. traigent-0.14.0/traigent/cli/next_steps_command.py +100 -0
  38. traigent-0.14.0/traigent/cli/playbook_commands.py +149 -0
  39. traigent-0.14.0/traigent/cli/sync_commands.py +180 -0
  40. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/api_operations.py +185 -52
  41. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/auth.py +19 -1
  42. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/backend_bridges.py +34 -3
  43. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/backend_client.py +11 -3
  44. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/client.py +59 -10
  45. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/credential_resolver.py +7 -2
  46. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/dtos.py +2 -2
  47. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/governance.py +2 -1
  48. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/integration_manager.py +1 -1
  49. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/models.py +16 -11
  50. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/session_operations.py +89 -0
  51. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/sync_manager.py +328 -89
  52. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/trial_operations.py +124 -18
  53. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/url_security.py +7 -1
  54. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/backend_config.py +8 -10
  55. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/types.py +27 -33
  56. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/backend_session_manager.py +124 -26
  57. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/best_config_runtime.py +20 -0
  58. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/ci_approval.py +11 -3
  59. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/cost_enforcement.py +3 -6
  60. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/evaluator_wrapper.py +17 -0
  61. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/exception_handler.py +20 -19
  62. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/license.py +3 -1
  63. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/metadata_helpers.py +64 -16
  64. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/optimization_pipeline.py +17 -6
  65. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/optimized_function.py +344 -74
  66. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/orchestrator.py +89 -62
  67. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/orchestrator_helpers.py +433 -433
  68. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/result_selection.py +55 -20
  69. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/stop_conditions.py +0 -38
  70. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/trace_env.py +1 -22
  71. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/__init__.py +10 -0
  72. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/base.py +49 -6
  73. traigent-0.14.0/traigent/evaluators/catalog/metric_eval_catalog.v1.json +533 -0
  74. traigent-0.14.0/traigent/evaluators/catalog/schemas/metric_eval_catalog_entry_schema.json +278 -0
  75. traigent-0.14.0/traigent/evaluators/catalog_loader.py +154 -0
  76. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/hybrid_api.py +151 -35
  77. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/local.py +20 -14
  78. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/metrics_tracker.py +59 -3
  79. traigent-0.14.0/traigent/evaluators/recommendations.py +334 -0
  80. traigent-0.14.0/traigent/examples/providers/__init__.py +46 -0
  81. traigent-0.14.0/traigent/examples/providers/_bootstrap.py +101 -0
  82. traigent-0.14.0/traigent/examples/providers/_demo.py +164 -0
  83. traigent-0.14.0/traigent/examples/providers/anthropic.py +52 -0
  84. traigent-0.14.0/traigent/examples/providers/aws.py +65 -0
  85. traigent-0.14.0/traigent/examples/providers/azure.py +72 -0
  86. traigent-0.14.0/traigent/examples/providers/gcp.py +66 -0
  87. traigent-0.14.0/traigent/examples/providers/gemini.py +61 -0
  88. traigent-0.14.0/traigent/examples/providers/groq.py +59 -0
  89. traigent-0.14.0/traigent/examples/providers/litellm_any.py +62 -0
  90. traigent-0.14.0/traigent/examples/providers/manifest.json +169 -0
  91. traigent-0.14.0/traigent/examples/providers/openai.py +52 -0
  92. traigent-0.14.0/traigent/examples/providers/openrouter.py +61 -0
  93. traigent-0.14.0/traigent/examples/quickstart/qa_samples.jsonl +8 -0
  94. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/__init__.py +2 -1
  95. traigent-0.14.0/traigent/generation/options.py +120 -0
  96. traigent-0.14.0/traigent/generation/skill_train/__init__.py +10 -0
  97. traigent-0.14.0/traigent/generation/skill_train/artifacts.py +86 -0
  98. traigent-0.14.0/traigent/generation/skill_train/buffer.py +91 -0
  99. traigent-0.14.0/traigent/generation/skill_train/document.py +84 -0
  100. traigent-0.14.0/traigent/generation/skill_train/edits.py +287 -0
  101. traigent-0.14.0/traigent/generation/skill_train/prompts.py +243 -0
  102. traigent-0.14.0/traigent/generation/skill_train/reflection.py +137 -0
  103. traigent-0.14.0/traigent/generation/skill_train/schedule.py +41 -0
  104. traigent-0.14.0/traigent/generation/skill_train/slow_update.py +244 -0
  105. traigent-0.14.0/traigent/generation/skill_train/splits.py +61 -0
  106. traigent-0.14.0/traigent/generation/skill_train/trainer.py +847 -0
  107. traigent-0.14.0/traigent/generation/skill_train/trainer_result.py +25 -0
  108. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/http_transport.py +3 -1
  109. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/observability/workflow_traces.py +7 -6
  110. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/agent_spans.py +1 -1
  111. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/client.py +107 -34
  112. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/config.py +5 -1
  113. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/decorators.py +27 -7
  114. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/dtos.py +5 -0
  115. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/__init__.py +2 -26
  116. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/benchmarking.py +51 -42
  117. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/registry.py +66 -54
  118. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/remote.py +1 -1
  119. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/remote_services.py +26 -18
  120. traigent-0.14.0/traigent/playbook/__init__.py +17 -0
  121. traigent-0.14.0/traigent/playbook/loader.py +89 -0
  122. traigent-0.14.0/traigent/playbook/model.py +41 -0
  123. traigent-0.14.0/traigent/playbook/scaffold.py +56 -0
  124. traigent-0.14.0/traigent/playbook/schemas/agent_playbook_schema.json +162 -0
  125. traigent-0.14.0/traigent/playbook/staleness.py +37 -0
  126. traigent-0.14.0/traigent/playbook/validator.py +130 -0
  127. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/oidc.py +36 -26
  128. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/encryption.py +2 -2
  129. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-analyze-results/SKILL.md +5 -5
  130. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-analyze-results/references/optimization-result-api.md +2 -1
  131. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-debugging/SKILL.md +5 -5
  132. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-debugging/references/mock-mode.md +4 -4
  133. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-decorator-setup/SKILL.md +3 -3
  134. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-decorator-setup/references/execution-modes.md +11 -10
  135. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-decorator-setup/references/injection-modes.md +6 -5
  136. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-integrations/SKILL.md +12 -2
  137. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-quickstart/SKILL.md +14 -6
  138. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-quickstart/references/installation-extras.md +3 -3
  139. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-run-optimization/SKILL.md +12 -28
  140. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-run-optimization/references/algorithms.md +14 -59
  141. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-run-optimization/references/cost-management.md +1 -1
  142. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-run-optimization/references/parallel-config.md +5 -4
  143. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/storage/local_storage.py +81 -7
  144. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/traigent_client.py +27 -20
  145. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/callbacks.py +109 -53
  146. traigent-0.14.0/traigent/utils/console.py +87 -0
  147. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/diagnostics.py +22 -21
  148. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/env_config.py +2 -2
  149. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/local_analytics.py +3 -2
  150. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/objectives.py +20 -8
  151. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/optimization_logger.py +0 -2
  152. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/results_table.py +47 -11
  153. {traigent-0.13.0.dev1 → traigent-0.14.0/traigent.egg-info}/PKG-INFO +32 -21
  154. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/SOURCES.txt +42 -4
  155. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/requires.txt +1 -1
  156. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent_validation/validators.py +62 -0
  157. traigent-0.13.0.dev1/docs/user-guide/optuna_integration.md +0 -164
  158. traigent-0.13.0.dev1/traigent/generation/options.py +0 -46
  159. traigent-0.13.0.dev1/traigent/optimizers/bayesian.py +0 -605
  160. traigent-0.13.0.dev1/traigent/optimizers/optuna_adapter.py +0 -170
  161. traigent-0.13.0.dev1/traigent/optimizers/optuna_coordinator.py +0 -580
  162. traigent-0.13.0.dev1/traigent/optimizers/optuna_optimizer.py +0 -756
  163. {traigent-0.13.0.dev1 → traigent-0.14.0}/COMMERCIAL-LICENSE.md +0 -0
  164. {traigent-0.13.0.dev1 → traigent-0.14.0}/CONTRIBUTING.md +0 -0
  165. {traigent-0.13.0.dev1 → traigent-0.14.0}/CONTRIBUTOR-LICENSING.md +0 -0
  166. {traigent-0.13.0.dev1 → traigent-0.14.0}/DISCLAIMER.md +0 -0
  167. {traigent-0.13.0.dev1 → traigent-0.14.0}/LICENSE +0 -0
  168. {traigent-0.13.0.dev1 → traigent-0.14.0}/MANIFEST.in +0 -0
  169. {traigent-0.13.0.dev1 → traigent-0.14.0}/NOTICE +0 -0
  170. {traigent-0.13.0.dev1 → traigent-0.14.0}/SECURITY.md +0 -0
  171. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/README.md +0 -0
  172. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/SYNC_MAP.md +0 -0
  173. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/agent-skill.md +0 -0
  174. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/complete-function-specification.md +0 -0
  175. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/enterprise-beta-api.md +0 -0
  176. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/interactive_optimizer.md +0 -0
  177. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/thread-pool-examples.md +0 -0
  178. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/ARCHITECTURE.md +0 -0
  179. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/cost-architecture-validation.md +0 -0
  180. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/execution_mode_follow_up.md +0 -0
  181. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/integrations-inventory.md +0 -0
  182. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/plugin_architecture.md +0 -0
  183. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/project-structure.md +0 -0
  184. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/stop_conditions.md +0 -0
  185. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/concepts/composite-knob-ir.md +0 -0
  186. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/concepts/composite-knobs.md +0 -0
  187. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/concepts/guided-generation.md +0 -0
  188. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/ADDING_NEW_INTEGRATIONS.md +0 -0
  189. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/CODE_OF_CONDUCT.md +0 -0
  190. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/CONTRIBUTING.md +0 -0
  191. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/EXAMPLE_TEMPLATE.md +0 -0
  192. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/README.md +0 -0
  193. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/SECURITY.md +0 -0
  194. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/aikido_triage.md +0 -0
  195. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/code_review_instructions.md +0 -0
  196. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/test-quality-guide.md +0 -0
  197. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/demos/DEMO_VIDEO_GUIDE.md +0 -0
  198. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/demos/README.md +0 -0
  199. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/LEARNING_ROADMAP.md +0 -0
  200. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/QUICK_REFERENCE.md +0 -0
  201. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/README.md +0 -0
  202. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/START_HERE.md +0 -0
  203. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/TROUBLESHOOTING.md +0 -0
  204. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/fake-completion-tracking.md +0 -0
  205. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/feature_matrices/README.md +0 -0
  206. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/README.md +0 -0
  207. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/authentication.md +0 -0
  208. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/constraint-dsl.md +0 -0
  209. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/dataflow-detection.md +0 -0
  210. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/framework_override_enhanced_features.md +0 -0
  211. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/mcp-server.md +0 -0
  212. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/observability-spans.md +0 -0
  213. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/onboarding.md +0 -0
  214. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/prompt_management.md +0 -0
  215. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/recommendations.md +0 -0
  216. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/safety-gates.md +0 -0
  217. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/seamless_injection.md +0 -0
  218. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/strategy-presets.md +0 -0
  219. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/strict_metrics_nulls.md +0 -0
  220. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/README.md +0 -0
  221. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/installation.md +0 -0
  222. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/minimal-integration.md +0 -0
  223. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/portal-dev-laptop-agent.md +0 -0
  224. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/testing.md +0 -0
  225. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/VSCODE_RESTART_GUIDE.md +0 -0
  226. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/evaluation.md +0 -0
  227. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/js-bridge.md +0 -0
  228. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/llm_plugin_migration_guide.md +0 -0
  229. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/parallel-configuration.md +0 -0
  230. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/secrets_management.md +0 -0
  231. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/hybrid-mode-api-contract.md +0 -0
  232. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/hybrid-mode-client-guide.md +0 -0
  233. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/operations/azure_openai.md +0 -0
  234. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/operations/bedrock.md +0 -0
  235. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/operations/google_gemini.md +0 -0
  236. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/security/trust_model.md +0 -0
  237. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/testing/CREATIVE_STRESS_TESTING.md +0 -0
  238. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/concepts/composite-knob-ir.md +0 -0
  239. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/concepts/composite-knobs.md +0 -0
  240. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/concepts/guided-generation.md +0 -0
  241. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/schema.md +0 -0
  242. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/tagging_tracking.md +0 -0
  243. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/taxonomy_reference.md +0 -0
  244. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/tvl/CONSTRAINT_EXPRESSIONS.md +0 -0
  245. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/README.md +0 -0
  246. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/configuration-spaces.md +0 -0
  247. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/evaluation_guide.md +0 -0
  248. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/injection_modes.md +0 -0
  249. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/tuned_variables.md +0 -0
  250. {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/walkthrough.md +0 -0
  251. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-all.txt +0 -0
  252. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-analytics.txt +0 -0
  253. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-bayesian.txt +0 -0
  254. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-chroma.txt +0 -0
  255. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-dev.txt +0 -0
  256. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-hybrid.txt +0 -0
  257. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-integrations.txt +0 -0
  258. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-test.txt +0 -0
  259. {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements.txt +0 -0
  260. {traigent-0.13.0.dev1 → traigent-0.14.0}/setup.cfg +0 -0
  261. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/admin/__init__.py +0 -0
  262. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/admin/client.py +0 -0
  263. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/admin/config.py +0 -0
  264. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/admin/dtos.py +0 -0
  265. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/__init__.py +0 -0
  266. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/executor.py +0 -0
  267. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/platforms.py +0 -0
  268. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/specification_generator.py +0 -0
  269. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/anomaly.py +0 -0
  270. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/cost_optimization.py +0 -0
  271. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/example_insights.py +0 -0
  272. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/predictive.py +0 -0
  273. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/scheduling.py +0 -0
  274. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/agent_inference.py +0 -0
  275. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/config_space.py +0 -0
  276. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/constraints.py +0 -0
  277. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/safety.py +0 -0
  278. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/strategy_presets.py +0 -0
  279. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/validation_protocol.py +0 -0
  280. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/__init__.py +0 -0
  281. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/function_discovery.py +0 -0
  282. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/onboard_commands.py +0 -0
  283. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/optimization_validator.py +0 -0
  284. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/validation_types.py +0 -0
  285. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/__init__.py +0 -0
  286. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/_aiohttp_compat.py +0 -0
  287. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/agent_dtos.py +0 -0
  288. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/api_key_manager.py +0 -0
  289. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/async_batch_transport.py +0 -0
  290. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/backend_components.py +0 -0
  291. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/backend_synchronizer.py +0 -0
  292. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/benchmark_client.py +0 -0
  293. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/billing.py +0 -0
  294. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/cloud_operations.py +0 -0
  295. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/credential_manager.py +0 -0
  296. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/dataset_converter.py +0 -0
  297. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/event_manager.py +0 -0
  298. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/optimizer_client.py +0 -0
  299. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/password_auth_handler.py +0 -0
  300. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/privacy_operations.py +0 -0
  301. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/production_mcp_client.py +0 -0
  302. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/remote_guidance.py +0 -0
  303. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/resilient_client.py +0 -0
  304. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/service.py +0 -0
  305. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/session_types.py +0 -0
  306. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/sessions.py +0 -0
  307. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/subset_selection.py +0 -0
  308. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/token_manager.py +0 -0
  309. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/trial_tracker.py +0 -0
  310. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/validators.py +0 -0
  311. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/__init__.py +0 -0
  312. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/api_keys.py +0 -0
  313. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/ast_transformer.py +0 -0
  314. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/context.py +0 -0
  315. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/feature_flags.py +0 -0
  316. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/models.yaml +0 -0
  317. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/parallel.py +0 -0
  318. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/project.py +0 -0
  319. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/providers.py +0 -0
  320. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/runtime_injector.py +0 -0
  321. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/seamless_injection.py +0 -0
  322. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/seamless_optuna_adapter.py +0 -0
  323. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/tenant.py +0 -0
  324. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/__init__.py +0 -0
  325. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/agent_classifier.py +0 -0
  326. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/apply.py +0 -0
  327. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog/schemas/tvar_catalog_entry_schema.json +0 -0
  328. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog/schemas/tvar_observation_schema.json +0 -0
  329. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog/schemas/tvar_value_recommendation_schema.json +0 -0
  330. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog/tvar_catalog.v1.json +0 -0
  331. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog.py +0 -0
  332. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/llm_backend.py +0 -0
  333. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/pipeline.py +0 -0
  334. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/__init__.py +0 -0
  335. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/agent_type_catalog.py +0 -0
  336. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/benchmark_catalog.py +0 -0
  337. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/constraint_templates.py +0 -0
  338. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/range_presets.py +0 -0
  339. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/recommendations.py +0 -0
  340. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/__init__.py +0 -0
  341. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/benchmarks.py +0 -0
  342. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/objectives.py +0 -0
  343. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/safety_constraints.py +0 -0
  344. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/structural_constraints.py +0 -0
  345. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/tvar_ranges.py +0 -0
  346. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/tvar_recommendations.py +0 -0
  347. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/types.py +0 -0
  348. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/__init__.py +0 -0
  349. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/cache_policy.py +0 -0
  350. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/config_builder.py +0 -0
  351. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/config_state_manager.py +0 -0
  352. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/constants.py +0 -0
  353. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/cost_estimator.py +0 -0
  354. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/llm_processor.py +0 -0
  355. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/logger_facade.py +0 -0
  356. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/mandatory_metrics.py +0 -0
  357. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/meta_types.py +0 -0
  358. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/metric_registry.py +0 -0
  359. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/metrics_aggregator.py +0 -0
  360. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/namespace.py +0 -0
  361. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/objectives.py +0 -0
  362. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/parallel_execution_manager.py +0 -0
  363. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/progress_manager.py +0 -0
  364. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/pruning_progress_tracker.py +0 -0
  365. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/refactoring_utils.py +0 -0
  366. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/sample_budget.py +0 -0
  367. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/samplers/__init__.py +0 -0
  368. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/samplers/random_sampler.py +0 -0
  369. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/session_context.py +0 -0
  370. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/session_types.py +0 -0
  371. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/stat_significance.py +0 -0
  372. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/stop_condition_manager.py +0 -0
  373. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/tracing.py +0 -0
  374. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/trial_context.py +0 -0
  375. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/trial_lifecycle.py +0 -0
  376. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/trial_result_factory.py +0 -0
  377. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/types.py +0 -0
  378. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/types_ext.py +0 -0
  379. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/utils.py +0 -0
  380. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/workflow_trace_manager.py +0 -0
  381. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core_metrics/__init__.py +0 -0
  382. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core_metrics/client.py +0 -0
  383. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core_metrics/config.py +0 -0
  384. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core_metrics/dtos.py +0 -0
  385. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/__init__.py +0 -0
  386. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/contracts.py +0 -0
  387. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/strategies/__init__.py +0 -0
  388. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/strategies/framework_param.py +0 -0
  389. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/strategies/self_consistency.py +0 -0
  390. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluation/__init__.py +0 -0
  391. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluation/client.py +0 -0
  392. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluation/config.py +0 -0
  393. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluation/dtos.py +0 -0
  394. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/dataset_registry.py +0 -0
  395. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/metrics.py +0 -0
  396. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/__init__.py +0 -0
  397. {traigent-0.13.0.dev1/traigent/examples/quickstart → traigent-0.14.0/traigent/examples/providers}/qa_samples.jsonl +0 -0
  398. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/quickstart/__init__.py +0 -0
  399. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/quickstart/__main__.py +0 -0
  400. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/quickstart/_env.py +0 -0
  401. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/tutorial_bootstrap.py +0 -0
  402. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/backend_provider.py +0 -0
  403. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/example_synth.py +0 -0
  404. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/llm_provider.py +0 -0
  405. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/loop.py +0 -0
  406. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/models.py +0 -0
  407. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/prompt_rewriter.py +0 -0
  408. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/validators.py +0 -0
  409. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/guaranteed_modes.py +0 -0
  410. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hooks/__init__.py +0 -0
  411. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hooks/config.py +0 -0
  412. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hooks/installer.py +0 -0
  413. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hooks/validator.py +0 -0
  414. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/__init__.py +0 -0
  415. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/discovery.py +0 -0
  416. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/lifecycle.py +0 -0
  417. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/mcp_transport.py +0 -0
  418. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/protocol.py +0 -0
  419. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/transport.py +0 -0
  420. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/__init__.py +0 -0
  421. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/activation.py +0 -0
  422. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/base.py +0 -0
  423. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/base_plugin.py +0 -0
  424. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/batch_wrapper.py +0 -0
  425. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/bedrock_client.py +0 -0
  426. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/config.py +0 -0
  427. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/dspy_adapter.py +0 -0
  428. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/framework_override.py +0 -0
  429. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langchain/__init__.py +0 -0
  430. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langchain/handler.py +0 -0
  431. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langfuse/__init__.py +0 -0
  432. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langfuse/callback.py +0 -0
  433. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langfuse/client.py +0 -0
  434. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langfuse/tracker.py +0 -0
  435. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/__init__.py +0 -0
  436. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/anthropic_plugin.py +0 -0
  437. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/azure_openai_plugin.py +0 -0
  438. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/base_llm_plugin.py +0 -0
  439. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/bedrock_plugin.py +0 -0
  440. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/cohere_plugin.py +0 -0
  441. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/gemini_plugin.py +0 -0
  442. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/huggingface_plugin.py +0 -0
  443. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/langchain/__init__.py +0 -0
  444. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/langchain/base.py +0 -0
  445. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/langchain/discovery.py +0 -0
  446. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/langchain_plugin.py +0 -0
  447. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/litellm_plugin.py +0 -0
  448. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/llamaindex_plugin.py +0 -0
  449. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/mistral_plugin.py +0 -0
  450. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/openai.py +0 -0
  451. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/openai_plugin.py +0 -0
  452. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/mappings.py +0 -0
  453. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/__init__.py +0 -0
  454. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/anthropic_discovery.py +0 -0
  455. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/azure_discovery.py +0 -0
  456. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/base.py +0 -0
  457. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/cache.py +0 -0
  458. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/gemini_discovery.py +0 -0
  459. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/mistral_discovery.py +0 -0
  460. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/openai_discovery.py +0 -0
  461. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/registry.py +0 -0
  462. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/observability/__init__.py +0 -0
  463. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/observability/mlflow.py +0 -0
  464. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/observability/wandb.py +0 -0
  465. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/plugin_registry.py +0 -0
  466. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/providers.py +0 -0
  467. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/pydantic_ai/__init__.py +0 -0
  468. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/pydantic_ai/_types.py +0 -0
  469. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/pydantic_ai/handler.py +0 -0
  470. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/pydantic_ai/plugin.py +0 -0
  471. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/__init__.py +0 -0
  472. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/discovery.py +0 -0
  473. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/message_coercion.py +0 -0
  474. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/mock_adapter.py +0 -0
  475. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/parameter_normalizer.py +0 -0
  476. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/response_wrapper.py +0 -0
  477. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/validation.py +0 -0
  478. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/version_compat.py +0 -0
  479. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/__init__.py +0 -0
  480. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/base.py +0 -0
  481. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/chromadb_plugin.py +0 -0
  482. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/pinecone_plugin.py +0 -0
  483. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/weaviate_plugin.py +0 -0
  484. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/wrappers.py +0 -0
  485. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/__init__.py +0 -0
  486. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/base.py +0 -0
  487. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/batch.py +0 -0
  488. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/local.py +0 -0
  489. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/streaming.py +0 -0
  490. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/__init__.py +0 -0
  491. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/adapters.py +0 -0
  492. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/bindings.py +0 -0
  493. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/canonical.py +0 -0
  494. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/cascade.py +0 -0
  495. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/certificates.py +0 -0
  496. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/composites.py +0 -0
  497. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/kinds.py +0 -0
  498. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/patterns.py +0 -0
  499. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/resolution.py +0 -0
  500. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/resolver.py +0 -0
  501. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/runtime.py +0 -0
  502. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/signals.py +0 -0
  503. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/telemetry.py +0 -0
  504. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/mcp/__init__.py +0 -0
  505. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/mcp/server.py +0 -0
  506. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/mcp/tools.py +0 -0
  507. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/__init__.py +0 -0
  508. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/agent_metrics.py +0 -0
  509. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/content_features.py +0 -0
  510. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/deepeval_metrics.py +0 -0
  511. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/ragas_metrics.py +0 -0
  512. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/registry.py +0 -0
  513. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/__init__.py +0 -0
  514. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/base.py +0 -0
  515. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/batch_optimizers.py +0 -0
  516. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/cloud_optimizer.py +0 -0
  517. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/grid.py +0 -0
  518. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/interactive_optimizer.py +0 -0
  519. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/optuna_checkpoint.py +0 -0
  520. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/optuna_utils.py +0 -0
  521. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/pruners.py +0 -0
  522. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/random.py +0 -0
  523. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/results.py +0 -0
  524. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/service_registry.py +0 -0
  525. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/plugins/__init__.py +0 -0
  526. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/plugins/registry.py +0 -0
  527. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/projects/__init__.py +0 -0
  528. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/projects/client.py +0 -0
  529. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/projects/config.py +0 -0
  530. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/projects/dtos.py +0 -0
  531. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/prompts/__init__.py +0 -0
  532. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/prompts/client.py +0 -0
  533. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/prompts/config.py +0 -0
  534. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/prompts/dtos.py +0 -0
  535. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/providers/__init__.py +0 -0
  536. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/providers/validation.py +0 -0
  537. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/py.typed +0 -0
  538. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/reporting/__init__.py +0 -0
  539. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/reporting/example_map.py +0 -0
  540. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/__init__.py +0 -0
  541. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/audit.py +0 -0
  542. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/__init__.py +0 -0
  543. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/helpers.py +0 -0
  544. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/mfa.py +0 -0
  545. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/models.py +0 -0
  546. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/saml.py +0 -0
  547. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/sms.py +0 -0
  548. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/totp.py +0 -0
  549. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/config.py +0 -0
  550. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/credentials.py +0 -0
  551. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/crypto_utils.py +0 -0
  552. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/deployment.py +0 -0
  553. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/enterprise.py +0 -0
  554. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/headers.py +0 -0
  555. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/input_validation.py +0 -0
  556. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/jwt_validator.py +0 -0
  557. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/rate_limiter.py +0 -0
  558. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/redaction.py +0 -0
  559. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/session_manager.py +0 -0
  560. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/tenant.py +0 -0
  561. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-analyze-results/references/convergence-patterns.md +0 -0
  562. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-configuration-space/SKILL.md +0 -0
  563. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-configuration-space/references/constraints.md +0 -0
  564. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-configuration-space/references/parameter-types.md +0 -0
  565. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-debugging/references/error-reference.md +0 -0
  566. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-debugging/references/logging-config.md +0 -0
  567. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-decorator-setup/references/evaluation-options.md +0 -0
  568. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-integrations/references/dspy.md +0 -0
  569. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-integrations/references/langchain.md +0 -0
  570. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-integrations/references/litellm.md +0 -0
  571. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-quickstart/references/environment-variables.md +0 -0
  572. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/storage/__init__.py +0 -0
  573. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/telemetry/__init__.py +0 -0
  574. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/telemetry/optuna_metrics.py +0 -0
  575. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/testing/__init__.py +0 -0
  576. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/traigent_integration.py +0 -0
  577. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/__init__.py +0 -0
  578. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/dataflow_strategy.py +0 -0
  579. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/detection_strategies.py +0 -0
  580. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/detection_types.py +0 -0
  581. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/detector.py +0 -0
  582. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/discovery.py +0 -0
  583. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/observation.py +0 -0
  584. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/py.typed +0 -0
  585. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/__init__.py +0 -0
  586. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/__main__.py +0 -0
  587. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/models.py +0 -0
  588. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/objectives.py +0 -0
  589. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/options.py +0 -0
  590. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/promotion_gate.py +0 -0
  591. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/registry.py +0 -0
  592. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/spec_loader.py +0 -0
  593. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/spec_validator.py +0 -0
  594. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/statistics.py +0 -0
  595. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/__init__.py +0 -0
  596. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/batch_optimizer_utils.py +0 -0
  597. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/batch_processing.py +0 -0
  598. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/constraints.py +0 -0
  599. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/cost_calculator.py +0 -0
  600. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/error_handler.py +0 -0
  601. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/example_id.py +0 -0
  602. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/exceptions.py +0 -0
  603. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/file_versioning.py +0 -0
  604. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/function_identity.py +0 -0
  605. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/hashing.py +0 -0
  606. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/importance.py +0 -0
  607. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/incentives.py +0 -0
  608. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/insights.py +0 -0
  609. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/langchain_interceptor.py +0 -0
  610. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/litellm_interceptor.py +0 -0
  611. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/llm_response_parsing.py +0 -0
  612. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/logging.py +0 -0
  613. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/multi_objective.py +0 -0
  614. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/numpy_compat.py +0 -0
  615. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/optimization_analyzer.py +0 -0
  616. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/persistence.py +0 -0
  617. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/reproducibility.py +0 -0
  618. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/retry.py +0 -0
  619. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/secure_path.py +0 -0
  620. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/url_security.py +0 -0
  621. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/user_prompts.py +0 -0
  622. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/validation.py +0 -0
  623. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/visualization/__init__.py +0 -0
  624. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/visualization/plots.py +0 -0
  625. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/wrapper/__init__.py +0 -0
  626. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/wrapper/errors.py +0 -0
  627. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/wrapper/server.py +0 -0
  628. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/wrapper/service.py +0 -0
  629. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/dependency_links.txt +0 -0
  630. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/entry_points.txt +0 -0
  631. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/top_level.txt +0 -0
  632. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent_validation/__init__.py +0 -0
  633. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent_validation/base.py +0 -0
  634. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent_validation/plugins.py +0 -0
  635. {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent_validation/py.typed +0 -0
@@ -4,7 +4,7 @@ All notable changes to Traigent SDK are documented in this file.
4
4
 
5
5
  Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
- ## [Unreleased]
7
+ ## [0.14.0] - 2026-06-19
8
8
 
9
9
  ### Added
10
10
  - **Composite telemetry rides the measures channel.** `composite_measures(run)`
@@ -23,6 +23,12 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
23
23
  example at `examples/advanced/composite-knobs/composite_telemetry.py`.
24
24
 
25
25
  ### Changed
26
+ - **Timing metrics now emit canonical millisecond keys** (#1225). Model latency is
27
+ reported as `response_time_ms`, evaluation wall time is reported as
28
+ `execution_time_ms`, and execution duration is no longer copied into
29
+ `response_time_ms`. Legacy seconds keys `model_response_time` and
30
+ `function_duration` remain populated for one minor-version compatibility window;
31
+ remove them after the next minor once downstream dashboards have migrated.
26
32
  - **Unpriced models now block instead of warn-and-continue.** When a real run includes
27
33
  models with no known pricing, the SDK now requires explicit confirmation: interactive
28
34
  terminals get a blocking prompt; non-interactive runs fail closed before any trial.
@@ -31,6 +37,24 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
31
37
  `TRAIGENT_CUSTOM_MODEL_PRICING_JSON`/`_FILE`. `TRAIGENT_STRICT_COST_ACCOUNTING=true`
32
38
  still hard-fails without prompting; mock runs are unaffected.
33
39
 
40
+ ### Removed
41
+ - **`BudgetStopCondition` class removed.** The class is no longer exported from any
42
+ public module. Replace usage with `cost_limit=<value>` in `.optimize()` calls, or
43
+ use `metric_limit=<value>` + `metric_name=<name>` for metric-based stopping.
44
+ - **`TRAIGENT_TRACES_ENABLED` environment variable removed.** The deprecated plural-form
45
+ alias is no longer read. Use `TRAIGENT_TRACE_ENABLED=true` (singular) instead. Setting
46
+ the old variable will have no effect and tracing will remain disabled.
47
+ - **`OptimizedFunction.config_space` property removed.** The property has been removed
48
+ from the public API. Access the configuration space through the `TVLParameterAgent`
49
+ interface or via decorator introspection helpers.
50
+ - **`strategy=` non-preset alias removed.** Passing an unrecognized string to `strategy=`
51
+ in `.optimize()` now raises `ValueError` immediately rather than falling back silently.
52
+ Use one of the documented preset names.
53
+ - **`budget_limit`, `budget_metric`, `budget_include_pruned` runtime override keys
54
+ removed.** Passing any of these as keyword arguments to `.optimize()` now raises
55
+ `TypeError`. Migrate to `cost_limit=<value>` for cost-based stopping, or
56
+ `metric_limit=<value>` + `metric_name=<name>` for metric-based stopping.
57
+
34
58
  ## [0.12.0] - 2026-06-06
35
59
 
36
60
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: traigent
3
- Version: 0.13.0.dev1
3
+ Version: 0.14.0
4
4
  Summary: Enterprise-grade LLM optimization platform with advanced analytics and AI-powered insights
5
5
  Author-email: Traigent Team <opensource@traigent.ai>
6
6
  License-Expression: AGPL-3.0-only OR LicenseRef-Traigent-Commercial
@@ -34,7 +34,7 @@ Requires-Dist: aiohttp<4.0,>=3.14.0
34
34
  Requires-Dist: requests>=2.33.0
35
35
  Requires-Dist: jsonschema>=4.0.0
36
36
  Requires-Dist: cryptography>=46.0.7
37
- Requires-Dist: PyJWT[crypto]<3.0.0,>=2.12.0
37
+ Requires-Dist: PyJWT[crypto]<3.0.0,>=2.13.0
38
38
  Requires-Dist: backoff>=2.2.0
39
39
  Requires-Dist: litellm==1.87.1
40
40
  Requires-Dist: rank-bm25
@@ -163,28 +163,38 @@ Our mission: **Anything you can measure, we can improve.** Whether it's accuracy
163
163
 
164
164
  **Quick Install:**
165
165
 
166
- macOS / Linux:
166
+ Install from PyPI — no clone required (Python 3.11+):
167
167
 
168
168
  ```bash
169
- git clone https://github.com/Traigent/Traigent.git
170
- cd Traigent
169
+ # pip
170
+ pip install "traigent[recommended]"
171
+
172
+ # uv (into the active venv, or `uv add` into a uv project)
173
+ uv pip install "traigent[recommended]"
174
+ uv add "traigent[recommended]"
175
+ ```
176
+
177
+ <details>
178
+ <summary>Prefer an isolated virtual environment first?</summary>
179
+
180
+ macOS / Linux:
171
181
 
182
+ ```bash
172
183
  python3 -m venv .venv
173
184
  source .venv/bin/activate
174
- pip install -e ".[recommended]"
185
+ pip install "traigent[recommended]"
175
186
  ```
176
187
 
177
188
  Windows PowerShell:
178
189
 
179
190
  ```powershell
180
- git clone https://github.com/Traigent/Traigent.git
181
- cd Traigent
182
-
183
191
  python -m venv .venv
184
192
  .venv\Scripts\Activate.ps1
185
- pip install -e ".[recommended]"
193
+ pip install "traigent[recommended]"
186
194
  ```
187
195
 
196
+ </details>
197
+
188
198
  For more options, see [Installation details](#installation).
189
199
 
190
200
  **Try it now - no API keys needed:**
@@ -343,14 +353,14 @@ The walkthrough examples use local mock mode through the quickstart/testing help
343
353
 
344
354
  ### ☁️ Traigent Portal & Hybrid Tracking
345
355
 
346
- Connect to [Traigent Portal](https://portal.traigent.ai) to view results, compare trials, and collaborate. The supported portal-visible SDK path today is `execution_mode="hybrid"`: trials run locally, while session and trial metrics are stored in the backend for portal tracking.
356
+ Connect to [Traigent Portal](https://portal.traigent.ai) to view results, compare trials, and collaborate. Portal tracking is enabled automatically when `TRAIGENT_API_KEY` is set you do not need to set `execution_mode`. The SDK auto-selects the mode based on algorithm and transport.
347
357
 
348
- `execution_mode="cloud"` is reserved for future remote agent execution. It is not available yet and fails with: “Cloud remote execution is not available yet; use hybrid for portal-tracked optimization.”
358
+ `execution_mode=”cloud”` is reserved for future remote agent execution and is not available yet.
349
359
 
350
360
  1. **Sign up** at [portal.traigent.ai](https://portal.traigent.ai) — verify your email to activate
351
361
  2. **Create an API key** — click your name (top-right) → **API Keys** → **+ Create API Key**
352
- 3. **Connect** — run `traigent auth login` or set `export TRAIGENT_API_KEY="sk_..."` <!-- pragma: allowlist secret -->
353
- 4. **Run with hybrid tracking** set `execution_mode="hybrid"` for portal-visible optimization
362
+ 3. **Connect** — run `traigent auth login` or set `export TRAIGENT_API_KEY=”sk_...”` <!-- pragma: allowlist secret -->
363
+ 4. **Run** portal tracking is automatic; no `execution_mode` needed
354
364
 
355
365
  <details>
356
366
  <summary>Credential priority and multi-provider setup</summary>
@@ -392,7 +402,7 @@ def multi_provider_agent(question: str) -> str:
392
402
  | Feature | Description |
393
403
  |---------|-------------|
394
404
  | **Zero-code integration** | Add `@traigent.optimize()` to existing code — no refactoring |
395
- | **Multi-algorithm** | Random, Grid, Bayesian (TPE, NSGA-II, CMA-ES) via Optuna |
405
+ | **Multi-algorithm** | Random and Grid locally; Bayesian (TPE, NSGA-II, CMA-ES) via the Traigent cloud |
396
406
  | **Multi-objective** | Optimize accuracy, latency, cost, and custom metrics simultaneously |
397
407
  | **Framework support** | LangChain, OpenAI SDK, Anthropic, LiteLLM, and any LLM provider |
398
408
  | **Cost tracking** | Integrated tokencost library with 500+ model pricing |
@@ -410,19 +420,20 @@ def multi_provider_agent(question: str) -> str:
410
420
 
411
421
  ### Installation
412
422
 
413
- Python 3.11+ on Linux, macOS, or Windows. For coordinated release validation, install from this repository source tree.
423
+ Python 3.11+ on Linux, macOS, or Windows. The published package on [PyPI](https://pypi.org/project/traigent/) is the recommended way to install `pip install "traigent[recommended]"` or `uv add "traigent[recommended]"`. No repository checkout is required to use the SDK or its `traigent` CLI.
414
424
 
415
425
  | Feature Set | Description |
416
426
  |-------------|-------------|
417
427
  | `[recommended]` | All user-facing features (default) |
418
428
  | `[integrations]` | LangChain, OpenAI, Anthropic adapters |
419
429
  | `[analytics]` | Visualization and analytics |
420
- | `[bayesian]` | Bayesian optimization (TPE, NSGA-II) |
430
+ | `[bayesian]` | Bayesian optimization dependencies (used by the Traigent cloud; not available locally) |
421
431
  | `[all]` | Everything |
422
432
 
423
433
  **[Full installation guide →](docs/getting-started/installation.md)**
424
434
 
425
- Source install with `pip`:
435
+ Contributor / source install (only needed to hack on Traigent itself or run the
436
+ coordinated release-validation suite — not required to use the SDK):
426
437
 
427
438
  ```bash
428
439
  git clone https://github.com/Traigent/Traigent.git
@@ -466,8 +477,8 @@ Provide a JSONL dataset — Traigent scores outputs using semantic similarity by
466
477
 
467
478
  | Mode | Status | Privacy | Algorithm | Best For |
468
479
  |------|--------|---------|-----------|----------|
469
- | **Local** (`edge_analytics`) | ✅ Available | ✅ Complete | All (Random/Grid/Bayesian/Optuna) | Local/private runs |
470
- | **Hybrid** (`hybrid`) | ✅ Available | ✅ Trial execution local | All (Random/Grid/Bayesian/Optuna) | Portal-tracked runs |
480
+ | **Local** (`edge_analytics`) | ✅ Available | ✅ Complete | Random, Grid | Local/private runs |
481
+ | **Hybrid** (`hybrid`) | ✅ Available | ✅ Trial execution local | Random, Grid + cloud smart algorithms | Portal-tracked runs |
471
482
  | **Cloud** (`cloud`) | 🚧 Reserved | Not available | Future remote execution | Do not use yet |
472
483
 
473
484
  **[Execution modes guide →](docs/guides/execution-modes.md)** — mode comparisons, privacy details, migration path
@@ -479,7 +490,7 @@ Provide a JSONL dataset — Traigent scores outputs using semantic similarity by
479
490
  | `configuration_space` | `@traigent.optimize()` | Parameters to test (required) |
480
491
  | `objectives` | `@traigent.optimize()` | Metrics to optimize for |
481
492
  | `eval_dataset` | `@traigent.optimize()` | Dataset for evaluation |
482
- | `algorithm` | `.optimize()` call | `"random"`, `"grid"`, `"bayesian"` |
493
+ | `algorithm` | `.optimize()` call | `"random"`, `"grid"` (local); smart algorithms run in the Traigent cloud |
483
494
  | `max_trials` | `.optimize()` call | Number of configurations to test |
484
495
  | `progress_bar` | `.optimize()` call | `True` / `False` / `None` (auto) — live progress bar |
485
496
 
@@ -15,28 +15,38 @@ Our mission: **Anything you can measure, we can improve.** Whether it's accuracy
15
15
 
16
16
  **Quick Install:**
17
17
 
18
- macOS / Linux:
18
+ Install from PyPI — no clone required (Python 3.11+):
19
19
 
20
20
  ```bash
21
- git clone https://github.com/Traigent/Traigent.git
22
- cd Traigent
21
+ # pip
22
+ pip install "traigent[recommended]"
23
+
24
+ # uv (into the active venv, or `uv add` into a uv project)
25
+ uv pip install "traigent[recommended]"
26
+ uv add "traigent[recommended]"
27
+ ```
28
+
29
+ <details>
30
+ <summary>Prefer an isolated virtual environment first?</summary>
31
+
32
+ macOS / Linux:
23
33
 
34
+ ```bash
24
35
  python3 -m venv .venv
25
36
  source .venv/bin/activate
26
- pip install -e ".[recommended]"
37
+ pip install "traigent[recommended]"
27
38
  ```
28
39
 
29
40
  Windows PowerShell:
30
41
 
31
42
  ```powershell
32
- git clone https://github.com/Traigent/Traigent.git
33
- cd Traigent
34
-
35
43
  python -m venv .venv
36
44
  .venv\Scripts\Activate.ps1
37
- pip install -e ".[recommended]"
45
+ pip install "traigent[recommended]"
38
46
  ```
39
47
 
48
+ </details>
49
+
40
50
  For more options, see [Installation details](#installation).
41
51
 
42
52
  **Try it now - no API keys needed:**
@@ -195,14 +205,14 @@ The walkthrough examples use local mock mode through the quickstart/testing help
195
205
 
196
206
  ### ☁️ Traigent Portal & Hybrid Tracking
197
207
 
198
- Connect to [Traigent Portal](https://portal.traigent.ai) to view results, compare trials, and collaborate. The supported portal-visible SDK path today is `execution_mode="hybrid"`: trials run locally, while session and trial metrics are stored in the backend for portal tracking.
208
+ Connect to [Traigent Portal](https://portal.traigent.ai) to view results, compare trials, and collaborate. Portal tracking is enabled automatically when `TRAIGENT_API_KEY` is set you do not need to set `execution_mode`. The SDK auto-selects the mode based on algorithm and transport.
199
209
 
200
- `execution_mode="cloud"` is reserved for future remote agent execution. It is not available yet and fails with: “Cloud remote execution is not available yet; use hybrid for portal-tracked optimization.”
210
+ `execution_mode=”cloud”` is reserved for future remote agent execution and is not available yet.
201
211
 
202
212
  1. **Sign up** at [portal.traigent.ai](https://portal.traigent.ai) — verify your email to activate
203
213
  2. **Create an API key** — click your name (top-right) → **API Keys** → **+ Create API Key**
204
- 3. **Connect** — run `traigent auth login` or set `export TRAIGENT_API_KEY="sk_..."` <!-- pragma: allowlist secret -->
205
- 4. **Run with hybrid tracking** set `execution_mode="hybrid"` for portal-visible optimization
214
+ 3. **Connect** — run `traigent auth login` or set `export TRAIGENT_API_KEY=”sk_...”` <!-- pragma: allowlist secret -->
215
+ 4. **Run** portal tracking is automatic; no `execution_mode` needed
206
216
 
207
217
  <details>
208
218
  <summary>Credential priority and multi-provider setup</summary>
@@ -244,7 +254,7 @@ def multi_provider_agent(question: str) -> str:
244
254
  | Feature | Description |
245
255
  |---------|-------------|
246
256
  | **Zero-code integration** | Add `@traigent.optimize()` to existing code — no refactoring |
247
- | **Multi-algorithm** | Random, Grid, Bayesian (TPE, NSGA-II, CMA-ES) via Optuna |
257
+ | **Multi-algorithm** | Random and Grid locally; Bayesian (TPE, NSGA-II, CMA-ES) via the Traigent cloud |
248
258
  | **Multi-objective** | Optimize accuracy, latency, cost, and custom metrics simultaneously |
249
259
  | **Framework support** | LangChain, OpenAI SDK, Anthropic, LiteLLM, and any LLM provider |
250
260
  | **Cost tracking** | Integrated tokencost library with 500+ model pricing |
@@ -262,19 +272,20 @@ def multi_provider_agent(question: str) -> str:
262
272
 
263
273
  ### Installation
264
274
 
265
- Python 3.11+ on Linux, macOS, or Windows. For coordinated release validation, install from this repository source tree.
275
+ Python 3.11+ on Linux, macOS, or Windows. The published package on [PyPI](https://pypi.org/project/traigent/) is the recommended way to install `pip install "traigent[recommended]"` or `uv add "traigent[recommended]"`. No repository checkout is required to use the SDK or its `traigent` CLI.
266
276
 
267
277
  | Feature Set | Description |
268
278
  |-------------|-------------|
269
279
  | `[recommended]` | All user-facing features (default) |
270
280
  | `[integrations]` | LangChain, OpenAI, Anthropic adapters |
271
281
  | `[analytics]` | Visualization and analytics |
272
- | `[bayesian]` | Bayesian optimization (TPE, NSGA-II) |
282
+ | `[bayesian]` | Bayesian optimization dependencies (used by the Traigent cloud; not available locally) |
273
283
  | `[all]` | Everything |
274
284
 
275
285
  **[Full installation guide →](docs/getting-started/installation.md)**
276
286
 
277
- Source install with `pip`:
287
+ Contributor / source install (only needed to hack on Traigent itself or run the
288
+ coordinated release-validation suite — not required to use the SDK):
278
289
 
279
290
  ```bash
280
291
  git clone https://github.com/Traigent/Traigent.git
@@ -318,8 +329,8 @@ Provide a JSONL dataset — Traigent scores outputs using semantic similarity by
318
329
 
319
330
  | Mode | Status | Privacy | Algorithm | Best For |
320
331
  |------|--------|---------|-----------|----------|
321
- | **Local** (`edge_analytics`) | ✅ Available | ✅ Complete | All (Random/Grid/Bayesian/Optuna) | Local/private runs |
322
- | **Hybrid** (`hybrid`) | ✅ Available | ✅ Trial execution local | All (Random/Grid/Bayesian/Optuna) | Portal-tracked runs |
332
+ | **Local** (`edge_analytics`) | ✅ Available | ✅ Complete | Random, Grid | Local/private runs |
333
+ | **Hybrid** (`hybrid`) | ✅ Available | ✅ Trial execution local | Random, Grid + cloud smart algorithms | Portal-tracked runs |
323
334
  | **Cloud** (`cloud`) | 🚧 Reserved | Not available | Future remote execution | Do not use yet |
324
335
 
325
336
  **[Execution modes guide →](docs/guides/execution-modes.md)** — mode comparisons, privacy details, migration path
@@ -331,7 +342,7 @@ Provide a JSONL dataset — Traigent scores outputs using semantic similarity by
331
342
  | `configuration_space` | `@traigent.optimize()` | Parameters to test (required) |
332
343
  | `objectives` | `@traigent.optimize()` | Metrics to optimize for |
333
344
  | `eval_dataset` | `@traigent.optimize()` | Dataset for evaluation |
334
- | `algorithm` | `.optimize()` call | `"random"`, `"grid"`, `"bayesian"` |
345
+ | `algorithm` | `.optimize()` call | `"random"`, `"grid"` (local); smart algorithms run in the Traigent cloud |
335
346
  | `max_trials` | `.optimize()` call | Number of configurations to test |
336
347
  | `progress_bar` | `.optimize()` call | `True` / `False` / `None` (auto) — live progress bar |
337
348
 
@@ -560,7 +560,7 @@ The `**runtime_overrides` parameter accepts additional settings:
560
560
 
561
561
  ```python
562
562
  @traigent.optimize(
563
- algorithm="optuna", # "grid", "random", "bayesian", "optuna"
563
+ algorithm="grid", # "grid" or "random" (local); smart algorithms run in the Traigent cloud
564
564
  ...
565
565
  )
566
566
  ```
@@ -77,9 +77,9 @@ export TRAIGENT_TRACE_ENABLED=true
77
77
 
78
78
  `TRAIGENT_TRACE_ENABLED` is the canonical tracing flag and defaults to
79
79
  `false`. It controls SDK span emission and workflow trace tracker creation.
80
- The older plural spelling `TRAIGENT_TRACES_ENABLED` remains as a deprecated
81
- alias when the canonical flag is unset; if both are set,
82
- `TRAIGENT_TRACE_ENABLED` takes precedence.
80
+ The older plural spelling `TRAIGENT_TRACES_ENABLED` is **no longer supported**
81
+ as of 0.13.0 and is silently ignored. If you were using `TRAIGENT_TRACES_ENABLED`,
82
+ migrate to `TRAIGENT_TRACE_ENABLED`.
83
83
 
84
84
  ### Agent Workflow Spans
85
85
 
@@ -193,6 +193,115 @@ def external_agent(_query: str) -> str:
193
193
  results = await external_agent.optimize(max_trials=10)
194
194
  ```
195
195
 
196
+ ## Multi-Field Evaluation Inputs
197
+
198
+ Many tasks need more than a single input string. A text2SQL task, for example,
199
+ requires both the natural-language question (`input`) and the database name
200
+ (`db_id`) and ground-truth SQL (`gold_sql`) for evaluation. The SDK supports
201
+ this through `example.metadata`.
202
+
203
+ ### How extra JSONL fields are routed
204
+
205
+ When the SDK loads a JSONL dataset it applies the following mapping for each row:
206
+
207
+ | JSONL key | Maps to |
208
+ |---|---|
209
+ | `input` (or `input_data`) | `example.input_data` |
210
+ | `expected_output` (or `expected`, `output`, `answer`, `target`, `label`) | `example.expected_output` |
211
+ | **every other key** | `example.metadata` (a `dict`) |
212
+
213
+ A row like:
214
+
215
+ ```jsonl
216
+ {"input": "How many employees live in each city?", "expected_output": "3 rows", "db_id": "company", "gold_sql": "SELECT city, COUNT(*) FROM employees GROUP BY city"}
217
+ ```
218
+
219
+ produces an `EvaluationExample` where:
220
+ - `example.input_data` → `"How many employees live in each city?"`
221
+ - `example.expected_output` → `"3 rows"`
222
+ - `example.metadata` → `{"db_id": "company", "gold_sql": "SELECT city, COUNT(*) FROM employees GROUP BY city"}`
223
+
224
+ ### Accessing metadata in a custom evaluator
225
+
226
+ Use `custom_evaluator` to read extra fields alongside the function output.
227
+ The evaluator receives the raw `EvaluationExample` and must return an
228
+ `ExampleResult`:
229
+
230
+ ```python
231
+ import traigent
232
+ from traigent.api.types import ExampleResult
233
+
234
+
235
+ def sql_evaluator(func, config, example):
236
+ db_id = example.metadata.get("db_id", "default")
237
+ gold_sql = example.metadata.get("gold_sql", "")
238
+
239
+ predicted_sql = func(example.input_data)
240
+ correct = predicted_sql.strip().lower() == gold_sql.strip().lower()
241
+ return ExampleResult(
242
+ actual_output=predicted_sql,
243
+ score=1.0 if correct else 0.0,
244
+ success=correct,
245
+ )
246
+
247
+
248
+ @traigent.optimize(
249
+ eval_dataset="data/text2sql.jsonl",
250
+ custom_evaluator=sql_evaluator,
251
+ objectives=["accuracy"],
252
+ configuration_space={
253
+ "model": ["claude-3-haiku-20240307"],
254
+ "temperature": [0.0, 0.3],
255
+ },
256
+ )
257
+ def text2sql_agent(question: str) -> str:
258
+ cfg = traigent.get_config()
259
+ return call_llm(question, model=cfg["model"], temperature=cfg["temperature"])
260
+ ```
261
+
262
+ > **Note:** a plain `scoring_function(output, expected)` does not receive
263
+ > `example.metadata`. Use `custom_evaluator` whenever the task needs extra
264
+ > fields beyond the predicted and expected outputs.
265
+
266
+ ### Multi-field input dict
267
+
268
+ When the optimized function itself needs multiple inputs, set `input` to a
269
+ JSON object:
270
+
271
+ ```jsonl
272
+ {"input": {"question": "Find all cities with more than 100 employees", "schema": "employees(id, city, dept)"}, "expected_output": "SELECT city FROM employees GROUP BY city HAVING COUNT(*) > 100"}
273
+ ```
274
+
275
+ The SDK passes the dict's keys as keyword arguments if the function signature
276
+ matches (either via named parameters or `**kwargs`):
277
+
278
+ ```python
279
+ @traigent.optimize(
280
+ eval_dataset="data/text2sql.jsonl",
281
+ scoring_function=my_score,
282
+ objectives=["accuracy"],
283
+ configuration_space={"model": ["claude-3-haiku-20240307"], "temperature": [0.0]},
284
+ )
285
+ def text2sql_agent(question: str, schema: str) -> str:
286
+ cfg = traigent.get_config()
287
+ return call_llm(
288
+ f"Schema: {schema}\nQuestion: {question}",
289
+ model=cfg["model"],
290
+ temperature=cfg["temperature"],
291
+ )
292
+ ```
293
+
294
+ Alternatively, accept `**kwargs` to keep the signature flexible:
295
+
296
+ ```python
297
+ @traigent.optimize(...)
298
+ def text2sql_agent(**kwargs) -> str:
299
+ cfg = traigent.get_config()
300
+ question = kwargs["question"]
301
+ schema = kwargs.get("schema", "")
302
+ return call_llm(f"Schema: {schema}\nQ: {question}", model=cfg["model"])
303
+ ```
304
+
196
305
  ## Mock Smoke Tests
197
306
 
198
307
  For tutorials and CI smoke tests, call mock mode explicitly near the top of the
@@ -146,13 +146,11 @@ def my_agent(query: str) -> str:
146
146
 
147
147
  ## 🔒 Execution Model
148
148
 
149
- Traigent executes your code locally. The default is `execution_mode="edge_analytics"` (local).
149
+ Traigent executes your code locally. **You do not need to set `execution_mode`** — the SDK auto-selects it based on your algorithm and configuration.
150
150
 
151
- `execution_mode="hybrid"` runs trials locally while sending session and trial metrics to the backend so results appear in the Traigent portal.
151
+ Portal tracking (results visible in the Traigent portal) is enabled automatically when `TRAIGENT_API_KEY` is set. For grid/random search, the auto-selected mode is `edge_analytics`; for smart algorithms (Bayesian, TPE), it is `hybrid`.
152
152
 
153
- `execution_mode="cloud"` is reserved for future remote execution. It is not available yet and fails with: “Cloud remote execution is not available yet; use hybrid for portal-tracked optimization.”
154
-
155
- If you want website-visible results today, use `hybrid`; do not switch to `cloud`.
153
+ `execution_mode=”cloud”` is reserved for future remote execution and is not available yet.
156
154
 
157
155
  To run fully local (no Traigent backend communication), set `TRAIGENT_OFFLINE_MODE=true`.
158
156
 
@@ -1,24 +1,27 @@
1
1
  # Traigent Execution Modes Guide
2
2
 
3
- > **Current status:** Traigent executes trials locally. The default is `execution_mode="edge_analytics"` (local-only). Use `execution_mode="hybrid"` when you want local execution plus backend/portal tracking. `execution_mode="cloud"` is reserved for future remote execution and fails with: “Cloud remote execution is not available yet; use hybrid for portal-tracked optimization.”
3
+ > **Current status (0.13+):** Traigent auto-selects the execution mode you do not need to set `execution_mode` explicitly. Portal tracking is enabled automatically when `TRAIGENT_API_KEY` is set, regardless of mode. `execution_mode=”cloud”` is reserved for future remote execution and is not available yet.
4
4
 
5
5
  ## Overview
6
6
 
7
- Use `edge_analytics` (default) to run locally. Use `hybrid` for website-visible results while keeping trials on your machine. Do not use `cloud` yet; remote agent execution is not implemented.
7
+ **You do not need to set `execution_mode`.** The SDK picks the right mode automatically:
8
8
 
9
- To run fully local (no Traigent backend communication), set `TRAIGENT_OFFLINE_MODE=true`.
9
+ - **Grid/random search (typical Python decorator use)** `edge_analytics` (local execution; portal-tracked when `TRAIGENT_API_KEY` is present)
10
+ - **Smart algorithms (Bayesian, TPE, CMA-ES)** → `hybrid` (cloud-assisted orchestration; requires API key)
11
+ - **External REST agent service** → `hybrid_api` (your service receives suggestions via the Hybrid Mode REST API)
10
12
 
11
- ## Migration Note
13
+ Portal tracking (results visible in the Traigent portal) is a function of having `TRAIGENT_API_KEY` set, not of the execution mode.
12
14
 
13
- If you want optimization results in the Traigent website, use `execution_mode="hybrid"`, not `execution_mode="cloud"`. Hybrid is the supported production path for portal-tracked SDK optimization. Cloud is reserved for a future product path where Traigent Cloud runs the remote agent execution itself.
15
+ To run fully local (no Traigent backend communication), set `TRAIGENT_OFFLINE_MODE=true` or omit `TRAIGENT_API_KEY`.
14
16
 
15
17
  ## Modes at a Glance
16
18
 
17
- | Mode | OSS availability | Status | Notes |
18
- | --- | --- | --- | --- |
19
- | `edge_analytics` | Available | Supported | Local execution and local results |
20
- | `hybrid` | Available | Supported | Local execution plus backend session/trial tracking |
21
- | `cloud` | Reserved | Not implemented | Remote execution path fails closed |
19
+ | Mode | When auto-selected | Notes |
20
+ | --- | --- | --- |
21
+ | `edge_analytics` | Grid/random search | Local execution; portal-visible when API key is set |
22
+ | `hybrid` | Smart algorithms (Bayesian, TPE, …) | Cloud-assisted orchestration; API key required |
23
+ | `hybrid_api` | External REST agent service configured | Your agent receives suggestions via REST |
24
+ | `cloud` | (reserved) | Remote execution — not implemented yet; fails closed |
22
25
 
23
26
  ## Local Mode (`edge_analytics`)
24
27
 
@@ -64,11 +67,15 @@ def my_agent(query: str) -> str:
64
67
  - CI smoke tests and demos (`TRAIGENT_MOCK_LLM=true`)
65
68
  - Budget-conscious experiments
66
69
 
67
- ## Hybrid Mode
70
+ ## Hybrid Mode (`hybrid`)
68
71
 
69
- Hybrid mode is the production path for portal-tracked SDK runs today. The SDK creates a backend session, runs each trial locally, and submits trial metrics to the backend session/result endpoints so the run appears in the portal.
72
+ Auto-selected when a smart algorithm (Bayesian, TPE, CMA-ES, NSGA-II) is requested. The SDK uses cloud-assisted orchestration for suggestion generation while running each trial locally.
70
73
 
71
- Use `hybrid` when you want results to appear in the Traigent website. Use `edge_analytics` when you want fully local runs with no backend dependency.
74
+ `hybrid` is **not** the mode to set for "I want portal visibility with grid/random search" — that is `edge_analytics` with `TRAIGENT_API_KEY` set. Use `hybrid` only if you explicitly need smart cloud-assisted optimization algorithms.
75
+
76
+ ## Hybrid API Mode (`hybrid_api`)
77
+
78
+ Auto-selected when a Hybrid Mode REST endpoint or transport is configured (`hybrid_api_endpoint` / `hybrid_api_transport`). Your external agent service receives trial suggestions via the Traigent Hybrid Mode REST API.
72
79
 
73
80
  ## Cloud Roadmap
74
81
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  This guide describes the planned Model 2 agent-specification API.
4
4
 
5
- > **Current status:** Remote agent optimization in Traigent Cloud is not implemented yet. The `execution_mode="cloud"` path fails closed with: “Cloud remote execution is not available yet; use hybrid for portal-tracked optimization.” Use `execution_mode="hybrid"` for portal-visible SDK runs today; trials still execute locally.
5
+ > **Current status:** Remote agent optimization in Traigent Cloud is not implemented yet. The `execution_mode="cloud"` path fails closed with: “Cloud remote execution is not available yet; use hybrid for portal-tracked optimization.” Mode is auto-selected; set `TRAIGENT_API_KEY` for portal-visible runs.
6
6
 
7
7
  ## Overview
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Traigent SDK currently supports local execution and portal-tracked local execution. This guide separates supported modes from future remote execution paths.
4
4
 
5
- > **Current status:** Use `execution_mode="edge_analytics"` for fully local runs and `execution_mode="hybrid"` for portal-tracked runs where trials still execute locally. `execution_mode="cloud"` and managed remote agent execution are not implemented yet and fail closed with guidance to use `hybrid`.
5
+ > **Current status (0.13+):** The SDK auto-selects `execution_mode` you do not need to set it. Portal tracking is enabled by having `TRAIGENT_API_KEY` set. For fully offline runs, set `TRAIGENT_OFFLINE_MODE=true`. `execution_mode="cloud"` is not implemented yet.
6
6
 
7
7
  ## Quick Decision Guide
8
8
 
@@ -164,12 +164,13 @@ async with cloud_client:
164
164
  # response includes optimization details and best configuration
165
165
  ```
166
166
 
167
- ### Supported Hybrid Approach
167
+ ### Portal-Tracked Runs
168
168
 
169
- Use `execution_mode="hybrid"` when you want the supported portal-tracked path:
170
- - Trials execute locally.
171
- - The backend stores session metadata and trial metrics.
172
- - Results appear in the Traigent portal without using the unavailable remote cloud execution path.
169
+ To get results in the Traigent portal: set `TRAIGENT_API_KEY` and run normally. The SDK sends session/trial metrics to the backend automatically. **No `execution_mode` change needed.**
170
+
171
+ - For grid/random search: auto-selected mode is `edge_analytics`; portal tracking is on when API key is present.
172
+ - For smart algorithms (Bayesian, TPE, CMA-ES): auto-selected mode is `hybrid`.
173
+ - For external REST agent services: configure `hybrid_api_endpoint`; auto-selected mode is `hybrid_api`.
173
174
 
174
175
  ## Decision Factors
175
176
 
@@ -231,14 +232,14 @@ Use `execution_mode="hybrid"` when you want the supported portal-tracked path:
231
232
  ### From Local-Only to Portal-Tracked:
232
233
 
233
234
  1. Keep the optimized function and dataset unchanged.
234
- 2. Authenticate with `traigent auth device-login`, run `traigent onboard` for guided setup, or set `TRAIGENT_API_KEY` in CI/non-interactive environments.
235
- 3. Set `execution_mode="hybrid"`.
235
+ 2. Authenticate: run `traigent auth device-login`, `traigent onboard`, or set `TRAIGENT_API_KEY` in CI/non-interactive environments.
236
+ 3. Run normally — the SDK sends metrics to the portal automatically.
236
237
  4. Confirm the run appears in Traigent Portal.
237
238
 
238
239
  ### From Accidental Cloud Usage:
239
240
 
240
- 1. Replace `execution_mode="cloud"` with `execution_mode="hybrid"` when you want website results.
241
- 2. Use `execution_mode="edge_analytics"` and `TRAIGENT_OFFLINE_MODE=true` when you want no backend dependency.
241
+ 1. Remove `execution_mode="cloud"` set `TRAIGENT_API_KEY` for portal-tracked runs (mode is auto-selected).
242
+ 2. Use `TRAIGENT_OFFLINE_MODE=true` when you want no backend dependency.
242
243
  3. Treat cloud remote execution docs and APIs as roadmap/reference material until the product path is released.
243
244
 
244
245
  ## Performance Tips
@@ -270,8 +271,6 @@ Use `execution_mode="hybrid"` when you want the supported portal-tracked path:
270
271
 
271
272
  Choose based on your primary constraints:
272
273
 
273
- - **Privacy/local-only**: `edge_analytics`
274
- - **Website-visible results**: `hybrid`
274
+ - **Privacy/local-only (no portal)**: `edge_analytics` + `TRAIGENT_OFFLINE_MODE=true`
275
+ - **Portal-visible results**: set `TRAIGENT_API_KEY`; mode auto-selected (`edge_analytics` for grid/random, `hybrid` for smart algorithms)
275
276
  - **Remote cloud execution**: reserved for a future release
276
-
277
- For now, users wanting website results should use `hybrid`, not `cloud`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  This guide documents Traigent's interactive optimization model for client-side execution with remote guidance.
4
4
 
5
- > **Current status:** The generic `InteractiveOptimizer` can be used with a real `RemoteGuidanceService` implementation, but Traigent Cloud remote guidance is not a supported production path yet. Use `execution_mode="hybrid"` for portal-tracked SDK optimization today; use `execution_mode="edge_analytics"` for fully local runs.
5
+ > **Current status:** The generic `InteractiveOptimizer` can be used with a real `RemoteGuidanceService` implementation, but Traigent Cloud remote guidance is not a supported production path yet. Mode is auto-selected; set `TRAIGENT_API_KEY` for portal-tracked runs, or `TRAIGENT_OFFLINE_MODE=true` for fully local runs.
6
6
 
7
7
  ## Overview
8
8
 
@@ -85,7 +85,7 @@ and name the result-submission method `submit_trial_result`. Use
85
85
  signature differences into your code.
86
86
 
87
87
  > Backend availability: the Traigent Cloud remote-guidance endpoints back
88
- > these adapter calls. Use `execution_mode="hybrid"` if you only need
88
+ > these adapter calls. Use `edge_analytics` mode (auto-selected) if you only need
89
89
  > portal-tracked SDK runs with local trial execution.
90
90
 
91
91