observal-cli 1.4.3__tar.gz → 1.4.4__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.
- {observal_cli-1.4.3 → observal_cli-1.4.4}/CHANGELOG.md +18 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/PKG-INFO +14 -9
- {observal_cli-1.4.3 → observal_cli-1.4.4}/README.md +13 -8
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/docker-compose.yml +2 -2
- observal_cli-1.4.4/docs/insights-setup.md +131 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/reference/environment-variables.md +12 -6
- observal_cli-1.4.4/infra/terraform/aws-ec2/README.md +180 -0
- observal_cli-1.4.4/infra/terraform/aws-ec2/deploy.sh +228 -0
- observal_cli-1.4.4/infra/terraform/aws-ec2/main.tf +153 -0
- observal_cli-1.4.4/infra/terraform/aws-ec2/outputs.tf +42 -0
- observal_cli-1.4.4/infra/terraform/aws-ec2/terraform.tfvars.example +24 -0
- observal_cli-1.4.4/infra/terraform/aws-ec2/variables.tf +55 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/deps.py +2 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/graphql.py +18 -4
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/ratelimit.py +28 -1
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/admin/enterprise_settings.py +18 -1
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/alert.py +3 -3
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/ingest.py +26 -15
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/insights.py +29 -10
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/telemetry.py +4 -1
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/pyproject.toml +2 -1
- observal_cli-1.4.4/observal-server/schemas/telemetry.py +155 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/dynamic_settings.py +6 -14
- observal_cli-1.4.4/observal-server/services/insights/__init__.py +218 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/mcp_validator.py +26 -8
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/uv.lock +1343 -4
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_auth.py +2 -20
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_reconcile.py +6 -10
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/hooks/_cursor_post_worker.py +13 -4
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/hooks/kiro_session_push.py +14 -13
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/hooks/session_push.py +4 -9
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/main.py +15 -13
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/sessions/base.py +70 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/skills/observal/references/commands.md +8 -50
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/skills/observal-advanced/SKILL.md +2 -15
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/skills/observal-agents/SKILL.md +1 -1
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/skills/observal-registry/SKILL.md +35 -35
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/tests/test_cmd_component_versions.py +9 -9
- {observal_cli-1.4.3 → observal_cli-1.4.4}/packages/pi-extension/extensions/observal.ts +24 -13
- {observal_cli-1.4.3 → observal_cli-1.4.4}/packages/pi-extension/package.json +1 -1
- {observal_cli-1.4.3 → observal_cli-1.4.4}/pyproject.toml +1 -1
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/sync_observal_skill.py +2 -3
- observal_cli-1.4.4/tests/test_audit2_pr1_ingest_bounds.py +430 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_cmd_prompt.py +15 -15
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_ide_config_e2e.py +0 -32
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_ingest_phase2.py +12 -0
- observal_cli-1.4.4/tests/test_litellm_integration.py +380 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_mcp_edit_submit.py +31 -21
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_migrate.py +11 -11
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_migrate_telemetry.py +7 -7
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_support_bundle_wiring.py +12 -12
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_support_inspect.py +25 -21
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_support_integration.py +2 -2
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_uninstall.py +12 -12
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_uninstall_windows.py +4 -4
- {observal_cli-1.4.3 → observal_cli-1.4.4}/uv.lock +1 -1
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/package.json +1 -1
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/nav/registry-sidebar.tsx +0 -8
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/status-badge.tsx +2 -2
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/shared/retention-warning-banner.tsx +1 -4
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/api.ts +30 -24
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/insights/detail.tsx +6 -7
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/settings.tsx +35 -31
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/registry/agents/detail.tsx +139 -23
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routeTree.gen.ts +21 -44
- {observal_cli-1.4.3/web/src/routes/_authed/_admin → observal_cli-1.4.4/web/src/routes/_authed}/insights/$reportId.tsx +1 -1
- observal_cli-1.4.3/observal-server/schemas/telemetry.py +0 -115
- observal_cli-1.4.3/observal-server/services/insights/__init__.py +0 -204
- observal_cli-1.4.3/observal_cli/cmd_profile.py +0 -338
- observal_cli-1.4.3/web/src/pages/admin/insights/index.tsx +0 -171
- observal_cli-1.4.3/web/src/routes/_authed/_admin/insights/index.tsx +0 -10
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.clabot +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.dockerignore +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.editorconfig +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.env.example +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.gitattributes +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.gitbook.yaml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/ISSUE_TEMPLATE/bug_report_form.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/pull_request_template.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/vex/observal.vex.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/badge-ghcr-pulls.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/ci.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/codeql.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/dependency-review.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/deploy.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/e2e-frontend.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/gitleaks.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/pr-labels.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/release.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/sbom.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/stale.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/take-command.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/terraform.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.github/workflows/update-homebrew-tap.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.gitignore +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.gitleaks.toml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.pre-commit-config.yaml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/.reuse/license-policy.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/AGENTS.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/AI_POLICY.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/CLA.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/CODE_OF_CONDUCT.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/CONTRIBUTING.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/LICENSE +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/LICENSES/AGPL-3.0-only.txt +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/LICENSES/LicenseRef-Observal-Enterprise.txt +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/LICENSES/OFL-1.1.txt +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/Makefile +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/REUSE.toml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/SECURITY.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/SETUP.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/cliff.toml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/codecov.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/Dockerfile.api +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/Dockerfile.web +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/clickhouse/config.d/memory.xml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/clickhouse/users.d/memory.xml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/docker-compose.dev.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/docker-compose.enterprise.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/docker-compose.production.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/entrypoint.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/nginx-spa.conf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/nginx.conf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/nginx.dev.conf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/nginx.production.conf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/server-package/docker-compose.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/server-package/env.template +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docker/server-package/setup.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/DEVELOPMENT_GUIDE.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/SUMMARY.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/adding-an-ide.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/admin.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/agent.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/auth.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/component.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/config.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/doctor.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/migrate.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/models.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/ops.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/profile.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/prompt.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/pull.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/registry.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/scan.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/self.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/server.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/skill.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/support.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/cli/uninstall.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/e2e-test-checklist-enterprise.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/e2e-test-checklist.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/getting-started/core-concepts.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/getting-started/installation.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/getting-started/quickstart.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/hooks.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/audit_logging.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/builder.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/complete_capture_thinking_response.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/component_registry.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/insights.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/leaderboard.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/registry.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/review-diff.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/review.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/ses1.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/span.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/img/traces.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/licensing.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/logo-light.svg +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/logo.svg +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/reference/api-endpoints.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/reference/config-files.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/reference/hooks-spec.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/sandboxes.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/authentication.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/aws-terraform.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/backup-and-restore.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/configuration.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/databases.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/docker-compose.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/okta-setup.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/ports-and-volumes.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/releasing.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/requirements.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/telemetry-pipeline.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/troubleshooting.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-hosting/upgrades.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/self-observability.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/use-cases/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/use-cases/debug-agent-failures.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/use-cases/observe-mcp-traffic.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/use-cases/share-agent-configs.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/docs/use-cases/team-registry.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/AGENTS.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/LICENSE +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/docs/cli-sso.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/docs/cli.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/docs/oidc-setup.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/docs/saml-setup.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/docs/scim-setup.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/license.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/middleware/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/middleware/enterprise_guard.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/routes/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/routes/admin_sso.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/routes/audit.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/routes/exec_dashboard.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/routes/scim.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/routes/sso_saml.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/services/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/services/audit.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/services/config_validator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/services/saml.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/observal_server/services/scim_service.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/plugins/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/ee/scripts/generate_license.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/dashboards/agent-activity.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/dashboards/audit-log.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/dashboards/cost-tracking.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/dashboards/error-rates.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/dashboards/performance-resources.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/dashboards/self-observability.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/dashboards/session-overview.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/dashboards/token-usage.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/dashboards/tool-call-frequency.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/provisioning/dashboards/default.yaml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/provisioning/datasources/clickhouse.yaml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/grafana/provisioning/datasources/prometheus.yaml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/.gitignore +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/.tflint.hcl +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/alb.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/bootstrap/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/bootstrap/main.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/bootstrap/outputs.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/bootstrap/variables.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/bootstrap/versions.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/clickhouse.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/deploy.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/dns.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/ecs.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/examples/minimal/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/examples/minimal/main.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/examples/minimal/outputs.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/examples/minimal/terraform.tfvars.example +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/examples/minimal/variables.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/iam.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/locals.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/logs.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/outputs.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/postgresql.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/redis.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/s3.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/secrets.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/security.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/terraform.tfvars.example +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/user-data.sh.tftpl +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/variables.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/versions.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/aws/vpc.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/cloud-run.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/cloud-sql.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/data-host.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/dns.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/examples/minimal/main.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/examples/minimal/outputs.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/examples/minimal/terraform.tfvars.example +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/examples/minimal/variables.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/locals.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/memorystore.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/network.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/outputs.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/registry.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/secrets.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/services.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/storage.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/terraform.tfvars.example +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/user-data.sh.tftpl +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/variables.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/infra/terraform/gcp/versions.tf +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/install-server.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/install.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic/README +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic/env.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic/script.py.mako +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic/versions/.gitkeep +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic/versions/002_drop_visibility.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic/versions/003_skill_registry_direct.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic/versions/004_co_authors.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic/versions/005_insight_self_learn.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic/versions/v1_baseline.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/alembic.ini +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/middleware/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/middleware/audit.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/middleware/content_type.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/middleware/request_id.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/middleware/trusted_proxy.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/admin/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/admin/_router.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/admin/helpers.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/admin/org.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/admin/retention.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/admin/users.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/agent/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/agent/_router.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/agent/crud.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/agent/draft.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/agent/helpers.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/agent/install.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/agent_versions.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/audit.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/auth.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/bulk.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/co_authors.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/component_source.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/component_versions.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/dashboard.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/device_auth.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/feedback.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/hook.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/jwks.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/logs_stream.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/mcp.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/preview.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/prompt.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/reconcile.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/registry_models.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/review.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/sandbox.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/sessions.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/skill.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/routes/support.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/api/sanitize.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/data/model_registry_seed.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/database.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/jobs/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/jobs/catalog.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/jobs/maintenance.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/logging_config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/main.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/agent.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/agent_component.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/alert.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/alert_history.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/base.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/component_bundle.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/component_source.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/download.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/enterprise_config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/exec_config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/exporter_config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/feedback.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/hook.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/insight_meta_cache.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/insight_report.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/insight_session_facets.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/insight_session_meta.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/mcp.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/organization.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/password_reset_token.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/prompt.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/saml_config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/sandbox.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/scim_token.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/skill.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/submission.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/user.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/models/user_group.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/pyrightconfig.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/admin.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/agent.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/alert.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/auth.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/bulk.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/component_source.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/component_version.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/constants.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/dashboard.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/feedback.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/hook.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/ide_registry.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/insights.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/mcp.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/models.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/prompt.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/retention.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/sandbox.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/schemas/skill.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/agent_builder.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/agent_builder_types.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/agent_lock_file.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/agent_registry_cache.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/agent_resolver.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/agent_snapshot.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/alert_evaluator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/anti_gaming.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/audit/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/audit/classification.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/audit/helpers.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/audit/setup.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/audit/sink.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/cache.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/clickhouse/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/clickhouse/_settings.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/clickhouse/client.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/clickhouse/insert.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/clickhouse/query.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/clickhouse/schema.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/component_version_extras.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/config/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/config/mcp_builder.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/config/skill_builder.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/config_generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/crypto.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/demo_accounts.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/download_tracker.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/editing_lock.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/events.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/git_mirror_service.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/hook_config_generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/hook_install_generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/claude_code.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/codex.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/copilot.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/copilot_cli.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/cursor.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/gemini_cli.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/helpers.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/kiro.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/load_all.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/opencode.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide/pi.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ide_feature_inference.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/insights/_deps.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/insights/batch.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/insights/facets.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/insights/generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/insights/html_export.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/insights/sections.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/insights/self_learn.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/insights/session_meta_extractor.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/insights/transcript.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/jwt_service.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/log_buffer.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/model_catalog.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/model_display.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/model_resolver.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/optic.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/redis.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/registry_telemetry.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/request_context.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/retention.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/sandbox_config_generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/sandbox_validator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/secrets_redactor.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/security_events.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/session_ingest.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/session_parsers/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/session_parsers/base.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/session_parsers/claude_code.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/session_parsers/cursor.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/session_parsers/ingest_classify.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/session_parsers/kiro.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/session_parsers/pi.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/shared/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/shared/ip_utils.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/shared/utils.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/skill_config_generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/skill_validator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/ssrf_guard.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/strategic_insights.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/username_generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/versioning.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/webhook_delivery.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/services/webhook_signer.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/conftest.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_agent_config_gen_versioned.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_agent_pull.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_agent_versions_api.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_anti_gaming.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_component_version_extras.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_component_versions_api.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_crypto.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_exec_dashboard.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_exec_formulas.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_ide_feature_inference.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_jwt.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_multi_tenancy.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_payload_protection.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_rbac.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/tests/test_security_events.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/version.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal-server/worker.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/__main__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/analyzer.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/audit.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/branding.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/client.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_agent.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_co_authors.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_component.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_doctor.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_hook.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_logs.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_mcp.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_migrate.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_models.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_ops.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_prompt.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_pull.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_sandbox.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_scan.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_server.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_skill.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_support.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_tail_flush.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/cmd_uninstall.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/constants.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/features.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/hooks/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/hooks/cursor_session_push.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/base.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/claude_code.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/codex.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/copilot.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/copilot_cli.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/cursor.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/gemini_cli.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/kiro.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/load_all.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/opencode.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/pi.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide/protocol.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide_registry.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide_specs/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide_specs/claude_code_hooks_spec.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide_specs/kiro_hooks_spec.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/ide_specs/pi_hooks_spec.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/install_detector.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/model_catalog.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/optic.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/prompts.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/proxy.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/pyinstaller.spec +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/render.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/requirements.txt +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/sandbox_mcp.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/sandbox_runner.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/server/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/server/backup.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/server/config_gen.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/server/constants.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/server/deps.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/server/orchestrator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/server/updater.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/sessions/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/sessions/agent_marker.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/sessions/claude_code.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/sessions/cursor.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/sessions/kiro.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/settings_reconciler.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/shared/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/shared/utils.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/shim.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/skill_installer.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/skills/observal/SKILL.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/skills/observal-admin/SKILL.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/skills/observal-ops/SKILL.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/support/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/support/collectors.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/support/manifest.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/support/redaction.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/telemetry/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/telemetry_buffer.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/tests/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/tests/test_cmd_agent_versions.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/tests/test_cmd_auth.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/tests/test_cmd_scan.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/upgrade_executor.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/upgrade_lock.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/observal_cli/version_check.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/package.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/packages/pi-extension/LICENSE +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/packages/pi-extension/README.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/pnpm-lock.yaml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/pnpm-workspace.yaml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/prometheus.yml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/renovate.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/screenshots/01-review-queue.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/screenshots/02-detail-sheet-mcp.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/screenshots/03-after-bulk-approve.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/screenshots/04-rejection-reason-skills.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/add_spdx_headers.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/check_license_policy.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/check_migrations.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/check_secrets.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/check_vulnerabilities.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/generate_third_party_notices.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/generate_vex.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/license-format.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/new_migration.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/refresh_model_snapshot.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/seed_exec_dashboard.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/seed_insight_report.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/seed_test_skill.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/sync_features.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/test_version_e2e.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/test_xff_spoofing.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/update_spdx_copyright.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/scripts/verify_exec_dashboard.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/test-agent.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/__init__.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/conftest.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/agent-edit-form.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/auth.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/component-edit-screenshots.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/components.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/frontend-flows.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/helpers.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/kiro-agent-compat.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/kiro-cli.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/kiro-hooks.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/kiro-lifecycle.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/kiro-live.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/kiro-otlp-logs.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/kiro-otlp-traces.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/kiro-web-agents.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/kiro-web-traces.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/package.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/real-edit-release.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/review-diff-screenshots.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/shim-merge.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/sso-login.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/unarchive-agent.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/e2e/visibility-removal-smoke.spec.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/fixtures/model_display_cases.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/fixtures/skills/refactor-guide/SKILL.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/fixtures/skills/security-auditor/SKILL.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/fixtures/skills/test-writer/SKILL.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/mock_mcp.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_agent_builder_skills.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_agent_composition.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_agent_config_generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_agent_name_lookup.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_agent_rbac.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_agent_review.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_agent_snapshot.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_alert_evaluator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_audit_logging.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_auth2_security.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_auth_redis_down.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_bulk.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_bundles.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_cli_errors.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_cli_ide_adapters.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_clickhouse_phase1.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_clickhouse_resource_tuning.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_clickhouse_retention.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_cmd_support.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_component_version_extras.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_config_generator_utils.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_constants_sync.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_cursor_session_push.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_demo_accounts.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_deployment_guards.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_device_auth.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_docker_detection.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_draft_workflow.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_encryption_fake_keys.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_endpoint_discovery.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_enterprise.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_env_detection_and_config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_events.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_features_sync.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_field_validation.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_git_mirror.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_graphql_phase6.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_health.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_hipaa_audit.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_ide_refactor_baseline.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_ide_registry.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_install_detector.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_integration.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_listing_detail_access.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_mcp_config_parser.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_model_display.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_model_registry.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_observal_skill.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_observal_skill_sync.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_optic.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_phase9_10.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_pi_session_parser.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_preview_config.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_proxy_phase4.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_pull_and_agent_cli.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_registry_types.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_resilience.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_retention.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_retention_api.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_retention_endpoints.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_retention_logic.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_retention_service.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_retention_simulation.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_review_queue.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_saml.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_saml_scim_integration.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sanitize.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_scan_kiro_home.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_schema_redesign.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_scim.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec001_002_004_auth_hardening.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec003_ratelimit.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec003_trusted_proxy_middleware.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec005_unsafe_defaults.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec006_password_policy.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec007_graphql_auth.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec009_component_source_ownership.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec009_org_scoping.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec010_agent_listing.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec015_openapi_flags.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec023_cache_isolation.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec024_tenant_scoping.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec027_registry_sc.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sec028_sso_guards.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_secrets_redactor.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_self_commands.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_self_learn.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_server_backup.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_server_upgrade.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_sessions_api.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_settings_reconciler.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_shim_error_handling.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_skill_config_generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_skill_validator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_ssrf_guard.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_support_collectors.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_support_endpoint.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_support_manifest.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_support_pbt.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_support_redaction.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_telemetry_collection.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_upgrade_lock.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_username_generator.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_version_check.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_version_negotiation.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_version_sync.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_versioning.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_webhook_delivery.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_webhook_signer.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_webhook_signer_properties.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tests/test_worker_phase5.py +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/tools/release.sh +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/.gitignore +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/AGENTS.md +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/eslint.config.mjs +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/index.html +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/playwright.config.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/pnpm-workspace.yaml +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/postcss.config.mjs +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/public/favicon.ico +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/public/fonts/albert-sans-latin-variable.woff2 +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/public/fonts/archivo-latin-variable.woff2 +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/public/fonts/jetbrains-mono-latin-variable.woff2 +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/public/icon.png +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/public/observal-logo.svg +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/app.css +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/account/avatar-upload.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/builder/model-picker.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/builder/preview-panel.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/builder/sortable-component-list.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/builder/validation-panel.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/bar-list.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/dashboard-card.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/dimension-radar.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/export-button.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/latency-heatmap.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/no-data.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/query-error.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/retention-widget.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/score-overview.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/stat-card.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/time-range-select.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/top-items-card.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dashboard/trend-chart.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/dynamic-title.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/layouts/admin-guard.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/layouts/auth-guard.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/layouts/dashboard-shell.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/layouts/page-header.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/layouts/role-guard.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/nav/command-menu.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/nav/github-star-banner.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/nav/nav-user.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/agent-card.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/agent-edit-form.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/co-author-input.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/component-card.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/component-edit-form.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/feedback-list.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/ide-badges.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/install-dialog.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/pull-command.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/registry-detail.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/registry-table.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/review-form.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/submit-component-dialog.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/version-bump-dialog.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/registry/version-dropdown.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/review/review-detail-sheet.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/review/review-diff-sheet.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/review/validation-badges.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/review/yaml-diff-view.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/shared/empty-state.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/shared/error-state.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/shared/skeleton-layouts.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/shared/version-mismatch-banner.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/traces/span-tree.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/traces/trace-detail.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/traces/trace-list.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/avatar.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/badge.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/breadcrumb.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/button.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/card.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/checkbox.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/command.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/dialog.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/dropdown-menu.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/input.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/label.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/popover.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/progress.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/resizable.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/scroll-area.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/select.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/separator.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/sheet.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/sidebar.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/skeleton.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/sonner.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/switch.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/table.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/tabs.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/textarea.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/theme-switcher.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/components/ui/tooltip.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-admin-api.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-admin-guard.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-agents-api.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-api.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-auth.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-dashboard-api.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-deployment-config.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-ides.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-insights-api.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-mobile.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-registry-api.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-review-api.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-role-guard.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-sessions-api.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/hooks/use-traces-api.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/export.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/features.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/graphql-ws.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/ide-features.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/mcp-parser.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/model-display.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/query-client.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/theme.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/types/admin.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/types/dashboard.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/types/registry.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/types/sessions.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/types.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/lib/utils.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/main.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/audit-log.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/dashboard/components/adoption-tab.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/dashboard/components/cost-tab.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/dashboard/components/departments-tab.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/dashboard/components/insights-tab.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/dashboard/components/investments-tab.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/dashboard/components/stat-card.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/dashboard/components/velocity-tab.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/dashboard/context.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/dashboard/index.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/diagnostics.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/errors.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/review.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/security-events.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/sso.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/admin/users.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/device.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/login.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/registry/agents/builder.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/registry/agents/index.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/registry/components/detail.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/registry/components/index.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/registry/home.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/registry/leaderboard.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/user/account.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/user/traces/detail.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/pages/user/traces/index.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/(auth)/device.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/(auth)/login.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/__root.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin/audit-log.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin/dashboard.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin/diagnostics.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin/errors.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin/review.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin/security-events.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin/settings.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin/sso.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin/users.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_admin.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_user/account.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_user/traces/$traceId.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_user/traces/index.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/_user.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/agents/$agentId.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/agents/builder.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/agents/index.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/components/$componentId.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/components/index.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/index.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed/leaderboard.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/routes/_authed.tsx +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/src/vite-env.d.ts +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/tsconfig.json +0 -0
- {observal_cli-1.4.3 → observal_cli-1.4.4}/web/vite.config.ts +0 -0
|
@@ -10,6 +10,24 @@
|
|
|
10
10
|
|
|
11
11
|
All notable changes to this project will be documented in this file.
|
|
12
12
|
|
|
13
|
+
## [1.4.4] - 2026-06-01
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- allow agent owners and co-authors to generate insights (**insights**) ([d285cd7](https://github.com/BlazeUp-AI/Observal/commit/d285cd7c3ba68cc42fb799461b0d0b4db9f8fede))
|
|
18
|
+
- replace custom LLM calls with LiteLLM (**insights**) ([0b59845](https://github.com/BlazeUp-AI/Observal/commit/0b59845a45cf3ddfaf4aae86a6e803079e876791))
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- remove global admin Insights page from sidebar (**web**) ([68ef1e2](https://github.com/BlazeUp-AI/Observal/commit/68ef1e2677441dd4f843155400bc8e8f6e73e4d6))
|
|
23
|
+
- consolidate command structure, remove duplicates (**cli**) ([a222745](https://github.com/BlazeUp-AI/Observal/commit/a22274599bc6d55b349eb200add889dbba1a0655))
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- remove dots from approved/pending badges, remove placeholder Analytics tab (**web**) ([4851822](https://github.com/BlazeUp-AI/Observal/commit/485182235f3a7fa0a92029aedd224e22dc21bce0))
|
|
28
|
+
- skip AWS credential check when direct API key is configured (**insights**) ([4b72c76](https://github.com/BlazeUp-AI/Observal/commit/4b72c76c1513ed04cea182e834af01a4d7beb3be))
|
|
29
|
+
- increase API health check start_period to 60s (**docker**) ([de74ff4](https://github.com/BlazeUp-AI/Observal/commit/de74ff4ba56647fd59843eff9d895b7878eb9653))
|
|
30
|
+
- chunk all session push paths to respect MAX_SESSION_LINES (**ingest**) ([1478885](https://github.com/BlazeUp-AI/Observal/commit/1478885b1657949486e39df448e877c2a3d25791))
|
|
13
31
|
## [1.4.3] - 2026-05-31
|
|
14
32
|
|
|
15
33
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: observal-cli
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.4
|
|
4
4
|
Summary: Observal MCP Server Registry & Agent Registry CLI
|
|
5
5
|
Project-URL: Homepage, https://github.com/BlazeUp-AI/Observal
|
|
6
6
|
Project-URL: Repository, https://github.com/BlazeUp-AI/Observal
|
|
@@ -56,7 +56,7 @@ Description-Content-Type: text/markdown
|
|
|
56
56
|
╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚══════╝
|
|
57
57
|
</pre>
|
|
58
58
|
|
|
59
|
-
**A unified platform for agent distribution, observability and insights. Every session, prompt, and tool call is captured. Enterprise edition adds
|
|
59
|
+
**A unified platform for agent distribution, observability and insights. Every session, prompt, and tool call is captured. Enterprise edition adds SSO, SCIM provisioning, and executive dashboards.**
|
|
60
60
|
|
|
61
61
|
<p>
|
|
62
62
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-blue?style=flat-square" alt="License"></a>
|
|
@@ -205,25 +205,30 @@ Browse published agents, see which IDEs they support, check download counts and
|
|
|
205
205
|
|
|
206
206
|
---
|
|
207
207
|
|
|
208
|
+
## Agent Insights
|
|
209
|
+
|
|
210
|
+
**AI-powered insight reports** analyze usage patterns across all sessions — what's working, what's hindering, and quick wins. Powered by [LiteLLM](https://docs.litellm.ai/docs/providers), works with any provider (Anthropic, OpenAI, Bedrock, Gemini, Azure, Ollama).
|
|
211
|
+
|
|
212
|
+

|
|
213
|
+
|
|
214
|
+
See [Insights LLM Setup](docs/insights-setup.md) for configuration.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
208
218
|
## Enterprise Edition
|
|
209
219
|
|
|
210
220
|
Source-available under a separate license. Activated with a signed JWT key. Core never imports from `ee/`, the open-source edition is fully functional without it.
|
|
211
221
|
|
|
212
222
|
Enterprise adds:
|
|
213
223
|
|
|
214
|
-
- **
|
|
215
|
-
- **HIPAA audit logging** with sensitivity classification, chain hashes, and CSV export
|
|
224
|
+
- **Audit trail/logs** with parameterized search and CSV export
|
|
216
225
|
- **SAML SSO** and **SCIM provisioning**
|
|
217
226
|
- **Executive dashboard** for org-wide agent performance
|
|
218
227
|
|
|
219
|
-
**
|
|
228
|
+
**Audit log with parameterized search:**
|
|
220
229
|
|
|
221
230
|

|
|
222
231
|
|
|
223
|
-
**AI insight reports generated from session telemetry:**
|
|
224
|
-
|
|
225
|
-

|
|
226
|
-
|
|
227
232
|
```bash
|
|
228
233
|
# Enterprise install
|
|
229
234
|
curl -fsSL https://raw.githubusercontent.com/BlazeUp-AI/Observal/main/install-server.sh | bash -s -- --license-key YOUR_KEY
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚══════╝
|
|
23
23
|
</pre>
|
|
24
24
|
|
|
25
|
-
**A unified platform for agent distribution, observability and insights. Every session, prompt, and tool call is captured. Enterprise edition adds
|
|
25
|
+
**A unified platform for agent distribution, observability and insights. Every session, prompt, and tool call is captured. Enterprise edition adds SSO, SCIM provisioning, and executive dashboards.**
|
|
26
26
|
|
|
27
27
|
<p>
|
|
28
28
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-blue?style=flat-square" alt="License"></a>
|
|
@@ -171,25 +171,30 @@ Browse published agents, see which IDEs they support, check download counts and
|
|
|
171
171
|
|
|
172
172
|
---
|
|
173
173
|
|
|
174
|
+
## Agent Insights
|
|
175
|
+
|
|
176
|
+
**AI-powered insight reports** analyze usage patterns across all sessions — what's working, what's hindering, and quick wins. Powered by [LiteLLM](https://docs.litellm.ai/docs/providers), works with any provider (Anthropic, OpenAI, Bedrock, Gemini, Azure, Ollama).
|
|
177
|
+
|
|
178
|
+

|
|
179
|
+
|
|
180
|
+
See [Insights LLM Setup](docs/insights-setup.md) for configuration.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
174
184
|
## Enterprise Edition
|
|
175
185
|
|
|
176
186
|
Source-available under a separate license. Activated with a signed JWT key. Core never imports from `ee/`, the open-source edition is fully functional without it.
|
|
177
187
|
|
|
178
188
|
Enterprise adds:
|
|
179
189
|
|
|
180
|
-
- **
|
|
181
|
-
- **HIPAA audit logging** with sensitivity classification, chain hashes, and CSV export
|
|
190
|
+
- **Audit trail/logs** with parameterized search and CSV export
|
|
182
191
|
- **SAML SSO** and **SCIM provisioning**
|
|
183
192
|
- **Executive dashboard** for org-wide agent performance
|
|
184
193
|
|
|
185
|
-
**
|
|
194
|
+
**Audit log with parameterized search:**
|
|
186
195
|
|
|
187
196
|

|
|
188
197
|
|
|
189
|
-
**AI insight reports generated from session telemetry:**
|
|
190
|
-
|
|
191
|
-

|
|
192
|
-
|
|
193
198
|
```bash
|
|
194
199
|
# Enterprise install
|
|
195
200
|
curl -fsSL https://raw.githubusercontent.com/BlazeUp-AI/Observal/main/install-server.sh | bash -s -- --license-key YOUR_KEY
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
<!-- SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com> -->
|
|
2
|
+
<!-- SPDX-License-Identifier: AGPL-3.0-only -->
|
|
3
|
+
|
|
4
|
+
# Insights LLM Setup
|
|
5
|
+
|
|
6
|
+
The insights engine uses [LiteLLM](https://docs.litellm.ai/docs/providers) to call LLMs for report generation. This means any LiteLLM-compatible provider works out of the box.
|
|
7
|
+
|
|
8
|
+
## Quick Start
|
|
9
|
+
|
|
10
|
+
1. Go to **Admin → Settings → Agent Insights**
|
|
11
|
+
2. Set **API Key** (your provider's key)
|
|
12
|
+
3. Set **Sections Model** in `provider/model-name` format
|
|
13
|
+
4. Set **Synthesis Model** and **Facets Model** for cost optimization
|
|
14
|
+
|
|
15
|
+
That's it. Reports will generate on the next batch run.
|
|
16
|
+
|
|
17
|
+
## Settings Reference
|
|
18
|
+
|
|
19
|
+
| Setting | Purpose | Required |
|
|
20
|
+
|---------|---------|----------|
|
|
21
|
+
| API Key | Provider authentication token | Yes |
|
|
22
|
+
| API Base URL | Custom endpoint override | Only for Azure, Bedrock, Ollama |
|
|
23
|
+
| Sections Model | Writes detailed narrative sections | Yes |
|
|
24
|
+
| Synthesis Model | Aggregation and "At a Glance" | No (falls back to Sections) |
|
|
25
|
+
| Facets Model | Per-session structured extraction | No (falls back to Sections) |
|
|
26
|
+
|
|
27
|
+
## Model Strategy
|
|
28
|
+
|
|
29
|
+
Three model slots let you optimize cost vs quality:
|
|
30
|
+
|
|
31
|
+
- **Sections Model**: use your best model (Opus, GPT-4o, Gemini Pro). This writes the detailed analysis. Runs once per report.
|
|
32
|
+
- **Synthesis Model**: mid-tier (Sonnet, GPT-4o). Does cross-session aggregation. Runs a few times per report. Falls back to Sections Model if unset.
|
|
33
|
+
- **Facets Model**: cheapest/fastest (Haiku, GPT-4o-mini, Flash). Runs once per session in the report (potentially hundreds of calls). This is where cost optimization matters most.
|
|
34
|
+
|
|
35
|
+
## Provider Examples
|
|
36
|
+
|
|
37
|
+
### Anthropic (direct API)
|
|
38
|
+
|
|
39
|
+
| Setting | Value |
|
|
40
|
+
|---------|-------|
|
|
41
|
+
| API Key | `sk-ant-api03-...` |
|
|
42
|
+
| API Base URL | _(leave blank)_ |
|
|
43
|
+
| Sections Model | `anthropic/claude-sonnet-4-20250514` |
|
|
44
|
+
| Synthesis Model | `anthropic/claude-sonnet-4-20250514` |
|
|
45
|
+
| Facets Model | `anthropic/claude-haiku-4-5-20251001` |
|
|
46
|
+
|
|
47
|
+
### OpenAI
|
|
48
|
+
|
|
49
|
+
| Setting | Value |
|
|
50
|
+
|---------|-------|
|
|
51
|
+
| API Key | `sk-proj-...` |
|
|
52
|
+
| API Base URL | _(leave blank)_ |
|
|
53
|
+
| Sections Model | `openai/gpt-4o` |
|
|
54
|
+
| Synthesis Model | `openai/gpt-4o` |
|
|
55
|
+
| Facets Model | `openai/gpt-4o-mini` |
|
|
56
|
+
|
|
57
|
+
### AWS Bedrock
|
|
58
|
+
|
|
59
|
+
Generate a Bedrock API key from the [AWS Console](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html) (Bedrock → API keys). Short-term keys last up to 12 hours; long-term keys last until expiry.
|
|
60
|
+
|
|
61
|
+
| Setting | Value |
|
|
62
|
+
|---------|-------|
|
|
63
|
+
| API Key | `<your-bedrock-bearer-token>` |
|
|
64
|
+
| API Base URL | `https://bedrock-runtime.us-east-1.amazonaws.com` |
|
|
65
|
+
| Sections Model | `bedrock/us.anthropic.claude-opus-4-6-v1` |
|
|
66
|
+
| Synthesis Model | `bedrock/us.anthropic.claude-sonnet-4-6-v1` |
|
|
67
|
+
| Facets Model | `bedrock/us.anthropic.claude-haiku-4-5-20251001-v1:0` |
|
|
68
|
+
|
|
69
|
+
Replace `us-east-1` in the base URL with your region.
|
|
70
|
+
|
|
71
|
+
### Google Gemini (AI Studio)
|
|
72
|
+
|
|
73
|
+
Get an API key from [Google AI Studio](https://aistudio.google.com/apikey).
|
|
74
|
+
|
|
75
|
+
| Setting | Value |
|
|
76
|
+
|---------|-------|
|
|
77
|
+
| API Key | `AIza...` |
|
|
78
|
+
| API Base URL | _(leave blank)_ |
|
|
79
|
+
| Sections Model | `gemini/gemini-2.5-pro` |
|
|
80
|
+
| Synthesis Model | `gemini/gemini-2.5-pro` |
|
|
81
|
+
| Facets Model | `gemini/gemini-2.5-flash` |
|
|
82
|
+
|
|
83
|
+
### Azure OpenAI
|
|
84
|
+
|
|
85
|
+
| Setting | Value |
|
|
86
|
+
|---------|-------|
|
|
87
|
+
| API Key | Your Azure API key |
|
|
88
|
+
| API Base URL | `https://<instance>.openai.azure.com` |
|
|
89
|
+
| Sections Model | `azure/<deployment-name>` |
|
|
90
|
+
| Synthesis Model | `azure/<deployment-name>` |
|
|
91
|
+
| Facets Model | `azure/<deployment-name-mini>` |
|
|
92
|
+
|
|
93
|
+
### Ollama (local)
|
|
94
|
+
|
|
95
|
+
| Setting | Value |
|
|
96
|
+
|---------|-------|
|
|
97
|
+
| API Key | _(leave blank)_ |
|
|
98
|
+
| API Base URL | `http://localhost:11434` |
|
|
99
|
+
| Sections Model | `ollama/llama3` |
|
|
100
|
+
| Synthesis Model | `ollama/llama3` |
|
|
101
|
+
| Facets Model | `ollama/llama3` |
|
|
102
|
+
|
|
103
|
+
### Other providers
|
|
104
|
+
|
|
105
|
+
Any LiteLLM-supported provider works. See the full list: https://docs.litellm.ai/docs/providers
|
|
106
|
+
|
|
107
|
+
Common examples:
|
|
108
|
+
- Mistral: `mistral/mistral-large-latest`
|
|
109
|
+
- Groq: `groq/llama-3.3-70b-versatile`
|
|
110
|
+
- Together AI: `together_ai/meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo`
|
|
111
|
+
- Deepseek: `deepseek/deepseek-chat`
|
|
112
|
+
|
|
113
|
+
## Batch Settings
|
|
114
|
+
|
|
115
|
+
| Setting | Default | Description |
|
|
116
|
+
|---------|---------|-------------|
|
|
117
|
+
| Batch Processing | `true` | Enable/disable automatic report generation |
|
|
118
|
+
| Batch Period | `14` days | How often to check for new reports |
|
|
119
|
+
| Minimum Sessions | `5` | Sessions needed before generating a report |
|
|
120
|
+
| Max Facet Calls | `100` | LLM call limit for facet extraction per report |
|
|
121
|
+
| Facet Concurrency | `25` | Parallel facet extraction calls |
|
|
122
|
+
|
|
123
|
+
## Troubleshooting
|
|
124
|
+
|
|
125
|
+
**"litellm: call failed"** in logs: check your API key, model ID format, and that the provider is reachable from the server.
|
|
126
|
+
|
|
127
|
+
**Empty reports**: ensure at least one model is configured (Sections Model at minimum) and the API key has the correct permissions.
|
|
128
|
+
|
|
129
|
+
**High costs**: reduce Facet Concurrency and Max Facet Calls, or use a cheaper Facets Model. The Facets Model runs once per session, so this is where most LLM spend happens.
|
|
130
|
+
|
|
131
|
+
**Bedrock auth failures**: verify the API key hasn't expired (short-term keys last 12 hours max). Use long-term keys for production.
|
|
@@ -53,12 +53,18 @@ Leave unset to disable SSO.
|
|
|
53
53
|
|
|
54
54
|
### AWS (Bedrock)
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
### AWS (Bedrock)
|
|
57
|
+
|
|
58
|
+
> **Note:** Bedrock now supports [API keys](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html) — generate one from the AWS console and use it like any other provider. See [Insights LLM Setup](../insights-setup.md).
|
|
59
|
+
|
|
60
|
+
These environment variables are **not required** if you use Bedrock API keys (recommended). They exist only for legacy setups using instance roles or ECS task roles where LiteLLM auto-discovers credentials from the environment.
|
|
61
|
+
|
|
62
|
+
| Variable | Default | Description |
|
|
63
|
+
| ----------------------- | ----------- | -------------------------------------------- |
|
|
64
|
+
| `AWS_ACCESS_KEY_ID` | - | Only for legacy IAM auth (not recommended) |
|
|
65
|
+
| `AWS_SECRET_ACCESS_KEY` | - | Only for legacy IAM auth (not recommended) |
|
|
66
|
+
| `AWS_SESSION_TOKEN` | - | Temporary credentials (STS AssumeRole) |
|
|
67
|
+
| `AWS_REGION_NAME` | `us-east-1` | AWS region (used by LiteLLM's boto3 client) |
|
|
62
68
|
|
|
63
69
|
### Git operations (submission analysis)
|
|
64
70
|
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
<!-- SPDX-FileCopyrightText: 2026 Vishnu Muthiah <vishnu.muthiah04@gmail.com> -->
|
|
2
|
+
<!-- SPDX-License-Identifier: AGPL-3.0-only -->
|
|
3
|
+
|
|
4
|
+
# Observal on AWS EC2 — Single Instance
|
|
5
|
+
|
|
6
|
+
Deploy Observal on a single EC2 instance with everything running in Docker. Simple, self-contained, no managed services required.
|
|
7
|
+
|
|
8
|
+
## What it creates
|
|
9
|
+
|
|
10
|
+
- **EC2 instance** (Ubuntu 24.04) with Docker, Docker Compose, certbot, git
|
|
11
|
+
- **Elastic IP** (static public IP that survives instance stop/start)
|
|
12
|
+
- **Security group** (ports 80 + 443 open)
|
|
13
|
+
- **IAM instance profile** (SSM access for remote management — no SSH keys needed)
|
|
14
|
+
- **Route53 DNS record** (optional)
|
|
15
|
+
|
|
16
|
+
All Observal components (API, web frontend, worker, PostgreSQL, Redis, ClickHouse, Grafana, nginx) run as Docker containers on the single instance.
|
|
17
|
+
|
|
18
|
+
## Architecture
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
┌─────────────────────────────────────────┐
|
|
22
|
+
│ EC2 Instance (t3.large) │
|
|
23
|
+
│ │
|
|
24
|
+
│ ┌─────────┐ ┌─────────┐ ┌────────┐ │
|
|
25
|
+
│ │ nginx │ │ API │ │ Web │ │
|
|
26
|
+
│ │ (lb) │ │ :8000 │ │ :3000 │ │
|
|
27
|
+
│ └────┬─────┘ └────┬────┘ └────────┘ │
|
|
28
|
+
│ │ │ │
|
|
29
|
+
│ ┌────┴────┐ ┌──────┴──┐ ┌─────────┐ │
|
|
30
|
+
│ │ Worker │ │Postgres │ │ Redis │ │
|
|
31
|
+
│ └─────────┘ └─────────┘ └─────────┘ │
|
|
32
|
+
│ │
|
|
33
|
+
│ ┌───────────┐ ┌──────────┐ │
|
|
34
|
+
│ │ClickHouse │ │ Grafana │ │
|
|
35
|
+
│ └───────────┘ └──────────┘ │
|
|
36
|
+
└─────────────────────────────────────────┘
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Prerequisites
|
|
40
|
+
|
|
41
|
+
| Tool | Version | Purpose |
|
|
42
|
+
|------|---------|---------|
|
|
43
|
+
| Terraform | >= 1.5 | Infrastructure provisioning |
|
|
44
|
+
| AWS CLI | v2 | SSM commands for deployment |
|
|
45
|
+
| AWS credentials | — | Account with EC2, IAM, VPC, EIP permissions |
|
|
46
|
+
|
|
47
|
+
## Quick Start
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# 1. Configure
|
|
51
|
+
cp terraform.tfvars.example terraform.tfvars
|
|
52
|
+
# Edit terraform.tfvars with your values
|
|
53
|
+
|
|
54
|
+
# 2. Provision infrastructure
|
|
55
|
+
terraform init
|
|
56
|
+
terraform apply
|
|
57
|
+
|
|
58
|
+
# 3. Deploy Observal
|
|
59
|
+
./deploy.sh
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
That's it. The deploy script clones Observal, configures it, builds Docker images, and starts everything. It takes 8-12 minutes on first run (Docker build from scratch).
|
|
63
|
+
|
|
64
|
+
## Configuration
|
|
65
|
+
|
|
66
|
+
### Minimal (IP-only, no domain)
|
|
67
|
+
|
|
68
|
+
```hcl
|
|
69
|
+
name = "mycompany"
|
|
70
|
+
region = "us-east-1"
|
|
71
|
+
instance_type = "t3.large"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Access via `http://<elastic-ip>` after deploy.
|
|
75
|
+
|
|
76
|
+
### With custom domain + HTTPS
|
|
77
|
+
|
|
78
|
+
```hcl
|
|
79
|
+
name = "mycompany"
|
|
80
|
+
region = "us-east-1"
|
|
81
|
+
instance_type = "t3.large"
|
|
82
|
+
domain = "observal.mycompany.io"
|
|
83
|
+
route53_zone_id = "Z1234567890ABC"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
The deploy script automatically obtains a Let's Encrypt TLS certificate and configures HTTPS.
|
|
87
|
+
|
|
88
|
+
### Instance sizes
|
|
89
|
+
|
|
90
|
+
| Type | vCPU | RAM | Recommended for |
|
|
91
|
+
|------|------|-----|-----------------|
|
|
92
|
+
| t3.medium | 2 | 4 GB | Dev/testing (< 5 users) |
|
|
93
|
+
| t3.large | 2 | 8 GB | Small teams (5-20 users) |
|
|
94
|
+
| t3.xlarge | 4 | 16 GB | Medium teams (20-50 users) |
|
|
95
|
+
| t3.2xlarge | 8 | 32 GB | Large teams (50+ users) |
|
|
96
|
+
|
|
97
|
+
## Accessing the Instance
|
|
98
|
+
|
|
99
|
+
No SSH keys needed. Connect via AWS Systems Manager:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
aws ssm start-session --target $(terraform output -raw instance_id) --region $(terraform output -raw region)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Once connected:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
sudo -i
|
|
109
|
+
cd /opt/observal
|
|
110
|
+
docker compose --env-file .env -f docker/docker-compose.yml -f docker/docker-compose.production.yml ps
|
|
111
|
+
docker compose --env-file .env -f docker/docker-compose.yml -f docker/docker-compose.production.yml logs -f observal-api
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Updating / Redeploying
|
|
115
|
+
|
|
116
|
+
To deploy a new version:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Update the ref in terraform.tfvars, then:
|
|
120
|
+
./deploy.sh
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Or manually on the instance:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
sudo -i
|
|
127
|
+
cd /opt/observal
|
|
128
|
+
git fetch origin && git checkout <new-tag-or-branch>
|
|
129
|
+
docker compose --env-file .env -f docker/docker-compose.yml -f docker/docker-compose.production.yml build
|
|
130
|
+
docker compose --env-file .env -f docker/docker-compose.yml -f docker/docker-compose.production.yml up -d
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Stopping / Starting (cost saving)
|
|
134
|
+
|
|
135
|
+
Stop the instance (no compute charges while stopped, data preserved):
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
aws ec2 stop-instances --instance-ids $(terraform output -raw instance_id) --region $(terraform output -raw region)
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Start it back:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
aws ec2 start-instances --instance-ids $(terraform output -raw instance_id) --region $(terraform output -raw region)
|
|
145
|
+
# Wait ~60s, then access normally. Docker containers auto-start.
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Destroying
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
terraform destroy
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
This removes all AWS resources. Data is not recoverable after destroy.
|
|
155
|
+
|
|
156
|
+
## Default Credentials
|
|
157
|
+
|
|
158
|
+
After first deploy (if `SEED_DEMO_ACCOUNTS=true` in .env):
|
|
159
|
+
|
|
160
|
+
| Role | Email | Password |
|
|
161
|
+
|------|-------|----------|
|
|
162
|
+
| Super Admin | super@demo.example | super-changeme |
|
|
163
|
+
| Admin | admin@demo.example | admin-changeme |
|
|
164
|
+
| Reviewer | reviewer@demo.example | reviewer-changeme |
|
|
165
|
+
| User | user@demo.example | user-changeme |
|
|
166
|
+
|
|
167
|
+
**Change these immediately** after first login via the Settings page.
|
|
168
|
+
|
|
169
|
+
## Comparison with ECS Fargate deployment
|
|
170
|
+
|
|
171
|
+
For production deployments with autoscaling, managed databases (RDS + ElastiCache), and high availability, see [`../aws/`](../aws/) (ECS Fargate).
|
|
172
|
+
|
|
173
|
+
| Feature | This (EC2) | ECS Fargate (`../aws/`) |
|
|
174
|
+
|---------|-----------|------------------------|
|
|
175
|
+
| Setup complexity | Low | High |
|
|
176
|
+
| Cost (small team) | ~$60/month | ~$300/month |
|
|
177
|
+
| Autoscaling | Manual | Automatic |
|
|
178
|
+
| Database | Docker (on-instance) | RDS (managed, Multi-AZ) |
|
|
179
|
+
| HA / Failover | None | Built-in |
|
|
180
|
+
| Best for | Dev, small teams, demos | Production, large orgs |
|