agentops-accelerator 0.3.7__tar.gz → 0.3.8__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.
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.claude-plugin/marketplace.json +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/plugin/marketplace.json +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/CHANGELOG.md +18 -0
- {agentops_accelerator-0.3.7/src/agentops_accelerator.egg-info → agentops_accelerator-0.3.8}/PKG-INFO +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/package.json +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/plugin.json +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/cli/app.py +32 -4
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/setup_wizard.py +24 -14
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8/src/agentops_accelerator.egg-info}/PKG-INFO +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_init_command.py +12 -2
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_setup_wizard.py +74 -4
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.gitattributes +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/actions/azure-oidc-login/action.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/code-quality-py.instructions.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/copilot-instructions.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/dependabot.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/extensions/agentops-skills/extension.mjs +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/skills/release-management/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/workflows/_build.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/workflows/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/workflows/ci.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/workflows/cut-release.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/workflows/e2e.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/workflows/release.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/workflows/staging.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.gitignore +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.pre-commit-config.yaml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.vscode/launch.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.vscode/settings.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.vscode/tasks.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/AGENTS.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/CONTRIBUTING.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/LICENSE +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/README.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/SECURITY.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/bundles.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/ci-github-actions.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/concepts.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/doctor-checks.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/doctor-explained.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/e2e-live-architecture.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/e2e-live-setup.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/foundry-evaluation-sdk-built-in-evaluators.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/how-it-works.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/media/agentops-diagrams.vsdx +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/media/foundry-control-plane.png +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/release-process.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/tutorial-end-to-end.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/tutorial-hosted-agent-quickstart.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/tutorial-prompt-agent-quickstart.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/examples/flat-quickstart/README.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/examples/flat-quickstart/agentops.yaml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/examples/flat-quickstart/dataset.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/icon.png +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/infra/e2e/agent-app/Dockerfile +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/infra/e2e/agent-app/app.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/infra/e2e/agent-app/requirements.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/infra/e2e/bootstrap.bicep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/infra/e2e/bootstrap.parameters.example.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/infra/e2e/perrun.bicep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/launch.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/media/foundry.svg +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/media/quickstart.gif +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/.vscodeignore +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/LICENSE +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/README.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/skills/agentops-agent/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/skills/agentops-config/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/skills/agentops-dataset/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/skills/agentops-eval/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/skills/agentops-report/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/plugins/agentops/skills/agentops-workflow/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/pyproject.toml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/create_support_agent.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/cut-release.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/cut-release.sh +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/e2e_aggregate_summary.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/e2e_data/basic.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/e2e_data/rag.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/e2e_data/tools.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/e2e_demo.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/e2e_hosted_agent.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/e2e_make_transcript.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/e2e_render_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/release.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/release.sh +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/setup-e2e-new-tenant.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/staging.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/staging.sh +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/sync-skills.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/scripts/sync-skills.sh +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/setup.cfg +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/__main__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/_legacy_ids.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/analyzer.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/catalog.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/errors.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/foundry_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/latency.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/opex.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/opex_workspace.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/posture.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/posture_rules/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/posture_rules/content_filter.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/posture_rules/diagnostics.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/posture_rules/local_auth.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/posture_rules/managed_identity.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/posture_rules/network.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/regression.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/release_readiness.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/safety.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/spec_conformance.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/cockpit.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/findings.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/history.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/knowledge/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/knowledge/waf-checklist.csv +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/llm_assist/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/llm_assist/_base.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/llm_assist/_bundle_rule.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/llm_assist/_client.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/llm_assist/_dataset_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/llm_assist/_engine.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/llm_assist/_prompt_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/llm_assist/_spec_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/production_telemetry.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/report.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/server/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/server/app.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/server/auth.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/server/chat.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/server/protocol.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/sources/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/sources/azure_monitor.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/sources/azure_resources.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/sources/foundry_control.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/sources/results_history.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/sources/spec_detectors/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/sources/spec_detectors/_base.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/sources/spec_detectors/agents_md.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/sources/spec_detectors/spec_kit.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/time_range.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/cli/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/core/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/core/agentops_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/core/config_loader.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/core/evaluators.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/core/release_evidence.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/core/results.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/mcp/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/mcp/server.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/cloud_results.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/cloud_runner.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/comparison.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/diagnostics.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/invocations.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/official_eval.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/orchestrator.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/prompt_deploy.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/publisher.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/reporter.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/runtime.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/pipeline/thresholds.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/cicd.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/eval_analysis.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/evidence_pack.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/initializer.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/preflight.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/skills.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/trace_promotion.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/workflow_analysis.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/.gitignore +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/agent-server/Dockerfile +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/agent-server/README.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/agent-server/main.bicep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/agent.yaml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/agentops.yaml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/foundry.svg +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/icon.png +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prompt-agent.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-pr-prompt-agent.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-pr.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/pipelines/azuredevops/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/project.gitignore +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/sample-traces.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/skills/agentops-agent/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/skills/agentops-config/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/skills/agentops-dataset/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/skills/agentops-eval/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/skills/agentops-report/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/skills/agentops-workflow/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/smoke.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/waf-checklist.README.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/waf-checklist.csv +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-deploy-dev-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-deploy-dev.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-deploy-prod-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-deploy-prod.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-deploy-prompt-agent.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-deploy-qa-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-deploy-qa.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-pr-prompt-agent.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-pr.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/templates/workflows/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/utils/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/utils/azd_env.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/utils/azure_endpoints.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/utils/colors.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/utils/dotenv_loader.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/utils/foundry_discovery.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/utils/logging.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/utils/telemetry.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/utils/yaml.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops_accelerator.egg-info/SOURCES.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops_accelerator.egg-info/dependency_links.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops_accelerator.egg-info/entry_points.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops_accelerator.egg-info/requires.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops_accelerator.egg-info/top_level.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/TESTING.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/fixtures/fake_adapter.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/fixtures/fake_eval_runner.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/integration/.gitkeep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/integration/test_cli_flat_schema.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/integration/test_pipeline_smoke.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/.gitkeep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_analyzer.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_categories.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_checks_errors.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_checks_foundry_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_checks_opex.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_checks_opex_workspace.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_checks_regression.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_checks_safety.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_checks_spec_conformance.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_cli.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_findings.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_history.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_opex_workspace_check.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_posture_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_results_history.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agent_server.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_agentops_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_azd_env.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_azure_endpoints.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_azure_resources_discovery.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_cicd.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_cli_cockpit_connection_summary.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_cli_cockpit_port_conflict.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_cli_commands.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_cli_explain.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_cloud_results.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_cloud_runner.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_cockpit.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_diagnostics.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_doctor_catalog.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_doctor_cli_explain.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_dotenv_loader.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_e2e_render.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_eval_analysis.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_eval_run_grader_errors.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_evaluators.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_foundry_discovery.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_initializer.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_invocations.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_knowledge_loader.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_llm_assist.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_llm_assist_spec_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_mcp_server.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_official_eval.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_pipeline_publisher.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_pipeline_reporter.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_preflight.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_production_telemetry.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_prompt_deploy.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_release_evidence.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_runtime_conversation.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_runtime_model_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_skills.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_skills_sync.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_telemetry.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_time_range.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_trace_promotion.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tests/unit/test_workflow_analysis.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/tombstones/vscode/CDN_DEPRECATION_REQUEST.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/uv.lock +0 -0
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"name": "agentops-accelerator",
|
|
14
14
|
"source": "../../plugins/agentops",
|
|
15
15
|
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Toolkit and Microsoft Foundry agents.",
|
|
16
|
-
"version": "0.3.
|
|
16
|
+
"version": "0.3.8",
|
|
17
17
|
"keywords": [
|
|
18
18
|
"agentops",
|
|
19
19
|
"evaluation",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"name": "agentops-accelerator",
|
|
14
14
|
"source": "../../plugins/agentops",
|
|
15
15
|
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Toolkit and Microsoft Foundry agents.",
|
|
16
|
-
"version": "0.3.
|
|
16
|
+
"version": "0.3.8",
|
|
17
17
|
"keywords": [
|
|
18
18
|
"agentops",
|
|
19
19
|
"evaluation",
|
|
@@ -5,6 +5,24 @@ This format follows [Keep a Changelog](https://keepachangelog.com/) and adheres
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.3.8] - 2026-06-04
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **`agentops init` now handles blank required wizard values gracefully.** If
|
|
12
|
+
the user presses Enter without an existing Foundry endpoint or agent default,
|
|
13
|
+
the wizard explains that AgentOps needs the missing value and re-prompts
|
|
14
|
+
instead of proceeding to a later persistence failure. Scripted blank flags
|
|
15
|
+
such as `--agent ""` now exit with the same friendly message and no traceback.
|
|
16
|
+
- **`agentops init` no longer depends on undeclared PyYAML.** The setup wizard
|
|
17
|
+
now reads and writes `agentops.yaml` through the repository's `ruamel.yaml`
|
|
18
|
+
helpers, fixing the ugly `No module named 'yaml'` traceback seen in clean
|
|
19
|
+
installs.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- **AgentOps brand tagline sequence now reads `Evaluate :: Ship :: Observe ::
|
|
23
|
+
Own`.** The startup/explain banner now matches the intended product story
|
|
24
|
+
order.
|
|
25
|
+
|
|
8
26
|
## [0.3.7] - 2026-06-01
|
|
9
27
|
|
|
10
28
|
### Fixed
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "agentops-accelerator",
|
|
3
3
|
"displayName": "AgentOps Accelerator — Skills for GitHub Copilot",
|
|
4
4
|
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Accelerator and Microsoft Foundry agents.",
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.8",
|
|
6
6
|
"publisher": "AgentOpsAccelerator",
|
|
7
7
|
"icon": "icon.png",
|
|
8
8
|
"license": "MIT",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentops-accelerator",
|
|
3
3
|
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Accelerator and Microsoft Foundry agents.",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.8",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "AgentOps Accelerator",
|
|
7
7
|
"url": "https://github.com/Azure/agentops"
|
|
@@ -1365,6 +1365,7 @@ def cmd_init(
|
|
|
1365
1365
|
AGENT_TITLE,
|
|
1366
1366
|
DATASET_TITLE,
|
|
1367
1367
|
PROJECT_ENDPOINT_TITLE,
|
|
1368
|
+
REQUIRED_CONFIGURATION_MESSAGE,
|
|
1368
1369
|
WizardAnswers,
|
|
1369
1370
|
apply_answers,
|
|
1370
1371
|
discover_defaults,
|
|
@@ -1476,16 +1477,37 @@ def cmd_init(
|
|
|
1476
1477
|
if any_flag:
|
|
1477
1478
|
# Scripted mode — validate then apply.
|
|
1478
1479
|
if project_endpoint is not None:
|
|
1480
|
+
if not project_endpoint.strip():
|
|
1481
|
+
typer.echo(
|
|
1482
|
+
f"{_cli_error('Error')}: --project-endpoint is required. "
|
|
1483
|
+
f"{REQUIRED_CONFIGURATION_MESSAGE}",
|
|
1484
|
+
err=True,
|
|
1485
|
+
)
|
|
1486
|
+
raise typer.Exit(code=1)
|
|
1479
1487
|
err = validate_project_endpoint(project_endpoint)
|
|
1480
1488
|
if err:
|
|
1481
1489
|
typer.echo(f"{_cli_error('Error')}: --project-endpoint: {err}", err=True)
|
|
1482
1490
|
raise typer.Exit(code=1)
|
|
1483
1491
|
if agent is not None:
|
|
1492
|
+
if not agent.strip():
|
|
1493
|
+
typer.echo(
|
|
1494
|
+
f"{_cli_error('Error')}: --agent is required. "
|
|
1495
|
+
f"{REQUIRED_CONFIGURATION_MESSAGE}",
|
|
1496
|
+
err=True,
|
|
1497
|
+
)
|
|
1498
|
+
raise typer.Exit(code=1)
|
|
1484
1499
|
err = validate_agent(agent)
|
|
1485
1500
|
if err:
|
|
1486
1501
|
typer.echo(f"{_cli_error('Error')}: --agent: {err}", err=True)
|
|
1487
1502
|
raise typer.Exit(code=1)
|
|
1488
1503
|
if dataset is not None:
|
|
1504
|
+
if not dataset.strip():
|
|
1505
|
+
typer.echo(
|
|
1506
|
+
f"{_cli_error('Error')}: --dataset is required. "
|
|
1507
|
+
f"{REQUIRED_CONFIGURATION_MESSAGE}",
|
|
1508
|
+
err=True,
|
|
1509
|
+
)
|
|
1510
|
+
raise typer.Exit(code=1)
|
|
1489
1511
|
err = validate_dataset(dataset, workspace)
|
|
1490
1512
|
if err:
|
|
1491
1513
|
typer.echo(f"{_cli_error('Error')}: --dataset: {err}", err=True)
|
|
@@ -1605,8 +1627,14 @@ def cmd_init(
|
|
|
1605
1627
|
default_env_name=target_env_name,
|
|
1606
1628
|
azd_env_name=azd_env_name,
|
|
1607
1629
|
)
|
|
1608
|
-
except
|
|
1609
|
-
typer.echo(
|
|
1630
|
+
except Exception as exc: # noqa: BLE001
|
|
1631
|
+
typer.echo(
|
|
1632
|
+
f"{_cli_error('Error')}: could not save AgentOps configuration. "
|
|
1633
|
+
f"{REQUIRED_CONFIGURATION_MESSAGE}",
|
|
1634
|
+
err=True,
|
|
1635
|
+
)
|
|
1636
|
+
if str(exc):
|
|
1637
|
+
typer.echo(f"{_cli_warn('Details')}: {exc}", err=True)
|
|
1610
1638
|
raise typer.Exit(code=1)
|
|
1611
1639
|
|
|
1612
1640
|
typer.echo("")
|
|
@@ -4362,8 +4390,8 @@ def _colorize_block(
|
|
|
4362
4390
|
# fallback keeps the same words on a single line.
|
|
4363
4391
|
def _agentops_tagline() -> str:
|
|
4364
4392
|
if _terminal_unicode_enabled():
|
|
4365
|
-
return "Evaluate ·
|
|
4366
|
-
return "Evaluate ::
|
|
4393
|
+
return "Evaluate · Ship · Observe · Own — every Foundry agent."
|
|
4394
|
+
return "Evaluate :: Ship :: Observe :: Own -- every Foundry agent."
|
|
4367
4395
|
|
|
4368
4396
|
|
|
4369
4397
|
def _render_brand_block(
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/services/setup_wizard.py
RENAMED
|
@@ -67,6 +67,12 @@ DATASET_HELP = (
|
|
|
67
67
|
ENV_KEY_PROJECT_ENDPOINT = "AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"
|
|
68
68
|
ENV_KEY_APPINSIGHTS = "APPLICATIONINSIGHTS_CONNECTION_STRING"
|
|
69
69
|
|
|
70
|
+
REQUIRED_CONFIGURATION_MESSAGE = (
|
|
71
|
+
"AgentOps needs a Foundry project endpoint, an agent, and a dataset path "
|
|
72
|
+
"before it can finish configuration. Enter the missing value, or press "
|
|
73
|
+
"Ctrl+C to cancel and re-run `agentops init` later."
|
|
74
|
+
)
|
|
75
|
+
|
|
70
76
|
|
|
71
77
|
# ---------------------------------------------------------------------------
|
|
72
78
|
# Data models
|
|
@@ -356,18 +362,16 @@ def _read_agentops_yaml(workspace: Path) -> dict:
|
|
|
356
362
|
if not path.exists():
|
|
357
363
|
return {}
|
|
358
364
|
try:
|
|
359
|
-
import
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
try:
|
|
363
|
-
data = yaml.safe_load(path.read_text(encoding="utf-8"))
|
|
365
|
+
from agentops.utils.yaml import load_yaml # noqa: PLC0415
|
|
366
|
+
|
|
367
|
+
data = load_yaml(path)
|
|
364
368
|
except Exception: # noqa: BLE001
|
|
365
369
|
return {}
|
|
366
370
|
return data if isinstance(data, dict) else {}
|
|
367
371
|
|
|
368
372
|
|
|
369
373
|
def _write_agentops_yaml(path: Path, data: dict) -> None:
|
|
370
|
-
import
|
|
374
|
+
from agentops.utils.yaml import save_yaml # noqa: PLC0415
|
|
371
375
|
|
|
372
376
|
path.parent.mkdir(parents=True, exist_ok=True)
|
|
373
377
|
# Preserve simple field order for readability: version, agent, dataset,
|
|
@@ -381,10 +385,7 @@ def _write_agentops_yaml(path: Path, data: dict) -> None:
|
|
|
381
385
|
for key, value in data.items():
|
|
382
386
|
if key not in ordered:
|
|
383
387
|
ordered[key] = value
|
|
384
|
-
path
|
|
385
|
-
yaml.safe_dump(ordered, sort_keys=False, default_flow_style=False),
|
|
386
|
-
encoding="utf-8",
|
|
387
|
-
)
|
|
388
|
+
save_yaml(path, ordered)
|
|
388
389
|
|
|
389
390
|
|
|
390
391
|
_AGENTOPS_ENV_HEADER = (
|
|
@@ -601,7 +602,11 @@ def run_wizard(
|
|
|
601
602
|
raw = prompt("Foundry project endpoint", effective_endpoint_default)
|
|
602
603
|
value = raw.strip()
|
|
603
604
|
if not value:
|
|
604
|
-
|
|
605
|
+
if effective_endpoint_default:
|
|
606
|
+
break # keep current
|
|
607
|
+
echo(" ! Foundry project endpoint is required.")
|
|
608
|
+
echo(" ! " + REQUIRED_CONFIGURATION_MESSAGE)
|
|
609
|
+
continue
|
|
605
610
|
err = validate_project_endpoint(value)
|
|
606
611
|
if err:
|
|
607
612
|
echo(" ! " + err)
|
|
@@ -623,7 +628,11 @@ def run_wizard(
|
|
|
623
628
|
raw = prompt("Agent", defaults.agent)
|
|
624
629
|
value = raw.strip()
|
|
625
630
|
if not value:
|
|
626
|
-
|
|
631
|
+
if defaults.agent:
|
|
632
|
+
break # keep current
|
|
633
|
+
echo(" ! Agent is required.")
|
|
634
|
+
echo(" ! " + REQUIRED_CONFIGURATION_MESSAGE)
|
|
635
|
+
continue
|
|
627
636
|
err = validate_agent(value)
|
|
628
637
|
if err:
|
|
629
638
|
echo(" ! " + err)
|
|
@@ -641,11 +650,12 @@ def run_wizard(
|
|
|
641
650
|
echo("")
|
|
642
651
|
echo(DATASET_TITLE)
|
|
643
652
|
echo(_indent(DATASET_HELP))
|
|
653
|
+
dataset_default = defaults.dataset or ".agentops/data/smoke.jsonl"
|
|
644
654
|
while True:
|
|
645
|
-
raw = prompt("Dataset path",
|
|
655
|
+
raw = prompt("Dataset path", dataset_default)
|
|
646
656
|
value = raw.strip()
|
|
647
657
|
if not value:
|
|
648
|
-
|
|
658
|
+
value = dataset_default
|
|
649
659
|
err = validate_dataset(value, workspace)
|
|
650
660
|
if err:
|
|
651
661
|
echo(" ! " + err)
|
|
@@ -119,6 +119,16 @@ def test_init_scripted_validates_project_endpoint(tmp_path: Path) -> None:
|
|
|
119
119
|
assert "Project endpoint" in result.output
|
|
120
120
|
|
|
121
121
|
|
|
122
|
+
def test_init_scripted_blank_required_value_is_friendly(tmp_path: Path) -> None:
|
|
123
|
+
"""Blank scripted values fail with a concise message, not a traceback."""
|
|
124
|
+
result = runner.invoke(app, ["init", "--dir", str(tmp_path), "--agent", ""])
|
|
125
|
+
|
|
126
|
+
assert result.exit_code == 1
|
|
127
|
+
assert "--agent is required" in result.output
|
|
128
|
+
assert "AgentOps needs a Foundry project endpoint" in result.output
|
|
129
|
+
assert "Traceback" not in result.output
|
|
130
|
+
|
|
131
|
+
|
|
122
132
|
def test_init_scripted_with_custom_azd_env(tmp_path: Path) -> None:
|
|
123
133
|
"""`--azd-env qa` writes to the explicit azd env instead of the local env."""
|
|
124
134
|
runner.invoke(app, ["init", "--dir", str(tmp_path), "--no-prompt"])
|
|
@@ -293,7 +303,7 @@ def test_init_prints_brand_banner(tmp_path: Path, monkeypatch) -> None:
|
|
|
293
303
|
# ASCII letterforms from _AGENTOPS_PLAIN_BANNER (figlet "Standard").
|
|
294
304
|
assert "____ _____ _ _ _____" in text
|
|
295
305
|
# The catchphrase, ASCII fallback variant.
|
|
296
|
-
assert "Evaluate ::
|
|
306
|
+
assert "Evaluate :: Ship :: Observe :: Own -- every Foundry agent." in text
|
|
297
307
|
|
|
298
308
|
|
|
299
309
|
def test_brand_tagline_is_used_by_explain_pages(monkeypatch) -> None:
|
|
@@ -305,7 +315,7 @@ def test_brand_tagline_is_used_by_explain_pages(monkeypatch) -> None:
|
|
|
305
315
|
result = runner.invoke(app, ["init", "explain", "--no-pager"])
|
|
306
316
|
assert result.exit_code == 0
|
|
307
317
|
text = _strip_ansi(result.stdout)
|
|
308
|
-
assert "Evaluate ::
|
|
318
|
+
assert "Evaluate :: Ship :: Observe :: Own -- every Foundry agent." in text
|
|
309
319
|
|
|
310
320
|
|
|
311
321
|
# ---------------------------------------------------------------------------
|
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import json
|
|
6
6
|
import os
|
|
7
|
+
import builtins
|
|
7
8
|
from pathlib import Path
|
|
8
9
|
|
|
9
10
|
import pytest
|
|
@@ -242,6 +243,29 @@ def test_apply_answers_writes_agent_and_dataset_to_yaml(tmp_path: Path):
|
|
|
242
243
|
assert "dataset: .agentops/data/smoke.jsonl" in text
|
|
243
244
|
|
|
244
245
|
|
|
246
|
+
def test_apply_answers_writes_yaml_without_pyyaml(
|
|
247
|
+
tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
|
248
|
+
):
|
|
249
|
+
real_import = builtins.__import__
|
|
250
|
+
|
|
251
|
+
def _import(name, *args, **kwargs): # noqa: ANN001
|
|
252
|
+
if name == "yaml":
|
|
253
|
+
raise ModuleNotFoundError("No module named 'yaml'")
|
|
254
|
+
return real_import(name, *args, **kwargs)
|
|
255
|
+
|
|
256
|
+
monkeypatch.setattr(builtins, "__import__", _import)
|
|
257
|
+
|
|
258
|
+
result = apply_answers(
|
|
259
|
+
tmp_path,
|
|
260
|
+
WizardAnswers(agent="my-bot:7", dataset=".agentops/data/smoke.jsonl"),
|
|
261
|
+
)
|
|
262
|
+
|
|
263
|
+
assert result.yaml_updated is True
|
|
264
|
+
assert "agent: my-bot:7" in (tmp_path / "agentops.yaml").read_text(
|
|
265
|
+
encoding="utf-8"
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
|
|
245
269
|
def test_apply_answers_does_not_write_project_endpoint_to_yaml(tmp_path: Path):
|
|
246
270
|
"""Environment-specific endpoints stay out of agentops.yaml."""
|
|
247
271
|
answers = WizardAnswers(
|
|
@@ -465,7 +489,7 @@ def test_run_wizard_does_not_prompt_for_appinsights(
|
|
|
465
489
|
assert "Application Insights" not in "\n".join(messages)
|
|
466
490
|
|
|
467
491
|
|
|
468
|
-
def
|
|
492
|
+
def test_run_wizard_empty_input_reprompts_required_missing_endpoint(
|
|
469
493
|
tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
|
470
494
|
):
|
|
471
495
|
monkeypatch.delenv("AZURE_AI_FOUNDRY_PROJECT_ENDPOINT", raising=False)
|
|
@@ -479,14 +503,46 @@ def test_run_wizard_empty_input_keeps_current(
|
|
|
479
503
|
# With idempotent skip-on-default, agent/dataset are silently reused.
|
|
480
504
|
# Only the still-empty project endpoint gets asked; App Insights is left
|
|
481
505
|
# for runtime discovery or explicit non-interactive configuration.
|
|
482
|
-
prompt = _scripted_prompt([""])
|
|
506
|
+
prompt = _scripted_prompt(["", "https://acct.services.ai.azure.com/api/projects/p"])
|
|
507
|
+
messages: list[str] = []
|
|
483
508
|
answers = run_wizard(
|
|
484
|
-
tmp_path, prompt=prompt, echo=
|
|
509
|
+
tmp_path, prompt=prompt, echo=messages.append, reconfigure=False
|
|
485
510
|
)
|
|
486
|
-
assert answers.project_endpoint
|
|
511
|
+
assert answers.project_endpoint == "https://acct.services.ai.azure.com/api/projects/p"
|
|
487
512
|
assert answers.agent is None
|
|
488
513
|
assert answers.dataset is None
|
|
489
514
|
assert answers.appinsights_connection_string is None
|
|
515
|
+
assert "Foundry project endpoint is required." in "\n".join(messages)
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
def test_run_wizard_reprompts_blank_required_values(
|
|
519
|
+
tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
|
520
|
+
):
|
|
521
|
+
monkeypatch.delenv("AZURE_AI_FOUNDRY_PROJECT_ENDPOINT", raising=False)
|
|
522
|
+
monkeypatch.delenv("APPLICATIONINSIGHTS_CONNECTION_STRING", raising=False)
|
|
523
|
+
|
|
524
|
+
data_dir = tmp_path / ".agentops" / "data"
|
|
525
|
+
data_dir.mkdir(parents=True)
|
|
526
|
+
(data_dir / "smoke.jsonl").write_text("{}\n", encoding="utf-8")
|
|
527
|
+
prompt = _scripted_prompt(
|
|
528
|
+
[
|
|
529
|
+
"",
|
|
530
|
+
"https://acct.services.ai.azure.com/api/projects/p",
|
|
531
|
+
"",
|
|
532
|
+
"my-bot:9",
|
|
533
|
+
"",
|
|
534
|
+
]
|
|
535
|
+
)
|
|
536
|
+
messages: list[str] = []
|
|
537
|
+
|
|
538
|
+
answers = run_wizard(tmp_path, prompt=prompt, echo=messages.append)
|
|
539
|
+
|
|
540
|
+
assert answers.project_endpoint == "https://acct.services.ai.azure.com/api/projects/p"
|
|
541
|
+
assert answers.agent == "my-bot:9"
|
|
542
|
+
assert answers.dataset == ".agentops/data/smoke.jsonl"
|
|
543
|
+
output = "\n".join(messages)
|
|
544
|
+
assert "Foundry project endpoint is required." in output
|
|
545
|
+
assert "Agent is required." in output
|
|
490
546
|
|
|
491
547
|
|
|
492
548
|
def test_run_wizard_force_prompt_fields_reasks_seed_agent_and_dataset(
|
|
@@ -543,6 +599,20 @@ def test_run_wizard_appinsights_is_not_interactive_even_when_missing(
|
|
|
543
599
|
"""The wizard should not ask for App Insights just to leave it blank."""
|
|
544
600
|
monkeypatch.delenv("AZURE_AI_FOUNDRY_PROJECT_ENDPOINT", raising=False)
|
|
545
601
|
monkeypatch.delenv("APPLICATIONINSIGHTS_CONNECTION_STRING", raising=False)
|
|
602
|
+
_seed_azd_env(
|
|
603
|
+
tmp_path,
|
|
604
|
+
"dev",
|
|
605
|
+
{
|
|
606
|
+
"AZURE_AI_FOUNDRY_PROJECT_ENDPOINT": (
|
|
607
|
+
"https://acct.services.ai.azure.com/api/projects/p"
|
|
608
|
+
),
|
|
609
|
+
},
|
|
610
|
+
)
|
|
611
|
+
(tmp_path / "agentops.yaml").write_text(
|
|
612
|
+
"version: 1\nagent: keep:1\ndataset: keep.jsonl\n",
|
|
613
|
+
encoding="utf-8",
|
|
614
|
+
)
|
|
615
|
+
(tmp_path / "keep.jsonl").write_text("{}\n", encoding="utf-8")
|
|
546
616
|
|
|
547
617
|
messages: list[str] = []
|
|
548
618
|
prompt_calls: list[str] = []
|
|
File without changes
|
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/code-quality-py.instructions.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/skills/release-management/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/.github/workflows/agentops-watchdog.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/media/foundry-control-plane.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/tutorial-hosted-agent-quickstart.md
RENAMED
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/docs/tutorial-prompt-agent-quickstart.md
RENAMED
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/examples/flat-quickstart/README.md
RENAMED
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/examples/flat-quickstart/agentops.yaml
RENAMED
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/examples/flat-quickstart/dataset.jsonl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/infra/e2e/agent-app/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/__init__.py
RENAMED
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/catalog.py
RENAMED
|
File without changes
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.8}/src/agentops/agent/checks/errors.py
RENAMED
|
File without changes
|