agentops-accelerator 0.6.0__tar.gz → 0.7.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.
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/AGENTS.md +4 -1
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/CHANGELOG.md +38 -0
- {agentops_accelerator-0.6.0/src/agentops_accelerator.egg-info → agentops_accelerator-0.7.0}/PKG-INFO +4 -4
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/README.md +3 -3
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/ci-github-actions.md +6 -6
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/how-it-works.md +1 -1
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/tutorial-end-to-end.md +2 -2
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/tutorial-hosted-agent-quickstart.md +2 -2
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/tutorial-prompt-agent.md +7 -7
- {agentops_accelerator-0.6.0/src/agentops/templates → agentops_accelerator-0.7.0/plugins/agentops}/skills/agentops-workflow/SKILL.md +5 -5
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/pyproject.toml +3 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/catalog.py +13 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/posture_rules/__init__.py +4 -0
- agentops_accelerator-0.7.0/src/agentops/agent/checks/posture_rules/aoai_diagnostic_categories.py +88 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/cockpit.py +270 -60
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/cli/app.py +279 -2
- agentops_accelerator-0.7.0/src/agentops/services/dashboard.py +503 -0
- {agentops_accelerator-0.6.0/plugins/agentops → agentops_accelerator-0.7.0/src/agentops/templates}/skills/agentops-workflow/SKILL.md +5 -5
- agentops_accelerator-0.7.0/src/agentops/templates/workbooks/README.md +99 -0
- agentops_accelerator-0.7.0/src/agentops/templates/workbooks/foundry-ops.workbook.json +479 -0
- agentops_accelerator-0.7.0/src/agentops/templates/workbooks/queries/capacity_ptu_spillover.kql +52 -0
- agentops_accelerator-0.7.0/src/agentops/templates/workbooks/queries/errors_throttling.kql +48 -0
- agentops_accelerator-0.7.0/src/agentops/templates/workbooks/queries/latency_percentiles.kql +74 -0
- agentops_accelerator-0.7.0/src/agentops/templates/workbooks/queries/traffic_tokens.kql +61 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0/src/agentops_accelerator.egg-info}/PKG-INFO +4 -4
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops_accelerator.egg-info/SOURCES.txt +10 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_posture_rules.py +83 -0
- agentops_accelerator-0.7.0/tests/unit/test_cli_dashboard.py +155 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_cockpit.py +54 -23
- agentops_accelerator-0.7.0/tests/unit/test_dashboard.py +269 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_init_command.py +2 -2
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.claude-plugin/marketplace.json +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.gitattributes +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/actions/azure-oidc-login/action.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/code-quality-py.instructions.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/copilot-instructions.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/dependabot.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/extensions/agentops-skills/extension.mjs +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/plugin/marketplace.json +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/skills/release-management/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/workflows/_build.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/workflows/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/workflows/ci.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/workflows/cut-release.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/workflows/e2e.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/workflows/release.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.github/workflows/staging.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.gitignore +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.pre-commit-config.yaml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.vscode/launch.json +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.vscode/settings.json +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/.vscode/tasks.json +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/CONTRIBUTING.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/LICENSE +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/SECURITY.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/bundles.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/concepts.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/doctor-checks.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/doctor-explained.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/e2e-live-architecture.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/e2e-live-setup.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/evaluation.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/foundry-evaluation-sdk-built-in-evaluators.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/media/agentops-diagrams.vsdx +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/media/foundry-control-plane.png +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/release-process.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/examples/flat-quickstart/README.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/examples/flat-quickstart/agentops.yaml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/examples/flat-quickstart/dataset.jsonl +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/icon.png +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/infra/e2e/agent-app/Dockerfile +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/infra/e2e/agent-app/app.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/infra/e2e/agent-app/requirements.txt +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/infra/e2e/bootstrap.bicep +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/infra/e2e/bootstrap.parameters.example.json +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/infra/e2e/perrun.bicep +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/launch.json +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/media/foundry.svg +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/media/quickstart.gif +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/.vscodeignore +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/LICENSE +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/README.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/package.json +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/plugin.json +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/skills/agentops-agent/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/skills/agentops-config/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/skills/agentops-dataset/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/skills/agentops-eval/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/skills/agentops-governance/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/plugins/agentops/skills/agentops-report/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/create_support_agent.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/cut-release.ps1 +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/cut-release.sh +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/e2e_aggregate_summary.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/e2e_data/basic.jsonl +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/e2e_data/rag.jsonl +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/e2e_data/tools.jsonl +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/e2e_demo.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/e2e_hosted_agent.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/e2e_make_transcript.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/e2e_render_config.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/release.ps1 +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/release.sh +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/setup-e2e-new-tenant.ps1 +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/staging.ps1 +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/staging.sh +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/sync-skills.ps1 +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/scripts/sync-skills.sh +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/setup.cfg +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/__main__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/_legacy_ids.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/analyzer.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/_rbac_authorization.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/errors.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/foundry_config.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/governance.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/latency.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/observability.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/opex.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/opex_workspace.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/posture.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/posture_rules/content_filter.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/posture_rules/diagnostics.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/posture_rules/local_auth.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/posture_rules/managed_identity.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/posture_rules/network.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/rbac_openai_data_plane.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/regression.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/release_readiness.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/safety.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/spec_conformance.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/config.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/findings.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/history.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/knowledge/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/knowledge/waf-checklist.csv +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/llm_assist/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/llm_assist/_base.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/llm_assist/_bundle_rule.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/llm_assist/_client.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/llm_assist/_dataset_rules.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/llm_assist/_engine.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/llm_assist/_prompt_rules.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/llm_assist/_spec_rules.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/production_telemetry.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/report.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/server/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/server/app.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/server/auth.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/server/chat.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/server/protocol.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/_credentials.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/azure_monitor.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/azure_resources.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/foundry_control.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/results_history.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/spec_detectors/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/spec_detectors/_base.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/spec_detectors/agents_md.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/sources/spec_detectors/spec_kit.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/time_range.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/cli/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/core/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/core/agentops_config.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/core/azd_eval.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/core/config_loader.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/core/evaluators.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/core/governance.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/core/release_evidence.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/core/results.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/core/step_summary.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/mcp/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/mcp/server.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/azd_runner.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/cloud_results.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/cloud_runner.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/comparison.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/diagnostics.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/invocations.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/official_eval.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/orchestrator.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/prompt_deploy.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/publisher.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/reporter.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/runtime.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/pipeline/thresholds.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/assert_runner.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/azd_eval_init.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/cicd.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/eval_analysis.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/evidence_pack.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/initializer.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/preflight.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/redteam_runner.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/setup_wizard.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/skills.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/telemetry_import.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/trace_promotion.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/services/workflow_analysis.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/.gitignore +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/agent-server/Dockerfile +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/agent-server/README.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/agent-server/main.bicep +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/agent.yaml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/agentops.yaml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/foundry.svg +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/icon.png +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev-azd.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod-azd.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prompt-agent.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa-azd.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-pr-prompt-agent.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-pr.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/pipelines/azuredevops/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/project.gitignore +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/sample-traces.jsonl +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/skills/agentops-agent/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/skills/agentops-config/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/skills/agentops-dataset/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/skills/agentops-eval/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/skills/agentops-governance/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/skills/agentops-report/SKILL.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/smoke.jsonl +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/waf-checklist.README.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/waf-checklist.csv +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-deploy-dev-azd.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-deploy-dev.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-deploy-prod-azd.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-deploy-prod.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-deploy-prompt-agent.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-deploy-qa-azd.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-deploy-qa.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-pr-prompt-agent.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-pr.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/templates/workflows/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/utils/__init__.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/utils/azd_env.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/utils/azure_endpoints.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/utils/colors.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/utils/dotenv_loader.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/utils/foundry_discovery.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/utils/logging.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/utils/telemetry.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/utils/yaml.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops_accelerator.egg-info/dependency_links.txt +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops_accelerator.egg-info/entry_points.txt +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops_accelerator.egg-info/requires.txt +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops_accelerator.egg-info/top_level.txt +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/TESTING.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/fixtures/fake_adapter.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/fixtures/fake_eval_runner.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/integration/.gitkeep +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/integration/test_cli_flat_schema.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/integration/test_pipeline_smoke.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/.gitkeep +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_analyzer.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_categories.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_checks_errors.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_checks_foundry_config.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_checks_observability.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_checks_opex.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_checks_opex_workspace.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_checks_rbac_openai_data_plane.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_checks_regression.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_checks_safety.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_checks_spec_conformance.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_cli.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_config.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_findings.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_history.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_opex_workspace_check.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_results_history.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agent_server.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_agentops_config.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_assert_and_redteam_runners.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_azd_env.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_azd_eval.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_azd_eval_init.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_azd_runner.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_azure_endpoints.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_azure_resources_discovery.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_cicd.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_cli_cockpit_connection_summary.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_cli_cockpit_port_conflict.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_cli_commands.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_cli_explain.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_cloud_results.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_cloud_runner.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_diagnostics.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_doctor_catalog.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_doctor_cli_explain.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_dotenv_loader.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_e2e_render.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_eval_analysis.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_eval_run_grader_errors.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_evaluators.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_foundry_discovery.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_governance.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_http_response_fields.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_http_streaming.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_initializer.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_invocations.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_knowledge_loader.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_llm_assist.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_llm_assist_spec_rules.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_mcp_server.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_official_eval.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_pipeline_publisher.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_pipeline_reporter.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_preflight.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_production_telemetry.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_prompt_deploy.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_release_evidence.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_runtime_conversation.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_runtime_dataset_response_source.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_runtime_model_config.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_runtime_response_fields.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_setup_wizard.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_shared_credentials.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_skills.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_skills_sync.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_step_summary.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_telemetry.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_telemetry_import.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_time_range.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_trace_promotion.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_workflow_analysis.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tests/unit/test_yaml_utils.py +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/tombstones/vscode/CDN_DEPRECATION_REQUEST.md +0 -0
- {agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/uv.lock +0 -0
|
@@ -14,7 +14,7 @@ The repository provides:
|
|
|
14
14
|
- A normalized output contract (`results.json`, `report.md`) for CI and PRs
|
|
15
15
|
- A release evidence contract (`evidence.json`, `evidence.md`) for production promotion reviews
|
|
16
16
|
- A local Cockpit (`agentops cockpit`) that links out to Foundry for runtime
|
|
17
|
-
observability and surfaces Doctor findings AgentOps
|
|
17
|
+
observability and surfaces Doctor findings AgentOps handles end-to-end
|
|
18
18
|
- A Doctor (`agentops doctor`) for readiness, regression, and OpEx checks
|
|
19
19
|
- AI Landing Zone deployment readiness checks that connect official preflight,
|
|
20
20
|
azd/Bicep workflow deployment, AgentOps eval gates, and private-network runner
|
|
@@ -53,6 +53,9 @@ Public CLI contract:
|
|
|
53
53
|
- `agentops doctor [--workspace PATH] [--config PATH] [--out PATH] [--lookback-days N] [--severity-fail SEVERITY] [--evidence-pack] [--evidence-out PATH]`
|
|
54
54
|
- `agentops doctor explain [--no-pager] [--format text|markdown|html] [--out PATH] [--open]`
|
|
55
55
|
- `agentops cockpit [--host HOST] [--port PORT] [--workspace PATH] [--no-preflight]`
|
|
56
|
+
- `agentops telemetry dashboard deploy [--dry-run] [--subscription ID] [--resource-group RG] [--workspace-id ID] [--name NAME] [--dir PATH]`
|
|
57
|
+
- `agentops telemetry dashboard open [--print-url] [--subscription ID] [--resource-group RG] [--name NAME] [--dir PATH]`
|
|
58
|
+
- `agentops telemetry dashboard export [--out PATH]`
|
|
56
59
|
- `agentops agent serve [--host HOST] [--port PORT] [--config PATH] [--no-verify] [--workers N]`
|
|
57
60
|
|
|
58
61
|
Exit code contract:
|
|
@@ -5,6 +5,42 @@ This format follows [Keep a Changelog](https://keepachangelog.com/) and adheres
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.7.0] - 2026-07-01
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Foundry operations dashboard.** A new Azure Monitor Workbook
|
|
12
|
+
(`agentops telemetry dashboard`) surfaces Azure OpenAI capacity (PTU
|
|
13
|
+
utilization, rate-limit, spillover), traffic and tokens, latency
|
|
14
|
+
percentiles (TTFT, TBT, TTLT, tokens/sec), and errors and throttling for a
|
|
15
|
+
given Azure OpenAI resource and Log Analytics workspace. The workbook JSON,
|
|
16
|
+
its per-metric KQL queries, and an authoring README ship as package data.
|
|
17
|
+
Three commands manage it: `deploy` (RBAC + diagnostic-settings preflight,
|
|
18
|
+
then deploy the `Microsoft.Insights/workbooks` ARM resource, with
|
|
19
|
+
`--dry-run` to emit the template), `open` (build the portal deep link and
|
|
20
|
+
open a browser, `--print-url` for non-interactive shells), and `export`
|
|
21
|
+
(copy the packaged workbook JSON to a local path). `agentops telemetry
|
|
22
|
+
dashboard deploy` is the first CLI command that creates an Azure resource;
|
|
23
|
+
it is scoped to a single workbook.
|
|
24
|
+
- **Doctor check for Azure OpenAI usage telemetry.** A new WAF-AI Operational
|
|
25
|
+
Excellence posture rule (`waf.observability.aoai_diagnostic_categories`)
|
|
26
|
+
warns when the Azure OpenAI account is not emitting the `RequestResponse`
|
|
27
|
+
and `AzureOpenAIRequestUsage` diagnostic log categories to a Log Analytics
|
|
28
|
+
workspace, and prints the exact `az monitor diagnostic-settings create`
|
|
29
|
+
fix. Doctor stays read-only.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
- **Cockpit redesign answers "can I ship?" first.** The Cockpit now opens with
|
|
33
|
+
three consolidated status cards (Readiness, Doctor, Eval gate) that expand
|
|
34
|
+
their detail sections on click, promotes "Next actions" to second position,
|
|
35
|
+
and collapses the detailed sections by default. The former "Eval gate
|
|
36
|
+
summary" and "Quality gate summary" are merged into a single "Eval gates"
|
|
37
|
+
section with two subgroups. The Foundry launchpad footer adds a "Foundry
|
|
38
|
+
operations dashboard" tile (the same workbook portal URL used by
|
|
39
|
+
`agentops telemetry dashboard open`) next to "Operate overview", folds the
|
|
40
|
+
single-tile "Azure Monitor" group into the Foundry project group, and
|
|
41
|
+
removes the duplicated App Insights CTA from the Production signal section.
|
|
42
|
+
Cockpit remains read-only.
|
|
43
|
+
|
|
8
44
|
## [0.6.0] - 2026-06-26
|
|
9
45
|
|
|
10
46
|
### Added
|
|
@@ -17,6 +53,8 @@ This format follows [Keep a Changelog](https://keepachangelog.com/) and adheres
|
|
|
17
53
|
contract.
|
|
18
54
|
|
|
19
55
|
### Changed
|
|
56
|
+
- Updated the AgentOps CLI tagline to use `Operate` instead of `Own` for clearer
|
|
57
|
+
operator-focused positioning.
|
|
20
58
|
- **Prompt-agent PR validation now uses sandbox instead of dev.** Generated
|
|
21
59
|
GitHub and Azure DevOps PR workflows stage prompt-agent candidates in the
|
|
22
60
|
sandbox Foundry environment, keeping dev for deployed-of-record versions.
|
{agentops_accelerator-0.6.0/src/agentops_accelerator.egg-info → agentops_accelerator-0.7.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentops-accelerator
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: Release readiness gates and evidence for Microsoft Foundry agents
|
|
5
5
|
License: MIT License
|
|
6
6
|
|
|
@@ -55,7 +55,7 @@ Dynamic: license-file
|
|
|
55
55
|
<h1 align="center">AgentOps Accelerator</h1>
|
|
56
56
|
|
|
57
57
|
<p align="center">
|
|
58
|
-
<b>Evaluate. Ship. Observe.
|
|
58
|
+
<b>Evaluate. Ship. Observe. Operate.</b>
|
|
59
59
|
<br/>
|
|
60
60
|
Continuous evaluation, safety testing, observability, and release readiness for Microsoft Foundry agents.
|
|
61
61
|
</p>
|
|
@@ -75,7 +75,7 @@ Continuous evaluation, safety testing, observability, and release readiness for
|
|
|
75
75
|
<a href="https://github.com/Azure/agentops/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-green.svg"/></a>
|
|
76
76
|
</p>
|
|
77
77
|
|
|
78
|
-
AgentOps Accelerator helps Microsoft Foundry agent teams evaluate quality, prepare releases, monitor behavior, and
|
|
78
|
+
AgentOps Accelerator helps Microsoft Foundry agent teams evaluate quality, prepare releases, monitor behavior, and operate reliably after launch. It gives you a practical starting point for agent operations, with Foundry integration as the default path and deeper setup guidance in the full docs.
|
|
79
79
|
|
|
80
80
|
## Get started
|
|
81
81
|
|
|
@@ -100,7 +100,7 @@ Use AgentOps Accelerator when you need to:
|
|
|
100
100
|
- Compare changes across versions
|
|
101
101
|
- Capture release evidence
|
|
102
102
|
- Monitor agent quality and regressions
|
|
103
|
-
- Give teams a repeatable way to
|
|
103
|
+
- Give teams a repeatable way to operate agents responsibly in production
|
|
104
104
|
|
|
105
105
|
The accelerator keeps the local workflow simple, then points you to the full
|
|
106
106
|
docs when you are ready to configure pipelines, dashboards, and release
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<h1 align="center">AgentOps Accelerator</h1>
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<b>Evaluate. Ship. Observe.
|
|
4
|
+
<b>Evaluate. Ship. Observe. Operate.</b>
|
|
5
5
|
<br/>
|
|
6
6
|
Continuous evaluation, safety testing, observability, and release readiness for Microsoft Foundry agents.
|
|
7
7
|
</p>
|
|
@@ -21,7 +21,7 @@ Continuous evaluation, safety testing, observability, and release readiness for
|
|
|
21
21
|
<a href="https://github.com/Azure/agentops/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-green.svg"/></a>
|
|
22
22
|
</p>
|
|
23
23
|
|
|
24
|
-
AgentOps Accelerator helps Microsoft Foundry agent teams evaluate quality, prepare releases, monitor behavior, and
|
|
24
|
+
AgentOps Accelerator helps Microsoft Foundry agent teams evaluate quality, prepare releases, monitor behavior, and operate reliably after launch. It gives you a practical starting point for agent operations, with Foundry integration as the default path and deeper setup guidance in the full docs.
|
|
25
25
|
|
|
26
26
|
## Get started
|
|
27
27
|
|
|
@@ -46,7 +46,7 @@ Use AgentOps Accelerator when you need to:
|
|
|
46
46
|
- Compare changes across versions
|
|
47
47
|
- Capture release evidence
|
|
48
48
|
- Monitor agent quality and regressions
|
|
49
|
-
- Give teams a repeatable way to
|
|
49
|
+
- Give teams a repeatable way to operate agents responsibly in production
|
|
50
50
|
|
|
51
51
|
The accelerator keeps the local workflow simple, then points you to the full
|
|
52
52
|
docs when you are ready to configure pipelines, dashboards, and release
|
|
@@ -201,7 +201,7 @@ prompt.
|
|
|
201
201
|
### 4. Choose deployment mode
|
|
202
202
|
|
|
203
203
|
AgentOps is azd-first for deployment: AgentOps runs the evaluation gate,
|
|
204
|
-
while Azure Developer CLI
|
|
204
|
+
while Azure Developer CLI manages infrastructure, packaging, deployment, and
|
|
205
205
|
hooks declared in `azure.yaml`.
|
|
206
206
|
|
|
207
207
|
Before choosing manually, run:
|
|
@@ -371,11 +371,11 @@ agentops workflow analyze --format markdown --out agentops-workflow-plan.md
|
|
|
371
371
|
|
|
372
372
|
Use the output as the plan for your coding agent:
|
|
373
373
|
|
|
374
|
-
1. AgentOps
|
|
374
|
+
1. AgentOps handles repo-side eval gates, Doctor readiness checks, artifacts, and
|
|
375
375
|
Cockpit visibility.
|
|
376
|
-
2. `azd`
|
|
376
|
+
2. `azd` manages `provision`, `deploy`, and hooks for app/infra lifecycle when
|
|
377
377
|
`azure.yaml` is present or can be added.
|
|
378
|
-
3. Foundry
|
|
378
|
+
3. Foundry manages hosted agents, evaluations, traces, and operations.
|
|
379
379
|
4. Project-specific steps such as indexing data, seeding search, building
|
|
380
380
|
containers, updating app config, or running private-network post-provision
|
|
381
381
|
work stay in the accelerator's azd hooks or existing deployment tooling.
|
|
@@ -425,8 +425,8 @@ contract to gate deploys:
|
|
|
425
425
|
| `2` | Eval ran, one or more thresholds failed | ❌ fail (deploy never runs) |
|
|
426
426
|
| `1` | Runtime / config error | ❌ fail |
|
|
427
427
|
|
|
428
|
-
For prompt-agent cloud eval, Foundry
|
|
429
|
-
AgentOps
|
|
428
|
+
For prompt-agent cloud eval, Foundry runs the managed evaluation and
|
|
429
|
+
AgentOps enforces the CI exit code. A threshold failure exits `2`, so the PR/deploy
|
|
430
430
|
gate fails with the failing threshold rows in `report.md`.
|
|
431
431
|
|
|
432
432
|
## Artifacts
|
|
@@ -14,7 +14,7 @@ is the proof?** It:
|
|
|
14
14
|
4. Returns CI-friendly exit codes: `0` pass, `2` threshold failure, `1` error.
|
|
15
15
|
5. Writes release evidence with `agentops doctor --evidence-pack`.
|
|
16
16
|
|
|
17
|
-
Foundry
|
|
17
|
+
Foundry manages agent creation, deployment, runtime, traces, monitoring,
|
|
18
18
|
red-teaming, datasets, and Microsoft-hosted evaluation drilldown. AgentOps
|
|
19
19
|
references the candidate those tools produced and adds the repo-controlled
|
|
20
20
|
release proof:
|
|
@@ -26,7 +26,7 @@ review.
|
|
|
26
26
|
|---|---|---|---|---|
|
|
27
27
|
| 1 | Define the agent goal and risks | Foundry docs, VS Code, Copilot | Helps define what must be proven before release. | Success criteria and risk list |
|
|
28
28
|
| 2 | Choose Prompt Agent or Hosted Agent | Foundry portal, Foundry Toolkit, team architecture | Later references the target as `name:version` or URL. | Target type decision |
|
|
29
|
-
| 3 | Provision the **sandbox** and **dev** environments (separate Foundry projects for prompt agents; separate endpoints for hosted agents) | Foundry portal, `microsoft-foundry` skill, your platform | No
|
|
29
|
+
| 3 | Provision the **sandbox** and **dev** environments (separate Foundry projects for prompt agents; separate endpoints for hosted agents) | Foundry portal, `microsoft-foundry` skill, your platform | No AgentOps create/deploy role. | Two environments scoped to author and shared dev work |
|
|
30
30
|
| 4 | Author and iterate in **sandbox** | Foundry playground (prompt agents) or local app (hosted agents), `agentops eval run` | Local eval gate before opening a PR. | Working sandbox-validated agent |
|
|
31
31
|
| 5 | Configure release checks | AgentOps CLI and skills | Creates `agentops.yaml` and repo-side release contract. | Release checklist in repo |
|
|
32
32
|
| 6 | Open PR | Generated PR workflow with `--doctor-gate critical` | Routes to the right runner, normalizes proof, and blocks the PR on critical Doctor findings. | PR gate signal |
|
|
@@ -554,7 +554,7 @@ PR as evidence. Production deploy workflows always run Doctor with
|
|
|
554
554
|
`--severity-fail critical` regardless of this flag.
|
|
555
555
|
|
|
556
556
|
No tutorial-only Action replacement is needed. The generated workflow keeps the
|
|
557
|
-
evaluation in Foundry while AgentOps
|
|
557
|
+
evaluation in Foundry while AgentOps enforces the CI threshold decision and the
|
|
558
558
|
`results.json` / `report.md` artifacts. The detailed managed-eval view stays in
|
|
559
559
|
Foundry Evaluations through the link in the AgentOps report.
|
|
560
560
|
|
{agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/docs/tutorial-hosted-agent-quickstart.md
RENAMED
|
@@ -8,7 +8,7 @@ or cloud-hosted URL (your **dev** environment) for CI.
|
|
|
8
8
|
This path validates the AgentOps local route in a two-environment
|
|
9
9
|
arrangement:
|
|
10
10
|
|
|
11
|
-
- Foundry or your app platform
|
|
11
|
+
- Foundry or your app platform manages hosting and runtime operations in
|
|
12
12
|
each environment.
|
|
13
13
|
- AgentOps invokes the endpoint from CI, applies repo thresholds, writes
|
|
14
14
|
normalized `results.json`, runs Doctor with `--severity-fail critical`
|
|
@@ -124,7 +124,7 @@ green dev → ready for promotion to qa / prod
|
|
|
124
124
|
| Open PR | GitHub or Azure DevOps + generated PR workflow | PR workflow runs eval against the **dev URL** and Doctor with `--severity-fail critical`. | PR gate (eval thresholds + critical Doctor findings block merge). |
|
|
125
125
|
| Merge + deploy to dev | Your existing deploy pipeline (Foundry Toolkit, azd, ACA, AKS) + generated dev deploy workflow | Update the dev endpoint with the new commit and re-evaluate. | Deploy-time gate with the same `--severity-fail critical` (always strict on deploy). |
|
|
126
126
|
| Observe runtime | Foundry Operate, Azure Monitor, Application Insights | Confirm traces, latency, errors, and metrics exist. | Checks whether telemetry is wired. |
|
|
127
|
-
| Review readiness | AgentOps Doctor and Cockpit | Check CI, eval, telemetry, evidence, and links. | Primary
|
|
127
|
+
| Review readiness | AgentOps Doctor and Cockpit | Check CI, eval, telemetry, evidence, and links. | Primary repo-side release proof surface. |
|
|
128
128
|
|
|
129
129
|
> **Architectural note.** For hosted endpoints the natural regression
|
|
130
130
|
> gate runs at **deploy time** (post-merge), not PR time. The PR
|
|
@@ -8,10 +8,10 @@ Cockpit.
|
|
|
8
8
|
|
|
9
9
|
This path validates the Foundry-native multi-environment route:
|
|
10
10
|
|
|
11
|
-
- Foundry
|
|
11
|
+
- Foundry manages the prompt agent runtime, cloud evaluation execution, traces,
|
|
12
12
|
Rubric evaluator definitions, traces, Guardrails, red-team scans, and
|
|
13
13
|
Operate dashboards in **each environment**.
|
|
14
|
-
- AgentOps
|
|
14
|
+
- AgentOps manages repo-side readiness: source-controlled prompts, CI gates,
|
|
15
15
|
Doctor blocking, release evidence, threshold enforcement, ASSERT/ACS evidence
|
|
16
16
|
references, and Cockpit.
|
|
17
17
|
|
|
@@ -111,10 +111,10 @@ have a real `foundry-agent.json` artifact to open.
|
|
|
111
111
|
|
|
112
112
|
| Step | Main tool | What you do | AgentOps role |
|
|
113
113
|
|---|---|---|---|
|
|
114
|
-
| Create two Foundry projects | Foundry portal (or `microsoft-foundry` skill) | Create `travel-agent-sandbox` (where you author) and `travel-agent-dev` (left empty — CI seeds it). | No
|
|
114
|
+
| Create two Foundry projects | Foundry portal (or `microsoft-foundry` skill) | Create `travel-agent-sandbox` (where you author) and `travel-agent-dev` (left empty — CI seeds it). | No AgentOps create/deploy role; AgentOps consumes the published baseline from sandbox and bootstraps dev. |
|
|
115
115
|
| Author in sandbox | Foundry playground | Iterate on the prompt safely in sandbox Foundry. | Optional spot-check via local `agentops eval run`. |
|
|
116
116
|
| Promote the prompt to git | Editor | Copy validated instructions into `.agentops/prompts/travel-agent.md`. | The CI gate reads this file. |
|
|
117
|
-
| First green PR + dev deploy | GitHub Actions + Foundry dev project | Push prompt, open PR, watch CI auto-bootstrap the first version of `travel-agent` in dev from `prompt_agent_bootstrap` (the dev project is still empty at this point), evaluate it, run Doctor; merge; deploy lands in dev. |
|
|
117
|
+
| First green PR + dev deploy | GitHub Actions + Foundry dev project | Push prompt, open PR, watch CI auto-bootstrap the first version of `travel-agent` in dev from `prompt_agent_bootstrap` (the dev project is still empty at this point), evaluate it, run Doctor; merge; deploy lands in dev. | Runs the gate, bootstrap-on-first-deploy, threshold decision, Doctor blocking step, deploy artifact, and release evidence. |
|
|
118
118
|
| Force a regression | Editor + GitHub Actions | Edit the prompt to a worse version, push, observe BOTH eval threshold failure AND Doctor regression CRITICAL. | Catches the regression at PR time, not after merge. |
|
|
119
119
|
| Fix and redeploy | Editor + GitHub Actions | Restore prompt, push, PR green, merge, deploy. | Records the recovery. |
|
|
120
120
|
| Review readiness | AgentOps Doctor + Cockpit | Check CI, eval, telemetry, evidence, and links. | Turns scattered signals into release blockers, warnings, evidence files, and next actions. |
|
|
@@ -1316,12 +1316,12 @@ agentops doctor --workspace . --evidence-pack
|
|
|
1316
1316
|
`evidence.json` and `evidence.md` now include the suite/run id, total
|
|
1317
1317
|
cases, violation counts, attack-success-rate, and SHA-256 hashes for both
|
|
1318
1318
|
artifacts — without claiming AgentOps invented the verdicts. The verdicts
|
|
1319
|
-
come from ASSERT and PyRIT; AgentOps
|
|
1319
|
+
come from ASSERT and PyRIT; AgentOps handles orchestration, normalization,
|
|
1320
1320
|
and gating.
|
|
1321
1321
|
|
|
1322
1322
|
## 13. Generate the PR + dev deploy workflows
|
|
1323
1323
|
|
|
1324
|
-
> **Pipeline
|
|
1324
|
+
> **Pipeline responsibility.** This tutorial uses `agentops workflow generate`
|
|
1325
1325
|
> because the workflow is the release-readiness contract: it stages the prompt
|
|
1326
1326
|
> agent, runs eval thresholds, Doctor checks, and writes release evidence. For a
|
|
1327
1327
|
> full `azd` / AI Landing Zone app, you can also use `azd pipeline config` to
|
|
@@ -1396,7 +1396,7 @@ the PR template. The table below summarizes the three values:
|
|
|
1396
1396
|
|---|---|
|
|
1397
1397
|
| `critical` (default) | The PR step fails if Doctor reports any critical findings. Use this to catch regressions that pass thresholds but still drift meaningfully (for example, `groundedness` 5.0 → 4.0). |
|
|
1398
1398
|
| `warning` | The PR step fails on warnings or critical findings. Tighter; useful for late-stage hardening. |
|
|
1399
|
-
| `none` | Doctor runs advisory only. The PR step never fails because of Doctor. Use this only if you have a separate scheduled Doctor pipeline that
|
|
1399
|
+
| `none` | Doctor runs advisory only. The PR step never fails because of Doctor. Use this only if you have a separate scheduled Doctor pipeline that makes the readiness call. |
|
|
1400
1400
|
|
|
1401
1401
|
Deploy templates always run with `--severity-fail critical` regardless of
|
|
1402
1402
|
`--doctor-gate`. The gate flag affects the PR template only; deploys are
|
|
@@ -39,7 +39,7 @@ AgentOps reuses **azd** for app/infrastructure deployment when the repo already
|
|
|
39
39
|
has an azd project, and stays **Foundry-native** for prompt-agent candidate
|
|
40
40
|
workflows. Do not invent a parallel deployment system. AgentOps should gate
|
|
41
41
|
quality and record proof; `azd provision`, `azd deploy`, azd hooks, Foundry
|
|
42
|
-
Toolkit, the `microsoft-foundry` skill, and project tooling
|
|
42
|
+
Toolkit, the `microsoft-foundry` skill, and project tooling manage lifecycle
|
|
43
43
|
actions.
|
|
44
44
|
|
|
45
45
|
For Foundry prompt-agent configs (`agent: name:version`), the generated eval gate
|
|
@@ -453,11 +453,11 @@ needed, put it behind azd's native hook mechanism in `azure.yaml`.
|
|
|
453
453
|
For Azure AI accelerators copied from templates, use AgentOps to make the
|
|
454
454
|
landing-zone path actionable:
|
|
455
455
|
|
|
456
|
-
1. AgentOps
|
|
456
|
+
1. AgentOps handles eval gates, Doctor, reports, Cockpit readiness, and the
|
|
457
457
|
workflow guardrails around deployment.
|
|
458
|
-
2. Foundry
|
|
458
|
+
2. Foundry manages hosted agents, prompt-agent versions, evaluations, traces,
|
|
459
459
|
monitoring, datasets, and operations.
|
|
460
|
-
3. azd/Bicep/AILZ
|
|
460
|
+
3. azd/Bicep/AILZ manages app and infrastructure deploy when `azure.yaml` or
|
|
461
461
|
`infra/*.bicep` exists.
|
|
462
462
|
4. Project-specific steps such as indexing, data seeding, model deployment,
|
|
463
463
|
container build/push, App Config updates, or private-network post-provision
|
|
@@ -501,7 +501,7 @@ Prompt-agent workflows:
|
|
|
501
501
|
|
|
502
502
|
This avoids the bad pattern of evaluating one agent version and deploying a
|
|
503
503
|
different prompt. The invariant is: **evaluated version == deployed version**.
|
|
504
|
-
Foundry manages agent versions; AgentOps
|
|
504
|
+
Foundry manages agent versions; AgentOps enforces the repo-side gate and
|
|
505
505
|
deployment record. For multi-environment prompt-agent workflows
|
|
506
506
|
(sandbox → dev → qa → prod), strongly recommend adding the
|
|
507
507
|
`prompt_agent_bootstrap` block so operators do not have to manually
|
{agentops_accelerator-0.6.0 → agentops_accelerator-0.7.0}/src/agentops/agent/checks/catalog.py
RENAMED
|
@@ -722,6 +722,19 @@ CHECKS: Tuple[CheckSpec, ...] = (
|
|
|
722
722
|
severities=(Severity.WARNING, Severity.CRITICAL),
|
|
723
723
|
requires=("azure_resources",),
|
|
724
724
|
),
|
|
725
|
+
CheckSpec(
|
|
726
|
+
id="waf.observability.aoai_diagnostic_categories",
|
|
727
|
+
category=Category.OPERATIONAL_EXCELLENCE,
|
|
728
|
+
title="Azure OpenAI usage telemetry categories are not enabled",
|
|
729
|
+
summary=(
|
|
730
|
+
"The Azure OpenAI account is not emitting the RequestResponse "
|
|
731
|
+
"and AzureOpenAIRequestUsage diagnostic log categories to a Log "
|
|
732
|
+
"Analytics workspace, so the Foundry operations dashboard and "
|
|
733
|
+
"any token / latency / throttling analysis render empty."
|
|
734
|
+
),
|
|
735
|
+
severities=(Severity.WARNING,),
|
|
736
|
+
requires=("azure_resources",),
|
|
737
|
+
),
|
|
725
738
|
# ------------------------------------------------------------------
|
|
726
739
|
# Responsible AI
|
|
727
740
|
# ------------------------------------------------------------------
|
|
@@ -36,6 +36,9 @@ def _build_registry() -> Dict[str, RuleFn]:
|
|
|
36
36
|
from agentops.agent.checks.posture_rules.diagnostics import (
|
|
37
37
|
evaluate as diagnostics_rule,
|
|
38
38
|
)
|
|
39
|
+
from agentops.agent.checks.posture_rules.aoai_diagnostic_categories import (
|
|
40
|
+
evaluate as aoai_diagnostic_categories_rule,
|
|
41
|
+
)
|
|
39
42
|
from agentops.agent.checks.posture_rules.local_auth import (
|
|
40
43
|
evaluate as local_auth_rule,
|
|
41
44
|
)
|
|
@@ -47,6 +50,7 @@ def _build_registry() -> Dict[str, RuleFn]:
|
|
|
47
50
|
"waf.security.local_auth_disabled": local_auth_rule,
|
|
48
51
|
"waf.security.managed_identity": managed_identity_rule,
|
|
49
52
|
"waf.security.diagnostic_settings": diagnostics_rule,
|
|
53
|
+
"waf.observability.aoai_diagnostic_categories": aoai_diagnostic_categories_rule,
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
|
agentops_accelerator-0.7.0/src/agentops/agent/checks/posture_rules/aoai_diagnostic_categories.py
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"""WAF-AI Operational Excellence: Azure OpenAI usage telemetry must flow.
|
|
2
|
+
|
|
3
|
+
The Foundry operations dashboard (``agentops telemetry dashboard``) and any
|
|
4
|
+
token / latency / throttling analysis depend on two diagnostic log categories
|
|
5
|
+
being enabled on the Azure OpenAI (Cognitive Services) account and routed to a
|
|
6
|
+
Log Analytics workspace:
|
|
7
|
+
|
|
8
|
+
* ``RequestResponse`` - per-request traces (status codes, streaming).
|
|
9
|
+
* ``AzureOpenAIRequestUsage`` - prompt / generated token counts.
|
|
10
|
+
|
|
11
|
+
When either category is missing the workbook tiles render empty. This rule
|
|
12
|
+
fires when the account does not emit both categories and prints the exact
|
|
13
|
+
``az monitor diagnostic-settings create`` command to fix it. The check is
|
|
14
|
+
read-only; it never changes Azure.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
import json
|
|
20
|
+
from typing import List
|
|
21
|
+
|
|
22
|
+
from agentops.agent.findings import Category, Finding, Severity
|
|
23
|
+
from agentops.agent.sources.azure_resources import AzureResourcesPayload
|
|
24
|
+
|
|
25
|
+
RULE_ID = "waf.observability.aoai_diagnostic_categories"
|
|
26
|
+
|
|
27
|
+
REQUIRED_CATEGORIES = ("RequestResponse", "AzureOpenAIRequestUsage")
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def _fix_command(account_id: str, workspace_id: str) -> str:
|
|
31
|
+
logs = json.dumps([{"category": c, "enabled": True} for c in REQUIRED_CATEGORIES])
|
|
32
|
+
return (
|
|
33
|
+
"az monitor diagnostic-settings create "
|
|
34
|
+
"--name agentops-foundry-ops "
|
|
35
|
+
f"--resource {account_id} "
|
|
36
|
+
f"--workspace {workspace_id} "
|
|
37
|
+
f"--logs '{logs}'"
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def evaluate(payload: AzureResourcesPayload, source_name: str) -> List[Finding]:
|
|
42
|
+
account = payload.account
|
|
43
|
+
if account is None:
|
|
44
|
+
return []
|
|
45
|
+
|
|
46
|
+
enabled: set[str] = set()
|
|
47
|
+
for setting in payload.diagnostic_settings:
|
|
48
|
+
for category in setting.enabled_log_categories:
|
|
49
|
+
enabled.add(str(category))
|
|
50
|
+
|
|
51
|
+
missing = [c for c in REQUIRED_CATEGORIES if c not in enabled]
|
|
52
|
+
if not missing:
|
|
53
|
+
return []
|
|
54
|
+
|
|
55
|
+
account_id = getattr(account, "id", None) or f"<{account.name}-resource-id>"
|
|
56
|
+
workspace_id = next(
|
|
57
|
+
(s.workspace_id for s in payload.diagnostic_settings if s.workspace_id),
|
|
58
|
+
"<log-analytics-workspace-id>",
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
return [
|
|
62
|
+
Finding(
|
|
63
|
+
id=RULE_ID,
|
|
64
|
+
severity=Severity.WARNING,
|
|
65
|
+
category=Category.OPERATIONAL_EXCELLENCE,
|
|
66
|
+
title="Azure OpenAI usage telemetry categories are not enabled",
|
|
67
|
+
summary=(
|
|
68
|
+
f"Azure OpenAI account `{account.name}` is not emitting the "
|
|
69
|
+
f"`{'`, `'.join(missing)}` diagnostic log "
|
|
70
|
+
f"{'category' if len(missing) == 1 else 'categories'}. The "
|
|
71
|
+
"Foundry operations dashboard and any token, latency, or "
|
|
72
|
+
"throttling analysis need both `RequestResponse` and "
|
|
73
|
+
"`AzureOpenAIRequestUsage` streamed to a Log Analytics "
|
|
74
|
+
"workspace, so those tiles will render empty."
|
|
75
|
+
),
|
|
76
|
+
recommendation=(
|
|
77
|
+
"Enable the missing categories with:\n"
|
|
78
|
+
f"{_fix_command(account_id, workspace_id)}"
|
|
79
|
+
),
|
|
80
|
+
source=source_name,
|
|
81
|
+
evidence={
|
|
82
|
+
"account": account.name,
|
|
83
|
+
"required_categories": list(REQUIRED_CATEGORIES),
|
|
84
|
+
"missing_categories": missing,
|
|
85
|
+
"enabled_categories": sorted(enabled),
|
|
86
|
+
},
|
|
87
|
+
)
|
|
88
|
+
]
|