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.
- {traigent-0.13.0.dev1 → traigent-0.14.0}/CHANGELOG.md +25 -1
- {traigent-0.13.0.dev1/traigent.egg-info → traigent-0.14.0}/PKG-INFO +32 -21
- {traigent-0.13.0.dev1 → traigent-0.14.0}/README.md +30 -19
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/decorator-reference.md +1 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/telemetry.md +3 -3
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/API_PATTERNS.md +109 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/GETTING_STARTED.md +3 -5
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/execution-modes.md +20 -13
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/agent_optimization.md +1 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/choosing_optimization_model.md +13 -14
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/interactive_optimization.md +2 -2
- traigent-0.14.0/docs/user-guide/optuna_integration.md +83 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/pyproject.toml +9 -3
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-security.txt +4 -4
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/__init__.py +2 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/_version.py +15 -6
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/adapters/execution_adapter.py +1 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/config_mapper.py +1 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/__init__.py +2 -9
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/intelligence.py +6 -7
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/meta_learning.py +0 -13
- traigent-0.14.0/traigent/analytics/next_steps.py +184 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/__init__.py +2 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/config_builder.py +2 -8
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/constraint_builders.py +98 -4
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/decorators.py +122 -67
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/functions.py +27 -68
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/parameter_ranges.py +27 -14
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/parameter_validator.py +3 -12
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/types.py +47 -11
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/auth_commands.py +18 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/detect_tvars_command.py +25 -2
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/generate_config_command.py +4 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/hooks_commands.py +1 -3
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/local_commands.py +12 -2
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/main.py +270 -11
- traigent-0.14.0/traigent/cli/next_steps_command.py +100 -0
- traigent-0.14.0/traigent/cli/playbook_commands.py +149 -0
- traigent-0.14.0/traigent/cli/sync_commands.py +180 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/api_operations.py +185 -52
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/auth.py +19 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/backend_bridges.py +34 -3
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/backend_client.py +11 -3
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/client.py +59 -10
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/credential_resolver.py +7 -2
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/dtos.py +2 -2
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/governance.py +2 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/integration_manager.py +1 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/models.py +16 -11
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/session_operations.py +89 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/sync_manager.py +328 -89
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/trial_operations.py +124 -18
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/url_security.py +7 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/backend_config.py +8 -10
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/types.py +27 -33
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/backend_session_manager.py +124 -26
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/best_config_runtime.py +20 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/ci_approval.py +11 -3
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/cost_enforcement.py +3 -6
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/evaluator_wrapper.py +17 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/exception_handler.py +20 -19
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/license.py +3 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/metadata_helpers.py +64 -16
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/optimization_pipeline.py +17 -6
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/optimized_function.py +344 -74
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/orchestrator.py +89 -62
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/orchestrator_helpers.py +433 -433
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/result_selection.py +55 -20
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/stop_conditions.py +0 -38
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/trace_env.py +1 -22
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/__init__.py +10 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/base.py +49 -6
- traigent-0.14.0/traigent/evaluators/catalog/metric_eval_catalog.v1.json +533 -0
- traigent-0.14.0/traigent/evaluators/catalog/schemas/metric_eval_catalog_entry_schema.json +278 -0
- traigent-0.14.0/traigent/evaluators/catalog_loader.py +154 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/hybrid_api.py +151 -35
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/local.py +20 -14
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/metrics_tracker.py +59 -3
- traigent-0.14.0/traigent/evaluators/recommendations.py +334 -0
- traigent-0.14.0/traigent/examples/providers/__init__.py +46 -0
- traigent-0.14.0/traigent/examples/providers/_bootstrap.py +101 -0
- traigent-0.14.0/traigent/examples/providers/_demo.py +164 -0
- traigent-0.14.0/traigent/examples/providers/anthropic.py +52 -0
- traigent-0.14.0/traigent/examples/providers/aws.py +65 -0
- traigent-0.14.0/traigent/examples/providers/azure.py +72 -0
- traigent-0.14.0/traigent/examples/providers/gcp.py +66 -0
- traigent-0.14.0/traigent/examples/providers/gemini.py +61 -0
- traigent-0.14.0/traigent/examples/providers/groq.py +59 -0
- traigent-0.14.0/traigent/examples/providers/litellm_any.py +62 -0
- traigent-0.14.0/traigent/examples/providers/manifest.json +169 -0
- traigent-0.14.0/traigent/examples/providers/openai.py +52 -0
- traigent-0.14.0/traigent/examples/providers/openrouter.py +61 -0
- traigent-0.14.0/traigent/examples/quickstart/qa_samples.jsonl +8 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/__init__.py +2 -1
- traigent-0.14.0/traigent/generation/options.py +120 -0
- traigent-0.14.0/traigent/generation/skill_train/__init__.py +10 -0
- traigent-0.14.0/traigent/generation/skill_train/artifacts.py +86 -0
- traigent-0.14.0/traigent/generation/skill_train/buffer.py +91 -0
- traigent-0.14.0/traigent/generation/skill_train/document.py +84 -0
- traigent-0.14.0/traigent/generation/skill_train/edits.py +287 -0
- traigent-0.14.0/traigent/generation/skill_train/prompts.py +243 -0
- traigent-0.14.0/traigent/generation/skill_train/reflection.py +137 -0
- traigent-0.14.0/traigent/generation/skill_train/schedule.py +41 -0
- traigent-0.14.0/traigent/generation/skill_train/slow_update.py +244 -0
- traigent-0.14.0/traigent/generation/skill_train/splits.py +61 -0
- traigent-0.14.0/traigent/generation/skill_train/trainer.py +847 -0
- traigent-0.14.0/traigent/generation/skill_train/trainer_result.py +25 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/http_transport.py +3 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/observability/workflow_traces.py +7 -6
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/agent_spans.py +1 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/client.py +107 -34
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/config.py +5 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/decorators.py +27 -7
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/dtos.py +5 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/__init__.py +2 -26
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/benchmarking.py +51 -42
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/registry.py +66 -54
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/remote.py +1 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/remote_services.py +26 -18
- traigent-0.14.0/traigent/playbook/__init__.py +17 -0
- traigent-0.14.0/traigent/playbook/loader.py +89 -0
- traigent-0.14.0/traigent/playbook/model.py +41 -0
- traigent-0.14.0/traigent/playbook/scaffold.py +56 -0
- traigent-0.14.0/traigent/playbook/schemas/agent_playbook_schema.json +162 -0
- traigent-0.14.0/traigent/playbook/staleness.py +37 -0
- traigent-0.14.0/traigent/playbook/validator.py +130 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/oidc.py +36 -26
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/encryption.py +2 -2
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-analyze-results/SKILL.md +5 -5
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-analyze-results/references/optimization-result-api.md +2 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-debugging/SKILL.md +5 -5
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-debugging/references/mock-mode.md +4 -4
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-decorator-setup/SKILL.md +3 -3
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-decorator-setup/references/execution-modes.md +11 -10
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-decorator-setup/references/injection-modes.md +6 -5
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-integrations/SKILL.md +12 -2
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-quickstart/SKILL.md +14 -6
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-quickstart/references/installation-extras.md +3 -3
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-run-optimization/SKILL.md +12 -28
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-run-optimization/references/algorithms.md +14 -59
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-run-optimization/references/cost-management.md +1 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-run-optimization/references/parallel-config.md +5 -4
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/storage/local_storage.py +81 -7
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/traigent_client.py +27 -20
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/callbacks.py +109 -53
- traigent-0.14.0/traigent/utils/console.py +87 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/diagnostics.py +22 -21
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/env_config.py +2 -2
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/local_analytics.py +3 -2
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/objectives.py +20 -8
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/optimization_logger.py +0 -2
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/results_table.py +47 -11
- {traigent-0.13.0.dev1 → traigent-0.14.0/traigent.egg-info}/PKG-INFO +32 -21
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/SOURCES.txt +42 -4
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/requires.txt +1 -1
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent_validation/validators.py +62 -0
- traigent-0.13.0.dev1/docs/user-guide/optuna_integration.md +0 -164
- traigent-0.13.0.dev1/traigent/generation/options.py +0 -46
- traigent-0.13.0.dev1/traigent/optimizers/bayesian.py +0 -605
- traigent-0.13.0.dev1/traigent/optimizers/optuna_adapter.py +0 -170
- traigent-0.13.0.dev1/traigent/optimizers/optuna_coordinator.py +0 -580
- traigent-0.13.0.dev1/traigent/optimizers/optuna_optimizer.py +0 -756
- {traigent-0.13.0.dev1 → traigent-0.14.0}/COMMERCIAL-LICENSE.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/CONTRIBUTING.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/CONTRIBUTOR-LICENSING.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/DISCLAIMER.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/LICENSE +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/MANIFEST.in +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/NOTICE +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/SECURITY.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/README.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/SYNC_MAP.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/agent-skill.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/complete-function-specification.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/enterprise-beta-api.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/interactive_optimizer.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/api-reference/thread-pool-examples.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/ARCHITECTURE.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/cost-architecture-validation.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/execution_mode_follow_up.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/integrations-inventory.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/plugin_architecture.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/project-structure.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/architecture/stop_conditions.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/concepts/composite-knob-ir.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/concepts/composite-knobs.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/concepts/guided-generation.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/ADDING_NEW_INTEGRATIONS.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/CODE_OF_CONDUCT.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/CONTRIBUTING.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/EXAMPLE_TEMPLATE.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/README.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/SECURITY.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/aikido_triage.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/code_review_instructions.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/contributing/test-quality-guide.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/demos/DEMO_VIDEO_GUIDE.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/demos/README.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/LEARNING_ROADMAP.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/QUICK_REFERENCE.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/README.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/START_HERE.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/examples/TROUBLESHOOTING.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/fake-completion-tracking.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/feature_matrices/README.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/README.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/authentication.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/constraint-dsl.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/dataflow-detection.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/framework_override_enhanced_features.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/mcp-server.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/observability-spans.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/onboarding.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/prompt_management.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/recommendations.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/safety-gates.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/seamless_injection.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/strategy-presets.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/features/strict_metrics_nulls.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/README.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/installation.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/minimal-integration.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/portal-dev-laptop-agent.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/getting-started/testing.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/VSCODE_RESTART_GUIDE.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/evaluation.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/js-bridge.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/llm_plugin_migration_guide.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/parallel-configuration.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/guides/secrets_management.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/hybrid-mode-api-contract.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/hybrid-mode-client-guide.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/operations/azure_openai.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/operations/bedrock.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/operations/google_gemini.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/security/trust_model.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/testing/CREATIVE_STRESS_TESTING.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/concepts/composite-knob-ir.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/concepts/composite-knobs.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/concepts/guided-generation.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/schema.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/tagging_tracking.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/traceability/taxonomy_reference.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/tvl/CONSTRAINT_EXPRESSIONS.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/README.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/configuration-spaces.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/evaluation_guide.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/injection_modes.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/user-guide/tuned_variables.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/docs/walkthrough.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-all.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-analytics.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-bayesian.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-chroma.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-dev.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-hybrid.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-integrations.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements-test.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/requirements/requirements.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/setup.cfg +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/admin/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/admin/client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/admin/config.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/admin/dtos.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/executor.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/platforms.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/agents/specification_generator.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/anomaly.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/cost_optimization.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/example_insights.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/predictive.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/analytics/scheduling.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/agent_inference.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/config_space.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/constraints.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/safety.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/strategy_presets.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/api/validation_protocol.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/function_discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/onboard_commands.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/optimization_validator.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cli/validation_types.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/_aiohttp_compat.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/agent_dtos.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/api_key_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/async_batch_transport.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/backend_components.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/backend_synchronizer.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/benchmark_client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/billing.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/cloud_operations.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/credential_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/dataset_converter.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/event_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/optimizer_client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/password_auth_handler.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/privacy_operations.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/production_mcp_client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/remote_guidance.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/resilient_client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/service.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/session_types.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/sessions.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/subset_selection.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/token_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/trial_tracker.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/cloud/validators.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/api_keys.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/ast_transformer.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/context.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/feature_flags.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/models.yaml +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/parallel.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/project.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/providers.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/runtime_injector.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/seamless_injection.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/seamless_optuna_adapter.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config/tenant.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/agent_classifier.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/apply.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog/schemas/tvar_catalog_entry_schema.json +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog/schemas/tvar_observation_schema.json +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog/schemas/tvar_value_recommendation_schema.json +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog/tvar_catalog.v1.json +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/catalog.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/llm_backend.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/pipeline.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/agent_type_catalog.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/benchmark_catalog.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/constraint_templates.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/presets/range_presets.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/recommendations.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/benchmarks.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/objectives.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/safety_constraints.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/structural_constraints.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/tvar_ranges.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/subsystems/tvar_recommendations.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/config_generator/types.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/cache_policy.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/config_builder.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/config_state_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/constants.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/cost_estimator.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/llm_processor.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/logger_facade.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/mandatory_metrics.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/meta_types.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/metric_registry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/metrics_aggregator.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/namespace.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/objectives.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/parallel_execution_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/progress_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/pruning_progress_tracker.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/refactoring_utils.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/sample_budget.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/samplers/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/samplers/random_sampler.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/session_context.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/session_types.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/stat_significance.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/stop_condition_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/tracing.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/trial_context.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/trial_lifecycle.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/trial_result_factory.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/types.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/types_ext.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/utils.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core/workflow_trace_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core_metrics/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core_metrics/client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core_metrics/config.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/core_metrics/dtos.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/contracts.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/strategies/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/strategies/framework_param.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/effectuation/strategies/self_consistency.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluation/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluation/client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluation/config.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluation/dtos.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/dataset_registry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/evaluators/metrics.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/__init__.py +0 -0
- {traigent-0.13.0.dev1/traigent/examples/quickstart → traigent-0.14.0/traigent/examples/providers}/qa_samples.jsonl +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/quickstart/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/quickstart/__main__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/quickstart/_env.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/examples/tutorial_bootstrap.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/backend_provider.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/example_synth.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/llm_provider.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/loop.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/models.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/prompt_rewriter.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/generation/validators.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/guaranteed_modes.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hooks/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hooks/config.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hooks/installer.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hooks/validator.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/lifecycle.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/mcp_transport.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/protocol.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/hybrid/transport.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/activation.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/base.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/base_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/batch_wrapper.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/bedrock_client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/config.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/dspy_adapter.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/framework_override.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langchain/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langchain/handler.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langfuse/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langfuse/callback.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langfuse/client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/langfuse/tracker.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/anthropic_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/azure_openai_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/base_llm_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/bedrock_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/cohere_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/gemini_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/huggingface_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/langchain/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/langchain/base.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/langchain/discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/langchain_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/litellm_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/llamaindex_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/mistral_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/openai.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/llms/openai_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/mappings.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/anthropic_discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/azure_discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/base.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/cache.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/gemini_discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/mistral_discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/openai_discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/model_discovery/registry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/observability/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/observability/mlflow.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/observability/wandb.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/plugin_registry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/providers.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/pydantic_ai/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/pydantic_ai/_types.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/pydantic_ai/handler.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/pydantic_ai/plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/message_coercion.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/mock_adapter.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/parameter_normalizer.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/response_wrapper.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/validation.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/utils/version_compat.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/base.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/chromadb_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/pinecone_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/vector_stores/weaviate_plugin.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/integrations/wrappers.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/base.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/batch.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/local.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/invokers/streaming.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/adapters.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/bindings.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/canonical.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/cascade.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/certificates.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/composites.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/kinds.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/patterns.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/resolution.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/resolver.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/runtime.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/signals.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/knobs/telemetry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/mcp/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/mcp/server.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/mcp/tools.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/agent_metrics.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/content_features.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/deepeval_metrics.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/ragas_metrics.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/metrics/registry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/observability/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/base.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/batch_optimizers.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/cloud_optimizer.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/grid.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/interactive_optimizer.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/optuna_checkpoint.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/optuna_utils.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/pruners.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/random.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/results.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/optimizers/service_registry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/plugins/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/plugins/registry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/projects/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/projects/client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/projects/config.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/projects/dtos.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/prompts/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/prompts/client.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/prompts/config.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/prompts/dtos.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/providers/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/providers/validation.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/py.typed +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/reporting/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/reporting/example_map.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/audit.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/helpers.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/mfa.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/models.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/saml.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/sms.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/auth/totp.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/config.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/credentials.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/crypto_utils.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/deployment.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/enterprise.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/headers.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/input_validation.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/jwt_validator.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/rate_limiter.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/redaction.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/session_manager.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/security/tenant.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-analyze-results/references/convergence-patterns.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-configuration-space/SKILL.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-configuration-space/references/constraints.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-configuration-space/references/parameter-types.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-debugging/references/error-reference.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-debugging/references/logging-config.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-decorator-setup/references/evaluation-options.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-integrations/references/dspy.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-integrations/references/langchain.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-integrations/references/litellm.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/skills/traigent-quickstart/references/environment-variables.md +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/storage/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/telemetry/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/telemetry/optuna_metrics.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/testing/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/traigent_integration.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/dataflow_strategy.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/detection_strategies.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/detection_types.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/detector.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/discovery.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/observation.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tuned_variables/py.typed +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/__main__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/models.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/objectives.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/options.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/promotion_gate.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/registry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/spec_loader.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/spec_validator.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/tvl/statistics.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/batch_optimizer_utils.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/batch_processing.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/constraints.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/cost_calculator.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/error_handler.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/example_id.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/exceptions.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/file_versioning.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/function_identity.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/hashing.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/importance.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/incentives.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/insights.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/langchain_interceptor.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/litellm_interceptor.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/llm_response_parsing.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/logging.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/multi_objective.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/numpy_compat.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/optimization_analyzer.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/persistence.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/reproducibility.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/retry.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/secure_path.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/url_security.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/user_prompts.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/utils/validation.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/visualization/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/visualization/plots.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/wrapper/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/wrapper/errors.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/wrapper/server.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent/wrapper/service.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/dependency_links.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/entry_points.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent.egg-info/top_level.txt +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent_validation/__init__.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent_validation/base.py +0 -0
- {traigent-0.13.0.dev1 → traigent-0.14.0}/traigent_validation/plugins.py +0 -0
- {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
|
-
## [
|
|
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.
|
|
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.
|
|
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
|
-
|
|
166
|
+
Install from PyPI — no clone required (Python 3.11+):
|
|
167
167
|
|
|
168
168
|
```bash
|
|
169
|
-
|
|
170
|
-
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
353
|
-
4. **Run
|
|
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
|
|
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.
|
|
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 (
|
|
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
|
-
|
|
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 |
|
|
470
|
-
| **Hybrid** (`hybrid`) | ✅ Available | ✅ Trial execution local |
|
|
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"
|
|
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
|
-
|
|
18
|
+
Install from PyPI — no clone required (Python 3.11+):
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
|
|
22
|
-
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
205
|
-
4. **Run
|
|
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
|
|
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.
|
|
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 (
|
|
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
|
-
|
|
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 |
|
|
322
|
-
| **Hybrid** (`hybrid`) | ✅ Available | ✅ Trial execution local |
|
|
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"
|
|
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="
|
|
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`
|
|
81
|
-
|
|
82
|
-
`TRAIGENT_TRACE_ENABLED
|
|
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.
|
|
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
|
-
`
|
|
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
|
|
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
|
|
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
|
-
|
|
7
|
+
**You do not need to set `execution_mode`.** The SDK picks the right mode automatically:
|
|
8
8
|
|
|
9
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 |
|
|
18
|
-
| --- | --- | --- |
|
|
19
|
-
| `edge_analytics` |
|
|
20
|
-
| `hybrid` |
|
|
21
|
-
| `
|
|
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
|
-
|
|
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
|
-
|
|
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.”
|
|
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:**
|
|
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
|
-
###
|
|
167
|
+
### Portal-Tracked Runs
|
|
168
168
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
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
|
|
235
|
-
3.
|
|
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.
|
|
241
|
-
2. Use `
|
|
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
|
-
- **
|
|
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.
|
|
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 `
|
|
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
|
|